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