1 // RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -g %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: "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