diff options
author | dim <dim@FreeBSD.org> | 2011-10-20 21:10:27 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2011-10-20 21:10:27 +0000 |
commit | 7b3392326c40c3c20697816acae597ba7b3144eb (patch) | |
tree | 2cbcf22585e99f8a87d12d5ff94f392c0d266819 /test/FrontendC++ | |
parent | 1176aa52646fe641a4243a246aa7f960c708a274 (diff) | |
download | FreeBSD-src-7b3392326c40c3c20697816acae597ba7b3144eb.zip FreeBSD-src-7b3392326c40c3c20697816acae597ba7b3144eb.tar.gz |
Vendor import of llvm release_30 branch r142614:
http://llvm.org/svn/llvm-project/llvm/branches/release_30@142614
Diffstat (limited to 'test/FrontendC++')
101 files changed, 0 insertions, 2640 deletions
diff --git a/test/FrontendC++/2003-11-02-WeakLinkage.cpp b/test/FrontendC++/2003-11-02-WeakLinkage.cpp deleted file mode 100644 index 748ca63..0000000 --- a/test/FrontendC++/2003-11-02-WeakLinkage.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -xc++ -S -o - %s | not grep weak -// The template should compile to linkonce linkage, not weak linkage. - -template<class T> -void thefunc(); - -template<class T> -inline void thefunc() {} - -void test() { - thefunc<int>(); -} - diff --git a/test/FrontendC++/2003-11-18-PtrMemConstantInitializer.cpp b/test/FrontendC++/2003-11-18-PtrMemConstantInitializer.cpp deleted file mode 100644 index 72609e7..0000000 --- a/test/FrontendC++/2003-11-18-PtrMemConstantInitializer.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -struct Gfx { - void opMoveSetShowText(); -}; - -struct Operator { - void (Gfx::*func)(); -}; - -Operator opTab[] = { - {&Gfx::opMoveSetShowText}, -}; - diff --git a/test/FrontendC++/2003-11-25-ReturningOpaqueByValue.cpp b/test/FrontendC++/2003-11-25-ReturningOpaqueByValue.cpp deleted file mode 100644 index 5ea0a2c..0000000 --- a/test/FrontendC++/2003-11-25-ReturningOpaqueByValue.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -#include <vector> -std::vector<int> my_method (); - -int -main () -{ - my_method (); - return 0; -} - diff --git a/test/FrontendC++/2003-11-27-MultipleInheritanceThunk.cpp b/test/FrontendC++/2003-11-27-MultipleInheritanceThunk.cpp deleted file mode 100644 index 99cfc8d..0000000 --- a/test/FrontendC++/2003-11-27-MultipleInheritanceThunk.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - - -struct CallSite { - int X; - - CallSite(const CallSite &CS); -}; - -struct AliasAnalysis { - int TD; - - virtual int getModRefInfo(CallSite CS); -}; - - -struct Pass { - int X; - virtual int foo(); -}; - -struct AliasAnalysisCounter : public Pass, public AliasAnalysis { - int getModRefInfo(CallSite CS) { - return 0; - } -}; - -AliasAnalysisCounter AAC; diff --git a/test/FrontendC++/2003-11-29-DuplicatedCleanupTest.cpp b/test/FrontendC++/2003-11-29-DuplicatedCleanupTest.cpp deleted file mode 100644 index 8df95cb..0000000 --- a/test/FrontendC++/2003-11-29-DuplicatedCleanupTest.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - - -void doesntThrow() throw(); -struct F { - ~F() { doesntThrow(); } -}; - -void atest() { - F A; -lab: - F B; - goto lab; -} - -void test(int val) { -label: { - F A; - F B; - if (val == 0) goto label; - if (val == 1) goto label; -} -} - -void test3(int val) { -label: { - F A; - F B; - if (val == 0) { doesntThrow(); goto label; } - if (val == 1) { doesntThrow(); goto label; } -} -} - -void test4(int val) { -label: { - F A; - F B; - if (val == 0) { F C; goto label; } - if (val == 1) { F D; goto label; } -} -} diff --git a/test/FrontendC++/2003-12-08-ArrayOfPtrToMemberFunc.cpp b/test/FrontendC++/2003-12-08-ArrayOfPtrToMemberFunc.cpp deleted file mode 100644 index b87e786..0000000 --- a/test/FrontendC++/2003-12-08-ArrayOfPtrToMemberFunc.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -struct Evil { - void fun (); -}; -int foo(); -typedef void (Evil::*memfunptr) (); -static memfunptr jumpTable[] = { &Evil::fun }; - -void Evil::fun() { - (this->*jumpTable[foo()]) (); -} diff --git a/test/FrontendC++/2004-01-11-DynamicInitializedConstant.cpp b/test/FrontendC++/2004-01-11-DynamicInitializedConstant.cpp deleted file mode 100644 index 8ae15c9..0000000 --- a/test/FrontendC++/2004-01-11-DynamicInitializedConstant.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -xc++ -S -o - %s | not grep { constant } - -extern int X; -const int Y = X; -const int* foo() { return &Y; } - diff --git a/test/FrontendC++/2004-03-08-ReinterpretCastCopy.cpp b/test/FrontendC++/2004-03-08-ReinterpretCastCopy.cpp deleted file mode 100644 index 35880ab..0000000 --- a/test/FrontendC++/2004-03-08-ReinterpretCastCopy.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -struct A { - virtual void Method() = 0; -}; - -struct B : public A { - virtual void Method() { } -}; - -typedef void (A::*fn_type_a)(void); -typedef void (B::*fn_type_b)(void); - -int main(int argc, char **argv) -{ - fn_type_a f = reinterpret_cast<fn_type_a>(&B::Method); - fn_type_b g = reinterpret_cast<fn_type_b>(f); - B b; - (b.*g)(); - return 0; -} diff --git a/test/FrontendC++/2004-03-09-UnmangledBuiltinMethods.cpp b/test/FrontendC++/2004-03-09-UnmangledBuiltinMethods.cpp deleted file mode 100644 index a600e84..0000000 --- a/test/FrontendC++/2004-03-09-UnmangledBuiltinMethods.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -xc++ -S -o - %s | grep _ZN11AccessFlags6strlenEv - -struct AccessFlags { - void strlen(); -}; - -void AccessFlags::strlen() { } - diff --git a/test/FrontendC++/2004-03-15-CleanupsAndGotos.cpp b/test/FrontendC++/2004-03-15-CleanupsAndGotos.cpp deleted file mode 100644 index c2e52f6..0000000 --- a/test/FrontendC++/2004-03-15-CleanupsAndGotos.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -// Testcase from Bug 291 - -struct X { - ~X(); -}; - -void foo() { - X v; - -TryAgain: - goto TryAgain; -} diff --git a/test/FrontendC++/2004-06-08-LateTemplateInstantiation.cpp b/test/FrontendC++/2004-06-08-LateTemplateInstantiation.cpp deleted file mode 100644 index 4ad4c7d..0000000 --- a/test/FrontendC++/2004-06-08-LateTemplateInstantiation.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - - - -template<typename Ty> -struct normal_iterator { - int FIELD; -}; - -void foo(normal_iterator<int>); -normal_iterator<int> baz(); - -void bar() { - foo(baz()); -} - -void *bar2() { - return (void*)foo; -} diff --git a/test/FrontendC++/2004-09-27-CompilerCrash.cpp b/test/FrontendC++/2004-09-27-CompilerCrash.cpp deleted file mode 100644 index f52baaf..0000000 --- a/test/FrontendC++/2004-09-27-CompilerCrash.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -struct Pass {} ; -template<typename PassName> -Pass *callDefaultCtor() { return new PassName(); } - -void foo(Pass *(*C)()); - -#include <string> - -bool foo(std::string &X) { - return X.empty(); -} diff --git a/test/FrontendC++/2004-09-27-DidntEmitTemplate.cpp b/test/FrontendC++/2004-09-27-DidntEmitTemplate.cpp deleted file mode 100644 index 66b970c..0000000 --- a/test/FrontendC++/2004-09-27-DidntEmitTemplate.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgxx -xc++ %s -S -o - | grep callDefaultCtor | \ -// RUN: not grep declare - -// This is a testcase for LLVM PR445, which was a problem where the -// instantiation of callDefaultCtor was not being emitted correctly. - -struct Pass {}; - -template<typename PassName> -Pass *callDefaultCtor() { return new Pass(); } - -void foo(Pass *(*C)()); - -struct basic_string { - bool empty() const { return true; } -}; - - -bool foo2(basic_string &X) { - return X.empty(); -} -void baz() { foo(callDefaultCtor<Pass>); } - diff --git a/test/FrontendC++/2004-11-27-EmitsUnusedInlineFunctions.cpp b/test/FrontendC++/2004-11-27-EmitsUnusedInlineFunctions.cpp deleted file mode 100644 index 794b7d7..0000000 --- a/test/FrontendC++/2004-11-27-EmitsUnusedInlineFunctions.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// The C++ front-end was emitting WAY too many inline functions. This test -// verifies that it does not emit the body of getchar, because it is not used. -// This corresponds to PR459 - -// RUN: %llvmgxx %s -S -o - | not grep {^i32 .getchar} - -#include <stdio.h> diff --git a/test/FrontendC++/2004-11-27-ExceptionCleanupAssertion.cpp b/test/FrontendC++/2004-11-27-ExceptionCleanupAssertion.cpp deleted file mode 100644 index f3d225e..0000000 --- a/test/FrontendC++/2004-11-27-ExceptionCleanupAssertion.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null - -// This is PR421 - -struct Strongbad { - Strongbad(const char *str ); - ~Strongbad(); - operator const char *() const; -}; - -void TheCheat () { - Strongbad foo(0); - Strongbad dirs[] = { Strongbad(0) + 1}; -} diff --git a/test/FrontendC++/2004-11-27-FriendDefaultArgCrash.cpp b/test/FrontendC++/2004-11-27-FriendDefaultArgCrash.cpp deleted file mode 100644 index 731e726..0000000 --- a/test/FrontendC++/2004-11-27-FriendDefaultArgCrash.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgxx %s -o /dev/null -S - -// PR447 - -namespace nm { - struct str { - friend int foo(int arg = 0); - }; -} diff --git a/test/FrontendC++/2004-11-27-InlineAsmFunctionRedefinition.cpp b/test/FrontendC++/2004-11-27-InlineAsmFunctionRedefinition.cpp deleted file mode 100644 index 42b223b..0000000 --- a/test/FrontendC++/2004-11-27-InlineAsmFunctionRedefinition.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null - -// PR397 - -struct stat { }; -struct stat64 { }; - -extern "C" { - -extern int lstat(const char *, struct stat *) __asm__("lstat64"); -extern int lstat64(const char *, struct stat64 *); - -extern int __lxstat(int, const char *, struct stat *) __asm__("__lxstat64"); -extern int __lxstat64(int, const char *, struct stat64 *); - -extern __inline__ int lstat(const char *path, struct stat *statbuf) { - return __lxstat(3, path, statbuf); -} -extern __inline__ int lstat64(const char *path, struct stat64 *statbuf) { - return __lxstat64(3, path, statbuf); -} -} - -int do_one_file(void) { - return lstat(0, 0) + lstat64(0,0); -} diff --git a/test/FrontendC++/2005-01-03-StaticInitializers.cpp b/test/FrontendC++/2005-01-03-StaticInitializers.cpp deleted file mode 100644 index da1b005..0000000 --- a/test/FrontendC++/2005-01-03-StaticInitializers.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | not grep llvm.global_ctor - -struct S { - int A[2]; -}; - -int XX = (int)(long)&(((struct S*)0)->A[1]); - diff --git a/test/FrontendC++/2005-02-11-AnonymousUnion.cpp b/test/FrontendC++/2005-02-11-AnonymousUnion.cpp deleted file mode 100644 index 87ababc..0000000 --- a/test/FrontendC++/2005-02-11-AnonymousUnion.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgxx %s -S -o - - -// Test anonymous union with members of the same size. -int test1(float F) { - union { - float G; - int i; - }; - G = F; - return i; -} - -// test anonymous union with members of differing size. -int test2(short F) { - volatile union { - short G; - int i; - }; - G = F; - return i; -} - -// Make sure that normal unions work. duh :) -volatile union U_t { - short S; - int i; -} U; - -int test3(short s) { - U.S = s; - return U.i; -} diff --git a/test/FrontendC++/2005-02-13-BadDynamicInit.cpp b/test/FrontendC++/2005-02-13-BadDynamicInit.cpp deleted file mode 100644 index 84fa565..0000000 --- a/test/FrontendC++/2005-02-13-BadDynamicInit.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | not grep llvm.global_ctors -// This testcase corresponds to PR509 -struct Data { - unsigned *data; - unsigned array[1]; -}; - -Data shared_null = { shared_null.array }; - diff --git a/test/FrontendC++/2005-02-14-BitFieldOffset.cpp b/test/FrontendC++/2005-02-14-BitFieldOffset.cpp deleted file mode 100644 index 522e20a..0000000 --- a/test/FrontendC++/2005-02-14-BitFieldOffset.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | not grep {i32 6} - -struct QVectorTypedData { - int size; - unsigned int sharable : 1; - unsigned short array[1]; -}; - -void foo(QVectorTypedData *X) { - X->array[0] = 123; -} diff --git a/test/FrontendC++/2005-02-19-BitfieldStructCrash.cpp b/test/FrontendC++/2005-02-19-BitfieldStructCrash.cpp deleted file mode 100644 index 8f571e0..0000000 --- a/test/FrontendC++/2005-02-19-BitfieldStructCrash.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -S %s -o - - -struct QChar {unsigned short X; QChar(unsigned short); } ; - -struct Command { - Command(QChar c) : c(c) {} - unsigned int type : 4; - QChar c; - }; - -Command X(QChar('c')); - -void Foo(QChar ); -void bar() { Foo(X.c); } diff --git a/test/FrontendC++/2005-02-19-UnnamedVirtualThunkArgument.cpp b/test/FrontendC++/2005-02-19-UnnamedVirtualThunkArgument.cpp deleted file mode 100644 index 853fee7..0000000 --- a/test/FrontendC++/2005-02-19-UnnamedVirtualThunkArgument.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null - -struct Foo { - Foo(); - virtual ~Foo(); -}; - -struct Bar { - Bar(); - virtual ~Bar(); - virtual bool test(bool) const; -}; - -struct Baz : public Foo, public Bar { - Baz(); - virtual ~Baz(); - virtual bool test(bool) const; -}; - -bool Baz::test(bool) const { - return true; -} diff --git a/test/FrontendC++/2005-02-20-BrokenReferenceTest.cpp b/test/FrontendC++/2005-02-20-BrokenReferenceTest.cpp deleted file mode 100644 index 31026d3..0000000 --- a/test/FrontendC++/2005-02-20-BrokenReferenceTest.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null - -void test(unsigned char *b, int rb) { - typedef unsigned char imgfoo[10][rb]; - imgfoo &br = *(imgfoo *)b; - - br[0][0] = 1; - - rb = br[0][0]; -} - diff --git a/test/FrontendC++/2005-02-27-PlacementArrayNewCrash.cpp b/test/FrontendC++/2005-02-27-PlacementArrayNewCrash.cpp deleted file mode 100644 index a8fc668..0000000 --- a/test/FrontendC++/2005-02-27-PlacementArrayNewCrash.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgxx -S %s -o - - -#include <new> -typedef double Ty[4]; - -void foo(Ty *XX) { - new(XX) Ty(); -} diff --git a/test/FrontendC++/2005-07-21-VirtualBaseAccess.cpp b/test/FrontendC++/2005-07-21-VirtualBaseAccess.cpp deleted file mode 100644 index ca600d6..0000000 --- a/test/FrontendC++/2005-07-21-VirtualBaseAccess.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -xc++ %s -S -o - | opt -die -S | not grep cast - -void foo(int*); - -struct FOO { - int X; -}; - -struct BAR : virtual FOO { BAR(); }; - -int testfn() { - BAR B; - foo(&B.X); -} diff --git a/test/FrontendC++/2006-03-01-GimplifyCrash.cpp b/test/FrontendC++/2006-03-01-GimplifyCrash.cpp deleted file mode 100644 index b0d00fe..0000000 --- a/test/FrontendC++/2006-03-01-GimplifyCrash.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -S %s -o - - -struct PrefMapElem { - virtual ~PrefMapElem(); - unsigned int fPrefId; -}; - -int foo() { - PrefMapElem* fMap; - if (fMap[0].fPrefId == 1) - return 1; - - return 0; -} diff --git a/test/FrontendC++/2006-03-06-C++RecurseCrash.cpp b/test/FrontendC++/2006-03-06-C++RecurseCrash.cpp deleted file mode 100644 index 2fb3fb7..0000000 --- a/test/FrontendC++/2006-03-06-C++RecurseCrash.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -namespace std { - class exception { }; - - class type_info { - public: - virtual ~type_info(); - }; - -} - -namespace __cxxabiv1 { - class __si_class_type_info : public std::type_info { - ~__si_class_type_info(); - }; -} - -class recursive_init: public std::exception { -public: - virtual ~recursive_init() throw (); -}; - -recursive_init::~recursive_init() throw() { } - diff --git a/test/FrontendC++/2006-09-08-powi.cpp b/test/FrontendC++/2006-09-08-powi.cpp deleted file mode 100644 index 75cbfda..0000000 --- a/test/FrontendC++/2006-09-08-powi.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgxx -O3 -S -o - %s - -#include <cmath> - -double foo(double X, int Y) { - return std::pow(X, Y); -} diff --git a/test/FrontendC++/2006-09-12-OpaqueStructCrash.cpp b/test/FrontendC++/2006-09-12-OpaqueStructCrash.cpp deleted file mode 100644 index f3160e8..0000000 --- a/test/FrontendC++/2006-09-12-OpaqueStructCrash.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// RUN: %llvmgxx -O3 -S -o - %s - -struct A { - virtual ~A(); -}; - -template <typename Ty> -struct B : public A { - ~B () { delete [] val; } -private: - Ty* val; -}; - -template <typename Ty> -struct C : public A { - C (); - ~C (); -}; - -template <typename Ty> -struct D : public A { - D () {} - private: - B<C<Ty> > blocks; -}; - -template class D<double>; - diff --git a/test/FrontendC++/2006-09-27-Debug-Protection.cpp b/test/FrontendC++/2006-09-27-Debug-Protection.cpp deleted file mode 100644 index 2a70a0f..0000000 --- a/test/FrontendC++/2006-09-27-Debug-Protection.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgxx -O0 -S -g -o - %s | grep {i32 1,} -// RUN: %llvmgxx -O0 -S -g -o - %s | grep {i32 2,} -class A { -public: - int x; -protected: - int y; -private: - int z; -}; - -A a; diff --git a/test/FrontendC++/2006-10-30-ClassBitfield.cpp b/test/FrontendC++/2006-10-30-ClassBitfield.cpp deleted file mode 100644 index b3b43fb..0000000 --- a/test/FrontendC++/2006-10-30-ClassBitfield.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgxx %s -S -o - -// PR954 - -struct _Refcount_Base { - unsigned long _M_ref_count; - int _M_ref_count_lock; - _Refcount_Base() : _M_ref_count(0) {} -}; - -struct _Rope_RopeRep : public _Refcount_Base -{ -public: - int _M_tag:8; -}; - -int foo(_Rope_RopeRep* r) { return r->_M_tag; } diff --git a/test/FrontendC++/2006-11-06-StackTrace.cpp b/test/FrontendC++/2006-11-06-StackTrace.cpp deleted file mode 100644 index 2813c36..0000000 --- a/test/FrontendC++/2006-11-06-StackTrace.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// This is a regression test on debug info to make sure that we can get a -// meaningful stack trace from a C++ program. -// RUN: %llvmgcc -S -O0 -g %s -o - | \ -// RUN: llc --disable-cfi --disable-fp-elim -o %t.s -O0 -relocation-model=pic -// RUN: %compile_c %t.s -o %t.o -// RUN: %link %t.o -o %t.exe -// RUN: echo {break DeepStack::deepest\nrun 17\nwhere\n} > %t.in -// RN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | \ -// RN: grep {#0 DeepStack::deepest.*(this=.*,.*x=33)} -// RN: gdb -q -batch -n -x %t.in %t.exe | \ -// RN: grep {#7 0x.* in main.*(argc=\[12\],.*argv=.*)} - -// Only works on ppc (but not apple-darwin9), x86 and x86_64. Should -// generalize? -// XAIL: alpha,arm,powerpc-apple-darwin9 - -#include <stdlib.h> - -class DeepStack { - int seedVal; -public: - DeepStack(int seed) : seedVal(seed) {} - - int shallowest( int x ) { return shallower(x + 1); } - int shallower ( int x ) { return shallow(x + 2); } - int shallow ( int x ) { return deep(x + 3); } - int deep ( int x ) { return deeper(x + 4); } - int deeper ( int x ) { return deepest(x + 6); } - int deepest ( int x ) { return x + 7; } - - int runit() { return shallowest(seedVal); } -}; - -int main ( int argc, char** argv) { - - DeepStack DS9( (argc > 1 ? atoi(argv[1]) : 0) ); - return DS9.runit(); -} diff --git a/test/FrontendC++/2006-11-20-GlobalSymbols.cpp b/test/FrontendC++/2006-11-20-GlobalSymbols.cpp deleted file mode 100644 index c4afd32..0000000 --- a/test/FrontendC++/2006-11-20-GlobalSymbols.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// PR1013 -// Check to make sure debug symbols use the correct name for globals and -// functions. Will not assemble if it fails to. -// RUN: %llvmgcc_only -O0 -g -c %s - -int foo __asm__("f\001oo"); - -int bar() { - return foo; -} diff --git a/test/FrontendC++/2006-11-30-ConstantExprCrash.cpp b/test/FrontendC++/2006-11-30-ConstantExprCrash.cpp deleted file mode 100644 index d351b94..0000000 --- a/test/FrontendC++/2006-11-30-ConstantExprCrash.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %llvmgxx %s -S -o - -// PR1027 - -struct sys_var { - unsigned name_length; - - bool no_support_one_shot; - sys_var() {} -}; - - -struct sys_var_thd : public sys_var { -}; - -extern sys_var_thd sys_auto_is_null; - -sys_var *getsys_variables() { - return &sys_auto_is_null; -} - -sys_var *sys_variables = &sys_auto_is_null; - - - - - - diff --git a/test/FrontendC++/2006-11-30-Pubnames.cpp b/test/FrontendC++/2006-11-30-Pubnames.cpp deleted file mode 100644 index fc7beeb..0000000 --- a/test/FrontendC++/2006-11-30-Pubnames.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// This is a regression test on debug info to make sure that we can access -// qualified global names. -// RUN: %llvmgcc -S -O0 -g %s -o - | \ -// RUN: llc -disable-cfi --disable-fp-elim -o %t.s -O0 -// RUN: %compile_c %t.s -o %t.o -// RUN: %link %t.o -o %t.exe -// RUN: %llvmdsymutil %t.exe -// RUN: echo {break main\nrun\np Pubnames::pubname} > %t.in -// RUN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | grep {\$1 = 10} -// -// XFAIL: alpha,arm - -struct Pubnames { - static int pubname; -}; - -int Pubnames::pubname = 10; - -int main (int argc, char** argv) { - Pubnames p; - return 0; -} diff --git a/test/FrontendC++/2007-01-02-UnboundedArray.cpp b/test/FrontendC++/2007-01-02-UnboundedArray.cpp deleted file mode 100644 index 3103086..0000000 --- a/test/FrontendC++/2007-01-02-UnboundedArray.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// Make sure unbounded arrays compile with debug information. -// -// RUN: %llvmgcc -O0 -S -g %s - -// PR1068 - -struct Object { - char buffer[]; -}; - -int main(int argc, char** argv) { - new Object; - return 0; -} diff --git a/test/FrontendC++/2007-01-06-ELF-Thunk-Sections.cpp b/test/FrontendC++/2007-01-06-ELF-Thunk-Sections.cpp deleted file mode 100644 index 5206640..0000000 --- a/test/FrontendC++/2007-01-06-ELF-Thunk-Sections.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | not grep gnu.linkonce. -// PR1085 - -class -__attribute__((visibility("default"))) QGenericArgument -{ - public:inline QGenericArgument(const char *aName = 0, const void *aData = 0):_data(aData), _name(aName) { - } - private:const void *_data; - const char *_name; -}; -struct __attribute__ (( - visibility("default"))) QMetaObject -{ - struct { - } - d; -}; -class -__attribute__((visibility("default"))) QObject -{ - virtual const QMetaObject *metaObject() const; -}; -class -__attribute__((visibility("default"))) QPaintDevice -{ - public:enum PaintDeviceMetric { - PdmWidth = 1, PdmHeight, PdmWidthMM, PdmHeightMM, PdmNumColors, PdmDepth, PdmDpiX, PdmDpiY, PdmPhysicalDpiX, PdmPhysicalDpiY - }; - virtual ~ QPaintDevice(); - union { - } - ct; -}; -class -__attribute__((visibility("default"))) QWidget:public QObject, public QPaintDevice -{ -}; -class -__attribute__((visibility("default"))) QDialog:public QWidget -{ -}; -class TopicChooser:public QDialog { - virtual const QMetaObject *metaObject() const; -}; -const QMetaObject *TopicChooser:: -metaObject() const -{ -} diff --git a/test/FrontendC++/2007-01-06-PtrMethodInit.cpp b/test/FrontendC++/2007-01-06-PtrMethodInit.cpp deleted file mode 100644 index beb7945..0000000 --- a/test/FrontendC++/2007-01-06-PtrMethodInit.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// RUN: %llvmgxx %s -S -o - -// PR1084 - -extern "C" -{ - typedef unsigned char PRUint8; - typedef unsigned int PRUint32; -} -typedef PRUint32 nsresult; -struct nsID -{ -}; -typedef nsID nsIID; -class nsISupports -{ -}; -extern "C++" -{ - template < class T > struct nsCOMTypeInfo - { - static const nsIID & GetIID () - { - } - }; -} - -class nsIDOMEvent:public nsISupports -{ -}; -class nsIDOMEventListener:public nsISupports -{ -public:static const nsIID & GetIID () - { - } - virtual nsresult - __attribute__ ((regparm (0), cdecl)) HandleEvent (nsIDOMEvent * event) = - 0; -}; -class nsIDOMMouseListener:public nsIDOMEventListener -{ -public:static const nsIID & GetIID () - { - static const nsIID iid = { - }; - } - virtual nsresult - __attribute__ ((regparm (0), - cdecl)) MouseDown (nsIDOMEvent * aMouseEvent) = 0; -}; -typedef -typeof (&nsIDOMEventListener::HandleEvent) - GenericHandler; - struct EventDispatchData - { - PRUint32 message; - GenericHandler method; - PRUint8 bits; - }; - struct EventTypeData - { - const EventDispatchData *events; - int numEvents; - const nsIID *iid; - }; - static const EventDispatchData sMouseEvents[] = { - { - (300 + 2), - reinterpret_cast < GenericHandler > (&nsIDOMMouseListener::MouseDown), - 0x01} - }; -static const EventTypeData sEventTypes[] = { - { - sMouseEvents, (sizeof (sMouseEvents) / sizeof (sMouseEvents[0])), - &nsCOMTypeInfo < nsIDOMMouseListener >::GetIID ()} -}; diff --git a/test/FrontendC++/2007-03-27-FunctionVarRename.cpp b/test/FrontendC++/2007-03-27-FunctionVarRename.cpp deleted file mode 100644 index 6ff1284..0000000 --- a/test/FrontendC++/2007-03-27-FunctionVarRename.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | not grep eprintf1 -// RUN: %llvmgxx %s -S -o - | grep eprintf - -// Only one eprintf should exist in the output - -extern "C" -void __eprintf(); - -void foo() { - - __eprintf(); -} - -void *bar() { - extern void *__eprintf; - return &__eprintf; -} diff --git a/test/FrontendC++/2007-04-05-PackedBitFields-1.cpp b/test/FrontendC++/2007-04-05-PackedBitFields-1.cpp deleted file mode 100644 index 174dddf..0000000 --- a/test/FrontendC++/2007-04-05-PackedBitFields-1.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -#ifdef PACKED -#define P __attribute__((packed)) -#else -#define P -#endif - -struct P M_Packed { - unsigned int l_Packed; - unsigned short k_Packed : 6, - i_Packed : 15, - j_Packed : 11; - -}; - -struct M_Packed sM_Packed; - -int testM_Packed (void) { - struct M_Packed x; - return (x.i_Packed != 0); -} - diff --git a/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap-2.cpp b/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap-2.cpp deleted file mode 100644 index 55da1a6..0000000 --- a/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap-2.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -#ifdef PACKED -#define P __attribute__((packed)) -#else -#define P -#endif - -struct P M_Packed { - unsigned long sorted : 1; - unsigned long from_array : 1; - unsigned long mixed_encoding : 1; - unsigned long encoding : 8; - unsigned long count : 21; - -}; - -struct M_Packed sM_Packed; - -int testM_Packed (void) { - struct M_Packed x; - return (x.count != 0); -} - diff --git a/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap.cpp b/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap.cpp deleted file mode 100644 index 46a8949..0000000 --- a/test/FrontendC++/2007-04-05-PackedBitFieldsOverlap.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - - -#ifdef PACKED -#define P __attribute__((packed)) -#else -#define P -#endif - -struct P M_Packed { - unsigned int l_Packed; - unsigned short k_Packed : 6, - i_Packed : 15; - char c; - -}; - -struct M_Packed sM_Packed; - -int testM_Packed (void) { - struct M_Packed x; - return (x.i_Packed != 0); -} - diff --git a/test/FrontendC++/2007-04-05-PackedBitFieldsSmall.cpp b/test/FrontendC++/2007-04-05-PackedBitFieldsSmall.cpp deleted file mode 100644 index 7377b82..0000000 --- a/test/FrontendC++/2007-04-05-PackedBitFieldsSmall.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - - -#ifdef PACKED -// This is an example where size of Packed struct is smaller then -// the size of bit field type. -#define P __attribute__((packed)) -#else -#define P -#endif - -struct P M_Packed { - unsigned long long X:50; - unsigned Y:2; -}; - -struct M_Packed sM_Packed; - -int testM_Packed (void) { - struct M_Packed x; - return (0 != x.Y); -} - -int testM_Packed2 (void) { - struct M_Packed x; - return (0 != x.X); -} diff --git a/test/FrontendC++/2007-04-05-StructPackedFieldUnpacked.cpp b/test/FrontendC++/2007-04-05-StructPackedFieldUnpacked.cpp deleted file mode 100644 index b550b5f..0000000 --- a/test/FrontendC++/2007-04-05-StructPackedFieldUnpacked.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null - -#ifdef PACKED -#define P __attribute__((packed)) -#else -#define P -#endif - -struct UnPacked { - int X; - int Y; -}; - -struct P M_Packed { - unsigned char A; - struct UnPacked B; -}; - -struct M_Packed sM_Packed; - -int testM_Packed (void) { - struct M_Packed x; - return (x.B.Y != 0); -} - diff --git a/test/FrontendC++/2007-04-10-PackedUnion.cpp b/test/FrontendC++/2007-04-10-PackedUnion.cpp deleted file mode 100644 index b4b8894..0000000 --- a/test/FrontendC++/2007-04-10-PackedUnion.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null -extern "C" { - -#pragma pack(push, 2) - typedef struct ABC* abc; - - struct ABCS { - float red; - float green; - float blue; - float alpha; - }; - - typedef void (*XYZ)(); -#pragma pack(pop) -} - - -union ABCU { - ABCS color; - XYZ bg; -}; - -struct AData { - ABCU data; -}; - -class L { - public: - L() {} - L(const L& other); - - private: - AData fdata; -}; - - -L::L(const L& other) -{ - fdata = other.fdata; -} diff --git a/test/FrontendC++/2007-04-11-InlineStorageClassC++.cpp b/test/FrontendC++/2007-04-11-InlineStorageClassC++.cpp deleted file mode 100644 index 4c2aad3..0000000 --- a/test/FrontendC++/2007-04-11-InlineStorageClassC++.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xglobWeak | grep linkonce | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xextWeak | grep linkonce | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xWeaknoinline | grep weak | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xWeakextnoinline | grep weak | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xglobnoWeak | grep linkonce | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xstatnoWeak | grep internal | count 1 -// RUN: %llvmgxx %s -S -O0 -o - | grep define | \ -// RUN: grep xextnoWeak | grep linkonce | count 1 -inline int xglobWeak(int) __attribute__((weak)); -inline int xglobWeak (int i) { - return i*2; -} -inline int xextWeak(int) __attribute__((weak)); -extern inline int xextWeak (int i) { - return i*4; -} -int xWeaknoinline(int) __attribute__((weak)); -int xWeaknoinline(int i) { - return i*8; -} -int xWeakextnoinline(int) __attribute__((weak)); -extern int xWeakextnoinline(int i) { - return i*16; -} -inline int xglobnoWeak (int i) { - return i*32; -} -static inline int xstatnoWeak (int i) { - return i*64; -} -extern inline int xextnoWeak (int i) { - return i*128; -} -int j(int y) { - return xglobnoWeak(y)+xstatnoWeak(y)+xextnoWeak(y)+ - xglobWeak(y)+xextWeak(y)+ - xWeakextnoinline(y)+xWeaknoinline(y); -} diff --git a/test/FrontendC++/2007-04-14-FNoBuiltin.cpp b/test/FrontendC++/2007-04-14-FNoBuiltin.cpp deleted file mode 100644 index 31e4528..0000000 --- a/test/FrontendC++/2007-04-14-FNoBuiltin.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -O2 -fno-builtin -o - | grep call.*printf -// Check that -fno-builtin is honored. - -extern "C" int printf(const char*, ...); -void foo(const char *msg) { - printf("%s\n",msg); -} diff --git a/test/FrontendC++/2007-04-31-TryCatch.cpp b/test/FrontendC++/2007-04-31-TryCatch.cpp deleted file mode 100644 index 8b8254d..0000000 --- a/test/FrontendC++/2007-04-31-TryCatch.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null - -#include <locale> - -namespace std -{ - codecvt<char, char, mbstate_t>:: - codecvt(size_t __refs) - : __codecvt_abstract_base<char, char, mbstate_t>(__refs), - _M_c_locale_codecvt(_S_get_c_locale()) - { } -} diff --git a/test/FrontendC++/2007-05-03-VectorInit.cpp b/test/FrontendC++/2007-05-03-VectorInit.cpp deleted file mode 100644 index af56d3a..0000000 --- a/test/FrontendC++/2007-05-03-VectorInit.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgxx %s -S -O0 -o - -// PR1378 - -typedef float v4sf __attribute__((vector_size(16))); - -typedef v4sf float4; - -static float4 splat4(float a) -{ - float4 tmp = {a,a,a,a}; - return tmp; -} - -float4 foo(float a) -{ - return splat4(a); -} diff --git a/test/FrontendC++/2007-05-16-ReverseBitFieldCrash.cpp b/test/FrontendC++/2007-05-16-ReverseBitFieldCrash.cpp deleted file mode 100644 index 42342fc..0000000 --- a/test/FrontendC++/2007-05-16-ReverseBitFieldCrash.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgxx %s -S -o - - -#pragma reverse_bitfields on -typedef unsigned long UINT32; - -extern void abort(void); - -typedef struct TestStruct -{ - long first: 15, - second: 17; -} TestStruct; - -int main (int argc, char * const argv[]) { - - TestStruct testStruct = {1, 0}; - - UINT32 dw = *(UINT32 *)(&testStruct); - - if(!(dw & 0xFFFF)) - abort (); - - return 0; -} diff --git a/test/FrontendC++/2007-05-23-TryFinally.cpp b/test/FrontendC++/2007-05-23-TryFinally.cpp deleted file mode 100644 index c797182..0000000 --- a/test/FrontendC++/2007-05-23-TryFinally.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgxx %s -S -O2 -o - | ignore grep _Unwind_Resume | \ -// RUN: wc -l | grep {\[23\]} - -struct One { }; -struct Two { }; - -void handle_unexpected () { - try - { - throw; - } - catch (One &) - { - throw Two (); - } -} diff --git a/test/FrontendC++/2007-07-04-NestedCatches.cpp b/test/FrontendC++/2007-07-04-NestedCatches.cpp deleted file mode 100644 index b10a5db..0000000 --- a/test/FrontendC++/2007-07-04-NestedCatches.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgxx %s -S -O2 -o - | \ -// RUN: ignore grep {eh\.selector.*One.*Two.*Three.*Four.*Five.*Six.*null} | \ -// RUN: wc -l | grep {\[01\]} - -extern void X(void); - -struct One {}; -struct Two {}; -struct Three {}; -struct Four {}; -struct Five {}; -struct Six {}; - -static void A(void) throw () -{ - X(); -} - -static void B(void) throw (Two) -{ - try { A(); } catch (One) {} -} - -static void C(void) throw (Six, Five) -{ - try { B(); } catch (Three) {} catch (Four) {} -} - -int main () -{ - try { C(); } catch (...) {} -} diff --git a/test/FrontendC++/2007-07-29-RestrictPtrArg.cpp b/test/FrontendC++/2007-07-29-RestrictPtrArg.cpp deleted file mode 100644 index 2e85abd..0000000 --- a/test/FrontendC++/2007-07-29-RestrictPtrArg.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep noalias - -void foo(int * __restrict myptr1, int * myptr2) { - myptr1[0] = 0; - myptr2[0] = 0; -} diff --git a/test/FrontendC++/2007-07-29-RestrictRefArg.cpp b/test/FrontendC++/2007-07-29-RestrictRefArg.cpp deleted file mode 100644 index 128ddb3..0000000 --- a/test/FrontendC++/2007-07-29-RestrictRefArg.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep noalias - -void foo(int & __restrict myptr1, int & myptr2) { - myptr1 = 0; - myptr2 = 0; -} diff --git a/test/FrontendC++/2007-08-01-RestrictMethod.cpp b/test/FrontendC++/2007-08-01-RestrictMethod.cpp deleted file mode 100644 index feefaa1..0000000 --- a/test/FrontendC++/2007-08-01-RestrictMethod.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep noalias - - -class foo { - int member[4]; - - void bar(int * a); - -}; - -void foo::bar(int * a) __restrict { - member[3] = *a; -} diff --git a/test/FrontendC++/2007-09-10-RecursiveTypeResolution.cpp b/test/FrontendC++/2007-09-10-RecursiveTypeResolution.cpp deleted file mode 100644 index 1fcf15f..0000000 --- a/test/FrontendC++/2007-09-10-RecursiveTypeResolution.cpp +++ /dev/null @@ -1,88 +0,0 @@ -// RUN: %llvmgxx -S %s -o - -// PR1634 - -namespace Manta -{ - class CallbackHandle - { - protected:virtual ~ CallbackHandle (void) - { - } - }; -template < typename Data1 > class CallbackBase_1Data:public CallbackHandle - { - }; -} - -namespace __gnu_cxx -{ - template < typename _Iterator, typename _Container > - class __normal_iterator - { - _Iterator _M_current; - }; -} - -namespace std -{ - template < typename _Tp > struct allocator - { - typedef _Tp *pointer; - }; - template < typename _InputIterator, - typename _Tp > inline void find (_InputIterator __last, - const _Tp & __val) - { - }; -} - -namespace Manta -{ - template < typename _Tp, typename _Alloc> struct _Vector_base - { - struct _Vector_impl - { - _Tp *_M_start; - }; - public: - _Vector_impl _M_impl; - }; - template < typename _Tp, typename _Alloc = std::allocator < _Tp > > - class vector:protected _Vector_base < _Tp,_Alloc > - { - public: - typedef __gnu_cxx::__normal_iterator < typename _Alloc::pointer, - vector < _Tp, _Alloc > > iterator; - iterator end () - { - } - }; - class MantaInterface - { - }; - class RTRT - { - virtual CallbackHandle *registerTerminationCallback (CallbackBase_1Data < - MantaInterface * >*); - virtual void unregisterCallback (CallbackHandle *); - typedef vector < CallbackBase_1Data < int >*>PRCallbackMapType; - PRCallbackMapType parallelPreRenderCallbacks; - }; -} -using namespace Manta; -CallbackHandle * -RTRT::registerTerminationCallback (CallbackBase_1Data < MantaInterface * >*cb) -{ - return cb; -} - -void -RTRT::unregisterCallback (CallbackHandle * callback) -{ - { - typedef CallbackBase_1Data < int > callback_t; - callback_t *cb = static_cast < callback_t * >(callback); - find (parallelPreRenderCallbacks.end (), cb); - } -} - diff --git a/test/FrontendC++/2007-10-01-StructResize.cpp b/test/FrontendC++/2007-10-01-StructResize.cpp deleted file mode 100644 index 71109eb..0000000 --- a/test/FrontendC++/2007-10-01-StructResize.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null - -#pragma pack(4) - -struct Bork { - unsigned int f1 : 3; - unsigned int f2 : 30; -}; - -int Foo(Bork *hdr) { - hdr->f1 = 7; - hdr->f2 = 927; -} - diff --git a/test/FrontendC++/2008-01-11-BadWarning.cpp b/test/FrontendC++/2008-01-11-BadWarning.cpp deleted file mode 100644 index 43f6a71..0000000 --- a/test/FrontendC++/2008-01-11-BadWarning.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -xc++ %s -S -o /dev/null |& not grep warning -// rdar://5683899 -void** f(void **Buckets, unsigned NumBuckets) { - return Buckets + NumBuckets; -} - diff --git a/test/FrontendC++/2008-01-12-VecInit.cpp b/test/FrontendC++/2008-01-12-VecInit.cpp deleted file mode 100644 index e21bbb9..0000000 --- a/test/FrontendC++/2008-01-12-VecInit.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -xc++ %s -S -o - -// rdar://5685492 - -typedef int __attribute__((vector_size(16))) v; -v vt = {1, 2, 3, 4}; - diff --git a/test/FrontendC++/2008-05-07-CrazyOffsetOf.cpp b/test/FrontendC++/2008-05-07-CrazyOffsetOf.cpp deleted file mode 100644 index f183197..0000000 --- a/test/FrontendC++/2008-05-07-CrazyOffsetOf.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgxx -S %s -o - -// rdar://5914926 - -struct bork { - struct bork *next_local; - char * query; -}; -int offset = (char *) &(((struct bork *) 0x10)->query) - (char *) 0x10; diff --git a/test/FrontendC++/2008-10-29-WrongOffset.cpp b/test/FrontendC++/2008-10-29-WrongOffset.cpp deleted file mode 100644 index c261c31..0000000 --- a/test/FrontendC++/2008-10-29-WrongOffset.cpp +++ /dev/null @@ -1,489 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null -// PR2917 - -#include <complex> -template < int Dim, class T, class EngineTag > class Engine; -template < class Subject, class Sub1, bool SV > struct View1Implementation; -template < class LayoutTag, class PatchTag > struct MultiPatch; -template < class LayoutTag, class PatchTag, int Dim2 > struct MultiPatchView; -template < class Engine, class SubDomain > struct NewEngine -{ -}; -template < class T > class DomainTraits; -template < class DomT, class T, int Dim > struct DomainTraitsDomain -{ - typedef DomT NewDomain1_t; -}; -template < int Dim > class Interval; -template < int Dim > class Loc; -template < class DT > class DomainBase -{ -}; - -template < int Dim, class DT > class Domain:public DomainBase < DT > -{ -}; -template < int Dim > struct DomainTraits <Interval < Dim > - >:public DomainTraitsDomain < Interval < Dim >, int, Dim > -{ - enum - { - singleValued = false - }; -}; -template < class T1 > struct NewDomain1 -{ - typedef typename DomainTraits < T1 >::NewDomain1_t SliceType_t; -}; -template < class Domain, class Sub > struct TemporaryNewDomain1 -{ - typedef typename NewDomain1 < Sub >::SliceType_t SliceType_t; -}; -template < int Dim > class Interval:public Domain < Dim, - DomainTraits < Interval < Dim > > > -{ -}; -template < int Dim > class GuardLayers -{ -}; -template < class T > class Observer -{ -}; - -template < class T > class Observable -{ -private:T & observed_m; - int count_m; -}; - -class RefCounted -{ -}; -template < class T > class RefCountedPtr -{ -public:typedef RefCountedPtr < T > This_t; - RefCountedPtr (T * const pT):ptr_m (pT) - { - } - inline T *operator-> () const - { - } - T *ptr_m; -}; - -template < class Dom, class T > class DomainMap -{ -}; - -template < class LayoutTag, int Dim > struct MultiPatchLayoutTraits -{ -}; -template < int Dim > class LayoutBaseData -{ -public:typedef Interval < Dim > Domain_t; - Domain_t domain_m; -}; -template < int Dim, class LBD > class LayoutBase -{ -public:typedef LayoutBaseData < Dim > LayoutData_t; - typedef typename LayoutData_t::Domain_t Domain_t; - typedef GuardLayers < Dim > GuardLayers_t; - inline const Domain_t & domain () const - { - return pdata_m->domain_m; - } - inline const Domain_t & innerDomain () const - { - } - inline GuardLayers_t externalGuards () const - { - } - RefCountedPtr < LBD > pdata_m; -}; -template < class Tag > struct Remote; -struct Brick -{ -}; -template < class Thing, class Sub > struct View1 -{ -}; -template < int Dim, class T, class LayoutTag, - class PatchTag > struct NewEngine <Engine < Dim, T, MultiPatch < LayoutTag, - PatchTag > >, Interval < Dim > > -{ - typedef Engine < Dim, T, MultiPatchView < LayoutTag, PatchTag, - Dim > >Type_t; -}; -template < int Dim, class T, class LayoutTag, class PatchTag, - int Dim2 > struct NewEngine <Engine < Dim, T, MultiPatchView < LayoutTag, - PatchTag, Dim2 > >, Interval < Dim > > -{ - typedef Engine < Dim, T, MultiPatchView < LayoutTag, PatchTag, - Dim2 > >Type_t; -}; -template < int Dim, class T, class LayoutTag, - class PatchTag > class Engine < Dim, T, MultiPatch < LayoutTag, - PatchTag > >:public Observer < typename MultiPatchLayoutTraits < LayoutTag, - Dim >::Layout_t > -{ -public:typedef MultiPatch < LayoutTag, PatchTag > Tag_t; - typedef Interval < Dim > Domain_t; -}; -template < int Dim, class T, class LayoutTag, class PatchTag, - int Dim2 > class Engine < Dim, T, MultiPatchView < LayoutTag, PatchTag, - Dim2 > > -{ -public:typedef MultiPatchView < LayoutTag, PatchTag, Dim2 > Tag_t; - typedef Interval < Dim > Domain_t; - typedef T Element_t; - enum - { - dimensions = Dim - }; -}; -class Full; -template < int Dim, class T = double, class EngineTag = Full > class Vector { -}; - -template < int Dim > inline Interval < Dim > -shrinkRight (const Interval < Dim > &dom, int s) -{ -} - -template < int Dim > class GridLayout; -struct GridTag -{ -}; -template < int Dim > struct MultiPatchLayoutTraits <GridTag, Dim > -{ - typedef GridLayout < Dim > Layout_t; -}; -template < int Dim > class GridLayoutData:public LayoutBaseData < Dim >, - public RefCounted, public Observable < GridLayoutData < Dim > > -{ - typedef int AxisIndex_t; - mutable DomainMap < Interval < 1 >, AxisIndex_t > mapAloc_m[Dim]; -}; -template < int Dim > class GridLayout:public LayoutBase < Dim, - GridLayoutData < Dim > >, public Observable < GridLayout < Dim > >, - public Observer < GridLayoutData < Dim > > -{ -public:typedef GridLayout < Dim > This_t; - GridLayout (); -}; -template < class MeshTag, class T, class EngineTag > class Field; -enum CenteringType -{ - VertexType, EdgeType, FaceType, CellType -}; -enum ContinuityType -{ - Continuous = 0, Discontinuous -}; -template < int Dim > class Centering -{ -public:typedef Loc < Dim > Orientation; - inline int size () const - { - } -}; -template < int Dim > const Centering < Dim > -canonicalCentering (const enum CenteringType type, - const enum ContinuityType discontinuous, - const int dimension = 0); -template < class Mesh, class T, class EngineTag > class FieldEngine -{ -public:enum - { - dimensions = Mesh::dimensions - }; - enum - { - Dim = dimensions - }; - typedef Engine < Dim, T, EngineTag > Engine_t; - typedef typename Engine_t::Domain_t Domain_t; - typedef GuardLayers < Dim > GuardLayers_t; -template < class Layout2 > FieldEngine (const Centering < Dim > ¢ering, const Layout2 & layout, const Mesh & mesh, int materials = 1):num_materials_m (materials), centering_m (centering), - stride_m (centering.size ()), physicalCellDomain_m (layout.domain ()), - guards_m (layout.externalGuards ()), mesh_m (mesh) - { - } - unsigned int num_materials_m; - Centering < Dim > centering_m; - int stride_m; - Domain_t physicalCellDomain_m; - GuardLayers_t guards_m; - Mesh mesh_m; -}; - -template < class Subject > class SubFieldView; -template < class Mesh, class T, - class EngineTag > class SubFieldView < Field < Mesh, T, EngineTag > > -{ -public:typedef Field < Mesh, T, EngineTag > Type_t; -}; - -template < int Dim, class Mesh, class Domain > struct NewMeshTag -{ - typedef Mesh Type_t; -}; -template < class Mesh, class T, class EngineTag, - class Domain > struct View1Implementation <Field < Mesh, T, EngineTag >, - Domain, false > -{ - typedef Field < Mesh, T, EngineTag > Subject_t; - typedef typename Subject_t::Engine_t Engine_t; - typedef typename NewEngine < Engine_t, Domain >::Type_t NewEngine_t; - typedef typename NewEngine_t::Element_t NewT_t; - typedef typename NewEngine_t::Tag_t NewEngineTag_t; - typedef typename NewMeshTag < NewEngine_t::dimensions, Mesh, - Domain >::Type_t NewMeshTag_t; - typedef Field < NewMeshTag_t, NewT_t, NewEngineTag_t > Type_t; -}; -template < class Mesh, class T, class EngineTag, - class Sub1 > struct View1 <Field < Mesh, T, EngineTag >, Sub1 > -{ - typedef Field < Mesh, T, EngineTag > Subject_t; - typedef typename Subject_t::Domain_t Domain_t; - typedef TemporaryNewDomain1 < Domain_t, Sub1 > NewDomain_t; - typedef typename NewDomain_t::SliceType_t SDomain_t; - enum - { - sv = DomainTraits < SDomain_t >::singleValued - }; - typedef View1Implementation < Subject_t, SDomain_t, sv > Dispatch_t; - typedef typename Dispatch_t::Type_t Type_t; -}; -template < class Mesh, class T = double, class EngineTag = Brick > class Field { -public:typedef Mesh MeshTag_t; - typedef Mesh Mesh_t; - typedef Field < Mesh, T, EngineTag > This_t; - typedef FieldEngine < Mesh, T, EngineTag > FieldEngine_t; - enum - { - dimensions = FieldEngine_t::dimensions - }; - typedef Engine < dimensions, T, EngineTag > Engine_t; - typedef typename Engine_t::Domain_t Domain_t; - typedef Centering < dimensions > Centering_t; - template < class Layout2 > Field (const Centering_t & centering, - const Layout2 & layout, - const Mesh_t & - mesh):fieldEngine_m (centering, layout, - mesh) - { - } - inline typename SubFieldView < This_t >::Type_t center (int c) const - { - } - inline typename View1 < This_t, Domain_t >::Type_t all () const - { - } - template < class T1 > const This_t & operator= (const T1 & rhs) const - { - } -private: FieldEngine_t fieldEngine_m; -}; - -struct UniformRectilinearTag -{ -}; -struct CartesianTag -{ -}; -template < class MeshTraits > struct CartesianURM; -template < class MeshTraits > class UniformRectilinearMeshData; -template < class MeshTraits > class UniformRectilinearMesh; -template < int Dim, typename T = double, class MeshTag = - UniformRectilinearTag, class CoordinateSystemTag = CartesianTag, int CDim = - Dim > struct MeshTraits; -template < int Dim, typename T, class MeshTag, class CoordinateSystemTag, - int CDim > struct MeshTraitsBase -{ - typedef MeshTraits < Dim, T, MeshTag, CoordinateSystemTag, - CDim > MeshTraits_t; - enum - { - dimensions = Dim - }; - typedef Vector < CDim, T > PointType_t; -}; -template < int Dim, typename T, int CDim > struct MeshTraits <Dim, T, - UniformRectilinearTag, CartesianTag, CDim >:public MeshTraitsBase < Dim, T, - UniformRectilinearTag, CartesianTag, CDim > -{ - typedef typename MeshTraitsBase < Dim, T, UniformRectilinearTag, - CartesianTag, CDim >::MeshTraits_t MeshTraits_t; - typedef CartesianURM < MeshTraits_t > CoordinateSystem_t; - typedef UniformRectilinearMeshData < MeshTraits_t > MeshData_t; - typedef UniformRectilinearMesh < MeshTraits_t > Mesh_t; - typedef Vector < CDim, T > SpacingsType_t; -}; -template < int Dim > class NoMeshData:public RefCounted -{ -public:NoMeshData () - { - } - template < class Layout > - explicit NoMeshData (const Layout & - layout):physicalVertexDomain_m (layout. - innerDomain ()), - physicalCellDomain_m (shrinkRight (physicalVertexDomain_m, 1)), - totalVertexDomain_m (layout.domain ()), - totalCellDomain_m (shrinkRight (totalVertexDomain_m, 1)) - { - } -private:Interval < Dim > physicalVertexDomain_m, physicalCellDomain_m; - Interval < Dim > totalVertexDomain_m, totalCellDomain_m; -}; - -template < class MeshTraits > class UniformRectilinearMeshData:public NoMeshData < - MeshTraits:: - dimensions > -{ -public:typedef typename - MeshTraits::MeshData_t - MeshData_t; - typedef typename - MeshTraits::PointType_t - PointType_t; - typedef typename - MeshTraits::SpacingsType_t - SpacingsType_t; - enum - { - dimensions = MeshTraits::dimensions - }; - template < class Layout > UniformRectilinearMeshData (const Layout & layout, - const PointType_t & - origin, - const SpacingsType_t & - spacings): - NoMeshData < - dimensions > (layout), - origin_m (origin), - spacings_m (spacings) - { - } -private:PointType_t origin_m; - SpacingsType_t - spacings_m; -}; - -template < class MeshTraits > class UniformRectilinearMesh:public MeshTraits:: - CoordinateSystem_t -{ -public:typedef MeshTraits - MeshTraits_t; - typedef typename - MeshTraits::MeshData_t - MeshData_t; - typedef typename - MeshTraits::PointType_t - PointType_t; - typedef typename - MeshTraits::SpacingsType_t - SpacingsType_t; - enum - { - dimensions = MeshTraits::dimensions - }; - template < class Layout > - inline UniformRectilinearMesh (const Layout & layout, - const PointType_t & origin, - const SpacingsType_t & spacings): - data_m (new MeshData_t (layout, origin, spacings)) - { - } -private:RefCountedPtr < MeshData_t > data_m; -}; - -template < class MeshTraits > struct GenericURM -{ -}; -template < class MeshTraits > struct CartesianURM: - public - GenericURM < - MeshTraits > -{ -}; -template < int - dim, - class - MeshTag = UniformRectilinearTag, class CoordinateSystemTag = CartesianTag > struct ParallelTraits { - enum - { - Dim = dim - }; - typedef - GridLayout < - dim > - Layout_t; - typedef - MeshTraits < - dim, double, - MeshTag, - CoordinateSystemTag > - MeshTraits_t; - typedef typename - MeshTraits_t::Mesh_t - Mesh_t; - typedef - MultiPatch < - GridTag, - Remote < - Brick > > - Engine_t; -}; -template < class ComputeTraits > struct RhalkTraits: - public - ComputeTraits -{ - typedef typename - ComputeTraits::Mesh_t - Mesh_t; - typedef typename - ComputeTraits::Engine_t - Engine_t; - enum - { - Dim = ComputeTraits::Dim - }; - typedef - Centering < - Dim > - Centering_t; - typedef typename - Mesh_t::SpacingsType_t - Spacings_t; - typedef - Field < - Mesh_t, double, - Engine_t > - Scalar_t; -}; -enum -{ - Dim = 3 -}; -typedef - RhalkTraits < - ParallelTraits < - Dim, - UniformRectilinearTag, -CartesianTag > > - Traits_t; -Vector < Dim > origin; -Traits_t::Spacings_t spacings; -int -main (int argc, char **argv) -{ - Traits_t::Layout_t layout; - Traits_t::Mesh_t mesh (layout, origin, spacings); - Traits_t::Centering_t face = - canonicalCentering < Traits_t::Dim > (FaceType, Continuous); - Traits_t::Scalar_t v (face, layout, mesh); - for (int i = 0; i < Dim; ++i) - v.center (i).all () = std::numeric_limits < double >::signaling_NaN (); -} diff --git a/test/FrontendC++/2009-02-07-VolatileArrayRefHack.cpp b/test/FrontendC++/2009-02-07-VolatileArrayRefHack.cpp deleted file mode 100644 index b8589b0..0000000 --- a/test/FrontendC++/2009-02-07-VolatileArrayRefHack.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep {volatile load} -// PR3320 - -void test(volatile int *a) { - // should be a volatile load. - a[0]; -} diff --git a/test/FrontendC++/2009-02-16-CtorNames-dbg.cpp b/test/FrontendC++/2009-02-16-CtorNames-dbg.cpp deleted file mode 100644 index eb69963..0000000 --- a/test/FrontendC++/2009-02-16-CtorNames-dbg.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S -g %s -o - | grep "\~A" -class A { - int i; -public: - A() { i = 0; } - ~A() { i = 42; } -}; - -A a; - diff --git a/test/FrontendC++/2009-03-17-dbg.cpp b/test/FrontendC++/2009-03-17-dbg.cpp deleted file mode 100644 index 6708e12..0000000 --- a/test/FrontendC++/2009-03-17-dbg.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null -g -// XTARGET: darwin,linux -// XFAIL: * -template <typename T1,typename T2> -inline void f(const T1&,const T2&) { } - -template <typename T1,typename T2,void F(const T1&,const T2&)> -struct A { - template <typename T> void g(T& i) { } -}; - -int main() { - int i; - A<int,int,f> a; - a.g(i); -} diff --git a/test/FrontendC++/2009-04-21-DtorNames-dbg.cpp b/test/FrontendC++/2009-04-21-DtorNames-dbg.cpp deleted file mode 100644 index da09c0b..0000000 --- a/test/FrontendC++/2009-04-21-DtorNames-dbg.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgcc -S -g %s -o - | llc --disable-cfi -O0 -o %t.s -// RUN: %compile_c %t.s -o %t.o -// PR4025 - -template <typename _Tp> class vector -{ -public: - ~vector () - { - } -}; - -class Foo -{ - ~Foo(); - class FooImpl *impl_; -}; - -namespace { - class Bar; -} - -class FooImpl -{ - vector<Bar*> thing; -}; - -Foo::~Foo() -{ - delete impl_; -} - diff --git a/test/FrontendC++/2009-04-23-bool2.cpp b/test/FrontendC++/2009-04-23-bool2.cpp deleted file mode 100644 index 2c76d98..0000000 --- a/test/FrontendC++/2009-04-23-bool2.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null -// g++.old-deja/g++.jason/bool2.C from gcc testsuite. -// Crashed before 67975 went in. -struct F { - bool b1 : 1; - bool b2 : 7; -}; - -int main() -{ - F f = { true, true }; - - if (int (f.b1) != 1) - return 1; -} diff --git a/test/FrontendC++/2009-05-04-PureConstNounwind.cpp b/test/FrontendC++/2009-05-04-PureConstNounwind.cpp deleted file mode 100644 index e275c34..0000000 --- a/test/FrontendC++/2009-05-04-PureConstNounwind.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep nounwind | count 4 -int c(void) __attribute__((const)); -int p(void) __attribute__((pure)); -int t(void); - -int f(void) { - return c() + p() + t(); -} diff --git a/test/FrontendC++/2009-06-16-DebugInfoCrash.cpp b/test/FrontendC++/2009-06-16-DebugInfoCrash.cpp deleted file mode 100644 index c2a841b..0000000 --- a/test/FrontendC++/2009-06-16-DebugInfoCrash.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null -g -// This crashes if we try to emit debug info for TEMPLATE_DECL members. -template <class T> class K2PtrVectorBase {}; -template <class T> class K2Vector {}; -template <class U > class K2Vector<U*> : public K2PtrVectorBase<U*> {}; -class ScriptInfoManager { - void PostRegister() ; - template <class SI> short ReplaceExistingElement(K2Vector<SI*>& v); -}; -void ScriptInfoManager::PostRegister() {} diff --git a/test/FrontendC++/2009-06-20-DarwinPPCLayout.cpp b/test/FrontendC++/2009-06-20-DarwinPPCLayout.cpp deleted file mode 100644 index e0bc043..0000000 --- a/test/FrontendC++/2009-06-20-DarwinPPCLayout.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgxx -S -m32 %s -o - | grep baz | grep global | grep {struct.bar} -// RUN: %llvmgxx -S -m32 %s -o - | grep ccc | grep global | grep {struct.CC} -// RUN: %llvmgxx -S -m32 %s -o - | grep quux | grep global | grep {struct.bar} -// RUN: %llvmgxx -S -m32 %s -o - | grep foo | grep global | grep {struct.SRCFilter::FilterEntry} -// RUN: %llvmgxx -S -m32 %s -o - | grep {struct.bar} | grep {1 x i32} -// RUN: %llvmgxx -S -m32 %s -o - | grep {struct.CC} | grep {struct.payre<KBFP,float*} | grep {.base.32} | grep {1 x i32} -// RUN: %llvmgxx -S -m32 %s -o - | grep {struct.SRCFilter::FilterEntry} | not grep {1 x i32} -// XFAIL: * -// XTARGET: powerpc-apple-darwin - -template<class _T1, class _T2> struct payre { - _T1 first; - _T2 second; - payre() : first(), second() { } -}; -struct KBFP { - double mCutoffFrequency; -}; -class SRCFilter { - struct FilterEntry: public payre<KBFP, float*>{}; - static FilterEntry foo; -}; -SRCFilter::FilterEntry SRCFilter::foo; // 12 bytes -payre<KBFP, float*> baz; // 16 bytes -class CC { // 16 bytes - public: payre<KBFP, float*> x; -}; -class CC ccc; - -struct bar { KBFP x; float* y;}; // 16 bytes -struct bar quux; - diff --git a/test/FrontendC++/2009-06-30-ByrefBlock.cpp b/test/FrontendC++/2009-06-30-ByrefBlock.cpp deleted file mode 100644 index be9c94f..0000000 --- a/test/FrontendC++/2009-06-30-ByrefBlock.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// Insure __block_holder_tmp is allocated on the stack. Darwin only. -// RUN: %llvmgxx %s -S -O2 -o - | egrep {__block_holder_tmp.*alloca} -// XFAIL: * -// XTARGET: darwin -// <rdar://problem/5865221> -// END. -extern void fubar_dispatch_sync(void (^PP)(void)); -void fubar() { - __block void *voodoo; - fubar_dispatch_sync(^(void){voodoo=0;}); -} diff --git a/test/FrontendC++/2009-07-16-PrivateCopyConstructor.cpp b/test/FrontendC++/2009-07-16-PrivateCopyConstructor.cpp deleted file mode 100644 index 96e85b2..0000000 --- a/test/FrontendC++/2009-07-16-PrivateCopyConstructor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgxx %s -S -// XFAIL: darwin - -#include <set> - -class A { -public: - A(); -private: - A(const A&); -}; -void B() -{ - std::set<void *, A> foo; -} diff --git a/test/FrontendC++/2009-07-16-Using.cpp b/test/FrontendC++/2009-07-16-Using.cpp deleted file mode 100644 index c0e0314..0000000 --- a/test/FrontendC++/2009-07-16-Using.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null - -namespace A { - typedef int B; -} -struct B { -}; -using ::A::B; diff --git a/test/FrontendC++/2009-08-05-ZeroInitWidth.cpp b/test/FrontendC++/2009-08-05-ZeroInitWidth.cpp deleted file mode 100644 index 89a79f2..0000000 --- a/test/FrontendC++/2009-08-05-ZeroInitWidth.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgxx -S %s -o - -// rdar://7114564 -struct A { - unsigned long long : (sizeof(unsigned long long) * 8) - 16; -}; -struct B { - A a; -}; -struct B b = { - {} -}; - diff --git a/test/FrontendC++/2009-08-11-VectorRetTy.cpp b/test/FrontendC++/2009-08-11-VectorRetTy.cpp deleted file mode 100644 index 403b59d..0000000 --- a/test/FrontendC++/2009-08-11-VectorRetTy.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgxx %s -S -o /dev/null -// <rdar://problem/7096460> -typedef void (*Func) (); -typedef long long m64 __attribute__((__vector_size__(8), __may_alias__)); -static inline m64 __attribute__((__always_inline__, __nodebug__)) _mm_set1_pi16() {} -template <class MM> -static void Bork() { - const m64 mmx_0x00ff = _mm_set1_pi16(); -} -struct A {}; -Func arr[] = { - Bork<A> -}; diff --git a/test/FrontendC++/2009-09-04-modify-crash.cpp b/test/FrontendC++/2009-09-04-modify-crash.cpp deleted file mode 100644 index 89274e0..0000000 --- a/test/FrontendC++/2009-09-04-modify-crash.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgxx %s -fapple-kext -S -o - -// The extra check in 71555 caused this to crash on Darwin X86 -// in an assert build. -class foo { - virtual ~foo (); -}; -foo::~foo(){} diff --git a/test/FrontendC++/2009-09-09-packed-layout.cpp b/test/FrontendC++/2009-09-09-packed-layout.cpp deleted file mode 100644 index 921aad7..0000000 --- a/test/FrontendC++/2009-09-09-packed-layout.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgxx -S -m32 %s -o /dev/null -class X { - public: - virtual ~X(); - short y; -}; -#pragma pack(push, 1) -class Z : public X { - public: enum { foo = ('x') }; - virtual int y() const; -}; -#pragma pack(pop) -class Y : public X { -public: enum { foo = ('y'), bar = 0 }; -}; -X x; -Y y; -Z z; diff --git a/test/FrontendC++/2009-10-27-crash.cpp b/test/FrontendC++/2009-10-27-crash.cpp deleted file mode 100644 index da73988..0000000 --- a/test/FrontendC++/2009-10-27-crash.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// RUN: %llvmgxx -S %s -o /dev/null -// Radar 7328944 - -typedef struct -{ - unsigned short a : 1; - unsigned short b : 2; - unsigned short c : 1; - unsigned short d : 1; - unsigned short e : 1; - unsigned short f : 1; - unsigned short g : 2; - unsigned short : 7; - union - { - struct - { - unsigned char h : 1; - unsigned char i : 1; - unsigned char j : 1; - unsigned char : 5; - }; - struct - { - unsigned char k : 3; - unsigned char : 5; - }; - }; - unsigned char : 8; -} tt; - -typedef struct -{ - unsigned char s; - tt t; - unsigned int u; -} ttt; - -ttt X = { - 4, - { 0 }, - 55, -}; diff --git a/test/FrontendC++/2009-12-23-MissingSext.cpp b/test/FrontendC++/2009-12-23-MissingSext.cpp deleted file mode 100644 index ee97881..0000000 --- a/test/FrontendC++/2009-12-23-MissingSext.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | FileCheck %s -// The store of p.y into the temporary was not -// getting extended to 32 bits, so uninitialized -// bits of the temporary were used. 7366161. -struct foo { - char x:8; - signed int y:24; -}; -int bar(struct foo p, int x) { -// CHECK: bar -// CHECK: sext -// CHECK: sext - x = (p.y > x ? x : p.y); - return x; -// CHECK: return -} diff --git a/test/FrontendC++/2010-02-17-DbgArtificialArg.cpp b/test/FrontendC++/2010-02-17-DbgArtificialArg.cpp deleted file mode 100644 index ff45412..0000000 --- a/test/FrontendC++/2010-02-17-DbgArtificialArg.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -g -S %s -o - | FileCheck %s -// Here, second to last argument "i32 64" indicates that artificial type is set. -// Test to artificial attribute attahed to "this" pointer type. -// Radar 7655792 and 7655002 - -class A { -public: - int fn1(int i) const { return i + 2; }; -}; - -int foo() { - A a; - // Matching "i32 64, metadata !<number>} ; [ DW_TAG_pointer_type ]" - // CHECK: i32 64, metadata {{![0-9]+\} ; \[ DW_TAG_pointer_type \]}} - return a.fn1(1); -} diff --git a/test/FrontendC++/2010-03-22-empty-baseclass.cpp b/test/FrontendC++/2010-03-22-empty-baseclass.cpp deleted file mode 100644 index bb741c4..0000000 --- a/test/FrontendC++/2010-03-22-empty-baseclass.cpp +++ /dev/null @@ -1,134 +0,0 @@ -// RUN: %llvmgxx -S %s -o - -O2 | FileCheck %s -namespace boost { - namespace detail { - template <typename T> struct cv_traits_imp {}; - template <typename T> struct cv_traits_imp<T*> {typedef T unqualified_type;}; - } -} -namespace mpl_ {} -namespace boost { - namespace mpl {using namespace mpl_;} - template< typename T > struct remove_cv {typedef typename boost::detail::cv_traits_imp<T*>::unqualified_type type;}; - namespace type_traits { - typedef char yes_type; - struct no_type {char padding[8];}; - } -} -namespace mpl_ { - template< bool C_ > struct bool_; - typedef bool_<true> true_; - typedef bool_<false> false_; - template< bool C_ > struct bool_ {static const bool value = C_;}; - template< typename T, T N > struct integral_c; -} -namespace boost{ - template <class T, T val> struct integral_constant : - public mpl::integral_c<T, val> {}; - template<> struct integral_constant<bool,true> : public mpl::true_ {}; - template<> struct integral_constant<bool,false> : public mpl::false_ {}; - namespace type_traits { - template <bool b1, bool b2, bool b3 = false, bool b4 = false, - bool b5 = false, bool b6 = false, bool b7 = false> struct ice_or; - template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7> - struct ice_or {static const bool value = true; }; - template <> struct ice_or<false, false, false, false, false, false, false> - {static const bool value = false;}; - template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, - bool b6 = true, bool b7 = true> struct ice_and; - template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7> - struct ice_and {static const bool value = false;}; - template <> struct ice_and<true, true, true, true, true, true, true> - {static const bool value = true;}; - template <bool b> struct ice_not {static const bool value = true;}; - }; - namespace detail { - template <typename T> struct is_union_impl {static const bool value = false;}; - } - template< typename T > struct is_union : - ::boost::integral_constant<bool, ::boost::detail::is_union_impl<T>::value> {}; - namespace detail { - template <class U> ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); - template <class U> ::boost::type_traits::no_type is_class_tester(...); - template <typename T> struct is_class_impl { - static const bool value = (::boost::type_traits::ice_and< sizeof(is_class_tester<T>(0)) - == sizeof(::boost::type_traits::yes_type), - ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value >::value);}; -} - template<typename T> struct is_class: - ::boost::integral_constant<bool,::boost::detail::is_class_impl<T>::value> { }; -namespace detail { - template <typename T> struct empty_helper_t1: public T {int i[256];}; - struct empty_helper_t2 {int i[256];}; - template <typename T, bool is_a_class = false> struct empty_helper - {static const bool value = false;}; - template <typename T> struct empty_helper<T, true> - {static const bool value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2));}; - template <typename T> struct is_empty_impl { - typedef typename remove_cv<T>::type cvt; - static const bool value = (::boost::type_traits::ice_or< ::boost::detail::empty_helper - <cvt,::boost::is_class<T>::value>::value, false>::value); - }; -} -template<typename T> struct is_empty: -::boost::integral_constant<bool,::boost::detail::is_empty_impl<T>::value> {}; -template<typename T, typename U > struct is_same: -::boost::integral_constant<bool,false> {}; -template<typename T> struct call_traits {typedef T& reference;}; -namespace details { - template <class T1, class T2, bool IsSame, bool FirstEmpty, bool SecondEmpty> - struct compressed_pair_switch; - template <class T1, class T2> - struct compressed_pair_switch<T1, T2, false, true, false> - {static const int value = 1;}; - template <class T1, class T2, int Version> class compressed_pair_imp; - template <class T1, class T2> class compressed_pair_imp<T1, T2, 1>: - protected ::boost::remove_cv<T1>::type { - public: - typedef T1 first_type; - typedef T2 second_type; - typedef typename call_traits<first_type>::reference first_reference; - typedef typename call_traits<second_type>::reference second_reference; - first_reference first() {return *this;} - second_reference second() {return second_;} - second_type second_; - }; -} -template <class T1, class T2> class compressed_pair: - private ::boost::details::compressed_pair_imp<T1, T2, ::boost::details::compressed_pair_switch< - T1, T2, ::boost::is_same<typename remove_cv<T1>::type, - typename remove_cv<T2>::type>::value, - ::boost::is_empty<T1>::value, ::boost::is_empty<T2>::value>::value> - { - private: - typedef details::compressed_pair_imp<T1, T2, ::boost::details::compressed_pair_switch< - T1, T2, ::boost::is_same<typename remove_cv<T1>::type, - typename remove_cv<T2>::type>::value, - ::boost::is_empty<T1>::value, ::boost::is_empty<T2>::value>::value> base; - public: - typedef T1 first_type; - typedef T2 second_type; - typedef typename call_traits<first_type>::reference first_reference; - typedef typename call_traits<second_type>::reference second_reference; - first_reference first() {return base::first();} - second_reference second() {return base::second();} - }; -} -struct empty_base_t {}; -struct empty_t : empty_base_t {}; -typedef boost::compressed_pair<empty_t, int> data_t; -extern "C" {int printf(const char * , ...);} -extern "C" {void abort(void);} -int main (int argc, char * const argv[]) { - data_t x; - x.second() = -3; - // This store should be elided: - x.first() = empty_t(); - // If x.second() has been clobbered by the elided store, fail. - if (x.second() != -3) { - printf("x.second() was clobbered\n"); - // CHECK-NOT: x.second() was clobbered - abort(); - } - return 0; -} -// CHECK: ret i32 diff --git a/test/FrontendC++/2010-04-30-OptimizedMethod-Dbg.cpp b/test/FrontendC++/2010-04-30-OptimizedMethod-Dbg.cpp deleted file mode 100644 index 761c0dc..0000000 --- a/test/FrontendC++/2010-04-30-OptimizedMethod-Dbg.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -g -S -O2 %s -o - | FileCheck %s - -class foo { -public: - int bar(int x); - static int baz(int x); -}; - -int foo::bar(int x) { - // CHECK: {{i32 [0-9]+, i1 true(, i[0-9]+ [^\}]+[}]|[}]) ; \[ DW_TAG_subprogram \]}} - return x*4 + 1; -} - -int foo::baz(int x) { - // CHECK: {{i32 [0-9]+, i1 true(, i[0-9]+ [^\},]+[}]|[}]) ; \[ DW_TAG_subprogram \]}} - return x*4 + 1; -} - diff --git a/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp b/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp deleted file mode 100644 index e6165c0..0000000 --- a/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// RUN: %llvmgcc -S -O0 -g %s -o /dev/null -// PR 7104 - -struct A { - int Ai; -}; - -struct B : public A {}; -struct C : public B {}; - -const char * f(int C::*){ return ""; } -int f(int B::*) { return 1; } - -struct D : public C {}; - -const char * g(int B::*){ return ""; } -int g(int D::*) { return 1; } - -void test() -{ - int i = f(&A::Ai); - - const char * str = g(&A::Ai); -} - -// conversion of B::* to C::* is better than conversion of A::* to C::* -typedef void (A::*pmfa)(); -typedef void (B::*pmfb)(); -typedef void (C::*pmfc)(); - -struct X { - operator pmfa(); - operator pmfb(); -}; - - -void g(pmfc); - -void test2(X x) -{ - g(x); -} - diff --git a/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp b/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp deleted file mode 100644 index 9203dbd..0000000 --- a/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// RUN: %llvmgxx -xc++ %s -S -o - | not grep ZN12basic_stringIcEC1Ev -// RUN: %llvmgxx -xc++ %s -S -o - | grep ZN12basic_stringIcED1Ev | count 2 - -template<class charT> -class basic_string -{ -public: - basic_string(); - ~basic_string(); -}; - -template <class charT> -__attribute__ ((__visibility__("hidden"), __always_inline__)) inline -basic_string<charT>::basic_string() -{ -} - -template <class charT> -inline -basic_string<charT>::~basic_string() -{ -} - -typedef basic_string<char> string; - -extern template class basic_string<char>; - -int main() -{ - string s; -} diff --git a/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp b/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp deleted file mode 100644 index c2d6abe..0000000 --- a/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp +++ /dev/null @@ -1,17 +0,0 @@ -//RUN: %llvmgxx -O0 -S -g -o - %s | grep DW_TAG_auto_variable -class Foo -{ - public: - int x; - int y; - Foo (int i, int j) { x = i; y = j; } -}; - - -Foo foo(10, 11); - -int main() { - int Foo::* pmi = &Foo::y; - return foo.*pmi; -} - diff --git a/test/FrontendC++/2010-06-21-LocalVarDbg.cpp b/test/FrontendC++/2010-06-21-LocalVarDbg.cpp deleted file mode 100644 index 48d8215..0000000 --- a/test/FrontendC++/2010-06-21-LocalVarDbg.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgxx -g -Os -S %s -o - | llvm-as -disable-output -// Do not use function name to create named metadata used to hold -// local variable info. For example. llvm.dbg.lv.~A is an invalid name. -class A { -public: - ~A() { int i = 0; i++; } -}; - -int foo(int i) { - A a; - return 0; -} - diff --git a/test/FrontendC++/2010-06-22-BitfieldInit.cpp b/test/FrontendC++/2010-06-22-BitfieldInit.cpp deleted file mode 100644 index 8dceb78..0000000 --- a/test/FrontendC++/2010-06-22-BitfieldInit.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// RUN: %llvmgxx -g -S %s -struct TEST2 -{ - int subid:32; - int :0; -}; - -typedef struct _TEST3 -{ - TEST2 foo; - TEST2 foo2; -} TEST3; - -TEST3 test = - { - {0}, - {0} - }; - -int main() { return 0; } diff --git a/test/FrontendC++/2010-06-22-ZeroBitfield.cpp b/test/FrontendC++/2010-06-22-ZeroBitfield.cpp deleted file mode 100644 index 9c4f262..0000000 --- a/test/FrontendC++/2010-06-22-ZeroBitfield.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgxx -g -S %s -struct s8_0 { unsigned : 0; }; -struct s8_1 { double x; }; -struct s8 { s8_0 a; s8_1 b; }; -s8 f8() { return s8(); } diff --git a/test/FrontendC++/2010-07-19-nowarn.cpp b/test/FrontendC++/2010-07-19-nowarn.cpp deleted file mode 100644 index a61a84f..0000000 --- a/test/FrontendC++/2010-07-19-nowarn.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgcc %s -S -m32 -fasm-blocks -o /dev/null -// This should not warn about unreferenced label. 8195660. -// XFAIL: * -// XTARGET: x86,i386,i686 - -void quarterAsm(int array[], int len) -{ - __asm - { - mov esi, array; - mov ecx, len; - shr ecx, 2; -loop: - movdqa xmm0, [esi]; - psrad xmm0, 2; - movdqa [esi], xmm0; - add esi, 16; - sub ecx, 1; - jnz loop; - } -} diff --git a/test/FrontendC++/2010-07-23-DeclLoc.cpp b/test/FrontendC++/2010-07-23-DeclLoc.cpp deleted file mode 100644 index 9bf432b..0000000 --- a/test/FrontendC++/2010-07-23-DeclLoc.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// RUN: %llvmgxx -S -g %s -o - | FileCheck %s -// Require the template function declaration refer to the correct filename. -// First, locate the function decl in metadata, and pluck out the file handle: -// CHECK: {{extract_dwarf_data_from_header.*extract_dwarf_data_from_header.*extract_dwarf_data_from_header.*[^ ]+", metadata !}}[[filehandle:[0-9]+]], -// Second: Require that filehandle refer to the correct filename: -// CHECK: {{^!}}[[filehandle]] = metadata {{![{].*}} metadata !"decl_should_be_here.hpp", -typedef long unsigned int __darwin_size_t; -typedef __darwin_size_t size_t; -typedef unsigned char uint8_t; -typedef unsigned int uint32_t; -typedef unsigned long long uint64_t; -namespace std { - template<typename _Tp> class auto_ptr { - _Tp* _M_ptr; - public: - typedef _Tp element_type; - auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } - element_type& operator*() const throw() { } - }; -} -class Pointer32 { -public: - typedef uint32_t ptr_t; - typedef uint32_t size_t; -}; -class Pointer64 { -public: - typedef uint64_t ptr_t; - typedef uint64_t size_t; -}; -class BigEndian {}; -class LittleEndian {}; -template <typename _SIZE, typename _ENDIANNESS> class SizeAndEndianness { -public: - typedef _SIZE SIZE; -}; -typedef SizeAndEndianness<Pointer32, LittleEndian> ISA32Little; -typedef SizeAndEndianness<Pointer32, BigEndian> ISA32Big; -typedef SizeAndEndianness<Pointer64, LittleEndian> ISA64Little; -typedef SizeAndEndianness<Pointer64, BigEndian> ISA64Big; -template <typename SIZE> class TRange { -protected: - typename SIZE::ptr_t _location; - typename SIZE::size_t _length; - TRange(typename SIZE::ptr_t location, typename SIZE::size_t length) : _location(location), _length(length) { } -}; -template <typename SIZE, typename T> class TRangeValue : public TRange<SIZE> { - T _value; -public: - TRangeValue(typename SIZE::ptr_t location, typename SIZE::size_t length, T value) : TRange<SIZE>(location, length), _value(value) {}; -}; -template <typename SIZE> class TAddressRelocator {}; -class CSCppSymbolOwner{}; -class CSCppSymbolOwnerData{}; -template <typename SIZE> class TRawSymbolOwnerData -{ - TRangeValue< SIZE, uint8_t* > _TEXT_text_section; - const char* _dsym_path; - uint32_t _dylib_current_version; - uint32_t _dylib_compatibility_version; -public: - TRawSymbolOwnerData() : - _TEXT_text_section(0, 0, __null), _dsym_path(__null), _dylib_current_version(0), _dylib_compatibility_version(0) {} -}; -template <typename SIZE_AND_ENDIANNESS> class TExtendedMachOHeader {}; -# 16 "decl_should_be_here.hpp" -template <typename SIZE_AND_ENDIANNESS> void extract_dwarf_data_from_header(TExtendedMachOHeader<SIZE_AND_ENDIANNESS>& header, - TRawSymbolOwnerData<typename SIZE_AND_ENDIANNESS::SIZE>& symbol_owner_data, - TAddressRelocator<typename SIZE_AND_ENDIANNESS::SIZE>* address_relocator) {} -struct CSCppSymbolOwnerHashFunctor { - size_t operator()(const CSCppSymbolOwner& symbol_owner) const { -# 97 "wrong_place_for_decl.cpp" - } -}; -template <typename SIZE_AND_ENDIANNESS> CSCppSymbolOwnerData* create_symbol_owner_data_arch_specific(CSCppSymbolOwner* symbol_owner, const char* dsym_path) { - typedef typename SIZE_AND_ENDIANNESS::SIZE SIZE; - std::auto_ptr< TRawSymbolOwnerData<SIZE> > data(new TRawSymbolOwnerData<SIZE>()); - std::auto_ptr< TExtendedMachOHeader<SIZE_AND_ENDIANNESS> > header; - extract_dwarf_data_from_header(*header, *data, (TAddressRelocator<typename SIZE_AND_ENDIANNESS::SIZE>*)__null); -} -CSCppSymbolOwnerData* create_symbol_owner_data2(CSCppSymbolOwner* symbol_owner, const char* dsym_path) { - create_symbol_owner_data_arch_specific< ISA32Little >(symbol_owner, dsym_path); - create_symbol_owner_data_arch_specific< ISA32Big >(symbol_owner, dsym_path); - create_symbol_owner_data_arch_specific< ISA64Little >(symbol_owner, dsym_path); - create_symbol_owner_data_arch_specific< ISA64Big >(symbol_owner, dsym_path); -} diff --git a/test/FrontendC++/2010-08-31-ByValArg.cpp b/test/FrontendC++/2010-08-31-ByValArg.cpp deleted file mode 100644 index 4ccaabd..0000000 --- a/test/FrontendC++/2010-08-31-ByValArg.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// This regression test checks byval arguments' debug info. -// Radar 8367011 -// RUN: %llvmgcc -S -O0 -g %s -o - | \ -// RUN: llc --disable-cfi --disable-fp-elim -o %t.s -O0 -relocation-model=pic -// RUN: %compile_c %t.s -o %t.o -// RUN: %link %t.o -o %t.exe -// RUN: echo {break get\nrun\np missing_arg.b} > %t.in -// RUN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | \ -// RUN: grep {1 = 4242} - -// XTARGET: x86_64-apple-darwin - -class EVT { -public: - int a; - int b; - int c; -}; - -class VAL { -public: - int x; - int y; -}; -void foo(EVT e); -EVT bar(); - -void get(int *i, unsigned dl, VAL v, VAL *p, unsigned n, EVT missing_arg) { -//CHECK: .ascii "missing_arg" - EVT e = bar(); - if (dl == n) - foo(missing_arg); -} - - -EVT bar() { - EVT e; - return e; -} - -void foo(EVT e) {} - -int main(){ - VAL v; - EVT ma; - ma.a = 1; - ma.b = 4242; - ma.c = 3; - int i = 42; - get (&i, 1, v, &v, 2, ma); - return 0; -} - diff --git a/test/FrontendC++/alignstack.cpp b/test/FrontendC++/alignstack.cpp deleted file mode 100644 index 4f993d6..0000000 --- a/test/FrontendC++/alignstack.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgxx %s -fasm-blocks -S -o - | FileCheck %s -// Complicated expression as jump target -// XFAIL: * -// XTARGET: x86,i386,i686,darwin - -void Method3() -{ -// CHECK: Method3 -// CHECK-NOT: alignstack - asm("foo:"); -// CHECK: return -} - -void Method4() -{ -// CHECK: Method4 -// CHECK: alignstack - asm { - bar: - } -// CHECK: return -} - diff --git a/test/FrontendC++/dg.exp b/test/FrontendC++/dg.exp deleted file mode 100644 index fc852e3..0000000 --- a/test/FrontendC++/dg.exp +++ /dev/null @@ -1,5 +0,0 @@ -load_lib llvm.exp - -if [ llvm_gcc_supports c++ ] then { - RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp}]] -} diff --git a/test/FrontendC++/integration-O2.cpp b/test/FrontendC++/integration-O2.cpp deleted file mode 100644 index bb65ac2..0000000 --- a/test/FrontendC++/integration-O2.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgxx %s -O2 -S -o - | FileCheck %s - -// This test verifies that we get expected codegen out of the -O2 optimization -// level from the full optimizer. - - - -// Verify that ipsccp is running and can eliminate globals. -static int test1g = 42; -void test1f1() { - if (test1g == 0) test1g = 0; -} -int test1f2() { - return test1g; -} - -// CHECK: @_Z7test1f2v() -// CHECK: entry: -// CHECK-NEXT: ret i32 42 diff --git a/test/FrontendC++/m64-ptr.cpp b/test/FrontendC++/m64-ptr.cpp deleted file mode 100644 index f91e2f4..0000000 --- a/test/FrontendC++/m64-ptr.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | FileCheck %s -// XFAIL: powerpc-apple-darwin - -// Make sure pointers are passed as pointers, not converted to int. -// The first load should be of type i8** in either 32 or 64 bit mode. -// This formerly happened on x86-64, 7375899. - -class StringRef { -public: - const char *Data; - long Len; -}; -void foo(StringRef X); -void bar(StringRef &A) { -// CHECK: @_Z3barR9StringRef -// CHECK: load i8** - foo(A); -// CHECK: ret void -} diff --git a/test/FrontendC++/member-alignment.cpp b/test/FrontendC++/member-alignment.cpp deleted file mode 100644 index c5b20b2..0000000 --- a/test/FrontendC++/member-alignment.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | FileCheck %s -// XFAIL: arm,powerpc - -// rdar://7268289 - -class t { -public: - virtual void foo(void); - void bar(void); -}; - -void -t::bar(void) { -// CHECK: _ZN1t3barEv{{.*}} align 2 -} - -void -t::foo(void) { -// CHECK: _ZN1t3fooEv{{.*}} align 2 -} diff --git a/test/FrontendC++/ptr-to-method-devirt.cpp b/test/FrontendC++/ptr-to-method-devirt.cpp deleted file mode 100644 index a5ca5c7..0000000 --- a/test/FrontendC++/ptr-to-method-devirt.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// PR1602 -// RUN: %llvmgxx -S %s -o - -O3 | not grep ptrtoint -// RUN: %llvmgxx -S %s -o - -O3 | grep getelementptr | count 1 - - -struct S { virtual void f(); }; - -typedef void (S::*P)(void); - -const P p = &S::f; - -void g(S s) { - (s.*p)(); - } diff --git a/test/FrontendC++/thunk-linkonce-odr.cpp b/test/FrontendC++/thunk-linkonce-odr.cpp deleted file mode 100644 index ad72e64..0000000 --- a/test/FrontendC++/thunk-linkonce-odr.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// RUN: %llvmgxx %s -S -o - | FileCheck %s -// <rdar://problem/7929157> & <rdar://problem/8104369> - -struct A { - virtual int f() { return 1; } -}; - -struct B { - virtual int f() { return 2; } -}; - -struct C : A, B { - virtual int f() { return 3; } -}; - -struct D : C { - virtual int f() { return 4; } -}; - -static int f(D* d) { - B* b = d; - return b->f(); -}; - -int g() { - D d; - return f(&d); -} - -// Thunks should be marked as "linkonce ODR" not "weak". -// -// CHECK: define linkonce_odr i32 @_ZThn{{[48]}}_N1C1fEv -// CHECK: define linkonce_odr i32 @_ZThn{{[48]}}_N1D1fEv diff --git a/test/FrontendC++/varargs.cpp b/test/FrontendC++/varargs.cpp deleted file mode 100644 index c4de76a..0000000 --- a/test/FrontendC++/varargs.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | FileCheck %s -// rdar://7309675 -// PR4678 - -// test1 should be compmiled to be a varargs function in the IR even -// though there is no way to do a va_begin. Otherwise, the optimizer -// will warn about 'dropped arguments' at the call site. - -// CHECK: define i32 @_Z5test1z(...) -int test1(...) { - return -1; -} - -// CHECK: call i32 (...)* @_Z5test1z(i32 0) -void test() { - test1(0); -} - - diff --git a/test/FrontendC++/weak-external.cpp b/test/FrontendC++/weak-external.cpp deleted file mode 100644 index f4f0ba1..0000000 --- a/test/FrontendC++/weak-external.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgxx %s -S -O2 -o - | not grep {_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag} -// PR4262 - -// The "basic_string" extern template instantiation declaration is supposed to -// suppress the implicit instantiation of non-inline member functions. Make sure -// that we suppress the implicit instantiation of non-inline member functions -// defined out-of-line. That we aren't instantiating the basic_string -// constructor when we shouldn't be. Such an instantiation forces the implicit -// instantiation of _S_construct<const char*>. Since _S_construct is a member -// template, it's instantiation is *not* suppressed (despite being in -// basic_string<char>), so we would emit it as a weak definition. - -#include <stdexcept> - -void dummysymbol() { - throw(std::runtime_error("string")); -} diff --git a/test/FrontendC++/x86-64-abi-sret-vs-2word-struct-param.cpp b/test/FrontendC++/x86-64-abi-sret-vs-2word-struct-param.cpp deleted file mode 100644 index f81854e..0000000 --- a/test/FrontendC++/x86-64-abi-sret-vs-2word-struct-param.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %llvmgxx -S %s -o - | grep byval | count 2 -// XTARGET: x86 -// PR4242 -// (PR 4242 bug is on 64-bit only, test passes on x86-32 as well) - -struct S { - void* data[3]; -}; - -struct T { - void* data[2]; -}; - -extern "C" S fail(int, int, int, int, T t, void* p) { - S s; - s.data[0] = t.data[0]; - s.data[1] = t.data[1]; - s.data[2] = p; - return s; -} - -extern "C" S* succeed(S* sret, int, int, int, int, T t, void* p) { - sret->data[0] = t.data[0]; - sret->data[1] = t.data[1]; - sret->data[2] = p; - return sret; -} |