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