diff options
author | Eric Christopher <echristo@apple.com> | 2011-07-26 23:49:39 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-07-26 23:49:39 +0000 |
commit | e927dc654f4d9529bd13783680636cb0db0eb852 (patch) | |
tree | 3cabfda420d2a0dc0abe391ac0f3700b3ef5451e /test | |
parent | 00005782fa860f4b48b3b5261d92541c61ee2495 (diff) |
Remove test/FrontendC, almost all of the tests have been migrated
to clang now, the rest are in process (6) or have been deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136191 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
362 files changed, 0 insertions, 5534 deletions
diff --git a/test/FrontendC/2002-01-23-LoadQISIReloadFailure.c b/test/FrontendC/2002-01-23-LoadQISIReloadFailure.c deleted file mode 100644 index 1779a99942..0000000000 --- a/test/FrontendC/2002-01-23-LoadQISIReloadFailure.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* Regression test. Just compile .c -> .ll to test */ -int foo(void) { - unsigned char *pp; - unsigned w_cnt; - - w_cnt += *pp; - - return w_cnt; -} diff --git a/test/FrontendC/2002-01-24-ComplexSpaceInType.c b/test/FrontendC/2002-01-24-ComplexSpaceInType.c deleted file mode 100644 index 13d92c7306..0000000000 --- a/test/FrontendC/2002-01-24-ComplexSpaceInType.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -// This caused generation of the following type name: -// %Array = uninitialized global [10 x %complex int] -// -// which caused problems because of the space int the complex int type -// - -struct { int X, Y; } Array[10]; - -void foo() {} diff --git a/test/FrontendC/2002-01-24-HandleCallInsnSEGV.c b/test/FrontendC/2002-01-24-HandleCallInsnSEGV.c deleted file mode 100644 index e619cf4699..0000000000 --- a/test/FrontendC/2002-01-24-HandleCallInsnSEGV.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void *dlclose(void*); - -void ap_os_dso_unload(void *handle) -{ - dlclose(handle); - return; /* This return triggers the bug: Weird */ -} diff --git a/test/FrontendC/2002-02-13-ConditionalInCall.c b/test/FrontendC/2002-02-13-ConditionalInCall.c deleted file mode 100644 index f361088c1c..0000000000 --- a/test/FrontendC/2002-02-13-ConditionalInCall.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* Test problem where bad code was generated with a ?: statement was - in a function call argument */ - -void foo(int, double, float); - -void bar(int x) { - foo(x, x ? 1.0 : 12.5, 1.0f); -} - diff --git a/test/FrontendC/2002-02-13-ReloadProblem.c b/test/FrontendC/2002-02-13-ReloadProblem.c deleted file mode 100644 index 2ae97b7227..0000000000 --- a/test/FrontendC/2002-02-13-ReloadProblem.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* This triggered a problem in reload, fixed by disabling most of the - * steps of compilation in GCC. Before this change, the code went through - * the entire backend of GCC, even though it was unnecessary for LLVM output - * now it is skipped entirely, and since reload doesn't run, it can't cause - * a problem. - */ - -extern int tolower(int); - -const char *rangematch(const char *pattern, int test, int c) { - - if ((c <= test) | (tolower(c) <= tolower((unsigned char)test))) - return 0; - - return pattern; -} diff --git a/test/FrontendC/2002-02-13-TypeVarNameCollision.c b/test/FrontendC/2002-02-13-TypeVarNameCollision.c deleted file mode 100644 index 2dede68a38..0000000000 --- a/test/FrontendC/2002-02-13-TypeVarNameCollision.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* This testcase causes a symbol table collision. Type names and variable - * names should be in distinct namespaces - */ - -typedef struct foo { - int X, Y; -} FOO; - -static FOO foo[100]; - -int test() { - return foo[4].Y; -} - diff --git a/test/FrontendC/2002-02-13-UnnamedLocal.c b/test/FrontendC/2002-02-13-UnnamedLocal.c deleted file mode 100644 index 85aa615205..0000000000 --- a/test/FrontendC/2002-02-13-UnnamedLocal.c +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* Testcase for a problem where GCC allocated xqic to a register, - * and did not have a VAR_DECL that explained the stack slot to LLVM. - * Now the LLVM code synthesizes a stack slot if one is presented that - * has not been previously recognized. This is where alloca's named - * 'local' come from now. - */ - -typedef struct { - short x; -} foostruct; - -int foo(foostruct ic); - -void test() { - foostruct xqic; - foo(xqic); -} - - diff --git a/test/FrontendC/2002-02-14-EntryNodePreds.c b/test/FrontendC/2002-02-14-EntryNodePreds.c deleted file mode 100644 index 851af91217..0000000000 --- a/test/FrontendC/2002-02-14-EntryNodePreds.c +++ /dev/null @@ -1,37 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC Used to generate code that contained a branch to the entry node of - * the do_merge function. This is illegal LLVM code. To fix this, GCC now - * inserts an entry node regardless of whether or not it has to insert allocas. - */ - -struct edge_rec -{ - struct VERTEX *v; - struct edge_rec *next; - int wasseen; - int more_data; -}; - -typedef struct edge_rec *QUAD_EDGE; - -typedef struct { - QUAD_EDGE left, right; -} EDGE_PAIR; - -struct EDGE_STACK { - int ptr; - QUAD_EDGE *elts; - int stack_size; -}; - -int do_merge(QUAD_EDGE ldo, QUAD_EDGE rdo) { - int lvalid; - QUAD_EDGE basel,rcand; - while (1) { - if (!lvalid) { - return (int)basel->next; - } - } -} - diff --git a/test/FrontendC/2002-02-16-RenamingTest.c b/test/FrontendC/2002-02-16-RenamingTest.c deleted file mode 100644 index 6042b67dc0..0000000000 --- a/test/FrontendC/2002-02-16-RenamingTest.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* test that locals are renamed with . notation */ - -void abc(void *); - -void Test5(double X) { - abc(&X); - { - int X; - abc(&X); - { - float X; - abc(&X); - } - } -} - diff --git a/test/FrontendC/2002-02-17-ArgumentAddress.c b/test/FrontendC/2002-02-17-ArgumentAddress.c deleted file mode 100644 index acd7e37a75..0000000000 --- a/test/FrontendC/2002-02-17-ArgumentAddress.c +++ /dev/null @@ -1,39 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int test(int X) { - return X; -} - -void abc(int *X); -int def(int Y, int Z) { - abc(&Z); - return Y; -} - -struct Test { short X, x; int Y, Z; }; - -int Testing(struct Test *A) { - return A->X+A->Y; -} - -int Test2(int X, struct Test A, int Y) { - return X+Y+A.X+A.Y; -} -int Test3(struct Test A, struct Test B) { - return A.X+A.Y+B.Y+B.Z; -} - -struct Test Test4(struct Test A) { - return A; -} - -int Test6() { - int B[200]; - return B[4]; -} - -struct STest2 { int X; short Y[4]; double Z; }; - -struct STest2 Test7(struct STest2 X) { - return X; -} diff --git a/test/FrontendC/2002-02-18-64bitConstant.c b/test/FrontendC/2002-02-18-64bitConstant.c deleted file mode 100644 index a88587a960..0000000000 --- a/test/FrontendC/2002-02-18-64bitConstant.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC wasn't handling 64 bit constants right fixed */ - -#include <stdio.h> - -int main() { - long long Var = 123455678902ll; - printf("%lld\n", Var); -} diff --git a/test/FrontendC/2002-02-18-StaticData.c b/test/FrontendC/2002-02-18-StaticData.c deleted file mode 100644 index 76cb0e670a..0000000000 --- a/test/FrontendC/2002-02-18-StaticData.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -double FOO = 17; -double BAR = 12.0; -float XX = 12.0f; - -static char *procnames[] = { - "EXIT" -}; - -void *Data[] = { &FOO, &BAR, &XX }; - diff --git a/test/FrontendC/2002-03-11-LargeCharInString.c b/test/FrontendC/2002-03-11-LargeCharInString.c deleted file mode 100644 index b383d03f79..0000000000 --- a/test/FrontendC/2002-03-11-LargeCharInString.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <string.h> - -int test(char *X) { - /* LLVM-GCC used to emit: - %.LC0 = internal global [3 x sbyte] c"\1F\FFFFFF8B\00" - */ - return strcmp(X, "\037\213"); -} diff --git a/test/FrontendC/2002-03-12-ArrayInitialization.c b/test/FrontendC/2002-03-12-ArrayInitialization.c deleted file mode 100644 index 1997a3cd0d..0000000000 --- a/test/FrontendC/2002-03-12-ArrayInitialization.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC would generate bad code if not enough initializers are - specified for an array. - */ - -int a[10] = { 0, 2}; - -char str[10] = "x"; - -void *Arr[5] = { 0, 0 }; - -float F[12] = { 1.23f, 34.7f }; - -struct Test { int X; double Y; }; - -struct Test Array[10] = { { 2, 12.0 }, { 3, 24.0 } }; - -int B[4][4] = { { 1, 2, 3, 4}, { 5, 6, 7 }, { 8, 9 } }; diff --git a/test/FrontendC/2002-03-12-StructInitialize.c b/test/FrontendC/2002-03-12-StructInitialize.c deleted file mode 100644 index 9eb11e187a..0000000000 --- a/test/FrontendC/2002-03-12-StructInitialize.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -typedef struct Connection_Type { - long to; - char type[10]; - long length; -} Connection; - -Connection link[3] -= { {1, "link1", 10}, - {2, "link2", 20}, - {3, "link3", 30} }; - diff --git a/test/FrontendC/2002-03-12-StructInitializer.c b/test/FrontendC/2002-03-12-StructInitializer.c deleted file mode 100644 index fa333b78a9..0000000000 --- a/test/FrontendC/2002-03-12-StructInitializer.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC was not emitting string constants of the correct length when - * embedded into a structure field like this. It thought the strlength - * was -1. - */ - -typedef struct Connection_Type { - long to; - char type[10]; - long length; -} Connection; - -Connection link[3] -= { {1, "link1", 10}, - {2, "link2", 20}, - {3, "link3", 30} }; - diff --git a/test/FrontendC/2002-03-14-BrokenPHINode.c b/test/FrontendC/2002-03-14-BrokenPHINode.c deleted file mode 100644 index 48d9ab705a..0000000000 --- a/test/FrontendC/2002-03-14-BrokenPHINode.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC was generating PHI nodes with an arity < #pred of the basic block the - * PHI node lived in. This was breaking LLVM because the number of entries - * in a PHI node must equal the number of predecessors for a basic block. - */ - -int trys(char *s, int x) -{ - int asa; - double Val; - int LLS; - if (x) { - asa = LLS + asa; - } else { - } - return asa+(int)Val; -} - diff --git a/test/FrontendC/2002-03-14-BrokenSSA.c b/test/FrontendC/2002-03-14-BrokenSSA.c deleted file mode 100644 index 9dc674aea2..0000000000 --- a/test/FrontendC/2002-03-14-BrokenSSA.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* This code used to break GCC's SSA computation code. It would create - uses of B & C that are not dominated by their definitions. See: - http://gcc.gnu.org/ml/gcc/2002-03/msg00697.html - */ -int bar(); -int foo() -{ - int a,b,c; - - a = b + c; - b = bar(); - c = bar(); - return a + b + c; -} - diff --git a/test/FrontendC/2002-03-14-QuotesInStrConst.c b/test/FrontendC/2002-03-14-QuotesInStrConst.c deleted file mode 100644 index 63eaeef46a..0000000000 --- a/test/FrontendC/2002-03-14-QuotesInStrConst.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC was not escaping quotes in string constants correctly, so this would - * get emitted: - * %.LC1 = internal global [32 x sbyte] c"*** Word "%s" on line %d is not\00" - */ - -const char *Foo() { - return "*** Word \"%s\" on line %d is not"; -} diff --git a/test/FrontendC/2002-04-07-SwitchStmt.c b/test/FrontendC/2002-04-07-SwitchStmt.c deleted file mode 100644 index 33e9c3d7a7..0000000000 --- a/test/FrontendC/2002-04-07-SwitchStmt.c +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int printf(const char *, ...); -int foo(); - -int main() { - while (foo()) { - switch (foo()) { - case 0: - case 1: - case 2: - case 3: - printf("3"); - case 4: printf("4"); - case 5: - case 6: - default: - break; - } - } - return 0; -} diff --git a/test/FrontendC/2002-04-08-LocalArray.c b/test/FrontendC/2002-04-08-LocalArray.c deleted file mode 100644 index 1dc51a0928..0000000000 --- a/test/FrontendC/2002-04-08-LocalArray.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* GCC is not outputting the static array to the LLVM backend, so bad things - * happen. Note that if this is defined static, everything seems fine. - */ -double test(unsigned X) { - double student_t[30]={0.0 , 12.706 , 4.303 , 3.182 , 2.776 , 2.571 , - 2.447 , 2.365 , 2.306 , 2.262 , 2.228 , - 2.201 , 2.179 , 2.160 , 2.145 , 2.131 , - 2.120 , 2.110 , 2.101 , 2.093 , 2.086 , - 2.080 , 2.074 , 2.069 , 2.064 , 2.060 , - 2.056 , 2.052 , 2.048 , 2.045 }; - return student_t[X]; -} diff --git a/test/FrontendC/2002-04-09-StructRetVal.c b/test/FrontendC/2002-04-09-StructRetVal.c deleted file mode 100644 index de3b6fc26e..0000000000 --- a/test/FrontendC/2002-04-09-StructRetVal.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct S { - int i; - short s1, s2; -}; - -struct S func_returning_struct(void); - -void loop(void) { - func_returning_struct(); -} diff --git a/test/FrontendC/2002-04-10-StructParameters.c b/test/FrontendC/2002-04-10-StructParameters.c deleted file mode 100644 index aaaba2abdd..0000000000 --- a/test/FrontendC/2002-04-10-StructParameters.c +++ /dev/null @@ -1,25 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -typedef struct { - char p; - short q; - char r; - int X; - short Y, Z; - int Q; -} foo; - -int test(foo X, float); -int testE(char,short,char,int,int,float); -void test3(foo *X) { - X->q = 1; -} - -void test2(foo Y) { - testE(Y.p, Y.q, Y.r, Y.X, Y.Y, 0.1f); - test(Y, 0.1f); - test2(Y); - test3(&Y); -} - diff --git a/test/FrontendC/2002-05-23-StaticValues.c b/test/FrontendC/2002-05-23-StaticValues.c deleted file mode 100644 index a5753b95f1..0000000000 --- a/test/FrontendC/2002-05-23-StaticValues.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* Make sure the frontend is correctly marking static stuff as internal! */ - -int X; -static int Y = 12; - -static void foo(int Z) { - Y = Z; -} - -void *test() { - foo(12); - return &Y; -} diff --git a/test/FrontendC/2002-05-23-TypeNameCollision.c b/test/FrontendC/2002-05-23-TypeNameCollision.c deleted file mode 100644 index 25d114965d..0000000000 --- a/test/FrontendC/2002-05-23-TypeNameCollision.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* Testcase for when struct tag conflicts with typedef name... grr */ - -typedef struct foo { - struct foo *X; - int Y; -} * foo; - -foo F1; -struct foo *F2; - -enum bar { test1, test2 }; - -typedef float bar; - -enum bar B1; -bar B2; - diff --git a/test/FrontendC/2002-05-24-Alloca.c b/test/FrontendC/2002-05-24-Alloca.c deleted file mode 100644 index 128bc8b7cf..0000000000 --- a/test/FrontendC/2002-05-24-Alloca.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <string.h> -#include <stdio.h> -#include <stdlib.h> - -int main(int argc, char **argv) { - char *C = (char*)alloca(argc); - strcpy(C, argv[0]); - puts(C); -} diff --git a/test/FrontendC/2002-06-25-FWriteInterfaceFailure.c b/test/FrontendC/2002-06-25-FWriteInterfaceFailure.c deleted file mode 100644 index 4380dc7b22..0000000000 --- a/test/FrontendC/2002-06-25-FWriteInterfaceFailure.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <stdio.h> - -void test() { - fprintf(stderr, "testing\n"); -} diff --git a/test/FrontendC/2002-07-14-MiscListTests.c b/test/FrontendC/2002-07-14-MiscListTests.c deleted file mode 100644 index 4a5459ad71..0000000000 --- a/test/FrontendC/2002-07-14-MiscListTests.c +++ /dev/null @@ -1,71 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -// Test list stuff - -void *malloc(unsigned); - -// Test opaque structure support. the list type is defined later -struct list; - -struct list *PassThroughList(struct list *L) { - return L; -} - - -// Recursive data structure tests... - -typedef struct list { - int Data; - struct list *Next; -} list; - -list *Data; - -void foo() { - static int Foo = 0; // Test static local variable - Foo += 1; // Increment static variable - - Data = (list*)malloc(12); // This is not a proper list allocation -} - -extern list ListNode1; -list ListNode3 = { 4, 0 }; -list ListNode2 = { 3, &ListNode3 }; -list ListNode0 = { 1, &ListNode1 }; -list ListNode1 = { 2, &ListNode2 }; - - -list ListArray[10]; - -// Iterative insert fn -void InsertIntoListTail(list **L, int Data) { - while (*L) - L = &(*L)->Next; - *L = (list*)malloc(sizeof(list)); - (*L)->Data = Data; - (*L)->Next = 0; -} - -// Recursive list search fn -list *FindData(list *L, int Data) { - if (L == 0) return 0; - if (L->Data == Data) return L; - return FindData(L->Next, Data); -} - -void foundIt(void); - -// Driver fn... -void DoListStuff() { - list *MyList = 0; - InsertIntoListTail(&MyList, 100); - InsertIntoListTail(&MyList, 12); - InsertIntoListTail(&MyList, 42); - InsertIntoListTail(&MyList, 1123); - InsertIntoListTail(&MyList, 1213); - - if (FindData(MyList, 75)) foundIt(); - if (FindData(MyList, 42)) foundIt(); - if (FindData(MyList, 700)) foundIt(); -} - diff --git a/test/FrontendC/2002-07-14-MiscTests.c b/test/FrontendC/2002-07-14-MiscTests.c deleted file mode 100644 index 57c412083a..0000000000 --- a/test/FrontendC/2002-07-14-MiscTests.c +++ /dev/null @@ -1,57 +0,0 @@ -// RUN: %llvmgcc -w -S %s -o - | llvm-as -o /dev/null - -/* These are random tests that I used when working on the GCC frontend - originally. */ - -// test floating point comparison! -int floatcomptest(double *X, double *Y, float *x, float *y) { - return *X < *Y || *x < *y; -} - -extern void *malloc(unsigned); - -// Exposed a bug -void *memset_impl(void *dstpp, int c, unsigned len) { - long long int dstp = (long long int) dstpp; - - while (dstp % 4 != 0) - { - ((unsigned char *) dstp)[0] = c; - dstp += 1; - len -= 1; - } - return dstpp; -} - -// TEST problem with signed/unsigned versions of the same constants being shared -// incorrectly! -// -static char *temp; -static int remaining; -static char *localmalloc(int size) { - char *blah; - - if (size>remaining) - { - temp = (char *) malloc(32768); - remaining = 32768; - return temp; - } - return 0; -} - -typedef struct { double X; double Y; int Z; } PBVTest; - -PBVTest testRetStruct(float X, double Y, int Z) { - PBVTest T = { X, Y, Z }; - return T; -} -PBVTest testRetStruct2(void); // external func no inlining - - -double CallRetStruct(float X, double Y, int Z) { - PBVTest T = testRetStruct2(); - return T.X+X+Y+Z; -} - - diff --git a/test/FrontendC/2002-07-14-MiscTests2.c b/test/FrontendC/2002-07-14-MiscTests2.c deleted file mode 100644 index f2c7c81c4d..0000000000 --- a/test/FrontendC/2002-07-14-MiscTests2.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -// Test ?: in function calls -extern fp(int, char*); -char *Ext; -void -__bb_exit_func (void) -{ - fp (12, Ext ? Ext : "<none>"); -} - - diff --git a/test/FrontendC/2002-07-14-MiscTests3.c b/test/FrontendC/2002-07-14-MiscTests3.c deleted file mode 100644 index 7ef7e232d9..0000000000 --- a/test/FrontendC/2002-07-14-MiscTests3.c +++ /dev/null @@ -1,187 +0,0 @@ -// RUN: %llvmgcc -w -S %s -o - | llvm-as -o /dev/null - - - -void *malloc(unsigned); - -//#include <stdio.h> -int puts(const char *s); - -struct FunStructTest { - int Test1; - char *Pointer; - int Array[12]; -}; - -struct SubStruct { - short X, Y; -}; - -struct Quad { - int w; - struct SubStruct SS; - struct SubStruct *SSP; - char c; - int y; -}; - -struct Quad GlobalQuad = { 4, {1, 2}, 0, 3, 156 }; - -typedef int (*FuncPtr)(int); - -unsigned PtrFunc(int (*Func)(int), int X) { - return Func(X); -} - -char PtrFunc2(FuncPtr FuncTab[30], int Num) { - return FuncTab[Num]('b'); -} - -extern char SmallArgs2(char w, char x, long long Zrrk, char y, char z); -extern int SomeFunc(void); -char SmallArgs(char w, char x, char y, char z) { - SomeFunc(); - return SmallArgs2(w-1, x+1, y, z, w); -} - -static int F0(struct Quad Q, int i) { /* Pass Q by value */ - struct Quad R; - if (i) R.SS = Q.SS; - Q.SSP = &R.SS; - Q.w = Q.y = Q.c = 1; - return Q.SS.Y + i + R.y - Q.c; -} - -int F1(struct Quad *Q, int i) { /* Pass Q by address */ - struct Quad R; -#if 0 - if (i) R.SS = Q->SS; -#else - if (i) R = *Q; -#endif - Q->w = Q->y = Q->c = 1; - return Q->SS.Y+i+R.y-Q->c; -} - - -int BadFunc(float Val) { - int Result; - if (Val > 12.345) Result = 4; - return Result; /* Test use of undefined value */ -} - -int RealFunc(void) { - return SomeUndefinedFunction(1, 4, 5); -} - -extern int EF1(int *, char *, int *); - -int Func(int Param, long long Param2) { - int Result = Param; - - {{{{ - char c; int X; - EF1(&Result, &c, &X); - }}} - - { // c & X are duplicate names! - char c; int X; - EF1(&Result, &c, &X); - } - - } - return Result; -} - - -short FunFunc(long long x, char z) { - return x+z; -} - -unsigned castTest(int X) { return X; } - -double TestAdd(double X, float Y) { - return X+Y+.5; -} - -int func(int i, int j) { - while (i != 20) - i += 2; - - j += func(2, i); - return (i * 3 + j*2)*j; -} - -int SumArray(int Array[], int Num) { - int i, Result = 0; - for (i = 0; i < Num; ++i) - Result += Array[i]; - - return Result; -} - -int ArrayParam(int Values[100]) { - return EF1((int*)Values[50], (char*)1, &Values[50]); -} - -int ArrayToSum(void) { - int A[100], i; - for (i = 0; i < 100; ++i) - A[i] = i*4; - - return A[A[0]]; //SumArray(A, 100); -} - - -int ExternFunc(long long, unsigned*, short, unsigned char); - -int main(int argc, char *argv[]) { - unsigned i; - puts("Hello world!\n"); - - ExternFunc(-1, 0, (short)argc, 2); - //func(argc, argc); - - for (i = 0; i < 10; i++) - puts(argv[3]); - return 0; -} - -double MathFunc(double X, double Y, double Z, - double AA, double BB, double CC, double DD, - double EE, double FF, double GG, double HH, - double aAA, double aBB, double aCC, double aDD, - double aEE, double aFF) { - return X + Y + Z + AA + BB + CC + DD + EE + FF + GG + HH - + aAA + aBB + aCC + aDD + aEE + aFF; -} - - - -void strcpy(char *s1, char *s2) { - while (*s1++ = *s2++); -} - -void strcat(char *s1, char *s2) { - while (*s1++); - s1--; - while (*s1++ = *s2++); -} - -int strcmp(char *s1, char *s2) { - while (*s1++ == *s2++); - if (*s1 == 0) { - if (*s2 == 0) { - return 0; - } else { - return -1; - } - } else { - if (*s2 == 0) { - return 1; - } else { - return (*(--s1) - *(--s2)); - } - } -} - diff --git a/test/FrontendC/2002-07-16-HardStringInit.c b/test/FrontendC/2002-07-16-HardStringInit.c deleted file mode 100644 index 2785e5189d..0000000000 --- a/test/FrontendC/2002-07-16-HardStringInit.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - char auto_kibitz_list[100][20] = { - {"diepx"}, - {"ferret"}, - {"knightc"}, - {"knightcap"}}; - diff --git a/test/FrontendC/2002-07-17-StringConstant.c b/test/FrontendC/2002-07-17-StringConstant.c deleted file mode 100644 index 9ba0c25213..0000000000 --- a/test/FrontendC/2002-07-17-StringConstant.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -char * foo() { return "\\begin{"; } diff --git a/test/FrontendC/2002-07-29-Casts.c b/test/FrontendC/2002-07-29-Casts.c deleted file mode 100644 index 44bb610195..0000000000 --- a/test/FrontendC/2002-07-29-Casts.c +++ /dev/null @@ -1,86 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <stdlib.h> -#include <stdio.h> -#include <sys/types.h> - -int -main(int argc, char** argv) -{ - char c1; - short s1, ssf1, ssd1; - unsigned char ubs0; - signed char bs0; - unsigned char ubc0, uc2; - unsigned short us2, usf1, usd1; - int ic3, is3, sif1, sid1; - unsigned int uic4, uis4, uif1, uid1; - long slf1, sld1; - unsigned long ulf1, uld1; - float f1; - double d1; - - /* Test integer to integer conversions */ - - c1 = (char) (argc >= 2)? atoi(argv[1]) : 0xff64; /* 100 = 'd' */ - s1 = (short) (argc >= 3)? atoi(argv[2]) : -769; /* 0xf7ff = -769 */ - - ubc0 = (unsigned char) c1; /* 100 = 'd' */ - ubs0 = (unsigned char) s1; /* 0xff = 255 */ - bs0 = (signed char) s1; /* 0xff = -1 */ - - uc2 = (unsigned char) c1; /* 100 = 'd' */ - us2 = (unsigned short) s1; /* 0xf7ff = 64767 */ - - ic3 = (int) c1; /* 100 = 'd' */ - is3 = (int) s1; /* 0xfffff7ff = -769 */ - - uic4 = (unsigned int) c1; /* 100 = 'd' */ - uis4 = (unsigned int) s1; /* 0xfffff7ff = 4294966527 */ - - printf("ubc0 = '%c'\n", ubc0); - printf("ubs0 = %u\n", ubs0); - printf("bs0 = %d\n", bs0); - printf("c1 = '%c'\n", c1); - printf("s1 = %d\n", s1); - printf("uc2 = '%c'\n", uc2); - printf("us2 = %u\n", us2); - printf("ic3 = '%c'\n", ic3); - printf("is3 = %d\n", is3); - printf("uic4 = '%c'\n", uic4); - printf("uis4 = %u\n", uis4); - - /* Test floating-point to integer conversions */ - f1 = (float) (argc >= 4)? atof(argv[3]) : 1.0; - d1 = (argc >= 5)? atof(argv[4]) : 2.0; - - usf1 = (unsigned short) f1; - usd1 = (unsigned short) d1; - uif1 = (unsigned int) f1; - uid1 = (unsigned int) d1; - ulf1 = (unsigned long) f1; - uld1 = (unsigned long) d1; - - ssf1 = (short) f1; - ssd1 = (short) d1; - sif1 = (int) f1; - sid1 = (int) d1; - slf1 = (long) f1; - sld1 = (long) d1; - - printf("usf1 = %u\n", usf1); - printf("usd1 = %u\n", usd1); - printf("uif1 = %u\n", uif1); - printf("uid1 = %u\n", uid1); - printf("ulf1 = %u\n", ulf1); - printf("uld1 = %u\n", uld1); - - printf("ssf1 = %d\n", ssf1); - printf("ssd1 = %d\n", ssd1); - printf("sif1 = %d\n", sif1); - printf("sid1 = %d\n", sid1); - printf("slf1 = %d\n", slf1); - printf("sld1 = %d\n", sld1); - - return 0; -} diff --git a/test/FrontendC/2002-07-30-SubregSetAssertion.c b/test/FrontendC/2002-07-30-SubregSetAssertion.c deleted file mode 100644 index af72eda652..0000000000 --- a/test/FrontendC/2002-07-30-SubregSetAssertion.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -union X { - void *B; -}; - -union X foo() { - union X A; - A.B = (void*)123; - return A; -} diff --git a/test/FrontendC/2002-07-30-UnionTest.c b/test/FrontendC/2002-07-30-UnionTest.c deleted file mode 100644 index c931b8024f..0000000000 --- a/test/FrontendC/2002-07-30-UnionTest.c +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -union X; -struct Empty {}; -union F {}; -union Q { union Q *X; }; -union X { - char C; - int A, Z; - long long B; - void *b1; - struct { int A; long long Z; } Q; -}; - -union X foo(union X A) { - A.C = 123; - A.A = 39249; - //A.B = (void*)123040123321; - A.B = 12301230123123LL; - A.Z = 1; - return A; -} diff --git a/test/FrontendC/2002-07-30-VarArgsCallFailure.c b/test/FrontendC/2002-07-30-VarArgsCallFailure.c deleted file mode 100644 index 5d93947a72..0000000000 --- a/test/FrontendC/2002-07-30-VarArgsCallFailure.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int tcount; -void test(char *, const char*, int); -void foo() { - char Buf[10]; - test(Buf, "n%%%d", tcount++); -} diff --git a/test/FrontendC/2002-07-31-BadAssert.c b/test/FrontendC/2002-07-31-BadAssert.c deleted file mode 100644 index 5c3d74cfb6..0000000000 --- a/test/FrontendC/2002-07-31-BadAssert.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct -{ - unsigned char type; /* Indicates, NORMAL, SUBNORMAL, etc. */ -} InternalFPF; - - -static void SetInternalFPFZero(InternalFPF *dest) { - dest->type=0; -} - -void denormalize(InternalFPF *ptr) { - SetInternalFPFZero(ptr); -} - diff --git a/test/FrontendC/2002-07-31-SubregFailure.c b/test/FrontendC/2002-07-31-SubregFailure.c deleted file mode 100644 index 72fcb496cb..0000000000 --- a/test/FrontendC/2002-07-31-SubregFailure.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -typedef union { - long (*ap)[4]; -} ptrs; - -void DoAssignIteration() { - ptrs abase; - abase.ap+=27; - Assignment(*abase.ap); -} - - diff --git a/test/FrontendC/2002-08-02-UnionTest.c b/test/FrontendC/2002-08-02-UnionTest.c deleted file mode 100644 index e2b8c3dd40..0000000000 --- a/test/FrontendC/2002-08-02-UnionTest.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* In this testcase, the return value of foo() is being promotedto a register - * which breaks stuff - */ -#include <stdio.h> - -union X { char X; void *B; int a, b, c, d;}; - -union X foo() { - union X Global; - Global.B = (void*)123; /* Interesting part */ - return Global; -} - -int main() { - union X test = foo(); - printf("0x%p", test.B); -} diff --git a/test/FrontendC/2002-08-19-RecursiveLocals.c b/test/FrontendC/2002-08-19-RecursiveLocals.c deleted file mode 100644 index 59220ac9b0..0000000000 --- a/test/FrontendC/2002-08-19-RecursiveLocals.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* This testcase doesn't actually test a bug, it's just the result of me - * figuring out the syntax for forward declaring a static variable. */ -struct list { - int x; - struct list *Next; -}; - -static struct list B; /* Forward declare static */ -static struct list A = { 7, &B }; -static struct list B = { 8, &A }; - -extern struct list D; /* forward declare normal var */ - -struct list C = { 7, &D }; -struct list D = { 8, &C }; - diff --git a/test/FrontendC/2002-09-08-PointerShifts.c b/test/FrontendC/2002-09-08-PointerShifts.c deleted file mode 100644 index 86ff2f98af..0000000000 --- a/test/FrontendC/2002-09-08-PointerShifts.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -int foo(int *A, unsigned X) { - return A[X]; -} diff --git a/test/FrontendC/2002-09-18-UnionProblem.c b/test/FrontendC/2002-09-18-UnionProblem.c deleted file mode 100644 index 54588f1214..0000000000 --- a/test/FrontendC/2002-09-18-UnionProblem.c +++ /dev/null @@ -1,26 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -struct DWstruct { - char high, low; -}; - -typedef union { - struct DWstruct s; - short ll; -} DWunion; - -short __udivmodhi4 (char n1, char bm) { - DWunion rr; - - if (bm == 0) - { - rr.s.high = n1; - } - else - { - rr.s.high = bm; - } - - return rr.ll; -} diff --git a/test/FrontendC/2002-09-19-StarInLabel.c b/test/FrontendC/2002-09-19-StarInLabel.c deleted file mode 100644 index 171acca2f1..0000000000 --- a/test/FrontendC/2002-09-19-StarInLabel.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -extern void start() __asm__("start"); -extern void _start() __asm__("_start"); -extern void __start() __asm__("__start"); -void start() {} -void _start() {} -void __start() {} - diff --git a/test/FrontendC/2002-10-12-TooManyArguments.c b/test/FrontendC/2002-10-12-TooManyArguments.c deleted file mode 100644 index 73c267ad30..0000000000 --- a/test/FrontendC/2002-10-12-TooManyArguments.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -void foo() {} - -void bar() { - foo(1, 2, 3); /* Too many arguments passed */ -} diff --git a/test/FrontendC/2002-12-15-GlobalBoolTest.c b/test/FrontendC/2002-12-15-GlobalBoolTest.c deleted file mode 100644 index c27a23abc6..0000000000 --- a/test/FrontendC/2002-12-15-GlobalBoolTest.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -_Bool X = 0; - diff --git a/test/FrontendC/2002-12-15-GlobalConstantTest.c b/test/FrontendC/2002-12-15-GlobalConstantTest.c deleted file mode 100644 index 26de48fbb7..0000000000 --- a/test/FrontendC/2002-12-15-GlobalConstantTest.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -const char *W = "foo"; -const int X = 7; -int Y = 8; -const char * const Z = "bar"; - diff --git a/test/FrontendC/2002-12-15-GlobalRedefinition.c b/test/FrontendC/2002-12-15-GlobalRedefinition.c deleted file mode 100644 index 3b76953b09..0000000000 --- a/test/FrontendC/2002-12-15-GlobalRedefinition.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -extern char algbrfile[9]; -char algbrfile[9] = "abcdefgh"; - diff --git a/test/FrontendC/2002-12-15-StructParameters.c b/test/FrontendC/2002-12-15-StructParameters.c deleted file mode 100644 index 90ab1ff440..0000000000 --- a/test/FrontendC/2002-12-15-StructParameters.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct -{ - void *stack; - unsigned size; - unsigned avail; -} compile_stack_type; - -void foo(void*); -void bar(compile_stack_type T, unsigned); - -void test() { - compile_stack_type CST; - foo(&CST); - - bar(CST, 12); -} diff --git a/test/FrontendC/2003-01-30-UnionInit.c b/test/FrontendC/2003-01-30-UnionInit.c deleted file mode 100644 index 576958442a..0000000000 --- a/test/FrontendC/2003-01-30-UnionInit.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null - -union foo { - struct { char A, B; } X; - int C; -}; - -union foo V = { {1, 2} }; diff --git a/test/FrontendC/2003-03-03-DeferredType.c b/test/FrontendC/2003-03-03-DeferredType.c deleted file mode 100644 index 9e60df6f6a..0000000000 --- a/test/FrontendC/2003-03-03-DeferredType.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - - - -struct foo A; - -struct foo { - int x; -double D; -}; - diff --git a/test/FrontendC/2003-06-22-UnionCrash.c b/test/FrontendC/2003-06-22-UnionCrash.c deleted file mode 100644 index 54d8dc6dda..0000000000 --- a/test/FrontendC/2003-06-22-UnionCrash.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct Blend_Map_Entry { - union { - float Colour[5]; - double Point_Slope[2]; - } Vals; -}; - -void test(struct Blend_Map_Entry* Foo) -{ -} - diff --git a/test/FrontendC/2003-06-23-GCC-fold-infinite-recursion.c b/test/FrontendC/2003-06-23-GCC-fold-infinite-recursion.c deleted file mode 100644 index 80562c8849..0000000000 --- a/test/FrontendC/2003-06-23-GCC-fold-infinite-recursion.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -double Test(double A, double B, double C, double D) { - return -(A-B) - (C-D); -} - diff --git a/test/FrontendC/2003-06-26-CFECrash.c b/test/FrontendC/2003-06-26-CFECrash.c deleted file mode 100644 index 10a7ed4445..0000000000 --- a/test/FrontendC/2003-06-26-CFECrash.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct min_info { - long offset; - unsigned file_attr; -} min_info; - -typedef struct Globals { - char answerbuf; - min_info info[1]; - min_info *pInfo; -} Uz_Globs; - -extern Uz_Globs G; - -int extract_or_test_files() { - G.pInfo = G.info; -} - diff --git a/test/FrontendC/2003-06-29-MultipleFunctionDefinition.c b/test/FrontendC/2003-06-29-MultipleFunctionDefinition.c deleted file mode 100644 index be042cedf9..0000000000 --- a/test/FrontendC/2003-06-29-MultipleFunctionDefinition.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -/* This is apparently legal C. - */ -extern __inline__ void test() { } - -void test() { -} diff --git a/test/FrontendC/2003-07-22-ArrayAccessTypeSafety.c b/test/FrontendC/2003-07-22-ArrayAccessTypeSafety.c deleted file mode 100644 index 51e66c9b83..0000000000 --- a/test/FrontendC/2003-07-22-ArrayAccessTypeSafety.c +++ /dev/null @@ -1,7 +0,0 @@ -/* RUN: %llvmgcc -xc %s -S -o - | grep -v alloca | not grep bitcast - */ - -void test(int* array, long long N) { - array[N] = N[array] = 33; -} - diff --git a/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c b/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c deleted file mode 100644 index 12b4f7b933..0000000000 --- a/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c +++ /dev/null @@ -1,14 +0,0 @@ -/* RUN: %llvmgcc -xc %s -S -o - | not grep __builtin_ - * - * __builtin_longjmp/setjmp should get transformed into llvm.setjmp/longjmp - * just like explicit setjmp/longjmp calls are. - */ - -void jumpaway(int *ptr) { - __builtin_longjmp(ptr,1); -} - -int main(void) { - __builtin_setjmp(0); - jumpaway(0); -} diff --git a/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c b/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c deleted file mode 100644 index 9ae633ee08..0000000000 --- a/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o %t.o - -int test(_Bool pos, _Bool color) { - return 0; - return (pos && color); -} - diff --git a/test/FrontendC/2003-08-18-SigSetJmp.c b/test/FrontendC/2003-08-18-SigSetJmp.c deleted file mode 100644 index fc0d7659de..0000000000 --- a/test/FrontendC/2003-08-18-SigSetJmp.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -#include <setjmp.h> - -sigjmp_buf B; -int foo() { - sigsetjmp(B, 1); - bar(); -} diff --git a/test/FrontendC/2003-08-18-StructAsValue.c b/test/FrontendC/2003-08-18-StructAsValue.c deleted file mode 100644 index 26cb78a4d2..0000000000 --- a/test/FrontendC/2003-08-18-StructAsValue.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -typedef struct { - int op; -} event_t; - -event_t test(int X) { - event_t foo = { 1 }, bar = { 2 }; - return X ? foo : bar; -} diff --git a/test/FrontendC/2003-08-20-BadBitfieldRef.c b/test/FrontendC/2003-08-20-BadBitfieldRef.c deleted file mode 100644 index ef54d8ad9c..0000000000 --- a/test/FrontendC/2003-08-20-BadBitfieldRef.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void foo() -{ - char *ap; - ap[1] == '-' && ap[2] == 0; -} - diff --git a/test/FrontendC/2003-08-20-PrototypeMismatch.c b/test/FrontendC/2003-08-20-PrototypeMismatch.c deleted file mode 100644 index 85c89f694c..0000000000 --- a/test/FrontendC/2003-08-20-PrototypeMismatch.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - - -static int foo(int); - -static int foo(C) -char C; -{ - return C; -} - -void test() { - foo(7); -} diff --git a/test/FrontendC/2003-08-20-vfork-bug.c b/test/FrontendC/2003-08-20-vfork-bug.c deleted file mode 100644 index cfe316162a..0000000000 --- a/test/FrontendC/2003-08-20-vfork-bug.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -extern int vfork(void); -test() { - vfork(); -} diff --git a/test/FrontendC/2003-08-21-BinOp-Type-Mismatch.c b/test/FrontendC/2003-08-21-BinOp-Type-Mismatch.c deleted file mode 100644 index a1d4574dcd..0000000000 --- a/test/FrontendC/2003-08-21-BinOp-Type-Mismatch.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct bar; - -void foo() -{ - unsigned int frame, focus; - (struct bar *) focus == (focus ? ((struct bar *) frame) : 0); -} - diff --git a/test/FrontendC/2003-08-21-StmtExpr.c b/test/FrontendC/2003-08-21-StmtExpr.c deleted file mode 100644 index 7f7d22ea9d..0000000000 --- a/test/FrontendC/2003-08-21-StmtExpr.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -typedef struct { - unsigned long val; -} structty; - -void bar(structty new_mask); -static void foo() { - bar(({ structty mask; mask; })); -} - diff --git a/test/FrontendC/2003-08-21-WideString.c b/test/FrontendC/2003-08-21-WideString.c deleted file mode 100644 index bf67a21896..0000000000 --- a/test/FrontendC/2003-08-21-WideString.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <wchar.h> - -struct { - wchar_t *name; -} syms = { L"NUL" }; diff --git a/test/FrontendC/2003-08-23-LocalUnionTest.c b/test/FrontendC/2003-08-23-LocalUnionTest.c deleted file mode 100644 index 987accca1c..0000000000 --- a/test/FrontendC/2003-08-23-LocalUnionTest.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - - -union foo { int X; }; - -int test(union foo* F) { - { - union foo { float X; } A; - } -} diff --git a/test/FrontendC/2003-08-29-BitFieldStruct.c b/test/FrontendC/2003-08-29-BitFieldStruct.c deleted file mode 100644 index 57273cd863..0000000000 --- a/test/FrontendC/2003-08-29-BitFieldStruct.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct Word { - short bar; - short baz; - int final:1; - short quux; -} *word_limit; - -void foo () -{ - word_limit->final = (word_limit->final && word_limit->final); -} diff --git a/test/FrontendC/2003-08-29-HugeCharConst.c b/test/FrontendC/2003-08-29-HugeCharConst.c deleted file mode 100644 index 236eb2e274..0000000000 --- a/test/FrontendC/2003-08-29-HugeCharConst.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void foo() { - unsigned char int_latin1[] = "f\200\372b\200\343\200\340"; -} diff --git a/test/FrontendC/2003-08-29-StructLayoutBug.c b/test/FrontendC/2003-08-29-StructLayoutBug.c deleted file mode 100644 index 16731945b7..0000000000 --- a/test/FrontendC/2003-08-29-StructLayoutBug.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct foo { - unsigned int I:1; - unsigned char J[1]; - unsigned int K:1; - }; - -void test(struct foo *X) {} - diff --git a/test/FrontendC/2003-08-30-AggregateInitializer.c b/test/FrontendC/2003-08-30-AggregateInitializer.c deleted file mode 100644 index 58c77b6aa0..0000000000 --- a/test/FrontendC/2003-08-30-AggregateInitializer.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null - -struct istruct { - unsigned char C; -}; - -struct foo { - unsigned int I:1; - struct istruct J; - unsigned char L[1]; - unsigned int K:1; -}; - -struct foo F = { 1, { 7 }, { 123 } , 1 }; - - diff --git a/test/FrontendC/2003-08-30-LargeIntegerBitfieldMember.c b/test/FrontendC/2003-08-30-LargeIntegerBitfieldMember.c deleted file mode 100644 index e1ca88cdc6..0000000000 --- a/test/FrontendC/2003-08-30-LargeIntegerBitfieldMember.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct foo { - unsigned int I:1; - unsigned char J[1][123]; - unsigned int K:1; - }; - -struct foo F; diff --git a/test/FrontendC/2003-09-18-BitfieldTests.c b/test/FrontendC/2003-09-18-BitfieldTests.c deleted file mode 100644 index 2d74cb401d..0000000000 --- a/test/FrontendC/2003-09-18-BitfieldTests.c +++ /dev/null @@ -1,30 +0,0 @@ -// RUN: %llvmgcc -w -S %s -o - | llvm-as -o /dev/null - - -typedef struct BF { - int A : 1; - char B; - int C : 13; -} BF; - -char *test1(BF *b) { - return &b->B; // Must be able to address non-bitfield -} - -void test2(BF *b) { // Increment and decrement operators - b->A++; - --b->C; -} - -void test3(BF *b) { - b->C = 12345; // Store -} - -int test4(BF *b) { - return b->C; // Load -} - -void test5(BF *b, int i) { // array ref - b[i].C = 12345; -} - diff --git a/test/FrontendC/2003-09-30-StructLayout.c b/test/FrontendC/2003-09-30-StructLayout.c deleted file mode 100644 index 177d1f49b2..0000000000 --- a/test/FrontendC/2003-09-30-StructLayout.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -enum En { - ENUM_VAL -}; - -struct St { - unsigned char A; - enum En B; - unsigned char C; - enum En D; - float E; -}; - - -void func(struct St* A) { - A->D = ENUM_VAL; -} diff --git a/test/FrontendC/2003-10-02-UnionLValueError.c b/test/FrontendC/2003-10-02-UnionLValueError.c deleted file mode 100644 index a4d17a4a0b..0000000000 --- a/test/FrontendC/2003-10-02-UnionLValueError.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <stdio.h> - -union U{ - int i[8]; - char s[80]; -}; - -void format_message(char *buffer, union U *u) { - sprintf(buffer, u->s); -} - diff --git a/test/FrontendC/2003-10-06-NegateExprType.c b/test/FrontendC/2003-10-06-NegateExprType.c deleted file mode 100644 index fb8329b344..0000000000 --- a/test/FrontendC/2003-10-06-NegateExprType.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -extern int A[10]; -void Func(int *B) { - B - &A[5]; -} - diff --git a/test/FrontendC/2003-10-09-UnionInitializerBug.c b/test/FrontendC/2003-10-09-UnionInitializerBug.c deleted file mode 100644 index 57e113a7cc..0000000000 --- a/test/FrontendC/2003-10-09-UnionInitializerBug.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct Foo { - unsigned a; - unsigned b; - unsigned c; -}; - -struct Bar { - union { - void **a; - struct Foo b; - }u; -}; - -struct Bar test = {0}; - diff --git a/test/FrontendC/2003-10-28-ident.c b/test/FrontendC/2003-10-28-ident.c deleted file mode 100644 index 06cacf87a9..0000000000 --- a/test/FrontendC/2003-10-28-ident.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -#ident "foo" diff --git a/test/FrontendC/2003-10-29-AsmRename.c b/test/FrontendC/2003-10-29-AsmRename.c deleted file mode 100644 index d07ccf7fd2..0000000000 --- a/test/FrontendC/2003-10-29-AsmRename.c +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -struct foo { int X; }; -struct bar { int Y; }; - -extern int Func(struct foo*) __asm__("Func64"); -extern int Func64(struct bar*); - -int Func(struct foo *F) { - return 1; -} - -int Func64(struct bar* B) { - return 0; -} - - -int test() { - Func(0); /* should be renamed to call Func64 */ - Func64(0); -} diff --git a/test/FrontendC/2003-11-01-C99-CompoundLiteral.c b/test/FrontendC/2003-11-01-C99-CompoundLiteral.c deleted file mode 100644 index 2912c97c54..0000000000 --- a/test/FrontendC/2003-11-01-C99-CompoundLiteral.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct { int foo; } spinlock_t; -typedef struct wait_queue_head_t { spinlock_t lock; } wait_queue_head_t; -void call_usermodehelper(void) { - struct wait_queue_head_t work = { lock: (spinlock_t) { 0 }, }; -} - diff --git a/test/FrontendC/2003-11-01-EmptyStructCrash.c b/test/FrontendC/2003-11-01-EmptyStructCrash.c deleted file mode 100644 index c1161195da..0000000000 --- a/test/FrontendC/2003-11-01-EmptyStructCrash.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct { } the_coolest_struct_in_the_world; -extern the_coolest_struct_in_the_world xyzzy; -void *foo() { return &xyzzy; } - diff --git a/test/FrontendC/2003-11-01-GlobalUnionInit.c b/test/FrontendC/2003-11-01-GlobalUnionInit.c deleted file mode 100644 index 7cd707348c..0000000000 --- a/test/FrontendC/2003-11-01-GlobalUnionInit.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -union bdflush_param { - struct { int x; } b_un; - int y[1]; -} bdf_prm = {{30}}; - diff --git a/test/FrontendC/2003-11-03-AddrArrayElement.c b/test/FrontendC/2003-11-03-AddrArrayElement.c deleted file mode 100644 index 4337da7d1e..0000000000 --- a/test/FrontendC/2003-11-03-AddrArrayElement.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep getelementptr - -// This should be turned into a tasty getelementptr instruction, not a nasty -// series of casts and address arithmetic. - -char Global[100]; - -char *test1(unsigned i) { - return &Global[i]; -} - diff --git a/test/FrontendC/2003-11-04-EmptyStruct.c b/test/FrontendC/2003-11-04-EmptyStruct.c deleted file mode 100644 index b4f37befff..0000000000 --- a/test/FrontendC/2003-11-04-EmptyStruct.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct { } rwlock_t; -struct fs_struct { rwlock_t lock; int umask; }; -void __copy_fs_struct(struct fs_struct *fs) { fs->lock = (rwlock_t) { }; } - diff --git a/test/FrontendC/2003-11-04-OutOfMemory.c b/test/FrontendC/2003-11-04-OutOfMemory.c deleted file mode 100644 index 40cb6c2e21..0000000000 --- a/test/FrontendC/2003-11-04-OutOfMemory.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void schedule_timeout(signed long timeout) -{ - switch (timeout) - { - case ((long)(~0UL>>1)): break; - } -} diff --git a/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c b/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c deleted file mode 100644 index 58f9f82e15..0000000000 --- a/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep getelementptr - -char *test(char* C) { - return C-1; // Should turn into a GEP -} - -int *test2(int* I) { - return I-1; -} diff --git a/test/FrontendC/2003-11-12-VoidString.c b/test/FrontendC/2003-11-12-VoidString.c deleted file mode 100644 index 5770b3661a..0000000000 --- a/test/FrontendC/2003-11-12-VoidString.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void query_newnamebuf(void) { ((void)"query_newnamebuf"); } - diff --git a/test/FrontendC/2003-11-13-TypeSafety.c b/test/FrontendC/2003-11-13-TypeSafety.c deleted file mode 100644 index 9b76bb11c9..0000000000 --- a/test/FrontendC/2003-11-13-TypeSafety.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep getelementptr - -int *test(int *X, int Y) { - return X + Y; -} diff --git a/test/FrontendC/2003-11-16-StaticArrayInit.c b/test/FrontendC/2003-11-16-StaticArrayInit.c deleted file mode 100644 index eb83b3ad0c..0000000000 --- a/test/FrontendC/2003-11-16-StaticArrayInit.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -void bar () { - static char x[10]; - static char *xend = x + 10; -} - - diff --git a/test/FrontendC/2003-11-18-CondExprLValue.c b/test/FrontendC/2003-11-18-CondExprLValue.c deleted file mode 100644 index 68ee622c64..0000000000 --- a/test/FrontendC/2003-11-18-CondExprLValue.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -typedef struct { unsigned long pgprot; } pgprot_t; - -void split_large_page(unsigned long addr, pgprot_t prot) -{ - (addr ? prot : ((pgprot_t) { 0x001 } )).pgprot; -} - diff --git a/test/FrontendC/2003-11-19-AddressOfRegister.c b/test/FrontendC/2003-11-19-AddressOfRegister.c deleted file mode 100644 index 69dc54d928..0000000000 --- a/test/FrontendC/2003-11-19-AddressOfRegister.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o /dev/null |& not grep warning - -struct item { - short delta[4]; -}; - -int TEST(int nt) { - register struct item *aa; - aa[nt].delta; - return 1; -} - diff --git a/test/FrontendC/2003-11-19-BitFieldArray.c b/test/FrontendC/2003-11-19-BitFieldArray.c deleted file mode 100644 index 250268a3b8..0000000000 --- a/test/FrontendC/2003-11-19-BitFieldArray.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct _GIOChannel { - int write_buf; - char partial_write_buf[6]; - int d :1; -}; - -void g_io_channel_init (struct _GIOChannel *channel) { - channel->partial_write_buf[0]; -} - diff --git a/test/FrontendC/2003-11-20-Bitfields.c b/test/FrontendC/2003-11-20-Bitfields.c deleted file mode 100644 index 4be9942ccf..0000000000 --- a/test/FrontendC/2003-11-20-Bitfields.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct face_cachel { - unsigned int reverse :1; - unsigned char font_specified[1]; -}; - -void -ensure_face_cachel_contains_charset (struct face_cachel *cachel) { - cachel->font_specified[0] = 0; -} - diff --git a/test/FrontendC/2003-11-20-ComplexDivision.c b/test/FrontendC/2003-11-20-ComplexDivision.c deleted file mode 100644 index 172de8c0e1..0000000000 --- a/test/FrontendC/2003-11-20-ComplexDivision.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int test() { - __complex__ double C; - double D; - C / D; -} diff --git a/test/FrontendC/2003-11-20-UnionBitfield.c b/test/FrontendC/2003-11-20-UnionBitfield.c deleted file mode 100644 index f999c20777..0000000000 --- a/test/FrontendC/2003-11-20-UnionBitfield.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct printf_spec { - unsigned int minus_flag:1; - char converter; -}; - -void parse_doprnt_spec () { - struct printf_spec spec; - spec.minus_flag = 1; -} - diff --git a/test/FrontendC/2003-11-26-PointerShift.c b/test/FrontendC/2003-11-26-PointerShift.c deleted file mode 100644 index 6b5205a6e7..0000000000 --- a/test/FrontendC/2003-11-26-PointerShift.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -unsigned long do_csum(const unsigned char *buff, int len, unsigned long result) { - if (2 & (unsigned long) buff) result += 1; - return result; -} diff --git a/test/FrontendC/2003-11-27-ConstructorCast.c b/test/FrontendC/2003-11-27-ConstructorCast.c deleted file mode 100644 index 15eb769479..0000000000 --- a/test/FrontendC/2003-11-27-ConstructorCast.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct i387_soft_struct { - long cwd; -}; -union i387_union { - struct i387_soft_struct soft; -}; -struct thread_struct { - union i387_union i387; -}; -void _init_task_union(void) { - struct thread_struct thread = (struct thread_struct) { {{0}} }; -} diff --git a/test/FrontendC/2003-11-27-UnionCtorInitialization.c b/test/FrontendC/2003-11-27-UnionCtorInitialization.c deleted file mode 100644 index e3ae1e96a6..0000000000 --- a/test/FrontendC/2003-11-27-UnionCtorInitialization.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -struct i387_soft_struct { - long cwd; - long twd; - long fip; -}; -union i387_union { - struct i387_soft_struct soft; -}; -struct thread_struct { - union i387_union i387; -}; -void _init_task_union(void) { - struct thread_struct thread = (struct thread_struct) { {{0}} }; -} diff --git a/test/FrontendC/2003-12-14-ExternInlineSupport.c b/test/FrontendC/2003-12-14-ExternInlineSupport.c deleted file mode 100644 index a45eb98dca..0000000000 --- a/test/FrontendC/2003-12-14-ExternInlineSupport.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | not grep dead_function - -extern __inline__ void dead_function() {} diff --git a/test/FrontendC/2004-01-01-UnknownInitSize.c b/test/FrontendC/2004-01-01-UnknownInitSize.c deleted file mode 100644 index b26b6cd875..0000000000 --- a/test/FrontendC/2004-01-01-UnknownInitSize.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null - -/* - * This regression test ensures that the C front end can compile initializers - * even when it cannot determine the size (as below). -*/ -struct one -{ - int a; - int values []; -}; - -struct one hobbit = {5, {1, 2, 3}}; - diff --git a/test/FrontendC/2004-01-08-ExternInlineRedefine.c b/test/FrontendC/2004-01-08-ExternInlineRedefine.c deleted file mode 100644 index 4366b9b565..0000000000 --- a/test/FrontendC/2004-01-08-ExternInlineRedefine.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -extern __inline long int -__strtol_l (int a) -{ - return 0; -} - -long int -__strtol_l (int a) -{ - return 0; -} diff --git a/test/FrontendC/2004-02-12-LargeAggregateCopy.c b/test/FrontendC/2004-02-12-LargeAggregateCopy.c deleted file mode 100644 index 93b7fe44bf..0000000000 --- a/test/FrontendC/2004-02-12-LargeAggregateCopy.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep llvm.memcpy - -struct X { int V[10000]; }; -struct X Global1, Global2; -void test() { - Global2 = Global1; -} - diff --git a/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c b/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c deleted file mode 100644 index f115b5a5f0..0000000000 --- a/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep llvm.*address | count 4 - -void *test1() { - return __builtin_return_address(1); -} -void *test2() { - return __builtin_frame_address(0); -} diff --git a/test/FrontendC/2004-02-13-IllegalVararg.c b/test/FrontendC/2004-02-13-IllegalVararg.c deleted file mode 100644 index 0d003c8033..0000000000 --- a/test/FrontendC/2004-02-13-IllegalVararg.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -xc %s -w -S -o - | llc -// XFAIL: * -// See PR2452 - -#include <stdarg.h> - -float test(int X, ...) { - va_list ap; - float F; - va_start(ap, X); - F = va_arg(ap, float); - return F; -} diff --git a/test/FrontendC/2004-02-13-Memset.c b/test/FrontendC/2004-02-13-Memset.c deleted file mode 100644 index fb6ed2352e..0000000000 --- a/test/FrontendC/2004-02-13-Memset.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep llvm.memset | count 3 - -void *memset(void*, int, long); -void bzero(void*, long); - -void test(int* X, char *Y) { - memset(X, 4, 1000); - bzero(Y, 100); -} diff --git a/test/FrontendC/2004-02-14-ZeroInitializer.c b/test/FrontendC/2004-02-14-ZeroInitializer.c deleted file mode 100644 index bede907874..0000000000 --- a/test/FrontendC/2004-02-14-ZeroInitializer.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep zeroinitializer - -int X[1000]; - diff --git a/test/FrontendC/2004-02-20-Builtins.c b/test/FrontendC/2004-02-20-Builtins.c deleted file mode 100644 index c056a8405f..0000000000 --- a/test/FrontendC/2004-02-20-Builtins.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -O3 -xc %s -S -o - | not grep builtin - -#include <math.h> - -void zsqrtxxx(float num) { - num = sqrt(num); -} - diff --git a/test/FrontendC/2004-03-07-ComplexDivEquals.c b/test/FrontendC/2004-03-07-ComplexDivEquals.c deleted file mode 100644 index c6c805a7b3..0000000000 --- a/test/FrontendC/2004-03-07-ComplexDivEquals.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -void test(__complex__ double D, double X) { - D /= X; -} diff --git a/test/FrontendC/2004-03-07-ExternalConstant.c b/test/FrontendC/2004-03-07-ExternalConstant.c deleted file mode 100644 index 4a9094bdf3..0000000000 --- a/test/FrontendC/2004-03-07-ExternalConstant.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep constant - -extern const int a[]; // 'a' should be marked constant even though it's external! -int foo () { - return a[0]; -} - diff --git a/test/FrontendC/2004-03-09-LargeArrayInitializers.c b/test/FrontendC/2004-03-09-LargeArrayInitializers.c deleted file mode 100644 index 265206fabb..0000000000 --- a/test/FrontendC/2004-03-09-LargeArrayInitializers.c +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -// Test that these initializers are handled efficiently - -int test(int x) { - const int XX[1000] = { 0, 0 }; - const char S [1000] = "foo"; - - const int array[] = { - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, 17, 23, 123, 123, 49, - }; - return array[x]; -} diff --git a/test/FrontendC/2004-03-15-SimpleIndirectGoto.c b/test/FrontendC/2004-03-15-SimpleIndirectGoto.c deleted file mode 100644 index a3f27b2a33..0000000000 --- a/test/FrontendC/2004-03-15-SimpleIndirectGoto.c +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int code[]={0,0,0,0,1}; -void foo(int x) { - volatile int b; - b = 0xffffffff; -} -void bar(int *pc) { - static const void *l[] = {&&lab0, &&end}; - - foo(0); - goto *l[*pc]; - lab0: - foo(0); - pc++; - goto *l[*pc]; - end: - return; -} -int main() { - bar(code); - return 0; -} diff --git a/test/FrontendC/2004-03-16-AsmRegisterCrash.c b/test/FrontendC/2004-03-16-AsmRegisterCrash.c deleted file mode 100644 index f13368c256..0000000000 --- a/test/FrontendC/2004-03-16-AsmRegisterCrash.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int foo() { -#ifdef __ppc__ - register int X __asm__("r1"); -#else - register int X __asm__("ebx"); -#endif - return X; -} diff --git a/test/FrontendC/2004-05-07-VarArrays.c b/test/FrontendC/2004-05-07-VarArrays.c deleted file mode 100644 index 3a39c4fe63..0000000000 --- a/test/FrontendC/2004-05-07-VarArrays.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -int foo(int len, char arr[][len], int X) { - return arr[X][0]; -} diff --git a/test/FrontendC/2004-05-21-IncompleteEnum.c b/test/FrontendC/2004-05-21-IncompleteEnum.c deleted file mode 100644 index 958a8d1c0e..0000000000 --- a/test/FrontendC/2004-05-21-IncompleteEnum.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -w -S %s -o - | llvm-as -o /dev/null - -void test(enum foo *X) { -} - diff --git a/test/FrontendC/2004-06-08-OpaqueStructArg.c b/test/FrontendC/2004-06-08-OpaqueStructArg.c deleted file mode 100644 index 5dfdd83c9e..0000000000 --- a/test/FrontendC/2004-06-08-OpaqueStructArg.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - struct fu; - void foo(struct fu); - void bar() { - foo; - } diff --git a/test/FrontendC/2004-06-17-UnorderedBuiltins.c b/test/FrontendC/2004-06-17-UnorderedBuiltins.c deleted file mode 100644 index 02780f0f05..0000000000 --- a/test/FrontendC/2004-06-17-UnorderedBuiltins.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -_Bool A, B, C, D, E, F, G, H; -void TestF(float X, float Y) { - A = __builtin_isgreater(X, Y); - B = __builtin_isgreaterequal(X, Y); - C = __builtin_isless(X, Y); - D = __builtin_islessequal(X, Y); - E = __builtin_islessgreater(X, Y); - F = __builtin_isunordered(X, Y); - //G = __builtin_isordered(X, Y); // Our current snapshot of GCC doesn't include this builtin - H = __builtin_isunordered(X, Y); -} -void TestD(double X, double Y) { - A = __builtin_isgreater(X, Y); - B = __builtin_isgreaterequal(X, Y); - C = __builtin_isless(X, Y); - D = __builtin_islessequal(X, Y); - E = __builtin_islessgreater(X, Y); - F = __builtin_isunordered(X, Y); - //G = __builtin_isordered(X, Y); // Our current snapshot doesn't include this builtin. FIXME - H = __builtin_isunordered(X, Y); -} diff --git a/test/FrontendC/2004-06-17-UnorderedCompares.c b/test/FrontendC/2004-06-17-UnorderedCompares.c deleted file mode 100644 index 286e7bc7cf..0000000000 --- a/test/FrontendC/2004-06-17-UnorderedCompares.c +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgcc -xc -std=c99 %s -S -o - | grep -v llvm.isunordered | not grep call - -#include <math.h> - -_Bool A, B, C, D, E, F; -void TestF(float X, float Y) { - A = __builtin_isgreater(X, Y); - B = __builtin_isgreaterequal(X, Y); - C = __builtin_isless(X, Y); - D = __builtin_islessequal(X, Y); - E = __builtin_islessgreater(X, Y); - F = __builtin_isunordered(X, Y); -} -void TestD(double X, double Y) { - A = __builtin_isgreater(X, Y); - B = __builtin_isgreaterequal(X, Y); - C = __builtin_isless(X, Y); - D = __builtin_islessequal(X, Y); - E = __builtin_islessgreater(X, Y); - F = __builtin_isunordered(X, Y); -} diff --git a/test/FrontendC/2004-06-18-VariableLengthArrayOfStructures.c b/test/FrontendC/2004-06-18-VariableLengthArrayOfStructures.c deleted file mode 100644 index 3e450a4b93..0000000000 --- a/test/FrontendC/2004-06-18-VariableLengthArrayOfStructures.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -struct S { }; - -int xxxx(int a) { - struct S comps[a]; - comps[0]; -} - diff --git a/test/FrontendC/2004-07-06-FunctionCast.c b/test/FrontendC/2004-07-06-FunctionCast.c deleted file mode 100644 index 6d80f86fa1..0000000000 --- a/test/FrontendC/2004-07-06-FunctionCast.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -static int unused_func(void) { - return 1; -} - -int foo(void) { - (void)unused_func; /* avoid compiler warning */ - return 2; -} diff --git a/test/FrontendC/2004-08-06-LargeStructTest.c b/test/FrontendC/2004-08-06-LargeStructTest.c deleted file mode 100644 index 8fbb7f8368..0000000000 --- a/test/FrontendC/2004-08-06-LargeStructTest.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - - -#define A(X) int X; -#define B(X) A(X##0) A(X##1) A(X##2) A(X##3) A(X##4) A(X##5) A(X##6) A(X##7) \ - A(X##8) A(X##9) A(X##A) A(X##B) A(X##C) A(X##D) A(X##E) A(X##F) -#define C(X) B(X##0) B(X##1) B(X##2) B(X##3) B(X##4) B(X##5) B(X##6) B(X##7) \ - B(X##8) B(X##9) B(X##A) B(X##B) B(X##C) B(X##D) B(X##E) B(X##F) - -struct foo { - C(x); // 256 - C(y); // 256 - C(z); -}; - - -int test(struct foo *F) { - return F->xA1 + F->yFF + F->zC4; -} diff --git a/test/FrontendC/2004-11-25-UnnamedBitfieldPadding.c b/test/FrontendC/2004-11-25-UnnamedBitfieldPadding.c deleted file mode 100644 index b3f4a829a9..0000000000 --- a/test/FrontendC/2004-11-25-UnnamedBitfieldPadding.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -// This is a testcase for PR461 -typedef struct { - unsigned min_align: 1; - unsigned : 1; -} addr_diff_vec_flags; - -addr_diff_vec_flags X; diff --git a/test/FrontendC/2004-11-27-InvalidConstantExpr.c b/test/FrontendC/2004-11-27-InvalidConstantExpr.c deleted file mode 100644 index ee8642fa3a..0000000000 --- a/test/FrontendC/2004-11-27-InvalidConstantExpr.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | not grep {foo\\* sub} -// This should not produce a subtrace constantexpr of a pointer -struct foo { - int Y; - char X[100]; -} F; - -int test(char *Y) { - return Y - F.X; -} diff --git a/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c b/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c deleted file mode 100644 index 994ac8f843..0000000000 --- a/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | \ -// RUN: opt -std-compile-opts -S | not grep {declare i32.*func} - -// There should not be an unresolved reference to func here. Believe it or not, -// the "expected result" is a function named 'func' which is internal and -// referenced by bar(). - -// This is PR244 - -static int func(); -void bar() { - int func(); - foo(func); -} -static int func(char** A, char ** B) {} diff --git a/test/FrontendC/2004-11-27-VariableSizeInStructure.c b/test/FrontendC/2004-11-27-VariableSizeInStructure.c deleted file mode 100644 index bd63ae3b01..0000000000 --- a/test/FrontendC/2004-11-27-VariableSizeInStructure.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o /dev/null - -// GCC allows variable sized arrays in structures, crazy! - -// This is PR360. - -int sub1(int i, char *pi) { - typedef int foo[i]; - struct bar {foo f1; int f2;} *p = (struct bar *) pi; - return p->f2; -} diff --git a/test/FrontendC/2005-01-02-ConstantInits.c b/test/FrontendC/2005-01-02-ConstantInits.c deleted file mode 100644 index 735278e0f9..0000000000 --- a/test/FrontendC/2005-01-02-ConstantInits.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -// This tests all kinds of hard cases with initializers and -// array subscripts. This corresponds to PR487. - -struct X { int a[2]; }; - -int test() { - static int i23 = (int) &(((struct X *)0)->a[1]); - return i23; -} - -int i = (int) &( ((struct X *)0) -> a[1]); - -int Arr[100]; - -int foo(int i) { return bar(&Arr[49])+bar(&Arr[i]); } -int foo2(int i) { - static const int *X = &Arr[49]; - static int i23 = (int) &( ((struct X *)0) -> a[0]); - int *P = Arr; - ++P; - return bar(Arr+i); -} diff --git a/test/FrontendC/2005-01-02-PointerDifference.c b/test/FrontendC/2005-01-02-PointerDifference.c deleted file mode 100644 index 2c108e5f6c..0000000000 --- a/test/FrontendC/2005-01-02-PointerDifference.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep -v div - -int Diff(int *P, int *Q) { return P-Q; } diff --git a/test/FrontendC/2005-01-02-VAArgError-ICE.c b/test/FrontendC/2005-01-02-VAArgError-ICE.c deleted file mode 100644 index db82558462..0000000000 --- a/test/FrontendC/2005-01-02-VAArgError-ICE.c +++ /dev/null @@ -1,10 +0,0 @@ -// This file is erroneous, but should not cause the compiler to ICE. -// PR481 -// RUN: %llvmgcc %s -S -o /dev/null |& not grep {internal compiler error} - -#include <stdarg.h> -int flags(int a, int b, ...) { - va_list args; - va_start(args,a); // not the last named arg - foo(args); -} diff --git a/test/FrontendC/2005-02-20-AggregateSAVEEXPR.c b/test/FrontendC/2005-02-20-AggregateSAVEEXPR.c deleted file mode 100644 index 7a95533033..0000000000 --- a/test/FrontendC/2005-02-20-AggregateSAVEEXPR.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc %s -o /dev/null -S -// Note: -// We fail this on Sparc because the C library seems to be missing complex.h -// and the corresponding C99 complex support. -// -// We could modify the test to use only GCC extensions, but I don't know if -// that would change the nature of the test. -// -// XFAIL: sparc - -#ifdef __CYGWIN__ - #include <mingw/complex.h> -#else - #include <complex.h> -#endif - -int foo(complex float c) { - return creal(c); -} diff --git a/test/FrontendC/2005-02-27-MarkGlobalConstant.c b/test/FrontendC/2005-02-27-MarkGlobalConstant.c deleted file mode 100644 index 6806c94c10..0000000000 --- a/test/FrontendC/2005-02-27-MarkGlobalConstant.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -xc %s -S -o - | grep {private unnamed_addr constant } - -// The synthetic global made by the CFE for big initializer should be marked -// constant. - -void bar(); -void foo() { - char Blah[] = "asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd"; - bar(Blah); -} diff --git a/test/FrontendC/2005-03-05-OffsetOfHack.c b/test/FrontendC/2005-03-05-OffsetOfHack.c deleted file mode 100644 index 8df7231df6..0000000000 --- a/test/FrontendC/2005-03-05-OffsetOfHack.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -struct s { - unsigned long int field[0]; -}; - -#define OFFS \ - (((char *) &((struct s *) 0)->field[0]) - (char *) 0) - -int foo[OFFS]; - - diff --git a/test/FrontendC/2005-03-06-OffsetOfStructCrash.c b/test/FrontendC/2005-03-06-OffsetOfStructCrash.c deleted file mode 100644 index 91e6862802..0000000000 --- a/test/FrontendC/2005-03-06-OffsetOfStructCrash.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -struct Y {}; -struct XXX { - struct Y F; -}; - -void test1() { - (int)&((struct XXX*)(((void *)0)))->F; -} - -void test2() { - &((struct XXX*)(((void *)0)))->F; -} diff --git a/test/FrontendC/2005-03-11-Prefetch.c b/test/FrontendC/2005-03-11-Prefetch.c deleted file mode 100644 index bf7965304f..0000000000 --- a/test/FrontendC/2005-03-11-Prefetch.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llvm-as | llvm-dis | grep llvm.prefetch - -void foo(int *P) { - __builtin_prefetch(P); - __builtin_prefetch(P, 1); -} diff --git a/test/FrontendC/2005-04-09-ComplexOps.c b/test/FrontendC/2005-04-09-ComplexOps.c deleted file mode 100644 index 2962b74553..0000000000 --- a/test/FrontendC/2005-04-09-ComplexOps.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -#include <math.h> -#define I 1.0iF - -double __complex test(double X) { return ~-(X*I); } - -_Bool EQ(double __complex A, double __complex B) { return A == B; } -_Bool NE(double __complex A, double __complex B) { return A != B; } diff --git a/test/FrontendC/2005-05-06-CountBuiltins.c b/test/FrontendC/2005-05-06-CountBuiltins.c deleted file mode 100644 index da40a142ae..0000000000 --- a/test/FrontendC/2005-05-06-CountBuiltins.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llvm-as | llvm-dis | not grep call.*__builtin - -int G, H, I; -void foo(int P) { - G = __builtin_clz(P); - H = __builtin_ctz(P); - I = __builtin_popcount(P); -} - -long long g, h, i; -void fooll(float P) { - g = __builtin_clzll(P); - g = __builtin_clzll(P); - h = __builtin_ctzll(P); - i = __builtin_popcountll(P); -} - diff --git a/test/FrontendC/2005-05-10-GlobalUnionInit.c b/test/FrontendC/2005-05-10-GlobalUnionInit.c deleted file mode 100644 index 443064c921..0000000000 --- a/test/FrontendC/2005-05-10-GlobalUnionInit.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -union A { // { uint } - union B { double *C; } D; -} E = { { (double*)12312 } }; - diff --git a/test/FrontendC/2005-06-15-ExpandGotoInternalProblem.c b/test/FrontendC/2005-06-15-ExpandGotoInternalProblem.c deleted file mode 100644 index 0f076c9bf7..0000000000 --- a/test/FrontendC/2005-06-15-ExpandGotoInternalProblem.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -std=c99 %s -S -o - | \ -// RUN: opt -std-compile-opts -disable-output -// PR580 - -int X, Y; -int foo() { - int i; - for (i=0; i<100; i++ ) - { - break; - i = ( X || Y ) ; - } -} - diff --git a/test/FrontendC/2005-07-20-SqrtNoErrno.c b/test/FrontendC/2005-07-20-SqrtNoErrno.c deleted file mode 100644 index a321a3884e..0000000000 --- a/test/FrontendC/2005-07-20-SqrtNoErrno.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -fno-math-errno | FileCheck %s -// llvm.sqrt has undefined behavior on negative inputs, so it is -// inappropriate to translate C/C++ sqrt to this. -#include <math.h> - -float foo(float X) { -// CHECK: foo -// CHECK: sqrtf(float %1) nounwind readonly - // Check that this is marked readonly when errno is ignored. - return sqrtf(X); -} diff --git a/test/FrontendC/2005-07-26-UnionInitCrash.c b/test/FrontendC/2005-07-26-UnionInitCrash.c deleted file mode 100644 index 563278a9c6..0000000000 --- a/test/FrontendC/2005-07-26-UnionInitCrash.c +++ /dev/null @@ -1,3 +0,0 @@ -// PR607 -// RUN: %llvmgcc %s -S -o - -union { char bytes[8]; double alignment; }EQ1 = {0,0,0,0,0,0,0,0}; diff --git a/test/FrontendC/2005-07-28-IncorrectWeakGlobal.c b/test/FrontendC/2005-07-28-IncorrectWeakGlobal.c deleted file mode 100644 index 1a8c409439..0000000000 --- a/test/FrontendC/2005-07-28-IncorrectWeakGlobal.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep TheGlobal | not grep weak - -extern int TheGlobal; -int foo() { return TheGlobal; } -int TheGlobal = 1; diff --git a/test/FrontendC/2005-09-20-ComplexConstants.c b/test/FrontendC/2005-09-20-ComplexConstants.c deleted file mode 100644 index 209adc502f..0000000000 --- a/test/FrontendC/2005-09-20-ComplexConstants.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llvm-as -o /dev/null - -const double _Complex x[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - diff --git a/test/FrontendC/2005-09-24-AsmUserPrefix.c b/test/FrontendC/2005-09-24-AsmUserPrefix.c deleted file mode 100644 index 952c7b3c35..0000000000 --- a/test/FrontendC/2005-09-24-AsmUserPrefix.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | opt -std-compile-opts | llc | \ -// RUN: not grep _foo2 - -void foo() __asm__("foo2"); - -void bar() { - foo(); -} diff --git a/test/FrontendC/2005-09-24-BitFieldCrash.c b/test/FrontendC/2005-09-24-BitFieldCrash.c deleted file mode 100644 index b4c85ffb2d..0000000000 --- a/test/FrontendC/2005-09-24-BitFieldCrash.c +++ /dev/null @@ -1,33 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -struct tree_common {}; - -struct tree_int_cst { - struct tree_common common; - struct tree_int_cst_lowhi { - unsigned long long low; - long long high; - } int_cst; -}; - -enum XXX { yyy }; - -struct tree_function_decl { - struct tree_common common; - long long locus, y; - __extension__ enum XXX built_in_class : 2; - -}; - - -union tree_node { - struct tree_int_cst int_cst; - struct tree_function_decl function_decl; -}; - - -void foo (union tree_node * decl) { - decl->function_decl.built_in_class != 0; -} - - diff --git a/test/FrontendC/2005-10-18-VariableSizedElementCrash.c b/test/FrontendC/2005-10-18-VariableSizedElementCrash.c deleted file mode 100644 index b9166621db..0000000000 --- a/test/FrontendC/2005-10-18-VariableSizedElementCrash.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -int sub1(int i, char *pi) { - typedef int foo[i]; - struct bar {foo f1; int f2:3; int f3:4;} *p = (struct bar *) pi; - xxx(p->f1); - return p->f3; -} - diff --git a/test/FrontendC/2005-12-04-AttributeUsed.c b/test/FrontendC/2005-12-04-AttributeUsed.c deleted file mode 100644 index f47e977f48..0000000000 --- a/test/FrontendC/2005-12-04-AttributeUsed.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llvm-as | llvm-dis | \ -// RUN: grep llvm.used | grep foo | grep X - -int X __attribute__((used)); -int Y; - -__attribute__((used)) void foo() {} - diff --git a/test/FrontendC/2005-12-04-DeclarationLineNumbers.c b/test/FrontendC/2005-12-04-DeclarationLineNumbers.c deleted file mode 100644 index f3f69ddb0b..0000000000 --- a/test/FrontendC/2005-12-04-DeclarationLineNumbers.c +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgcc %s -S -g -o - | grep DW_TAG_compile_unit | count 1 -// PR664: ensure that line #'s are emitted for declarations - - -short test(short br_data_0, -short br_data_1, -short br_data_2, -short br_data_3, -short br_data_4, -short br_data_5, -short br_data_6, -short br_data_7) { - -short sm07 = br_data_0 + br_data_7; -short sm16 = br_data_1 + br_data_6; -short sm25 = br_data_2 + br_data_5; -short sm34 = br_data_3 + br_data_4; -short s0734 = sm07 + sm34; -short s1625 = sm16 + sm25; - -return s0734 + s1625; -} - diff --git a/test/FrontendC/2006-01-13-Includes.c b/test/FrontendC/2006-01-13-Includes.c deleted file mode 100644 index 7fa0b3b5a6..0000000000 --- a/test/FrontendC/2006-01-13-Includes.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -g -S -o - | grep {test/FrontendC} -// PR676 - -#include <stdio.h> - -void test() { - printf("Hello World\n"); -} diff --git a/test/FrontendC/2006-01-13-StackSave.c b/test/FrontendC/2006-01-13-StackSave.c deleted file mode 100644 index ae8d908210..0000000000 --- a/test/FrontendC/2006-01-13-StackSave.c +++ /dev/null @@ -1,11 +0,0 @@ -// PR691 -// RUN: %llvmgcc %s -S -o - | opt -std-compile-opts | \ -// RUN: llvm-dis | grep llvm.stacksave - -void test(int N) { - int i; - for (i = 0; i < N; ++i) { - int VLA[i]; - external(VLA); - } -} diff --git a/test/FrontendC/2006-01-16-BitCountIntrinsicsUnsigned.c b/test/FrontendC/2006-01-16-BitCountIntrinsicsUnsigned.c deleted file mode 100644 index eafcb62814..0000000000 --- a/test/FrontendC/2006-01-16-BitCountIntrinsicsUnsigned.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep {llvm.ctlz.i32(i32} | count 3 -// RUN: %llvmgcc -S %s -o - | grep {llvm.ctlz.i32(i32} | grep declare | count 1 - -unsigned t2(unsigned X) { - return __builtin_clz(X); -} -int t1(int X) { - return __builtin_clz(X); -} diff --git a/test/FrontendC/2006-01-23-FileScopeAsm.c b/test/FrontendC/2006-01-23-FileScopeAsm.c deleted file mode 100644 index 80e7195562..0000000000 --- a/test/FrontendC/2006-01-23-FileScopeAsm.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | opt -std-compile-opts | \ -// RUN: llvm-dis | grep {foo\[12345\]} | count 5 - -__asm__ ("foo1"); -__asm__ ("foo2"); -__asm__ ("foo3"); -__asm__ ("foo4"); -__asm__ ("foo5"); diff --git a/test/FrontendC/2006-03-03-MissingInitializer.c b/test/FrontendC/2006-03-03-MissingInitializer.c deleted file mode 100644 index 5e027b1894..0000000000 --- a/test/FrontendC/2006-03-03-MissingInitializer.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | opt -std-compile-opts | \ -// RUN: llvm-dis | grep {@nate.*internal unnamed_addr global i32 0} - -struct X { int *XX; int Y;}; - -void foo() { - static int nate = 0; - struct X bob = { &nate, 14 }; - bar(&bob); -} - diff --git a/test/FrontendC/2006-03-16-VectorCtor.c b/test/FrontendC/2006-03-16-VectorCtor.c deleted file mode 100644 index b95593b121..0000000000 --- a/test/FrontendC/2006-03-16-VectorCtor.c +++ /dev/null @@ -1,10 +0,0 @@ -// Test that basic generic vector support works -// RUN: %llvmgcc %s -S -o - - -typedef int v4si __attribute__ ((__vector_size__ (16))); -void test(v4si *P, v4si *Q, float X) { - *P = (v4si){ X, X, X, X } * *Q; -} - -v4si G = (v4si){ 0.1, 1.2, 4.2, 17.2 }; - diff --git a/test/FrontendC/2006-03-17-KnRMismatch.c b/test/FrontendC/2006-03-17-KnRMismatch.c deleted file mode 100644 index 19391122fc..0000000000 --- a/test/FrontendC/2006-03-17-KnRMismatch.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -void regnode(int op); - -void regnode(op) -char op; -{ -} diff --git a/test/FrontendC/2006-05-01-AppleAlignmentPragma.c b/test/FrontendC/2006-05-01-AppleAlignmentPragma.c deleted file mode 100644 index 233968b51a..0000000000 --- a/test/FrontendC/2006-05-01-AppleAlignmentPragma.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -#ifdef __APPLE__ -/* test that X is laid out correctly when this pragma is used. */ -#pragma options align=mac68k -#endif - -struct S { - unsigned A; - unsigned short B; -} X; - diff --git a/test/FrontendC/2006-05-19-SingleEltReturn.c b/test/FrontendC/2006-05-19-SingleEltReturn.c deleted file mode 100644 index 70c94c6205..0000000000 --- a/test/FrontendC/2006-05-19-SingleEltReturn.c +++ /dev/null @@ -1,23 +0,0 @@ -// Test returning a single element aggregate value containing a double. -// RUN: %llvmgcc %s -S -o - - -struct X { - double D; -}; - -struct Y { - struct X x; -}; - -struct Y bar(); - -void foo(struct Y *P) { - *P = bar(); -} - -struct Y bar() { - struct Y a; - a.x.D = 0; - return a; -} - diff --git a/test/FrontendC/2006-07-31-PR854.c b/test/FrontendC/2006-07-31-PR854.c deleted file mode 100644 index 3802de8fc4..0000000000 --- a/test/FrontendC/2006-07-31-PR854.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -w %s -S -o - -// PR854 - struct kernel_symbol { - unsigned long value; - }; - unsigned long loops_per_jiffy = (1<<12); - static const char __kstrtab_loops_per_jiffy[] -__attribute__((section("__ksymtab_strings"))) = "loops_per_jiffy"; - static const struct kernel_symbol __ksymtab_loops_per_jiffy -__attribute__((__used__)) __attribute__((section("__ksymtab"))) = { (unsigned -long)&loops_per_jiffy, __kstrtab_loops_per_jiffy }; diff --git a/test/FrontendC/2006-09-11-BitfieldRefCrash.c b/test/FrontendC/2006-09-11-BitfieldRefCrash.c deleted file mode 100644 index d06cc3afbf..0000000000 --- a/test/FrontendC/2006-09-11-BitfieldRefCrash.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -// PR906 - -struct state_struct { - unsigned long long phys_frame: 50; - unsigned valid : 2; -} s; - -int mem_access(struct state_struct *p) { - return p->valid; -} - diff --git a/test/FrontendC/2006-09-18-fwrite-cast-crash.c b/test/FrontendC/2006-09-18-fwrite-cast-crash.c deleted file mode 100644 index a693c5666f..0000000000 --- a/test/FrontendC/2006-09-18-fwrite-cast-crash.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc %s -S -o /dev/null -// PR910 -// XFAIL: * -// See PR2452 - -struct l_struct_2E_FILE { char x; }; -unsigned fwrite(signed char *, unsigned , unsigned , signed char *); -static signed char str301[39]; -static void Usage(signed char *ltmp_611_6) { - struct l_struct_2E_FILE *ltmp_6202_16; - unsigned ltmp_6203_92; - ltmp_6203_92 = /*tail*/ ((unsigned (*) (signed char *, unsigned , unsigned , -struct l_struct_2E_FILE *))(void*)fwrite)((&(str301[0u])), 38u, 1u, ltmp_6202_16); -} - diff --git a/test/FrontendC/2006-09-21-IncompleteElementType.c b/test/FrontendC/2006-09-21-IncompleteElementType.c deleted file mode 100644 index a5091821cb..0000000000 --- a/test/FrontendC/2006-09-21-IncompleteElementType.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: not %llvmgcc %s -S -o /dev/null |& not grep {internal compiler error} - -struct A X[(927 - 37) / sizeof(struct A)]; diff --git a/test/FrontendC/2006-09-25-DebugFilename.c b/test/FrontendC/2006-09-25-DebugFilename.c deleted file mode 100644 index eea52ba760..0000000000 --- a/test/FrontendC/2006-09-25-DebugFilename.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: not %llvmgcc -xc %s -S -o /dev/null |& \ -// RUN: grep fluffy | grep 2006-09-25-DebugFilename.c -#include "2006-09-25-DebugFilename.h" -int func1() { return hfunc1(); } -int func2() { fluffy; return hfunc1(); } - diff --git a/test/FrontendC/2006-09-25-DebugFilename.h b/test/FrontendC/2006-09-25-DebugFilename.h deleted file mode 100644 index 9b03666b3c..0000000000 --- a/test/FrontendC/2006-09-25-DebugFilename.h +++ /dev/null @@ -1,6 +0,0 @@ -extern int exfunc(int a); - -static inline int hfunc1() -{ - return exfunc(1); -} diff --git a/test/FrontendC/2006-09-28-SimpleAsm.c b/test/FrontendC/2006-09-28-SimpleAsm.c deleted file mode 100644 index e3040200a6..0000000000 --- a/test/FrontendC/2006-09-28-SimpleAsm.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep {ext: xorl %eax, eax; movl} -// RUN: %llvmgcc %s -S -o - | grep {nonext: xorl %eax, %eax; mov} -// PR924 - -void bar() { - // Extended asm - asm volatile ("ext: xorl %%eax, eax; movl eax, fs; movl eax, gs %%blah %= %% " : : "r"(1)); - // Non-extended asm. - asm volatile ("nonext: xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs %%blah %= %% "); -} diff --git a/test/FrontendC/2006-10-30-ArrayCrash.c b/test/FrontendC/2006-10-30-ArrayCrash.c deleted file mode 100644 index 09464dd3a0..0000000000 --- a/test/FrontendC/2006-10-30-ArrayCrash.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s -// PR954, PR911 - -extern void foo(); - -struct S { - short f1[3]; - unsigned int f2 : 1; -}; - -void bar() -{ - struct S *A; - - if (A->f2) - foo(); -} diff --git a/test/FrontendC/2006-12-14-ordered_expr.c b/test/FrontendC/2006-12-14-ordered_expr.c deleted file mode 100644 index 8ff2eb6072..0000000000 --- a/test/FrontendC/2006-12-14-ordered_expr.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -O3 -S %s -o - | grep {fcmp ord float %X, %Y} - -int test2(float X, float Y) { - return !__builtin_isunordered(X, Y); -} - diff --git a/test/FrontendC/2007-01-06-KNR-Proto.c b/test/FrontendC/2007-01-06-KNR-Proto.c deleted file mode 100644 index 6aa74d4cb2..0000000000 --- a/test/FrontendC/2007-01-06-KNR-Proto.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S -o - %s -// PR1083 - -int svc_register (void (*dispatch) (int)); - -int svc_register (dispatch) - void (*dispatch) (); -{ -} - diff --git a/test/FrontendC/2007-01-20-VectorICE.c b/test/FrontendC/2007-01-20-VectorICE.c deleted file mode 100644 index c2dcdef194..0000000000 --- a/test/FrontendC/2007-01-20-VectorICE.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -typedef float __m128 __attribute__((__vector_size__(16))); -typedef long long __v2di __attribute__((__vector_size__(16))); -typedef int __v4si __attribute__((__vector_size__(16))); - -__v2di bar(void); -void foo(int X, __v4si *P) { - *P = X == 2 ? bar() : bar(); -} - diff --git a/test/FrontendC/2007-01-24-InlineAsmCModifier.c b/test/FrontendC/2007-01-24-InlineAsmCModifier.c deleted file mode 100644 index c601ccf2eb..0000000000 --- a/test/FrontendC/2007-01-24-InlineAsmCModifier.c +++ /dev/null @@ -1,10 +0,0 @@ -// Verify that the %c modifier works and strips off any prefixes from -// immediates. -// RUN: %llvmgcc -S %s -o - | llc | grep {pickANumber: 789514} - -void foo() { - __asm__ volatile("/* " "pickANumber" ": %c0 */"::"i"(0xC0C0A)); - - // Check that non-c modifiers work also (not greped for above). - __asm__ volatile("/* " "pickANumber2 " ": %0 */"::"i"(123)); -} diff --git a/test/FrontendC/2007-02-04-AddrLValue-2.c b/test/FrontendC/2007-02-04-AddrLValue-2.c deleted file mode 100644 index fa20faff3e..0000000000 --- a/test/FrontendC/2007-02-04-AddrLValue-2.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc %s -O3 -S -o - -// PR1173 - -struct S { char s; }; -struct T { struct S t; }; - -struct S *const p = &((struct T * const) (0x4000))->t; - -void -foo (void) -{ - p->s = 0; -} diff --git a/test/FrontendC/2007-02-04-AddrLValue.c b/test/FrontendC/2007-02-04-AddrLValue.c deleted file mode 100644 index 214fce7747..0000000000 --- a/test/FrontendC/2007-02-04-AddrLValue.c +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgcc %s -O3 -S -o - -// PR1176 - -typedef struct -{ - char *key; - char *value; -} T1; - -typedef struct -{ - long type; - char *value; -} T3; - -T1 a[] = -{ - { - "", - ((char *)&((T3) {1, (char *) 1})) - } -}; - diff --git a/test/FrontendC/2007-02-04-EmptyStruct.c b/test/FrontendC/2007-02-04-EmptyStruct.c deleted file mode 100644 index 5ad2c705cc..0000000000 --- a/test/FrontendC/2007-02-04-EmptyStruct.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -O3 -S -o - -// PR1175 - -struct empty { }; - -void foo(struct empty *p) { - p++; -} - diff --git a/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c b/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c deleted file mode 100644 index d5a9fbb0ec..0000000000 --- a/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgcc %s -O3 -S -o - -// PR1174 - -void zzz (char *s1, char *s2, int len, int *q) -{ - int z = 5; - unsigned int i, b; - struct { char a[z]; } x; - - for (i = 0; i < len; i++) - s1[i] = s2[i]; - - b = z & 0x3; - - len += (b == 0 ? 0 : 1) + z; - - *q = len; - - foo (x, x); -} - diff --git a/test/FrontendC/2007-02-05-nested.c b/test/FrontendC/2007-02-05-nested.c deleted file mode 100644 index bd6d30695b..0000000000 --- a/test/FrontendC/2007-02-05-nested.c +++ /dev/null @@ -1,54 +0,0 @@ -// RUN: %llvmgcc -S -fnested-functions -O0 -o - %s -// PR915 - -extern void abort(void); - -void nest(int n) -{ - int a = 0; - int b = 5; - int c = 0; - int d = 7; - - void o(int i, int j) - { - if (i!=j) - abort(); - } - - void f(x) - int x; /* K&R style */ - { - int e = 0; - int f = 2; - int g = 0; - - void y(void) - { - c = n; - e = 1; - g = x; - } - - void z(void) - { - a = 4; - g = 3; - } - - a = 5; - y(); - c = x; - z(); - o(1,e); - o(2,f); - o(3,g); - } - - c = 2; - f(6); - o(4,a); - o(5,b); - o(6,c); - o(7,d); -} diff --git a/test/FrontendC/2007-02-07-AddrLabel.c b/test/FrontendC/2007-02-07-AddrLabel.c deleted file mode 100644 index 03ed4c987e..0000000000 --- a/test/FrontendC/2007-02-07-AddrLabel.c +++ /dev/null @@ -1,10 +0,0 @@ -// PR947 -// RUN: %llvmgcc %s -S -o - - -void foo() { - void *ptr; - label: - ptr = &&label; - - goto *ptr; - } diff --git a/test/FrontendC/2007-02-16-VariableSizeStructArg.c b/test/FrontendC/2007-02-16-VariableSizeStructArg.c deleted file mode 100644 index ec6971acdb..0000000000 --- a/test/FrontendC/2007-02-16-VariableSizeStructArg.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S -w %s -o - -// PR1170 -int f(int a, struct {int b[a];} c) { return c.b[0]; } - -int g(struct {int b[1];} c) { - return c.b[0]; -} diff --git a/test/FrontendC/2007-02-16-VoidPtrDiff.c b/test/FrontendC/2007-02-16-VoidPtrDiff.c deleted file mode 100644 index 15df28cae3..0000000000 --- a/test/FrontendC/2007-02-16-VoidPtrDiff.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -void foo(void *ptr, int test) { - (ptr - ((void *) test + 0x2000)); -} diff --git a/test/FrontendC/2007-02-16-WritableStrings.c b/test/FrontendC/2007-02-16-WritableStrings.c deleted file mode 100644 index 8fa7f15dc6..0000000000 --- a/test/FrontendC/2007-02-16-WritableStrings.c +++ /dev/null @@ -1,7 +0,0 @@ -// Test the -fwritable-strings option. - -// RUN: %llvmgcc -O3 -S -o - -fwritable-strings %s | \ -// RUN: grep {internal unnamed_addr global} -// RUN: %llvmgcc -O3 -S -o - %s | grep {private unnamed_addr constant} - -char *X = "foo"; diff --git a/test/FrontendC/2007-02-25-C-DotDotDot.c b/test/FrontendC/2007-02-25-C-DotDotDot.c deleted file mode 100644 index 3f96fd1f9e..0000000000 --- a/test/FrontendC/2007-02-25-C-DotDotDot.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -O0 -S -o - -fno-inline -fno-unit-at-a-time %s | \ -// RUN: grep {call float @foo} - -// Make sure the call to foo is compiled as: -// call float @foo() -// not -// call float (...)* bitcast (float ()* @foo to float (...)*)( ) - -static float foo() { return 0.0; } -float bar() { return foo()*10.0;} - - diff --git a/test/FrontendC/2007-03-01-VarSizeArrayIdx.c b/test/FrontendC/2007-03-01-VarSizeArrayIdx.c deleted file mode 100644 index 6ebe79672f..0000000000 --- a/test/FrontendC/2007-03-01-VarSizeArrayIdx.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -O3 -S -o - | grep mul -// PR1233 - -float foo(int w, float A[][w], int g, int h) { - return A[g][0]; -} - diff --git a/test/FrontendC/2007-03-05-DataLayout.c b/test/FrontendC/2007-03-05-DataLayout.c deleted file mode 100644 index 18819f1690..0000000000 --- a/test/FrontendC/2007-03-05-DataLayout.c +++ /dev/null @@ -1,53 +0,0 @@ -// Testcase for PR1242 -// RUN: %llvmgcc -S %s -o - | grep datalayout | \ -// RUN: not grep {"\[Ee\]-p:\[36\]\[24\]:\[36\]\[24\]"} -// END. -#include <stdlib.h> -#define NDIM 3 -#define BODY 01 -typedef double vector[NDIM]; -typedef struct bnode* bodyptr; -// { i16, double, [3 x double], i32, i32, [3 x double], [3 x double], [3 x -// double], double, \2 *, \2 * } -struct bnode { - short int type; - double mass; - vector pos; - int proc; - int new_proc; - vector vel; - vector acc; - vector new_acc; - double phi; - bodyptr next; - bodyptr proc_next; -} body; - -#define Type(x) ((x)->type) -#define Mass(x) ((x)->mass) -#define Pos(x) ((x)->pos) -#define Proc(x) ((x)->proc) -#define New_Proc(x) ((x)->new_proc) -#define Vel(x) ((x)->vel) -#define Acc(x) ((x)->acc) -#define New_Acc(x) ((x)->new_acc) -#define Phi(x) ((x)->phi) -#define Next(x) ((x)->next) -#define Proc_Next(x) ((x)->proc_next) - -bodyptr ubody_alloc(int p) -{ - register bodyptr tmp; - tmp = (bodyptr)malloc(sizeof(body)); - - Type(tmp) = BODY; - Proc(tmp) = p; - Proc_Next(tmp) = NULL; - New_Proc(tmp) = p; - return tmp; -} - -int main(int argc, char** argv) { - bodyptr b = ubody_alloc(17); - return 0; -} diff --git a/test/FrontendC/2007-03-06-VarSizeInStruct1.c b/test/FrontendC/2007-03-06-VarSizeInStruct1.c deleted file mode 100644 index b4ae565493..0000000000 --- a/test/FrontendC/2007-03-06-VarSizeInStruct1.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -w -S -o - -void* p (int n) { - struct f { - char w; char x[n]; char z[]; - } F; - F.x[0]='x'; - return &F; -} diff --git a/test/FrontendC/2007-03-06-VarSizeInStruct2.c b/test/FrontendC/2007-03-06-VarSizeInStruct2.c deleted file mode 100644 index 13bc3aaf9a..0000000000 --- a/test/FrontendC/2007-03-06-VarSizeInStruct2.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -char p (int n) { - struct f { - char w; char x[n]; char y[n]; - } F; - - return F.x[0]; -} diff --git a/test/FrontendC/2007-03-26-BitfieldAfterZeroWidth.c b/test/FrontendC/2007-03-26-BitfieldAfterZeroWidth.c deleted file mode 100644 index 9b6a8690a3..0000000000 --- a/test/FrontendC/2007-03-26-BitfieldAfterZeroWidth.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -struct W {}; -struct Y { - struct W w; - int i:1; -} __attribute__ ((packed)) y; diff --git a/test/FrontendC/2007-03-26-ZeroWidthBitfield.c b/test/FrontendC/2007-03-26-ZeroWidthBitfield.c deleted file mode 100644 index 89bfb8e1cb..0000000000 --- a/test/FrontendC/2007-03-26-ZeroWidthBitfield.c +++ /dev/null @@ -1,2 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -struct Z { int :0; } z; diff --git a/test/FrontendC/2007-03-27-ArrayCompatible.c b/test/FrontendC/2007-03-27-ArrayCompatible.c deleted file mode 100644 index fa3d2db23c..0000000000 --- a/test/FrontendC/2007-03-27-ArrayCompatible.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S %s -O2 -o - | grep {ret i8 0} -static char c(int n) { - char x[2][n]; - x[1][0]=0; - return *(n+(char *)x); -} - -char d(void) { - return c(2); -} diff --git a/test/FrontendC/2007-03-27-VarLengthArray.c b/test/FrontendC/2007-03-27-VarLengthArray.c deleted file mode 100644 index b555690068..0000000000 --- a/test/FrontendC/2007-03-27-VarLengthArray.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep {getelementptr inbounds \\\[0 x i32\\\]} -extern void f(int *); -int e(int m, int n) { - int x[n]; - f(x); - return x[m]; -} diff --git a/test/FrontendC/2007-04-05-PackedBitFields-2.c b/test/FrontendC/2007-04-05-PackedBitFields-2.c deleted file mode 100644 index d9db4206c1..0000000000 --- a/test/FrontendC/2007-04-05-PackedBitFields-2.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -# define pck __attribute__((packed)) - - -struct pck F { - unsigned long long i : 12, - j : 23, - k : 27, - l; -}; -struct F f1; - -void foo() { - f1.l = 5; -} diff --git a/test/FrontendC/2007-04-05-PackedBitFields.c b/test/FrontendC/2007-04-05-PackedBitFields.c deleted file mode 100644 index f9de35639b..0000000000 --- a/test/FrontendC/2007-04-05-PackedBitFields.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -# define pck __attribute__((packed)) - - -struct pck E { - unsigned long long l, - i : 12, - j : 23, - k : 29; }; - -struct E e1; - -void foo() { - e1.k = 5; -} diff --git a/test/FrontendC/2007-04-05-PackedStruct.c b/test/FrontendC/2007-04-05-PackedStruct.c deleted file mode 100644 index 0d524c489e..0000000000 --- a/test/FrontendC/2007-04-05-PackedStruct.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -#pragma pack(push, 2) - -enum { - tA = 0, - tB = 1 -}; - -struct MyStruct { - unsigned long A; - char C; - void * B; -}; - -void bar(){ -struct MyStruct MS = { tB, 0 }; -} diff --git a/test/FrontendC/2007-04-05-PadBeforeZeroLengthField.c b/test/FrontendC/2007-04-05-PadBeforeZeroLengthField.c deleted file mode 100644 index acc3821992..0000000000 --- a/test/FrontendC/2007-04-05-PadBeforeZeroLengthField.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -struct c__ { unsigned int type:4; }; -union A { struct c__ c; } __attribute__((aligned(8))); -struct B { - unsigned int retainCount; - union A objects[]; -}; -void foo(union A * objects, struct B *array, unsigned long k) -{ array->objects[k] = objects[k]; } diff --git a/test/FrontendC/2007-04-05-UnPackedStruct.c b/test/FrontendC/2007-04-05-UnPackedStruct.c deleted file mode 100644 index 9e168ed34f..0000000000 --- a/test/FrontendC/2007-04-05-UnPackedStruct.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - - -enum { - tA = 0, - tB = 1 -}; - -struct MyStruct { - unsigned long A; - void * B; -}; - -void bar(){ -struct MyStruct MS = { tB, 0 }; -} diff --git a/test/FrontendC/2007-04-11-InlineAsmStruct.c b/test/FrontendC/2007-04-11-InlineAsmStruct.c deleted file mode 100644 index 6c6c150990..0000000000 --- a/test/FrontendC/2007-04-11-InlineAsmStruct.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llc - -struct V { short X, Y; }; -int bar() { - struct V bar; - __asm__ volatile("foo %0\n" : "=r"(bar)); - return bar.X; -} - diff --git a/test/FrontendC/2007-04-11-InlineAsmUnion.c b/test/FrontendC/2007-04-11-InlineAsmUnion.c deleted file mode 100644 index 014470102d..0000000000 --- a/test/FrontendC/2007-04-11-InlineAsmUnion.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llc - -union U { int x; float p; }; -void foo() { - union U bar; - __asm__ volatile("foo %0\n" : "=r"(bar)); -} diff --git a/test/FrontendC/2007-04-11-InlineStorageClassC89.c b/test/FrontendC/2007-04-11-InlineStorageClassC89.c deleted file mode 100644 index 834fb07a26..0000000000 --- a/test/FrontendC/2007-04-11-InlineStorageClassC89.c +++ /dev/null @@ -1,46 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | grep define | grep xglobWeak | \ -// RUN: grep weak | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | grep xextWeak | \ -// RUN: grep weak | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | \ -// RUN: grep xWeaknoinline | grep weak | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | \ -// RUN: grep xWeakextnoinline | grep weak | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | \ -// RUN: grep xglobnoWeak | grep -v internal | grep -v weak | \ -// RUN: grep -v linkonce | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | \ -// RUN: grep xstatnoWeak | grep internal | count 1 -// RUN: %llvmgcc %s -S -O0 -o - | grep define | \ -// RUN: grep xextnoWeak | grep available_externally | grep -v weak | \ -// RUN: grep -v 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-11-InlineStorageClassC99.c b/test/FrontendC/2007-04-11-InlineStorageClassC99.c deleted file mode 100644 index 6031071e34..0000000000 --- a/test/FrontendC/2007-04-11-InlineStorageClassC99.c +++ /dev/null @@ -1,46 +0,0 @@ -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep declare | \ -// RUN: grep xglobWeak | grep extern_weak | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xextWeak | grep weak | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xWeaknoinline | grep weak | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xWeakextnoinline | grep weak | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xglobnoWeak | grep available_externally | grep -v weak | \ -// RUN: grep -v linkonce | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xstatnoWeak | grep internal | count 1 -// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \ -// RUN: grep xextnoWeak | grep -v available_externally | grep -v weak | \ -// RUN: grep -v 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-11-PR1321.c b/test/FrontendC/2007-04-11-PR1321.c deleted file mode 100644 index f391329a0f..0000000000 --- a/test/FrontendC/2007-04-11-PR1321.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o /dev/null - -struct X { - unsigned int e0 : 17; - unsigned int e1 : 17; - unsigned int e2 : 17; - unsigned int e3 : 17; - unsigned int e4 : 17; - unsigned int e5 : 17; - unsigned int e6 : 17; - unsigned int e7 : 17; -} __attribute__((packed)) x; diff --git a/test/FrontendC/2007-04-13-InlineAsmStruct2.c b/test/FrontendC/2007-04-13-InlineAsmStruct2.c deleted file mode 100644 index 44ddeb3f95..0000000000 --- a/test/FrontendC/2007-04-13-InlineAsmStruct2.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep {call void asm} - -struct V { short X, Y; }; -int bar() { - struct V bar; - __asm__ volatile("foo %0\n" :: "r"(bar)); - return bar.X; -} - diff --git a/test/FrontendC/2007-04-13-InlineAsmUnion2.c b/test/FrontendC/2007-04-13-InlineAsmUnion2.c deleted file mode 100644 index a0944a7b64..0000000000 --- a/test/FrontendC/2007-04-13-InlineAsmUnion2.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep {call void asm} - -union U { int x; char* p; }; -void foo() { - union U bar; - __asm__ volatile("foo %0\n" :: "r"(bar)); -} diff --git a/test/FrontendC/2007-04-14-FNoBuiltin.c b/test/FrontendC/2007-04-14-FNoBuiltin.c deleted file mode 100644 index 88bf0e0143..0000000000 --- a/test/FrontendC/2007-04-14-FNoBuiltin.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -O2 -fno-builtin -o - | grep call.*printf -// Check that -fno-builtin is honored. - -extern int printf(const char*, ...); -void foo(const char *msg) { - printf("%s\n",msg); -} diff --git a/test/FrontendC/2007-04-17-ZeroSizeBitFields.c b/test/FrontendC/2007-04-17-ZeroSizeBitFields.c deleted file mode 100644 index ec7b7ea273..0000000000 --- a/test/FrontendC/2007-04-17-ZeroSizeBitFields.c +++ /dev/null @@ -1,4 +0,0 @@ -// PR 1332 -// RUN: %llvmgcc %s -S -o /dev/null - -struct Z { int a:1; int :0; int c:1; } z; diff --git a/test/FrontendC/2007-04-24-VolatileStructCopy.c b/test/FrontendC/2007-04-24-VolatileStructCopy.c deleted file mode 100644 index d49e75e025..0000000000 --- a/test/FrontendC/2007-04-24-VolatileStructCopy.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s | grep {volatile store} -// PR1352 - -struct foo { - int x; -}; - -void copy(volatile struct foo *p, struct foo *q) { - *p = *q; -} diff --git a/test/FrontendC/2007-04-24-bit-not-expr.c b/test/FrontendC/2007-04-24-bit-not-expr.c deleted file mode 100644 index fab0b90bb1..0000000000 --- a/test/FrontendC/2007-04-24-bit-not-expr.c +++ /dev/null @@ -1,7 +0,0 @@ -// PR 1346 -// RUN: %llvmgcc -S %s -o /dev/null -extern bar(void *); - -void f(void *cd) { - bar(((void *)((unsigned long)(cd) ^ -1))); -} diff --git a/test/FrontendC/2007-04-24-str-const.c b/test/FrontendC/2007-04-24-str-const.c deleted file mode 100644 index 3c3dab372a..0000000000 --- a/test/FrontendC/2007-04-24-str-const.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -static char *str; - -static const struct { - const char *name; - unsigned type; -} scan_special[] = { - {"shift", 1}, - {0, 0} -}; - -static void -sb(void) -{ - while (*str == ' ' || *str == '\t') - str++; -} diff --git a/test/FrontendC/2007-05-07-NestedStructReturn.c b/test/FrontendC/2007-05-07-NestedStructReturn.c deleted file mode 100644 index aea58e3ae8..0000000000 --- a/test/FrontendC/2007-05-07-NestedStructReturn.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc %s -S -fnested-functions -o - | grep {sret *%agg.result} - -struct X { long m, n, o, p; }; - -struct X p(int n) { - struct X c(int m) { - struct X x; - x.m = m; - x.n = n; - return x; - } - return c(n); -} diff --git a/test/FrontendC/2007-05-07-PaddingElements.c b/test/FrontendC/2007-05-07-PaddingElements.c deleted file mode 100644 index 1e4f4d0a75..0000000000 --- a/test/FrontendC/2007-05-07-PaddingElements.c +++ /dev/null @@ -1,12 +0,0 @@ -// PR 1278 -// RUN: %llvmgcc %s -S -O0 -o - | grep {struct.s} | not grep "4 x i8] zeroinitializer" -// RUN: %llvmgcc %s -S -O0 -o - | not grep "i32 0, i32 2" -struct s { - double d1; - int s1; -}; - -struct s foo(void) { - struct s S = {1.1, 2}; - return S; -} diff --git a/test/FrontendC/2007-05-08-PCH.c b/test/FrontendC/2007-05-08-PCH.c deleted file mode 100644 index aa277ece99..0000000000 --- a/test/FrontendC/2007-05-08-PCH.c +++ /dev/null @@ -1,7 +0,0 @@ -// PR 1400 -// RUN: %llvmgcc -x c-header %s -o /dev/null - -int main() { - return 0; -} - diff --git a/test/FrontendC/2007-05-11-str-const.c b/test/FrontendC/2007-05-11-str-const.c deleted file mode 100644 index 46a74c19e0..0000000000 --- a/test/FrontendC/2007-05-11-str-const.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S -g %s -o /dev/null - -static unsigned char out[]={0,1}; -static const unsigned char str1[]="1"; - diff --git a/test/FrontendC/2007-05-15-PaddingElement.c b/test/FrontendC/2007-05-15-PaddingElement.c deleted file mode 100644 index bad6a11dae..0000000000 --- a/test/FrontendC/2007-05-15-PaddingElement.c +++ /dev/null @@ -1,23 +0,0 @@ -// PR 1419 - -// RUN: %llvmgcc -xc -O2 %s -S -o - | grep "ret i32 1" -struct A { - short x; - long long :0; -}; - -struct B { - char a; - char b; - unsigned char i; -}; - -union X { struct A a; struct B b; }; - -int check(void) { - union X x, y; - - y.b.i = 0xff; - x = y; - return (x.b.i == 0xff); -} diff --git a/test/FrontendC/2007-05-16-EmptyStruct.c b/test/FrontendC/2007-05-16-EmptyStruct.c deleted file mode 100644 index 7b2ab61bcc..0000000000 --- a/test/FrontendC/2007-05-16-EmptyStruct.c +++ /dev/null @@ -1,5 +0,0 @@ -// PR 1417 - -// RUN: %llvmgcc -xc %s -S -o - | grep "struct.anon = type \{\}" - -struct { } *X; diff --git a/test/FrontendC/2007-05-29-UnionCopy.c b/test/FrontendC/2007-05-29-UnionCopy.c deleted file mode 100644 index 95ab388c84..0000000000 --- a/test/FrontendC/2007-05-29-UnionCopy.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S -o - %s | grep memcpy -// PR1421 - -struct A { - char c; - int i; -}; - -struct B { - int c; - unsigned char x; -}; - -union U { struct A a; struct B b; }; - -void check(union U *u, union U *v) { - *u = *v; -} diff --git a/test/FrontendC/2007-06-05-NoInlineAttribute.c b/test/FrontendC/2007-06-05-NoInlineAttribute.c deleted file mode 100644 index 9543538fb1..0000000000 --- a/test/FrontendC/2007-06-05-NoInlineAttribute.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -O2 -S %s -o - | grep call - -static int bar(int x, int y) __attribute__((noinline)); - -static int bar(int x, int y) -{ - return x + y; -} - -int foo(int a, int b) { - return bar(b, a); -} - diff --git a/test/FrontendC/2007-06-15-AnnotateAttribute.c b/test/FrontendC/2007-06-15-AnnotateAttribute.c deleted file mode 100644 index 115c3f73b9..0000000000 --- a/test/FrontendC/2007-06-15-AnnotateAttribute.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep llvm.global.annotations -// RUN: %llvmgcc -S %s -o - | grep llvm.var.annotation | count 3 - -#include <stdio.h> - -/* Global variable with attribute */ -int X __attribute__((annotate("GlobalValAnnotation"))); - -/* Function with attribute */ -int foo(int y) __attribute__((annotate("GlobalValAnnotation"))) - __attribute__((noinline)); - -int foo(int y __attribute__((annotate("LocalValAnnotation")))) { - int x __attribute__((annotate("LocalValAnnotation"))); - x = 34; - return y + x; -} - -int main() { - static int a __attribute__((annotate("GlobalValAnnotation"))); - a = foo(2); - printf("hello world%d\n", a); - return 0; -} diff --git a/test/FrontendC/2007-06-18-SextAttrAggregate.c b/test/FrontendC/2007-06-18-SextAttrAggregate.c deleted file mode 100644 index c395db220d..0000000000 --- a/test/FrontendC/2007-06-18-SextAttrAggregate.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -o - -S -O3 | grep {i8 signext} -// PR1513 - -struct s{ -long a; -long b; -}; - -void f(struct s a, char *b, signed char C) { - -} diff --git a/test/FrontendC/2007-07-29-RestrictPtrArg.c b/test/FrontendC/2007-07-29-RestrictPtrArg.c deleted file mode 100644 index 5925d972b2..0000000000 --- a/test/FrontendC/2007-07-29-RestrictPtrArg.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep noalias - -void foo(int * __restrict myptr1, int * myptr2) { - myptr1[0] = 0; - myptr2[0] = 0; -} diff --git a/test/FrontendC/2007-08-01-LoadStoreAlign.c b/test/FrontendC/2007-08-01-LoadStoreAlign.c deleted file mode 100644 index 5365c06c25..0000000000 --- a/test/FrontendC/2007-08-01-LoadStoreAlign.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s | grep {align 1} | count 2 -// RUN: %llvmgcc -O3 -S -o - %s | llc - -struct p { - char a; - int b; -} __attribute__ ((packed)); - -struct p t = { 1, 10 }; -struct p u; - -int main () { - int tmp = t.b; - u.b = tmp; - return tmp; - -} diff --git a/test/FrontendC/2007-08-21-ComplexCst.c b/test/FrontendC/2007-08-21-ComplexCst.c deleted file mode 100644 index ebdee14bba..0000000000 --- a/test/FrontendC/2007-08-21-ComplexCst.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -O2 -S %s -o /dev/null -void f(_Complex float z); -void g() { f(1.0i); } diff --git a/test/FrontendC/2007-08-22-CTTZ.c b/test/FrontendC/2007-08-22-CTTZ.c deleted file mode 100644 index 9e74f24cdc..0000000000 --- a/test/FrontendC/2007-08-22-CTTZ.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -O2 -S -o - %s | grep {llvm.cttz.i64} | count 2 -// RUN: %llvmgcc -O2 -S -o - %s | not grep {lshr} - -int bork(unsigned long long x) { - return __builtin_ctzll(x); -} diff --git a/test/FrontendC/2007-09-05-ConstCtor.c b/test/FrontendC/2007-09-05-ConstCtor.c deleted file mode 100644 index adae4a69b1..0000000000 --- a/test/FrontendC/2007-09-05-ConstCtor.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -xc -Os -S %s -o /dev/null -// PR1641 - -struct A { - unsigned long l; -}; - -void bar(struct A *a); - -void bork() { - const unsigned long vcgt = 1234; - struct A a = { vcgt }; - bar(&a); -} diff --git a/test/FrontendC/2007-09-12-PragmaPack.c b/test/FrontendC/2007-09-12-PragmaPack.c deleted file mode 100644 index 4fc7f48be0..0000000000 --- a/test/FrontendC/2007-09-12-PragmaPack.c +++ /dev/null @@ -1,30 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s | grep {18} - -#include <stdint.h> - -#pragma pack(push, 1) -typedef struct -{ - uint32_t a; -} foo; - -typedef struct { - uint8_t major; - uint8_t minor; - uint16_t build; -} VERSION; - -typedef struct { - uint8_t a[5]; - VERSION version; - uint8_t b; - foo d; - uint32_t guard; -} bar; -#pragma pack(pop) - - -unsigned barsize(void) { - return sizeof(bar); -} - diff --git a/test/FrontendC/2007-09-14-NegatePointer.c b/test/FrontendC/2007-09-14-NegatePointer.c deleted file mode 100644 index cb49e46ddb..0000000000 --- a/test/FrontendC/2007-09-14-NegatePointer.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR1662 - -int foo(unsigned char *test) { - return 0U - (unsigned int )test; -} - diff --git a/test/FrontendC/2007-09-17-WeakRef.c b/test/FrontendC/2007-09-17-WeakRef.c deleted file mode 100644 index 6c420ea38a..0000000000 --- a/test/FrontendC/2007-09-17-WeakRef.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -O1 -S %s -o - | grep icmp -// PR1678 - -extern void B (void); -static __typeof(B) A __attribute__ ((__weakref__("B"))); -int active (void) -{ - static void *const p = __extension__ (void *) &A; - return p != 0; -} diff --git a/test/FrontendC/2007-09-20-GcrootAttribute.c b/test/FrontendC/2007-09-20-GcrootAttribute.c deleted file mode 100644 index b67b474c4c..0000000000 --- a/test/FrontendC/2007-09-20-GcrootAttribute.c +++ /dev/null @@ -1,29 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep llvm.gcroot -// RUN: %llvmgcc -S %s -o - | grep llvm.gcroot | count 6 -// RUN: %llvmgcc -S %s -o - | llvm-as - -typedef struct foo_s -{ - int a; -} foo, __attribute__ ((gcroot)) *foo_p; - -foo my_foo; - -int alpha () -{ - foo my_foo2 = my_foo; - - return my_foo2.a; -} - -int bar (foo a) -{ - foo_p b; - return b->a; -} - -foo_p baz (foo_p a, foo_p b, foo_p *c) -{ - a = b = *c; - return a; -} diff --git a/test/FrontendC/2007-09-26-Alignment.c b/test/FrontendC/2007-09-26-Alignment.c deleted file mode 100644 index 1638fed058..0000000000 --- a/test/FrontendC/2007-09-26-Alignment.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep {align 16} -extern p(int *); -int q(void) { - int x __attribute__ ((aligned (16))); - p(&x); - return x; -} diff --git a/test/FrontendC/2007-09-27-ComplexIntCompare.c b/test/FrontendC/2007-09-27-ComplexIntCompare.c deleted file mode 100644 index 50626e548c..0000000000 --- a/test/FrontendC/2007-09-27-ComplexIntCompare.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR1708 - -#include <stdlib.h> - -struct s { _Complex unsigned short x; }; -struct s gs = { 100 + 200i }; -struct s __attribute__((noinline)) foo (void) { return gs; } - -int main () -{ - if (foo ().x != gs.x) - abort (); - exit (0); -} - - diff --git a/test/FrontendC/2007-09-28-PackedUnionMember.c b/test/FrontendC/2007-09-28-PackedUnionMember.c deleted file mode 100644 index 79f48ceaee..0000000000 --- a/test/FrontendC/2007-09-28-PackedUnionMember.c +++ /dev/null @@ -1,38 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -#pragma pack(push, 2) -struct H { - unsigned long f1; - unsigned long f2; - union { - struct opaque1 *f3; - struct opaque2 *f4; - struct { - struct opaque3 *f5; - unsigned short f6; - } f7; - } f8; -}; -#pragma pack(pop) - -struct E { - unsigned long f1; - unsigned long f2; -}; - -typedef long (*FuncPtr) (); - -extern long bork(FuncPtr handler, const struct E *list); - -static long hndlr() -{ - struct H cmd = { 4, 412 }; - return 0; -} -void foo(void *inWindow) { - static const struct E events[] = { - { 123124, 1 } - }; - bork(hndlr, events); -} - diff --git a/test/FrontendC/2007-10-01-BuildArrayRef.c b/test/FrontendC/2007-10-01-BuildArrayRef.c deleted file mode 100644 index e87a5b6305..0000000000 --- a/test/FrontendC/2007-10-01-BuildArrayRef.c +++ /dev/null @@ -1,20 +0,0 @@ -// RUN: not %llvmgcc_only -c %s -o /dev/null |& FileCheck %s -// PR 1603 -void func() -{ - const int *arr; - arr[0] = 1; // CHECK: error: assignment of read-only location -} - -struct foo { - int bar; -}; -struct foo sfoo = { 0 }; - -int func2() -{ - const struct foo *fp; - fp = &sfoo; - fp[0].bar = 1; // CHECK: error: assignment of read-only member 'bar' - return sfoo.bar; -} diff --git a/test/FrontendC/2007-10-02-VolatileArray.c b/test/FrontendC/2007-10-02-VolatileArray.c deleted file mode 100644 index 7e8bf24a84..0000000000 --- a/test/FrontendC/2007-10-02-VolatileArray.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep volatile -// PR1647 - -void foo(volatile int *p) -{ -p[0] = 0; -} diff --git a/test/FrontendC/2007-10-15-VoidPtr.c b/test/FrontendC/2007-10-15-VoidPtr.c deleted file mode 100644 index c5948b93e1..0000000000 --- a/test/FrontendC/2007-10-15-VoidPtr.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -void bork(void **data) { - (*(unsigned short *) (&(data[37])[927]) = 0); -} diff --git a/test/FrontendC/2007-10-30-Volatile.c b/test/FrontendC/2007-10-30-Volatile.c deleted file mode 100644 index 7a75b05d5d..0000000000 --- a/test/FrontendC/2007-10-30-Volatile.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -Wall -Werror -void bork() { - char * volatile p; - volatile int cc; - p += cc; -} diff --git a/test/FrontendC/2007-11-07-AlignedMemcpy.c b/test/FrontendC/2007-11-07-AlignedMemcpy.c deleted file mode 100644 index eb9d22c625..0000000000 --- a/test/FrontendC/2007-11-07-AlignedMemcpy.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -void bork() { - int Qux[33] = {0}; -} diff --git a/test/FrontendC/2007-11-07-CopyAggregateAlign.c b/test/FrontendC/2007-11-07-CopyAggregateAlign.c deleted file mode 100644 index 8bd94b00a7..0000000000 --- a/test/FrontendC/2007-11-07-CopyAggregateAlign.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep "align 2" | count 6 -struct A { char s, t, u, v; short a; }; -void q() { struct A a, b; a = b; } diff --git a/test/FrontendC/2007-11-07-ZeroAggregateAlign.c b/test/FrontendC/2007-11-07-ZeroAggregateAlign.c deleted file mode 100644 index 424120d6c2..0000000000 --- a/test/FrontendC/2007-11-07-ZeroAggregateAlign.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep "align 2" -struct A { short s; short t; int i; }; -void q() { struct A a = {0}; } diff --git a/test/FrontendC/2007-11-27-SExtZExt.c b/test/FrontendC/2007-11-27-SExtZExt.c deleted file mode 100644 index 8ea4786af3..0000000000 --- a/test/FrontendC/2007-11-27-SExtZExt.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep "signext" | count 4 - -signed char foo1() { return 1; } - -void foo2(signed short a) { } - -signed char foo3(void) { return 1; } - -void foo4(a) signed short a; { } - - - diff --git a/test/FrontendC/2007-11-28-GlobalInitializer.c b/test/FrontendC/2007-11-28-GlobalInitializer.c deleted file mode 100644 index c8c7a594d0..0000000000 --- a/test/FrontendC/2007-11-28-GlobalInitializer.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR1744 -typedef struct foo { int x; char *p; } FOO; -extern FOO yy[]; - -int *y = &((yy + 1)->x); -void *z = &((yy + 1)->x); - diff --git a/test/FrontendC/2007-12-16-AsmNoUnwind.c b/test/FrontendC/2007-12-16-AsmNoUnwind.c deleted file mode 100644 index b080e6a511..0000000000 --- a/test/FrontendC/2007-12-16-AsmNoUnwind.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep nounwind - -void bar() { asm (""); } diff --git a/test/FrontendC/2007-12-VarArrayDebug.c b/test/FrontendC/2007-12-VarArrayDebug.c deleted file mode 100644 index 966789eef3..0000000000 --- a/test/FrontendC/2007-12-VarArrayDebug.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S -g -O %s -o - | llc -// RUN: %llvmgcc -S -g %s -o - | llc - -extern void foo (void); - -static -void baz (int i) -{ - foo (); - typedef char A[i]; - struct { A b; } *x = 0; -} - -void -bar (i) -{ - baz (i); -} diff --git a/test/FrontendC/2008-01-04-WideBitfield.c b/test/FrontendC/2008-01-04-WideBitfield.c deleted file mode 100644 index a0045a4027..0000000000 --- a/test/FrontendC/2008-01-04-WideBitfield.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -S -o - %s -// PR1386 -#include <stdint.h> - -struct X { - unsigned char pad : 4; - uint64_t a : 64; -} __attribute__((packed)) x; - -uint64_t f(void) -{ - return x.a; -} diff --git a/test/FrontendC/2008-01-07-UnusualIntSize.c b/test/FrontendC/2008-01-07-UnusualIntSize.c deleted file mode 100644 index 91beaf3528..0000000000 --- a/test/FrontendC/2008-01-07-UnusualIntSize.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -O | grep i33 -// PR1721 - -struct s { - unsigned long long u33: 33; -} a, b; - -// This should turn into a real 33-bit add, not a 64-bit add. -_Bool test(void) { - return a.u33 + b.u33 != 0; -} diff --git a/test/FrontendC/2008-01-11-ChainConsistency.c b/test/FrontendC/2008-01-11-ChainConsistency.c deleted file mode 100644 index 13e48a34ac..0000000000 --- a/test/FrontendC/2008-01-11-ChainConsistency.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -fnested-functions | not grep nest - -void n1(void) { void a(void) { a(); } a(); } diff --git a/test/FrontendC/2008-01-21-PackedBitFields.c b/test/FrontendC/2008-01-21-PackedBitFields.c deleted file mode 100644 index 4c38dee408..0000000000 --- a/test/FrontendC/2008-01-21-PackedBitFields.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -typedef double Al1Double __attribute__((aligned(1))); -struct x { int a:23; Al1Double v; }; -struct x X = { 5, 3.0 }; -double foo() { return X.v; } - diff --git a/test/FrontendC/2008-01-21-PackedStructField.c b/test/FrontendC/2008-01-21-PackedStructField.c deleted file mode 100644 index 9cc1731063..0000000000 --- a/test/FrontendC/2008-01-21-PackedStructField.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -struct X { long double b; unsigned char c; double __attribute__((packed)) d; }; -struct X x = { 3.0L, 5, 3.0 }; - - -struct S2504 { - int e:17; - __attribute__((packed)) unsigned long long int f; -} ; -int fails; - extern struct S2504 s2504; -void check2504va (int z) { - struct S2504 arg, *p; - long long int i = 0; - arg.f = i; -} - diff --git a/test/FrontendC/2008-01-24-StructAlignAndBitFields.c b/test/FrontendC/2008-01-24-StructAlignAndBitFields.c deleted file mode 100644 index 380a7ef77c..0000000000 --- a/test/FrontendC/2008-01-24-StructAlignAndBitFields.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -struct U { char a; short b; int c:25; char d; } u; - diff --git a/test/FrontendC/2008-01-25-ByValReadNone.c b/test/FrontendC/2008-01-25-ByValReadNone.c deleted file mode 100644 index 4cb1a6394e..0000000000 --- a/test/FrontendC/2008-01-25-ByValReadNone.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s | not grep readonly -// RUN: %llvmgcc -O3 -S -o - %s | not grep readnone - - -// The struct being passed byval means that we cannot mark the -// function readnone. Readnone would allow stores to the arg to -// be deleted in the caller. We also don't allow readonly since -// the callee might write to the byval parameter. The inliner -// would have to assume the worse and introduce an explicit -// temporary when inlining such a function, which is costly for -// the common case in which the byval argument is not written. -struct S { int A[1000]; }; -int __attribute__ ((const)) f(struct S x) { x.A[1] = 0; return x.A[0]; } -int g(struct S x) __attribute__ ((pure)); -int h(struct S x) { return g(x); } diff --git a/test/FrontendC/2008-01-25-ZeroSizedAggregate.c b/test/FrontendC/2008-01-25-ZeroSizedAggregate.c deleted file mode 100644 index 643caffb6d..0000000000 --- a/test/FrontendC/2008-01-25-ZeroSizedAggregate.c +++ /dev/null @@ -1,39 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - -// Aggregates of size zero should be dropped from argument list. -typedef long int Tlong; -struct S2411 { - __attribute__((aligned)) Tlong:0; -}; - -extern struct S2411 a2411[5]; -extern void checkx2411(struct S2411); -void test2411(void) { - checkx2411(a2411[0]); -} - -// Proper handling of zero sized fields during type conversion. -typedef unsigned long long int Tal2ullong __attribute__((aligned(2))); -struct S2525 { - Tal2ullong: 0; - struct { - } e; -}; -struct S2525 s2525; - -struct { - signed char f; - char :0; - struct{}h; - char * i[5]; -} data; - -// Taking address of a zero sized field. -struct Z {}; -struct Y { - int i; - struct Z z; -}; -void *f(struct Y *y) { - return &y->z; -} diff --git a/test/FrontendC/2008-01-28-PragmaMark.c b/test/FrontendC/2008-01-28-PragmaMark.c deleted file mode 100644 index 6a4b5b52ff..0000000000 --- a/test/FrontendC/2008-01-28-PragmaMark.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -Werror -S %s -o /dev/null -#pragma mark LLVM's world -#ifdef DO_ERROR -#error LLVM's world -#endif -int i; diff --git a/test/FrontendC/2008-01-28-UnionSize.c b/test/FrontendC/2008-01-28-UnionSize.c deleted file mode 100644 index ea2c863b18..0000000000 --- a/test/FrontendC/2008-01-28-UnionSize.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -// PR 1861 - -typedef unsigned char __u8; -typedef unsigned int __u32; -typedef unsigned short u16; -typedef __u32 __le32; -struct bcm43xx_plcp_hdr6 { - union { - __le32 data; - __u8 raw[6]; - } - __attribute__((__packed__)); -} - __attribute__((__packed__)); -struct bcm43xx_txhdr { - union { - struct { - struct bcm43xx_plcp_hdr6 plcp; - }; - }; -} - __attribute__((__packed__)); -static void bcm43xx_generate_rts(struct bcm43xx_txhdr *txhdr ) { } diff --git a/test/FrontendC/2008-02-11-AnnotateBuiltin.c b/test/FrontendC/2008-02-11-AnnotateBuiltin.c deleted file mode 100644 index 32bc7a8274..0000000000 --- a/test/FrontendC/2008-02-11-AnnotateBuiltin.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llvm-as | llvm-dis | grep llvm.annotation - -int main() { - int x = 0; - return __builtin_annotation(x, "annotate"); -} - diff --git a/test/FrontendC/2008-03-03-CtorAttrType.c b/test/FrontendC/2008-03-03-CtorAttrType.c deleted file mode 100644 index 96648f4ec5..0000000000 --- a/test/FrontendC/2008-03-03-CtorAttrType.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep llvm.global_ctors -int __attribute__((constructor)) foo(void) { - return 0; -} -void __attribute__((constructor)) bar(void) {} - diff --git a/test/FrontendC/2008-03-05-syncPtr.c b/test/FrontendC/2008-03-05-syncPtr.c deleted file mode 100644 index 7b271f7ee7..0000000000 --- a/test/FrontendC/2008-03-05-syncPtr.c +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep llvm.atomic -// XFAIL: sparc-sun-solaris2|arm -// Feature currently implemented only for x86, alpha, powerpc. - -int* foo(int** a, int* b, int* c) { -return __sync_val_compare_and_swap (a, b, c); -} - -int foo2(int** a, int* b, int* c) { -return __sync_bool_compare_and_swap (a, b, c); -} - -int* foo3(int** a, int b) { - return __sync_fetch_and_add (a, b); -} - -int* foo4(int** a, int b) { - return __sync_fetch_and_sub (a, b); -} - -int* foo5(int** a, int* b) { - return __sync_lock_test_and_set (a, b); -} - -int* foo6(int** a, int*** b) { - return __sync_lock_test_and_set (a, b); -} diff --git a/test/FrontendC/2008-03-24-BitField-And-Alloca.c b/test/FrontendC/2008-03-24-BitField-And-Alloca.c deleted file mode 100644 index 641bcf1dbe..0000000000 --- a/test/FrontendC/2008-03-24-BitField-And-Alloca.c +++ /dev/null @@ -1,89 +0,0 @@ -// RUN: %llvmgcc -O2 -S %s -o - | not grep alloca -// RUN: %llvmgcc -m32 -O2 -S %s -o - | not grep {store } - -enum { - PP_C, - PP_D, - PP_R, - PP_2D, - PP_1D, - PP_SR, - PP_S2D, - PP_S1D, - PP_SC -}; - -enum { - G_VP, - G_FP, - G_VS, - G_GS, - G_FS -}; - -enum { - G_NONE, - G_B, - G_R -}; - -typedef union _Key { - struct { - unsigned int count : 2; - unsigned int Aconst : 1; - unsigned int Bconst : 1; - unsigned int Cconst : 1; - unsigned int Xused : 1; - unsigned int Yused : 1; - unsigned int Zused : 1; - unsigned int Wused : 1; - unsigned int ttype : 3; - unsigned int scalar : 1; - unsigned int AType : 4; - unsigned int BType : 4; - unsigned int CType : 4; - unsigned int RType : 4; - unsigned int Size : 2; - unsigned int prec : 1; - - unsigned int ASize : 2; - unsigned int BSize : 2; - unsigned int CSize : 2; - unsigned int tTex : 4; - unsigned int proj : 1; - unsigned int lod : 2; - unsigned int dvts : 1; - unsigned int uipad : 18; - } key_io; - struct { - unsigned int key0; - unsigned int key1; - } key; - unsigned long long lkey; -} Key; - -static void foo(const Key iospec, int* ret) -{ - *ret=0; - if(((iospec.key_io.lod == G_B) && - (iospec.key_io.ttype != G_VS) && - (iospec.key_io.ttype != G_GS) && - (iospec.key_io.ttype != G_FS)) || - - (((iospec.key_io.tTex == PP_C) || - (iospec.key_io.tTex == PP_SC)) && - ((iospec.key_io.tTex == PP_SR) || - (iospec.key_io.tTex == PP_S2D) || - (iospec.key_io.tTex == PP_S1D) || - (iospec.key_io.tTex == PP_SC)))) - *ret=1; -} - - -extern int bar(unsigned long long key_token2) -{ - int ret; - __attribute__ ((unused)) Key iospec = (Key) key_token2; - foo(iospec, &ret); - return ret; -} diff --git a/test/FrontendC/2008-03-26-PackedBitFields.c b/test/FrontendC/2008-03-26-PackedBitFields.c deleted file mode 100644 index 7214281d02..0000000000 --- a/test/FrontendC/2008-03-26-PackedBitFields.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - - - -struct S1757 { - long double c; - long int __attribute__((packed)) e:28; -} x; diff --git a/test/FrontendC/2008-04-08-NoExceptions.c b/test/FrontendC/2008-04-08-NoExceptions.c deleted file mode 100644 index 257fee23b0..0000000000 --- a/test/FrontendC/2008-04-08-NoExceptions.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S -o - %s | grep nounwind | count 2 -// RUN: %llvmgcc -S -o - %s | not grep {declare.*nounwind} - -void f(void); -void g(void) { - f(); -} diff --git a/test/FrontendC/2008-05-06-CFECrash.c b/test/FrontendC/2008-05-06-CFECrash.c deleted file mode 100644 index 94d556c1ec..0000000000 --- a/test/FrontendC/2008-05-06-CFECrash.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S -O2 %s -o /dev/null -// PR2292. -__inline__ __attribute__ ((__pure__)) int g (void) {} -void f (int k) { k = g (); } diff --git a/test/FrontendC/2008-05-12-TempUsedBeforeDef.c b/test/FrontendC/2008-05-12-TempUsedBeforeDef.c deleted file mode 100644 index 21724c1c83..0000000000 --- a/test/FrontendC/2008-05-12-TempUsedBeforeDef.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -w -S -o /dev/null %s -// PR2264. -unsigned foo = 8L; -unsigned bar = 0L; -volatile unsigned char baz = 6L; -int test() { - char qux = 1L; - for (; baz >= -29; baz--) - bork(bar && foo, qux); -} diff --git a/test/FrontendC/2008-05-19-AlwaysInline.c b/test/FrontendC/2008-05-19-AlwaysInline.c deleted file mode 100644 index 8dcb57b186..0000000000 --- a/test/FrontendC/2008-05-19-AlwaysInline.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -fno-unit-at-a-time -O0 -o - | not grep sabrina -// RUN: %llvmgcc %s -S -funit-at-a-time -O0 -o - | not grep sabrina - -static inline int sabrina (void) __attribute__((always_inline)); -static inline int sabrina (void) -{ - return 13; -} -int bar (void) -{ - return sabrina () + 68; -} diff --git a/test/FrontendC/2008-07-08-FAbsAttributes.c b/test/FrontendC/2008-07-08-FAbsAttributes.c deleted file mode 100644 index 1eb01dcedb..0000000000 --- a/test/FrontendC/2008-07-08-FAbsAttributes.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep readnone -// PR2520 -#include <math.h> -double f(double *x, double *y) { return fabs(*x + *y); } diff --git a/test/FrontendC/2008-08-07-AlignPadding1.c b/test/FrontendC/2008-08-07-AlignPadding1.c deleted file mode 100644 index 6be9fe4ed3..0000000000 --- a/test/FrontendC/2008-08-07-AlignPadding1.c +++ /dev/null @@ -1,29 +0,0 @@ -/* RUN: %llvmgcc %s -S -o - -O0 | grep {zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer} - -The FE must generate padding here both at the end of each PyG_Head and -between array elements. Reduced from Python. */ - -typedef union _gc_head { - struct { - union _gc_head *gc_next; - union _gc_head *gc_prev; - long gc_refs; - } gc; - int dummy __attribute__((aligned(16))); -} PyGC_Head; - -struct gc_generation { - PyGC_Head head; - int threshold; - int count; -}; - -#define GEN_HEAD(n) (&generations[n].head) - -/* linked lists of container objects */ -static struct gc_generation generations[3] = { - /* PyGC_Head, threshold, count */ - {{{GEN_HEAD(0), GEN_HEAD(0), 0}}, 700, 0}, - {{{GEN_HEAD(1), GEN_HEAD(1), 0}}, 10, 0}, - {{{GEN_HEAD(2), GEN_HEAD(2), 0}}, 10, 0}, -}; diff --git a/test/FrontendC/2008-08-07-AlignPadding2.c b/test/FrontendC/2008-08-07-AlignPadding2.c deleted file mode 100644 index 51135ba633..0000000000 --- a/test/FrontendC/2008-08-07-AlignPadding2.c +++ /dev/null @@ -1,18 +0,0 @@ -/* RUN: %llvmgcc %s -S -o - -O0 | grep zeroinitializer | count 1 - -The FE must not generate padding here between array elements. PR 2533. */ - -typedef struct { - const char *name; - int flags; - union { - int x; - } u; -} OptionDef; - -const OptionDef options[] = { - /* main options */ - { "a", 0, {3} }, - { "b", 0, {4} }, - { 0, }, -}; diff --git a/test/FrontendC/2008-08-07-GEPIntToPtr.c b/test/FrontendC/2008-08-07-GEPIntToPtr.c deleted file mode 100644 index 3ef3b66b88..0000000000 --- a/test/FrontendC/2008-08-07-GEPIntToPtr.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep {i8 1} -// PR2603 - -struct A { - char num_fields; -}; - -struct B { - char a, b[1]; -}; - -const struct A Foo = { - (char *)(&( (struct B *)(16) )->b[0]) - (char *)(16) -}; diff --git a/test/FrontendC/2008-09-03-WeakAlias.c b/test/FrontendC/2008-09-03-WeakAlias.c deleted file mode 100644 index 2e5f3dae8a..0000000000 --- a/test/FrontendC/2008-09-03-WeakAlias.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S -O1 -o - %s | grep icmp -// PR1678 -extern void B (void); -static __typeof(B) A __attribute__ ((__weakref__("B"))); -int active (void) -{ - static void *const p = __extension__ (void *) &A; - return p != 0; -} diff --git a/test/FrontendC/2008-10-13-FrontendCrash.c b/test/FrontendC/2008-10-13-FrontendCrash.c deleted file mode 100644 index c9731e34ce..0000000000 --- a/test/FrontendC/2008-10-13-FrontendCrash.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -// PR2797 - -unsigned int -func_48 (signed char p_49) -{ - signed char l_340; - func_44 (1&((1 ^ 1 == (lshift_u_s (1)) != (l_340 < 1)) & 1L)); -} diff --git a/test/FrontendC/2008-10-30-ZeroPlacement.c b/test/FrontendC/2008-10-30-ZeroPlacement.c deleted file mode 100644 index d73442dca8..0000000000 --- a/test/FrontendC/2008-10-30-ZeroPlacement.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -// PR2987 -struct S2045 -{ - unsigned short int a; - union { } b; - union __attribute__ ((aligned (4))) { } c[0]; -}; -struct S2045 s2045; diff --git a/test/FrontendC/2008-11-02-WeakAlias.c b/test/FrontendC/2008-11-02-WeakAlias.c deleted file mode 100644 index d10e57f5ef..0000000000 --- a/test/FrontendC/2008-11-02-WeakAlias.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S -o - %s | grep weak -// PR2691 - -void init_IRQ(void) __attribute__((weak, alias("native_init_IRQ"))); -void native_init_IRQ(void) {} diff --git a/test/FrontendC/2008-11-08-InstCombineSelect.c b/test/FrontendC/2008-11-08-InstCombineSelect.c deleted file mode 100644 index b850d3ff6f..0000000000 --- a/test/FrontendC/2008-11-08-InstCombineSelect.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc %s -S -O2 -o - -// PR3028 - -int g_187; -int g_204; -int g_434; - -int func_89 (void) -{ - return 1; -} - -void func_20 (int p_22) -{ - if (1 & p_22 | g_204 & (1 < g_187) - func_89 ()) - g_434 = 1; -} diff --git a/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c b/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c deleted file mode 100644 index 8af59d54f7..0000000000 --- a/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep llvm.ptr.annotation | count 3 - -#include <stdio.h> - -/* Struct with element X being annotated */ -struct foo { - int X __attribute__((annotate("StructAnnotation"))); - int Y; - int Z; -}; - - -void test(struct foo *F) { - F->X = 42; - F->Z = 1; - F->Y = F->X; -} - diff --git a/test/FrontendC/2008-12-23-AsmIntPointerTie.c b/test/FrontendC/2008-12-23-AsmIntPointerTie.c deleted file mode 100644 index 57061422b8..0000000000 --- a/test/FrontendC/2008-12-23-AsmIntPointerTie.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -O1 -o - - -#include <stdint.h> - -int test(void *b) { - intptr_t a; - __asm__ __volatile__ ("%0 %1 " : "=r" (a): "0" (b)); - return a; -} diff --git a/test/FrontendC/2009-01-05-BlockInlining.c b/test/FrontendC/2009-01-05-BlockInlining.c deleted file mode 100644 index 8fb6e54514..0000000000 --- a/test/FrontendC/2009-01-05-BlockInlining.c +++ /dev/null @@ -1,28 +0,0 @@ -// RUN: %llvmgcc %s -S -O2 -o %t.s -// RUN: grep {call i32 .*printf.*argc} %t.s | count 3 -// RUN: not grep __block_holder_tmp %t.s -// rdar://5865221 - -// All of these should be inlined equivalently into a single printf call. - -static int fun(int x) { - return x+1; -} - -static int block(int x) { - return (^(int x){return x+1;})(x); -} - -static void print(int result) { - printf("%d\n", result); -} - -int main (int argc, const char * argv[]) { - int x = argc-1; - print(fun(x)); - print(block(x)); - int (^block_inline)(int) = ^(int x){return x+1;}; - print(block_inline(x)); - return 0; -} - diff --git a/test/FrontendC/2009-01-20-k8.c b/test/FrontendC/2009-01-20-k8.c deleted file mode 100644 index 2cd1538739..0000000000 --- a/test/FrontendC/2009-01-20-k8.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc %s -S -march=k8 -o /dev/null -// XFAIL: * -// XTARGET: x86,i386,i686 -long double x; diff --git a/test/FrontendC/2009-01-21-InvalidIterator.c b/test/FrontendC/2009-01-21-InvalidIterator.c deleted file mode 100644 index 6ac61f8a74..0000000000 --- a/test/FrontendC/2009-01-21-InvalidIterator.c +++ /dev/null @@ -1,74 +0,0 @@ -// RUN: %llvmgcc %s -S -g -o /dev/null - -typedef long unsigned int size_t; -typedef unsigned short int uint16_t; -typedef unsigned int uint32_t; -typedef unsigned long int uint64_t; -typedef uint16_t Elf64_Half; -typedef uint32_t Elf64_Word; -typedef uint64_t Elf64_Xword; -typedef uint64_t Elf64_Addr; -typedef uint64_t Elf64_Off; -typedef struct -{ - Elf64_Word p_type; - Elf64_Off p_offset; - Elf64_Addr p_vaddr; - Elf64_Xword p_align; -} -Elf64_Phdr; -struct dl_phdr_info -{ - const char *dlpi_name; - const Elf64_Phdr *dlpi_phdr; - Elf64_Half dlpi_phnum; - unsigned long long int dlpi_adds; -}; -typedef unsigned _Unwind_Ptr; -struct object -{ - union - { - const struct dwarf_fde *single; - struct dwarf_fde **array; - struct fde_vector *sort; - } - u; - union - { - struct - { - } - b; - } - s; - struct object *next; -}; -typedef int sword; -typedef unsigned int uword; -struct dwarf_fde -{ - uword length; - sword CIE_delta; - unsigned char pc_begin[]; -}; -typedef struct dwarf_fde fde; -struct unw_eh_callback_data -{ - const fde *ret; - struct frame_hdr_cache_element *link; -} -frame_hdr_cache[8]; - -_Unwind_Ptr -base_from_cb_data (struct unw_eh_callback_data *data) -{ -} - -void -_Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) -{ - const unsigned char *p; - const struct unw_eh_frame_hdr *hdr; - struct object ob; -} diff --git a/test/FrontendC/2009-02-13-zerosize-union-field-ppc.c b/test/FrontendC/2009-02-13-zerosize-union-field-ppc.c deleted file mode 100644 index 947166d54a..0000000000 --- a/test/FrontendC/2009-02-13-zerosize-union-field-ppc.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 32} | count 3 -// XFAIL: * -// XTARGET: powerpc -// Every printf has 'i32 0' for the GEP of the string; no point counting those. -typedef unsigned int Foo __attribute__((aligned(32))); -typedef union{Foo:0;}a; -typedef union{int x; Foo:0;}b; -extern int printf(const char*, ...); -main() { - printf("%ld\n", sizeof(a)); - printf("%ld\n", __alignof__(a)); - printf("%ld\n", sizeof(b)); - printf("%ld\n", __alignof__(b)); -} diff --git a/test/FrontendC/2009-02-13-zerosize-union-field.c b/test/FrontendC/2009-02-13-zerosize-union-field.c deleted file mode 100644 index ad335583d4..0000000000 --- a/test/FrontendC/2009-02-13-zerosize-union-field.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 1} | count 1 -// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 4} | count 2 -// XFAIL: powerpc -// Every printf has 'i32 0' for the GEP of the string; no point counting those. -typedef unsigned int Foo __attribute__((aligned(32))); -typedef union{Foo:0;}a; -typedef union{int x; Foo:0;}b; -extern int printf(const char*, ...); -main() { - printf("%ld\n", sizeof(a)); - printf("%ld\n", __alignof__(a)); - printf("%ld\n", sizeof(b)); - printf("%ld\n", __alignof__(b)); -} diff --git a/test/FrontendC/2009-02-17-BitField-dbg.c b/test/FrontendC/2009-02-17-BitField-dbg.c deleted file mode 100644 index 88d2cbba48..0000000000 --- a/test/FrontendC/2009-02-17-BitField-dbg.c +++ /dev/null @@ -1,14 +0,0 @@ -// Check bitfields. -// RUN: %llvmgcc -S -O0 -g %s -o - | \ -// RUN: llc -disable-cfi --disable-fp-elim -o 2009-02-17-BitField-dbg.s -// RUN: %compile_c 2009-02-17-BitField-dbg.s -o 2009-02-17-BitField-dbg.o -// RUN: echo {ptype mystruct} > %t2 -// RUN: gdb -q -batch -n -x %t2 2009-02-17-BitField-dbg.o | \ -// RUN: tee 2009-02-17-BitField-dbg.out | grep "int a : 4" -// - -struct { - int a:4; - int b:2; -} mystruct; - diff --git a/test/FrontendC/2009-03-01-MallocNoAlias.c b/test/FrontendC/2009-03-01-MallocNoAlias.c deleted file mode 100644 index 22ff6cb5c3..0000000000 --- a/test/FrontendC/2009-03-01-MallocNoAlias.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep noalias - -void * __attribute__ ((malloc)) foo (void) { return 0; } diff --git a/test/FrontendC/2009-03-08-ZeroEltStructCrash.c b/test/FrontendC/2009-03-08-ZeroEltStructCrash.c deleted file mode 100644 index 454e0fb79c..0000000000 --- a/test/FrontendC/2009-03-08-ZeroEltStructCrash.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR3744 -struct Empty {}; -struct Union { - union { - int zero_arr[0]; - } contents; -}; -static inline void Foo(struct Union *u) { - int *array = u->contents.zero_arr; -} -static void Bar(struct Union *u) { - Foo(u); -} diff --git a/test/FrontendC/2009-03-09-WeakDeclarations-1.c b/test/FrontendC/2009-03-09-WeakDeclarations-1.c deleted file mode 100644 index 13ea84f7ba..0000000000 --- a/test/FrontendC/2009-03-09-WeakDeclarations-1.c +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgcc_only %s -c -o /dev/null |& \ -// RUN: egrep {(14|15|22): warning:} | \ -// RUN: wc -l | grep --quiet 3 -// XTARGET: darwin,linux -// XFAIL: * -// END. -// Insist upon warnings for inappropriate weak attributes. -// Note the line numbers (14|15|22) embedded in the check. - -// O.K. -extern int ext_weak_import __attribute__ ((__weak_import__)); - -// These are inappropriate, and should generate warnings: -int decl_weak_import __attribute__ ((__weak_import__)); -int decl_initialized_weak_import __attribute__ ((__weak_import__)) = 13; - -// O.K. -extern int ext_f(void) __attribute__ ((__weak_import__)); - -// These are inappropriate, and should generate warnings: -int def_f(void) __attribute__ ((__weak_import__)); -int __attribute__ ((__weak_import__)) decl_f(void) {return 0;}; diff --git a/test/FrontendC/2009-03-13-dbg.c b/test/FrontendC/2009-03-13-dbg.c deleted file mode 100644 index 46abd3a963..0000000000 --- a/test/FrontendC/2009-03-13-dbg.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc %s -S -g -o /dev/null -// XTARGET: darwin,linux -// XFAIL: * -void foo() {} - diff --git a/test/FrontendC/2009-04-22-UnknownSize.c b/test/FrontendC/2009-04-22-UnknownSize.c deleted file mode 100644 index 7db9c0730c..0000000000 --- a/test/FrontendC/2009-04-22-UnknownSize.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: not %llvmgcc -O1 %s -S -o /dev/null |& grep {error: storage size} -// PR2958 -static struct foo s; -struct foo *p = &s; diff --git a/test/FrontendC/2009-04-28-UnionArrayCrash.c b/test/FrontendC/2009-04-28-UnionArrayCrash.c deleted file mode 100644 index 75851d0f5c..0000000000 --- a/test/FrontendC/2009-04-28-UnionArrayCrash.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR4082 -union U { - int I; - double F; -}; - -union U arr[] = { { .I = 4 }, { .F = 123.} }; -union U *P = &arr[0]; - - diff --git a/test/FrontendC/2009-05-04-EnumInreg.c b/test/FrontendC/2009-05-04-EnumInreg.c deleted file mode 100644 index fb0c03e439..0000000000 --- a/test/FrontendC/2009-05-04-EnumInreg.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S -m32 -mregparm=3 %s -o - | grep {inreg %action} -// XFAIL: * -// XTARGET: x86,i386,i686 -// PR3967 - -enum kobject_action { - KOBJ_ADD, - KOBJ_REMOVE, - KOBJ_CHANGE, - KOBJ_MOVE, - KOBJ_ONLINE, - KOBJ_OFFLINE, - KOBJ_MAX -}; - -struct kobject; - -int kobject_uevent(struct kobject *kobj, enum kobject_action action) {} diff --git a/test/FrontendC/2009-05-17-AlwaysInline.c b/test/FrontendC/2009-05-17-AlwaysInline.c deleted file mode 100644 index a93fabe052..0000000000 --- a/test/FrontendC/2009-05-17-AlwaysInline.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -O0 -o - -mllvm -disable-llvm-optzns | grep bar -// Check that the gcc inliner is turned off. - -#include <stdio.h> -static __inline__ __attribute__ ((always_inline)) - int bar (int x) -{ - return 4; -} - -void -foo () -{ - long long b = 1; - int Y = bar (4); - printf ("%d\n", Y); -} diff --git a/test/FrontendC/2009-06-14-HighlyAligned.c b/test/FrontendC/2009-06-14-HighlyAligned.c deleted file mode 100644 index 227db74f47..0000000000 --- a/test/FrontendC/2009-06-14-HighlyAligned.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc %s -S -o /dev/null -// PR4332 - -static int highly_aligned __attribute__((aligned(4096))); - -int f() { - return highly_aligned; -} diff --git a/test/FrontendC/2009-06-18-StaticInitTailPadPack.c b/test/FrontendC/2009-06-18-StaticInitTailPadPack.c deleted file mode 100644 index 17f35c04a9..0000000000 --- a/test/FrontendC/2009-06-18-StaticInitTailPadPack.c +++ /dev/null @@ -1,26 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -// rdar://6983634 - - typedef struct A *Foo; -#pragma pack(push, 2) - struct Bar { - Foo f1; - unsigned short f2; - float f3; - }; - struct Baz { - struct Bar f1; - struct Bar f2; - }; - struct Qux { - unsigned long f1; - struct Baz f2; - }; -extern const struct Qux Bork; -const struct Qux Bork = { - 0, - { - {0}, - {0} - } -}; diff --git a/test/FrontendC/2009-07-14-VoidPtr.c b/test/FrontendC/2009-07-14-VoidPtr.c deleted file mode 100644 index 8001c56ad5..0000000000 --- a/test/FrontendC/2009-07-14-VoidPtr.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR4556 - -extern void foo; -void *bar = &foo; - diff --git a/test/FrontendC/2009-07-15-pad-wchar_t-array.c b/test/FrontendC/2009-07-15-pad-wchar_t-array.c deleted file mode 100644 index 41bdef25ec..0000000000 --- a/test/FrontendC/2009-07-15-pad-wchar_t-array.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -#include <stddef.h> -signed short _iodbcdm_sqlerror( ) -{ - wchar_t _sqlState[6] = { L"\0" }; -} diff --git a/test/FrontendC/2009-07-17-VoidParameter.c b/test/FrontendC/2009-07-17-VoidParameter.c deleted file mode 100644 index d576952438..0000000000 --- a/test/FrontendC/2009-07-17-VoidParameter.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// PR4214 -typedef void vt; -void (*func_ptr)(vt my_vt); diff --git a/test/FrontendC/2009-07-22-StructLayout.c b/test/FrontendC/2009-07-22-StructLayout.c deleted file mode 100644 index 74904da33e..0000000000 --- a/test/FrontendC/2009-07-22-StructLayout.c +++ /dev/null @@ -1,34 +0,0 @@ -// RUN: %llvmgcc %s -S -o /dev/null -// PR4590 - -typedef unsigned char __u8; -typedef unsigned int __le32; -typedef unsigned int __u32; -typedef unsigned short __le16; -typedef unsigned short __u16; - -struct usb_cdc_ether_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - - __u8 iMACAddress; - __le32 bmEthernetStatistics; - __le16 wMaxSegmentSize; - __le16 wNumberMCFilters; - __u8 bNumberPowerFilters; -} __attribute__ ((packed)); - - -static struct usb_cdc_ether_desc ecm_desc __attribute__ ((__section__(".init.data"))) = { - .bLength = sizeof ecm_desc, - .bDescriptorType = ((0x01 << 5) | 0x04), - .bDescriptorSubType = 0x0f, - - - - .bmEthernetStatistics = (( __le32)(__u32)(0)), - .wMaxSegmentSize = (( __le16)(__u16)(1514)), - .wNumberMCFilters = (( __le16)(__u16)(0)), - .bNumberPowerFilters = 0, -}; diff --git a/test/FrontendC/2009-08-11-AsmBlocksComplexJumpTarget.c b/test/FrontendC/2009-08-11-AsmBlocksComplexJumpTarget.c deleted file mode 100644 index e141c9a16c..0000000000 --- a/test/FrontendC/2009-08-11-AsmBlocksComplexJumpTarget.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc %s -fasm-blocks -S -o - | grep {\\\*1192} -// Complicated expression as jump target -// XFAIL: * -// XTARGET: x86,i386,i686 - -asm void Method3() -{ - mov eax,[esp+4] - jmp [eax+(299-1)*4] -} diff --git a/test/FrontendC/2009-09-24-SqrtErrno.c b/test/FrontendC/2009-09-24-SqrtErrno.c deleted file mode 100644 index 09fc8764ea..0000000000 --- a/test/FrontendC/2009-09-24-SqrtErrno.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o - -fmath-errno | FileCheck %s -// llvm.sqrt has undefined behavior on negative inputs, so it is -// inappropriate to translate C/C++ sqrt to this. -#include <math.h> - -float foo(float X) { -// CHECK: foo -// CHECK-NOT: readonly -// CHECK: return - // Check that this is not marked readonly when errno is used. - return sqrtf(X); -} diff --git a/test/FrontendC/2009-12-07-BitFieldAlignment.c b/test/FrontendC/2009-12-07-BitFieldAlignment.c deleted file mode 100644 index 02ff8bce18..0000000000 --- a/test/FrontendC/2009-12-07-BitFieldAlignment.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -m32 %s -S -o - | FileCheck %s -// Set alignment on bitfield accesses. - -struct S { - int a, b; - void *c; - unsigned d : 8; - unsigned e : 8; -}; - -void f0(struct S *a) { -// CHECK: load {{.*}}, align 4 -// CHECK: store {{.*}}, align 4 - a->e = 0; -} diff --git a/test/FrontendC/2010-01-05-LinkageName.c b/test/FrontendC/2010-01-05-LinkageName.c deleted file mode 100644 index 279df03e8e..0000000000 --- a/test/FrontendC/2010-01-05-LinkageName.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -O2 -S -g %s -o - | llc -disable-cfi -o 2010-01-05-LinkageName.s -O0 -// RUN: %compile_c 2010-01-05-LinkageName.s -o 2010-01-05-LinkageName.s - -struct tm {}; -long mktime(struct tm *) __asm("_mktime$UNIX2003"); -tzload(name, sp, doextend){} -long mktime(tmp) - struct tm *const tmp; -{ - tzset(); -} -timelocal(tmp) { - return mktime(tmp); -} - diff --git a/test/FrontendC/2010-01-13-MemBarrier.c b/test/FrontendC/2010-01-13-MemBarrier.c deleted file mode 100644 index a540e59c6c..0000000000 --- a/test/FrontendC/2010-01-13-MemBarrier.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s -// XFAIL: sparc -// rdar://7536390 - -unsigned t(unsigned *ptr, unsigned val) { - // CHECK: @t - // CHECK: call void @llvm.memory.barrier - // CHECK-NEXT: call i32 @llvm.atomic.swap.i32 - // CHECK-NEXT: call void @llvm.memory.barrier - return __sync_lock_test_and_set(ptr, val); -} diff --git a/test/FrontendC/2010-01-14-FnType-DebugInfo.c b/test/FrontendC/2010-01-14-FnType-DebugInfo.c deleted file mode 100644 index beaad91330..0000000000 --- a/test/FrontendC/2010-01-14-FnType-DebugInfo.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %llvmgcc %s -S -g -o /dev/null -typedef void (*sigcatch_t)( struct sigcontext *); -sigcatch_t sigcatch[50] = {(sigcatch_t) 0}; - diff --git a/test/FrontendC/2010-01-14-StaticVariable.c b/test/FrontendC/2010-01-14-StaticVariable.c deleted file mode 100644 index 0635900bbc..0000000000 --- a/test/FrontendC/2010-01-14-StaticVariable.c +++ /dev/null @@ -1,12 +0,0 @@ -// This is a regression test on debug info to make sure that llvm emitted -// debug info does not crash gdb. -// 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: echo {quit\n} > %t.in -// RUN: gdb -q -batch -n -x %t.in %t.o > /dev/null - -int foo() { - static int i = 42; - return i; -} diff --git a/test/FrontendC/2010-01-18-Inlined-Debug.c b/test/FrontendC/2010-01-18-Inlined-Debug.c deleted file mode 100644 index 4aec7b2647..0000000000 --- a/test/FrontendC/2010-01-18-Inlined-Debug.c +++ /dev/null @@ -1,12 +0,0 @@ -// PR: 6058 -// RUN: %llvmgcc -g -S %s -o - | llc -O0 -o /dev/null - -static inline int foo(double) __attribute__ ((always_inline)); -static inline int foo(double __x) { return __x; } - -void bar(double x) { - foo(x); -} - - - diff --git a/test/FrontendC/2010-02-10-PointerName.c b/test/FrontendC/2010-02-10-PointerName.c deleted file mode 100644 index 7880fa8345..0000000000 --- a/test/FrontendC/2010-02-10-PointerName.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -g -o - | grep DW_TAG_pointer_type | grep -v char - -char i = 1; -void foo() { - char *cp = &i; -} - diff --git a/test/FrontendC/2010-02-15-DbgStaticVar.c b/test/FrontendC/2010-02-15-DbgStaticVar.c deleted file mode 100644 index 7827d96ce6..0000000000 --- a/test/FrontendC/2010-02-15-DbgStaticVar.c +++ /dev/null @@ -1,13 +0,0 @@ -// RUN: %llvmgcc -g -S %s -o - | grep "metadata ..b., metadata ..b., metadata ...," -// Test to check intentionally empty linkage name for a static variable. -// Radar 7651244. -static int foo(int a) -{ - static int b = 1; - return b+a; -} - -int main() { - int j = foo(1); - return 0; -} diff --git a/test/FrontendC/2010-02-16-DbgVarScope.c b/test/FrontendC/2010-02-16-DbgVarScope.c deleted file mode 100644 index 24910adc05..0000000000 --- a/test/FrontendC/2010-02-16-DbgVarScope.c +++ /dev/null @@ -1,30 +0,0 @@ -// 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 24\nrun\np loc\n} > %t.in -// RN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | \ -// RN: grep {$1 = 1} - -int g1 = 1; -int g2 = 2; - -int __attribute__((always_inline)) bar() { - return g2 - g1; -} -void foobar() {} - -void foo(int s) { - unsigned loc = 0; - if (s) { - loc = 1; - foobar(); - } else { - loc = bar(); - foobar(); - } -} - -int main() { - foo(0); -} diff --git a/test/FrontendC/2010-02-18-Dbg-VectorType.c b/test/FrontendC/2010-02-18-Dbg-VectorType.c deleted file mode 100644 index d34031f09a..0000000000 --- a/test/FrontendC/2010-02-18-Dbg-VectorType.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S -O0 -g %s -o - | grep DW_TAG_typedef | grep float4 -typedef float float4 __attribute__((vector_size(16))); - -int main(){ - volatile float4 x = (float4) { 0.0f, 1.0f, 2.0f, 3.0f }; - x += x; - return 0; -} - diff --git a/test/FrontendC/2010-03-10-arm-asmreg.c b/test/FrontendC/2010-03-10-arm-asmreg.c deleted file mode 100644 index 70d3681ea4..0000000000 --- a/test/FrontendC/2010-03-10-arm-asmreg.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s -// pr6552 - -// XFAIL: * -// XTARGET: arm - -extern void bar(unsigned int ip); - -// CHECK: mov r0, r12 -void foo(void) -{ - register unsigned int ip __asm ("ip"); - bar(ip); -} - diff --git a/test/FrontendC/2010-03-5-LexicalScope.c b/test/FrontendC/2010-03-5-LexicalScope.c deleted file mode 100644 index 93a841a8f2..0000000000 --- a/test/FrontendC/2010-03-5-LexicalScope.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S -O0 -g %s -o - | grep DW_TAG_lexical_block | count 3 -int foo(int i) { - if (i) { - int j = 2; - } - else { - int j = 3; - } - return i; -} diff --git a/test/FrontendC/2010-05-14-Optimized-VarType.c b/test/FrontendC/2010-05-14-Optimized-VarType.c deleted file mode 100644 index 2aa85b5846..0000000000 --- a/test/FrontendC/2010-05-14-Optimized-VarType.c +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgcc %s -Os -S -g -o - | grep DW_TAG_structure_type | count 1 -// Variable 'a' is optimized but the debug info should preserve its type info. -#include <stdlib.h> - -struct foo { - int Attribute; -}; - -void *getfoo(void) __attribute__((noinline)); - -void *getfoo(void) -{ - int *x = malloc(sizeof(int)); - *x = 42; - return (void *)x; -} - -int main(int argc, char *argv[]) { - struct foo *a = (struct foo *)getfoo(); - - return a->Attribute; -} - diff --git a/test/FrontendC/2010-05-18-asmsched.c b/test/FrontendC/2010-05-18-asmsched.c deleted file mode 100644 index ca7625f41f..0000000000 --- a/test/FrontendC/2010-05-18-asmsched.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc %s -S -O3 -o - | llc -march=x86-64 -mtriple=x86_64-apple-darwin | FileCheck %s -// r9 used to be clobbered before its value was moved to r10. 7993104. - -void foo(int x, int y) { -// CHECK: bar -// CHECK-NOT: {{, %r9$}} -// CHECK: movq %r9, -// CHECK: movq {{.*}}, %r9 -// CHECK: bar - register int lr9 asm("r9") = x; - register int lr10 asm("r10") = y; - int foo; - asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10)); - foo = lr9; - lr9 = x; - lr10 = foo; - asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10)); -} diff --git a/test/FrontendC/2010-05-18-palignr.c b/test/FrontendC/2010-05-18-palignr.c deleted file mode 100644 index 0b78eed0dc..0000000000 --- a/test/FrontendC/2010-05-18-palignr.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc -mssse3 -S -o - %s | llc -mtriple=x86_64-apple-darwin | FileCheck %s -// XFAIL: * -// XTARGET: x86,i386,i686 - -#include <tmmintrin.h> - -int main () -{ -#if defined( __SSSE3__ ) - -#define vec_rld_epi16( _a, _i ) ({ vSInt16 _t = _a; _t = _mm_alignr_epi8( _t, _t, _i ); /*return*/ _t; }) - typedef int16_t vSInt16 __attribute__ ((__vector_size__ (16))); - - short dtbl[] = {1,2,3,4,5,6,7,8}; - vSInt16 *vdtbl = (vSInt16*) dtbl; - - vSInt16 v0; - v0 = *vdtbl; - // CHECK: pshufd $57 - v0 = vec_rld_epi16( v0, 4 ); - - return 0; -#endif -} diff --git a/test/FrontendC/2010-05-26-AsmSideEffect.c b/test/FrontendC/2010-05-26-AsmSideEffect.c deleted file mode 100644 index acc38b783b..0000000000 --- a/test/FrontendC/2010-05-26-AsmSideEffect.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s -// Radar 8026855 - -int test (void *src) { - register int w0 asm ("0"); - // CHECK: call i32 asm sideeffect - asm ("ldr %0, [%1]": "=r" (w0): "r" (src)); - // The asm to read the value of w0 has a sideeffect for a different reason - // (see 2010-05-18-asmsched.c) but that's not what this is testing for. - // CHECK: call i32 asm - return w0; -} diff --git a/test/FrontendC/2010-05-31-palignr.c b/test/FrontendC/2010-05-31-palignr.c deleted file mode 100644 index 9da3145153..0000000000 --- a/test/FrontendC/2010-05-31-palignr.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: not %llvmgcc -mssse3 -S -o /dev/null %s |& grep "error: mask must be an immediate" -// XFAIL: * -// XTARGET: x86,i386,i686 - -#include <tmmintrin.h> - -extern int i; - -int main () -{ -#if defined( __SSSE3__ ) - - typedef int16_t vSInt16 __attribute__ ((__vector_size__ (16))); - - short dtbl[] = {1,2,3,4,5,6,7,8}; - vSInt16 *vdtbl = (vSInt16*) dtbl; - - vSInt16 v0; - v0 = *vdtbl; - v0 = _mm_alignr_epi8(v0, v0, i); - - return 0; -#endif -} diff --git a/test/FrontendC/2010-06-11-SaveExpr.c b/test/FrontendC/2010-06-11-SaveExpr.c deleted file mode 100644 index d1c122d79b..0000000000 --- a/test/FrontendC/2010-06-11-SaveExpr.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %llvmgcc -S %s -// Test case by Eric Postpischil! -void foo(void) -{ - char a[1]; - int t = 1; - ((char (*)[t]) a)[0][0] = 0; -} diff --git a/test/FrontendC/2010-06-17-asmcrash.c b/test/FrontendC/2010-06-17-asmcrash.c deleted file mode 100644 index 5063054fd4..0000000000 --- a/test/FrontendC/2010-06-17-asmcrash.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S -o - %s | llc -mtriple=x86_64-apple-darwin | FileCheck %s -// XFAIL: * -// XTARGET: x86,i386,i686 - -typedef long long int64_t; -typedef unsigned char uint8_t; -typedef int64_t x86_reg; - -void avg_pixels8_mmx2(uint8_t *block, const uint8_t *pixels, int line_size, int h) -{ - __asm__ volatile("# %0 %1 %2 %3" - :"+g"(h), "+S"(pixels), "+D"(block) - :"r" ((x86_reg)line_size) - :"%""rax", "memory"); -// CHECK: # %ecx %rsi %rdi %rdx - } diff --git a/test/FrontendC/2010-06-28-DbgLocalVar.c b/test/FrontendC/2010-06-28-DbgLocalVar.c deleted file mode 100644 index e5df8856c0..0000000000 --- a/test/FrontendC/2010-06-28-DbgLocalVar.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc -S -O2 -g %s -o - | llc -O2 -o %t.s -// RUN: grep DW_TAG_structure_type %t.s | count 2 -// Radar 8122864 - -// Code is not generated for function foo, but preserve type information of -// local variable xyz. -static foo() { - struct X { int a; int b; } xyz; -} - -int bar() { - foo(); - return 1; -} diff --git a/test/FrontendC/2010-06-28-nowarn.c b/test/FrontendC/2010-06-28-nowarn.c deleted file mode 100644 index 3db8df10c1..0000000000 --- a/test/FrontendC/2010-06-28-nowarn.c +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %llvmgcc %s -S -m32 -fasm-blocks -o /dev/null -// This should not warn about unreferenced label. 7729514. -// 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-08-DeclDebugLineNo.c b/test/FrontendC/2010-07-08-DeclDebugLineNo.c deleted file mode 100644 index 491b7dbe74..0000000000 --- a/test/FrontendC/2010-07-08-DeclDebugLineNo.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -S -O0 -g %s -o - | FileCheck %s -// Insure that dbg.declare lines for locals refer to correct line number records. -// Radar 8152866. -void foo() { - int l = 0; // line #4: CHECK: {{call.*llvm.dbg.declare.*%l.*\!dbg }}[[variable_l:![0-9]+]] - int p = 0; // line #5: CHECK: {{call.*llvm.dbg.declare.*%p.*\!dbg }}[[variable_p:![0-9]+]] -} -// Now match the line number records: -// CHECK: {{^}}[[variable_l]]{{ = metadata ![{]i32 5,}} -// CHECK: {{^}}[[variable_p]]{{ = metadata ![{]i32 6,}} diff --git a/test/FrontendC/2010-07-14-overconservative-align.c b/test/FrontendC/2010-07-14-overconservative-align.c deleted file mode 100644 index c4a9caac66..0000000000 --- a/test/FrontendC/2010-07-14-overconservative-align.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s -// PR 5995 -struct s { - int word; - struct { - int filler __attribute__ ((aligned (8))); - }; -}; - -void func (struct s *s) -{ -// CHECK: load %struct.s** %s_addr, align {{[48]}} - s->word = 0; -} diff --git a/test/FrontendC/2010-07-14-ref-off-end.c b/test/FrontendC/2010-07-14-ref-off-end.c deleted file mode 100644 index c7fdd95a7a..0000000000 --- a/test/FrontendC/2010-07-14-ref-off-end.c +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %llvmgcc %s -S -m32 -o - | FileCheck %s -// Formerly this generated code that did a load past the end of the structure. -// That was fixed by 46726, but that patch had bad side effects and was -// reverted. This has been fixed another way in the meantime. -extern void abort(); -extern void exit(int); -struct T -{ -unsigned i:8; -unsigned c:24; -}; -f(struct T t) -{ -struct T s[1]; -s[0]=t; -return(char)s->c; -} -main() -{ -// CHECK: getelementptr inbounds %struct.T* %t, i32 0, i32 0 -// CHECK: getelementptr inbounds %struct.T* %t, i32 0, i32 0 -struct T t; -t.i=0xff; -t.c=0xffff11; -if(f(t)!=0x11)abort(); -exit(0); -} diff --git a/test/FrontendC/2010-07-27-MinNoFoldConst.c b/test/FrontendC/2010-07-27-MinNoFoldConst.c deleted file mode 100644 index ea711e5ddd..0000000000 --- a/test/FrontendC/2010-07-27-MinNoFoldConst.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | FileCheck %s -extern int printf(const char *, ...); -static void bad(unsigned int v1, unsigned int v2) { - printf("%u\n", 1631381461u * (((v2 - 1273463329u <= v1 - 1273463329u) ? v2 : v1) - 1273463329u) + 121322179u); -} -// Radar 8198362 -// GCC FE wants to convert the above to -// 1631381461u * MIN(v2 - 1273463329u, v1 - 1273463329u) -// and then to -// MIN(1631381461u * v2 - 4047041419, 1631381461u * v1 - 4047041419) -// -// 1631381461u * 1273463329u = 2077504466193943669, but 32-bit overflow clips -// this to 4047041419. This breaks the comparison implicit in the MIN(). -// Two multiply operations suggests the bad optimization is happening; -// one multiplication, after the MIN(), is correct. -// CHECK: mul -// CHECK-NOT: mul -// CHECK: ret diff --git a/test/FrontendC/2010-08-12-asm-aggr-arg.c b/test/FrontendC/2010-08-12-asm-aggr-arg.c deleted file mode 100644 index 81ec14b288..0000000000 --- a/test/FrontendC/2010-08-12-asm-aggr-arg.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s -// Radar 8288710: A small aggregate can be passed as an integer. Make sure -// we don't get an error with "input constraint with a matching output -// constraint of incompatible type!" - -struct wrapper { - int i; -}; - -// CHECK: xyz -int test(int i) { - struct wrapper w; - w.i = i; - __asm__("xyz" : "=r" (w) : "0" (w)); - return w.i; -} diff --git a/test/FrontendC/2010-11-16-asmblock.c b/test/FrontendC/2010-11-16-asmblock.c deleted file mode 100644 index 2d9768150e..0000000000 --- a/test/FrontendC/2010-11-16-asmblock.c +++ /dev/null @@ -1,16 +0,0 @@ -// RUN: %llvmgcc -S %s -fasm-blocks -o - | FileCheck %s -// XFAIL: * -// XTARGET: x86,i386,i686 -// 84282548 - -void foo() -{ -// CHECK: %0 = call i32 asm sideeffect "", "={ecx}"() nounwind -// CHECK: %1 = call i32 asm sideeffect alignstack "sall $$3, $0", "={ecx},{ecx},~{dirflag},~{fpsr},~{flags},~{memory}"(i32 %0) nounwind -// CHECK: store i32 %1, i32* %"%ecx" - __asm { - sal ecx, 3; - add esi, ecx; - add edi, ecx; - } -} diff --git a/test/FrontendC/2010-12-01-CommonGlobal.c b/test/FrontendC/2010-12-01-CommonGlobal.c deleted file mode 100644 index 3f6d7e8858..0000000000 --- a/test/FrontendC/2010-12-01-CommonGlobal.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null -// Don't crash on a common-linkage constant global. -extern const int kABSourceTypeProperty; -int foo(void) { - return kABSourceTypeProperty; -} -const int kABSourceTypeProperty; diff --git a/test/FrontendC/2011-02-21-DATA-common.c b/test/FrontendC/2011-02-21-DATA-common.c deleted file mode 100644 index 650ae7eddd..0000000000 --- a/test/FrontendC/2011-02-21-DATA-common.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc -S %s -o /dev/null -struct rtxc_snapshot { - int a, b, c, d; -}; -__attribute__ ((section("__DATA, __common"))) static struct rtxc_snapshot rtxc_log_A[4]; diff --git a/test/FrontendC/2011-03-02-UnionInitializer.c b/test/FrontendC/2011-03-02-UnionInitializer.c deleted file mode 100644 index a5ea75e08c..0000000000 --- a/test/FrontendC/2011-03-02-UnionInitializer.c +++ /dev/null @@ -1,2 +0,0 @@ -// RUN: %llvmgcc -S %s -union { int :3; double f; } u17_017 = {17.17}; diff --git a/test/FrontendC/2011-03-08-ZeroFieldUnionInitializer.c b/test/FrontendC/2011-03-08-ZeroFieldUnionInitializer.c deleted file mode 100644 index 1fd8a87824..0000000000 --- a/test/FrontendC/2011-03-08-ZeroFieldUnionInitializer.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc -S %s -typedef struct { - union { - struct { } __attribute((packed)); - }; -} fenv_t; -const fenv_t _FE_DFL_ENV = {{{ 0, 0, 0, 0 }}}; diff --git a/test/FrontendC/2011-03-31-ArrayRefFolding.c b/test/FrontendC/2011-03-31-ArrayRefFolding.c deleted file mode 100644 index 403927931c..0000000000 --- a/test/FrontendC/2011-03-31-ArrayRefFolding.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc -S -o - -m32 -Os %s | FileCheck %s -// PR9571 - -struct t { - int x; -}; - -extern struct t *cfun; - -int f(void) { - if (!(cfun + 0)) -// CHECK: icmp eq %struct.t* %0, null - return 0; - return cfun->x; -} diff --git a/test/FrontendC/ARM/dg.exp b/test/FrontendC/ARM/dg.exp deleted file mode 100644 index df7d49ebdb..0000000000 --- a/test/FrontendC/ARM/dg.exp +++ /dev/null @@ -1,5 +0,0 @@ -load_lib llvm.exp - -if { [llvm_supports_target ARM] && [llvm_gcc_supports c] } { - RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp,s}]] -} diff --git a/test/FrontendC/ARM/inline-asm-multichar.c b/test/FrontendC/ARM/inline-asm-multichar.c deleted file mode 100644 index bd88390326..0000000000 --- a/test/FrontendC/ARM/inline-asm-multichar.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -S -march=armv7a %s | FileCheck %s - -// XFAIL: * -// XTARGET: arm - -int t1() { - static float k = 1.0f; - // CHECK: "flds s15, $0 \0A", "*^Uv,~{s15}" - __asm__ volatile ("flds s15, %[k] \n" :: [k] "Uv,m" (k) : "s15"); - return 0; -} diff --git a/test/FrontendC/Atomics-no64bit.c b/test/FrontendC/Atomics-no64bit.c deleted file mode 100644 index 6fb6109811..0000000000 --- a/test/FrontendC/Atomics-no64bit.c +++ /dev/null @@ -1,190 +0,0 @@ -// Test frontend handling of __sync builtins. -// Modified from a gcc testcase. -// RUN: %llvmgcc -S %s -o - | grep atomic | count 150 -// RUN: %llvmgcc -S %s -o - | grep p0i8 | count 50 -// RUN: %llvmgcc -S %s -o - | grep p0i16 | count 50 -// RUN: %llvmgcc -S %s -o - | grep p0i32 | count 50 -// RUN: %llvmgcc -S %s -o - | grep volatile | count 6 - -// Currently this is implemented only for Alpha, X86, PowerPC. -// Add your target here if it doesn't work. -// This version of the test does not include long long. -// XFAIL: sparc,arm - -signed char sc; -unsigned char uc; -signed short ss; -unsigned short us; -signed int si; -unsigned int ui; - -void test_op_ignore (void) -{ - (void) __sync_fetch_and_add (&sc, 1); - (void) __sync_fetch_and_add (&uc, 1); - (void) __sync_fetch_and_add (&ss, 1); - (void) __sync_fetch_and_add (&us, 1); - (void) __sync_fetch_and_add (&si, 1); - (void) __sync_fetch_and_add (&ui, 1); - - (void) __sync_fetch_and_sub (&sc, 1); - (void) __sync_fetch_and_sub (&uc, 1); - (void) __sync_fetch_and_sub (&ss, 1); - (void) __sync_fetch_and_sub (&us, 1); - (void) __sync_fetch_and_sub (&si, 1); - (void) __sync_fetch_and_sub (&ui, 1); - - (void) __sync_fetch_and_or (&sc, 1); - (void) __sync_fetch_and_or (&uc, 1); - (void) __sync_fetch_and_or (&ss, 1); - (void) __sync_fetch_and_or (&us, 1); - (void) __sync_fetch_and_or (&si, 1); - (void) __sync_fetch_and_or (&ui, 1); - - (void) __sync_fetch_and_xor (&sc, 1); - (void) __sync_fetch_and_xor (&uc, 1); - (void) __sync_fetch_and_xor (&ss, 1); - (void) __sync_fetch_and_xor (&us, 1); - (void) __sync_fetch_and_xor (&si, 1); - (void) __sync_fetch_and_xor (&ui, 1); - - (void) __sync_fetch_and_and (&sc, 1); - (void) __sync_fetch_and_and (&uc, 1); - (void) __sync_fetch_and_and (&ss, 1); - (void) __sync_fetch_and_and (&us, 1); - (void) __sync_fetch_and_and (&si, 1); - (void) __sync_fetch_and_and (&ui, 1); - - (void) __sync_fetch_and_nand (&sc, 1); - (void) __sync_fetch_and_nand (&uc, 1); - (void) __sync_fetch_and_nand (&ss, 1); - (void) __sync_fetch_and_nand (&us, 1); - (void) __sync_fetch_and_nand (&si, 1); - (void) __sync_fetch_and_nand (&ui, 1); -} - -void test_fetch_and_op (void) -{ - sc = __sync_fetch_and_add (&sc, 11); - uc = __sync_fetch_and_add (&uc, 11); - ss = __sync_fetch_and_add (&ss, 11); - us = __sync_fetch_and_add (&us, 11); - si = __sync_fetch_and_add (&si, 11); - ui = __sync_fetch_and_add (&ui, 11); - - sc = __sync_fetch_and_sub (&sc, 11); - uc = __sync_fetch_and_sub (&uc, 11); - ss = __sync_fetch_and_sub (&ss, 11); - us = __sync_fetch_and_sub (&us, 11); - si = __sync_fetch_and_sub (&si, 11); - ui = __sync_fetch_and_sub (&ui, 11); - - sc = __sync_fetch_and_or (&sc, 11); - uc = __sync_fetch_and_or (&uc, 11); - ss = __sync_fetch_and_or (&ss, 11); - us = __sync_fetch_and_or (&us, 11); - si = __sync_fetch_and_or (&si, 11); - ui = __sync_fetch_and_or (&ui, 11); - - sc = __sync_fetch_and_xor (&sc, 11); - uc = __sync_fetch_and_xor (&uc, 11); - ss = __sync_fetch_and_xor (&ss, 11); - us = __sync_fetch_and_xor (&us, 11); - si = __sync_fetch_and_xor (&si, 11); - ui = __sync_fetch_and_xor (&ui, 11); - - sc = __sync_fetch_and_and (&sc, 11); - uc = __sync_fetch_and_and (&uc, 11); - ss = __sync_fetch_and_and (&ss, 11); - us = __sync_fetch_and_and (&us, 11); - si = __sync_fetch_and_and (&si, 11); - ui = __sync_fetch_and_and (&ui, 11); - - sc = __sync_fetch_and_nand (&sc, 11); - uc = __sync_fetch_and_nand (&uc, 11); - ss = __sync_fetch_and_nand (&ss, 11); - us = __sync_fetch_and_nand (&us, 11); - si = __sync_fetch_and_nand (&si, 11); - ui = __sync_fetch_and_nand (&ui, 11); -} - -void test_op_and_fetch (void) -{ - sc = __sync_add_and_fetch (&sc, uc); - uc = __sync_add_and_fetch (&uc, uc); - ss = __sync_add_and_fetch (&ss, uc); - us = __sync_add_and_fetch (&us, uc); - si = __sync_add_and_fetch (&si, uc); - ui = __sync_add_and_fetch (&ui, uc); - - sc = __sync_sub_and_fetch (&sc, uc); - uc = __sync_sub_and_fetch (&uc, uc); - ss = __sync_sub_and_fetch (&ss, uc); - us = __sync_sub_and_fetch (&us, uc); - si = __sync_sub_and_fetch (&si, uc); - ui = __sync_sub_and_fetch (&ui, uc); - - sc = __sync_or_and_fetch (&sc, uc); - uc = __sync_or_and_fetch (&uc, uc); - ss = __sync_or_and_fetch (&ss, uc); - us = __sync_or_and_fetch (&us, uc); - si = __sync_or_and_fetch (&si, uc); - ui = __sync_or_and_fetch (&ui, uc); - - sc = __sync_xor_and_fetch (&sc, uc); - uc = __sync_xor_and_fetch (&uc, uc); - ss = __sync_xor_and_fetch (&ss, uc); - us = __sync_xor_and_fetch (&us, uc); - si = __sync_xor_and_fetch (&si, uc); - ui = __sync_xor_and_fetch (&ui, uc); - - sc = __sync_and_and_fetch (&sc, uc); - uc = __sync_and_and_fetch (&uc, uc); - ss = __sync_and_and_fetch (&ss, uc); - us = __sync_and_and_fetch (&us, uc); - si = __sync_and_and_fetch (&si, uc); - ui = __sync_and_and_fetch (&ui, uc); - - sc = __sync_nand_and_fetch (&sc, uc); - uc = __sync_nand_and_fetch (&uc, uc); - ss = __sync_nand_and_fetch (&ss, uc); - us = __sync_nand_and_fetch (&us, uc); - si = __sync_nand_and_fetch (&si, uc); - ui = __sync_nand_and_fetch (&ui, uc); -} - -void test_compare_and_swap (void) -{ - sc = __sync_val_compare_and_swap (&sc, uc, sc); - uc = __sync_val_compare_and_swap (&uc, uc, sc); - ss = __sync_val_compare_and_swap (&ss, uc, sc); - us = __sync_val_compare_and_swap (&us, uc, sc); - si = __sync_val_compare_and_swap (&si, uc, sc); - ui = __sync_val_compare_and_swap (&ui, uc, sc); - - ui = __sync_bool_compare_and_swap (&sc, uc, sc); - ui = __sync_bool_compare_and_swap (&uc, uc, sc); - ui = __sync_bool_compare_and_swap (&ss, uc, sc); - ui = __sync_bool_compare_and_swap (&us, uc, sc); - ui = __sync_bool_compare_and_swap (&si, uc, sc); - ui = __sync_bool_compare_and_swap (&ui, uc, sc); -} - -void test_lock (void) -{ - sc = __sync_lock_test_and_set (&sc, 1); - uc = __sync_lock_test_and_set (&uc, 1); - ss = __sync_lock_test_and_set (&ss, 1); - us = __sync_lock_test_and_set (&us, 1); - si = __sync_lock_test_and_set (&si, 1); - ui = __sync_lock_test_and_set (&ui, 1); - - __sync_synchronize (); - - __sync_lock_release (&sc); - __sync_lock_release (&uc); - __sync_lock_release (&ss); - __sync_lock_release (&us); - __sync_lock_release (&si); - __sync_lock_release (&ui); -} diff --git a/test/FrontendC/Atomics.c b/test/FrontendC/Atomics.c deleted file mode 100644 index 2b96ae0f62..0000000000 --- a/test/FrontendC/Atomics.c +++ /dev/null @@ -1,236 +0,0 @@ -// Test frontend handling of __sync builtins. -// Modified from a gcc testcase. -// RUN: %llvmgcc -S %s -o - | grep atomic | count 200 -// RUN: %llvmgcc -S %s -o - | grep p0i8 | count 50 -// RUN: %llvmgcc -S %s -o - | grep p0i16 | count 50 -// RUN: %llvmgcc -S %s -o - | grep p0i32 | count 50 -// RUN: %llvmgcc -S %s -o - | grep volatile | count 8 - -// Currently this is implemented only for Alpha, X86, PowerPC. -// Add your target here if it doesn't work. -// PPC32 does not translate the long long variants, so fails this test. -// XFAIL: sparc,arm,powerpc - -signed char sc; -unsigned char uc; -signed short ss; -unsigned short us; -signed int si; -unsigned int ui; -signed long long sll; -unsigned long long ull; - -void test_op_ignore (void) -{ - (void) __sync_fetch_and_add (&sc, 1); - (void) __sync_fetch_and_add (&uc, 1); - (void) __sync_fetch_and_add (&ss, 1); - (void) __sync_fetch_and_add (&us, 1); - (void) __sync_fetch_and_add (&si, 1); - (void) __sync_fetch_and_add (&ui, 1); - (void) __sync_fetch_and_add (&sll, 1); - (void) __sync_fetch_and_add (&ull, 1); - - (void) __sync_fetch_and_sub (&sc, 1); - (void) __sync_fetch_and_sub (&uc, 1); - (void) __sync_fetch_and_sub (&ss, 1); - (void) __sync_fetch_and_sub (&us, 1); - (void) __sync_fetch_and_sub (&si, 1); - (void) __sync_fetch_and_sub (&ui, 1); - (void) __sync_fetch_and_sub (&sll, 1); - (void) __sync_fetch_and_sub (&ull, 1); - - (void) __sync_fetch_and_or (&sc, 1); - (void) __sync_fetch_and_or (&uc, 1); - (void) __sync_fetch_and_or (&ss, 1); - (void) __sync_fetch_and_or (&us, 1); - (void) __sync_fetch_and_or (&si, 1); - (void) __sync_fetch_and_or (&ui, 1); - (void) __sync_fetch_and_or (&sll, 1); - (void) __sync_fetch_and_or (&ull, 1); - - (void) __sync_fetch_and_xor (&sc, 1); - (void) __sync_fetch_and_xor (&uc, 1); - (void) __sync_fetch_and_xor (&ss, 1); - (void) __sync_fetch_and_xor (&us, 1); - (void) __sync_fetch_and_xor (&si, 1); - (void) __sync_fetch_and_xor (&ui, 1); - (void) __sync_fetch_and_xor (&sll, 1); - (void) __sync_fetch_and_xor (&ull, 1); - - (void) __sync_fetch_and_and (&sc, 1); - (void) __sync_fetch_and_and (&uc, 1); - (void) __sync_fetch_and_and (&ss, 1); - (void) __sync_fetch_and_and (&us, 1); - (void) __sync_fetch_and_and (&si, 1); - (void) __sync_fetch_and_and (&ui, 1); - (void) __sync_fetch_and_and (&sll, 1); - (void) __sync_fetch_and_and (&ull, 1); - - (void) __sync_fetch_and_nand (&sc, 1); - (void) __sync_fetch_and_nand (&uc, 1); - (void) __sync_fetch_and_nand (&ss, 1); - (void) __sync_fetch_and_nand (&us, 1); - (void) __sync_fetch_and_nand (&si, 1); - (void) __sync_fetch_and_nand (&ui, 1); - (void) __sync_fetch_and_nand (&sll, 1); - (void) __sync_fetch_and_nand (&ull, 1); -} - -void test_fetch_and_op (void) -{ - sc = __sync_fetch_and_add (&sc, 11); - uc = __sync_fetch_and_add (&uc, 11); - ss = __sync_fetch_and_add (&ss, 11); - us = __sync_fetch_and_add (&us, 11); - si = __sync_fetch_and_add (&si, 11); - ui = __sync_fetch_and_add (&ui, 11); - sll = __sync_fetch_and_add (&sll, 11); - ull = __sync_fetch_and_add (&ull, 11); - - sc = __sync_fetch_and_sub (&sc, 11); - uc = __sync_fetch_and_sub (&uc, 11); - ss = __sync_fetch_and_sub (&ss, 11); - us = __sync_fetch_and_sub (&us, 11); - si = __sync_fetch_and_sub (&si, 11); - ui = __sync_fetch_and_sub (&ui, 11); - sll = __sync_fetch_and_sub (&sll, 11); - ull = __sync_fetch_and_sub (&ull, 11); - - sc = __sync_fetch_and_or (&sc, 11); - uc = __sync_fetch_and_or (&uc, 11); - ss = __sync_fetch_and_or (&ss, 11); - us = __sync_fetch_and_or (&us, 11); - si = __sync_fetch_and_or (&si, 11); - ui = __sync_fetch_and_or (&ui, 11); - sll = __sync_fetch_and_or (&sll, 11); - ull = __sync_fetch_and_or (&ull, 11); - - sc = __sync_fetch_and_xor (&sc, 11); - uc = __sync_fetch_and_xor (&uc, 11); - ss = __sync_fetch_and_xor (&ss, 11); - us = __sync_fetch_and_xor (&us, 11); - si = __sync_fetch_and_xor (&si, 11); - ui = __sync_fetch_and_xor (&ui, 11); - sll = __sync_fetch_and_xor (&sll, 11); - ull = __sync_fetch_and_xor (&ull, 11); - - sc = __sync_fetch_and_and (&sc, 11); - uc = __sync_fetch_and_and (&uc, 11); - ss = __sync_fetch_and_and (&ss, 11); - us = __sync_fetch_and_and (&us, 11); - si = __sync_fetch_and_and (&si, 11); - ui = __sync_fetch_and_and (&ui, 11); - sll = __sync_fetch_and_and (&sll, 11); - ull = __sync_fetch_and_and (&ull, 11); - - sc = __sync_fetch_and_nand (&sc, 11); - uc = __sync_fetch_and_nand (&uc, 11); - ss = __sync_fetch_and_nand (&ss, 11); - us = __sync_fetch_and_nand (&us, 11); - si = __sync_fetch_and_nand (&si, 11); - ui = __sync_fetch_and_nand (&ui, 11); - sll = __sync_fetch_and_nand (&sll, 11); - ull = __sync_fetch_and_nand (&ull, 11); -} - -void test_op_and_fetch (void) -{ - sc = __sync_add_and_fetch (&sc, uc); - uc = __sync_add_and_fetch (&uc, uc); - ss = __sync_add_and_fetch (&ss, uc); - us = __sync_add_and_fetch (&us, uc); - si = __sync_add_and_fetch (&si, uc); - ui = __sync_add_and_fetch (&ui, uc); - sll = __sync_add_and_fetch (&sll, uc); - ull = __sync_add_and_fetch (&ull, uc); - - sc = __sync_sub_and_fetch (&sc, uc); - uc = __sync_sub_and_fetch (&uc, uc); - ss = __sync_sub_and_fetch (&ss, uc); - us = __sync_sub_and_fetch (&us, uc); - si = __sync_sub_and_fetch (&si, uc); - ui = __sync_sub_and_fetch (&ui, uc); - sll = __sync_sub_and_fetch (&sll, uc); - ull = __sync_sub_and_fetch (&ull, uc); - - sc = __sync_or_and_fetch (&sc, uc); - uc = __sync_or_and_fetch (&uc, uc); - ss = __sync_or_and_fetch (&ss, uc); - us = __sync_or_and_fetch (&us, uc); - si = __sync_or_and_fetch (&si, uc); - ui = __sync_or_and_fetch (&ui, uc); - sll = __sync_or_and_fetch (&sll, uc); - ull = __sync_or_and_fetch (&ull, uc); - - sc = __sync_xor_and_fetch (&sc, uc); - uc = __sync_xor_and_fetch (&uc, uc); - ss = __sync_xor_and_fetch (&ss, uc); - us = __sync_xor_and_fetch (&us, uc); - si = __sync_xor_and_fetch (&si, uc); - ui = __sync_xor_and_fetch (&ui, uc); - sll = __sync_xor_and_fetch (&sll, uc); - ull = __sync_xor_and_fetch (&ull, uc); - - sc = __sync_and_and_fetch (&sc, uc); - uc = __sync_and_and_fetch (&uc, uc); - ss = __sync_and_and_fetch (&ss, uc); - us = __sync_and_and_fetch (&us, uc); - si = __sync_and_and_fetch (&si, uc); - ui = __sync_and_and_fetch (&ui, uc); - sll = __sync_and_and_fetch (&sll, uc); - ull = __sync_and_and_fetch (&ull, uc); - - sc = __sync_nand_and_fetch (&sc, uc); - uc = __sync_nand_and_fetch (&uc, uc); - ss = __sync_nand_and_fetch (&ss, uc); - us = __sync_nand_and_fetch (&us, uc); - si = __sync_nand_and_fetch (&si, uc); - ui = __sync_nand_and_fetch (&ui, uc); - sll = __sync_nand_and_fetch (&sll, uc); - ull = __sync_nand_and_fetch (&ull, uc); -} - -void test_compare_and_swap (void) -{ - sc = __sync_val_compare_and_swap (&sc, uc, sc); - uc = __sync_val_compare_and_swap (&uc, uc, sc); - ss = __sync_val_compare_and_swap (&ss, uc, sc); - us = __sync_val_compare_and_swap (&us, uc, sc); - si = __sync_val_compare_and_swap (&si, uc, sc); - ui = __sync_val_compare_and_swap (&ui, uc, sc); - sll = __sync_val_compare_and_swap (&sll, uc, sc); - ull = __sync_val_compare_and_swap (&ull, uc, sc); - - ui = __sync_bool_compare_and_swap (&sc, uc, sc); - ui = __sync_bool_compare_and_swap (&uc, uc, sc); - ui = __sync_bool_compare_and_swap (&ss, uc, sc); - ui = __sync_bool_compare_and_swap (&us, uc, sc); - ui = __sync_bool_compare_and_swap (&si, uc, sc); - ui = __sync_bool_compare_and_swap (&ui, uc, sc); - ui = __sync_bool_compare_and_swap (&sll, uc, sc); - ui = __sync_bool_compare_and_swap (&ull, uc, sc); -} - -void test_lock (void) -{ - sc = __sync_lock_test_and_set (&sc, 1); - uc = __sync_lock_test_and_set (&uc, 1); - ss = __sync_lock_test_and_set (&ss, 1); - us = __sync_lock_test_and_set (&us, 1); - si = __sync_lock_test_and_set (&si, 1); - ui = __sync_lock_test_and_set (&ui, 1); - sll = __sync_lock_test_and_set (&sll, 1); - ull = __sync_lock_test_and_set (&ull, 1); - - __sync_synchronize (); - - __sync_lock_release (&sc); - __sync_lock_release (&uc); - __sync_lock_release (&ss); - __sync_lock_release (&us); - __sync_lock_release (&si); - __sync_lock_release (&ui); - __sync_lock_release (&sll); - __sync_lock_release (&ull); -} diff --git a/test/FrontendC/BasicInstrs.c b/test/FrontendC/BasicInstrs.c deleted file mode 100644 index ceed17c2ba..0000000000 --- a/test/FrontendC/BasicInstrs.c +++ /dev/null @@ -1,26 +0,0 @@ -// This file can be used to see what a native C compiler is generating for a -// variety of interesting operations. -// -// RUN: %llvmgcc -S %s -o - | llc - -unsigned int udiv(unsigned int X, unsigned int Y) { - return X/Y; -} -int sdiv(int X, int Y) { - return X/Y; -} -unsigned int urem(unsigned int X, unsigned int Y) { - return X%Y; -} -int srem(int X, int Y) { - return X%Y; -} - -_Bool setlt(int X, int Y) { - return X < Y; -} - -_Bool setgt(int X, int Y) { - return X > Y; -} - diff --git a/test/FrontendC/alignstack.c b/test/FrontendC/alignstack.c deleted file mode 100644 index 30c00ff88e..0000000000 --- a/test/FrontendC/alignstack.c +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %llvmgcc %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/always-inline.c b/test/FrontendC/always-inline.c deleted file mode 100644 index 22f6c7a20e..0000000000 --- a/test/FrontendC/always-inline.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep call | not grep foo - -void bar() { -} - -inline void __attribute__((__always_inline__)) foo() { - bar(); -} - -void i_want_bar() { - foo(); -} diff --git a/test/FrontendC/arrayderef.c b/test/FrontendC/arrayderef.c deleted file mode 100644 index 66c2e0ba41..0000000000 --- a/test/FrontendC/arrayderef.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc %s -S -O -o - | FileCheck %s -// The load here was getting lost because this code was close -// enough to the traditional (wrong) implementation of offsetof -// to confuse the gcc FE. 8629268. - -struct foo { - int x; - int *y; -}; - -struct foo Foo[1]; - -int * bar(unsigned int ix) { -// CHECK: load - return &Foo->y[ix]; -} - diff --git a/test/FrontendC/asm-reg-var-local.c b/test/FrontendC/asm-reg-var-local.c deleted file mode 100644 index e0be10c872..0000000000 --- a/test/FrontendC/asm-reg-var-local.c +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s -// Exercise various use cases for local asm "register variables". -// XFAIL: * -// XTARGET: x86_64,i686,i386 - -int foo() { -// CHECK: %a = alloca i32 - - register int a asm("rsi")=5; -// CHECK: store i32 5, i32* %a, align 4 - - asm volatile("; %0 This asm defines rsi" : "=r"(a)); -// CHECK: %1 = call i32 asm sideeffect "; $0 This asm defines rsi", "={rsi} -// CHECK: store i32 %1, i32* %a - - a = 42; -// CHECK: store i32 42, i32* %a, align 4 - - asm volatile("; %0 This asm uses rsi" : : "r"(a)); -// CHECK: %2 = load i32* %a, align 4 -// CHECK: call void asm sideeffect "", "{rsi}"(i32 %2) nounwind -// CHECK: %3 = call i32 asm sideeffect "", "={rsi}"() nounwind -// CHECK: call void asm sideeffect "; $0 This asm uses rsi", "{rsi},~{dirflag},~{fpsr},~{flags}"(i32 %3) - - return a; -// CHECK: %4 = load i32* %a, align 4 -// CHECK: call void asm sideeffect "", "{rsi}"(i32 %4) nounwind -// CHECK: %5 = call i32 asm sideeffect "", "={rsi}"() nounwind -// CHECK: store i32 %5, i32* %0, align 4 -// CHECK: %6 = load i32* %0, align 4 -// CHECK: store i32 %6, i32* %retval, align 4 -} diff --git a/test/FrontendC/attribute_constructor.c b/test/FrontendC/attribute_constructor.c deleted file mode 100644 index da17a37e26..0000000000 --- a/test/FrontendC/attribute_constructor.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep llvm.global_ctors - -void foo() __attribute__((constructor)); -void foo() { - bar(); -} diff --git a/test/FrontendC/block-copy.c b/test/FrontendC/block-copy.c deleted file mode 100644 index c088f2dc19..0000000000 --- a/test/FrontendC/block-copy.c +++ /dev/null @@ -1,20 +0,0 @@ -/* RUN: %llvmgcc %s -S -o - -O3 | grep {call.*memcpy} - - This should compile into a memcpy from a global, not 128 stores. */ - - - -void foo(); - -float bar() { - float lookupTable[] = {-1,-1,-1,0, -1,-1,0,-1, -1,-1,0,1, -1,-1,1,0, - -1,0,-1,-1, -1,0,-1,1, -1,0,1,-1, -1,0,1,1, - -1,1,-1,0, -1,1,0,-1, -1,1,0,1, -1,1,1,0, - 0,-1,-1,-1, 0,-1,-1,1, 0,-1,1,-1, 0,-1,1,1, - 1,-1,-1,0, 1,-1,0,-1, 1,-1,0,1, 1,-1,1,0, - 1,0,-1,-1, 1,0,-1,1, 1,0,1,-1, 1,0,1,1, - 1,1,-1,0, 1,1,0,-1, 1,1,0,1, 1,1,1,0, - 0,1,-1,-1, 0,1,-1,1, 0,1,1,-1, 0,1,1,1}; - foo(lookupTable); -} - diff --git a/test/FrontendC/crash-invalid-array.c b/test/FrontendC/crash-invalid-array.c deleted file mode 100644 index d602f78545..0000000000 --- a/test/FrontendC/crash-invalid-array.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: not %llvmgcc -O1 %s -S |& grep {error: invalid use of array with unspecified bounds} -// PR6913 - -#include <stdio.h> - -int main() -{ - int x[10][10]; - int (*p)[] = x; // <-- this line is what triggered it - - int i; - - for(i = 0; i < 10; ++i) - { - p[i][i] = i; - } -} diff --git a/test/FrontendC/dg.exp b/test/FrontendC/dg.exp deleted file mode 100644 index a9be28a63c..0000000000 --- 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/exact-div-expr.c b/test/FrontendC/exact-div-expr.c deleted file mode 100644 index 9dce922f95..0000000000 --- a/test/FrontendC/exact-div-expr.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -O1 | grep ashr -// RUN: %llvmgcc -S %s -o - -O1 | not grep sdiv - -long long test(int *A, int *B) { - return A-B; -} diff --git a/test/FrontendC/extern-weak.c b/test/FrontendC/extern-weak.c deleted file mode 100644 index 73b59cc48c..0000000000 --- a/test/FrontendC/extern-weak.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -O3 -S -o - %s | grep extern_weak -// RUN: %llvmgcc -O3 -S -o - %s | llc - -#if !defined(__linux__) && !defined(__FreeBSD__) && \ - !defined(__OpenBSD__) && !defined(__CYGWIN__) && !defined(__DragonFly__) -void foo() __attribute__((weak_import)); -#else -void foo() __attribute__((weak)); -#endif - -void bar() { foo(); } - diff --git a/test/FrontendC/fp-logical.c b/test/FrontendC/fp-logical.c deleted file mode 100644 index 60404f6702..0000000000 --- a/test/FrontendC/fp-logical.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep bitcast | count 14 - -typedef float vFloat __attribute__ ((__vector_size__ (16))); -typedef unsigned int vUInt32 __attribute__ ((__vector_size__ (16))); -void foo(vFloat *X) { - vFloat NoSignBit = (vFloat) ~ (vUInt32) (vFloat) { -0.f, -0.f, -0.f, -0.f }; - vFloat ExtremeValue = *X & NoSignBit; - *X = ExtremeValue; -} - -void bar(vFloat *X) { - vFloat NoSignBit = (vFloat) ~ (vUInt32) (vFloat) { -0.f, -0.f, -0.f, -0.f }; - vFloat ExtremeValue = *X & ~NoSignBit; - *X = ExtremeValue; -} diff --git a/test/FrontendC/func-aligned.c b/test/FrontendC/func-aligned.c deleted file mode 100644 index 477e82418a..0000000000 --- a/test/FrontendC/func-aligned.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s - -// rdar://7270273 -void foo() __attribute__((aligned (64))); -void foo() { -// CHECK: define void @foo() {{.*}} align 64 -} diff --git a/test/FrontendC/funccall.c b/test/FrontendC/funccall.c deleted file mode 100644 index 9735e34705..0000000000 --- a/test/FrontendC/funccall.c +++ /dev/null @@ -1,17 +0,0 @@ - -static int q; - -void foo() { - int t = q; - q = t + 1; -} -int main() { - q = 0; - foo(); - q = q - 1; - - return q; -} - -// This is the source that corresponds to funccall.ll -// RUN: echo foo diff --git a/test/FrontendC/hidden-visibility.c b/test/FrontendC/hidden-visibility.c deleted file mode 100644 index 589bb53453..0000000000 --- a/test/FrontendC/hidden-visibility.c +++ /dev/null @@ -1,3 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | grep {hidden unnamed_addr global} - -int X __attribute__ ((__visibility__ ("hidden"))) = 123; diff --git a/test/FrontendC/implicit-arg.c b/test/FrontendC/implicit-arg.c deleted file mode 100644 index a6cb8bce7e..0000000000 --- a/test/FrontendC/implicit-arg.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - -// RUN: %llvmgcc %s -S -O1 -o - -// rdar://6518089 - -static int bar(); -void foo() { - int a = bar(); -} -int bar(unsigned a) { -} diff --git a/test/FrontendC/inline-asm-function.c b/test/FrontendC/inline-asm-function.c deleted file mode 100644 index e584840986..0000000000 --- a/test/FrontendC/inline-asm-function.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -fasm-blocks -o - -O | grep naked -// 7533078 (partial). - -asm int f() { - xyz -} diff --git a/test/FrontendC/inline-asm-mrv.c b/test/FrontendC/inline-asm-mrv.c deleted file mode 100644 index 6d1df67af1..0000000000 --- a/test/FrontendC/inline-asm-mrv.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -O | not grep alloca -// PR2094 - -int sad16_sse2(void *v, unsigned char *blk2, unsigned char *blk1, - int stride, int h) { - int ret; - asm volatile( "%0 %1 %2 %3" - : "+r" (h), "+r" (blk1), "+r" (blk2) - : "r" ((long)stride)); - asm volatile("set %0 %1" : "=r"(ret) : "r"(blk1)); - return ret; -} diff --git a/test/FrontendC/libcalls-d.c b/test/FrontendC/libcalls-d.c deleted file mode 100644 index d92208d89e..0000000000 --- a/test/FrontendC/libcalls-d.c +++ /dev/null @@ -1,14 +0,0 @@ -// llvm-gcc -O1+ should run simplify libcalls, O0 shouldn't -// and -fno-builtins shouldn't. -// -fno-math-errno should emit an llvm intrinsic, -fmath-errno should not. -// RUN: %llvmgcc %s -S -fno-math-errno -O0 -o - | grep {call.*exp2\\.f64} -// RUN: %llvmgcc %s -S -fmath-errno -O0 -o - | grep {call.*exp2} -// RUN: %llvmgcc %s -S -O1 -o - | grep {call.*ldexp} -// RUN: %llvmgcc %s -S -O3 -fno-builtin -o - | grep {call.*exp2} - -double exp2(double); - -double t4(unsigned char x) { - return exp2(x); -} - diff --git a/test/FrontendC/libcalls-ld.c b/test/FrontendC/libcalls-ld.c deleted file mode 100644 index cf71d19eaa..0000000000 --- a/test/FrontendC/libcalls-ld.c +++ /dev/null @@ -1,17 +0,0 @@ -// llvm-gcc -O1+ should run simplify libcalls, O0 shouldn't -// and -fno-builtins shouldn't. -// -fno-math-errno should emit an llvm intrinsic, -fmath-errno should not. -// RUN: %llvmgcc %s -S -fno-math-errno -O0 -o - | grep {call.*exp2\\..*f} -// RUN: %llvmgcc %s -S -fmath-errno -O0 -o - | grep {call.*exp2l} -// RUN: %llvmgcc %s -S -O1 -o - | grep {call.*ldexp} -// RUN: %llvmgcc %s -S -O3 -fno-builtin -o - | grep {call.*exp2l} - -// If this fails for you because your target doesn't support long double, -// please xfail the test. - -long double exp2l(long double); - -long double t4(unsigned char x) { - return exp2l(x); -} - diff --git a/test/FrontendC/libcalls.c b/test/FrontendC/libcalls.c deleted file mode 100644 index 60e22e7e69..0000000000 --- a/test/FrontendC/libcalls.c +++ /dev/null @@ -1,14 +0,0 @@ -// llvm-gcc -O1+ should run simplify libcalls, O0 shouldn't -// and -fno-builtins shouldn't. -// -fno-math-errno should emit an llvm intrinsic, -fmath-errno should not. -// RUN: %llvmgcc %s -S -fno-math-errno -O0 -o - | grep {call.*exp2\\.f32} -// RUN: %llvmgcc %s -S -fmath-errno -O0 -o - | grep {call.*exp2f} -// RUN: %llvmgcc %s -S -O1 -o - | grep {call.*ldexp} -// RUN: %llvmgcc %s -S -O3 -fno-builtin -o - | grep {call.*exp2f} - -float exp2f(float); - -float t4(unsigned char x) { - return exp2f(x); -} - diff --git a/test/FrontendC/misaligned-param.c b/test/FrontendC/misaligned-param.c deleted file mode 100644 index b4fcfe312f..0000000000 --- a/test/FrontendC/misaligned-param.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc %s -m32 -S -o - | FileCheck %s -// Misaligned parameter must be memcpy'd to correctly aligned temporary. -// XFAIL: * -// XTARGET: i386-apple-darwin,i686-apple-darwin,x86_64-apple-darwin - -struct s { int x; long double y; }; -long double foo(struct s x, int i, struct s y) { -// CHECK: foo -// CHECK: %x_addr = alloca %struct.s, align 16 -// CHECK: %y_addr = alloca %struct.s, align 16 -// CHECK: memcpy -// CHECK: memcpy -// CHECK: bar - return bar(&x, &y); -} diff --git a/test/FrontendC/mmx-inline-asm.c b/test/FrontendC/mmx-inline-asm.c deleted file mode 100644 index 5c09a41072..0000000000 --- a/test/FrontendC/mmx-inline-asm.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc -mmmx -S -o - %s | FileCheck %s -// XFAIL: * -// XTARGET: x86,i386,i686 -// <rdar://problem/9091220> -#include <mmintrin.h> -#include <stdint.h> - -// CHECK: { x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx } - -void foo(__m64 vfill) { - __m64 v1, v2, v3, v4, v5, v6, v7; - - __asm__ __volatile__ ( - "\tmovq %7, %0\n" - "\tmovq %7, %1\n" - "\tmovq %7, %2\n" - "\tmovq %7, %3\n" - "\tmovq %7, %4\n" - "\tmovq %7, %5\n" - "\tmovq %7, %6" - : "=&y" (v1), "=&y" (v2), "=&y" (v3), - "=&y" (v4), "=&y" (v5), "=&y" (v6), "=y" (v7) - : "y" (vfill)); -} diff --git a/test/FrontendC/nested-functions.c b/test/FrontendC/nested-functions.c deleted file mode 100644 index bccbef3dbd..0000000000 --- a/test/FrontendC/nested-functions.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -fnested-functions -// PR1274 - -void Bork() { - void Fork(const int *src, int size) { - int i = 1; - int x; - - while (i < size) - x = src[i]; - } -} - -void foo(void *a){ - inline void foo_bar() { - a += 1; - } -} diff --git a/test/FrontendC/pr2394.c b/test/FrontendC/pr2394.c deleted file mode 100644 index ca8b046f72..0000000000 --- a/test/FrontendC/pr2394.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | FileCheck %s -struct __attribute((packed)) x {int a : 24;}; -int a(struct x* g) { - // CHECK: load i24 - return g->a; -} diff --git a/test/FrontendC/pr3518.c b/test/FrontendC/pr3518.c deleted file mode 100644 index 112394a651..0000000000 --- a/test/FrontendC/pr3518.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | grep {= internal unnamed_addr global} | count 4 -// PR 3518 -// Some of the objects were coming out as unintialized (external) before 3518 -// was fixed. Internal names are different between llvm-gcc and clang so they -// are not tested. - -extern void abort (void); - -struct A { int i; int j; }; -struct B { struct A *a; struct A *b; }; -struct C { struct B *c; struct A *d; }; -struct C e = { &(struct B) { &(struct A) { 1, 2 }, &(struct A) { 3, 4 } }, &(struct A) { 5, 6 } }; - -int -main (void) -{ - if (e.c->a->i != 1 || e.c->a->j != 2) - abort (); - if (e.c->b->i != 3 || e.c->b->j != 4) - abort (); - if (e.d->i != 5 || e.d->j != 6) - abort (); - return 0; -} diff --git a/test/FrontendC/pr4349.c b/test/FrontendC/pr4349.c deleted file mode 100644 index 49c89e25fe..0000000000 --- a/test/FrontendC/pr4349.c +++ /dev/null @@ -1,38 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s -// PR 4349 - -union reg -{ - unsigned char b[2][2]; - unsigned short w[2]; - unsigned int d; -}; -struct cpu -{ - union reg pc; -}; -extern struct cpu cpu; -struct svar -{ - void *ptr; -}; -// CHECK: @svars1 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (%struct.cpu* @cpu to i8*) }] -struct svar svars1[] = -{ - { &((cpu.pc).w[0]) } -}; -// CHECK: @svars2 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x i8]* bitcast (%struct.cpu* @cpu to [2 x i8]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) }] -struct svar svars2[] = -{ - { &((cpu.pc).b[0][1]) } -}; -// CHECK: @svars3 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (i16* getelementptr ([2 x i16]* bitcast (%struct.cpu* @cpu to [2 x i16]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) to i8*) }] -struct svar svars3[] = -{ - { &((cpu.pc).w[1]) } -}; -// CHECK: @svars4 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x [2 x i8]]* bitcast (%struct.cpu* @cpu to [2 x [2 x i8]]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1, i{{[0-9]+}} 1) }] -struct svar svars4[] = -{ - { &((cpu.pc).b[1][1]) } -}; diff --git a/test/FrontendC/pr5406.c b/test/FrontendC/pr5406.c deleted file mode 100644 index 0b1f277592..0000000000 --- a/test/FrontendC/pr5406.c +++ /dev/null @@ -1,20 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s -// PR 5406 - -// XFAIL: * -// XTARGET: arm - -typedef struct { char x[3]; } A0; -void foo (int i, ...); - - -// CHECK: call void (i32, ...)* @foo(i32 1, i32 {{.*}}) nounwind -int main (void) -{ - A0 a3; - a3.x[0] = 0; - a3.x[0] = 0; - a3.x[2] = 26; - foo (1, a3 ); - return 0; -} diff --git a/test/FrontendC/ptr-rotate.c b/test/FrontendC/ptr-rotate.c deleted file mode 100644 index 36d9755dd6..0000000000 --- a/test/FrontendC/ptr-rotate.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %llvmgcc %s -S -m32 -o /dev/null -// RUN: %llvmgcc %s -S -O1 -m32 -o - | llc -march=x86 -mtriple=i386-apple-darwin9.7 | FileCheck %s -check-prefix=DARWIN - -unsigned int func(void *A) { - // DARWIN: roll $27 - return ((((unsigned long long) A) >> 5) | (((unsigned long long) A) << 27)); -} diff --git a/test/FrontendC/redef-ext-inline.c b/test/FrontendC/redef-ext-inline.c deleted file mode 100644 index 240beb1f6f..0000000000 --- a/test/FrontendC/redef-ext-inline.c +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %llvmgcc -S %s -o - -// rdar://7208839 - -extern inline int f1 (void) {return 1;} -int f3 (void) {return f1();} -int f1 (void) {return 0;} diff --git a/test/FrontendC/sret.c b/test/FrontendC/sret.c deleted file mode 100644 index 42666917a8..0000000000 --- a/test/FrontendC/sret.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | grep sret | count 5 - -struct abc { - long a; - long b; - long c; -}; - -struct abc foo1(void); -struct abc foo2(); - -void bar() { - struct abc dummy1 = foo1(); - struct abc dummy2 = foo2(); -} diff --git a/test/FrontendC/sret2.c b/test/FrontendC/sret2.c deleted file mode 100644 index 0f35b1c258..0000000000 --- a/test/FrontendC/sret2.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc %s -S -O0 -o - | grep sret | count 2 - -struct abc { - long a; - long b; - long c; -}; - -struct abc foo2(){} diff --git a/test/FrontendC/struct-matching-constraint.c b/test/FrontendC/struct-matching-constraint.c deleted file mode 100644 index d002cddeef..0000000000 --- a/test/FrontendC/struct-matching-constraint.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %llvmgcc -S -march=armv7a %s - -// XFAIL: * -// XTARGET: arm - -typedef struct __simd128_uint16_t -{ - __neon_uint16x8_t val; -} uint16x8_t; - -void b(uint16x8_t sat, uint16x8_t luma) -{ - __asm__("vmov.16 %1, %0 \n\t" - "vtrn.16 %0, %1 \n\t" - :"=w"(luma), "=w"(sat) - :"0"(luma) - ); - -} diff --git a/test/FrontendC/unaligned-memcpy.c b/test/FrontendC/unaligned-memcpy.c deleted file mode 100644 index 8fb84e4f51..0000000000 --- a/test/FrontendC/unaligned-memcpy.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgcc %s -S -o - | llc - -void bork() { - char Qux[33] = {0}; -} diff --git a/test/FrontendC/union-align.c b/test/FrontendC/union-align.c deleted file mode 100644 index f99a760805..0000000000 --- a/test/FrontendC/union-align.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep load | grep "4 x float" | not grep "align 4" -// RUN: %llvmgcc -S %s -o - | grep load | grep "4 x float" | grep "align 16" -// PR3432 -// rdar://6536377 - -typedef float __m128 __attribute__ ((__vector_size__ (16))); - -typedef union -{ - int i[4]; - float f[4]; - __m128 v; -} u_t; - -__m128 t(u_t *a) { - return a->v; -} diff --git a/test/FrontendC/vla-1.c b/test/FrontendC/vla-1.c deleted file mode 100644 index 77f78a5e3a..0000000000 --- a/test/FrontendC/vla-1.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc_only -std=gnu99 %s -S |& grep {warning: alignment for} -// ppc does not support this feature, and gets a fatal error at runtime. -// XFAIL: powerpc - -int foo(int a) -{ - int var[a] __attribute__((__aligned__(32))); - return 4; -} diff --git a/test/FrontendC/vla-2.c b/test/FrontendC/vla-2.c deleted file mode 100644 index 555cfc7892..0000000000 --- a/test/FrontendC/vla-2.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %llvmgcc -std=gnu99 %s -S -o - | grep ".*alloca.*align 16" - -extern void bar(int[]); - -void foo(int a) -{ - int var[a] __attribute__((__aligned__(16))); - bar(var); - return; -} diff --git a/test/FrontendC/vla-3.c b/test/FrontendC/vla-3.c deleted file mode 100644 index eca9675a41..0000000000 --- a/test/FrontendC/vla-3.c +++ /dev/null @@ -1,11 +0,0 @@ -// RUN: %llvmgcc -std=gnu99 %s -S -o - | grep ".*alloca.*align 16" - -void adr(char *); - -void vlaalign(int size) -{ - char __attribute__((aligned(16))) tmp[size+32]; - char tmp2[size+16]; - - adr(tmp); -} diff --git a/test/FrontendC/wchar-const.c b/test/FrontendC/wchar-const.c deleted file mode 100644 index 7cf3322e8c..0000000000 --- a/test/FrontendC/wchar-const.c +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | grep {constant \\\[18 x} | grep { 84, } -// This should pass for any endianness combination of host and target. -#include <wchar.h> -extern void foo(const wchar_t* p); -int main (int argc, const char * argv[]) -{ - foo(L"This is some text"); - return 0; -} diff --git a/test/FrontendC/weak_constant.c b/test/FrontendC/weak_constant.c deleted file mode 100644 index 53379482cb..0000000000 --- a/test/FrontendC/weak_constant.c +++ /dev/null @@ -1,12 +0,0 @@ -// RUN: %llvmgcc -S %s -O1 -o - | grep {ret.*123} -// Check for bug compatibility with gcc. - -const int x __attribute((weak)) = 123; - -int* f(void) { - return &x; -} - -int g(void) { - return *f(); -} |