Daniel Dunbar | b9bd56e | 2011-05-05 18:54:06 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple x86_64-unk-unk -o %t -emit-llvm -g %s |
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 2 | // RUN: FileCheck --input-file=%t %s |
Daniel Dunbar | d7f6050 | 2008-11-08 04:42:29 +0000 | [diff] [blame] | 3 | |
Chris Lattner | 5c11d4e | 2008-11-11 06:27:34 +0000 | [diff] [blame] | 4 | // PR3023 |
Daniel Dunbar | d7f6050 | 2008-11-08 04:42:29 +0000 | [diff] [blame] | 5 | void convert(void) { |
6 | struct { typeof(0) f0; } v0; | ||||
7 | } | ||||
Chris Lattner | 1413217 | 2008-11-11 06:42:53 +0000 | [diff] [blame] | 8 | |
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 9 | |
Chris Lattner | 1413217 | 2008-11-11 06:42:53 +0000 | [diff] [blame] | 10 | // PR2784 |
11 | struct OPAQUE; | ||||
12 | typedef struct OPAQUE *PTR; | ||||
13 | PTR p; | ||||
14 | |||||
15 | |||||
16 | // PR2950 | ||||
17 | struct s0; | ||||
18 | struct s0 { struct s0 *p; } g0; | ||||
19 | |||||
20 | struct s0 *f0(struct s0 *a0) { | ||||
21 | return a0->p; | ||||
22 | } | ||||
Nuno Lopes | 010d514 | 2009-01-28 00:35:17 +0000 | [diff] [blame] | 23 | |
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 24 | |
Anders Carlsson | 4d6e8dd | 2008-11-26 17:40:42 +0000 | [diff] [blame] | 25 | // PR3134 |
26 | char xpto[]; | ||||
27 | |||||
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 28 | |
Nuno Lopes | 010d514 | 2009-01-28 00:35:17 +0000 | [diff] [blame] | 29 | // PR3427 |
30 | struct foo { | ||||
Mike Stump | 1eb4433 | 2009-09-09 15:08:12 +0000 | [diff] [blame] | 31 | int a; |
32 | void *ptrs[]; | ||||
Nuno Lopes | 010d514 | 2009-01-28 00:35:17 +0000 | [diff] [blame] | 33 | }; |
34 | struct foo bar; | ||||
Eli Friedman | 3189e4b | 2009-05-04 04:39:55 +0000 | [diff] [blame] | 35 | |
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 36 | |
Eli Friedman | 3189e4b | 2009-05-04 04:39:55 +0000 | [diff] [blame] | 37 | // PR4143 |
38 | struct foo2 { | ||||
Mike Stump | 1eb4433 | 2009-09-09 15:08:12 +0000 | [diff] [blame] | 39 | enum bar *bar; |
Eli Friedman | 3189e4b | 2009-05-04 04:39:55 +0000 | [diff] [blame] | 40 | }; |
41 | |||||
42 | struct foo2 foo2; | ||||
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 43 | |
44 | |||||
Mike Stump | 386378d | 2009-10-23 02:13:20 +0000 | [diff] [blame] | 45 | // Radar 7325611 |
Mike Stump | 91cc815 | 2009-10-23 01:52:13 +0000 | [diff] [blame] | 46 | // CHECK: "barfoo" |
47 | typedef int barfoo; | ||||
48 | barfoo foo() { | ||||
49 | } | ||||
Devang Patel | 31c79b4 | 2011-05-05 17:06:30 +0000 | [diff] [blame] | 50 | |
51 | // CHECK: __uint128_t | ||||
52 | __uint128_t foo128 () | ||||
53 | { | ||||
54 | __uint128_t int128 = 44; | ||||
55 | return int128; | ||||
56 | } | ||||
Devang Patel | d15608e | 2011-07-13 21:23:30 +0000 | [diff] [blame] | 57 | |
58 | // CHECK: 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]; |