19417b05ef982bd3dbcae2fa24083b5be00d6c4f1David Blaikie// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -g %s | FileCheck %s 2d7f6050113598797078f2718bc9f76c3ae35f0dfDaniel Dunbar 35c11d4e486b1b3ae40b48a3088d99adb56a8a9e3Chris Lattner// PR3023 4d7f6050113598797078f2718bc9f76c3ae35f0dfDaniel Dunbarvoid convert(void) { 5d7f6050113598797078f2718bc9f76c3ae35f0dfDaniel Dunbar struct { typeof(0) f0; } v0; 6d7f6050113598797078f2718bc9f76c3ae35f0dfDaniel Dunbar} 71413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner 891cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 91413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner// PR2784 109417b05ef982bd3dbcae2fa24083b5be00d6c4f1David Blaikiestruct OPAQUE; // CHECK: DW_TAG_structure_type 111413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattnertypedef struct OPAQUE *PTR; 121413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris LattnerPTR p; 131413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner 141413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner 151413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner// PR2950 161413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattnerstruct s0; 171413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattnerstruct s0 { struct s0 *p; } g0; 181413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner 191413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattnerstruct s0 *f0(struct s0 *a0) { 201413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner return a0->p; 211413217509ca3da8d1cd4e52feabbfe6da9bbae9Chris Lattner} 22010d5143800f6dc986f90169a694ccfec3d52038Nuno Lopes 2391cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 244d6e8dd587f6ae0080b0d3acc9ac6a6a02b1ac3bAnders Carlsson// PR3134 254d6e8dd587f6ae0080b0d3acc9ac6a6a02b1ac3bAnders Carlssonchar xpto[]; 264d6e8dd587f6ae0080b0d3acc9ac6a6a02b1ac3bAnders Carlsson 2791cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 28010d5143800f6dc986f90169a694ccfec3d52038Nuno Lopes// PR3427 29010d5143800f6dc986f90169a694ccfec3d52038Nuno Lopesstruct foo { 301eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump int a; 311eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump void *ptrs[]; 32010d5143800f6dc986f90169a694ccfec3d52038Nuno Lopes}; 33010d5143800f6dc986f90169a694ccfec3d52038Nuno Lopesstruct foo bar; 343189e4be4f79f22e0e076e21615b9526de529b43Eli Friedman 3591cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 363189e4be4f79f22e0e076e21615b9526de529b43Eli Friedman// PR4143 373189e4be4f79f22e0e076e21615b9526de529b43Eli Friedmanstruct foo2 { 381eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump enum bar *bar; 393189e4be4f79f22e0e076e21615b9526de529b43Eli Friedman}; 403189e4be4f79f22e0e076e21615b9526de529b43Eli Friedman 413189e4be4f79f22e0e076e21615b9526de529b43Eli Friedmanstruct foo2 foo2; 4291cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 4391cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump 44386378de864577023c29da7ff6290758f1d6170aMike Stump// Radar 7325611 4591cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump// CHECK: "barfoo" 4691cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stumptypedef int barfoo; 4791cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stumpbarfoo foo() { 4891cc815ffd13d4a78ae1b5bd617e19dd555de4f4Mike Stump} 4931c79b470bf609028b585266a3127e7fb5f0a534Devang Patel 5031c79b470bf609028b585266a3127e7fb5f0a534Devang Patel// CHECK: __uint128_t 5131c79b470bf609028b585266a3127e7fb5f0a534Devang Patel__uint128_t foo128 () 5231c79b470bf609028b585266a3127e7fb5f0a534Devang Patel{ 5331c79b470bf609028b585266a3127e7fb5f0a534Devang Patel __uint128_t int128 = 44; 5431c79b470bf609028b585266a3127e7fb5f0a534Devang Patel return int128; 5531c79b470bf609028b585266a3127e7fb5f0a534Devang Patel} 56d15608e9861ae4c2667780e5f5b59d6b10472aecDevang Patel 57d15608e9861ae4c2667780e5f5b59d6b10472aecDevang Patel// CHECK: uint64x2_t 58d15608e9861ae4c2667780e5f5b59d6b10472aecDevang Pateltypedef unsigned long long uint64_t; 59d15608e9861ae4c2667780e5f5b59d6b10472aecDevang Pateltypedef uint64_t uint64x2_t __attribute__((ext_vector_type(2))); 60d15608e9861ae4c2667780e5f5b59d6b10472aecDevang Pateluint64x2_t extvectbar[4]; 61