2011-05-06 02:54:06 +08:00
|
|
|
// RUN: %clang_cc1 -triple x86_64-unk-unk -o %t -emit-llvm -g %s
|
2009-10-23 09:52:13 +08:00
|
|
|
// RUN: FileCheck --input-file=%t %s
|
2008-11-08 12:42:29 +08:00
|
|
|
|
2008-11-11 14:27:34 +08:00
|
|
|
// PR3023
|
2008-11-08 12:42:29 +08:00
|
|
|
void convert(void) {
|
|
|
|
struct { typeof(0) f0; } v0;
|
|
|
|
}
|
2008-11-11 14:42:53 +08:00
|
|
|
|
2009-10-23 09:52:13 +08:00
|
|
|
|
2008-11-11 14:42:53 +08:00
|
|
|
// PR2784
|
|
|
|
struct OPAQUE;
|
|
|
|
typedef struct OPAQUE *PTR;
|
|
|
|
PTR p;
|
|
|
|
|
|
|
|
|
|
|
|
// PR2950
|
|
|
|
struct s0;
|
|
|
|
struct s0 { struct s0 *p; } g0;
|
|
|
|
|
|
|
|
struct s0 *f0(struct s0 *a0) {
|
|
|
|
return a0->p;
|
|
|
|
}
|
2009-01-28 08:35:17 +08:00
|
|
|
|
2009-10-23 09:52:13 +08:00
|
|
|
|
2008-11-27 01:40:42 +08:00
|
|
|
// PR3134
|
|
|
|
char xpto[];
|
|
|
|
|
2009-10-23 09:52:13 +08:00
|
|
|
|
2009-01-28 08:35:17 +08:00
|
|
|
// PR3427
|
|
|
|
struct foo {
|
2009-09-09 23:08:12 +08:00
|
|
|
int a;
|
|
|
|
void *ptrs[];
|
2009-01-28 08:35:17 +08:00
|
|
|
};
|
|
|
|
struct foo bar;
|
2009-05-04 12:39:55 +08:00
|
|
|
|
2009-10-23 09:52:13 +08:00
|
|
|
|
2009-05-04 12:39:55 +08:00
|
|
|
// PR4143
|
|
|
|
struct foo2 {
|
2009-09-09 23:08:12 +08:00
|
|
|
enum bar *bar;
|
2009-05-04 12:39:55 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
struct foo2 foo2;
|
2009-10-23 09:52:13 +08:00
|
|
|
|
|
|
|
|
2009-10-23 10:13:20 +08:00
|
|
|
// Radar 7325611
|
2009-10-23 09:52:13 +08:00
|
|
|
// CHECK: "barfoo"
|
|
|
|
typedef int barfoo;
|
|
|
|
barfoo foo() {
|
|
|
|
}
|
2011-05-06 01:06:30 +08:00
|
|
|
|
|
|
|
// CHECK: __uint128_t
|
|
|
|
__uint128_t foo128 ()
|
|
|
|
{
|
|
|
|
__uint128_t int128 = 44;
|
|
|
|
return int128;
|
|
|
|
}
|
2011-07-14 05:23:30 +08:00
|
|
|
|
|
|
|
// CHECK: uint64x2_t
|
|
|
|
typedef unsigned long long uint64_t;
|
|
|
|
typedef uint64_t uint64x2_t __attribute__((ext_vector_type(2)));
|
|
|
|
uint64x2_t extvectbar[4];
|