// RUN: %clang_cc1 -triple i686-pc-linux-gnu -DTEST_32BIT_X86 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -DTEST_64BIT_X86 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple powerpc64-pc-linux-gnu -DTEST_64BIT_PPC64 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple powerpc64-pc-linux-gnu -DTEST_F128_PPC64 -fsyntax-only \
// RUN: -verify -target-feature +float128 %s
// RUN: %clang_cc1 -triple x86_64-pc-linux-gnux32 -DTEST_64BIT_X86 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple mips-linux-gnu -DTEST_MIPS_32 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple mips64-linux-gnuabin32 -DTEST_MIPS_N32 -fsyntax-only \
// RUN: -verify %s
// RUN: %clang_cc1 -triple mips64-linux-gnu -DTEST_MIPS_64 -fsyntax-only \
// RUN: -verify %s
typedef int i16_1 ;
int i16_1_test;
typedef int i16_2 ;
int i16_2_test;
typedef float f64 ;
int f64_test;
typedef int invalid_1 ; // expected-error{{'mode' attribute takes one argument}}
typedef int invalid_2 ; // expected-error{{'mode' attribute takes one argument}}
typedef int invalid_3 ; // expected-error{{unknown machine mode}}
typedef struct invalid_4 ; // expected-error{{mode attribute only supported for integer and floating-point types}}
typedef float invalid_5 ; // expected-error{{type of machine mode does not match type of base type}}
typedef int invalid_6 ; // expected-error{{'mode' attribute requires an identifier}}
typedef unsigned unwind_word ;
int *** i32; // expected-error{{mode attribute}}
int // expected-error{{'mode' attribute only applies to variables, enums, typedefs, and non-static data members}}
; // expected-error{{'mode' attribute only applies to}}
typedef _Complex float c16a ;
int c16a_test;
typedef _Complex double c16b ;
int c16b_test;
typedef _Complex double c32 ;
int c32_test;
typedef _Complex float c64 ;
typedef _Complex float c80 ;
// PR6108: Correctly select 'long' built in type on 64-bit platforms for 64 bit
// modes. Also test other mode-based conversions.
typedef int i8_mode_t ;
typedef unsigned int ui8_mode_t ;
typedef int i16_mode_t ;
typedef unsigned int ui16_mode_t ;
typedef int i32_mode_t ;
typedef unsigned int ui32_mode_t ;
typedef int i64_mode_t ;
typedef unsigned int ui64_mode_t ;
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
typedef unsigned int gcc_word ;
int foo;
typedef unsigned int gcc_unwind_word ;
int foo;
void
void
void
void
typedef float f128ibm ;
typedef float f128ibm ;
typedef _Complex float c128ibm ;
void ;
void ;
void
void
typedef float w128ibm ;
typedef _Complex float cw128ibm ;
void ;
void ;
void
void
typedef int invalid_7 ; // expected-error{{type of machine mode does not match type of base type}}
typedef int invalid_8 ; // expected-error{{unknown machine mode}}
typedef _Complex float cf128 ;
typedef float f128 ;
void ;
void ;
void
void
typedef unsigned int gcc_unwind_word ;
int foo;
typedef unsigned int gcc_unwind_word ;
int foo;
typedef unsigned int gcc_unwind_word ;
int foo;
;