summaryrefslogtreecommitdiffstats
path: root/test/FrontendC
diff options
context:
space:
mode:
Diffstat (limited to 'test/FrontendC')
-rw-r--r--test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c2
-rw-r--r--test/FrontendC/2003-08-17-DeadCodeShortCircuit.c2
-rw-r--r--test/FrontendC/2003-11-03-AddrArrayElement.c2
-rw-r--r--test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c2
-rw-r--r--test/FrontendC/2003-11-13-TypeSafety.c2
-rw-r--r--test/FrontendC/2003-12-14-ExternInlineSupport.c2
-rw-r--r--test/FrontendC/2004-02-12-LargeAggregateCopy.c2
-rw-r--r--test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c2
-rw-r--r--test/FrontendC/2004-02-13-IllegalVararg.c2
-rw-r--r--test/FrontendC/2004-02-13-Memset.c2
-rw-r--r--test/FrontendC/2004-02-20-Builtins.c2
-rw-r--r--test/FrontendC/2004-03-07-ExternalConstant.c2
-rw-r--r--test/FrontendC/2004-06-17-UnorderedCompares.c2
-rw-r--r--test/FrontendC/2004-11-27-StaticFunctionRedeclare.c4
-rw-r--r--test/FrontendC/2005-01-02-PointerDifference.c2
-rw-r--r--test/FrontendC/2005-02-27-MarkGlobalConstant.c2
-rw-r--r--test/FrontendC/2005-12-04-AttributeUsed.c2
-rw-r--r--test/FrontendC/2006-03-03-MissingInitializer.c2
-rw-r--r--test/FrontendC/2007-01-06-KNR-Proto.c2
-rw-r--r--test/FrontendC/2007-02-04-AddrLValue-2.c2
-rw-r--r--test/FrontendC/2007-02-04-AddrLValue.c2
-rw-r--r--test/FrontendC/2007-02-04-EmptyStruct.c2
-rw-r--r--test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c2
-rw-r--r--test/FrontendC/2007-02-05-nested.c2
-rw-r--r--test/FrontendC/2007-02-07-AddrLabel.c2
-rw-r--r--test/FrontendC/2007-02-16-VoidPtrDiff.c2
-rw-r--r--test/FrontendC/2007-02-16-WritableStrings.c6
-rw-r--r--test/FrontendC/2007-02-25-C-DotDotDot.c2
-rw-r--r--test/FrontendC/2007-03-01-VarSizeArrayIdx.c2
-rw-r--r--test/FrontendC/2007-04-11-InlineAsmStruct.c2
-rw-r--r--test/FrontendC/2007-04-11-InlineAsmUnion.c2
-rw-r--r--test/FrontendC/2007-04-11-InlineStorageClassC89.c14
-rw-r--r--test/FrontendC/2007-04-11-InlineStorageClassC99.c14
-rw-r--r--test/FrontendC/2007-04-13-InlineAsmStruct2.c2
-rw-r--r--test/FrontendC/2007-04-13-InlineAsmUnion2.c2
-rw-r--r--test/FrontendC/2007-04-24-VolatileStructCopy.c2
-rw-r--r--test/FrontendC/2007-04-24-bit-not-expr.c2
-rw-r--r--test/FrontendC/2007-04-24-str-const.c2
-rw-r--r--test/FrontendC/2007-05-07-PaddingElements.c4
-rw-r--r--test/FrontendC/2007-05-11-str-const.c2
-rw-r--r--test/FrontendC/2007-05-15-PaddingElement.c2
-rw-r--r--test/FrontendC/2007-05-16-EmptyStruct.c2
-rw-r--r--test/FrontendC/2007-05-29-UnionCopy.c2
-rw-r--r--test/FrontendC/2007-06-05-NoInlineAttribute.c2
-rw-r--r--test/FrontendC/2007-06-15-AnnotateAttribute.c4
-rw-r--r--test/FrontendC/2007-06-18-SextAttrAggregate.c2
-rw-r--r--test/FrontendC/2007-07-29-RestrictPtrArg.c2
-rw-r--r--test/FrontendC/2007-08-01-LoadStoreAlign.c4
-rw-r--r--test/FrontendC/2007-08-21-ComplexCst.c2
-rw-r--r--test/FrontendC/2007-09-05-ConstCtor.c2
-rw-r--r--test/FrontendC/2007-09-20-GcrootAttribute.c6
-rw-r--r--test/FrontendC/2007-10-01-BuildArrayRef.c18
-rw-r--r--test/FrontendC/2007-11-07-AlignedMemcpy.c2
-rw-r--r--test/FrontendC/2007-11-27-SExtZExt.c2
-rw-r--r--test/FrontendC/2008-01-25-ByValReadNone.c4
-rw-r--r--test/FrontendC/2008-01-28-PragmaMark.c2
-rw-r--r--test/FrontendC/2008-03-03-CtorAttrType.c2
-rw-r--r--test/FrontendC/2008-03-05-syncPtr.c2
-rw-r--r--test/FrontendC/2008-05-19-AlwaysInline.c4
-rw-r--r--test/FrontendC/2008-08-07-AlignPadding1.c2
-rw-r--r--test/FrontendC/2008-08-07-AlignPadding2.c2
-rw-r--r--test/FrontendC/2008-10-30-ZeroPlacement.c2
-rw-r--r--test/FrontendC/2008-11-02-WeakAlias.c2
-rw-r--r--test/FrontendC/2008-11-08-InstCombineSelect.c2
-rw-r--r--test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c2
-rw-r--r--test/FrontendC/2008-12-23-AsmIntPointerTie.c2
-rw-r--r--test/FrontendC/2009-01-05-BlockInlining.c2
-rw-r--r--test/FrontendC/2009-03-13-dbg.c2
-rw-r--r--test/FrontendC/2009-05-04-EnumInreg.c2
-rw-r--r--test/FrontendC/2010-01-13-MemBarrier.c2
-rw-r--r--test/FrontendC/2010-05-18-asmsched.c2
-rw-r--r--test/FrontendC/2010-05-26-AsmSideEffect.c2
-rw-r--r--test/FrontendC/2010-06-28-nowarn.c2
-rw-r--r--test/FrontendC/2010-07-14-overconservative-align.c2
-rw-r--r--test/FrontendC/2010-11-16-asmblock.c16
-rw-r--r--test/FrontendC/2010-12-01-CommonGlobal.c7
-rw-r--r--test/FrontendC/arrayderef.c17
-rw-r--r--test/FrontendC/attribute_constructor.c2
-rw-r--r--test/FrontendC/block-copy.c2
-rw-r--r--test/FrontendC/cstring-align.c2
-rw-r--r--test/FrontendC/extern-weak.c4
-rw-r--r--test/FrontendC/func-aligned.c2
-rw-r--r--test/FrontendC/hidden-visibility.c2
-rw-r--r--test/FrontendC/implicit-arg.c4
-rw-r--r--test/FrontendC/libcalls-d.c8
-rw-r--r--test/FrontendC/libcalls-ld.c8
-rw-r--r--test/FrontendC/libcalls.c8
-rw-r--r--test/FrontendC/pr3518.c2
-rw-r--r--test/FrontendC/pr4349.c10
-rw-r--r--test/FrontendC/pr5406.c2
-rw-r--r--test/FrontendC/ptr-rotate.c4
-rw-r--r--test/FrontendC/sret.c2
-rw-r--r--test/FrontendC/sret2.c2
-rw-r--r--test/FrontendC/unaligned-memcpy.c2
94 files changed, 183 insertions, 131 deletions
diff --git a/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c b/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c
index 39412e5..12b4f7b 100644
--- a/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c
+++ b/test/FrontendC/2003-08-06-BuiltinSetjmpLongjmp.c
@@ -1,4 +1,4 @@
-/* RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep __builtin_
+/* 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.
diff --git a/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c b/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c
index c275fee..9ae633e 100644
--- a/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c
+++ b/test/FrontendC/2003-08-17-DeadCodeShortCircuit.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o %t.o
+// RUN: %llvmgcc -xc %s -S -o %t.o
int test(_Bool pos, _Bool color) {
return 0;
diff --git a/test/FrontendC/2003-11-03-AddrArrayElement.c b/test/FrontendC/2003-11-03-AddrArrayElement.c
index ed3fc1a..4337da7 100644
--- a/test/FrontendC/2003-11-03-AddrArrayElement.c
+++ b/test/FrontendC/2003-11-03-AddrArrayElement.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep getelementptr
+// 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.
diff --git a/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c b/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c
index 443dfbd..58f9f82 100644
--- a/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c
+++ b/test/FrontendC/2003-11-08-PointerSubNotGetelementptr.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep getelementptr
+// RUN: %llvmgcc -xc %s -S -o - | grep getelementptr
char *test(char* C) {
return C-1; // Should turn into a GEP
diff --git a/test/FrontendC/2003-11-13-TypeSafety.c b/test/FrontendC/2003-11-13-TypeSafety.c
index 128b767..9b76bb1 100644
--- a/test/FrontendC/2003-11-13-TypeSafety.c
+++ b/test/FrontendC/2003-11-13-TypeSafety.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep getelementptr
+// RUN: %llvmgcc -xc %s -S -o - | grep getelementptr
int *test(int *X, int Y) {
return X + Y;
diff --git a/test/FrontendC/2003-12-14-ExternInlineSupport.c b/test/FrontendC/2003-12-14-ExternInlineSupport.c
index fb92ec7..a45eb98 100644
--- a/test/FrontendC/2003-12-14-ExternInlineSupport.c
+++ b/test/FrontendC/2003-12-14-ExternInlineSupport.c
@@ -1,3 +1,3 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep dead_function
+// RUN: %llvmgcc -xc %s -S -o - | not grep dead_function
extern __inline__ void dead_function() {}
diff --git a/test/FrontendC/2004-02-12-LargeAggregateCopy.c b/test/FrontendC/2004-02-12-LargeAggregateCopy.c
index b3c9bcf..93b7fe4 100644
--- a/test/FrontendC/2004-02-12-LargeAggregateCopy.c
+++ b/test/FrontendC/2004-02-12-LargeAggregateCopy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memcpy
+// RUN: %llvmgcc -xc %s -S -o - | grep llvm.memcpy
struct X { int V[10000]; };
struct X Global1, Global2;
diff --git a/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c b/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c
index 162d32a..f115b5a 100644
--- a/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c
+++ b/test/FrontendC/2004-02-13-BuiltinFrameReturnAddress.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.*address | count 4
+// RUN: %llvmgcc -xc %s -S -o - | grep llvm.*address | count 4
void *test1() {
return __builtin_return_address(1);
diff --git a/test/FrontendC/2004-02-13-IllegalVararg.c b/test/FrontendC/2004-02-13-IllegalVararg.c
index 21039c6..0d003c8 100644
--- a/test/FrontendC/2004-02-13-IllegalVararg.c
+++ b/test/FrontendC/2004-02-13-IllegalVararg.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -w -c -o - | llc
+// RUN: %llvmgcc -xc %s -w -S -o - | llc
// XFAIL: *
// See PR2452
diff --git a/test/FrontendC/2004-02-13-Memset.c b/test/FrontendC/2004-02-13-Memset.c
index fc26051..fb6ed23 100644
--- a/test/FrontendC/2004-02-13-Memset.c
+++ b/test/FrontendC/2004-02-13-Memset.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memset | count 3
+// RUN: %llvmgcc -xc %s -S -o - | grep llvm.memset | count 3
void *memset(void*, int, long);
void bzero(void*, long);
diff --git a/test/FrontendC/2004-02-20-Builtins.c b/test/FrontendC/2004-02-20-Builtins.c
index 0c9ac7c..c056a84 100644
--- a/test/FrontendC/2004-02-20-Builtins.c
+++ b/test/FrontendC/2004-02-20-Builtins.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -O3 -xc %s -c -o - | llvm-dis | not grep builtin
+// RUN: %llvmgcc -O3 -xc %s -S -o - | not grep builtin
#include <math.h>
diff --git a/test/FrontendC/2004-03-07-ExternalConstant.c b/test/FrontendC/2004-03-07-ExternalConstant.c
index b8e13a3..4a9094b 100644
--- a/test/FrontendC/2004-03-07-ExternalConstant.c
+++ b/test/FrontendC/2004-03-07-ExternalConstant.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep constant
+// RUN: %llvmgcc -xc %s -S -o - | grep constant
extern const int a[]; // 'a' should be marked constant even though it's external!
int foo () {
diff --git a/test/FrontendC/2004-06-17-UnorderedCompares.c b/test/FrontendC/2004-06-17-UnorderedCompares.c
index f91ed66..286e7bc 100644
--- a/test/FrontendC/2004-06-17-UnorderedCompares.c
+++ b/test/FrontendC/2004-06-17-UnorderedCompares.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc -std=c99 %s -c -o - | llvm-dis | grep -v llvm.isunordered | not grep call
+// RUN: %llvmgcc -xc -std=c99 %s -S -o - | grep -v llvm.isunordered | not grep call
#include <math.h>
diff --git a/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c b/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c
index b1e1421..994ac8f 100644
--- a/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c
+++ b/test/FrontendC/2004-11-27-StaticFunctionRedeclare.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc -c -emit-llvm %s -o - | \
-// RUN: opt -std-compile-opts | llvm-dis | not grep {declare i32.*func}
+// 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
diff --git a/test/FrontendC/2005-01-02-PointerDifference.c b/test/FrontendC/2005-01-02-PointerDifference.c
index a351da2..2c108e5 100644
--- a/test/FrontendC/2005-01-02-PointerDifference.c
+++ b/test/FrontendC/2005-01-02-PointerDifference.c
@@ -1,3 +1,3 @@
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep -v div
+// RUN: %llvmgcc -xc %s -S -o - | grep -v div
int Diff(int *P, int *Q) { return P-Q; }
diff --git a/test/FrontendC/2005-02-27-MarkGlobalConstant.c b/test/FrontendC/2005-02-27-MarkGlobalConstant.c
index b9fbbb6..6806c94 100644
--- a/test/FrontendC/2005-02-27-MarkGlobalConstant.c
+++ b/test/FrontendC/2005-02-27-MarkGlobalConstant.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc %s -S -o - | grep {private constant }
+// 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.
diff --git a/test/FrontendC/2005-12-04-AttributeUsed.c b/test/FrontendC/2005-12-04-AttributeUsed.c
index 33e27e8..f47e977 100644
--- a/test/FrontendC/2005-12-04-AttributeUsed.c
+++ b/test/FrontendC/2005-12-04-AttributeUsed.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | llvm-as | llvm-dis | \
+// RUN: %llvmgcc %s -S -o - | llvm-as | llvm-dis | \
// RUN: grep llvm.used | grep foo | grep X
int X __attribute__((used));
diff --git a/test/FrontendC/2006-03-03-MissingInitializer.c b/test/FrontendC/2006-03-03-MissingInitializer.c
index 19d4bc7..5e027b1 100644
--- a/test/FrontendC/2006-03-03-MissingInitializer.c
+++ b/test/FrontendC/2006-03-03-MissingInitializer.c
@@ -1,5 +1,5 @@
// RUN: %llvmgcc %s -S -o - | opt -std-compile-opts | \
-// RUN: llvm-dis | grep {@nate.*internal global i32 0}
+// RUN: llvm-dis | grep {@nate.*internal unnamed_addr global i32 0}
struct X { int *XX; int Y;};
diff --git a/test/FrontendC/2007-01-06-KNR-Proto.c b/test/FrontendC/2007-01-06-KNR-Proto.c
index eb2f254..6aa74d4 100644
--- a/test/FrontendC/2007-01-06-KNR-Proto.c
+++ b/test/FrontendC/2007-01-06-KNR-Proto.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S -o - -emit-llvm %s
+// RUN: %llvmgcc -S -o - %s
// PR1083
int svc_register (void (*dispatch) (int));
diff --git a/test/FrontendC/2007-02-04-AddrLValue-2.c b/test/FrontendC/2007-02-04-AddrLValue-2.c
index 90251e6..fa20faf 100644
--- a/test/FrontendC/2007-02-04-AddrLValue-2.c
+++ b/test/FrontendC/2007-02-04-AddrLValue-2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -O3 -S -o - -emit-llvm
+// RUN: %llvmgcc %s -O3 -S -o -
// PR1173
struct S { char s; };
diff --git a/test/FrontendC/2007-02-04-AddrLValue.c b/test/FrontendC/2007-02-04-AddrLValue.c
index c8b65a9..214fce7 100644
--- a/test/FrontendC/2007-02-04-AddrLValue.c
+++ b/test/FrontendC/2007-02-04-AddrLValue.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -O3 -S -o - -emit-llvm
+// RUN: %llvmgcc %s -O3 -S -o -
// PR1176
typedef struct
diff --git a/test/FrontendC/2007-02-04-EmptyStruct.c b/test/FrontendC/2007-02-04-EmptyStruct.c
index 48ad31f..5ad2c70 100644
--- a/test/FrontendC/2007-02-04-EmptyStruct.c
+++ b/test/FrontendC/2007-02-04-EmptyStruct.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -O3 -S -o - -emit-llvm
+// RUN: %llvmgcc %s -O3 -S -o -
// PR1175
struct empty { };
diff --git a/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c b/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c
index f02a44b..d5a9fbb 100644
--- a/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c
+++ b/test/FrontendC/2007-02-04-WITH_SIZE_EXPR.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -O3 -S -o - -emit-llvm
+// RUN: %llvmgcc %s -O3 -S -o -
// PR1174
void zzz (char *s1, char *s2, int len, int *q)
diff --git a/test/FrontendC/2007-02-05-nested.c b/test/FrontendC/2007-02-05-nested.c
index be23f17..bd6d306 100644
--- a/test/FrontendC/2007-02-05-nested.c
+++ b/test/FrontendC/2007-02-05-nested.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S -fnested-functions -O0 -o - -emit-llvm %s
+// RUN: %llvmgcc -S -fnested-functions -O0 -o - %s
// PR915
extern void abort(void);
diff --git a/test/FrontendC/2007-02-07-AddrLabel.c b/test/FrontendC/2007-02-07-AddrLabel.c
index 144f62d..03ed4c9 100644
--- a/test/FrontendC/2007-02-07-AddrLabel.c
+++ b/test/FrontendC/2007-02-07-AddrLabel.c
@@ -1,5 +1,5 @@
// PR947
-// RUN: %llvmgcc %s -c -o -
+// RUN: %llvmgcc %s -S -o -
void foo() {
void *ptr;
diff --git a/test/FrontendC/2007-02-16-VoidPtrDiff.c b/test/FrontendC/2007-02-16-VoidPtrDiff.c
index 713b9b2..15df28c 100644
--- a/test/FrontendC/2007-02-16-VoidPtrDiff.c
+++ b/test/FrontendC/2007-02-16-VoidPtrDiff.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -o - -emit-llvm
+// 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
index 0f281ce..8fa7f15 100644
--- a/test/FrontendC/2007-02-16-WritableStrings.c
+++ b/test/FrontendC/2007-02-16-WritableStrings.c
@@ -1,7 +1,7 @@
// Test the -fwritable-strings option.
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm -fwritable-strings %s | \
-// RUN: grep {internal global}
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | grep {private constant}
+// 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
index 9696022..3f96fd1 100644
--- a/test/FrontendC/2007-02-25-C-DotDotDot.c
+++ b/test/FrontendC/2007-02-25-C-DotDotDot.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -O0 -S -o - -emit-llvm -fno-inline -fno-unit-at-a-time %s | \
+// 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:
diff --git a/test/FrontendC/2007-03-01-VarSizeArrayIdx.c b/test/FrontendC/2007-03-01-VarSizeArrayIdx.c
index a3d480c..6ebe796 100644
--- a/test/FrontendC/2007-03-01-VarSizeArrayIdx.c
+++ b/test/FrontendC/2007-03-01-VarSizeArrayIdx.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -O3 -S -o - -emit-llvm | grep mul
+// RUN: %llvmgcc %s -O3 -S -o - | grep mul
// PR1233
float foo(int w, float A[][w], int g, int h) {
diff --git a/test/FrontendC/2007-04-11-InlineAsmStruct.c b/test/FrontendC/2007-04-11-InlineAsmStruct.c
index 49741c6..6c6c150 100644
--- a/test/FrontendC/2007-04-11-InlineAsmStruct.c
+++ b/test/FrontendC/2007-04-11-InlineAsmStruct.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | llc
+// RUN: %llvmgcc %s -S -o - | llc
struct V { short X, Y; };
int bar() {
diff --git a/test/FrontendC/2007-04-11-InlineAsmUnion.c b/test/FrontendC/2007-04-11-InlineAsmUnion.c
index 83fe7db..0144701 100644
--- a/test/FrontendC/2007-04-11-InlineAsmUnion.c
+++ b/test/FrontendC/2007-04-11-InlineAsmUnion.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | llc
+// RUN: %llvmgcc %s -S -o - | llc
union U { int x; float p; };
void foo() {
diff --git a/test/FrontendC/2007-04-11-InlineStorageClassC89.c b/test/FrontendC/2007-04-11-InlineStorageClassC89.c
index ec2b1ec..834fb07 100644
--- a/test/FrontendC/2007-04-11-InlineStorageClassC89.c
+++ b/test/FrontendC/2007-04-11-InlineStorageClassC89.c
@@ -1,17 +1,17 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xglobWeak | \
+// RUN: %llvmgcc %s -S -O0 -o - | grep define | grep xglobWeak | \
// RUN: grep weak | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xextWeak | \
+// RUN: %llvmgcc %s -S -O0 -o - | grep define | grep xextWeak | \
// RUN: grep weak | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc %s -S -O0 -o - | grep define | \
// RUN: grep xWeaknoinline | grep weak | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc %s -S -O0 -o - | grep define | \
// RUN: grep xWeakextnoinline | grep weak | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | \
+// 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 -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc %s -S -O0 -o - | grep define | \
// RUN: grep xstatnoWeak | grep internal | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | \
+// 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));
diff --git a/test/FrontendC/2007-04-11-InlineStorageClassC99.c b/test/FrontendC/2007-04-11-InlineStorageClassC99.c
index 89af278..6031071 100644
--- a/test/FrontendC/2007-04-11-InlineStorageClassC99.c
+++ b/test/FrontendC/2007-04-11-InlineStorageClassC99.c
@@ -1,17 +1,17 @@
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep declare | \
+// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep declare | \
// RUN: grep xglobWeak | grep extern_weak | count 1
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \
// RUN: grep xextWeak | grep weak | count 1
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \
// RUN: grep xWeaknoinline | grep weak | count 1
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \
// RUN: grep xWeakextnoinline | grep weak | count 1
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | \
+// 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 -emit-llvm -O0 -o - | grep define | \
+// RUN: %llvmgcc -std=c99 %s -S -O0 -o - | grep define | \
// RUN: grep xstatnoWeak | grep internal | count 1
-// RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | \
+// 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));
diff --git a/test/FrontendC/2007-04-13-InlineAsmStruct2.c b/test/FrontendC/2007-04-13-InlineAsmStruct2.c
index e4870e7..44ddeb3 100644
--- a/test/FrontendC/2007-04-13-InlineAsmStruct2.c
+++ b/test/FrontendC/2007-04-13-InlineAsmStruct2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | grep {call void asm}
+// RUN: %llvmgcc %s -S -o - | grep {call void asm}
struct V { short X, Y; };
int bar() {
diff --git a/test/FrontendC/2007-04-13-InlineAsmUnion2.c b/test/FrontendC/2007-04-13-InlineAsmUnion2.c
index 284654d..a0944a7 100644
--- a/test/FrontendC/2007-04-13-InlineAsmUnion2.c
+++ b/test/FrontendC/2007-04-13-InlineAsmUnion2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | grep {call void asm}
+// RUN: %llvmgcc %s -S -o - | grep {call void asm}
union U { int x; char* p; };
void foo() {
diff --git a/test/FrontendC/2007-04-24-VolatileStructCopy.c b/test/FrontendC/2007-04-24-VolatileStructCopy.c
index 4765921..d49e75e 100644
--- a/test/FrontendC/2007-04-24-VolatileStructCopy.c
+++ b/test/FrontendC/2007-04-24-VolatileStructCopy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | grep {volatile store}
+// RUN: %llvmgcc -O3 -S -o - %s | grep {volatile store}
// PR1352
struct foo {
diff --git a/test/FrontendC/2007-04-24-bit-not-expr.c b/test/FrontendC/2007-04-24-bit-not-expr.c
index 1c27f18..fab0b90 100644
--- a/test/FrontendC/2007-04-24-bit-not-expr.c
+++ b/test/FrontendC/2007-04-24-bit-not-expr.c
@@ -1,5 +1,5 @@
// PR 1346
-// RUN: %llvmgcc -c %s -o /dev/null
+// RUN: %llvmgcc -S %s -o /dev/null
extern bar(void *);
void f(void *cd) {
diff --git a/test/FrontendC/2007-04-24-str-const.c b/test/FrontendC/2007-04-24-str-const.c
index 4c109c4..3c3dab3 100644
--- a/test/FrontendC/2007-04-24-str-const.c
+++ b/test/FrontendC/2007-04-24-str-const.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c %s -o /dev/null
+// RUN: %llvmgcc -S %s -o /dev/null
static char *str;
static const struct {
diff --git a/test/FrontendC/2007-05-07-PaddingElements.c b/test/FrontendC/2007-05-07-PaddingElements.c
index 9be8850..1e4f4d0 100644
--- a/test/FrontendC/2007-05-07-PaddingElements.c
+++ b/test/FrontendC/2007-05-07-PaddingElements.c
@@ -1,6 +1,6 @@
// PR 1278
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep {struct.s} | not grep "4 x i8] zeroinitializer"
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep "i32 0, i32 2"
+// 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;
diff --git a/test/FrontendC/2007-05-11-str-const.c b/test/FrontendC/2007-05-11-str-const.c
index 48deddb..46a74c1 100644
--- a/test/FrontendC/2007-05-11-str-const.c
+++ b/test/FrontendC/2007-05-11-str-const.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c -g %s -o /dev/null
+// 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
index a218b35..bad6a11 100644
--- a/test/FrontendC/2007-05-15-PaddingElement.c
+++ b/test/FrontendC/2007-05-15-PaddingElement.c
@@ -1,6 +1,6 @@
// PR 1419
-// RUN: %llvmgcc -xc -O2 %s -c -o - | llvm-dis | grep "ret i32 1"
+// RUN: %llvmgcc -xc -O2 %s -S -o - | grep "ret i32 1"
struct A {
short x;
long long :0;
diff --git a/test/FrontendC/2007-05-16-EmptyStruct.c b/test/FrontendC/2007-05-16-EmptyStruct.c
index 23c0b1d..7b2ab61 100644
--- a/test/FrontendC/2007-05-16-EmptyStruct.c
+++ b/test/FrontendC/2007-05-16-EmptyStruct.c
@@ -1,5 +1,5 @@
// PR 1417
-// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep "struct.anon = type \{\}"
+// 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
index ded67d4..95ab388 100644
--- a/test/FrontendC/2007-05-29-UnionCopy.c
+++ b/test/FrontendC/2007-05-29-UnionCopy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S -o - -emit-llvm %s | grep memcpy
+// RUN: %llvmgcc -S -o - %s | grep memcpy
// PR1421
struct A {
diff --git a/test/FrontendC/2007-06-05-NoInlineAttribute.c b/test/FrontendC/2007-06-05-NoInlineAttribute.c
index b11b3c7..9543538 100644
--- a/test/FrontendC/2007-06-05-NoInlineAttribute.c
+++ b/test/FrontendC/2007-06-05-NoInlineAttribute.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -O2 -c -emit-llvm %s -o - | llvm-dis | grep call
+// RUN: %llvmgcc -O2 -S %s -o - | grep call
static int bar(int x, int y) __attribute__((noinline));
diff --git a/test/FrontendC/2007-06-15-AnnotateAttribute.c b/test/FrontendC/2007-06-15-AnnotateAttribute.c
index 0099117..115c3f7 100644
--- a/test/FrontendC/2007-06-15-AnnotateAttribute.c
+++ b/test/FrontendC/2007-06-15-AnnotateAttribute.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | grep llvm.global.annotations
-// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | grep llvm.var.annotation | count 3
+// RUN: %llvmgcc -S %s -o - | grep llvm.global.annotations
+// RUN: %llvmgcc -S %s -o - | grep llvm.var.annotation | count 3
#include <stdio.h>
diff --git a/test/FrontendC/2007-06-18-SextAttrAggregate.c b/test/FrontendC/2007-06-18-SextAttrAggregate.c
index 2fcd726..c395db2 100644
--- a/test/FrontendC/2007-06-18-SextAttrAggregate.c
+++ b/test/FrontendC/2007-06-18-SextAttrAggregate.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -o - -S -emit-llvm -O3 | grep {i8 signext}
+// RUN: %llvmgcc %s -o - -S -O3 | grep {i8 signext}
// PR1513
struct s{
diff --git a/test/FrontendC/2007-07-29-RestrictPtrArg.c b/test/FrontendC/2007-07-29-RestrictPtrArg.c
index 99eae39..5925d97 100644
--- a/test/FrontendC/2007-07-29-RestrictPtrArg.c
+++ b/test/FrontendC/2007-07-29-RestrictPtrArg.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | grep noalias
+// RUN: %llvmgcc -S %s -o - | grep noalias
void foo(int * __restrict myptr1, int * myptr2) {
myptr1[0] = 0;
diff --git a/test/FrontendC/2007-08-01-LoadStoreAlign.c b/test/FrontendC/2007-08-01-LoadStoreAlign.c
index 75a82c1..5365c06 100644
--- a/test/FrontendC/2007-08-01-LoadStoreAlign.c
+++ b/test/FrontendC/2007-08-01-LoadStoreAlign.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | grep {align 1} | count 2
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | llc
+// RUN: %llvmgcc -O3 -S -o - %s | grep {align 1} | count 2
+// RUN: %llvmgcc -O3 -S -o - %s | llc
struct p {
char a;
diff --git a/test/FrontendC/2007-08-21-ComplexCst.c b/test/FrontendC/2007-08-21-ComplexCst.c
index 7ddd87c..ebdee14 100644
--- a/test/FrontendC/2007-08-21-ComplexCst.c
+++ b/test/FrontendC/2007-08-21-ComplexCst.c
@@ -1,3 +1,3 @@
-// RUN: %llvmgcc -O2 -c %s -o /dev/null
+// RUN: %llvmgcc -O2 -S %s -o /dev/null
void f(_Complex float z);
void g() { f(1.0i); }
diff --git a/test/FrontendC/2007-09-05-ConstCtor.c b/test/FrontendC/2007-09-05-ConstCtor.c
index 8e0e994..adae4a6 100644
--- a/test/FrontendC/2007-09-05-ConstCtor.c
+++ b/test/FrontendC/2007-09-05-ConstCtor.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -xc -Os -c %s -o /dev/null
+// RUN: %llvmgcc -xc -Os -S %s -o /dev/null
// PR1641
struct A {
diff --git a/test/FrontendC/2007-09-20-GcrootAttribute.c b/test/FrontendC/2007-09-20-GcrootAttribute.c
index 23cd37f..b67b474 100644
--- a/test/FrontendC/2007-09-20-GcrootAttribute.c
+++ b/test/FrontendC/2007-09-20-GcrootAttribute.c
@@ -1,6 +1,6 @@
-// RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot
-// RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot | count 6
-// RUN: %llvmgcc -S -emit-llvm %s -o - | llvm-as
+// 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
{
diff --git a/test/FrontendC/2007-10-01-BuildArrayRef.c b/test/FrontendC/2007-10-01-BuildArrayRef.c
index e903755..e87a5b6 100644
--- a/test/FrontendC/2007-10-01-BuildArrayRef.c
+++ b/test/FrontendC/2007-10-01-BuildArrayRef.c
@@ -1,8 +1,20 @@
-// RUN: not %llvmgcc -S %s -o /dev/null |& grep "error: assignment of read-only location"
+// RUN: not %llvmgcc_only -c %s -o /dev/null |& FileCheck %s
// PR 1603
-int func()
+void func()
{
const int *arr;
- arr[0] = 1;
+ 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-11-07-AlignedMemcpy.c b/test/FrontendC/2007-11-07-AlignedMemcpy.c
index f1900bb..eb9d22c 100644
--- a/test/FrontendC/2007-11-07-AlignedMemcpy.c
+++ b/test/FrontendC/2007-11-07-AlignedMemcpy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c %s -o /dev/null
+// RUN: %llvmgcc -S %s -o /dev/null
void bork() {
int Qux[33] = {0};
}
diff --git a/test/FrontendC/2007-11-27-SExtZExt.c b/test/FrontendC/2007-11-27-SExtZExt.c
index 2b6cd62..8ea4786 100644
--- a/test/FrontendC/2007-11-27-SExtZExt.c
+++ b/test/FrontendC/2007-11-27-SExtZExt.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S %s -emit-llvm -o - | grep "signext" | count 4
+// RUN: %llvmgcc -S %s -o - | grep "signext" | count 4
signed char foo1() { return 1; }
diff --git a/test/FrontendC/2008-01-25-ByValReadNone.c b/test/FrontendC/2008-01-25-ByValReadNone.c
index 42e9c36..4cb1a63 100644
--- a/test/FrontendC/2008-01-25-ByValReadNone.c
+++ b/test/FrontendC/2008-01-25-ByValReadNone.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | not grep readonly
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | not grep readnone
+// 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
diff --git a/test/FrontendC/2008-01-28-PragmaMark.c b/test/FrontendC/2008-01-28-PragmaMark.c
index 0b3ac17..6a4b5b5 100644
--- a/test/FrontendC/2008-01-28-PragmaMark.c
+++ b/test/FrontendC/2008-01-28-PragmaMark.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -Werror -c %s -o /dev/null
+// RUN: %llvmgcc -Werror -S %s -o /dev/null
#pragma mark LLVM's world
#ifdef DO_ERROR
#error LLVM's world
diff --git a/test/FrontendC/2008-03-03-CtorAttrType.c b/test/FrontendC/2008-03-03-CtorAttrType.c
index dc0e47d..96648f4 100644
--- a/test/FrontendC/2008-03-03-CtorAttrType.c
+++ b/test/FrontendC/2008-03-03-CtorAttrType.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | grep llvm.global_ctors
+// RUN: %llvmgcc %s -S -o - | grep llvm.global_ctors
int __attribute__((constructor)) foo(void) {
return 0;
}
diff --git a/test/FrontendC/2008-03-05-syncPtr.c b/test/FrontendC/2008-03-05-syncPtr.c
index 43e4671..7b271f7 100644
--- a/test/FrontendC/2008-03-05-syncPtr.c
+++ b/test/FrontendC/2008-03-05-syncPtr.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | grep llvm.atomic
+// RUN: %llvmgcc %s -S -o - | grep llvm.atomic
// XFAIL: sparc-sun-solaris2|arm
// Feature currently implemented only for x86, alpha, powerpc.
diff --git a/test/FrontendC/2008-05-19-AlwaysInline.c b/test/FrontendC/2008-05-19-AlwaysInline.c
index 506f6cf..8dcb57b 100644
--- a/test/FrontendC/2008-05-19-AlwaysInline.c
+++ b/test/FrontendC/2008-05-19-AlwaysInline.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc %s -S -fno-unit-at-a-time -emit-llvm -O0 -o - | not grep sabrina
-// RUN: %llvmgcc %s -S -funit-at-a-time -emit-llvm -O0 -o - | not grep sabrina
+// 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)
diff --git a/test/FrontendC/2008-08-07-AlignPadding1.c b/test/FrontendC/2008-08-07-AlignPadding1.c
index 776b105..6be9fe4 100644
--- a/test/FrontendC/2008-08-07-AlignPadding1.c
+++ b/test/FrontendC/2008-08-07-AlignPadding1.c
@@ -1,4 +1,4 @@
-/* RUN: %llvmgcc %s -S -o - -emit-llvm -O0 | grep {zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer}
+/* 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. */
diff --git a/test/FrontendC/2008-08-07-AlignPadding2.c b/test/FrontendC/2008-08-07-AlignPadding2.c
index ea13a0a..51135ba 100644
--- a/test/FrontendC/2008-08-07-AlignPadding2.c
+++ b/test/FrontendC/2008-08-07-AlignPadding2.c
@@ -1,4 +1,4 @@
-/* RUN: %llvmgcc %s -S -o - -emit-llvm -O0 | grep zeroinitializer | count 1
+/* RUN: %llvmgcc %s -S -o - -O0 | grep zeroinitializer | count 1
The FE must not generate padding here between array elements. PR 2533. */
diff --git a/test/FrontendC/2008-10-30-ZeroPlacement.c b/test/FrontendC/2008-10-30-ZeroPlacement.c
index ec4ea94..d73442d 100644
--- a/test/FrontendC/2008-10-30-ZeroPlacement.c
+++ b/test/FrontendC/2008-10-30-ZeroPlacement.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c %s
+// RUN: %llvmgcc -S %s
// PR2987
struct S2045
{
diff --git a/test/FrontendC/2008-11-02-WeakAlias.c b/test/FrontendC/2008-11-02-WeakAlias.c
index befafe4..d10e57f 100644
--- a/test/FrontendC/2008-11-02-WeakAlias.c
+++ b/test/FrontendC/2008-11-02-WeakAlias.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S -emit-llvm -o - %s | grep weak
+// RUN: %llvmgcc -S -o - %s | grep weak
// PR2691
void init_IRQ(void) __attribute__((weak, alias("native_init_IRQ")));
diff --git a/test/FrontendC/2008-11-08-InstCombineSelect.c b/test/FrontendC/2008-11-08-InstCombineSelect.c
index 70c8d3a..b850d3f 100644
--- a/test/FrontendC/2008-11-08-InstCombineSelect.c
+++ b/test/FrontendC/2008-11-08-InstCombineSelect.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O2 -o -
+// RUN: %llvmgcc %s -S -O2 -o -
// PR3028
int g_187;
diff --git a/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c b/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c
index fa5713e..8af59d5 100644
--- a/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c
+++ b/test/FrontendC/2008-11-11-AnnotateStructFieldAttribute.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | grep llvm.ptr.annotation | count 3
+// RUN: %llvmgcc -S %s -o - | grep llvm.ptr.annotation | count 3
#include <stdio.h>
diff --git a/test/FrontendC/2008-12-23-AsmIntPointerTie.c b/test/FrontendC/2008-12-23-AsmIntPointerTie.c
index da2eda6..5706142 100644
--- a/test/FrontendC/2008-12-23-AsmIntPointerTie.c
+++ b/test/FrontendC/2008-12-23-AsmIntPointerTie.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O1 -o -
+// RUN: %llvmgcc %s -S -O1 -o -
#include <stdint.h>
diff --git a/test/FrontendC/2009-01-05-BlockInlining.c b/test/FrontendC/2009-01-05-BlockInlining.c
index 9692d8f..8fb6e54 100644
--- a/test/FrontendC/2009-01-05-BlockInlining.c
+++ b/test/FrontendC/2009-01-05-BlockInlining.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O2 -o %t.s
+// 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
diff --git a/test/FrontendC/2009-03-13-dbg.c b/test/FrontendC/2009-03-13-dbg.c
index aa13af4..46abd3a 100644
--- a/test/FrontendC/2009-03-13-dbg.c
+++ b/test/FrontendC/2009-03-13-dbg.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -c -g -o /dev/null
+// RUN: %llvmgcc %s -S -g -o /dev/null
// XTARGET: darwin,linux
// XFAIL: *
void foo() {}
diff --git a/test/FrontendC/2009-05-04-EnumInreg.c b/test/FrontendC/2009-05-04-EnumInreg.c
index 6dbdb54..fb0c03e 100644
--- a/test/FrontendC/2009-05-04-EnumInreg.c
+++ b/test/FrontendC/2009-05-04-EnumInreg.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S -m32 -mregparm=3 %s -emit-llvm -o - | grep {inreg %action}
+// RUN: %llvmgcc -S -m32 -mregparm=3 %s -o - | grep {inreg %action}
// XFAIL: *
// XTARGET: x86,i386,i686
// PR3967
diff --git a/test/FrontendC/2010-01-13-MemBarrier.c b/test/FrontendC/2010-01-13-MemBarrier.c
index 8fcd522..a540e59 100644
--- a/test/FrontendC/2010-01-13-MemBarrier.c
+++ b/test/FrontendC/2010-01-13-MemBarrier.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -o - | FileCheck %s
// XFAIL: sparc
// rdar://7536390
diff --git a/test/FrontendC/2010-05-18-asmsched.c b/test/FrontendC/2010-05-18-asmsched.c
index 12e9140..33b8770 100644
--- a/test/FrontendC/2010-05-18-asmsched.c
+++ b/test/FrontendC/2010-05-18-asmsched.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -c -O3 -emit-llvm -o - | llc -march=x86-64 -mtriple=x86_64-apple-darwin | FileCheck %s
+// 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) {
diff --git a/test/FrontendC/2010-05-26-AsmSideEffect.c b/test/FrontendC/2010-05-26-AsmSideEffect.c
index c5f7579..acc38b7 100644
--- a/test/FrontendC/2010-05-26-AsmSideEffect.c
+++ b/test/FrontendC/2010-05-26-AsmSideEffect.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -o - | FileCheck %s
// Radar 8026855
int test (void *src) {
diff --git a/test/FrontendC/2010-06-28-nowarn.c b/test/FrontendC/2010-06-28-nowarn.c
index 9cfb663..3db8df1 100644
--- a/test/FrontendC/2010-06-28-nowarn.c
+++ b/test/FrontendC/2010-06-28-nowarn.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -c -m32 -fasm-blocks -o /dev/null
+// RUN: %llvmgcc %s -S -m32 -fasm-blocks -o /dev/null
// This should not warn about unreferenced label. 7729514.
// XFAIL: *
// XTARGET: x86,i386,i686
diff --git a/test/FrontendC/2010-07-14-overconservative-align.c b/test/FrontendC/2010-07-14-overconservative-align.c
index 1744ba8..c4a9caa 100644
--- a/test/FrontendC/2010-07-14-overconservative-align.c
+++ b/test/FrontendC/2010-07-14-overconservative-align.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -S -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -o - | FileCheck %s
// PR 5995
struct s {
int word;
diff --git a/test/FrontendC/2010-11-16-asmblock.c b/test/FrontendC/2010-11-16-asmblock.c
new file mode 100644
index 0000000..c264223
--- /dev/null
+++ b/test/FrontendC/2010-11-16-asmblock.c
@@ -0,0 +1,16 @@
+// 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: %asmtmp = call i32 asm sideeffect alignstack "sall $$3, $0", "={ecx},{ecx},~{dirflag},~{fpsr},~{flags},~{memory}"(i32 %0) nounwind
+// CHECK: store i32 %asmtmp, 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
new file mode 100644
index 0000000..3f6d7e8
--- /dev/null
+++ b/test/FrontendC/2010-12-01-CommonGlobal.c
@@ -0,0 +1,7 @@
+// 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/arrayderef.c b/test/FrontendC/arrayderef.c
new file mode 100644
index 0000000..66c2e0b
--- /dev/null
+++ b/test/FrontendC/arrayderef.c
@@ -0,0 +1,17 @@
+// 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/attribute_constructor.c b/test/FrontendC/attribute_constructor.c
index b2f7c9b..da17a37 100644
--- a/test/FrontendC/attribute_constructor.c
+++ b/test/FrontendC/attribute_constructor.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -c -o - | llvm-dis | grep llvm.global_ctors
+// RUN: %llvmgcc %s -S -o - | grep llvm.global_ctors
void foo() __attribute__((constructor));
void foo() {
diff --git a/test/FrontendC/block-copy.c b/test/FrontendC/block-copy.c
index a53732e..c088f2d 100644
--- a/test/FrontendC/block-copy.c
+++ b/test/FrontendC/block-copy.c
@@ -1,4 +1,4 @@
-/* RUN: %llvmgcc %s -S -o - -emit-llvm -O3 | grep {call.*memcpy}
+/* RUN: %llvmgcc %s -S -o - -O3 | grep {call.*memcpy}
This should compile into a memcpy from a global, not 128 stores. */
diff --git a/test/FrontendC/cstring-align.c b/test/FrontendC/cstring-align.c
index 764126e..544c9f3 100644
--- a/test/FrontendC/cstring-align.c
+++ b/test/FrontendC/cstring-align.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -c -Os -emit-llvm -o - | llc -march=x86 -mtriple=i386-apple-darwin10 | FileCheck %s
+// RUN: %llvmgcc %s -S -Os -o - | llc -march=x86 -mtriple=i386-apple-darwin10 | FileCheck %s
extern void func(const char *, const char *);
diff --git a/test/FrontendC/extern-weak.c b/test/FrontendC/extern-weak.c
index 4729b04..73b59cc 100644
--- a/test/FrontendC/extern-weak.c
+++ b/test/FrontendC/extern-weak.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | grep extern_weak
-// RUN: %llvmgcc -O3 -S -o - -emit-llvm %s | llc
+// 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__)
diff --git a/test/FrontendC/func-aligned.c b/test/FrontendC/func-aligned.c
index 40149f4..477e824 100644
--- a/test/FrontendC/func-aligned.c
+++ b/test/FrontendC/func-aligned.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -o - | FileCheck %s
// rdar://7270273
void foo() __attribute__((aligned (64)));
diff --git a/test/FrontendC/hidden-visibility.c b/test/FrontendC/hidden-visibility.c
index fc2ae44..589bb53 100644
--- a/test/FrontendC/hidden-visibility.c
+++ b/test/FrontendC/hidden-visibility.c
@@ -1,3 +1,3 @@
-// RUN: %llvmgcc %s -emit-llvm -S -o - | grep {hidden global}
+// 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
index 971245f..a6cb8bc 100644
--- a/test/FrontendC/implicit-arg.c
+++ b/test/FrontendC/implicit-arg.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o -
-// RUN: %llvmgcc %s -S -emit-llvm -O1 -o -
+// RUN: %llvmgcc %s -S -O0 -o -
+// RUN: %llvmgcc %s -S -O1 -o -
// rdar://6518089
static int bar();
diff --git a/test/FrontendC/libcalls-d.c b/test/FrontendC/libcalls-d.c
index 126866a..d92208d 100644
--- a/test/FrontendC/libcalls-d.c
+++ b/test/FrontendC/libcalls-d.c
@@ -1,10 +1,10 @@
// 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 -emit-llvm -O0 -o - | grep {call.*exp2\\.f64}
-// RUN: %llvmgcc %s -S -fmath-errno -emit-llvm -O0 -o - | grep {call.*exp2}
-// RUN: %llvmgcc %s -S -emit-llvm -O1 -o - | grep {call.*ldexp}
-// RUN: %llvmgcc %s -S -emit-llvm -O3 -fno-builtin -o - | grep {call.*exp2}
+// 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);
diff --git a/test/FrontendC/libcalls-ld.c b/test/FrontendC/libcalls-ld.c
index 6533eb8..cf71d19 100644
--- a/test/FrontendC/libcalls-ld.c
+++ b/test/FrontendC/libcalls-ld.c
@@ -1,10 +1,10 @@
// 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 -emit-llvm -O0 -o - | grep {call.*exp2\\..*f}
-// RUN: %llvmgcc %s -S -fmath-errno -emit-llvm -O0 -o - | grep {call.*exp2l}
-// RUN: %llvmgcc %s -S -emit-llvm -O1 -o - | grep {call.*ldexp}
-// RUN: %llvmgcc %s -S -emit-llvm -O3 -fno-builtin -o - | grep {call.*exp2l}
+// 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.
diff --git a/test/FrontendC/libcalls.c b/test/FrontendC/libcalls.c
index a2761dd..60e22e7 100644
--- a/test/FrontendC/libcalls.c
+++ b/test/FrontendC/libcalls.c
@@ -1,10 +1,10 @@
// 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 -emit-llvm -fno-math-errno -O0 -o - | grep {call.*exp2\\.f32}
-// RUN: %llvmgcc %s -S -emit-llvm -fmath-errno -O0 -o - | grep {call.*exp2f}
-// RUN: %llvmgcc %s -S -emit-llvm -O1 -o - | grep {call.*ldexp}
-// RUN: %llvmgcc %s -S -emit-llvm -O3 -fno-builtin -o - | grep {call.*exp2f}
+// 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);
diff --git a/test/FrontendC/pr3518.c b/test/FrontendC/pr3518.c
index 4c193c7..112394a 100644
--- a/test/FrontendC/pr3518.c
+++ b/test/FrontendC/pr3518.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep {= internal global} | count 4
+// 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
diff --git a/test/FrontendC/pr4349.c b/test/FrontendC/pr4349.c
index fbd7e56..24acd9c 100644
--- a/test/FrontendC/pr4349.c
+++ b/test/FrontendC/pr4349.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s
// PR 4349
union reg
@@ -16,22 +16,22 @@ struct svar
{
void *ptr;
};
-// CHECK: @svars1 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (%struct.cpu* @cpu to i8*) }]
+// CHECK: @svars1 = unnamed_addr 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) }]
+// CHECK: @svars2 = unnamed_addr 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*) }]
+// CHECK: @svars3 = unnamed_addr 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) }]
+// CHECK: @svars4 = unnamed_addr 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
index 492bdaf..0b1f277 100644
--- a/test/FrontendC/pr5406.c
+++ b/test/FrontendC/pr5406.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | FileCheck %s
+// RUN: %llvmgcc %s -S -O0 -o - | FileCheck %s
// PR 5406
// XFAIL: *
diff --git a/test/FrontendC/ptr-rotate.c b/test/FrontendC/ptr-rotate.c
index 56c21f4..36d9755 100644
--- a/test/FrontendC/ptr-rotate.c
+++ b/test/FrontendC/ptr-rotate.c
@@ -1,5 +1,5 @@
-// RUN: %llvmgcc %s -c -m32 -o /dev/null
-// RUN: %llvmgcc %s -c -O1 -m32 -emit-llvm -o - | llc -march=x86 -mtriple=i386-apple-darwin9.7 | FileCheck %s -check-prefix=DARWIN
+// 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
diff --git a/test/FrontendC/sret.c b/test/FrontendC/sret.c
index 11ac5d6..4266691 100644
--- a/test/FrontendC/sret.c
+++ b/test/FrontendC/sret.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep sret | count 5
+// RUN: %llvmgcc %s -S -O0 -o - | grep sret | count 5
struct abc {
long a;
diff --git a/test/FrontendC/sret2.c b/test/FrontendC/sret2.c
index 7b621f9..0f35b1c 100644
--- a/test/FrontendC/sret2.c
+++ b/test/FrontendC/sret2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep sret | count 2
+// RUN: %llvmgcc %s -S -O0 -o - | grep sret | count 2
struct abc {
long a;
diff --git a/test/FrontendC/unaligned-memcpy.c b/test/FrontendC/unaligned-memcpy.c
index 9e6ce07..8fb84e4 100644
--- a/test/FrontendC/unaligned-memcpy.c
+++ b/test/FrontendC/unaligned-memcpy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -o - | llc
+// RUN: %llvmgcc %s -S -o - | llc
void bork() {
char Qux[33] = {0};
OpenPOWER on IntegriCloud