Home | History | Annotate | Download | only in CodeGen
      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: DW_TAG_structure_type
     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: !DIDerivedType(tag: DW_TAG_typedef, name: "barfoo"
     46 typedef int barfoo;
     47 barfoo 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
     58 typedef unsigned long long uint64_t;
     59 typedef uint64_t uint64x2_t __attribute__((ext_vector_type(2)));
     60 uint64x2_t extvectbar[4];
     61