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-DAG: DW_TAG_structure_type, name: "OPAQUE" |
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-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "barfoo" |
46 | typedef int barfoo; |
47 | barfoo foo() { |
48 | } |
49 | |
50 | // CHECK-DAG: __uint128_t |
51 | __uint128_t foo128 () |
52 | { |
53 | __uint128_t int128 = 44; |
54 | return int128; |
55 | } |
56 | |
57 | // CHECK-DAG: 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 | |