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