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