1 // RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -debug-info-kind=limited %s | FileCheck %s 2 3 // PR3023 4 void convert(void) { 5 struct { typeof(0) f0; } v0; 6 } 7 8 9 // PR2784 10 struct OPAQUE; // CHECK: DW_TAG_structure_type 11 typedef struct OPAQUE *PTR; 12 PTR p; 13 14 15 // PR2950 16 struct s0; 17 struct s0 { struct s0 *p; } g0; 18 19 struct s0 *f0(struct s0 *a0) { 20 return a0->p; 21 } 22 23 24 // PR3134 25 char xpto[]; 26 27 28 // PR3427 29 struct foo { 30 int a; 31 void *ptrs[]; 32 }; 33 struct foo bar; 34 35 36 // PR4143 37 struct foo2 { 38 enum bar *bar; 39 }; 40 41 struct foo2 foo2; 42 43 44 // Radar 7325611 45 // CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "barfoo" 46 typedef int barfoo; 47 barfoo foo() { 48 } 49 50 // CHECK: __uint128_t 51 __uint128_t foo128 () 52 { 53 __uint128_t int128 = 44; 54 return int128; 55 } 56 57 // CHECK: uint64x2_t 58 typedef unsigned long long uint64_t; 59 typedef uint64_t uint64x2_t __attribute__((ext_vector_type(2))); 60 uint64x2_t extvectbar[4]; 61