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