-// RUN: %llvmgcc -xc++ -S -o - %s | grep '"struct.X::Y"'
+// RUN: %llvmgcc -xc++ -S -o - %s | grep "struct.X::Y"
struct X {
struct Y {
// The code generated for this testcase should be completely typesafe!
-// RUN: %llvmgcc -xc++ -S -o - %s | llvm-as | opt -die | llvm-dis | not grep ' cast '
+// RUN: %llvmgcc -xc++ -S -o - %s | llvm-as | opt -die | llvm-dis | \
+// RUN: notcast
struct contained {
unsigned X;
-// RUN: %llvmgcc -xc++ -S -o - %s | llvm-as | opt -die | llvm-dis | not grep ' cast '
+// RUN: %llvmgcc -xc++ -S -o - %s | llvm-as | opt -die | llvm-dis | notcast
struct A {
A() : i(0) {}
-// RUN: %llvmgcc -xc++ -S -o - %s | not grep ' constant '
+// RUN: %llvmgcc -xc++ -S -o - %s | not grep { constant }
extern int X;
const int Y = X;
// RUN: %llvmgxx -S %s -o - | llvm-as -f -o /dev/null
-
-
struct Pass {} ;
template<typename PassName>
Pass *callDefaultCtor() { return new PassName(); }
-// RUN: llvmgcc -xc++ %s -c -o - | llvm-dis | grep callDefaultCtor | not grep declare
+// RUN: %llvmgxx -xc++ %s -c -o - | llvm-dis | grep callDefaultCtor | \
+// RUN: not grep declare
// This is a testcase for LLVM PR445, which was a problem where the
// instantiation of callDefaultCtor was not being emitted correctly.
// verifies that it does not emit the body of getchar, because it is not used.
// This corresponds to PR459
-// RUN: %llvmgxx %s -S -o - | not grep '^int .getchar'
+// RUN: %llvmgxx %s -S -o - | not grep {^i32 .getchar}
#include <stdio.h>
-// RUN: %llvmgxx %s -S -o - | not grep 'int 6'
+// RUN: %llvmgxx %s -S -o - | not grep {i32 6}
struct QVectorTypedData {
int size;
// XFAIL: llvmgcc3
-// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'i32 1,' &&
-// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'i32 2,'
+// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep {i32 1,}
+// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep {i32 2,}
class A {
public:
-// RUN: %llvmgxx %s -emit-llvm -S -o - | not grep 'eprintf1' &&
-// RUN: %llvmgxx %s -emit-llvm -S -o - | grep 'eprintf'
+// RUN: %llvmgxx %s -emit-llvm -S -o - | not grep eprintf1
+// RUN: %llvmgxx %s -emit-llvm -S -o - | grep eprintf
// Only one eprintf should exist in the output
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xglobWeak | grep linkonce | wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xextWeak | grep linkonce | wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xWeaknoinline | grep weak wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xWeakextnoinline | grep weak wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep declare | grep xglobnoWeak | grep linkonce | wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xstatnoWeak | grep internal | wc -l | grep 1
-// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | grep xextnoWeak | grep linkonce | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xglobWeak | grep linkonce | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xextWeak | grep linkonce | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xWeaknoinline | grep weak | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xWeakextnoinline | grep weak | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep declare | \
+// RUN: grep xglobnoWeak | grep linkonce | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xstatnoWeak | grep internal | wc -l | grep 1
+// RUN: %llvmgxx %s -S -emit-llvm -O0 -o - | grep define | \
+// RUN: grep xextnoWeak | grep linkonce | wc -l | grep 1
inline int xglobWeak(int) __attribute__((weak));
inline int xglobWeak (int i) {
return i*2;
-load_lib llvm-dg.exp
+load_lib llvm.exp
-llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
+RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]