[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / CodeGen / debug-info.c
blobe3f0426900ea85c7680cd5d60728349fe2eda552
1 // RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -debug-info-kind=limited %s | FileCheck %s
2 // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -o - -emit-llvm -debug-info-kind=limited %s | FileCheck %s
4 // PR3023
5 void convert(void) {
6 struct { typeof(0) f0; } v0;
10 // PR2784
11 struct OPAQUE; // CHECK-DAG: DW_TAG_structure_type, name: "OPAQUE"
12 typedef struct OPAQUE *PTR;
13 PTR p;
16 // PR2950
17 struct s0;
18 struct s0 { struct s0 *p; } g0;
20 struct s0 *f0(struct s0 *a0) {
21 return a0->p;
25 // PR3134
26 char xpto[];
29 // PR3427
30 struct foo {
31 int a;
32 void *ptrs[];
34 struct foo bar;
37 // PR4143
38 struct foo2 {
39 enum bar *bar;
42 struct foo2 foo2;
45 // Radar 7325611
46 // CHECK-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "barfoo"
47 typedef int barfoo;
48 barfoo foo(void) {
51 // CHECK-DAG: __uint128_t
52 __uint128_t foo128 (void)
54 __uint128_t int128 = 44;
55 return int128;
58 // CHECK-DAG: uint64x2_t
59 typedef unsigned long long uint64_t;
60 typedef uint64_t uint64x2_t __attribute__((ext_vector_type(2)));
61 uint64x2_t extvectbar[4];
63 // CHECK-DAG: !DIBasicType(name: "long"
64 // CHECK-DAG: !DIBasicType(name: "unsigned long long"
65 void integral_types(long x, unsigned long long y) {