-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=basic %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=range %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -disable-free %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -fobjc-gc %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=basic %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=range %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -disable-free %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -fobjc-gc %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -fobjc-gc %s
//===----------------------------------------------------------------------===//
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
typedef signed long CFIndex;
-// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic &&
-// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic &&
-// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=region &&
+// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic
+// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic
+// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=region
// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=region
typedef struct objc_selector *SEL;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
typedef struct CGColorSpace *CGColorSpaceRef;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
// BEGIN delta-debugging reduced header stuff
-// RUN: clang-cc -triple i386-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -triple i386-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -DTEST_64 -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -triple i386-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -triple i386-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
+// RUN: clang-cc -DTEST_64 -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -DTEST_64 -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
// ==-- FIXME: -analyzer-store=basic fails on this file (false negatives). --==
-// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=region -analyzer-constraints=range -verify %s
// These declarations were reduced using Delta-Debugging from Foundation.h
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
#include <stdarg.h>
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic %s -verify &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range %s -verify &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic %s -verify &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic %s -verify
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range %s -verify
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic %s -verify
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range %s -verify
// The point of this test cases is to exercise properties in the static
-// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
-// RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
-// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
+// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s
+// RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s
+// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s
// RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=region -checker-cfref -fobjc-gc -verify %s
typedef const void * CFTypeRef;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
//===----------------------------------------------------------------------===//
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
struct s {
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s
// Test function pointer casts. Currently we track function addresses using
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range -verify %s
typedef unsigned char Boolean;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
// This test case was reported in <rdar:problem/6080742>.
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
#include <stdint.h>
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s
void foo() {
-// RUN: clang-cc -analyze -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s &&
+// RUN: clang-cc -analyze -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -warn-dead-stores -verify %s
void f1() {
-// RUN: clang-cc -analyze -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s &&
+// RUN: clang-cc -analyze -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -warn-dead-stores -verify %s
int j;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
//
// Just exercise the analyzer on code that has at one point caused issues
-// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify &&
+// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify
// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify
unsigned foo();
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
void f(void) {
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s
+// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s
+// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s
// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
// <rdar://problem/6440393> - A bunch of misc. failures involving evaluating
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s
// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
// <rdar://problem/6776949>
}
return *p; // no-warning
-}
\ No newline at end of file
+}
-// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref --analyzer-store=region --verify -fblocks %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref --analyzer-store=region --verify -fblocks %s
// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region --verify -fblocks %s
typedef struct objc_selector *SEL;
// NOTE: Use '-fobjc-gc' to test the analysis being run twice, and multiple reports are not issued.
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -fobjc-gc -analyzer-constraints=basic --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s &&
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -fobjc-gc -analyzer-constraints=basic --verify -fblocks %s
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s
// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
typedef struct objc_ivar *Ivar;
-// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify &&
+// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify
// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region %s -verify
@interface MyClass {}
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
// This is a test case for the issue reported in PR 2819:
-// RUN: clang-cc -checker-cfref -analyze -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -checker-cfref -analyze -analyzer-store=basic -verify %s
// RUN: clang-cc -checker-cfref -analyze -analyzer-store=region -verify %s
//===----------------------------------------------------------------------===//
-// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic &&
-// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic &&
-// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -analyzer-store=region -analyzer-constraints=range -analyzer-purge-dead=false -verify %s &&
+// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic
+// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic
+// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -analyzer-store=region -analyzer-constraints=range -analyzer-purge-dead=false -verify %s
// RUN: clang-cc -triple i386-apple-darwin10 -analyze -std=gnu99 -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
typedef unsigned uintptr_t;
-// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=basic -verify &&
+// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=basic -verify
// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=region -verify
// This test case illustrates that using '-analyze' overrides the effect of
-// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=region -verify %s
// This test case was crashing due to how CFRefCount.cpp resolved the
-// RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=region -verify %s
// BEGIN delta-debugging reduced header stuff
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=region -verify %s
// PR 4164: http://llvm.org/bugs/show_bug.cgi?id=4164
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify -triple x86_64-apple-darwin9 %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify -triple x86_64-apple-darwin9 %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify -triple i686-apple-darwin9 %s
void f1() {
-// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify &&
+// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify
// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify
typedef int bar_return_t;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region -verify %s
//
// This test case mainly checks that the retain/release checker doesn't crash
-// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify
// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region %s -verify
typedef struct Foo { int x; } Bar;
-// RUN: clang-cc -analyze -checker-cfref -triple i386-apple-darwin10 -analyzer-store=region &&
+// RUN: clang-cc -analyze -checker-cfref -triple i386-apple-darwin10 -analyzer-store=region
// RUN: clang-cc -analyze -checker-cfref -triple i386-apple-darwin10 -analyzer-store=basic
// Note that the target triple is important for this test case. It specifies that we use the
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
typedef const struct __CFString * CFStringRef;
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
//
// This test case simply should not crash. It evaluates the logic of not
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc-only %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc-only %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -fobjc-gc-only -verify %s
//===----------------------------------------------------------------------===//
- (NSDate*) returnsNSRetained {
return (NSDate*) returnsRetainedCFDate(); // expected-warning{{leak}}
}
-@end
\ No newline at end of file
+@end
-// RUN: clang-cc -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -triple x86_64-apple-darwin10 -analyze -checker-cfref -analyzer-store=region -verify %s
#if __has_feature(attribute_ns_returns_retained)
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
#include <stdlib.h>
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
//===----------------------------------------------------------------------===//
-// RUN: clang-cc -analyze -verify -analyzer-store=basic -checker-cfref %s &&
+// RUN: clang-cc -analyze -verify -analyzer-store=basic -checker-cfref %s
// RUN: clang-cc -analyze -verify -analyzer-store=region -checker-cfref %s
// Delta-Debugging reduced preamble.
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
struct FPRec {
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
typedef unsigned int NSUInteger;
{
f2(6); // okay
}
-}
\ No newline at end of file
+}
// RUN: clang-cc -fsyntax-only -verify %s
void f(int) { } // expected-note {{previous definition is here}}
-void f(const int) { } // expected-error {{redefinition of 'f'}}
\ No newline at end of file
+void f(const int) { } // expected-error {{redefinition of 'f'}}
template<> class X<char*> { /* ... */ }; // OK: X is a template
-}
\ No newline at end of file
+}
void test() {
f(Y(), 0, 0);
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: f(struct N::Y y, <#int ZZ#>)
// CHECK-CC1-NEXT: f(int i, <#int j#>, int k)
// CHECK-CC1-NEXT: f(float x, <#float y#>)
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:13 %s -o - | FileCheck -check-prefix=CC2 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:13 %s -o - | FileCheck -check-prefix=CC2 %s
// CHECK-CC2-NOT: f(struct N::Y y, int ZZ)
// CHECK-CC2: f(int i, int j, <#int k#>)
// RUN: true
void test(enum N::C::Color color) {
switch (color) {
case
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:23:8 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:23:8 %s -o - | FileCheck -check-prefix=CC1 %s
// RUN: true
// CHECK-CC1: Blue : 0 : N::C::Blue
// CHECK-CC1-NEXT: Green : 0 : N::C::Green
case Green:
break;
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:10 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:10 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: Blue : 0
// CHECK-CC1-NEXT: Green : 0
// CHECK-CC1-NEXT: Indigo : 0
break;
case
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:21:8 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:21:8 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: Blue : 0 : N::Blue
// CHECK-CC1-NEXT: Green : 0 : N::Green
// CHECK-CC1-NEXT: Indigo : 0 : N::Indigo
void f() {
std::
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:8 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:8 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: dyn_cast<<#class X#>>(<#Y *Val#>)
// CHECK-CC1: sort(<#RandomAccessIterator first#>, <#RandomAccessIterator last#>)
// RUN: true
void test() {
::
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:5:5 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:5:5 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: f(<#int i#>{#, <#int j#>{#, <#int k#>#}#})
// CHECK-CC1: f(<#float x#>, <#float y#><#, ...#>)
// RUN: true
};
void test(struct Point *p) {
- // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:17:14 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:17:14 %s -o - | FileCheck -check-prefix=CC1 %s
switch (p->IDENTITY(color)) {
- // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC2 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC2 %s
case
}
// CC1: color
void test(struct Point *p) {
p->
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:8:6 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:8:6 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: x
// CHECK-CC1: y
// CHECK-CC1: z
void test(const Proxy &p) {
p->
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:29:6 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:29:6 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: member1 : 0 : [#Base1::#]member1
// CHECK-CC1: member1 : 0 : [#Base2::#]member1
// CHECK-CC1: member2 : 0 : [#Base1::#]member2
namespace I1 { }
namespace New =
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:13:18 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:13:18 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: I1 : 1
// CHECK-CC1: I4 : 1
// CHECK-CC1: I5 : 1
namespace I1 { }
namespace
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:12 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:12 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: I1 : 0
// CHECK-CC1-NEXT: I5 : 0
// RUN: true
}
N::
-// RUN: clang-cc -fsyntax-only -code-completion-at=%s:12:4 %s -o - | FileCheck -check-prefix=CC1 %s &&
+// RUN: clang-cc -fsyntax-only -code-completion-at=%s:12:4 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: A : 0
// CHECK-CC1: B : 0
// CHECK-CC1: M : 0
Foo *obj = [Foo new];
[obj xx];
}
-// RUN: clang-cc -fsyntax-only -code-completion-at=%s:23:19 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s &&
+// RUN: clang-cc -fsyntax-only -code-completion-at=%s:23:19 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: categoryClassMethod : 0
// CHECK-CC1: classMethod2 : 0
// CHECK-CC1: new : 0
typedef float Float;
operator
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:11 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:11 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: Float : 0
// CHECK-CC1: + : 0
// CHECK-CC1: short : 0
void foo() {
int y;
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:6:9 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:6:9 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: y : 0
// CHECK-CC1: foo : 2
// CHECK-NOT-CC1: y : 2
}
@property(copy) Foo *myprop;
@property(retain, nonatomic) id xx;
-// RUN: clang-cc -fsyntax-only -code-completion-at=%s:7:11 %s -o - | FileCheck -check-prefix=CC1 %s &&
+// RUN: clang-cc -fsyntax-only -code-completion-at=%s:7:11 %s -o - | FileCheck -check-prefix=CC1 %s
// CC1: assign
// CC1-NEXT: copy
// CC1-NEXT: getter
void test() {
enum X { x };
enum
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:9:7 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:9:7 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: X : 0
// CHECK-CC1: Y : 2
// RUN: true
void test() {
class
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:17:10 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:17:10 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: Y : 2
// CHECK-CC1: Z : 2
// CHECK-CC1: A : 4
void f() {
std::
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:8 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:10:8 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: allocator<<#typename T#>>
// CHECK-CC1: vector<<#typename T#>{#, <#typename Alloc#>#}>
// RUN: true
struct
-// RUN: clang-cc -fsyntax-only -code-completion-at=%s.h:4:8 -o - %s | FileCheck -check-prefix=CC1 %s &&
+// RUN: clang-cc -fsyntax-only -code-completion-at=%s.h:4:8 -o - %s | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: X : 1
// CHECK-CC1-NEXT: Y : 1
-// RUN: clang-cc -fsyntax-only -code-completion-at=%s:3:8 -o - %s | FileCheck -check-prefix=CC2 %s &&
+// RUN: clang-cc -fsyntax-only -code-completion-at=%s:3:8 -o - %s | FileCheck -check-prefix=CC2 %s
// CHECK-CC2: X : 1
// CHECK-CC2: Xa : 1
// CHECK-CC2: Y : 1
void foo() {
using namespace
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:14:20 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:14:20 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: I1 : 2
// CHECK-CC1: I4 : 2
// CHECK-CC1: I5 : 2
int N3;
using
- // RUN: clang-cc -fsyntax-only -code-completion-at=%s:16:10 %s -o - | FileCheck -check-prefix=CC1 %s &&
+ // RUN: clang-cc -fsyntax-only -code-completion-at=%s:16:10 %s -o - | FileCheck -check-prefix=CC1 %s
// CHECK-CC1: I1 : 2
// CHECK-CC1: I4 : 2
// CHECK-CC1: I5 : 2
-// RUN: rm -f %t1.bc &&
-// RUN: not clang-cc %s -emit-llvm-bc -o %t1.bc &&
+// RUN: rm -f %t1.bc
+// RUN: not clang-cc %s -emit-llvm-bc -o %t1.bc
// RUN: not test -f %t1.bc
void f() {
};
// CHECK: @yv7 = global
-// CHECK: i8 52,
\ No newline at end of file
+// CHECK: i8 52,
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t &&
-// RUN: grep "ret i32" %t | count 2 &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t
+// RUN: grep "ret i32" %t | count 2
// RUN: grep "ret i32 0" %t | count 2
// <rdar://problem/6113085>
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep "@pipe()" %t | count 0 &&
-// RUN: grep '_thisIsNotAPipe' %t | count 3 &&
-// RUN: grep 'g0' %t | count 0 &&
-// RUN: grep '_renamed' %t | count 2 &&
-// RUN: clang-cc -DUSE_DEF -emit-llvm -o %t %s &&
-// RUN: grep "@pipe()" %t | count 0 &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep "@pipe()" %t | count 0
+// RUN: grep '_thisIsNotAPipe' %t | count 3
+// RUN: grep 'g0' %t | count 0
+// RUN: grep '_renamed' %t | count 2
+// RUN: clang-cc -DUSE_DEF -emit-llvm -o %t %s
+// RUN: grep "@pipe()" %t | count 0
// RUN: grep '_thisIsNotAPipe' %t | count 3
// <rdr://6116729>
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t &&
-// RUN: grep "ret i32" %t | count 1 &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t
+// RUN: grep "ret i32" %t | count 1
// RUN: grep "ret i32 1" %t | count 1
// PR2001
-// RUN: clang-cc -emit-llvm %s -o - | grep 'declare i32 @printf' | count 1 &&
-// RUN: clang-cc -O2 -emit-llvm %s -o - | grep 'declare i32 @puts' | count 1 &&
+// RUN: clang-cc -emit-llvm %s -o - | grep 'declare i32 @printf' | count 1
+// RUN: clang-cc -O2 -emit-llvm %s -o - | grep 'declare i32 @puts' | count 1
// RUN: clang-cc -ffreestanding -O2 -emit-llvm %s -o - | grep 'declare i32 @puts' | count 0
#include <stdio.h>
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o %t %s
// RUN: grep '@g0 = internal global %.truct.s0 { i32 3 }' %t | count 1
struct s0 {
-// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t &&
+// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t
// RUN: grep "struct.object_entry = type { i8, \[2 x i8\], i8 }" %t
struct object_entry {
-// RUN: clang-cc -emit-llvm < %s | grep '@foo.*global.*addrspace(1)' &&
-// RUN: clang-cc -emit-llvm < %s | grep '@ban.*global.*addrspace(1)' &&
-// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(1)' | count 2 &&
-// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(2).. @A' &&
+// RUN: clang-cc -emit-llvm < %s | grep '@foo.*global.*addrspace(1)'
+// RUN: clang-cc -emit-llvm < %s | grep '@ban.*global.*addrspace(1)'
+// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(1)' | count 2
+// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(2).. @A'
// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(2).. @B'
int foo __attribute__((address_space(1)));
-// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: grep '@g0 = common global i32 0' %t &&
-// RUN: grep '@f1 = alias void ()\* @f0' %t &&
-// RUN: grep '@g1 = alias i32\* @g0' %t &&
-// RUN: grep 'define void @f0() nounwind {' %t &&
+// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: grep '@g0 = common global i32 0' %t
+// RUN: grep '@f1 = alias void ()\* @f0' %t
+// RUN: grep '@g1 = alias i32\* @g0' %t
+// RUN: grep 'define void @f0() nounwind {' %t
void f0(void) { }
extern void f1(void);
// Make sure that aliases cause referenced values to be emitted.
// PR3200
-// RUN: grep 'define internal i32 @foo1()' %t &&
+// RUN: grep 'define internal i32 @foo1()' %t
static inline int foo1() { return 0; }
int foo() __attribute__((alias("foo1")));
-// RUN: clang-cc -triple i386-unknown-unknown -O1 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -O1 -emit-llvm -o %t %s
// RUN: grep 'ret i32 4' %t
enum e0 { E0 };
-// RUN: clang -emit-llvm -S -o %t %s &&
-// RUN: not grep '@f0' %t &&
-// RUN: not grep 'call ' %t &&
-// RUN: clang -mllvm -disable-llvm-optzns -emit-llvm -S -o %t %s &&
+// RUN: clang -emit-llvm -S -o %t %s
+// RUN: not grep '@f0' %t
+// RUN: not grep 'call ' %t
+// RUN: clang -mllvm -disable-llvm-optzns -emit-llvm -S -o %t %s
// RUN: grep '@f0' %t | count 2
//static int f0() {
-// RUN: clang-cc -triple armv7-apple-darwin9 -target-abi=apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=APCS-GNU %s &&
+// RUN: clang-cc -triple armv7-apple-darwin9 -target-abi=apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=APCS-GNU %s
// RUN: clang-cc -triple armv7-apple-darwin9 -target-abi=aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=AAPCS %s
// APCS-GNU: define arm_apcscc signext i8 @f0()
-// RUN: clang-cc -emit-llvm %s -o %t -triple i386-pc-linux-gnu -O2 &&
+// RUN: clang-cc -emit-llvm %s -o %t -triple i386-pc-linux-gnu -O2
// RUN: not grep "load" %t
// <rdar://problem/6841383>
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t
// RUN: grep "load i8\*\*\* %p.addr" %t | count 1
// XFAIL: *
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t
void t1(int len) {
__asm__ volatile("" : "=&r"(len), "+&r"(len));
}
__asm__ volatile("" : : "i" (t6));
}
-// RUN: grep "T7 NAMED: \$1" %t &&
+// RUN: grep "T7 NAMED: \$1" %t
void t7(int a) {
__asm__ volatile("T7 NAMED: %[input]" : "+r"(a): [input] "i" (4));
}
-// RUN: grep "T8 NAMED MODIFIER: \${0:c}" %t &&
+// RUN: grep "T8 NAMED MODIFIER: \${0:c}" %t
void t8() {
__asm__ volatile("T8 NAMED MODIFIER: %c[input]" :: [input] "i" (4));
}
-// RUN: clang-cc %s -emit-llvm -o - -triple=i686-apple-darwin9 > %t1 &&
-// RUN: grep @llvm.atomic.load.add.i32 %t1 | count 3 &&
-// RUN: grep @llvm.atomic.load.sub.i8 %t1 | count 2 &&
-// RUN: grep @llvm.atomic.load.min.i32 %t1 &&
-// RUN: grep @llvm.atomic.load.max.i32 %t1 &&
-// RUN: grep @llvm.atomic.load.umin.i32 %t1 &&
-// RUN: grep @llvm.atomic.load.umax.i32 %t1 &&
-// RUN: grep @llvm.atomic.swap.i32 %t1 &&
-// RUN: grep @llvm.atomic.cmp.swap.i32 %t1 | count 4 &&
-// RUN: grep @llvm.atomic.load.and.i32 %t1 | count 2 &&
-// RUN: grep @llvm.atomic.load.or.i8 %t1 &&
+// RUN: clang-cc %s -emit-llvm -o - -triple=i686-apple-darwin9 > %t1
+// RUN: grep @llvm.atomic.load.add.i32 %t1 | count 3
+// RUN: grep @llvm.atomic.load.sub.i8 %t1 | count 2
+// RUN: grep @llvm.atomic.load.min.i32 %t1
+// RUN: grep @llvm.atomic.load.max.i32 %t1
+// RUN: grep @llvm.atomic.load.umin.i32 %t1
+// RUN: grep @llvm.atomic.load.umax.i32 %t1
+// RUN: grep @llvm.atomic.swap.i32 %t1
+// RUN: grep @llvm.atomic.cmp.swap.i32 %t1 | count 4
+// RUN: grep @llvm.atomic.load.and.i32 %t1 | count 2
+// RUN: grep @llvm.atomic.load.or.i8 %t1
// RUN: grep @llvm.atomic.load.xor.i8 %t1
-// RUN: clang-cc -g -emit-llvm -o %t %s &&
+// RUN: clang-cc -g -emit-llvm -o %t %s
// RUN: not grep 'call void @llvm.dbg.func.start' %t
void t1() __attribute__((nodebug));
-// RUN: clang-cc -g -emit-llvm -o %t %s &&
+// RUN: clang-cc -g -emit-llvm -o %t %s
// RUN: grep 'noinline' %t
void t1() __attribute__((noinline));
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep '@llvm.used = .*@g0' %t &&
-// RUN: grep '@llvm.used = .*@f0' %t &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep '@llvm.used = .*@g0' %t
+// RUN: grep '@llvm.used = .*@f0' %t
// RUN: grep '@llvm.used = .*@f1.l0' %t
-// RUN: clang-cc -emit-llvm -triple i386-linux-gnu -o %t %s &&
+// RUN: clang-cc -emit-llvm -triple i386-linux-gnu -o %t %s
// RUN: FileCheck --input-file=%t %s
// CHECK: @t5 = weak global i32 2
/* Check that we get one load for each simple assign and two for the
compound assign (load the old value before the add then load again
to store back). Also check that our g0 pattern is good. */
-// RUN: clang-cc -triple i386-unknown-unknown -O0 -emit-llvm -o %t %s &&
-// RUN: grep 'load ' %t | count 5 &&
-// RUN: grep "@g0" %t | count 4 &&
+// RUN: clang-cc -triple i386-unknown-unknown -O0 -emit-llvm -o %t %s
+// RUN: grep 'load ' %t | count 5
+// RUN: grep "@g0" %t | count 4
// Check that we got the right value.
-// RUN: clang-cc -triple i386-unknown-unknown -O3 -emit-llvm -o %t %s &&
-// RUN: grep 'load ' %t | count 0 &&
+// RUN: clang-cc -triple i386-unknown-unknown -O3 -emit-llvm -o %t %s
+// RUN: grep 'load ' %t | count 0
// RUN: grep "@g0" %t | count 0
struct s0 {
-// RUN: clang -O3 -emit-llvm -S -o %t %s &&
-// RUN: grep 'ret i64 4294967292' %t | count 2 &&
-// RUN: grep 'ret i64 -4' %t | count 1 &&
+// RUN: clang -O3 -emit-llvm -S -o %t %s
+// RUN: grep 'ret i64 4294967292' %t | count 2
+// RUN: grep 'ret i64 -4' %t | count 1
// RUN: true
long long f0(void) {
-// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t -O3 &&
-// RUN: grep "ret i32" %t | count 4 &&
+// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t -O3
+// RUN: grep "ret i32" %t | count 4
// RUN: grep "ret i32 1" %t | count 4
static int f0(int n) {
-// RUN: clang-cc %s -emit-llvm -o %t -fblocks &&
-// RUN: grep "_Block_object_dispose" %t | count 17 &&
-// RUN: grep "__copy_helper_block_" %t | count 16 &&
-// RUN: grep "__destroy_helper_block_" %t | count 16 &&
-// RUN: grep "__Block_byref_id_object_copy_" %t | count 2 &&
-// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2 &&
-// RUN: grep "i32 135)" %t | count 2 &&
+// RUN: clang-cc %s -emit-llvm -o %t -fblocks
+// RUN: grep "_Block_object_dispose" %t | count 17
+// RUN: grep "__copy_helper_block_" %t | count 16
+// RUN: grep "__destroy_helper_block_" %t | count 16
+// RUN: grep "__Block_byref_id_object_copy_" %t | count 2
+// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2
+// RUN: grep "i32 135)" %t | count 2
// RUN: grep "_Block_object_assign" %t | count 10
#include <stdio.h>
-// RUN: clang-cc -g %s -emit-llvm -o %t -fblocks &&
+// RUN: clang-cc -g %s -emit-llvm -o %t -fblocks
// RUN: grep "func.start" %t | count 4
// 1 declaration, 1 bar, 1 test_block_dbg and 1 for the block.
// XFAIL: *
-// RUN: clang-cc -emit-llvm -o - -triple x86_64-apple-darwin10 &&
+// RUN: clang-cc -emit-llvm -o - -triple x86_64-apple-darwin10
// RUN: clang-cc -emit-llvm -o - -triple i386-apple-darwin10
typedef int __attribute__((aligned(32))) ai;
// FIXME: We forcibly strip the names so that the test doesn't vary between
// builds with and without asserts. We need a better solution for this.
-// RUN: clang-cc -fblocks -triple x86_64-apple-darwin10 -emit-llvm-bc -o - %s | opt -strip | llvm-dis > %t &&
-// RUN: grep '%6 = call i32 (...)\* @rhs()' %t | count 1 &&
-// RUN: grep '%7 = getelementptr inbounds %0\* %1, i32 0, i32 1' %t | count 1 &&
-// RUN: grep '%8 = load %0\*\* %7' %t | count 1 &&
-// RUN: grep '%10 = call i32 (...)\* @rhs()' %t | count 1 &&
-// RUN: grep '%11 = getelementptr inbounds %0\* %1, i32 0, i32 1' %t | count 1 &&
+// RUN: clang-cc -fblocks -triple x86_64-apple-darwin10 -emit-llvm-bc -o - %s | opt -strip | llvm-dis > %t
+// RUN: grep '%6 = call i32 (...)\* @rhs()' %t | count 1
+// RUN: grep '%7 = getelementptr inbounds %0\* %1, i32 0, i32 1' %t | count 1
+// RUN: grep '%8 = load %0\*\* %7' %t | count 1
+// RUN: grep '%10 = call i32 (...)\* @rhs()' %t | count 1
+// RUN: grep '%11 = getelementptr inbounds %0\* %1, i32 0, i32 1' %t | count 1
// RUN: grep '%12 = load %0\*\* %11' %t | count 1
int rhs();
-// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t -fblocks &&
+// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t -fblocks
void (^f)(void) = ^{};
// rdar://6768379
int a[64];
};
-// RUN: grep 'internal void @__f2_block_invoke_(.struct.s0\* noalias sret .*, .*, .* byval .*)' %t &&
+// RUN: grep 'internal void @__f2_block_invoke_(.struct.s0\* noalias sret .*, .*, .* byval .*)' %t
struct s0 f2(struct s0 a0) {
return ^(struct s0 a1){ return a1; }(a0);
}
-// RUN: clang-cc -emit-llvm %s -o - | grep 'cttz' | count 2 &&
+// RUN: clang-cc -emit-llvm %s -o - | grep 'cttz' | count 2
// RUN: clang-cc -emit-llvm %s -o - | grep 'ctlz' | count 2
int a(int a) {return __builtin_ctz(a) + __builtin_clz(a);}
-// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: grep '@llvm.memset.i32' %t &&
-// RUN: grep '@llvm.memcpy.i32' %t &&
-// RUN: grep '@llvm.memmove.i32' %t &&
+// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: grep '@llvm.memset.i32' %t
+// RUN: grep '@llvm.memcpy.i32' %t
+// RUN: grep '@llvm.memmove.i32' %t
// RUN: grep __builtin %t | count 0
int main(int argc, char **argv) {
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
// RUN: grep 'float 0x7FF8000000000000, float 0x7FF8000000000000, float 0x7FF8000020000000, float 0x7FF8000000000000, float 0x7FF80001E0000000, float 0x7FF8001E00000000, float 0x7FF801E000000000, float 0x7FF81E0000000000, float 0x7FF9E00000000000, float 0x7FFFFFFFE0000000' %t
float n[] = {
-// RUN: clang-cc -emit-llvm < %s | grep "llvm.returnaddress" &&
+// RUN: clang-cc -emit-llvm < %s | grep "llvm.returnaddress"
// RUN: clang-cc -emit-llvm < %s | grep "llvm.frameaddress"
void* a(unsigned x) {
return __builtin_return_address(0);
-// RUN: clang-cc -emit-llvm -o - %s > %t &&
+// RUN: clang-cc -emit-llvm -o - %s > %t
// RUN: not grep "__builtin" %t
#include <stdio.h>
-// RUN: clang-cc -emit-llvm -o - %s > %t &&
+// RUN: clang-cc -emit-llvm -o - %s > %t
// RUN: not grep "__builtin" %t
#include <stdio.h>
-// RUN: clang-cc -DUSE_64 -triple x86_64-unknown-unknown -emit-llvm -o %t %s &&
+// RUN: clang-cc -DUSE_64 -triple x86_64-unknown-unknown -emit-llvm -o %t %s
// RUN: clang-cc -DUSE_ALL -triple x86_64-unknown-unknown -fsyntax-only -o %t %s
#ifdef USE_ALL
-// RUN: clang-cc -emit-llvm -o %t %s &&
+// RUN: clang-cc -emit-llvm -o %t %s
// RUN: not grep __builtin %t
#include <stdio.h>
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep "hello" %t | count 3 &&
-// RUN: grep 'c"hello\\00"' %t | count 2 &&
-// RUN: grep 'c"hello\\00\\00\\00"' %t | count 1 &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep "hello" %t | count 3
+// RUN: grep 'c"hello\\00"' %t | count 2
+// RUN: grep 'c"hello\\00\\00\\00"' %t | count 1
// RUN: grep 'c"ola"' %t | count 1
/* Should be 3 hello string, two global (of different sizes), the rest
-// RUN: clang-cc -triple i386-unknown-unknown -O3 -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple i386-unknown-unknown -O3 -emit-llvm %s -o %t
// RUN: grep "ret i32 9" %t
struct s0 {
-// RUN: clang-cc < %s -emit-llvm -triple i686-pc-linux-gnu > %t &&
-// RUN: grep "div i32" %t &&
+// RUN: clang-cc < %s -emit-llvm -triple i686-pc-linux-gnu > %t
+// RUN: grep "div i32" %t
// RUN: grep "shl i32" %t
unsigned char a,b;
-// RUN: clang-cc -emit-llvm %s -o - 2>&1 | not grep warning &&
+// RUN: clang-cc -emit-llvm %s -o - 2>&1 | not grep warning
// RUN: clang-cc -emit-llvm %s -o - | grep @b | count 1
int a, b;
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep -e "global_ctors.*@A" %t &&
-// RUN: grep -e "global_dtors.*@B" %t &&
-// RUN: grep -e "global_ctors.*@C" %t &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep -e "global_ctors.*@A" %t
+// RUN: grep -e "global_dtors.*@B" %t
+// RUN: grep -e "global_ctors.*@C" %t
// RUN: grep -e "global_dtors.*@D" %t
#include <stdio.h>
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix LSB %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix LSB %s
// CHECK-LSB: @.str = private constant [8 x i8] c"string0\00"
// CHECK-LSB: @.str1 = private constant [8 x i8] c"string1\00"
-// RUN: clang-cc -o %t --emit-llvm -g %s &&
+// RUN: clang-cc -o %t --emit-llvm -g %s
// RUN: FileCheck --input-file=%t %s
// PR3023
-// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t &&
-// RUN: grep "{ i8\* null, i32 1024 }" %t &&
+// RUN: clang-cc -triple i386-unknown-unknown %s -emit-llvm -o %t
+// RUN: grep "{ i8\* null, i32 1024 }" %t
// RUN: grep "i32 0, i32 22" %t
struct foo {
-// RUN: clang-cc -emit-llvm < %s -o %t &&
-// RUN: grep 'dllexport' %t | count 1 &&
+// RUN: clang-cc -emit-llvm < %s -o %t
+// RUN: grep 'dllexport' %t | count 1
// RUN: not grep 'dllimport' %t
void __attribute__((dllimport)) foo1();
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: not grep "@foo" %t &&
-// RUN: clang-cc -femit-all-decls -emit-llvm -o %t %s &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: not grep "@foo" %t
+// RUN: clang-cc -femit-all-decls -emit-llvm -o %t %s
// RUN: grep "@foo" %t
static void foo() {
-// RUN: clang-cc %s -x cl -emit-llvm -o - | not grep 'extractelement' &&
-// RUN: clang-cc %s -x cl -emit-llvm -o - | not grep 'insertelement' &&
+// RUN: clang-cc %s -x cl -emit-llvm -o - | not grep 'extractelement'
+// RUN: clang-cc %s -x cl -emit-llvm -o - | not grep 'insertelement'
// RUN: clang-cc %s -x cl -emit-llvm -o - | grep 'shufflevector'
typedef __attribute__(( ext_vector_type(2) )) float float2;
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 7 | count 1 &&
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 11 | count 1 &&
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 13 | count 1 &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 7 | count 1
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 11 | count 1
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 13 | count 1
// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o - %s | grep 15 | count 1
struct { int x; int y[]; } a = { 1, 7, 11 };
-// RUN: clang-cc %s -emit-llvm -o %t &&
+// RUN: clang-cc %s -emit-llvm -o %t
int g();
int a(int);
int a() {return 1;}
-// RUN: grep 'define void @f0()' %t &&
+// RUN: grep 'define void @f0()' %t
void f0() {}
void f1();
-// RUN: grep 'call void @f1()' %t &&
+// RUN: grep 'call void @f1()' %t
void f2(void) {
f1(1, 2, 3);
}
-// RUN: grep 'define void @f1()' %t &&
+// RUN: grep 'define void @f1()' %t
void f1() {}
// RUN: grep 'define .* @f3' %t | not grep -F '...'
-// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
-// RUN: grep '@g0_ext = extern_weak global i32' %t &&
+// RUN: grep '@g0_ext = extern_weak global i32' %t
extern int g0_ext __attribute__((weak));
-// RUN: grep 'declare extern_weak i32 @g1_ext()' %t &&
+// RUN: grep 'declare extern_weak i32 @g1_ext()' %t
extern int __attribute__((weak)) g1_ext (void);
-// RUN: grep '@g0_common = weak global i32' %t &&
+// RUN: grep '@g0_common = weak global i32' %t
int g0_common __attribute__((weak));
-// RUN: grep '@g0_def = weak global i32' %t &&
+// RUN: grep '@g0_def = weak global i32' %t
int g0_def __attribute__((weak)) = 52;
-// RUN: grep 'define weak i32 @g1_def()' %t &&
+// RUN: grep 'define weak i32 @g1_def()' %t
int __attribute__((weak)) g1_def (void) { return 0; }
// Force _ext references
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm %s -o %t
void f1() {
// Scalars in braces.
}
// Constants
-// RUN: grep '@g3 = constant i32 10' %t &&
+// RUN: grep '@g3 = constant i32 10' %t
// RUN: grep '@f4.g4 = internal constant i32 12' %t
const int g3 = 10;
int f4() {
-// RUN: echo "GNU89 tests:" &&
-// RUN: clang %s -emit-llvm -S -o %t -std=gnu89 &&
-// RUN: grep "define available_externally i32 @ei()" %t &&
-// RUN: grep "define i32 @foo()" %t &&
-// RUN: grep "define i32 @bar()" %t &&
-// RUN: grep "define void @unreferenced1()" %t &&
-// RUN: not grep unreferenced2 %t &&
-// RUN: grep "define void @gnu_inline()" %t &&
-// RUN: grep "define available_externally void @gnu_ei_inline()" %t &&
-// RUN: grep "define i32 @test1" %t &&
-// RUN: grep "define i32 @test2" %t &&
-// RUN: grep "define void @test3()" %t &&
-// RUN: grep "define available_externally i32 @test4" %t &&
-// RUN: grep "define available_externally i32 @test5" %t &&
-
-// RUN: echo "\nC99 tests:" &&
-// RUN: clang %s -emit-llvm -S -o %t -std=c99 &&
-// RUN: grep "define i32 @ei()" %t &&
-// RUN: grep "define available_externally i32 @foo()" %t &&
-// RUN: grep "define i32 @bar()" %t &&
-// RUN: not grep unreferenced1 %t &&
-// RUN: grep "define void @unreferenced2()" %t &&
-// RUN: grep "define void @gnu_inline()" %t &&
-// RUN: grep "define available_externally void @gnu_ei_inline()" %t &&
-// RUN: grep "define i32 @test1" %t &&
-// RUN: grep "define i32 @test2" %t &&
-// RUN: grep "define void @test3" %t &&
-// RUN: grep "define available_externally i32 @test4" %t &&
-// RUN: grep "define available_externally i32 @test5" %t &&
-
-// RUN: echo "\nC++ tests:" &&
-// RUN: clang %s -emit-llvm -S -o %t -std=c++98 &&
-// RUN: grep "define linkonce_odr i32 @_Z2eiv()" %t &&
-// RUN: grep "define linkonce_odr i32 @_Z3foov()" %t &&
-// RUN: grep "define i32 @_Z3barv()" %t &&
-// RUN: not grep unreferenced %t &&
-// RUN: grep "define void @_Z10gnu_inlinev()" %t &&
+// RUN: echo "GNU89 tests:"
+// RUN: clang %s -emit-llvm -S -o %t -std=gnu89
+// RUN: grep "define available_externally i32 @ei()" %t
+// RUN: grep "define i32 @foo()" %t
+// RUN: grep "define i32 @bar()" %t
+// RUN: grep "define void @unreferenced1()" %t
+// RUN: not grep unreferenced2 %t
+// RUN: grep "define void @gnu_inline()" %t
+// RUN: grep "define available_externally void @gnu_ei_inline()" %t
+// RUN: grep "define i32 @test1" %t
+// RUN: grep "define i32 @test2" %t
+// RUN: grep "define void @test3()" %t
+// RUN: grep "define available_externally i32 @test4" %t
+// RUN: grep "define available_externally i32 @test5" %t
+
+// RUN: echo "\nC99 tests:"
+// RUN: clang %s -emit-llvm -S -o %t -std=c99
+// RUN: grep "define i32 @ei()" %t
+// RUN: grep "define available_externally i32 @foo()" %t
+// RUN: grep "define i32 @bar()" %t
+// RUN: not grep unreferenced1 %t
+// RUN: grep "define void @unreferenced2()" %t
+// RUN: grep "define void @gnu_inline()" %t
+// RUN: grep "define available_externally void @gnu_ei_inline()" %t
+// RUN: grep "define i32 @test1" %t
+// RUN: grep "define i32 @test2" %t
+// RUN: grep "define void @test3" %t
+// RUN: grep "define available_externally i32 @test4" %t
+// RUN: grep "define available_externally i32 @test5" %t
+
+// RUN: echo "\nC++ tests:"
+// RUN: clang %s -emit-llvm -S -o %t -std=c++98
+// RUN: grep "define linkonce_odr i32 @_Z2eiv()" %t
+// RUN: grep "define linkonce_odr i32 @_Z3foov()" %t
+// RUN: grep "define i32 @_Z3barv()" %t
+// RUN: not grep unreferenced %t
+// RUN: grep "define void @_Z10gnu_inlinev()" %t
// RUN: grep "define available_externally void @_Z13gnu_ei_inlinev()" %t
extern __inline int ei() { return 123; }
-// RUN: clang-cc -std=gnu89 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix GNU89 %s &&
+// RUN: clang-cc -std=gnu89 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix GNU89 %s
// RUN: clang-cc -std=c99 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix C99 %s
// CHECK-GNU89: define i32 @f0()
-// RUN: clang-cc -fmath-errno=1 -emit-llvm -o %t %s -triple i386-unknown-unknown &&
-// RUN: grep "declare " %t | count 6 &&
-// RUN: grep "declare " %t | grep "@llvm." | count 1 &&
-// RUN: clang-cc -fmath-errno=0 -emit-llvm -o %t %s -triple i386-unknown-unknown &&
-// RUN: grep "declare " %t | count 6 &&
+// RUN: clang-cc -fmath-errno=1 -emit-llvm -o %t %s -triple i386-unknown-unknown
+// RUN: grep "declare " %t | count 6
+// RUN: grep "declare " %t | grep "@llvm." | count 1
+// RUN: clang-cc -fmath-errno=0 -emit-llvm -o %t %s -triple i386-unknown-unknown
+// RUN: grep "declare " %t | count 6
// RUN: grep "declare " %t | grep -v "@llvm." | count 0
// IRgen only pays attention to const; it should always call llvm for
-// RUN: echo "#include <stdio.h>" > %t.h &&
-// RUN: clang -S -save-temps -g -include %t.h %s -emit-llvm -o %t.ll &&
-// RUN: grep "i32 5" %t.ll &&
+// RUN: echo "#include <stdio.h>" > %t.h
+// RUN: clang -S -save-temps -g -include %t.h %s -emit-llvm -o %t.ll
+// RUN: grep "i32 5" %t.ll
// RUN: rm -f lineno-dbginfo.i
// outer is at line number 5.
int outer = 42;
-// RUN: clang -emit-llvm -S -o %t %s &&
-// RUN: grep '@x = common global' %t &&
-// RUN: clang -fno-common -emit-llvm -S -o %t %s &&
+// RUN: clang -emit-llvm -S -o %t %s
+// RUN: grep '@x = common global' %t
+// RUN: clang -fno-common -emit-llvm -S -o %t %s
// RUN: grep '@x = global' %t
int x;
-// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm %s -o %t
-// RUN: grep "struct._attrs = type <{ i32, i8 }>" %t &&
+// RUN: grep "struct._attrs = type <{ i32, i8 }>" %t
typedef struct _attrs {
unsigned file_attributes;
unsigned char filename_length;
// We also check _Bool and empty structures, as these can have annoying
// corner cases.
-// RUN: clang-cc %s -triple i386-unknown-unknown -O3 -emit-llvm -o %t &&
-// RUN: not grep '@g0' %t &&
+// RUN: clang-cc %s -triple i386-unknown-unknown -O3 -emit-llvm -o %t
+// RUN: not grep '@g0' %t
-// RUN: clang-cc %s -triple x86_64-unknown-unknown -O3 -emit-llvm -o %t &&
-// RUN: not grep '@g0' %t &&
+// RUN: clang-cc %s -triple x86_64-unknown-unknown -O3 -emit-llvm -o %t
+// RUN: not grep '@g0' %t
-// RUN: clang-cc %s -triple powerpc-unknown-unknown -O3 -emit-llvm -o %t &&
-// RUN: not grep '@g0' %t &&
+// RUN: clang-cc %s -triple powerpc-unknown-unknown -O3 -emit-llvm -o %t
+// RUN: not grep '@g0' %t
// RUN: true
typedef _Bool BoolTy;
-// RUN: clang-cc -triple i386-apple-darwin9 %s -emit-llvm -o - | FileCheck -check-prefix X32 %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 %s -emit-llvm -o - | FileCheck -check-prefix X32 %s
// CHECK-X32: %struct.s0 = type { i64, i64, i32, [12 x i32] }
// CHECK-X32: %struct.s1 = type { [15 x i32], %struct.s0 }
-// RUN: clang-cc -triple i386-apple-darwin9 %s -emit-llvm -o - | FileCheck -check-prefix X32 %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 %s -emit-llvm -o - | FileCheck -check-prefix X32 %s
// CHECK-X32: %struct.menu = type <{ i8*, i8, i8 }>
// CHECK-X32: %union.command = type <{ i8*, [2 x i8] }>
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep '@g0 = external hidden constant i32' %t &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep '@g0 = external hidden constant i32' %t
// RUN: grep '@g1 = hidden constant i32 1' %t
__private_extern__ const int g0;
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
-// RUN: grep "ret i32" %t | count 1 &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
+// RUN: grep "ret i32" %t | count 1
// RUN: grep "ret i32 10" %t | count 1
// Ensure that default after a case range is not ignored.
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
// RUN: grep "ret i32 10" %t
// Ensure that this doesn't compile to infinite loop in g() due to
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
-// RUN: grep "ret i32" %t | count 2 &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
+// RUN: grep "ret i32" %t | count 2
// RUN: grep "ret i32 3" %t | count 2
// This generated incorrect code because of poor switch chaining.
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
// RUN: grep "ret i32 %" %t
// Make sure return is not constant (if empty range is skipped or miscompiled)
-// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
-// RUN: grep "ret i32" %t | count 1 &&
+// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
+// RUN: grep "ret i32" %t | count 1
// RUN: grep "ret i32 3" %t | count 1
int f2(unsigned x) {
-// RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: not grep 'ssp' %t &&
-// RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: not grep 'ssp' %t &&
-// RUN: clang-cc -triple i686-apple-darwin10 -emit-llvm -o %t %s &&
-// RUN: grep 'ssp' %t &&
-// RUN: clang -fstack-protector-all -emit-llvm -S -o %t %s &&
-// RUN: grep 'sspreq' %t &&
-// RUN: clang -fstack-protector -emit-llvm -S -o %t %s &&
-// RUN: grep 'ssp' %t &&
-// RUN: clang -fno-stack-protector -emit-llvm -S -o %t %s &&
-// RUN: not grep 'ssp' %t &&
+// RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s
+// RUN: not grep 'ssp' %t
+// RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s
+// RUN: not grep 'ssp' %t
+// RUN: clang-cc -triple i686-apple-darwin10 -emit-llvm -o %t %s
+// RUN: grep 'ssp' %t
+// RUN: clang -fstack-protector-all -emit-llvm -S -o %t %s
+// RUN: grep 'sspreq' %t
+// RUN: clang -fstack-protector -emit-llvm -S -o %t %s
+// RUN: grep 'ssp' %t
+// RUN: clang -fno-stack-protector -emit-llvm -S -o %t %s
+// RUN: not grep 'ssp' %t
// RUN: true
int printf(const char * _Format, ...);
-// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: grep "g.b = internal global i8. getelementptr" %t &&
+// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: grep "g.b = internal global i8. getelementptr" %t
struct AStruct {
int i;
-// RUN: clang-cc -emit-llvm < %s | grep 'fastcallcc' | count 4 &&
+// RUN: clang-cc -emit-llvm < %s | grep 'fastcallcc' | count 4
// RUN: clang-cc -emit-llvm < %s | grep 'stdcallcc' | count 4
void __attribute__((fastcall)) f1(void);
-// RUN: clang-cc -emit-llvm %s -o %t &&
-// RUN: grep 'private constant \[10 x i8\]' %t &&
-// RUN: not grep -F "[5 x i8]" %t &&
+// RUN: clang-cc -emit-llvm %s -o %t
+// RUN: grep 'private constant \[10 x i8\]' %t
+// RUN: not grep -F "[5 x i8]" %t
// RUN: not grep "store " %t
void test(void) {
-// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: grep 'declare i32 @f0() readnone$' %t &&
-// RUN: grep 'declare i32 @f1() readonly$' %t &&
-// RUN: grep 'declare void @f2(.* noalias sret)$' %t &&
-// RUN: grep 'declare void @f3(.* noalias sret)$' %t &&
-// RUN: grep 'declare void @f4(.* byval)$' %t &&
-// RUN: grep 'declare void @f5(.* byval)$' %t &&
+// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: grep 'declare i32 @f0() readnone$' %t
+// RUN: grep 'declare i32 @f1() readonly$' %t
+// RUN: grep 'declare void @f2(.* noalias sret)$' %t
+// RUN: grep 'declare void @f3(.* noalias sret)$' %t
+// RUN: grep 'declare void @f4(.* byval)$' %t
+// RUN: grep 'declare void @f5(.* byval)$' %t
// RUN: true
// PR3835
-// RUN: clang-cc < %s -emit-llvm > %t1 -triple=i686-apple-darwin9 &&
-// RUN: grep "STest1 = type { i32, \[4 x i16\], double }" %t1 &&
-// RUN: grep "STest2 = type { i16, i16, i32, i32 }" %t1 &&
-// RUN: grep "STest3 = type { i8, i16, i32 }" %t1 &&
-// RUN: grep "STestB1 = type { i8, i8 }" %t1 &&
-// RUN: grep "STestB2 = type { i8, i8, i8 }" %t1 &&
-// RUN: grep "STestB3 = type { i8, i8 }" %t1 &&
-// RUN: grep "STestB4 = type { i8, i8, i8, i8 }" %t1 &&
-// RUN: grep "STestB5 = type { i8, i8, \[2 x i8\], i8, i8 }" %t1 &&
+// RUN: clang-cc < %s -emit-llvm > %t1 -triple=i686-apple-darwin9
+// RUN: grep "STest1 = type { i32, \[4 x i16\], double }" %t1
+// RUN: grep "STest2 = type { i16, i16, i32, i32 }" %t1
+// RUN: grep "STest3 = type { i8, i16, i32 }" %t1
+// RUN: grep "STestB1 = type { i8, i8 }" %t1
+// RUN: grep "STestB2 = type { i8, i8, i8 }" %t1
+// RUN: grep "STestB3 = type { i8, i8 }" %t1
+// RUN: grep "STestB4 = type { i8, i8, i8, i8 }" %t1
+// RUN: grep "STestB5 = type { i8, i8, \[2 x i8\], i8, i8 }" %t1
// RUN: grep "STestB6 = type { i8, i8, \[2 x i8\] }" %t1
// Test struct layout for x86-darwin target
-// RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: grep 'target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"' %t &&
-// RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: grep 'target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32"' %t &&
-// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: grep 'target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"' %t &&
+// RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s
+// RUN: grep 'target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"' %t
+// RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s
+// RUN: grep 'target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32"' %t
+// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s
+// RUN: grep 'target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"' %t
// RUN: true
-// RUN: clang-cc -emit-llvm -o %t %s &&
+// RUN: clang-cc -emit-llvm -o %t %s
-// RUN: grep '@r = common global \[1 x .*\] zeroinitializer' %t &&
+// RUN: grep '@r = common global \[1 x .*\] zeroinitializer' %t
int r[];
int (*a)[] = &r;
struct s0;
struct s0 x;
-// RUN: grep '@x = common global .struct.s0 zeroinitializer' %t &&
+// RUN: grep '@x = common global .struct.s0 zeroinitializer' %t
struct s0 y;
-// RUN: grep '@y = common global .struct.s0 zeroinitializer' %t &&
+// RUN: grep '@y = common global .struct.s0 zeroinitializer' %t
struct s0 *f0() {
return &y;
}
int x;
};
-// RUN: grep '@b = common global \[1 x .*\] zeroinitializer' %t &&
+// RUN: grep '@b = common global \[1 x .*\] zeroinitializer' %t
int b[];
int *f1() {
return b;
}
// Check that the most recent tentative definition wins.
-// RUN: grep '@c = common global \[4 x .*\] zeroinitializer' %t &&
+// RUN: grep '@c = common global \[4 x .*\] zeroinitializer' %t
int c[];
int c[4];
// Check that we emit static tentative definitions
-// RUN: grep '@c5 = internal global \[1 x .*\] zeroinitializer' %t &&
+// RUN: grep '@c5 = internal global \[1 x .*\] zeroinitializer' %t
static int c5[];
static int func() { return c5[0]; }
int callfunc() { return func(); }
-// RUN: clang-cc -ftrapv %s -emit-llvm -o %t &&
+// RUN: clang-cc -ftrapv %s -emit-llvm -o %t
// RUN: grep "__overflow_handler" %t | count 2
unsigned int ui, uj, uk;
-// RUN: clang-cc -emit-llvm -o %t %s &&
+// RUN: clang-cc -emit-llvm -o %t %s
// RUN: grep '@unreachable' %t | count 0
extern void abort() __attribute__((noreturn));
-// RUN: clang-cc -fexceptions -emit-llvm -o - %s | grep "@foo()" | not grep nounwind &&
+// RUN: clang-cc -fexceptions -emit-llvm -o - %s | grep "@foo()" | not grep nounwind
// RUN: clang-cc -emit-llvm -o - %s | grep "@foo()" | grep nounwind
int foo(void) {
-// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=default -emit-llvm -o %t %s &&
-// RUN: grep '@g_com = common global i32 0' %t &&
-// RUN: grep '@g_def = global i32 0' %t &&
-// RUN: grep '@g_ext = external global i32' %t &&
-// RUN: grep '@g_deferred = internal global' %t &&
-// RUN: grep 'declare void @f_ext()' %t &&
-// RUN: grep 'define internal void @f_deferred()' %t &&
-// RUN: grep 'define i32 @f_def()' %t &&
-// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=protected -emit-llvm -o %t %s &&
-// RUN: grep '@g_com = common protected global i32 0' %t &&
-// RUN: grep '@g_def = protected global i32 0' %t &&
-// RUN: grep '@g_ext = external global i32' %t &&
-// RUN: grep '@g_deferred = internal global' %t &&
-// RUN: grep 'declare void @f_ext()' %t &&
-// RUN: grep 'define internal void @f_deferred()' %t &&
-// RUN: grep 'define protected i32 @f_def()' %t &&
-// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=hidden -emit-llvm -o %t %s &&
-// RUN: grep '@g_com = common hidden global i32 0' %t &&
-// RUN: grep '@g_def = hidden global i32 0' %t &&
-// RUN: grep '@g_ext = external global i32' %t &&
-// RUN: grep '@g_deferred = internal global' %t &&
-// RUN: grep 'declare void @f_ext()' %t &&
-// RUN: grep 'define internal void @f_deferred()' %t &&
-// RUN: grep 'define hidden i32 @f_def()' %t &&
+// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=default -emit-llvm -o %t %s
+// RUN: grep '@g_com = common global i32 0' %t
+// RUN: grep '@g_def = global i32 0' %t
+// RUN: grep '@g_ext = external global i32' %t
+// RUN: grep '@g_deferred = internal global' %t
+// RUN: grep 'declare void @f_ext()' %t
+// RUN: grep 'define internal void @f_deferred()' %t
+// RUN: grep 'define i32 @f_def()' %t
+// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=protected -emit-llvm -o %t %s
+// RUN: grep '@g_com = common protected global i32 0' %t
+// RUN: grep '@g_def = protected global i32 0' %t
+// RUN: grep '@g_ext = external global i32' %t
+// RUN: grep '@g_deferred = internal global' %t
+// RUN: grep 'declare void @f_ext()' %t
+// RUN: grep 'define internal void @f_deferred()' %t
+// RUN: grep 'define protected i32 @f_def()' %t
+// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=hidden -emit-llvm -o %t %s
+// RUN: grep '@g_com = common hidden global i32 0' %t
+// RUN: grep '@g_def = hidden global i32 0' %t
+// RUN: grep '@g_ext = external global i32' %t
+// RUN: grep '@g_deferred = internal global' %t
+// RUN: grep 'declare void @f_ext()' %t
+// RUN: grep 'define internal void @f_deferred()' %t
+// RUN: grep 'define hidden i32 @f_def()' %t
// RUN: true
int g_com;
-// RUN: clang-cc -Wno-unused-value -emit-llvm < %s -o %t &&
-// RUN: grep volatile %t | count 145 &&
+// RUN: clang-cc -Wno-unused-value -emit-llvm < %s -o %t
+// RUN: grep volatile %t | count 145
// RUN: grep memcpy %t | count 4
volatile int i, j, k;
-// RUN: clang-cc -emit-llvm < %s -o %t &&
-// RUN: grep volatile %t | count 29 &&
+// RUN: clang-cc -emit-llvm < %s -o %t
+// RUN: grep volatile %t | count 29
// RUN: grep memcpy %t | count 7
// The number 29 comes from the current codegen for volatile loads;
-// RUN: clang-cc %s -triple=i686-pc-linux-gnu -emit-llvm -o - > %t1 &&
-// RUN: grep "ax" %t1 &&
-// RUN: grep "bx" %t1 &&
-// RUN: grep "cx" %t1 &&
-// RUN: grep "dx" %t1 &&
-// RUN: grep "di" %t1 &&
-// RUN: grep "si" %t1 &&
-// RUN: grep "st" %t1 &&
+// RUN: clang-cc %s -triple=i686-pc-linux-gnu -emit-llvm -o - > %t1
+// RUN: grep "ax" %t1
+// RUN: grep "bx" %t1
+// RUN: grep "cx" %t1
+// RUN: grep "dx" %t1
+// RUN: grep "di" %t1
+// RUN: grep "si" %t1
+// RUN: grep "st" %t1
// RUN: grep "st(1)" %t1
void test1() {
-// RUN: clang-cc -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: grep 'define signext i8 @f0()' %t &&
-// RUN: grep 'define signext i16 @f1()' %t &&
-// RUN: grep 'define i32 @f2()' %t &&
-// RUN: grep 'define float @f3()' %t &&
-// RUN: grep 'define double @f4()' %t &&
-// RUN: grep 'define x86_fp80 @f5()' %t &&
-// RUN: grep 'define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8\* %a4)' %t &&
-// RUN: grep 'define void @f7(i32 %a0)' %t &&
-// RUN: grep 'define i64 @f8_1()' %t &&
-// RUN: grep 'define void @f8_2(i32 %a0.0, i32 %a0.1)' %t &&
+// RUN: clang-cc -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s
+// RUN: grep 'define signext i8 @f0()' %t
+// RUN: grep 'define signext i16 @f1()' %t
+// RUN: grep 'define i32 @f2()' %t
+// RUN: grep 'define float @f3()' %t
+// RUN: grep 'define double @f4()' %t
+// RUN: grep 'define x86_fp80 @f5()' %t
+// RUN: grep 'define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8\* %a4)' %t
+// RUN: grep 'define void @f7(i32 %a0)' %t
+// RUN: grep 'define i64 @f8_1()' %t
+// RUN: grep 'define void @f8_2(i32 %a0.0, i32 %a0.1)' %t
char f0(void) {
return 0;
// This should be passed just as s8.
-// RUN: grep 'define i64 @f9_1()' %t &&
+// RUN: grep 'define i64 @f9_1()' %t
// FIXME: llvm-gcc expands this, this may have some value for the
// backend in terms of optimization but doesn't change the ABI.
-// RUN: grep 'define void @f9_2(%.truct.s9\* byval %a0)' %t &&
+// RUN: grep 'define void @f9_2(%.truct.s9\* byval %a0)' %t
struct s9 {
int a : 17;
int b;
// Return of small structures and unions
-// RUN: grep 'float @f10()' %t &&
+// RUN: grep 'float @f10()' %t
struct s10 {
union { };
float f;
// Small vectors and 1 x {i64,double} are returned in registers
-// RUN: grep 'i32 @f11()' %t &&
-// RUN: grep -F 'void @f12(<2 x i32>* noalias sret %agg.result)' %t &&
-// RUN: grep 'i64 @f13()' %t &&
-// RUN: grep 'i64 @f14()' %t &&
-// RUN: grep '<2 x i64> @f15()' %t &&
-// RUN: grep '<2 x i64> @f16()' %t &&
+// RUN: grep 'i32 @f11()' %t
+// RUN: grep -F 'void @f12(<2 x i32>* noalias sret %agg.result)' %t
+// RUN: grep 'i64 @f13()' %t
+// RUN: grep 'i64 @f14()' %t
+// RUN: grep '<2 x i64> @f15()' %t
+// RUN: grep '<2 x i64> @f16()' %t
typedef short T11 __attribute__ ((vector_size (4)));
T11 f11(void) { while (1) {} }
typedef int T12 __attribute__ ((vector_size (8)));
// And when the single element in a struct (but not for 64 and
// 128-bits).
-// RUN: grep 'i32 @f17()' %t &&
-// RUN: grep -F 'void @f18(%2* noalias sret %agg.result)' %t &&
-// RUN: grep -F 'void @f19(%3* noalias sret %agg.result)' %t &&
-// RUN: grep -F 'void @f20(%4* noalias sret %agg.result)' %t &&
-// RUN: grep -F 'void @f21(%5* noalias sret %agg.result)' %t &&
-// RUN: grep -F 'void @f22(%6* noalias sret %agg.result)' %t &&
+// RUN: grep 'i32 @f17()' %t
+// RUN: grep -F 'void @f18(%2* noalias sret %agg.result)' %t
+// RUN: grep -F 'void @f19(%3* noalias sret %agg.result)' %t
+// RUN: grep -F 'void @f20(%4* noalias sret %agg.result)' %t
+// RUN: grep -F 'void @f21(%5* noalias sret %agg.result)' %t
+// RUN: grep -F 'void @f22(%6* noalias sret %agg.result)' %t
struct { T11 a; } f17(void) { while (1) {} }
struct { T12 a; } f18(void) { while (1) {} }
struct { T13 a; } f19(void) { while (1) {} }
// Single element structures are handled specially
-// RUN: grep -F 'float @f23()' %t &&
-// RUN: grep -F 'float @f24()' %t &&
-// RUN: grep -F 'float @f25()' %t &&
+// RUN: grep -F 'float @f23()' %t
+// RUN: grep -F 'float @f24()' %t
+// RUN: grep -F 'float @f25()' %t
struct { float a; } f23(void) { while (1) {} }
struct { float a[1]; } f24(void) { while (1) {} }
struct { struct {} a; struct { float a[1]; } b; } f25(void) { while (1) {} }
// Small structures are handled recursively
-// RUN: grep -F 'i32 @f26()' %t &&
-// RUN: grep 'void @f27(%.truct.s27\* noalias sret %agg.result)' %t &&
+// RUN: grep -F 'i32 @f26()' %t
+// RUN: grep 'void @f27(%.truct.s27\* noalias sret %agg.result)' %t
struct s26 { struct { char a, b; } a; struct { char a, b; } b; } f26(void) { while (1) {} }
struct s27 { struct { char a, b, c; } a; struct { char a; } b; } f27(void) { while (1) {} }
-// RUN: grep 'void @f28(%.truct.s28\* noalias sret %agg.result)' %t &&
+// RUN: grep 'void @f28(%.truct.s28\* noalias sret %agg.result)' %t
struct s28 { int a; int b[]; } f28(void) { while (1) {} }
-// RUN: grep 'define i16 @f29()' %t &&
+// RUN: grep 'define i16 @f29()' %t
struct s29 { struct { } a[1]; char b; char c; } f29(void) { while (1) {} }
-// RUN: grep 'define i16 @f30()' %t &&
+// RUN: grep 'define i16 @f30()' %t
struct s30 { char a; char b : 4; } f30(void) { while (1) {} }
-// RUN: grep 'define float @f31()' %t &&
+// RUN: grep 'define float @f31()' %t
struct s31 { char : 0; float b; char : 0; } f31(void) { while (1) {} }
-// RUN: grep 'define i32 @f32()' %t &&
+// RUN: grep 'define i32 @f32()' %t
struct s32 { char a; unsigned : 0; } f32(void) { while (1) {} }
-// RUN: grep 'define float @f33()' %t &&
+// RUN: grep 'define float @f33()' %t
struct s33 { float a; long long : 0; } f33(void) { while (1) {} }
-// RUN: grep 'define float @f34()' %t &&
+// RUN: grep 'define float @f34()' %t
struct s34 { struct { int : 0; } a; float b; } f34(void) { while (1) {} }
-// RUN: grep 'define i16 @f35()' %t &&
+// RUN: grep 'define i16 @f35()' %t
struct s35 { struct { int : 0; } a; char b; char c; } f35(void) { while (1) {} }
-// RUN: grep 'define i16 @f36()' %t &&
+// RUN: grep 'define i16 @f36()' %t
struct s36 { struct { int : 0; } a[2][10]; char b; char c; } f36(void) { while (1) {} }
-// RUN: grep 'define float @f37()' %t &&
+// RUN: grep 'define float @f37()' %t
struct s37 { float c[1][1]; } f37(void) { while (1) {} }
-// RUN: grep 'define void @f38(.struct.s38. noalias sret .agg.result)' %t &&
+// RUN: grep 'define void @f38(.struct.s38. noalias sret .agg.result)' %t
struct s38 { char a[3]; short b; } f38(void) { while (1) {} }
-// RUN: grep 'define void @f39(.struct.s39. byval align 16 .x)' %t &&
+// RUN: grep 'define void @f39(.struct.s39. byval align 16 .x)' %t
typedef int v39 __attribute((vector_size(16)));
struct s39 { v39 x; };
void f39(struct s39 x) {}
// <rdar://problem/7247671>
-// RUN: grep 'define i32 @f40()' %t &&
+// RUN: grep 'define i32 @f40()' %t
enum e40 { ec0 = 0 };
enum e40 f40(void) { }
-// RUN: grep 'define void ()\* @f41()' %t &&
+// RUN: grep 'define void ()\* @f41()' %t
typedef void (^vvbp)(void);
vvbp f41(void) { }
-// RUN: grep 'define i32 @f42()' %t &&
+// RUN: grep 'define i32 @f42()' %t
struct s42 { enum e40 f0; } f42(void) { }
-// RUN: grep 'define i64 @f43()' %t &&
+// RUN: grep 'define i64 @f43()' %t
struct s43 { enum e40 f0; int f1; } f43(void) { }
-// RUN: grep 'define i32 @f44()' %t &&
+// RUN: grep 'define i32 @f44()' %t
struct s44 { vvbp f0; } f44(void) { }
-// RUN: grep 'define i64 @f45()' %t &&
+// RUN: grep 'define i64 @f45()' %t
struct s45 { vvbp f0; int f1; } f45(void) { }
-// RUN: grep 'define void @f46(i32 %a0)' %t &&
+// RUN: grep 'define void @f46(i32 %a0)' %t
void f46(enum e40 a0) { }
-// RUN: grep 'define void @f47(void ()\* %a1)' %t &&
+// RUN: grep 'define void @f47(void ()\* %a1)' %t
void f47(vvbp a1) { }
-// RUN: grep 'define void @f48(i32 %a0.0)' %t &&
+// RUN: grep 'define void @f48(i32 %a0.0)' %t
struct s48 { enum e40 f0; };
void f48(struct s48 a0) { }
-// RUN: grep 'define void @f49(i32 %a0.0, i32 %a0.1)' %t &&
+// RUN: grep 'define void @f49(i32 %a0.0, i32 %a0.1)' %t
struct s49 { enum e40 f0; int f1; };
void f49(struct s49 a0) { }
-// RUN: grep 'define void @f50(void ()\* %a0.0)' %t &&
+// RUN: grep 'define void @f50(void ()\* %a0.0)' %t
struct s50 { vvbp f0; };
void f50(struct s50 a0) { }
-// RUN: grep 'define void @f51(void ()\* %a0.0, i32 %a0.1)' %t &&
+// RUN: grep 'define void @f51(void ()\* %a0.0, i32 %a0.1)' %t
struct s51 { vvbp f0; int f1; };
void f51(struct s51 a0) { }
-// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: grep 'define signext i8 @f0()' %t &&
-// RUN: grep 'define signext i16 @f1()' %t &&
-// RUN: grep 'define i32 @f2()' %t &&
-// RUN: grep 'define float @f3()' %t &&
-// RUN: grep 'define double @f4()' %t &&
-// RUN: grep 'define x86_fp80 @f5()' %t &&
-// RUN: grep 'define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8\* %a4)' %t &&
-// RUN: grep 'define void @f7(i32 %a0)' %t &&
-// RUN: grep '.0 = type { i64, double }' %t &&
-// RUN: grep 'define .0 @f8_1()' %t &&
-// RUN: grep 'define void @f8_2(.0)' %t &&
+// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s
+// RUN: grep 'define signext i8 @f0()' %t
+// RUN: grep 'define signext i16 @f1()' %t
+// RUN: grep 'define i32 @f2()' %t
+// RUN: grep 'define float @f3()' %t
+// RUN: grep 'define double @f4()' %t
+// RUN: grep 'define x86_fp80 @f5()' %t
+// RUN: grep 'define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8\* %a4)' %t
+// RUN: grep 'define void @f7(i32 %a0)' %t
+// RUN: grep '.0 = type { i64, double }' %t
+// RUN: grep 'define .0 @f8_1()' %t
+// RUN: grep 'define void @f8_2(.0)' %t
char f0(void) {
return 0;
union u8 f8_1() { while (1) {} }
void f8_2(union u8 a0) {}
-// RUN: grep 'define i64 @f9()' %t &&
+// RUN: grep 'define i64 @f9()' %t
struct s9 { int a; int b; int : 0; } f9(void) { while (1) {} }
-// RUN: grep 'define void @f10(i64)' %t &&
+// RUN: grep 'define void @f10(i64)' %t
struct s10 { int a; int b; int : 0; };
void f10(struct s10 a0) {}
-// RUN: grep 'define void @f11(.union.anon. noalias sret .agg.result)' %t &&
+// RUN: grep 'define void @f11(.union.anon. noalias sret .agg.result)' %t
union { long double a; float b; } f11() { while (1) {} }
-// RUN: grep 'define i64 @f12_0()' %t &&
-// RUN: grep 'define void @f12_1(i64)' %t &&
+// RUN: grep 'define i64 @f12_0()' %t
+// RUN: grep 'define void @f12_1(i64)' %t
struct s12 { int a __attribute__((aligned(16))); };
struct s12 f12_0(void) { while (1) {} }
void f12_1(struct s12 a0) {}
// Check that sret parameter is accounted for when checking available integer
// registers.
-// RUN: grep 'define void @f13(.struct.s13_0. noalias sret .agg.result, i32 .a, i32 .b, i32 .c, i32 .d, .struct.s13_1. byval .e, i32 .f)' %t &&
+// RUN: grep 'define void @f13(.struct.s13_0. noalias sret .agg.result, i32 .a, i32 .b, i32 .c, i32 .d, .struct.s13_1. byval .e, i32 .f)' %t
struct s13_0 { long long f0[3]; };
struct s13_1 { long long f0[2]; };
struct s13_0 f13(int a, int b, int c, int d,
struct s13_1 e, int f) { while (1) {} }
-// RUN: grep 'define void @f14(.*, i8 signext .X)' %t &&
+// RUN: grep 'define void @f14(.*, i8 signext .X)' %t
void f14(int a, int b, int c, int d, int e, int f,
char X) {}
-// RUN: grep 'define void @f15(.*, i8\* .X)' %t &&
+// RUN: grep 'define void @f15(.*, i8\* .X)' %t
void f15(int a, int b, int c, int d, int e, int f,
void *X) {}
-// RUN: grep 'define void @f16(.*, float .X)' %t &&
+// RUN: grep 'define void @f16(.*, float .X)' %t
void f16(float a, float b, float c, float d, float e, float f, float g, float h,
float X) {}
-// RUN: grep 'define void @f17(.*, x86_fp80 .X)' %t &&
+// RUN: grep 'define void @f17(.*, x86_fp80 .X)' %t
void f17(float a, float b, float c, float d, float e, float f, float g, float h,
long double X) {}
// Check for valid coercion.
-// RUN: grep '.. = bitcast i64. .* to .struct.f18_s0.' %t &&
-// RUN: grep '.. = load .struct.f18_s0. .., align 1' %t &&
-// RUN: grep 'store .struct.f18_s0 .., .struct.f18_s0. .f18_arg1' %t &&
+// RUN: grep '.. = bitcast i64. .* to .struct.f18_s0.' %t
+// RUN: grep '.. = load .struct.f18_s0. .., align 1' %t
+// RUN: grep 'store .struct.f18_s0 .., .struct.f18_s0. .f18_arg1' %t
struct f18_s0 { int f0; };
void f18(int a, struct f18_s0 f18_arg1) { while (1) {} }
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
struct A { A(const A&, int i1 = 1); };
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -O0 -S %s -o %t.s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -O0 -S %s -o %t.s
// RUN: FileCheck --input-file=%t.s %s
int foo() __attribute__((aligned(1024)));
-// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
struct A {
-// RUN: clang-cc %s -emit-llvm -o %t &&
+// RUN: clang-cc %s -emit-llvm -o %t
// An extra byte shoudl be allocated for an empty class.
// RUN: grep '%.truct.A = type { i8 }' %t
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
// PR4826
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -emit-llvm -o %t %s &&
+// RUN: clang-cc -emit-llvm -o %t %s
// RUN: grep "_ZN1XaSERK1X" %t | count 0
extern "C" int printf(...);
-// RUN: clang-cc -emit-llvm -o %t %s &&
-// RUN: grep "_ZN1CC1ERK1C" %t | count 0 &&
-// RUN: grep "_ZN1SC1ERK1S" %t | count 0 &&
+// RUN: clang-cc -emit-llvm -o %t %s
+// RUN: grep "_ZN1CC1ERK1C" %t | count 0
+// RUN: grep "_ZN1SC1ERK1S" %t | count 0
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
struct A {};
-// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9 &&
+// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9
struct T {
T();
};
void g() {
- // RUN: grep "call void @_ZN1TC1Ev" %t | count 4 &&
- // RUN: grep "call void @_ZN1TD1Ev" %t | count 4 &&
+ // RUN: grep "call void @_ZN1TC1Ev" %t | count 4
+ // RUN: grep "call void @_ZN1TD1Ev" %t | count 4
f();
f();
-// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -O0 -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -O0 -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 -input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -O0 -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -O0 -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 -input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc %s -emit-llvm -o %t &&
+// RUN: clang-cc %s -emit-llvm -o %t
void t1(int *a) {
delete a;
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -emit-llvm -triple i686-pc-linue-gnu -o %t %s &&
+// RUN: clang-cc -emit-llvm -triple i686-pc-linue-gnu -o %t %s
// RUN: grep "define i32 @_ZNK4plusIillEclERKiRKl" %t | count 1
template<typename T, typename U, typename Result>
-// RUN: clang-cc -emit-llvm %s -o %t &&
+// RUN: clang-cc -emit-llvm %s -o %t
namespace foo {
-// RUN: not grep "@a = global i32" %t &&
+// RUN: not grep "@a = global i32" %t
extern "C" int a;
-// RUN: not grep "@_ZN3foo1bE = global i32" %t &&
+// RUN: not grep "@_ZN3foo1bE = global i32" %t
extern int b;
// RUN: grep "@_ZN3foo1cE = global i32" %t | count 1
-// RUN: clang-cc -emit-llvm %s -o %t &&
+// RUN: clang-cc -emit-llvm %s -o %t
template<typename T>
struct X {
};
void foo(X<int> &xi, X<float> *xfp, int i, float f) {
- // RUN: grep "linkonce_odr.*_ZN1XIiE1fEi" %t | count 1 &&
+ // RUN: grep "linkonce_odr.*_ZN1XIiE1fEi" %t | count 1
xi.f(i);
- // RUN: grep "linkonce_odr.*_ZN1XIiE1gEi" %t | count 1 &&
+ // RUN: grep "linkonce_odr.*_ZN1XIiE1gEi" %t | count 1
xi.g(f);
- // RUN: grep "linkonce_odr.*_ZN1XIfE1fEf" %t | count 1 &&
+ // RUN: grep "linkonce_odr.*_ZN1XIfE1fEf" %t | count 1
xfp->f(f);
- // RUN: grep "linkonce_odr.*_ZN1XIfE1hEf" %t | count 0 &&
+ // RUN: grep "linkonce_odr.*_ZN1XIfE1hEf" %t | count 0
// RUN: true
}
-// RUN: clang-cc -emit-llvm %s -triple x86_64-apple-darwin9 -o %t &&
+// RUN: clang-cc -emit-llvm %s -triple x86_64-apple-darwin9 -o %t
struct C {
void f();
void g(int, ...);
};
-// RUN: grep "define void @_ZN1C1fEv" %t | count 1 &&
+// RUN: grep "define void @_ZN1C1fEv" %t | count 1
void C::f() {
}
void test1() {
C c;
-// RUN: grep "call void @_ZN1C1fEv" %t | count 1 &&
+// RUN: grep "call void @_ZN1C1fEv" %t | count 1
c.f();
-// RUN: grep "call void (.struct.C\*, i32, ...)\* @_ZN1C1gEiz" %t | count 1 &&
+// RUN: grep "call void (.struct.C\*, i32, ...)\* @_ZN1C1gEiz" %t | count 1
c.g(1, 2, 3);
}
struct S {
- // RUN: grep "define linkonce_odr void @_ZN1SC1Ev" %t &&
+ // RUN: grep "define linkonce_odr void @_ZN1SC1Ev" %t
inline S() { }
- // RUN: grep "define linkonce_odr void @_ZN1SC1Ev" %t &&
+ // RUN: grep "define linkonce_odr void @_ZN1SC1Ev" %t
inline ~S() { }
- // RUN: grep "define linkonce_odr void @_ZN1S9f_inline1Ev" %t &&
+ // RUN: grep "define linkonce_odr void @_ZN1S9f_inline1Ev" %t
void f_inline1() { }
- // RUN: grep "define linkonce_odr void @_ZN1S9f_inline2Ev" %t &&
+ // RUN: grep "define linkonce_odr void @_ZN1S9f_inline2Ev" %t
inline void f_inline2() { }
- // RUN: grep "define linkonce_odr void @_ZN1S1gEv" %t &&
+ // RUN: grep "define linkonce_odr void @_ZN1S1gEv" %t
static void g() { }
static void f();
};
-// RUN: grep "define void @_ZN1S1fEv" %t &&
+// RUN: grep "define void @_ZN1S1fEv" %t
void S::f() {
}
-// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9 &&
+// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9
struct A {
int i;
};
-// RUN: grep "@a = global i64 -1" %t &&
+// RUN: grep "@a = global i64 -1" %t
int A::* a;
-// RUN: grep "@aa = global \[2 x i64\] \[i64 -1, i64 -1\]" %t &&
+// RUN: grep "@aa = global \[2 x i64\] \[i64 -1, i64 -1\]" %t
int A::* aa[2];
-// RUN: grep "@aaa = global \[2 x \[2 x i64\]\] \[\[2 x i64\] \[i64 -1, i64 -1\], \[2 x i64\] \[i64 -1, i64 -1\]\]" %t &&
+// RUN: grep "@aaa = global \[2 x \[2 x i64\]\] \[\[2 x i64\] \[i64 -1, i64 -1\], \[2 x i64\] \[i64 -1, i64 -1\]\]" %t
int A::* aaa[2][2];
-// RUN: grep "@b = global i64 -1" %t &&
+// RUN: grep "@b = global i64 -1" %t
int A::* b = 0;
void f() {
- // RUN: grep "%.* = icmp ne i64 %.*, -1" %t | count 2 &&
+ // RUN: grep "%.* = icmp ne i64 %.*, -1" %t | count 2
if (a) { }
if (a != 0) { }
- // RUN: grep "%.* = icmp ne i64 -1, %.*" %t | count 1 &&
+ // RUN: grep "%.* = icmp ne i64 -1, %.*" %t | count 1
if (0 != a) { }
- // RUN: grep "%.* = icmp eq i64 %.*, -1" %t | count 1 &&
+ // RUN: grep "%.* = icmp eq i64 %.*, -1" %t | count 1
if (a == 0) { }
// RUN: grep "%.* = icmp eq i64 -1, %.*" %t | count 1
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -std=c++0x -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
// 13.3.3.2 Ranking implicit conversion sequences
unsigned long f3(void *p) {
return reinterpret_cast<unsigned long>(p);
-}
\ No newline at end of file
+}
-// RUN: clang-cc -triple=x86_64-apple-darwin9 -emit-llvm %s -o %t &&
+// RUN: clang-cc -triple=x86_64-apple-darwin9 -emit-llvm %s -o %t
// RUN: grep "call i32 @_Z5func1i" %t | count 3
extern "C" int printf(...);
-// RUN: clang-cc -triple=x86_64-apple-darwin9 -emit-llvm %s -o %t &&
-// RUN: grep "call void @_ZN1AC1Ev" %t | count 1 &&
+// RUN: clang-cc -triple=x86_64-apple-darwin9 -emit-llvm %s -o %t
+// RUN: grep "call void @_ZN1AC1Ev" %t | count 1
// RUN: grep "call i32 @__cxa_atexit(void (i8\*)\* bitcast (void (%.truct.A\*)\* @_ZN1AD1Ev to void (i8\*)\*), i8\* getelementptr inbounds (%.truct.A\* @_ZZ1fvE1a, i32 0, i32 0), i8\* bitcast (i8\*\* @__dso_handle to i8\*))" %t | count 1
struct A {
-// RUN: clang-cc -S %s -o %t-64.s &&
-// RUN: clang-cc -S %s -o %t-32.s &&
+// RUN: clang-cc -S %s -o %t-64.s
+// RUN: clang-cc -S %s -o %t-32.s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -emit-llvm %s -o %t-64.ll &&
-// RUN: FileCheck -check-prefix LPLL64 --input-file=%t-64.ll %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -emit-llvm %s -o %t-64.ll
+// RUN: FileCheck -check-prefix LPLL64 --input-file=%t-64.ll %s
// RUN: true
extern "C" int printf(...);
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -O0 -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -O0 -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
-// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -emit-llvm %s -o %t-64.ll &&
-// RUN: FileCheck -check-prefix LPLL64 --input-file=%t-64.ll %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -emit-llvm %s -o %t-64.ll
+// RUN: FileCheck -check-prefix LPLL64 --input-file=%t-64.ll %s
// RUN: true
-// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o %t %s
struct A { ~A(); };
-// RUN: grep 'define void @_Z2f11A(.struct.A\* .a)' %t &&
+// RUN: grep 'define void @_Z2f11A(.struct.A\* .a)' %t
void f1(A a) { }
-// RUN: grep 'define void @_Z2f2v(.struct.A\* noalias sret .agg.result)' %t &&
+// RUN: grep 'define void @_Z2f2v(.struct.A\* noalias sret .agg.result)' %t
A f2() { return A(); }
// RUN: true
-// RUN: clang-cc -triple x86_64-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: clang-cc -triple i386-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: clang-cc -triple i386-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
// RUN: clang-cc -triple i386-pc-linux-gnu -emit-llvm -o %t %s
@interface Object
// RUNX: llvm-gcc -m64 -emit-llvm -S -o %t %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._b0" = global i64 0, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._b1" = global i64 0, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._b2" = global i64 1, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._x" = global i64 2, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._b3" = global i64 4, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._y" = global i64 6, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0._b4" = global i64 7, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep -F '@"OBJC_IVAR_$_I0." = global' %t | count 0 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s
+// RUN: grep -F '@"OBJC_IVAR_$_I0._b0" = global i64 0, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._b1" = global i64 0, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._b2" = global i64 1, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._x" = global i64 2, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._b3" = global i64 4, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._y" = global i64 6, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0._b4" = global i64 7, section "__DATA, __objc_const", align 8' %t
+// RUN: grep -F '@"OBJC_IVAR_$_I0." = global' %t | count 0
// RUN: true
@interface I0 {
-// RUN: clang-cc %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10 &&
-// RUN: grep "_Block_object_dispose" %t | count 6 &&
-// RUN: grep "__copy_helper_block_" %t | count 4 &&
-// RUN: grep "__destroy_helper_block_" %t | count 4 &&
-// RUN: grep "__Block_byref_id_object_copy_" %t | count 2 &&
-// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2 &&
-// RUN: grep "i32 135)" %t | count 0 &&
-// RUN: grep "_Block_object_assign" %t | count 4 &&
-// RUN: grep "objc_read_weak" %t | count 2 &&
+// RUN: clang-cc %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
+// RUN: grep "_Block_object_dispose" %t | count 6
+// RUN: grep "__copy_helper_block_" %t | count 4
+// RUN: grep "__destroy_helper_block_" %t | count 4
+// RUN: grep "__Block_byref_id_object_copy_" %t | count 2
+// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2
+// RUN: grep "i32 135)" %t | count 0
+// RUN: grep "_Block_object_assign" %t | count 4
+// RUN: grep "objc_read_weak" %t | count 2
// RUN: grep "objc_assign_weak" %t | count 3
@interface NSDictionary @end
-// RUN: clang-cc %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10 &&
-// RUN: grep "objc_assign_strongCast" %t | count 2 &&
+// RUN: clang-cc %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
+// RUN: grep "objc_assign_strongCast" %t | count 2
// RUN: true
// This should generate a strong cast.
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -fblocks -o %t %s &&
-// RUN: grep 'object_assign' %t | count 11 &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -fblocks -o %t %s
+// RUN: grep 'object_assign' %t | count 11
// RUN: grep 'object_dispose' %t | count 29
int main() {
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -fblocks -o %t %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -fblocks -o %t %s
// rdar://6676764
struct S {
-(void) im0;
@end
-// RUN: grep 'define internal i32 @"__-\[A im0\]_block_invoke_"' %t &&
+// RUN: grep 'define internal i32 @"__-\[A im0\]_block_invoke_"' %t
@implementation A
-(void) im0 {
(void) ^{ return 1; }();
-// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o - %s &&
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o - %s &&
+// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm -o - %s
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o - %s
// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o - %s
-// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: clang-cc -fgnu-runtime -emit-llvm -o %t %s && grep NXConstantString %t | count 1 &&
+// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s
+// RUN: clang-cc -fgnu-runtime -emit-llvm -o %t %s && grep NXConstantString %t | count 1
// RUN: clang-cc -fgnu-runtime -fconstant-string-class=NSConstantString -emit-llvm -o %t %s && grep NSConstantString %t | count 1
id a = @"Hello World!";
-// RUN: clang-cc %s -emit-llvm -o %t -triple i386-apple-darwin10 &&
-// RUN: grep "llvm.used" %t | count 1 &&
-// RUN: clang-cc %s -emit-llvm -o %t -triple x86_64-apple-darwin10 &&
+// RUN: clang-cc %s -emit-llvm -o %t -triple i386-apple-darwin10
+// RUN: grep "llvm.used" %t | count 1
+// RUN: clang-cc %s -emit-llvm -o %t -triple x86_64-apple-darwin10
// RUN: grep "llvm.used" %t | count 1
-// RUN: clang-cc -g -S -o %t %s &&
+// RUN: clang-cc -g -S -o %t %s
// RUN: not grep 001 %t
@interface F
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "{Base=b2b3b4b5}" %t | count 1 &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "{Base=b2b3b4b5}" %t | count 1
// RUN: grep -e "{Derived=b2b3b4b5b5b4b3}" %t | count 1
enum Enum { one, two, three, four };
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "@\\\22<X>\\\22" %t &&
-// RUN: grep -e "@\\\22<X><Y>\\\22" %t &&
-// RUN: grep -e "@\\\22<X><Y><Z>\\\22" %t &&
-// RUN: grep -e "@\\\22Foo<X><Y><Z>\\\22" %t &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "@\\\22<X>\\\22" %t
+// RUN: grep -e "@\\\22<X><Y>\\\22" %t
+// RUN: grep -e "@\\\22<X><Y><Z>\\\22" %t
+// RUN: grep -e "@\\\22Foo<X><Y><Z>\\\22" %t
// RUN: grep -e "{Intf=@@@@#}" %t
@protocol X, Y, Z;
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "\^i" %t | count 1 &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "\^i" %t | count 1
// RUN: grep -e "\[0i\]" %t | count 1
int main() {
-// RUN: clang-cc -triple=x86_64-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple=x86_64-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
-// RUN: grep ji.00 %t | count 1 &&
+// RUN: grep ji.00 %t | count 1
char *a = @encode(_Complex int);
-// RUN: grep jf.00 %t | count 1 &&
+// RUN: grep jf.00 %t | count 1
char *b = @encode(_Complex float);
-// RUN: grep jd.00 %t | count 1 &&
+// RUN: grep jd.00 %t | count 1
char *c = @encode(_Complex double);
-// RUN: grep "t.00" %t | count 1 &&
+// RUN: grep "t.00" %t | count 1
char *e = @encode(__int128_t);
// RUN: grep "T.00" %t | count 1
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "\^{Innermost=CC}" %t | count 1 &&
-// RUN: grep -e "{Derived=#ib32b8b3b8sb16b8b8b2b8ccb6}" %t | count 1 &&
-// RUN: grep -e "{B1=#@c}" %t | count 1 &&
-// RUN: grep -e "v12@0:4\[3\[4@]]8" %t | count 1 &&
-// RUN: grep -e "r\^{S=i}" %t | count 1 &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "\^{Innermost=CC}" %t | count 1
+// RUN: grep -e "{Derived=#ib32b8b3b8sb16b8b8b2b8ccb6}" %t | count 1
+// RUN: grep -e "{B1=#@c}" %t | count 1
+// RUN: grep -e "v12@0:4\[3\[4@]]8" %t | count 1
+// RUN: grep -e "r\^{S=i}" %t | count 1
// RUN: grep -e "\^{Object=#}" %t | count 1
@class Int1;
-// RUN: clang-cc -triple x86_64-apple-darwin-10 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin-10 -emit-llvm -o %t %s
// RUN: grep -F '@"\01L_OBJC_IMAGE_INFO" = internal constant [2 x i32] [i32 0, i32 16], section "__OBJC, __image_info,regular"' %t
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
// RUN: grep -F 'declare i8* @objc_msgSend(...)' %t
typedef struct objc_selector *SEL;
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
// RUNX: llvm-gcc -m64 -emit-llvm -S -o %t %s &&
-// RUN: grep '@"OBJC_IVAR_$_I3._iv2" = global i64 8, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I3._iv3" = global i64 12, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I4._iv4" = global i64 13, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I5._iv5" = global i64 14, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I5._iv6_synth" = global i64 16, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I5._iv7_synth" = global i64 20, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I6.iv0" = global i64 0, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I8.b" = global i64 8, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I9.iv0" = global i64 0, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I10.iv1" = global i64 4, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_IVAR_$_I12.iv2" = global i64 8, section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I3" = internal global .* { i32 0, i32 8, i32 13, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I4" = internal global .* { i32 0, i32 13, i32 14, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I5" = internal global .* { i32 0, i32 14, i32 24, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I6" = internal global .* { i32 2, i32 0, i32 1, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I8" = internal global .* { i32 0, i32 8, i32 16, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I9" = internal global .* { i32 2, i32 0, i32 4, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I10" = internal global .* { i32 0, i32 4, i32 5, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I11" = internal global .* { i32 0, i32 5, i32 5, .*' %t &&
-// RUN: grep '_OBJC_CLASS_RO_$_I12" = internal global .* { i32 0, i32 8, i32 12, .*' %t &&
+// RUN: grep '@"OBJC_IVAR_$_I3._iv2" = global i64 8, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I3._iv3" = global i64 12, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I4._iv4" = global i64 13, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I5._iv5" = global i64 14, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I5._iv6_synth" = global i64 16, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I5._iv7_synth" = global i64 20, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I6.iv0" = global i64 0, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I8.b" = global i64 8, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I9.iv0" = global i64 0, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I10.iv1" = global i64 4, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_IVAR_$_I12.iv2" = global i64 8, section "__DATA, __objc_const", align 8' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I3" = internal global .* { i32 0, i32 8, i32 13, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I4" = internal global .* { i32 0, i32 13, i32 14, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I5" = internal global .* { i32 0, i32 14, i32 24, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I6" = internal global .* { i32 2, i32 0, i32 1, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I8" = internal global .* { i32 0, i32 8, i32 16, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I9" = internal global .* { i32 2, i32 0, i32 4, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I10" = internal global .* { i32 0, i32 4, i32 5, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I11" = internal global .* { i32 0, i32 5, i32 5, .*' %t
+// RUN: grep '_OBJC_CLASS_RO_$_I12" = internal global .* { i32 0, i32 8, i32 12, .*' %t
// RUN: true
-// RUN: clang-cc -triple i386-apple-darwin9 -O3 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -O3 -emit-llvm -o %t %s
// RUN: grep 'ret i32 385' %t
void *alloca();
// RUNX: llvm-gcc -m64 -fobjc-gc -emit-llvm -S -o %t %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"A\\00"' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"A\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t
// RUN: true
/*
-// RUN: clang-cc -fobjc-gc -triple x86_64-apple-darwin -O0 -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
+// RUN: clang-cc -fobjc-gc -triple x86_64-apple-darwin -O0 -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
// RUN: true
@interface NSObject {
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o - %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o - %s
// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o - %s
// rdar://6800926
-// RUN: clang-cc -triple i386-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep '.lazy_reference .objc_class_name_A' %t | count 1 &&
-// RUN: grep '.lazy_reference .objc_class_name_Unknown' %t | count 1 &&
-// RUN: grep '.lazy_reference .objc_class_name_Protocol' %t | count 1 &&
-// RUN: clang-cc -triple i386-apple-darwin9 -DWITH_IMPL -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep '.lazy_reference .objc_class_name_A' %t | count 1
+// RUN: grep '.lazy_reference .objc_class_name_Unknown' %t | count 1
+// RUN: grep '.lazy_reference .objc_class_name_Protocol' %t | count 1
+// RUN: clang-cc -triple i386-apple-darwin9 -DWITH_IMPL -fnext-runtime -emit-llvm -o %t %s
// RUN: grep '.lazy_reference .objc_class_name_Root' %t | count 1
@interface Root
-// RUN: clang-cc -fnext-runtime --emit-llvm -o %t %s &&
-// RUN: grep "objc_msgSend" %t | count 6 &&
-// RUN: clang-cc -fgnu-runtime --emit-llvm -o %t %s &&
-// RUN: grep "objc_msg_lookup" %t | count 6 &&
-// RUN: clang-cc -fgnu-runtime -fobjc-nonfragile-abi --emit-llvm -o %t %s &&
-// RUN: grep "objc_msg_lookup_sender" %t | count 6 &&
+// RUN: clang-cc -fnext-runtime --emit-llvm -o %t %s
+// RUN: grep "objc_msgSend" %t | count 6
+// RUN: clang-cc -fgnu-runtime --emit-llvm -o %t %s
+// RUN: grep "objc_msg_lookup" %t | count 6
+// RUN: clang-cc -fgnu-runtime -fobjc-nonfragile-abi --emit-llvm -o %t %s
+// RUN: grep "objc_msg_lookup_sender" %t | count 6
// RUN: true
typedef struct {
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o %t %s
// RUNX: llvm-gcc -m32 -emit-llvm -S -o %t %s &&
-// RUN: grep '@"\\01L_OBJC_CATEGORY_A_Cat" = internal global .*section "__OBJC,__category,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CATEGORY_CLASS_METHODS_A_Cat" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CATEGORY_INSTANCE_METHODS_A_Cat" = internal global .*section "__OBJC,__cat_inst_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASSEXT_A" = internal global .*section "__OBJC,__class_ext,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_A" = internal global .*section "__OBJC,__class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_METHODS_A" = internal global .*section "__OBJC,__cls_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_PROTOCOLS_A" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_REFERENCES_[0-9]*" = internal global .*section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4' %t &&
+// RUN: grep '@"\\01L_OBJC_CATEGORY_A_Cat" = internal global .*section "__OBJC,__category,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CATEGORY_CLASS_METHODS_A_Cat" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CATEGORY_INSTANCE_METHODS_A_Cat" = internal global .*section "__OBJC,__cat_inst_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASSEXT_A" = internal global .*section "__OBJC,__class_ext,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_A" = internal global .*section "__OBJC,__class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_METHODS_A" = internal global .*section "__OBJC,__cls_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_PROTOCOLS_A" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_REFERENCES_[0-9]*" = internal global .*section "__OBJC,__cls_refs,literal_pointers,no_dead_strip", align 4' %t
// Clang's Obj-C 32-bit doesn't emit ivars for the root class.
// RUNX: grep '@"\\01L_OBJC_CLASS_VARIABLES_A" = internal global .*section "__OBJC,__class_vars,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_INSTANCE_METHODS_A" = internal global .*section "__OBJC,__inst_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_INSTANCE_VARIABLES_A" = internal global .*section "__OBJC,__instance_vars,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_METACLASS_A" = internal global .*section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_MODULES" = internal global .*section "__OBJC,__module_info,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_PROP_NAME_ATTR_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_PROTOCOL_CLASS_METHODS_P" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_PROTOCOL_INSTANCE_METHODS_P" = internal global .*section "__OBJC,__cat_inst_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_PROTOCOL_P" = internal global .*section "__OBJC,__protocol,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_SELECTOR_REFERENCES_[0-9]*" = internal global .*section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_SYMBOLS" = internal global .*section "__OBJC,__symbols,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01l_OBJC_$_PROP_LIST_A" = internal global .*section "__OBJC,__property,regular,no_dead_strip", align 4' %t &&
-// RUN: grep "\.lazy_reference \.objc_class_name_J0" %t &&
+// RUN: grep '@"\\01L_OBJC_INSTANCE_METHODS_A" = internal global .*section "__OBJC,__inst_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_INSTANCE_VARIABLES_A" = internal global .*section "__OBJC,__instance_vars,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_METACLASS_A" = internal global .*section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_MODULES" = internal global .*section "__OBJC,__module_info,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_PROP_NAME_ATTR_[0-9]*" = internal global .*section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_PROTOCOL_CLASS_METHODS_P" = internal global .*section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_PROTOCOL_INSTANCE_METHODS_P" = internal global .*section "__OBJC,__cat_inst_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_PROTOCOL_P" = internal global .*section "__OBJC,__protocol,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_SELECTOR_REFERENCES_[0-9]*" = internal global .*section "__OBJC,__message_refs,literal_pointers,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_SYMBOLS" = internal global .*section "__OBJC,__symbols,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01l_OBJC_$_PROP_LIST_A" = internal global .*section "__OBJC,__property,regular,no_dead_strip", align 4' %t
+// RUN: grep "\.lazy_reference \.objc_class_name_J0" %t
// RUN: true
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
// RUNX: llvm-gcc -m64 -emit-llvm -S -o %t %s &&
-// RUN: grep '@"OBJC_CLASS_$_A" = global' %t &&
-// RUN: grep '@"OBJC_CLASS_$_B" = external global' %t &&
-// RUN: grep '@"OBJC_IVAR_$_A._ivar" = global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_METACLASS_$_A" = global .* section "__DATA, __objc_data", align 8' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASSLIST_REFERENCES_$_[0-9]*" = internal global .* section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASSLIST_SUP_REFS_$_[0-9]*" = internal global .* section "__DATA, __objc_superrefs, regular, no_dead_strip", align 8' %t | count 2 &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_LABEL_CATEGORY_$" = internal global .* section "__DATA, __objc_catlist, regular, no_dead_strip", align 8' %t &&
-// RUN: grep '@"\\01L_OBJC_LABEL_CLASS_$" = internal global .* section "__DATA, __objc_classlist, regular, no_dead_strip", align 8' %t &&
-// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_PROP_NAME_ATTR_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t &&
-// RUN: grep '@"\\01L_OBJC_SELECTOR_REFERENCES_*" = internal global .* section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"' %t &&
-// RUN: grep '@"\\01l_OBJC_$_CATEGORY_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_CATEGORY_CLASS_METHODS_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_CATEGORY_INSTANCE_METHODS_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_CLASS_METHODS_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_INSTANCE_METHODS_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_INSTANCE_VARIABLES_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_PROP_LIST_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_PROTOCOL_CLASS_METHODS_P" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_$_PROTOCOL_INSTANCE_METHODS_P" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_CLASS_PROTOCOLS_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_CLASS_RO_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_LABEL_PROTOCOL_$_P" = weak hidden global .* section "__DATA, __objc_protolist, coalesced, no_dead_strip", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_METACLASS_RO_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t &&
-// RUN: grep '@"\\01l_OBJC_PROTOCOL_$_P" = weak hidden global .* section "__DATA,__datacoal_nt,coalesced", align 8' %t &&
-// RUN: grep '@"\\01l_objc_msgSend_fixup_alloc" = weak hidden global .* section "__DATA, __objc_msgrefs, coalesced", align 16' %t &&
-// RUN: grep '@_objc_empty_cache = external global' %t &&
-// RUN: grep '@_objc_empty_vtable = external global' %t &&
-// RUN: grep '@objc_msgSend_fixup(' %t &&
-// RUN: grep '@objc_msgSend_fpret(' %t &&
+// RUN: grep '@"OBJC_CLASS_$_A" = global' %t
+// RUN: grep '@"OBJC_CLASS_$_B" = external global' %t
+// RUN: grep '@"OBJC_IVAR_$_A._ivar" = global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"OBJC_METACLASS_$_A" = global .* section "__DATA, __objc_data", align 8' %t
+// RUN: grep '@"\\01L_OBJC_CLASSLIST_REFERENCES_$_[0-9]*" = internal global .* section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8' %t
+// RUN: grep '@"\\01L_OBJC_CLASSLIST_SUP_REFS_$_[0-9]*" = internal global .* section "__DATA, __objc_superrefs, regular, no_dead_strip", align 8' %t | count 2
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_LABEL_CATEGORY_$" = internal global .* section "__DATA, __objc_catlist, regular, no_dead_strip", align 8' %t
+// RUN: grep '@"\\01L_OBJC_LABEL_CLASS_$" = internal global .* section "__DATA, __objc_classlist, regular, no_dead_strip", align 8' %t
+// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_PROP_NAME_ATTR_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
+// RUN: grep '@"\\01L_OBJC_SELECTOR_REFERENCES_*" = internal global .* section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"' %t
+// RUN: grep '@"\\01l_OBJC_$_CATEGORY_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_CATEGORY_CLASS_METHODS_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_CATEGORY_INSTANCE_METHODS_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_CLASS_METHODS_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_INSTANCE_METHODS_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_INSTANCE_VARIABLES_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_PROP_LIST_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_PROTOCOL_CLASS_METHODS_P" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_$_PROTOCOL_INSTANCE_METHODS_P" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_CLASS_PROTOCOLS_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_CLASS_RO_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_LABEL_PROTOCOL_$_P" = weak hidden global .* section "__DATA, __objc_protolist, coalesced, no_dead_strip", align 8' %t
+// RUN: grep '@"\\01l_OBJC_METACLASS_RO_$_A" = internal global .* section "__DATA, __objc_const", align 8' %t
+// RUN: grep '@"\\01l_OBJC_PROTOCOL_$_P" = weak hidden global .* section "__DATA,__datacoal_nt,coalesced", align 8' %t
+// RUN: grep '@"\\01l_objc_msgSend_fixup_alloc" = weak hidden global .* section "__DATA, __objc_msgrefs, coalesced", align 16' %t
+// RUN: grep '@_objc_empty_cache = external global' %t
+// RUN: grep '@_objc_empty_vtable = external global' %t
+// RUN: grep '@objc_msgSend_fixup(' %t
+// RUN: grep '@objc_msgSend_fpret(' %t
// RUN: true
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
-
-// RUN: grep '@"OBJC_METACLASS_$_A" = global .*section "__DATA, __objc_data", align 8' %t &&
-// RUN: grep '@"OBJC_CLASS_$_A" = global .*section "__DATA, __objc_data", align 8' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH1" = weak global .*section "__DATA,__datacoal_nt,coalesced", align 8' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH2" = external global' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH3" = global .*section "__DATA,__objc_const", align 8' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH3"' %t | count 3 &&
-// RUN: grep '@"\\01L_OBJC_CLASS_NAME_" =.*section "__TEXT,__cstring,cstring_literals", align 1' %t | count 1 &&
-// RUN: grep -F 'define internal void @"\01-[A im0]"' %t &&
-// RUN: grep -F 'define internal void @"\01-[A(Cat) im1]"' %t &&
-
-// RUN: clang-cc -fvisibility=hidden -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
-
-// RUN: grep '@"OBJC_METACLASS_$_A" = hidden global .*section "__DATA, __objc_data", align 8' %t &&
-// RUN: grep '@"OBJC_CLASS_$_A" = hidden global .*section "__DATA, __objc_data", align 8' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH1" = weak hidden global .*section "__DATA,__datacoal_nt,coalesced"' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH2" = external global' %t &&
-// RUN: grep '@"OBJC_EHTYPE_$_EH3" = hidden global .*section "__DATA,__objc_const", align 8' %t &&
-// RUN: grep -F 'define internal void @"\01-[A im0]"' %t &&
-// RUN: grep -F 'define internal void @"\01-[A(Cat) im1]"' %t &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
+
+// RUN: grep '@"OBJC_METACLASS_$_A" = global .*section "__DATA, __objc_data", align 8' %t
+// RUN: grep '@"OBJC_CLASS_$_A" = global .*section "__DATA, __objc_data", align 8' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH1" = weak global .*section "__DATA,__datacoal_nt,coalesced", align 8' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH2" = external global' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH3" = global .*section "__DATA,__objc_const", align 8' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH3"' %t | count 3
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_" =.*section "__TEXT,__cstring,cstring_literals", align 1' %t | count 1
+// RUN: grep -F 'define internal void @"\01-[A im0]"' %t
+// RUN: grep -F 'define internal void @"\01-[A(Cat) im1]"' %t
+
+// RUN: clang-cc -fvisibility=hidden -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
+
+// RUN: grep '@"OBJC_METACLASS_$_A" = hidden global .*section "__DATA, __objc_data", align 8' %t
+// RUN: grep '@"OBJC_CLASS_$_A" = hidden global .*section "__DATA, __objc_data", align 8' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH1" = weak hidden global .*section "__DATA,__datacoal_nt,coalesced"' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH2" = external global' %t
+// RUN: grep '@"OBJC_EHTYPE_$_EH3" = hidden global .*section "__DATA,__objc_const", align 8' %t
+// RUN: grep -F 'define internal void @"\01-[A im0]"' %t
+// RUN: grep -F 'define internal void @"\01-[A(Cat) im1]"' %t
// RUN: true
// RUNX: llvm-gcc -m64 -emit-llvm -S -o %t %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s &&
-// RUN: grep '@".01L_OBJC_LABEL_NONLAZY_CLASS_$" = internal global \[1 x .*\] .*@"OBJC_CLASS_$_A".*, section "__DATA, __objc_nlclslist, regular, no_dead_strip", align 8' %t &&
-// RUN: grep '@".01L_OBJC_LABEL_NONLAZY_CATEGORY_$" = internal global \[1 x .*\] .*@".01l_OBJC_$_CATEGORY_A_$_Cat".*, section "__DATA, __objc_nlcatlist, regular, no_dead_strip", align 8' %t &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s
+// RUN: grep '@".01L_OBJC_LABEL_NONLAZY_CLASS_$" = internal global \[1 x .*\] .*@"OBJC_CLASS_$_A".*, section "__DATA, __objc_nlclslist, regular, no_dead_strip", align 8' %t
+// RUN: grep '@".01L_OBJC_LABEL_NONLAZY_CATEGORY_$" = internal global \[1 x .*\] .*@".01l_OBJC_$_CATEGORY_A_$_Cat".*, section "__DATA, __objc_nlcatlist, regular, no_dead_strip", align 8' %t
// RUN: true
@interface A @end
// 32-bit
// RUNX: llvm-gcc -m32 -emit-llvm -S -o %t %s &&
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: grep '@"\\01L_OBJC_CATEGORY_A_Cat" = internal global .*, section "__OBJC,__category,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_A" = internal global .*, section "__OBJC,__class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_C" = internal global .*, section "__OBJC,__class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_CLASS_PROTOCOLS_C" = internal global .*, section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_IMAGE_INFO" = internal constant .*, section "__OBJC, __image_info,regular"' %t &&
-// RUN: grep '@"\\01L_OBJC_METACLASS_A" = internal global .*, section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_METACLASS_C" = internal global .*, section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_MODULES" = internal global .*, section "__OBJC,__module_info,regular,no_dead_strip", align 4' %t &&
-// RUN: grep '@"\\01L_OBJC_PROTOCOL_P" = internal global .*, section "__OBJC,__protocol,regular,no_dead_strip", align 4' %t &&
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -o %t %s
+// RUN: grep '@"\\01L_OBJC_CATEGORY_A_Cat" = internal global .*, section "__OBJC,__category,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_A" = internal global .*, section "__OBJC,__class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_C" = internal global .*, section "__OBJC,__class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_CLASS_PROTOCOLS_C" = internal global .*, section "__OBJC,__cat_cls_meth,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_IMAGE_INFO" = internal constant .*, section "__OBJC, __image_info,regular"' %t
+// RUN: grep '@"\\01L_OBJC_METACLASS_A" = internal global .*, section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_METACLASS_C" = internal global .*, section "__OBJC,__meta_class,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_MODULES" = internal global .*, section "__OBJC,__module_info,regular,no_dead_strip", align 4' %t
+// RUN: grep '@"\\01L_OBJC_PROTOCOL_P" = internal global .*, section "__OBJC,__protocol,regular,no_dead_strip", align 4' %t
// 64-bit
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_ivar' %t | count 14 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep -F '@objc_assign_ivar' %t | count 14
// RUN: true
typedef struct {
-// RUN: clang-cc -fnext-runtime -fobjc-gc -emit-llvm -o %t %s &&
+// RUN: clang-cc -fnext-runtime -fobjc-gc -emit-llvm -o %t %s
// RUN: grep objc_memmove_collectable %t | grep call | count 3
static int count;
-// RUN: clang-cc -fblocks -fobjc-gc -triple x86_64-apple-darwin -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -fblocks -fobjc-gc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -fblocks -fobjc-gc -triple x86_64-apple-darwin -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -fblocks -fobjc-gc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
@interface NSObject
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_global' %t | count 26 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep -F '@objc_assign_global' %t | count 26
// RUN: true
@class NSObject;
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep objc_assign_ivar %t | count 6 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep objc_assign_ivar %t | count 6
// RUN: true
@interface I @end
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fblocks -fnext-runtime -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_strongCast' %t | count 4 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fblocks -fnext-runtime -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep -F '@objc_assign_strongCast' %t | count 4
// RUN: true
@interface DSATextSearch @end
-// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s
// RUN: grep 'objc_assign' %t | count 0
typedef struct {
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
// RUN: grep -e "T@\\\\22NSString\\\\22" %t
@interface NSString @end
-// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "T@\\\22<X>\\\22" %t &&
-// RUN: grep -e "T@\\\22<X><Y>\\\22" %t &&
-// RUN: grep -e "T@\\\22<X><Y><Z>\\\22" %t &&
+// RUN: clang-cc -triple=i686-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "T@\\\22<X>\\\22" %t
+// RUN: grep -e "T@\\\22<X><Y>\\\22" %t
+// RUN: grep -e "T@\\\22<X><Y><Z>\\\22" %t
// RUN: grep -e "T@\\\22Foo<X><Y><Z>\\\22" %t
@protocol X, Y, Z;
-// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -emit-llvm -o %t %s
// RUN: grep -e "objc_assign_weak" %t | grep -e "call" | count 6
__weak id* x;
-// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -g -emit-llvm -o - %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -fobjc-gc -g -emit-llvm -o - %s
// RUN: clang-cc -triple i386-apple-darwin9 -fobjc-gc -g -emit-llvm -o - %s
// rdar://7252252
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_global' %t | count 7 &&
-// RUN: grep -F '@objc_assign_ivar' %t | count 5 &&
-// RUN: grep -F '@objc_assign_strongCast' %t | count 8 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep -F '@objc_assign_global' %t | count 7
+// RUN: grep -F '@objc_assign_ivar' %t | count 5
+// RUN: grep -F '@objc_assign_strongCast' %t | count 8
// RUN: true
extern id **somefunc(void);
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep objc_assign_ivar %t | count 3 &&
-// RUN: grep objc_assign_strongCast %t | count 6 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep objc_assign_ivar %t | count 3
+// RUN: grep objc_assign_strongCast %t | count 6
// RUN: true
struct Slice {
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep objc_assign_global %t | count 3 &&
-// RUN: grep objc_assign_strongCast %t | count 2 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep objc_assign_global %t | count 3
+// RUN: grep objc_assign_strongCast %t | count 2
// RUN: true
@interface A
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep objc_assign_ivar %t | count 0 &&
-// RUN: grep objc_assign_strongCast %t | count 5 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep objc_assign_ivar %t | count 0
+// RUN: grep objc_assign_strongCast %t | count 5
// RUN: true
@interface TestUnarchiver
-// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s &&
-// RUN: grep -F '@objc_assign_global' %t | count 21 &&
-// RUN: grep -F '@objc_assign_ivar' %t | count 11 &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -fnext-runtime -fobjc-gc -emit-llvm -o %t %s
+// RUN: grep -F '@objc_assign_global' %t | count 21
+// RUN: grep -F '@objc_assign_ivar' %t | count 11
// RUN: true
// rdar://6657613
-// RUN: clang-cc -emit-llvm %s -o %t &&
+// RUN: clang-cc -emit-llvm %s -o %t
@class C;
-// RUN: grep _Z1fP11objc_object %t | count 1 &&
+// RUN: grep _Z1fP11objc_object %t | count 1
void __attribute__((overloadable)) f(id c) { }
// RUN: grep _Z1fP1C %t | count 1
-// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -S -o - %s &&
+// RUN: clang-cc -triple i386-apple-darwin9 -emit-llvm -S -o - %s
// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -S -o - %s
@interface I0 {
-// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin8 -o %t %s &&
+// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin8 -o %t %s
// RUN: grep -e "SiSetOtherThings:" %t
@interface A
-// RUN: clang-cc -triple x86_64-apple-darwin10 -S %s -o %t-64.s &&
-// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s &&
-// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s &&
-// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -S %s -o %t-64.s
+// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+// RUN: clang-cc -triple i386-apple-darwin -S %s -o %t-32.s
+// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
// RUN: true
@protocol MyProtocol
-// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin8 -o %t %s &&
+// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin8 -o %t %s
// RUNX: llvm-gcc -S -emit-llvm -o %t %s &&
// No object generated
-// RUN: grep OBJC_PROTOCOL_P0 %t | count 0 &&
+// RUN: grep OBJC_PROTOCOL_P0 %t | count 0
@protocol P0;
// No object generated
-// RUN: grep OBJC_PROTOCOL_P1 %t | count 0 &&
+// RUN: grep OBJC_PROTOCOL_P1 %t | count 0
@protocol P1 -im1; @end
// Definition triggered by protocol reference.
-// RUN: grep OBJC_PROTOCOL_P2 %t | count 3 &&
-// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P2 %t | count 3 &&
+// RUN: grep OBJC_PROTOCOL_P2 %t | count 3
+// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P2 %t | count 3
@protocol P2 -im1; @end
void f0() { id x = @protocol(P2); }
// Forward definition triggered by protocol reference.
-// RUN: grep OBJC_PROTOCOL_P3 %t | count 3 &&
-// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P3 %t | count 0 &&
+// RUN: grep OBJC_PROTOCOL_P3 %t | count 3
+// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P3 %t | count 0
@protocol P3;
void f1() { id x = @protocol(P3); }
// Definition triggered by class reference.
-// RUN: grep OBJC_PROTOCOL_P4 %t | count 3 &&
-// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P4 %t | count 3 &&
+// RUN: grep OBJC_PROTOCOL_P4 %t | count 3
+// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P4 %t | count 3
@protocol P4 -im1; @end
@interface I0<P4> @end
@implementation I0 -im1 { return 0; }; @end
// Definition following forward reference.
-// RUN: grep OBJC_PROTOCOL_P5 %t | count 3 &&
-// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P5 %t | count 3 &&
+// RUN: grep OBJC_PROTOCOL_P5 %t | count 3
+// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P5 %t | count 3
@protocol P5;
void f2() { id x = @protocol(P5); } // This generates a forward
// reference, which has to be
@protocol P5 -im1; @end
// Protocol reference following definition.
-// RUN: grep OBJC_PROTOCOL_P6 %t | count 4 &&
-// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P6 %t | count 3 &&
+// RUN: grep OBJC_PROTOCOL_P6 %t | count 4
+// RUN: grep OBJC_PROTOCOL_INSTANCE_METHODS_P6 %t | count 3
@protocol P6 -im1; @end
@interface I1<P6> @end
@implementation I1 -im1 { return 0; }; @end
-// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s &&
-// RUN: grep -e "^de.*objc_msgSend[0-9]*(" %t | count 1 &&
-// RUN: clang-cc -DWITHDEF -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s
+// RUN: grep -e "^de.*objc_msgSend[0-9]*(" %t | count 1
+// RUN: clang-cc -DWITHDEF -fnext-runtime -emit-llvm -o %t %s
// RUN: grep -e "^de.*objc_msgSend[0-9]*(" %t | count 1
id objc_msgSend(int x);
-// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin9 -o %t %s -O2 &&
-// RUN: grep 'ret i32' %t | count 1 &&
+// RUN: clang-cc -emit-llvm -triple=i686-apple-darwin9 -o %t %s -O2
+// RUN: grep 'ret i32' %t | count 1
// RUN: grep 'ret i32 1' %t | count 1
@interface MyClass
-// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s
// RUN: grep '@"OBJC_IVAR_$_XCOrganizerDeviceNodeInfo.viewController"' %t
@interface XCOrganizerNodeInfo
-// RUN: clang-cc %s -S -o - -triple=i686-apple-darwin9 &&
+// RUN: clang-cc %s -S -o - -triple=i686-apple-darwin9
// RUN: clang-cc %s -S -o - -triple=x86_64-apple-darwin9
// rdar://6757213 - Don't crash if the internal proto for
-// RUN: clang-cc -triple i386-unknown-unknown -fnext-runtime -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-X86-32 %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -fnext-runtime -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-X86-32 %s
// RUN: clang-cc -triple x86_64-unknown-unknown -fnext-runtime -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-X86-64 %s
@interface A
-// RUN: clang-cc --fsyntax-only %s &&
-// RUN: clang-cc --ast-print %s &&
-// RUN: clang-cc --ast-dump %s &&
+// RUN: clang-cc --fsyntax-only %s
+// RUN: clang-cc --ast-print %s
+// RUN: clang-cc --ast-dump %s
// RUN: clang-cc --ast-print-xml -o %t %s
#include "c-language-features.inc"
-// RUN: clang-cc --fsyntax-only %s &&
-// RUN: clang-cc --ast-print %s &&
+// RUN: clang-cc --fsyntax-only %s
+// RUN: clang-cc --ast-print %s
// RUN: clang-cc --ast-dump %s
// FIXME: clang-cc --ast-print-xml -o %t %s
-// RUN: clang-cc --fsyntax-only %s &&
-// RUN: clang-cc --ast-print %s &&
+// RUN: clang-cc --fsyntax-only %s
+// RUN: clang-cc --ast-print %s
// RUN: clang-cc --ast-dump %s
#include "objc-language-features.inc"
-// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s &&
+// RUN: clang-cc -fnext-runtime -emit-llvm -o %t %s
// RUN: clang-cc -g -fnext-runtime -emit-llvm -o %t %s
#include "objc-language-features.inc"
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm-bc -o %t %s &&
-// RUN: clang-cc -triple i386-unknown-unknown -g -emit-llvm-bc -o %t %s &&
-// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm-bc -o %t %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm-bc -o %t %s
+// RUN: clang-cc -triple i386-unknown-unknown -g -emit-llvm-bc -o %t %s
+// RUN: clang-cc -triple x86_64-unknown-unknown -emit-llvm-bc -o %t %s
// RUN: clang-cc -triple x86_64-unknown-unknown -g -emit-llvm-bc -o %t %s
#include "c-language-features.inc"
-// RUN: rm -rf %t &&
-// RUN: clang-cc -analyze -analyzer-output=html -checker-cfref -o %t %s &&
+// RUN: rm -rf %t
+// RUN: clang-cc -analyze -analyzer-output=html -checker-cfref -o %t %s
// RUN: cat %t/*.html | FileCheck %s
// CHECK: <h3>Annotated Source Code</h3>
-// RUN: clang-cc --parse-noop %s &&
+// RUN: clang-cc --parse-noop %s
// RUN: clang-cc --parse-print-callbacks %s
#include "c-language-features.inc"
-// RUN: clang-cc --parse-noop %s &&
+// RUN: clang-cc --parse-noop %s
// RUN: clang-cc --parse-print-callbacks %s
#include "objc-language-features.inc"
-// RUN: clang-cc -g -triple armv6-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple armv6-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple bfin-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple i686-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple i686-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple i686-unknown-dragonfly -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple i686-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple i686-unknown-win32 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple pic16-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple powerpc-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple powerpc-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple powerpc64-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple powerpc64-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple sparc-unknown-solaris -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple sparc-unknown-unknown -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple x86_64-pc-linux-gnu -emit-llvm -o %t %s &&
-// RUN: clang-cc -g -triple x86_64-unknown-unknown -emit-llvm -o %t %s &&
+// RUN: clang-cc -g -triple armv6-apple-darwin9 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple armv6-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple bfin-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple i686-apple-darwin9 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple i686-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple i686-unknown-dragonfly -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple i686-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple i686-unknown-win32 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple pic16-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple powerpc-apple-darwin9 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple powerpc-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple powerpc64-apple-darwin9 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple powerpc64-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple sparc-unknown-solaris -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple sparc-unknown-unknown -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple x86_64-apple-darwin9 -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple x86_64-pc-linux-gnu -emit-llvm -o %t %s
+// RUN: clang-cc -g -triple x86_64-unknown-unknown -emit-llvm -o %t %s
// <rdar://problem/7181838> clang 1.0 fails to compile Python 2.6
-// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -### -S %s -mmacosx-version-min=10.4 &&
+// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -### -S %s -mmacosx-version-min=10.4
// RUN: true
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -m32 -Xarch_i386 -O2 %s -S -### 2> %t.log &&
-// RUN: grep ' "-O2" ' %t.log | count 1 &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -m64 -Xarch_i386 -O2 %s -S -### 2> %t.log &&
-// RUN: grep ' "-O2" ' %t.log | count 0 &&
-// RUN: grep "argument unused during compilation: '-Xarch_i386 -O2'" %t.log &&
-// RUN: not clang -ccc-host-triple i386-apple-darwin9 -m32 -Xarch_i386 -o -Xarch_i386 -S %s -S -Xarch_i386 -o 2> %t.log &&
-// RUN: grep "error: invalid Xarch argument: '-Xarch_i386 -o'" %t.log | count 2 &&
-// RUN: grep "error: invalid Xarch argument: '-Xarch_i386 -S'" %t.log &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -m32 -Xarch_i386 -O2 %s -S -### 2> %t.log
+// RUN: grep ' "-O2" ' %t.log | count 1
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -m64 -Xarch_i386 -O2 %s -S -### 2> %t.log
+// RUN: grep ' "-O2" ' %t.log | count 0
+// RUN: grep "argument unused during compilation: '-Xarch_i386 -O2'" %t.log
+// RUN: not clang -ccc-host-triple i386-apple-darwin9 -m32 -Xarch_i386 -o -Xarch_i386 -S %s -S -Xarch_i386 -o 2> %t.log
+// RUN: grep "error: invalid Xarch argument: '-Xarch_i386 -o'" %t.log | count 2
+// RUN: grep "error: invalid Xarch argument: '-Xarch_i386 -S'" %t.log
// RUN: true
// Verify that the analyzer gets the same flags as normal compilation
// (at least for a few key ones).
-// RUN: env MACOSX_DEPLOYMENT_TARGET=10.5 clang -ccc-host-triple i386-apple-darwin9 -### --analyze -o /dev/null %s -msse 2> %t.log &&
+// RUN: env MACOSX_DEPLOYMENT_TARGET=10.5 clang -ccc-host-triple i386-apple-darwin9 -### --analyze -o /dev/null %s -msse 2> %t.log
// RUN: FileCheck --input-file=%t.log %s
// CHECK: "-analyze"
// RUX: not grep -- "-fno-builtin-strcat" %t &&
// RUX: not grep -- "-fno-builtin-strcpy" %t &&
-// RUN: clang -ccc-no-clang -ccc-host-triple x86_64-apple-darwin9 -arch arm -### -fsyntax-only %s -fbuiltin-strcat -fbuiltin-strcpy 2> %t &&
-// RUN: not grep -- "-fno-builtin-strcat" %t &&
+// RUN: clang -ccc-no-clang -ccc-host-triple x86_64-apple-darwin9 -arch arm -### -fsyntax-only %s -fbuiltin-strcat -fbuiltin-strcpy 2> %t
+// RUN: not grep -- "-fno-builtin-strcat" %t
// RUN: not grep -- "-fno-builtin-strcpy" %t
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -emit-ast %s 2> %t &&
-// RUN: echo 'END' >> %t &&
-// RUN: FileCheck -check-prefix EMIT-AST-PHASES -input-file %t %s &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -emit-ast %s 2> %t
+// RUN: echo 'END' >> %t
+// RUN: FileCheck -check-prefix EMIT-AST-PHASES -input-file %t %s
// EMIT-AST-PHASES: 0: input,
// EMIT-AST-PHASES: , c
// EMIT-AST-PHASES-NOT: 3:
// EMIT-AST-PHASES: END
-// RUN: touch %t.ast &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -c %t.ast 2> %t &&
-// RUN: echo 'END' >> %t &&
+// RUN: touch %t.ast
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -c %t.ast 2> %t
+// RUN: echo 'END' >> %t
// RUN: FileCheck -check-prefix COMPILE-AST-PHASES -input-file %t %s
// COMPILE-AST-PHASES: 0: input,
// Basic binding.
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings %s 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: ".*\.s"' %t &&
-// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t &&
-// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t &&
-
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang %s 2> %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: ".*\.s"' %t &&
-// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t &&
-// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t &&
-
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp %s 2> %t &&
-// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: ".*\.i"' %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*\.i"\], output: ".*\.s"' %t &&
-// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t &&
-// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t &&
-
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp -pipe %s 2> %t &&
-// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: (pipe)' %t &&
-// RUN: grep '"gcc::Compile", inputs: \[(pipe)\], output: (pipe)' %t &&
-// RUN: grep '"gcc::Assemble", inputs: \[(pipe)\], output: ".*\.o"' %t &&
-// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t &&
-
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -x c-header %s 2> %t &&
-// RUN: grep '"gcc::Precompile", inputs: \[".*bindings.c"\], output: ".*bindings.c.gch' %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings %s 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: ".*\.s"' %t
+// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
+// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
+
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang %s 2> %t
+// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: ".*\.s"' %t
+// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
+// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
+
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp %s 2> %t
+// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: ".*\.i"' %t
+// RUN: grep '"gcc::Compile", inputs: \[".*\.i"\], output: ".*\.s"' %t
+// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
+// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
+
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp -pipe %s 2> %t
+// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: (pipe)' %t
+// RUN: grep '"gcc::Compile", inputs: \[(pipe)\], output: (pipe)' %t
+// RUN: grep '"gcc::Assemble", inputs: \[(pipe)\], output: ".*\.o"' %t
+// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
+
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -x c-header %s 2> %t
+// RUN: grep '"gcc::Precompile", inputs: \[".*bindings.c"\], output: ".*bindings.c.gch' %t
// Clang control options
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -fsyntax-only %s 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -fsyntax-only %s 2> %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang-cxx -fsyntax-only -x c++ %s 2> %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-clang-cxx -fsyntax-only -x c++ %s 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang-cpp -fsyntax-only -no-integrated-cpp %s 2> %t &&
-// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: ".*\.i"' %t &&
-// RUN: grep '"clang", inputs: \[".*\.i"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs i386 %s -S -arch ppc 2> %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs powerpc %s -S -arch ppc 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
-
-// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "" %s -S 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
-// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "i386" %s -S 2> %t &&
-// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -fsyntax-only %s 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -fsyntax-only %s 2> %t
+// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang-cxx -fsyntax-only -x c++ %s 2> %t
+// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-clang-cxx -fsyntax-only -x c++ %s 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang-cpp -fsyntax-only -no-integrated-cpp %s 2> %t
+// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: ".*\.i"' %t
+// RUN: grep '"clang", inputs: \[".*\.i"\], output: (nothing)' %t
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs i386 %s -S -arch ppc 2> %t
+// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: "bindings.s"' %t
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs powerpc %s -S -arch ppc 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: "bindings.s"' %t
+
+// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "" %s -S 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: "bindings.s"' %t
+// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "i386" %s -S 2> %t
+// RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: "bindings.s"' %t
// Darwin bindings
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings %s 2> %t &&
-// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: ".*\.s"' %t &&
-// RUN: grep '"darwin::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t &&
-// RUN: grep '"darwin::Link", inputs: \[".*\.o"\], output: "a.out"' %t &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-bindings %s 2> %t
+// RUN: grep '"clang", inputs: \[".*bindings.c"\], output: ".*\.s"' %t
+// RUN: grep '"darwin::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
+// RUN: grep '"darwin::Link", inputs: \[".*\.o"\], output: "a.out"' %t
// RUN: true
-// RUN: clang -ccc-host-triple i386-unknown-unknown -### -S -O0 -Os %s -o %t.s -fverbose-asm 2> %t.log &&
-// RUN: grep '"-triple" "i386-unknown-unknown"' %t.log &&
-// RUN: grep '"-S"' %t.log &&
-// RUN: grep '"-disable-free"' %t.log &&
-// RUN: grep '"--relocation-model" "static"' %t.log &&
-// RUN: grep '"--disable-fp-elim"' %t.log &&
-// RUN: grep '"--unwind-tables=0"' %t.log &&
-// RUN: grep '"--fmath-errno=1"' %t.log &&
-// RUN: grep '"-Os"' %t.log &&
-// RUN: grep '"-o" .*clang-translation.*' %t.log &&
-// RUN: grep '"--asm-verbose"' %t.log &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S %s -o %t.s 2> %t.log &&
-// RUN: grep '"--mcpu=yonah"' %t.log &&
-// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -### -S %s -o %t.s 2> %t.log &&
-// RUN: grep '"--mcpu=core2"' %t.log &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -### -S -O0 -Os %s -o %t.s -fverbose-asm 2> %t.log
+// RUN: grep '"-triple" "i386-unknown-unknown"' %t.log
+// RUN: grep '"-S"' %t.log
+// RUN: grep '"-disable-free"' %t.log
+// RUN: grep '"--relocation-model" "static"' %t.log
+// RUN: grep '"--disable-fp-elim"' %t.log
+// RUN: grep '"--unwind-tables=0"' %t.log
+// RUN: grep '"--fmath-errno=1"' %t.log
+// RUN: grep '"-Os"' %t.log
+// RUN: grep '"-o" .*clang-translation.*' %t.log
+// RUN: grep '"--asm-verbose"' %t.log
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S %s -o %t.s 2> %t.log
+// RUN: grep '"--mcpu=yonah"' %t.log
+// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -### -S %s -o %t.s 2> %t.log
+// RUN: grep '"--mcpu=core2"' %t.log
// RUN: true
// Verify that -include isn't included twice with -save-temps.
-// RUN: clang -S -o - %s -include %t.h -save-temps -### 2> %t.log &&
+// RUN: clang -S -o - %s -include %t.h -save-temps -### 2> %t.log
// RUN: grep '"-include' %t.log | count 1
-// RUN: clang -### -S -x c /dev/null -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings -fno-blocks -fno-builtin -fno-math-errno -fno-common -fno-pascal-strings -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings %s 2> %t &&
-// RUN: grep -F '"-fblocks"' %t &&
-// RUN: grep -F '"--fmath-errno=1"' %t &&
-// RUN: grep -F '"-fpascal-strings"' %t &&
-// RUN: clang -### -S -x c /dev/null -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings -fno-blocks -fno-builtin -fno-math-errno -fno-common -fno-pascal-strings -fno-show-source-location -fshort-wchar %s 2> %t &&
-// RUN: grep -F '"-fblocks=0"' %t &&
-// RUN: grep -F '"-fbuiltin=0"' %t &&
-// RUN: grep -F '"-fno-common"' %t &&
-// RUN: grep -F '"--fmath-errno=0"' %t &&
-// RUN: grep -F '"-fno-show-source-location"' %t &&
-// RUN: grep -F '"-fshort-wchar"' %t &&
+// RUN: clang -### -S -x c /dev/null -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings -fno-blocks -fno-builtin -fno-math-errno -fno-common -fno-pascal-strings -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings %s 2> %t
+// RUN: grep -F '"-fblocks"' %t
+// RUN: grep -F '"--fmath-errno=1"' %t
+// RUN: grep -F '"-fpascal-strings"' %t
+// RUN: clang -### -S -x c /dev/null -fblocks -fbuiltin -fmath-errno -fcommon -fpascal-strings -fno-blocks -fno-builtin -fno-math-errno -fno-common -fno-pascal-strings -fno-show-source-location -fshort-wchar %s 2> %t
+// RUN: grep -F '"-fblocks=0"' %t
+// RUN: grep -F '"-fbuiltin=0"' %t
+// RUN: grep -F '"-fno-common"' %t
+// RUN: grep -F '"--fmath-errno=0"' %t
+// RUN: grep -F '"-fno-show-source-location"' %t
+// RUN: grep -F '"-fshort-wchar"' %t
// RUN: true
// Test forced PTH for CXX support.
-// RUN: clang -x c++-header %s -### 2> %t.log &&
-// RUN: FileCheck -check-prefix EMIT -input-file %t.log %s &&
+// RUN: clang -x c++-header %s -### 2> %t.log
+// RUN: FileCheck -check-prefix EMIT -input-file %t.log %s
// EMIT: "{{.*}}/clang-cc{{.*}}" {{.*}} "-emit-pth" "{{.*}}.cpp.gch" "-x" "c++-header" "{{.*}}.cpp"
-// RUN: touch %t.h.gch &&
-// RUN: clang -E -include %t.h %s -### 2> %t.log &&
+// RUN: touch %t.h.gch
+// RUN: clang -E -include %t.h %s -### 2> %t.log
// RUN: FileCheck -check-prefix USE -input-file %t.log %s
// USE: "{{.*}}/clang-cc{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.gch" {{.*}}"-x" "c++" "{{.*}}.cpp"
-// RUN: clang -ccc-host-triple i386-apple-darwin10 -### -x assembler -c %s -static -dynamic 2>%t &&
-// RUN: FileCheck -check-prefix=STATIC_AND_DYNAMIC-32 --input-file %t %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin10 -### -x assembler -c %s -static -dynamic 2>%t
+// RUN: FileCheck -check-prefix=STATIC_AND_DYNAMIC-32 --input-file %t %s
// CHECK-STATIC_AND_DYNAMIC-32: as{{(.exe)?}}" "-arch" "i386" "-force_cpusubtype_ALL" "-static" "-o"
-// RUN: clang -ccc-host-triple x86_64-apple-darwin10 -### -x assembler -c %s -static 2>%t &&
+// RUN: clang -ccc-host-triple x86_64-apple-darwin10 -### -x assembler -c %s -static 2>%t
// RUN: FileCheck -check-prefix=STATIC-64 --input-file %t %s
// CHECK-STATIC-64: as{{(.exe)?}}" "-arch" "x86_64" "-force_cpusubtype_ALL" "-o"
-// RUN: clang -ccc-no-clang -ccc-host-triple i386-apple-darwin10 -m32 -### -MD -g -fast -Q -dA -mkernel -ansi -aFOO -S -o /tmp/OUTPUTNAME -g0 -gfull -O2 -Werror -pedantic -Wmost -w -std=c99 -trigraphs -v -pg -fFOO -undef -Qn --param a=b -fmudflap -coverage -save-temps -nostdinc -I ARG0 -F ARG1 -I ARG2 -P -MF ARG3 -MG -MP -remap -g3 -H -D ARG4 -U ARG5 -A ARG6 -D ARG7 -U ARG8 -A ARG9 -include ARG10 -pthread %s 2> %t.log &&
-// RUN: grep ' ".*cc1" "-E" "-nostdinc" "-v" "-I" "ARG0" "-F" "ARG1" "-I" "ARG2" "-P" "-MD" "/tmp/OUTPUTNAME.d" "-MF" "ARG3" "-MG" "-MP" "-MQ" "/tmp/OUTPUTNAME" "-remap" "-dD" "-H" "-D__STATIC__" "-D_REENTRANT" "-D" "ARG4" "-U" "ARG5" "-A" "ARG6" "-D" "ARG7" "-U" "ARG8" "-A" "ARG9" "-include" "ARG10" ".*darwin-cc.c" "-D_MUDFLAP" "-include" "mf-runtime.h" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-std=c99" "-trigraphs" "-Werror" "-pedantic" "-Wmost" "-w" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-O2" "-undef" "-fpch-preprocess" "-o" ".*darwin-cc.i"' %t.log &&
-// RUN: grep ' ".*cc1" "-fpreprocessed" ".*darwin-cc.i" "-O3" "-dumpbase" ".*darwin-cc.c" "-dA" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-aFOO" "-auxbase-strip" "/tmp/OUTPUTNAME" "-g" "-g0" "-g" "-g3" "-O2" "-Werror" "-pedantic" "-Wmost" "-w" "-ansi" "-std=c99" "-trigraphs" "-version" "-p" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-undef" "-fno-ident" "-o" "/tmp/OUTPUTNAME" "--param" "a=b" "-fno-builtin" "-fno-merge-constants" "-fprofile-arcs" "-ftest-coverage"' %t.log &&
+// RUN: clang -ccc-no-clang -ccc-host-triple i386-apple-darwin10 -m32 -### -MD -g -fast -Q -dA -mkernel -ansi -aFOO -S -o /tmp/OUTPUTNAME -g0 -gfull -O2 -Werror -pedantic -Wmost -w -std=c99 -trigraphs -v -pg -fFOO -undef -Qn --param a=b -fmudflap -coverage -save-temps -nostdinc -I ARG0 -F ARG1 -I ARG2 -P -MF ARG3 -MG -MP -remap -g3 -H -D ARG4 -U ARG5 -A ARG6 -D ARG7 -U ARG8 -A ARG9 -include ARG10 -pthread %s 2> %t.log
+// RUN: grep ' ".*cc1" "-E" "-nostdinc" "-v" "-I" "ARG0" "-F" "ARG1" "-I" "ARG2" "-P" "-MD" "/tmp/OUTPUTNAME.d" "-MF" "ARG3" "-MG" "-MP" "-MQ" "/tmp/OUTPUTNAME" "-remap" "-dD" "-H" "-D__STATIC__" "-D_REENTRANT" "-D" "ARG4" "-U" "ARG5" "-A" "ARG6" "-D" "ARG7" "-U" "ARG8" "-A" "ARG9" "-include" "ARG10" ".*darwin-cc.c" "-D_MUDFLAP" "-include" "mf-runtime.h" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-std=c99" "-trigraphs" "-Werror" "-pedantic" "-Wmost" "-w" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-O2" "-undef" "-fpch-preprocess" "-o" ".*darwin-cc.i"' %t.log
+// RUN: grep ' ".*cc1" "-fpreprocessed" ".*darwin-cc.i" "-O3" "-dumpbase" ".*darwin-cc.c" "-dA" "-mmacosx-version-min=10.6.0" "-m32" "-mkernel" "-mtune=core2" "-ansi" "-aFOO" "-auxbase-strip" "/tmp/OUTPUTNAME" "-g" "-g0" "-g" "-g3" "-O2" "-Werror" "-pedantic" "-Wmost" "-w" "-ansi" "-std=c99" "-trigraphs" "-version" "-p" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-undef" "-fno-ident" "-o" "/tmp/OUTPUTNAME" "--param" "a=b" "-fno-builtin" "-fno-merge-constants" "-fprofile-arcs" "-ftest-coverage"' %t.log
// RUN: true
// Check that ld gets arch_multiple.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch i386 -arch x86_64 %s -### -o foo 2> %t.log &&
-// RUN: grep '".*ld.*" .*"-arch_multiple" "-final_output" "foo"' %t.log &&
-
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO -static 2> %t.log &&
-// RUN: grep '"-lcrt0.o" .*"-lgcc_static"' %t.log &&
-// RUN: grep '"-lgcc"' %t.log | count 0 &&
-// RUN: clang -ccc-host-triple i386-apple-darwin7 -### -filelist FOO 2> %t.log &&
-// RUN: grep '"-lcrt1.o" .*"-lgcc" "-lSystem"' %t.log &&
-// RUN: grep '"-lgcc_s"' %t.log | count 0 &&
-// RUN: clang -ccc-host-triple i386-apple-darwin8 -### -filelist FOO 2> %t.log &&
-// RUN: grep '"-lcrt1.o" .*"-lgcc_s.10.4" "-lgcc" "-lSystem"' %t.log &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO 2> %t.log &&
-// RUN: grep '"-lcrt1.10.5.o" .*"-lgcc_s.10.5" "-lgcc" "-lSystem"' %t.log &&
-// RUN: clang -ccc-host-triple i386-apple-darwin10 -### -filelist FOO 2> %t.log &&
-// RUN: grep '"-lcrt1.10.6.o" .*"-lSystem" "-lgcc"' %t.log &&
-// RUN: grep '"-lgcc_s"' %t.log | count 0 &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch i386 -arch x86_64 %s -### -o foo 2> %t.log
+// RUN: grep '".*ld.*" .*"-arch_multiple" "-final_output" "foo"' %t.log
+
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO -static 2> %t.log
+// RUN: grep '"-lcrt0.o" .*"-lgcc_static"' %t.log
+// RUN: grep '"-lgcc"' %t.log | count 0
+// RUN: clang -ccc-host-triple i386-apple-darwin7 -### -filelist FOO 2> %t.log
+// RUN: grep '"-lcrt1.o" .*"-lgcc" "-lSystem"' %t.log
+// RUN: grep '"-lgcc_s"' %t.log | count 0
+// RUN: clang -ccc-host-triple i386-apple-darwin8 -### -filelist FOO 2> %t.log
+// RUN: grep '"-lcrt1.o" .*"-lgcc_s.10.4" "-lgcc" "-lSystem"' %t.log
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -filelist FOO 2> %t.log
+// RUN: grep '"-lcrt1.10.5.o" .*"-lgcc_s.10.5" "-lgcc" "-lSystem"' %t.log
+// RUN: clang -ccc-host-triple i386-apple-darwin10 -### -filelist FOO 2> %t.log
+// RUN: grep '"-lcrt1.10.6.o" .*"-lSystem" "-lgcc"' %t.log
+// RUN: grep '"-lgcc_s"' %t.log | count 0
// Make sure we run dsymutil on source input files.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -g %s -o BAR 2> %t.log &&
-// RUN: grep '".*dsymutil" "BAR"' %t.log &&
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -g -filelist FOO %s -o BAR 2> %t.log &&
-// RUN: grep '".*dsymutil" "BAR"' %t.log &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -g %s -o BAR 2> %t.log
+// RUN: grep '".*dsymutil" "BAR"' %t.log
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -g -filelist FOO %s -o BAR 2> %t.log
+// RUN: grep '".*dsymutil" "BAR"' %t.log
// Splatter test case. This is gross, but it works for now. For the
// driver, just getting coverage of the tool code and checking the
//
// Note that at conception, this exactly matches gcc.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -A ARG0 -F ARG1 -L ARG2 -Mach -T ARG4 -X -Z -all_load -allowable_client ARG8 -bind_at_load -compatibility_version ARG11 -current_version ARG12 -d -dead_strip -dylib_file ARG14 -dylinker -dylinker_install_name ARG16 -dynamic -dynamiclib -e ARG19 -exported_symbols_list ARG20 -fexceptions -flat_namespace -fnested-functions -fopenmp -force_cpusubtype_ALL -fpie -fprofile-arcs -headerpad_max_install_names -image_base ARG29 -init ARG30 -install_name ARG31 -m ARG33 -miphoneos-version-min=2.0 -mmacosx-version-min=10.3.2 -multi_module -multiply_defined ARG37 -multiply_defined_unused ARG38 -no_dead_strip_inits_and_terms -nodefaultlibs -nofixprebinding -nomultidefs -noprebind -noseglinkedit -nostartfiles -nostdlib -pagezero_size ARG54 -pg -prebind -prebind_all_twolevel_modules -preload -r -read_only_relocs ARG55 -s -sectalign ARG57_0 ARG57_1 ARG57_2 -sectcreate ARG58_0 ARG58_1 ARG58_2 -sectobjectsymbols ARG59_0 ARG59_1 -sectorder ARG60_0 ARG60_1 ARG60_2 -seg1addr ARG61 -seg_addr_table ARG62 -seg_addr_table_filename ARG63 -segaddr ARG64_0 ARG64_1 -segcreate ARG65_0 ARG65_1 ARG65_2 -seglinkedit -segprot ARG67_0 ARG67_1 ARG67_2 -segs_read_FOO -segs_read_only_addr ARG69 -segs_read_write_addr ARG70 -shared-libgcc -single_module -static -static-libgcc -sub_library ARG77 -sub_umbrella ARG78 -t -twolevel_namespace -twolevel_namespace_hints -u ARG82 -umbrella ARG83 -undefined ARG84 -unexported_symbols_list ARG85 -w -weak_reference_mismatches ARG87 -whatsloaded -whyload -y -filelist FOO 2> %t.log &&
-// RUN: grep '".*ld.*" "-static" "-dylib" "-dylib_compatibility_version" "ARG11" "-dylib_current_version" "ARG12" "-arch" "i386" "-dylib_install_name" "ARG31" "-all_load" "-allowable_client" "ARG8" "-bind_at_load" "-dead_strip" "-no_dead_strip_inits_and_terms" "-dylib_file" "ARG14" "-dynamic" "-exported_symbols_list" "ARG20" "-flat_namespace" "-headerpad_max_install_names" "-image_base" "ARG29" "-init" "ARG30" "-macosx_version_min" "10.3.2" "-iphoneos_version_min" "2.0" "-nomultidefs" "-multi_module" "-single_module" "-multiply_defined" "ARG37" "-multiply_defined_unused" "ARG38" "-pie" "-prebind" "-noprebind" "-nofixprebinding" "-prebind_all_twolevel_modules" "-read_only_relocs" "ARG55" "-sectcreate" "ARG58_0" "ARG58_1" "ARG58_2" "-sectorder" "ARG60_0" "ARG60_1" "ARG60_2" "-seg1addr" "ARG61" "-segprot" "ARG67_0" "ARG67_1" "ARG67_2" "-segaddr" "ARG64_0" "ARG64_1" "-segs_read_only_addr" "ARG69" "-segs_read_write_addr" "ARG70" "-seg_addr_table" "ARG62" "-seg_addr_table_filename" "ARG63" "-sub_library" "ARG77" "-sub_umbrella" "ARG78" "-twolevel_namespace" "-twolevel_namespace_hints" "-umbrella" "ARG83" "-undefined" "ARG84" "-unexported_symbols_list" "ARG85" "-weak_reference_mismatches" "ARG87" "-X" "-y" "-w" "-pagezero_size" "ARG54" "-segs_read_FOO" "-seglinkedit" "-noseglinkedit" "-sectalign" "ARG57_0" "ARG57_1" "ARG57_2" "-sectobjectsymbols" "ARG59_0" "ARG59_1" "-segcreate" "ARG65_0" "ARG65_1" "ARG65_2" "-whyload" "-whatsloaded" "-dylinker_install_name" "ARG16" "-dylinker" "-Mach" "-d" "-s" "-t" "-Z" "-u" "ARG82" "-undefined" "ARG84" "-A" "ARG0" "-e" "ARG19" "-m" "ARG33" "-r" "-o" "a.out" "-L" "ARG2" "-lgomp" "-L/usr/lib/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1/../../../i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1/../../.." "-filelist" "FOO" "-lgcov" "-allow_stack_execute" "-T" "ARG4" "-F" "ARG1"' %t.log &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -A ARG0 -F ARG1 -L ARG2 -Mach -T ARG4 -X -Z -all_load -allowable_client ARG8 -bind_at_load -compatibility_version ARG11 -current_version ARG12 -d -dead_strip -dylib_file ARG14 -dylinker -dylinker_install_name ARG16 -dynamic -dynamiclib -e ARG19 -exported_symbols_list ARG20 -fexceptions -flat_namespace -fnested-functions -fopenmp -force_cpusubtype_ALL -fpie -fprofile-arcs -headerpad_max_install_names -image_base ARG29 -init ARG30 -install_name ARG31 -m ARG33 -miphoneos-version-min=2.0 -mmacosx-version-min=10.3.2 -multi_module -multiply_defined ARG37 -multiply_defined_unused ARG38 -no_dead_strip_inits_and_terms -nodefaultlibs -nofixprebinding -nomultidefs -noprebind -noseglinkedit -nostartfiles -nostdlib -pagezero_size ARG54 -pg -prebind -prebind_all_twolevel_modules -preload -r -read_only_relocs ARG55 -s -sectalign ARG57_0 ARG57_1 ARG57_2 -sectcreate ARG58_0 ARG58_1 ARG58_2 -sectobjectsymbols ARG59_0 ARG59_1 -sectorder ARG60_0 ARG60_1 ARG60_2 -seg1addr ARG61 -seg_addr_table ARG62 -seg_addr_table_filename ARG63 -segaddr ARG64_0 ARG64_1 -segcreate ARG65_0 ARG65_1 ARG65_2 -seglinkedit -segprot ARG67_0 ARG67_1 ARG67_2 -segs_read_FOO -segs_read_only_addr ARG69 -segs_read_write_addr ARG70 -shared-libgcc -single_module -static -static-libgcc -sub_library ARG77 -sub_umbrella ARG78 -t -twolevel_namespace -twolevel_namespace_hints -u ARG82 -umbrella ARG83 -undefined ARG84 -unexported_symbols_list ARG85 -w -weak_reference_mismatches ARG87 -whatsloaded -whyload -y -filelist FOO 2> %t.log
+// RUN: grep '".*ld.*" "-static" "-dylib" "-dylib_compatibility_version" "ARG11" "-dylib_current_version" "ARG12" "-arch" "i386" "-dylib_install_name" "ARG31" "-all_load" "-allowable_client" "ARG8" "-bind_at_load" "-dead_strip" "-no_dead_strip_inits_and_terms" "-dylib_file" "ARG14" "-dynamic" "-exported_symbols_list" "ARG20" "-flat_namespace" "-headerpad_max_install_names" "-image_base" "ARG29" "-init" "ARG30" "-macosx_version_min" "10.3.2" "-iphoneos_version_min" "2.0" "-nomultidefs" "-multi_module" "-single_module" "-multiply_defined" "ARG37" "-multiply_defined_unused" "ARG38" "-pie" "-prebind" "-noprebind" "-nofixprebinding" "-prebind_all_twolevel_modules" "-read_only_relocs" "ARG55" "-sectcreate" "ARG58_0" "ARG58_1" "ARG58_2" "-sectorder" "ARG60_0" "ARG60_1" "ARG60_2" "-seg1addr" "ARG61" "-segprot" "ARG67_0" "ARG67_1" "ARG67_2" "-segaddr" "ARG64_0" "ARG64_1" "-segs_read_only_addr" "ARG69" "-segs_read_write_addr" "ARG70" "-seg_addr_table" "ARG62" "-seg_addr_table_filename" "ARG63" "-sub_library" "ARG77" "-sub_umbrella" "ARG78" "-twolevel_namespace" "-twolevel_namespace_hints" "-umbrella" "ARG83" "-undefined" "ARG84" "-unexported_symbols_list" "ARG85" "-weak_reference_mismatches" "ARG87" "-X" "-y" "-w" "-pagezero_size" "ARG54" "-segs_read_FOO" "-seglinkedit" "-noseglinkedit" "-sectalign" "ARG57_0" "ARG57_1" "ARG57_2" "-sectobjectsymbols" "ARG59_0" "ARG59_1" "-segcreate" "ARG65_0" "ARG65_1" "ARG65_2" "-whyload" "-whatsloaded" "-dylinker_install_name" "ARG16" "-dylinker" "-Mach" "-d" "-s" "-t" "-Z" "-u" "ARG82" "-undefined" "ARG84" "-A" "ARG0" "-e" "ARG19" "-m" "ARG33" "-r" "-o" "a.out" "-L" "ARG2" "-lgomp" "-L/usr/lib/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1/../../../i686-apple-darwin.*/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin.*/4.2.1/../../.." "-filelist" "FOO" "-lgcov" "-allow_stack_execute" "-T" "ARG4" "-F" "ARG1"' %t.log
// Don't run dsymutil on a fat build of an executable.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -arch i386 -arch x86_64 -g %s 2> %t.log &&
-// RUN: grep dsymutil %t.log | count 0 &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -arch i386 -arch x86_64 -g %s 2> %t.log
+// RUN: grep dsymutil %t.log | count 0
// RUN: true
-// RUN: clang -ccc-host-triple i386-unknown-unknown -m64 -v 2> %t &&
-// RUN: grep 'Target: x86_64-unknown-unknown' %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -m64 -v 2> %t
+// RUN: grep 'Target: x86_64-unknown-unknown' %t
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch ppc -m64 -v 2> %t &&
-// RUN: grep 'Target: powerpc64-apple-darwin9' %t &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch ppc -m64 -v 2> %t
+// RUN: grep 'Target: powerpc64-apple-darwin9' %t
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch ppc64 -m32 -v 2> %t &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -arch ppc64 -m32 -v 2> %t
// RUN: grep 'Target: powerpc-apple-darwin9' %t
-// RUN: clang -ccc-host-triple amd64-pc-dragonfly %s -### 2> %t.log &&
+// RUN: clang -ccc-host-triple amd64-pc-dragonfly %s -### 2> %t.log
// RUN: FileCheck -input-file %t.log %s
// CHECK: clang-cc{{.*}}" "-triple" "amd64-pc-dragonfly"
-// RUN: not clang -ccc-host-triple i386-pc-linux-gnu -emit-llvm -o %t %s 2> %t.log &&
+// RUN: not clang -ccc-host-triple i386-pc-linux-gnu -emit-llvm -o %t %s 2> %t.log
// RUN: grep 'unable to pass LLVM bit-code files to linker' %t.log
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float %s 2> %t.log &&
-// RUN: grep '"--no-implicit-float"' %t.log &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float %s 2> %t.log
+// RUN: grep '"--no-implicit-float"' %t.log
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float -mno-soft-float %s 2> %t.log &&
-// RUN: grep '"--no-implicit-float"' %t.log | count 0 &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float -mno-soft-float %s 2> %t.log
+// RUN: grep '"--no-implicit-float"' %t.log | count 0
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -mno-soft-float %s -msoft-float 2> %t.log &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -mno-soft-float %s -msoft-float 2> %t.log
// RUN: grep '"--no-implicit-float"' %t.log
-// RUN: clang -ccc-clang-archs "" -ccc-host-triple powerpc64-pc-freebsd8 %s -### 2> %t.log &&
-// RUN: cat %t.log &&
+// RUN: clang -ccc-clang-archs "" -ccc-host-triple powerpc64-pc-freebsd8 %s -### 2> %t.log
+// RUN: cat %t.log
// RUN: FileCheck -input-file %t.log %s
// CHECK: clang-cc{{.*}}" "-triple" "powerpc64-pc-freebsd8"
-// RUN: clang -ccc-echo -o %t %s 2> %t.log &&
+// RUN: clang -ccc-echo -o %t %s 2> %t.log
// Make sure we used clang.
-// RUN: grep 'clang-cc" .*hello.c' %t.log &&
+// RUN: grep 'clang-cc" .*hello.c' %t.log
-// RUN: %t > %t.out &&
+// RUN: %t > %t.out
// RUN: grep "I'm a little driver, short and stout." %t.out
// FIXME: We don't have a usable assembler on Windows, so we can't build real
-// RUN: clang --help &&
-// RUN: clang --help-hidden &&
-// RUN: clang -dumpversion &&
-// RUN: clang -print-search-dirs &&
+// RUN: clang --help
+// RUN: clang --help-hidden
+// RUN: clang -dumpversion
+// RUN: clang -print-search-dirs
// RUN: true
// -emit-llvm, -flto, and -O4 all cause a switch to llvm-bc object
// files.
-// RUN: clang -ccc-print-phases -c %s -flto 2> %t.log &&
-// RUN: grep '2: compiler, {1}, llvm-bc' %t.log &&
-// RUN: clang -ccc-print-phases -c %s -O4 2> %t.log &&
-// RUN: grep '2: compiler, {1}, llvm-bc' %t.log &&
+// RUN: clang -ccc-print-phases -c %s -flto 2> %t.log
+// RUN: grep '2: compiler, {1}, llvm-bc' %t.log
+// RUN: clang -ccc-print-phases -c %s -O4 2> %t.log
+// RUN: grep '2: compiler, {1}, llvm-bc' %t.log
// and -emit-llvm doesn't alter pipeline (unfortunately?).
-// RUN: clang -ccc-print-phases %s -emit-llvm 2> %t.log &&
-// RUN: grep '0: input, ".*lto.c", c' %t.log &&
-// RUN: grep '1: preprocessor, {0}, cpp-output' %t.log &&
-// RUN: grep '2: compiler, {1}, llvm-bc' %t.log &&
-// RUN: grep '3: linker, {2}, image' %t.log &&
+// RUN: clang -ccc-print-phases %s -emit-llvm 2> %t.log
+// RUN: grep '0: input, ".*lto.c", c' %t.log
+// RUN: grep '1: preprocessor, {0}, cpp-output' %t.log
+// RUN: grep '2: compiler, {1}, llvm-bc' %t.log
+// RUN: grep '3: linker, {2}, image' %t.log
// llvm-bc and llvm-ll outputs need to match regular suffixes
// (unfortunately).
-// RUN: clang %s -emit-llvm -save-temps -### 2> %t.log &&
-// RUN: grep '"-o" ".*lto\.i" "-x" "c" ".*lto\.c"' %t.log &&
-// RUN: grep '"-o" ".*lto\.o" .*".*lto\.i"' %t.log &&
-// RUN: grep '".*a.out" .*".*lto\.o"' %t.log &&
+// RUN: clang %s -emit-llvm -save-temps -### 2> %t.log
+// RUN: grep '"-o" ".*lto\.i" "-x" "c" ".*lto\.c"' %t.log
+// RUN: grep '"-o" ".*lto\.o" .*".*lto\.i"' %t.log
+// RUN: grep '".*a.out" .*".*lto\.o"' %t.log
-// RUN: clang %s -emit-llvm -S -### 2> %t.log &&
-// RUN: grep '"-o" ".*lto\.s" "-x" "c" ".*lto\.c"' %t.log &&
+// RUN: clang %s -emit-llvm -S -### 2> %t.log
+// RUN: grep '"-o" ".*lto\.s" "-x" "c" ".*lto\.c"' %t.log
// RUN: true
-// RUN: clang -ccc-clang-archs "" -ccc-host-triple i686-pc-openbsd %s -### 2> %t.log &&
+// RUN: clang -ccc-clang-archs "" -ccc-host-triple i686-pc-openbsd %s -### 2> %t.log
// RUN: FileCheck -input-file %t.log %s
// CHECK: clang-cc{{.*}}" "-triple" "i686-pc-openbsd"
-// RUN: clang -ccc-print-options input -Yunknown -m32 -arch ppc -djoined -A separate -Ajoined -Wp,one,two -Xarch_joined AndSeparate -sectalign 1 2 3 2> %t &&
-// RUN: grep 'Option 0 - Name: "<input>", Values: {"input"}' %t &&
-// RUN: grep 'Option 1 - Name: "<unknown>", Values: {"-Yunknown"}' %t &&
-// RUN: grep 'Option 2 - Name: "-m32", Values: {}' %t &&
-// RUN: grep 'Option 3 - Name: "-arch", Values: {"ppc"}' %t &&
-// RUN: grep 'Option 4 - Name: "-d", Values: {"joined"}' %t &&
-// RUN: grep 'Option 5 - Name: "-A", Values: {"separate"}' %t &&
-// RUN: grep 'Option 6 - Name: "-A", Values: {"joined"}' %t &&
-// RUN: grep 'Option 7 - Name: "-Wp,", Values: {"one", "two"}' %t &&
-// RUN: grep 'Option 8 - Name: "-Xarch_", Values: {"joined", "AndSeparate"}' %t &&
-// RUN: grep 'Option 9 - Name: "-sectalign", Values: {"1", "2", "3"}' %t &&
+// RUN: clang -ccc-print-options input -Yunknown -m32 -arch ppc -djoined -A separate -Ajoined -Wp,one,two -Xarch_joined AndSeparate -sectalign 1 2 3 2> %t
+// RUN: grep 'Option 0 - Name: "<input>", Values: {"input"}' %t
+// RUN: grep 'Option 1 - Name: "<unknown>", Values: {"-Yunknown"}' %t
+// RUN: grep 'Option 2 - Name: "-m32", Values: {}' %t
+// RUN: grep 'Option 3 - Name: "-arch", Values: {"ppc"}' %t
+// RUN: grep 'Option 4 - Name: "-d", Values: {"joined"}' %t
+// RUN: grep 'Option 5 - Name: "-A", Values: {"separate"}' %t
+// RUN: grep 'Option 6 - Name: "-A", Values: {"joined"}' %t
+// RUN: grep 'Option 7 - Name: "-Wp,", Values: {"one", "two"}' %t
+// RUN: grep 'Option 8 - Name: "-Xarch_", Values: {"joined", "AndSeparate"}' %t
+// RUN: grep 'Option 9 - Name: "-sectalign", Values: {"1", "2", "3"}' %t
-// RUN: not clang -V 2> %t &&
-// RUN: grep "error: argument to '-V' is missing (expected 1 value)" %t &&
-// RUN: not clang -sectalign 1 2 2> %t &&
-// RUN: grep "error: argument to '-sectalign' is missing (expected 3 values)" %t &&
+// RUN: not clang -V 2> %t
+// RUN: grep "error: argument to '-V' is missing (expected 1 value)" %t
+// RUN: not clang -sectalign 1 2 2> %t
+// RUN: grep "error: argument to '-sectalign' is missing (expected 3 values)" %t
// Verify that search continues after find the first option.
-// RUN: clang -ccc-print-options -Wally 2> %t &&
-// RUN: grep 'Option 0 - Name: "-W", Values: {"ally"}' %t &&
+// RUN: clang -ccc-print-options -Wally 2> %t
+// RUN: grep 'Option 0 - Name: "-W", Values: {"ally"}' %t
// RUN: true
// Basic compilation for various types of files.
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -x c %s -x objective-c %s -x c++ %s -x objective-c++ -x assembler %s -x assembler-with-cpp %s -x none %s 2>&1 | FileCheck -check-prefix=BASIC %s &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -x c %s -x objective-c %s -x c++ %s -x objective-c++ -x assembler %s -x assembler-with-cpp %s -x none %s 2>&1 | FileCheck -check-prefix=BASIC %s
// BASIC: 0: input, "{{.*}}phases.c", c
// BASIC: 1: preprocessor, {0}, cpp-output
// BASIC: 2: compiler, {1}, assembler
// BASIC: 21: linker, {3, 7, 11, 13, 16, 20}, image
// Universal linked image.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -x c %s -arch ppc -arch i386 2>&1 | FileCheck -check-prefix=ULI %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -x c %s -arch ppc -arch i386 2>&1 | FileCheck -check-prefix=ULI %s
// ULI: 0: input, "{{.*}}phases.c", c
// ULI: 1: preprocessor, {0}, cpp-output
// ULI: 2: compiler, {1}, assembler
// ULI: 7: lipo, {5, 6}, image
// Universal object file.
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x c %s -arch ppc -arch i386 2>&1 | FileCheck -check-prefix=UOF %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x c %s -arch ppc -arch i386 2>&1 | FileCheck -check-prefix=UOF %s
// UOF: 0: input, "{{.*}}phases.c", c
// UOF: 1: preprocessor, {0}, cpp-output
// UOF: 2: compiler, {1}, assembler
// UOF: 6: lipo, {4, 5}, object
// Arch defaulting
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x assembler %s 2>&1 | FileCheck -check-prefix=ARCH1 %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x assembler %s 2>&1 | FileCheck -check-prefix=ARCH1 %s
// ARCH1: 2: bind-arch, "i386", {1}, object
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x assembler %s -m32 -m64 2>&1 | FileCheck -check-prefix=ARCH2 %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c -x assembler %s -m32 -m64 2>&1 | FileCheck -check-prefix=ARCH2 %s
// ARCH2: 2: bind-arch, "x86_64", {1}, object
-// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -ccc-print-phases -c -x assembler %s 2>&1 | FileCheck -check-prefix=ARCH3 %s &&
+// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -ccc-print-phases -c -x assembler %s 2>&1 | FileCheck -check-prefix=ARCH3 %s
// ARCH3: 2: bind-arch, "x86_64", {1}, object
-// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -ccc-print-phases -c -x assembler %s -m64 -m32 2>&1 | FileCheck -check-prefix=ARCH4 %s &&
+// RUN: clang -ccc-host-triple x86_64-apple-darwin9 -ccc-print-phases -c -x assembler %s -m64 -m32 2>&1 | FileCheck -check-prefix=ARCH4 %s
// ARCH4: 2: bind-arch, "i386", {1}, object
// Analyzer
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases --analyze %s 2>&1 | FileCheck -check-prefix=ANALYZE %s &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases --analyze %s 2>&1 | FileCheck -check-prefix=ANALYZE %s
// ANALYZE: 0: input, "{{.*}}phases.c", c
// ANALYZE: 1: preprocessor, {0}, cpp-output
// ANALYZE: 2: analyzer, {1}, plist
// Precompiler
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -x c-header %s 2>&1 | FileCheck -check-prefix=PCH %s &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -x c-header %s 2>&1 | FileCheck -check-prefix=PCH %s
// PCH: 0: input, "{{.*}}phases.c", c-header
// PCH: 1: preprocessor, {0}, c-header-cpp-output
// PCH: 2: precompiler, {1}, precompiled-header
// Darwin overrides the handling for .s
-// RUN: touch %t.s &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -c %t.s 2>&1 | FileCheck -check-prefix=DARWIN1 %s &&
+// RUN: touch %t.s
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-phases -c %t.s 2>&1 | FileCheck -check-prefix=DARWIN1 %s
// DARWIN1: 0: input, "{{.*}}.s", assembler
// DARWIN1: 1: assembler, {0}, object
-// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c %t.s 2>&1 | FileCheck -check-prefix=DARWIN2 %s &&
+// RUN: clang -ccc-host-triple i386-apple-darwin9 -ccc-print-phases -c %t.s 2>&1 | FileCheck -check-prefix=DARWIN2 %s
// DARWIN2: 0: input, "{{.*}}.s", assembler-with-cpp
// DARWIN2: 1: preprocessor, {0}, assembler
// DARWIN2: 2: assembler, {1}, object
-// RUN: clang -E -x c-header %s > %t &&
+// RUN: clang -E -x c-header %s > %t
// RUN: grep 'B B' %t
#define A B
// Test transparent PTH support.
-// RUN: clang -ccc-pch-is-pth -x c-header %s -o %t.h.pth -### 2> %t.log &&
-// RUN: FileCheck -check-prefix CHECK1 -input-file %t.log %s &&
+// RUN: clang -ccc-pch-is-pth -x c-header %s -o %t.h.pth -### 2> %t.log
+// RUN: FileCheck -check-prefix CHECK1 -input-file %t.log %s
// CHECK1: "{{.*}}/clang-cc{{.*}}" {{.*}} "-o" "{{.*}}.h.pth" "-x" "c-header" "{{.*}}pth.c"
-// RUN: touch %t.h.pth &&
-// RUN: clang -ccc-pch-is-pth -E -include %t.h %s -### 2> %t.log &&
+// RUN: touch %t.h.pth
+// RUN: clang -ccc-pch-is-pth -E -include %t.h %s -### 2> %t.log
// RUN: FileCheck -check-prefix CHECK2 -input-file %t.log %s
// CHECK2: "{{.*}}/clang-cc{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.pth" {{.*}}"-x" "c" "{{.*}}pth.c"
-// RUN: clang -ccc-host-triple i386-unknown-unknown -mno-red-zone %s -S -emit-llvm -o %t.log &&
-// RUN: grep 'noredzone' %t.log &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -mred-zone %s -S -emit-llvm -o %t.log &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -mno-red-zone %s -S -emit-llvm -o %t.log
+// RUN: grep 'noredzone' %t.log
+// RUN: clang -ccc-host-triple i386-unknown-unknown -mred-zone %s -S -emit-llvm -o %t.log
// RUN: grep -v 'noredzone' %t.log
int foo() { return 42; }
-// RUN: clang -std=c99 -trigraphs -std=gnu99 %s -E -o - | FileCheck -check-prefix=OVERRIDE %s &&
+// RUN: clang -std=c99 -trigraphs -std=gnu99 %s -E -o - | FileCheck -check-prefix=OVERRIDE %s
// OVERRIDE: ??(??)
-// RUN: clang -ansi %s -E -o - | FileCheck -check-prefix=ANSI %s &&
+// RUN: clang -ansi %s -E -o - | FileCheck -check-prefix=ANSI %s
// ANSI: []
// RUN: clang -std=gnu99 -trigraphs %s -E -o - | FileCheck -check-prefix=EXPLICIT %s
// EXPLICIT: []
-// RUN: clang -ccc-host-triple x86_64-unknown-unknown -c -x assembler %s -### 2> %t.log &&
-// RUN: grep '.*gcc.*"-m64"' %t.log &&
-// RUN: clang -ccc-host-triple x86_64-unknown-unknown -c -x assembler %s -### -m32 2> %t.log &&
-// RUN: grep '.*gcc.*"-m32"' %t.log &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -c -x assembler %s -### 2> %t.log &&
-// RUN: grep '.*gcc.*"-m32"' %t.log &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -c -x assembler %s -### -m64 2> %t.log &&
+// RUN: clang -ccc-host-triple x86_64-unknown-unknown -c -x assembler %s -### 2> %t.log
+// RUN: grep '.*gcc.*"-m64"' %t.log
+// RUN: clang -ccc-host-triple x86_64-unknown-unknown -c -x assembler %s -### -m32 2> %t.log
+// RUN: grep '.*gcc.*"-m32"' %t.log
+// RUN: clang -ccc-host-triple i386-unknown-unknown -c -x assembler %s -### 2> %t.log
+// RUN: grep '.*gcc.*"-m32"' %t.log
+// RUN: clang -ccc-host-triple i386-unknown-unknown -c -x assembler %s -### -m64 2> %t.log
// RUN: grep '.*gcc.*"-m64"' %t.log
-// RUN: clang -ccc-host-triple i386-unknown-unknown -### -S %s -msse -msse4 -mno-sse -mno-mmx -msse 2> %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -### -S %s -msse -msse4 -mno-sse -mno-mmx -msse 2> %t
// RUN: grep '"-target-feature" "+sse" "-target-feature" "+sse4" "-target-feature" "-sse" "-target-feature" "-mmx" "-target-feature" "+sse"' %t
-// RUN: clang-cc -fsyntax-only -fixit-at=fixit-at.c:3:1 %s -o %t.m &&
+// RUN: clang-cc -fsyntax-only -fixit-at=fixit-at.c:3:1 %s -o %t.m
// RUN: clang-cc -verify %t.m
@protocol X;
-// RUN: clang -emit-ast -o %t.ast %s &&
+// RUN: clang -emit-ast -o %t.ast %s
// RUN: clang -emit-llvm -S -o - %t.ast | FileCheck %s
// CHECK: module asm "foo"
-// RUN: clang -emit-llvm -S -o %t1.ll -x c - < %s &&
-// RUN: clang -emit-ast -o %t.ast %s &&
-// RUN: clang -emit-llvm -S -o %t2.ll -x ast - < %t.ast &&
+// RUN: clang -emit-llvm -S -o %t1.ll -x c - < %s
+// RUN: clang -emit-ast -o %t.ast %s
+// RUN: clang -emit-llvm -S -o %t2.ll -x ast - < %t.ast
// RUN: diff %t1.ll %t2.ll
int main() {
-// RUN: clang -E -o %t -C %s &&
-// RUN: grep '^int x; // comment' %t &&
-// RUN: grep '^x x' %t &&
-// RUN: clang -E -o %t -CC %s &&
-// RUN: grep '^int x; // comment' %t &&
-// RUN: grep '^x /\* comment \*/ x /\* comment \*/' %t &&
+// RUN: clang -E -o %t -C %s
+// RUN: grep '^int x; // comment' %t
+// RUN: grep '^x x' %t
+// RUN: clang -E -o %t -CC %s
+// RUN: grep '^int x; // comment' %t
+// RUN: grep '^x /\* comment \*/ x /\* comment \*/' %t
// RUN: true
int x; // comment
-// RUN: clang -ccc-host-triple armv6-apple-darwin9 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '30000' | count 1 &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | count 0 &&
-// RUN: clang -ccc-host-triple armv6-apple-darwin9 -miphoneos-version-min=2.0 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '20000' | count 1 &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | count 0 &&
-// RUN: clang -ccc-host-triple armv6-apple-darwin9 -miphoneos-version-min=2.2 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '20200' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin8 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | count 0 &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1040' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin9 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1050' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin10 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1060' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.4 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | count 0 &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1040' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.5 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1050' | count 1 &&
-// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.6 -dM -E -o %t %s &&
-// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1060' | count 1 &&
+// RUN: clang -ccc-host-triple armv6-apple-darwin9 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '30000' | count 1
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | count 0
+// RUN: clang -ccc-host-triple armv6-apple-darwin9 -miphoneos-version-min=2.0 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '20000' | count 1
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | count 0
+// RUN: clang -ccc-host-triple armv6-apple-darwin9 -miphoneos-version-min=2.2 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | grep '20200' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin8 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | count 0
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1040' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin9 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1050' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin10 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1060' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.4 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t | count 0
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1040' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.5 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1050' | count 1
+// RUN: clang -ccc-host-triple i686-apple-darwin9 -mmacosx-version-min=10.6 -dM -E -o %t %s
+// RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1060' | count 1
// RUN: true
// rdar://6533411
-// RUN: clang -MD -MF %t.d -S -x c -o %t.o %s &&
-// RUN: grep '.*dependency-gen.*:' %t.d &&
-// RUN: grep 'dependency-gen.c' %t.d &&
+// RUN: clang -MD -MF %t.d -S -x c -o %t.o %s
+// RUN: grep '.*dependency-gen.*:' %t.d
+// RUN: grep 'dependency-gen.c' %t.d
-// RUN: clang -S -M -x c %s -o %t.d &&
-// RUN: grep '.*dependency-gen.*:' %t.d &&
+// RUN: clang -S -M -x c %s -o %t.d
+// RUN: grep '.*dependency-gen.*:' %t.d
// RUN: grep 'dependency-gen.c' %t.d
-// RUN: clang-cc -verify --rewrite-macros -o %t %s &&
+// RUN: clang-cc -verify --rewrite-macros -o %t %s
#define A(a,b) a ## b
-// RUN: grep '12 */\*A\*/ /\*(1,2)\*/' %t &&
+// RUN: grep '12 */\*A\*/ /\*(1,2)\*/' %t
A(1,2)
-// RUN: grep '/\*_Pragma("mark")\*/' %t &&
+// RUN: grep '/\*_Pragma("mark")\*/' %t
_Pragma("mark")
-// RUN: grep "//#warning eek" %t &&
+// RUN: grep "//#warning eek" %t
/* expected-warning {{#warning eek}} */ #warning eek
-// RUN: grep "//#pragma mark mark" %t &&
+// RUN: grep "//#pragma mark mark" %t
#pragma mark mark
// RUN: true
-// RUN: clang-cc -E - < /dev/null > %t &&
+// RUN: clang-cc -E - < /dev/null > %t
// RUN: grep '<built-in>' %t
-// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-pch -x objective-c %s -o %t.ast &&
+// RUN: clang-cc -triple x86_64-apple-darwin10 -emit-pch -x objective-c %s -o %t.ast
// RUN: c-index-test %t.ast all | FileCheck %s
// CHECK: <invalid loc>:0:0: TypedefDecl=__int128_t:0:0 [Context=c-index-api-test.m]
-// RUN: clang-cc -emit-pch -x c -o %t.pch %S/c-index-pch.h &&
-// RUN: clang-cc -include-pch %t.pch -x c -emit-pch -o %t.ast %s &&
-// RUN: c-index-test %t.ast all | FileCheck -check-prefix=ALL %s &&
+// RUN: clang-cc -emit-pch -x c -o %t.pch %S/c-index-pch.h
+// RUN: clang-cc -include-pch %t.pch -x c -emit-pch -o %t.ast %s
+// RUN: c-index-test %t.ast all | FileCheck -check-prefix=ALL %s
// RUN: c-index-test %t.ast local | FileCheck -check-prefix=LOCAL %s
// ALL: FunctionDecl=foo
// ALL: VarDecl=bar
void h(int); ///< This is a member comment.
-// RUN: clang-cc -emit-pch -o %t.ast %s &&
+// RUN: clang-cc -emit-pch -o %t.ast %s
-// RUN: index-test %t.ast -point-at %s:11:6 > %t &&
-// RUN: grep "starts here" %t &&
-// RUN: grep "block comment" %t &&
+// RUN: index-test %t.ast -point-at %s:11:6 > %t
+// RUN: grep "starts here" %t
+// RUN: grep "block comment" %t
-// RUN: index-test %t.ast -point-at %s:17:6 > %t &&
-// RUN: grep "BCPL" %t &&
-// RUN: grep "But" %t &&
+// RUN: index-test %t.ast -point-at %s:17:6 > %t
+// RUN: grep "BCPL" %t
+// RUN: grep "But" %t
-// RUN: index-test %t.ast -point-at %s:19:6 > %t &&
-// RUN: grep "NOT" %t | count 0 &&
+// RUN: index-test %t.ast -point-at %s:19:6 > %t
+// RUN: grep "NOT" %t | count 0
// RUN: grep "member" %t
-// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast &&
-// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast &&
+// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast
+// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:8:7 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'foo.h:4:6,' %t | count 2 &&
-// RUN: grep 't2.c:5:6,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:8:7 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'foo.h:4:6,' %t | count 2
+// RUN: grep 't2.c:5:6,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:5:47 -print-decls > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:5:12,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:5:47 -print-decls > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:5:12,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:6:20 -print-decls > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:3:19,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:6:20 -print-decls > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:3:19,' %t
// field test
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:21:6 -print-decls > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:12:7,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:21:6 -print-decls > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:12:7,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:22:21 -print-decls > %t &&
-// RUN: cat %t | count 1 &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:22:21 -print-decls > %t
+// RUN: cat %t | count 1
// RUN: grep 't1.c:16:7,' %t
-// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast &&
-// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast &&
+// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast
+// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:1:14 -print-defs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't2.c:3:5,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:1:14 -print-defs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't2.c:3:5,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:3:9 -print-defs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:3:6,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:3:9 -print-defs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:3:6,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:4:9 -print-defs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't2.c:5:6,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:4:9 -print-defs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't2.c:5:6,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:8:7 -print-defs > %t &&
-// RUN: cat %t | count 1 &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:8:7 -print-defs > %t
+// RUN: cat %t | count 1
// RUN: grep 't2.c:5:6,' %t
-// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast &&
-// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:1:14 -print-refs > %t &&
-// RUN: cat %t | count 4 &&
-// RUN: grep 't1.c:4:19,' %t &&
-// RUN: grep 't1.c:28:40,' %t &&
-// RUN: grep 't2.c:6:3,' %t &&
-// RUN: grep 't2.c:7:12,' %t &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:3:9 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't2.c:7:3,' %t &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:4:9 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:8:3,' %t &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:3:22 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:6:17,' %t &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:4:11 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:6:5,' %t &&
-
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:5:30 -print-refs > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 't1.c:5:27,' %t &&
-// RUN: grep 't1.c:5:44,' %t &&
-// RUN: grep 't1.c:6:26,' %t &&
+// RUN: clang-cc -fblocks -emit-pch %S/t1.c -o %t1.ast
+// RUN: clang-cc -fblocks -emit-pch %S/t2.c -o %t2.ast
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:1:14 -print-refs > %t
+// RUN: cat %t | count 4
+// RUN: grep 't1.c:4:19,' %t
+// RUN: grep 't1.c:28:40,' %t
+// RUN: grep 't2.c:6:3,' %t
+// RUN: grep 't2.c:7:12,' %t
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:3:9 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't2.c:7:3,' %t
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:4:9 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:8:3,' %t
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:3:22 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:6:17,' %t
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:4:11 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:6:5,' %t
+
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:5:30 -print-refs > %t
+// RUN: cat %t | count 3
+// RUN: grep 't1.c:5:27,' %t
+// RUN: grep 't1.c:5:44,' %t
+// RUN: grep 't1.c:6:26,' %t
// field test
// FIXME: References point at the start of MemberExpr, make them point at the field instead.
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:12:7 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:21:3,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:12:7 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:21:3,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:16:7 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.c:22:3,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/t1.c:16:7 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.c:22:3,' %t
-// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:7:11 -print-refs > %t &&
-// RUN: cat %t | count 2 &&
-// RUN: grep 't1.c:25:3,' %t &&
+// RUN: index-test %t1.ast %t2.ast -point-at %S/foo.h:7:11 -print-refs > %t
+// RUN: cat %t | count 2
+// RUN: grep 't1.c:25:3,' %t
// RUN: grep 't2.c:10:3,' %t
-// RUN: clang-cc -emit-pch %s -o %t.ast &&
-// RUN: index-test %t.ast -point-at %s:8:4 -print-decls | count 2 &&
+// RUN: clang-cc -emit-pch %s -o %t.ast
+// RUN: index-test %t.ast -point-at %s:8:4 -print-decls | count 2
// RUN: index-test %t.ast -point-at %s:8:4 -print-defs | count 1
static void foo(int x);
-// RUN: clang-cc -emit-pch %S/t1.m -o %t1.m.ast &&
-// RUN: clang-cc -emit-pch %S/t2.m -o %t2.m.ast &&
+// RUN: clang-cc -emit-pch %S/t1.m -o %t1.m.ast
+// RUN: clang-cc -emit-pch %S/t2.m -o %t2.m.ast
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:12:12 -print-decls > %t &&
-// RUN: cat %t | count 2 &&
-// RUN: grep 'objc.h:2:9,' %t | count 2 &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:12:12 -print-decls > %t
+// RUN: cat %t | count 2
+// RUN: grep 'objc.h:2:9,' %t | count 2
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:5:13 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'objc.h:5:1,' %t | count 2 &&
-// RUN: grep 't1.m:15:1,' %t | count 1 &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:5:13 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'objc.h:5:1,' %t | count 2
+// RUN: grep 't1.m:15:1,' %t | count 1
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:10:13 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'objc.h:10:1,' %t | count 2 &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:10:13 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'objc.h:10:1,' %t | count 2
// RUN: grep 't2.m:11:1,' %t | count 1
-// RUN: clang-cc -emit-pch %S/t1.m -o %t1.m.ast &&
-// RUN: clang-cc -emit-pch %S/t2.m -o %t2.m.ast &&
+// RUN: clang-cc -emit-pch %S/t1.m -o %t1.m.ast
+// RUN: clang-cc -emit-pch %S/t2.m -o %t2.m.ast
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:5:13 -print-refs > %t &&
-// RUN: cat %t | count 1 &&
-// RUN: grep 't1.m:6:3,' %t &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:5:13 -print-refs > %t
+// RUN: cat %t | count 1
+// RUN: grep 't1.m:6:3,' %t
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:6:13 -print-refs > %t &&
-// RUN: cat %t | count 2 &&
-// RUN: grep 't1.m:7:3,' %t &&
-// RUN: grep 't2.m:7:3,' %t &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:6:13 -print-refs > %t
+// RUN: cat %t | count 2
+// RUN: grep 't1.m:7:3,' %t
+// RUN: grep 't2.m:7:3,' %t
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:10:13 -print-refs > %t &&
-// RUN: cat %t | count 2 &&
-// RUN: grep 't1.m:6:3,' %t &&
-// RUN: grep 't2.m:6:3,' %t &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/objc.h:10:13 -print-refs > %t
+// RUN: cat %t | count 2
+// RUN: grep 't1.m:6:3,' %t
+// RUN: grep 't2.m:6:3,' %t
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:6:15 -print-decls > %t &&
-// RUN: cat %t | count 6 &&
-// RUN: grep 'objc.h:5:1,' %t | count 2 &&
-// RUN: grep 'objc.h:10:1,' %t | count 2 &&
-// RUN: grep 't1.m:15:1,' %t &&
-// RUN: grep 't2.m:11:1,' %t &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:6:15 -print-decls > %t
+// RUN: cat %t | count 6
+// RUN: grep 'objc.h:5:1,' %t | count 2
+// RUN: grep 'objc.h:10:1,' %t | count 2
+// RUN: grep 't1.m:15:1,' %t
+// RUN: grep 't2.m:11:1,' %t
-// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:7:15 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'objc.h:6:1,' %t | count 2 &&
-// RUN: grep 't1.m:18:1,' %t &&
+// RUN: index-test %t1.m.ast %t2.m.ast -point-at %S/t1.m:7:15 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'objc.h:6:1,' %t | count 2
+// RUN: grep 't1.m:18:1,' %t
-// RUN: index-test %t2.m.ast %t1.m.ast -point-at %S/t2.m:6:15 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'objc.h:10:1,' %t | count 2 &&
-// RUN: grep 't2.m:11:1,' %t &&
+// RUN: index-test %t2.m.ast %t1.m.ast -point-at %S/t2.m:6:15 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'objc.h:10:1,' %t | count 2
+// RUN: grep 't2.m:11:1,' %t
-// RUN: index-test %t2.m.ast %t1.m.ast -point-at %S/t2.m:7:15 -print-decls > %t &&
-// RUN: cat %t | count 3 &&
-// RUN: grep 'objc.h:6:1,' %t | count 2 &&
+// RUN: index-test %t2.m.ast %t1.m.ast -point-at %S/t2.m:7:15 -print-decls > %t
+// RUN: cat %t | count 3
+// RUN: grep 'objc.h:6:1,' %t | count 2
// RUN: grep 't1.m:18:1,' %t
};
-// RUN: clang-cc -emit-pch %s -o %t.ast &&
-// RUN: index-test %t.ast -point-at %s:3:8 | grep top_var &&
-// RUN: index-test %t.ast -point-at %s:5:15 | grep top_func_decl &&
-// RUN: index-test %t.ast -point-at %s:5:25 | grep param1 &&
-// RUN: index-test %t.ast -point-at %s:7:17 | grep top_func_def &&
-// RUN: index-test %t.ast -point-at %s:7:23 | grep param2 &&
-// RUN: index-test %t.ast -point-at %s:8:10 | grep local_var1 &&
-// RUN: index-test %t.ast -point-at %s:9:15 | grep for_var &&
-
-// RUN: index-test %t.ast -point-at %s:9:43 > %t &&
-// RUN: grep '++for_var' %t &&
-
-// RUN: index-test %t.ast -point-at %s:10:9 | grep local_var2 &&
-
-// RUN: index-test %t.ast -point-at %s:10:30 > %t &&
-// RUN: grep 'for_var + 1' %t &&
+// RUN: clang-cc -emit-pch %s -o %t.ast
+// RUN: index-test %t.ast -point-at %s:3:8 | grep top_var
+// RUN: index-test %t.ast -point-at %s:5:15 | grep top_func_decl
+// RUN: index-test %t.ast -point-at %s:5:25 | grep param1
+// RUN: index-test %t.ast -point-at %s:7:17 | grep top_func_def
+// RUN: index-test %t.ast -point-at %s:7:23 | grep param2
+// RUN: index-test %t.ast -point-at %s:8:10 | grep local_var1
+// RUN: index-test %t.ast -point-at %s:9:15 | grep for_var
+
+// RUN: index-test %t.ast -point-at %s:9:43 > %t
+// RUN: grep '++for_var' %t
+
+// RUN: index-test %t.ast -point-at %s:10:9 | grep local_var2
+
+// RUN: index-test %t.ast -point-at %s:10:30 > %t
+// RUN: grep 'for_var + 1' %t
// fields test.
// RUN: index-test %t.ast -point-at %s:15:10 | grep field_var
/*
- RUN: clang-cc -E -trigraphs %s | grep bar &&
- RUN: clang-cc -E -trigraphs %s | grep foo &&
- RUN: clang-cc -E -trigraphs %s | not grep abc &&
- RUN: clang-cc -E -trigraphs %s | not grep xyz &&
+ RUN: clang-cc -E -trigraphs %s | grep bar
+ RUN: clang-cc -E -trigraphs %s | grep foo
+ RUN: clang-cc -E -trigraphs %s | not grep abc
+ RUN: clang-cc -E -trigraphs %s | not grep xyz
RUN: clang-cc -fsyntax-only -trigraphs -verify %s
*/
// __COUNTER__ support: rdar://4329310
-// RUN: clang -E %s > %t &&
+// RUN: clang -E %s > %t
#define PASTE2(x,y) x##y
#define PASTE1(x,y) PASTE2(x,y)
#define UNIQUE(x) PASTE1(x,__COUNTER__)
-// RUN: grep "A: 0" %t &&
+// RUN: grep "A: 0" %t
A: __COUNTER__
-// RUN: grep "B: foo1" %t &&
+// RUN: grep "B: foo1" %t
B: UNIQUE(foo);
-// RUN: grep "C: foo2" %t &&
+// RUN: grep "C: foo2" %t
C: UNIQUE(foo);
// RUN: grep "D: 3" %t
D: __COUNTER__
-// RUN: clang-cc -dump-tokens %s 2> %t &&
-// RUN: grep "identifier '\$A'" %t &&
-// RUN: clang-cc -dump-tokens -x assembler-with-cpp %s 2> %t &&
+// RUN: clang-cc -dump-tokens %s 2> %t
+// RUN: grep "identifier '\$A'" %t
+// RUN: clang-cc -dump-tokens -x assembler-with-cpp %s 2> %t
// RUN: grep "identifier 'A'" %t
// PR3808
-// RUN: clang-cc -E -trigraphs %s | grep -- ' ->' &&
-// RUN: clang-cc -E -trigraphs %s 2>&1 | grep 'backslash and newline separated by space' &&
+// RUN: clang-cc -E -trigraphs %s | grep -- ' ->'
+// RUN: clang-cc -E -trigraphs %s 2>&1 | grep 'backslash and newline separated by space'
// RUN: clang-cc -E -trigraphs %s 2>&1 | grep 'trigraph converted'
// This is an ugly way to spell a -> token.
-/* RUN: clang-cc -fsyntax-only -verify %s &&
+/* RUN: clang-cc -fsyntax-only -verify %s
* RUN: clang-cc -std=gnu89 -fsyntax-only -verify %s
rdar://6096838
*/
-// RUN: clang-cc -E -x c -o %t %s &&
+// RUN: clang-cc -E -x c -o %t %s
// RUN: grep 'IDENT.2' %t
IDENT.2
-// RUN: clang-cc -fsyntax-only %s > %t 2>&1 &&
+// RUN: clang-cc -fsyntax-only %s > %t 2>&1
#define M1(x) x
-// RUN: grep ":6:12: note: instantiated from:" %t &&
+// RUN: grep ":6:12: note: instantiated from:" %t
#define M2 1;
void foo() {
- // RUN: grep ":10:2: warning: expression result unused" %t &&
+ // RUN: grep ":10:2: warning: expression result unused" %t
M1(
- // RUN: grep ":12:5: note: instantiated from:" %t &&
+ // RUN: grep ":12:5: note: instantiated from:" %t
M2)
}
-// RUN: grep ":16:11: note: instantiated from:" %t &&
+// RUN: grep ":16:11: note: instantiated from:" %t
#define A 1
-// RUN: grep ":18:11: note: instantiated from:" %t &&
+// RUN: grep ":18:11: note: instantiated from:" %t
#define B A
-// RUN: grep ":20:11: note: instantiated from:" %t &&
+// RUN: grep ":20:11: note: instantiated from:" %t
#define C B
void bar() {
// This should warn by default.
-// RUN: clang-cc %s 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s 2>&1 | grep "warning:"
// This should not emit anything.
-// RUN: clang-cc %s -Wno-extra-tokens 2>&1 | not grep diagnostic &&
+// RUN: clang-cc %s -Wno-extra-tokens 2>&1 | not grep diagnostic
// -Werror can map all warnings to error.
-// RUN: clang-cc %s -Werror 2>&1 | grep "error:" &&
+// RUN: clang-cc %s -Werror 2>&1 | grep "error:"
// -Werror can map this one warning to error.
-// RUN: clang-cc %s -Werror=extra-tokens 2>&1 | grep "error:" &&
+// RUN: clang-cc %s -Werror=extra-tokens 2>&1 | grep "error:"
// Mapping unrelated diags to errors doesn't affect this one.
-// RUN: clang-cc %s -Werror=trigraphs 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s -Werror=trigraphs 2>&1 | grep "warning:"
// This should stay a warning with -pedantic.
-// RUN: clang-cc %s -pedantic 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s -pedantic 2>&1 | grep "warning:"
// This should emit an error with -pedantic-errors.
-// RUN: clang-cc %s -pedantic-errors 2>&1 | grep "error:" &&
+// RUN: clang-cc %s -pedantic-errors 2>&1 | grep "error:"
// This should emit a warning, because -Wfoo overrides -pedantic*.
-// RUN: clang-cc %s -pedantic-errors -Wextra-tokens 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s -pedantic-errors -Wextra-tokens 2>&1 | grep "warning:"
// This should emit nothing, because -Wno-extra-tokens overrides -pedantic*
// RUN: clang-cc %s -pedantic-errors -Wno-extra-tokens 2>&1 | not grep diagnostic
// This should warn by default.
-// RUN: clang-cc %s 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s 2>&1 | grep "warning:"
// This should not emit anything.
-// RUN: clang-cc %s -w 2>&1 | not grep diagnostic &&
-// RUN: clang-cc %s -Wno-#warnings 2>&1 | not grep diagnostic &&
+// RUN: clang-cc %s -w 2>&1 | not grep diagnostic
+// RUN: clang-cc %s -Wno-#warnings 2>&1 | not grep diagnostic
// -Werror can map all warnings to error.
-// RUN: clang-cc %s -Werror 2>&1 | grep "error:" &&
+// RUN: clang-cc %s -Werror 2>&1 | grep "error:"
// -Werror can map this one warning to error.
-// RUN: clang-cc %s -Werror=#warnings 2>&1 | grep "error:" &&
+// RUN: clang-cc %s -Werror=#warnings 2>&1 | grep "error:"
// -Wno-error= overrides -Werror. rdar://3158301
-// RUN: clang-cc %s -Werror -Wno-error=#warnings 2>&1 | grep "warning:" &&
+// RUN: clang-cc %s -Werror -Wno-error=#warnings 2>&1 | grep "warning:"
// -Wno-error overrides -Werror. PR4715
// RUN: clang-cc %s -Werror -Wno-error 2>&1 | grep "warning:"
-// RUN: clang -fsyntax-only -fmessage-length=72 %s 2>&1 | FileCheck -strict-whitespace %s &&
+// RUN: clang -fsyntax-only -fmessage-length=72 %s 2>&1 | FileCheck -strict-whitespace %s
// RUN: clang -fsyntax-only -fmessage-length=1 %s
// Hack so we can check things better, force the file name and line.
// Test this without pch.
-// RUN: clang-cc -triple i386-unknown-unknown -include %S/asm.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -include %S/asm.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -triple i386-unknown-unknown -emit-pch -o %t %S/asm.h &&
+// RUN: clang-cc -triple i386-unknown-unknown -emit-pch -o %t %S/asm.h
// RUN: clang-cc -triple i386-unknown-unknown -include-pch %t -fsyntax-only -verify %s
// Test this without pch.
-// RUN: clang-cc -include %S/attrs.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/attrs.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/attrs.h &&
+// RUN: clang-cc -emit-pch -o %t %S/attrs.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
// expected-note{{previous overload}}
double f(double); // expected-error{{overloadable}}
// Test this without pch.
-// RUN: clang-cc -fblocks -include %S/blocks.h -fsyntax-only -emit-llvm -o - %s &&
+// RUN: clang-cc -fblocks -include %S/blocks.h -fsyntax-only -emit-llvm -o - %s
// Test with pch.
-// RUN: clang-cc -emit-pch -fblocks -o %t %S/blocks.h &&
+// RUN: clang-cc -emit-pch -fblocks -o %t %S/blocks.h
// RUN: clang-cc -fblocks -include-pch %t -fsyntax-only -emit-llvm -o - %s
int do_add(int x, int y) { return add(x, y); }
// Test this without pch.
-// RUN: clang-cc -include %S/builtins.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/builtins.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/builtins.h &&
+// RUN: clang-cc -emit-pch -o %t %S/builtins.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
void hello() {
// Test this without pch.
-// RUN: clang-cc -include %S/enum.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/enum.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/enum.h &&
+// RUN: clang-cc -emit-pch -o %t %S/enum.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int i = Red;
// Test this without pch.
-// RUN: clang-cc -fblocks -include %S/exprs.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -fblocks -include %S/exprs.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -fblocks -o %t %S/exprs.h &&
+// RUN: clang-cc -emit-pch -fblocks -o %t %S/exprs.h
// RUN: clang-cc -fblocks -include-pch %t -fsyntax-only -verify %s
int integer;
// Test this without pch.
-// RUN: clang-cc -include %S/ext_vector.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/ext_vector.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/ext_vector.h &&
+// RUN: clang-cc -emit-pch -o %t %S/ext_vector.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int test(float4 f4) {
// Test with pch.
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/external-defs.h &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -include-pch %t.pch -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/external-defs.h
+// RUN: clang-cc -triple x86_64-apple-darwin9 -include-pch %t.pch -emit-llvm -o %t %s
-// RUN: grep "@x = common global i32 0" %t | count 1 &&
-// RUN: grep "@z" %t | count 0 &&
+// RUN: grep "@x = common global i32 0" %t | count 1
+// RUN: grep "@z" %t | count 0
-// RUN: grep "@x2 = global i32 19" %t | count 1 &&
+// RUN: grep "@x2 = global i32 19" %t | count 1
int x2 = 19;
-// RUN: grep "@incomplete_array = common global .*1 x i32" %t | count 1 &&
-// RUN: grep "@incomplete_array2 = common global .*17 x i32" %t | count 1 &&
+// RUN: grep "@incomplete_array = common global .*1 x i32" %t | count 1
+// RUN: grep "@incomplete_array2 = common global .*17 x i32" %t | count 1
int incomplete_array2[17];
// RUN: grep "@incomplete_array3 = common global .*1 x i32" %t | count 1
int incomplete_array3[];
// Test this without pch.
-// RUN: clang-cc -include %S/functions.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/functions.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/functions.h &&
+// RUN: clang-cc -emit-pch -o %t %S/functions.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int f0(int x0, int y0, ...) { return x0 + y0; }
// Test with pch.
-// RUN: clang-cc -emit-pch -DFOO -o %t %S/variables.h &&
-// RUN: clang-cc -DBAR=int -include-pch %t -fsyntax-only -pedantic %s &&
-// RUN: clang-cc -DFOO -DBAR=int -include-pch %t -Werror %s &&
+// RUN: clang-cc -emit-pch -DFOO -o %t %S/variables.h
+// RUN: clang-cc -DBAR=int -include-pch %t -fsyntax-only -pedantic %s
+// RUN: clang-cc -DFOO -DBAR=int -include-pch %t -Werror %s
// RUN: not clang-cc -DFOO -DBAR=int -DX=5 -include-pch %t -Werror %s
BAR bar = 17;
// Test this without pch.
-// RUN: clang-cc -include %S/line-directive.h -fsyntax-only %s 2>&1|grep "25:5" &&
+// RUN: clang-cc -include %S/line-directive.h -fsyntax-only %s 2>&1|grep "25:5"
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/line-directive.h &&
+// RUN: clang-cc -emit-pch -o %t %S/line-directive.h
// RUN: clang-cc -include-pch %t -fsyntax-only %s 2>&1|grep "25:5"
double x; // expected-error{{redefinition of 'x' with a different type}}
// Test this without pch.
-// RUN: clang-cc -include %S/method_pool.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/method_pool.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/method_pool.h &&
+// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/method_pool.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int message_id(id x) {
// Test this without pch.
-// RUN: clang-cc -include %S/multiple_decls.h -fsyntax-only -ast-print -o - %s &&
+// RUN: clang-cc -include %S/multiple_decls.h -fsyntax-only -ast-print -o - %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/multiple_decls.h &&
+// RUN: clang-cc -emit-pch -o %t %S/multiple_decls.h
// RUN: clang-cc -include-pch %t -fsyntax-only -ast-print -o - %s
void f0(char c) {
// Test this without pch.
-// RUN: clang-cc -include %S/nonvisible-external-defs.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/nonvisible-external-defs.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/nonvisible-external-defs.h &&
+// RUN: clang-cc -emit-pch -o %t %S/nonvisible-external-defs.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int g(int, float); // expected-error{{conflicting types}}
// Test this without pch.
-// RUN: clang-cc -fblocks -include %S/objc_exprs.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -fblocks -include %S/objc_exprs.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -x objective-c-header -emit-pch -fblocks -o %t %S/objc_exprs.h &&
+// RUN: clang-cc -x objective-c-header -emit-pch -fblocks -o %t %S/objc_exprs.h
// RUN: clang-cc -fblocks -include-pch %t -fsyntax-only -verify %s
// Expressions
// Test this without pch.
-// RUN: clang-cc -include %S/objc_import.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/objc_import.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_import.h &&
+// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_import.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
#import "objc_import.h"
// Test this without pch.
-// RUN: clang-cc -include %S/objc_methods.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/objc_methods.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_methods.h &&
+// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_methods.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
void func() {
// Test this without pch.
-// RUN: clang-cc -include %S/objc_property.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/objc_property.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_property.h &&
+// RUN: clang-cc -x=objective-c -emit-pch -o %t %S/objc_property.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
void func() {
-// RUN: clang -x c-header -o %t.pch %s &&
-// RUN: echo > %t.empty.c &&
+// RUN: clang -x c-header -o %t.pch %s
+// RUN: echo > %t.empty.c
// RUN: clang -include %t -x c %t.empty.c -emit-llvm -S -o -
// PR 4489: Crash with PCH
// PR 4492: Crash with PCH (round two)
-// RUN: clang-cc -emit-pch -o %t %S/preprocess.h &&
+// RUN: clang-cc -emit-pch -o %t %S/preprocess.h
// RUN: clang-cc -include-pch %t -E -o - %s | grep -c "a_typedef" | count 1
#include "preprocess.h"
-// RUN: clang-cc -emit-pch -o %t --relocatable-pch -isysroot %S/libroot %S/libroot/usr/include/reloc.h &&
-// RUN: clang-cc -include-pch %t -isysroot %S/libroot %s -verify &&
+// RUN: clang-cc -emit-pch -o %t --relocatable-pch -isysroot %S/libroot %S/libroot/usr/include/reloc.h
+// RUN: clang-cc -include-pch %t -isysroot %S/libroot %s -verify
// RUN: not clang-cc -include-pch %t %s
#include <reloc.h>
// Test this without pch.
-// RUN: clang-cc -include %S/stmts.h -fsyntax-only -emit-llvm -o - %s &&
+// RUN: clang-cc -include %S/stmts.h -fsyntax-only -emit-llvm -o - %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/stmts.h &&
+// RUN: clang-cc -emit-pch -o %t %S/stmts.h
// RUN: clang-cc -include-pch %t -fsyntax-only -emit-llvm -o - %s
void g0(void) { f0(5); }
// Test this without pch.
-// RUN: clang-cc -include %S/struct.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/struct.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/struct.h &&
+// RUN: clang-cc -emit-pch -o %t %S/struct.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
struct Point *p1;
// Test with pch.
-// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/tentative-defs.h &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -include-pch %t.pch -verify -emit-llvm -o %t %s &&
+// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/tentative-defs.h
+// RUN: clang-cc -triple x86_64-apple-darwin9 -include-pch %t.pch -verify -emit-llvm -o %t %s
-// RUN: grep "@variable = common global i32 0" %t | count 1 &&
+// RUN: grep "@variable = common global i32 0" %t | count 1
// RUN: grep "@incomplete_array = common global .*1 x i32" %t | count 1
// Test this without pch.
-// RUN: clang-cc -fblocks -include %S/types.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -fblocks -include %S/types.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -fblocks -o %t %S/types.h &&
+// RUN: clang-cc -emit-pch -fblocks -o %t %S/types.h
// RUN: clang-cc -fblocks -include-pch %t -fsyntax-only -verify %s
typedef int INT;
// Test this without pch.
-// RUN: clang-cc -triple=x86_64-unknown-freebsd7.0 -include %S/va_arg.h %s -emit-llvm -o - &&
+// RUN: clang-cc -triple=x86_64-unknown-freebsd7.0 -include %S/va_arg.h %s -emit-llvm -o -
// Test with pch.
-// RUN: clang-cc -triple=x86_64-unknown-freebsd7.0 -emit-pch -o %t %S/va_arg.h &&
+// RUN: clang-cc -triple=x86_64-unknown-freebsd7.0 -emit-pch -o %t %S/va_arg.h
// RUN: clang-cc -triple=x86_64-unknown-freebsd7.0 -include-pch %t %s -emit-llvm -o -
char *g0(char** argv, int argc) { return argv[argc]; }
// Test this without pch.
-// RUN: clang-cc -include %S/variables.h -fsyntax-only -verify %s &&
+// RUN: clang-cc -include %S/variables.h -fsyntax-only -verify %s
// Test with pch.
-// RUN: clang-cc -emit-pch -o %t %S/variables.h &&
+// RUN: clang-cc -emit-pch -o %t %S/variables.h
// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
int *ip2 = &x;
-// RUN: clang-cc %s -std=c90 -verify &&
+// RUN: clang-cc %s -std=c90 -verify
// RUN: clang-cc %s -std=c99
int f (int z) {
-// RUN: clang-cc -fsyntax-only -verify %s &&
+// RUN: clang-cc -fsyntax-only -verify %s
// RUN: clang-cc -fsyntax-only -verify -x objective-c++ %s
void * proc();
-// RUN: clang-cc %s -E 2>&1 | grep 'DO_PRAGMA (STR' &&
+// RUN: clang-cc %s -E 2>&1 | grep 'DO_PRAGMA (STR'
// RUN: clang-cc %s -E 2>&1 | grep '7:3'
#define DO_PRAGMA _Pragma
-// RUN: clang-cc %s -E | grep '#pragma x y z' &&
+// RUN: clang-cc %s -E | grep '#pragma x y z'
// RUN: clang-cc %s -E | grep '#pragma a b c'
_Pragma("x y z")
-// RUN: clang-cc -x assembler-with-cpp -fdollars-in-identifiers=0 -E %s -o - | FileCheck -strict-whitespace -check-prefix=CHECK-Identifiers-False %s &&
+// RUN: clang-cc -x assembler-with-cpp -fdollars-in-identifiers=0 -E %s -o - | FileCheck -strict-whitespace -check-prefix=CHECK-Identifiers-False %s
#ifndef __ASSEMBLER__
#error "__ASSEMBLER__ not defined"
6: FOO(blarg)
// CHECK-Identifiers-False: 6: blarg $foo
-// RUN: clang-cc -x assembler-with-cpp -fdollars-in-identifiers=1 -E %s -o - | FileCheck -check-prefix=CHECK-Identifiers-True -strict-whitespace %s &&
+// RUN: clang-cc -x assembler-with-cpp -fdollars-in-identifiers=1 -E %s -o - | FileCheck -check-prefix=CHECK-Identifiers-True -strict-whitespace %s
#define FOO(name) name ## $foo
7: FOO(blarg)
// CHECK-Identifiers-True: 7: blarg$foo
-// RUN: clang-cc %s -E | grep "^ 4" &&
+// RUN: clang-cc %s -E | grep "^ 4"
#define FOO __LINE__
FOO
-// RUN: clang-cc -E -C %s | FileCheck -check-prefix=CHECK-C -strict-whitespace %s &&
+// RUN: clang-cc -E -C %s | FileCheck -check-prefix=CHECK-C -strict-whitespace %s
// CHECK-C: boo bork bar // zot
-// RUN: clang-cc -E -CC %s | FileCheck -check-prefix=CHECK-CC -strict-whitespace %s &&
+// RUN: clang-cc -E -CC %s | FileCheck -check-prefix=CHECK-CC -strict-whitespace %s
// CHECK-CC: boo bork /* blah*/ bar // zot
// RUN: clang-cc -E %s | FileCheck -check-prefix=CHECK -strict-whitespace %s
-// RUN: clang-cc -DA -DB -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA -E %s | grep 'int a = 927 == 927' &&
-// RUN: clang-cc -DB -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA -DB -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA -E %s | grep 'int a = 927 == 927'
+// RUN: clang-cc -DB -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if defined(A) and defined(B)
#define X 37
-// RUN: clang-cc -DA=1 -DB=2 -E %s | grep 'int a = 927 == 927' &&
-// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 37 == 37' &&
+// RUN: clang-cc -DA=1 -DB=2 -E %s | grep 'int a = 927 == 927'
+// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 37 == 37'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if A bitand B
#define X 37
-// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=0 -DB=1 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=1 -DB=0 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=0 -DB=0 -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=0 -DB=1 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=1 -DB=0 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=0 -DB=0 -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if A bitor B
#define X 37
-// RUN: clang-cc -DA=1 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=0 -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA=1 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=0 -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if compl 0 bitand A
#define X 37
-// RUN: clang-cc -DA=1 -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA=1 -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -E %s | grep 'int a = 37 == 37'
#if not defined(A)
#define X 37
-// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 927 == 927' &&
-// RUN: clang-cc -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 927 == 927'
+// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -DA=1 -DB=2 -E %s | grep 'int a = 37 == 37'
#if A not_eq B
#define X 37
-// RUN: not clang-cc %s -E &&
+// RUN: not clang-cc %s -E
// RUN: clang-cc %s -E -fno-operator-names
// Not valid in C++ unless -fno-operator-names is passed.
-// RUN: clang-cc -DA -DB -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DB -E %s | grep 'int a = 37 == 37' &&
+// RUN: clang-cc -DA -DB -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DB -E %s | grep 'int a = 37 == 37'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if defined(A) or defined(B)
#define X 37
-/* RUN: clang-cc -E %s -x=c++ | grep block_1 &&
- RUN: clang-cc -E %s -x=c++ | not grep block_2 &&
+/* RUN: clang-cc -E %s -x=c++ | grep block_1
+ RUN: clang-cc -E %s -x=c++ | not grep block_2
RUN: clang-cc -E %s -x=c | not grep block
*/
-// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 927 == 927' &&
-// RUN: clang-cc -DA=0 -DB=1 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=1 -DB=0 -E %s | grep 'int a = 37 == 37' &&
-// RUN: clang-cc -DA=0 -DB=0 -E %s | grep 'int a = 927 == 927' &&
+// RUN: clang-cc -DA=1 -DB=1 -E %s | grep 'int a = 927 == 927'
+// RUN: clang-cc -DA=0 -DB=1 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=1 -DB=0 -E %s | grep 'int a = 37 == 37'
+// RUN: clang-cc -DA=0 -DB=0 -E %s | grep 'int a = 927 == 927'
// RUN: clang-cc -E %s | grep 'int a = 927 == 927'
#if A xor B
#define X 37
-// RUN: clang -E -o %t.1 %s &&
-// RUN: clang -E -MD -MF %t.d -MT foo -o %t.2 %s &&
-// RUN: diff %t.1 %t.2 &&
-// RUN: grep "foo:" %t.d &&
+// RUN: clang -E -o %t.1 %s
+// RUN: clang -E -MD -MF %t.d -MT foo -o %t.2 %s
+// RUN: diff %t.1 %t.2
+// RUN: grep "foo:" %t.d
// RUN: grep "dependencies-and-pp.c" %t.d
-// RUN: clang %s -E -dD | grep __INTMAX_MAX__ &&
+// RUN: clang %s -E -dD | grep __INTMAX_MAX__
// RUN: clang %s -E -dM | grep __INTMAX_MAX__
-// RUN: clang-cc -E -dM %s -o %t &&
+// RUN: clang-cc -E -dM %s -o %t
// Space even without expansion tokens
-// RUN: grep "#define A(x) " %t &&
+// RUN: grep "#define A(x) " %t
#define A(x)
// Space before expansion list.
-// RUN: grep "#define B(x,y) x y" %t &&
+// RUN: grep "#define B(x,y) x y" %t
#define B(x,y)x y
// No space in expansion list.
-// RUN: grep "#define C(x,y) x y" %t &&
+// RUN: grep "#define C(x,y) x y" %t
#define C(x, y) x y
// No paste avoidance.
-// RUN: grep "#define X() .." %t &&
+// RUN: grep "#define X() .." %t
#define X() ..
// Simple test.
-// RUN: grep "#define Y ." %t &&
-// RUN: grep "#define Z X()Y" %t &&
+// RUN: grep "#define Y ." %t
+// RUN: grep "#define Z X()Y" %t
#define Y .
#define Z X()Y
// gcc prints macros at end of translation unit, so last one wins.
-// RUN: grep "#define foo 2" %t &&
+// RUN: grep "#define foo 2" %t
// RUN: not grep "#define foo 1" %t
#define foo 1
#undef foo
// Comma is not allowed in C89
-// RUN: not clang-cc -E %s -std=c89 -pedantic-errors &&
+// RUN: not clang-cc -E %s -std=c89 -pedantic-errors
// Comma is allowed if unevaluated in C99
// RUN: clang-cc -E %s -std=c99 -pedantic-errors
-// RUN: not clang-cc -E %s 2>&1 | grep 'invalid token at start of a preprocessor expression' &&
-// RUN: not clang-cc -E %s 2>&1 | grep 'token is not a valid binary operator in a preprocessor subexpression' &&
+// RUN: not clang-cc -E %s 2>&1 | grep 'invalid token at start of a preprocessor expression'
+// RUN: not clang-cc -E %s 2>&1 | grep 'token is not a valid binary operator in a preprocessor subexpression'
// RUN: not clang-cc -E %s 2>&1 | grep ':14: error: expected end of line in preprocessor expression'
// PR2220
-/* RUN: clang-cc -E %s -DNO_ERRORS -Werror -Wundef &&
+/* RUN: clang-cc -E %s -DNO_ERRORS -Werror -Wundef
RUN: not clang-cc -E %s
*/
-// RUN: clang-cc %s --triple=i686-apple-darwin9 &&
+// RUN: clang-cc %s --triple=i686-apple-darwin9
// RUN: clang-cc %s -E --triple=i686-apple-darwin9
#ifndef __has_feature
#error Should have __has_feature
// The 1 and # should not go on the same line.
-// RUN: clang-cc %s -E | not grep "1 #" &&
-// RUN: clang-cc %s -E | grep '^1$' &&
+// RUN: clang-cc %s -E | not grep "1 #"
+// RUN: clang-cc %s -E | grep '^1$'
// RUN: clang-cc %s -E | grep '^ #$'
1
#define EMPTY
-// RUN: clang-cc %s -Eonly -Werror=undef -verify &&
+// RUN: clang-cc %s -Eonly -Werror=undef -verify
// RUN: clang-cc %s -Eonly -Werror-undef -verify
extern int x;
-// RUN: clang-cc -emit-pth %s -o %t &&
+// RUN: clang-cc -emit-pth %s -o %t
// RUN: clang-cc -include-pth %t %s -E | grep 'file_to_include' | count 2
#include "file_to_include.h"
-// RUN: clang-cc -E -dM -x=assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s &&
+// RUN: clang-cc -E -dM -x=assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
//
// ASM:#define __ASSEMBLER__ 1
//
//
-// RUN: clang-cc -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s &&
+// RUN: clang-cc -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
//
// BLOCKS:#define __BLOCKS__ 1
// BLOCKS:#define __block __attribute__((__blocks__(byref)))
//
//
-// RUN: clang-cc -x=c++ -std=c++0x -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s &&
+// RUN: clang-cc -x=c++ -std=c++0x -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
//
// CXX0X:#define _GNU_SOURCE 1
// CXX0X:#define __DEPRECATED 1
// CXX0X:#define __private_extern__ extern
//
//
-// RUN: clang-cc -x=c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s &&
+// RUN: clang-cc -x=c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
//
// CXX98:#define _GNU_SOURCE 1
// CXX98:#define __DEPRECATED 1
// CXX98:#define __private_extern__ extern
//
//
-// RUN: clang-cc -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s &&
+// RUN: clang-cc -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
//
// C99:#define __STDC_VERSION__ 199901L
// C99:#define __STRICT_ANSI__ 1
//
//
-// RUN: clang-cc -E -dM -fms-extensions=0 < /dev/null | FileCheck -check-prefix COMMON %s &&
+// RUN: clang-cc -E -dM -fms-extensions=0 < /dev/null | FileCheck -check-prefix COMMON %s
//
// COMMON:#define __CONSTANT_CFSTRINGS__ 1
// COMMON:#define __FINITE_MATH_ONLY__ 0
// COMMON:#define __llvm__ 1
//
//
-// RUN: clang-cc -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s &&
+// RUN: clang-cc -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
// FREESTANDING:#define __STDC_HOSTED__ 0
//
-// RUN: clang-cc -x=c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s &&
+// RUN: clang-cc -x=c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
//
// GXX98:#define _GNU_SOURCE 1
// GXX98:#define __DEPRECATED 1
// GXX98:#define __private_extern__ extern
//
//
-// RUN: clang-cc -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s &&
+// RUN: clang-cc -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
//
// C94:#define __STDC_VERSION__ 199409L
//
//
-// RUN: clang-cc -fms-extensions -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s &&
+// RUN: clang-cc -fms-extensions -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
//
// MSEXT-NOT:#define __STDC__
// MSEXT:#define __int16 __INT16_TYPE__
// MSEXT:#define __int8 __INT8_TYPE__
//
//
-// RUN: clang-cc -x=objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s &&
+// RUN: clang-cc -x=objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
//
// OBJC:#define OBJC_NEW_PROPERTIES 1
// OBJC:#define __OBJC__ 1
//
//
-// RUN: clang-cc -x=objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s &&
+// RUN: clang-cc -x=objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
//
// OBJCGC:#define __OBJC_GC__ 1
//
//
-// RUN: clang-cc -x=objective-c -fnext-runtime -E -dM < /dev/null | FileCheck -check-prefix NEXTRT %s &&
+// RUN: clang-cc -x=objective-c -fnext-runtime -E -dM < /dev/null | FileCheck -check-prefix NEXTRT %s
//
// NEXTRT:#define __NEXT_RUNTIME__ 1
//
//
-// RUN: clang-cc -x=objective-c -fobjc-nonfragile-abi -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s &&
+// RUN: clang-cc -x=objective-c -fobjc-nonfragile-abi -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
//
// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
// NONFRAGILE:#define __OBJC2__ 1
//
//
-// RUN: clang-cc -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s &&
+// RUN: clang-cc -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
//
// O1:#define __OPTIMIZE__ 1
//
//
-// RUN: clang-cc -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s &&
+// RUN: clang-cc -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
//
// PASCAL:#define __PASCAL_STRINGS__ 1
//
//
-// RUN: clang-cc -fsigned-char -E -dM -fms-extensions=0 < /dev/null | FileCheck -check-prefix SCHAR %s &&
+// RUN: clang-cc -fsigned-char -E -dM -fms-extensions=0 < /dev/null | FileCheck -check-prefix SCHAR %s
//
// SCHAR:#define __STDC__ 1
// SCHAR-NOT:#define __UNSIGNED_CHAR__
// SCHAR:#define __clang__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
//
// ARM:#define __APCS_32__ 1
// ARM:#define __ARMEL__ 1
// ARM:#define __arm 1
// ARM:#define __arm__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
//
// BFIN:#define BFIN 1
// BFIN:#define __ADSPBLACKFIN__ 1
// BFIN:#define __bfin__ 1
// BFIN:#define bfin 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
//
// I386:#define __CHAR_BIT__ 8
// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
// I386:#define __tune_nocona__ 1
// I386:#define i386 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
//
// MSP430:#define MSP430 1
// MSP430:#define __CHAR_BIT__ 8
// MSP430:#define __WINT_TYPE__ int
// MSP430:#define __clang__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=pic16-none-none < /dev/null | FileCheck -check-prefix PIC16 %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=pic16-none-none < /dev/null | FileCheck -check-prefix PIC16 %s
//
// PIC16:#define _CONFIG(conf) asm("CONFIG "#conf)
// PIC16:#define __CHAR_BIT__ 8
// PIC16:#define ram __attribute__((address_space(0)))
// PIC16:#define rom __attribute__((address_space(1)))
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc64-none-none < /dev/null | FileCheck -check-prefix PPC64 %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc64-none-none < /dev/null | FileCheck -check-prefix PPC64 %s
//
// PPC64:#define _ARCH_PPC 1
// PPC64:#define _ARCH_PPC64 1
// PPC64:#define __ppc64__ 1
// PPC64:#define __ppc__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc-none-none < /dev/null | FileCheck -check-prefix PPC %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc-none-none < /dev/null | FileCheck -check-prefix PPC %s
//
// PPC:#define _ARCH_PPC 1
// PPC:#define _BIG_ENDIAN 1
// PPC:#define __WINT_TYPE__ int
// PPC:#define __ppc__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=s390x-none-none < /dev/null | FileCheck -check-prefix S390X %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=s390x-none-none < /dev/null | FileCheck -check-prefix S390X %s
//
// S390X:#define __CHAR_BIT__ 8
// S390X:#define __CHAR_UNSIGNED__ 1
// S390X:#define __s390__ 1
// S390X:#define __s390x__ 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
//
// SPARC:#define __CHAR_BIT__ 8
// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
// SPARC:#define __sparcv8 1
// SPARC:#define sparc 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
//
// TCE:#define __CHAR_BIT__ 8
// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
// TCE:#define __tce__ 1
// TCE:#define tce 1
//
-// RUN: clang-cc -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s &&
+// RUN: clang-cc -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
//
// X86_64:#define _LP64 1
// X86_64:#define __CHAR_BIT__ 8
-// RUN: clang-cc -fsyntax-only -verify -pedantic -fms-extensions=0 %s &&
-// RUN: clang-cc -E %s 2>&1 | grep 'blonk.c:92:2: error: #error ABC' &&
+// RUN: clang-cc -fsyntax-only -verify -pedantic -fms-extensions=0 %s
+// RUN: clang-cc -E %s 2>&1 | grep 'blonk.c:92:2: error: #error ABC'
// RUN: clang-cc -E %s 2>&1 | grep 'blonk.c:93:2: error: #error DEF'
#line 'a' // expected-error {{#line directive requires a positive integer argument}}
-// RUN: clang -E %s "-DX=A &&
-// RUN: THIS_SHOULD_NOT_EXIST_IN_THE_OUTPUT" > %t &&
-// RUN: grep "GOOD: A" %t &&
+// RUN: clang -E %s "-DX=A
+// RUN: THIS_SHOULD_NOT_EXIST_IN_THE_OUTPUT" > %t
+// RUN: grep "GOOD: A" %t
// RUN: not grep THIS_SHOULD_NOT_EXIST_IN_THE_OUTPUT %t
// rdar://6762183
-// RUN: clang-cc -E %s | grep 'a: 2 + M_0(3)(4)(5);' &&
+// RUN: clang-cc -E %s | grep 'a: 2 + M_0(3)(4)(5);'
// RUN: clang-cc -E %s | grep 'b: 4 + 4 + 3 + 2 + 1 + M_0(3)(2)(1);'
#define M_0(x) M_ ## x
-// RUN: clang-cc -E %s | grep '^A: Y$' &&
-// RUN: clang-cc -E %s | grep '^B: f()$' &&
+// RUN: clang-cc -E %s | grep '^A: Y$'
+// RUN: clang-cc -E %s | grep '^B: f()$'
// RUN: clang-cc -E %s | grep '^C: for()$'
#define X() Y
// Test the GNU comma swallowing extension.
-// RUN: clang-cc %s -E | grep 'foo{A, }' &&
-// RUN: clang-cc %s -E | grep 'fo2{A,}' &&
-// RUN: clang-cc %s -E | grep '{foo}' &&
+// RUN: clang-cc %s -E | grep 'foo{A, }'
+// RUN: clang-cc %s -E | grep 'fo2{A,}'
+// RUN: clang-cc %s -E | grep '{foo}'
#define X(Y) foo{A, Y}
X()
-// RUN: clang-cc %s -E | grep 'bar foo (2)' &&
+// RUN: clang-cc %s -E | grep 'bar foo (2)'
// RUN: clang-cc %s -E | grep 'm(ABCD)'
#define foo(x) bar x
-// RUN: clang-cc -E %s | grep 'noexp: foo y' &&
-// RUN: clang-cc -E %s | grep 'expand: abc' &&
-// RUN: clang-cc -E %s | grep 'noexp2: foo nonexp' &&
+// RUN: clang-cc -E %s | grep 'noexp: foo y'
+// RUN: clang-cc -E %s | grep 'expand: abc'
+// RUN: clang-cc -E %s | grep 'noexp2: foo nonexp'
// RUN: clang-cc -E %s | grep 'expand2: abc'
#define A foo
-// RUN: clang-cc %s -E | grep 'pre: 1 1 X' &&
+// RUN: clang-cc %s -E | grep 'pre: 1 1 X'
// RUN: clang-cc %s -E | grep 'nopre: 1A(X)'
/* Preexpansion of argument. */
-// RUN: clang-cc -E %s | grep 'foo{a, b, c, d, e}' &&
-// RUN: clang-cc -E %s | grep 'foo2{d, C, B}' &&
+// RUN: clang-cc -E %s | grep 'foo{a, b, c, d, e}'
+// RUN: clang-cc -E %s | grep 'foo2{d, C, B}'
// RUN: clang-cc -E %s | grep 'foo2{d,e, C, B}'
#define va1(...) foo{a, __VA_ARGS__, e}
-// RUN: clang-cc -E %s | grep '^a: x$' &&
-// RUN: clang-cc -E %s | grep '^b: x y, z,h$' &&
+// RUN: clang-cc -E %s | grep '^a: x$'
+// RUN: clang-cc -E %s | grep '^b: x y, z,h$'
// RUN: clang-cc -E %s | grep '^c: foo(x)$'
#define A(b, c...) b c
-// RUN: clang-cc %s -Eonly 2>&1 | grep error &&
-// RUN: clang-cc %s -Eonly 2>&1 | not grep unterminated &&
+// RUN: clang-cc %s -Eonly 2>&1 | grep error
+// RUN: clang-cc %s -Eonly 2>&1 | not grep unterminated
// RUN: clang-cc %s -Eonly 2>&1 | not grep scratch
#define COMM / ## *
-// RUN: clang-cc %s -E | grep 'V);' &&
-// RUN: clang-cc %s -E | grep 'W, 1, 2);' &&
-// RUN: clang-cc %s -E | grep 'X, 1, 2);' &&
-// RUN: clang-cc %s -E | grep 'Y, );' &&
+// RUN: clang-cc %s -E | grep 'V);'
+// RUN: clang-cc %s -E | grep 'W, 1, 2);'
+// RUN: clang-cc %s -E | grep 'X, 1, 2);'
+// RUN: clang-cc %s -E | grep 'Y, );'
// RUN: clang-cc %s -E | grep 'Z, );'
#define debug(format, ...) format, ## __VA_ARGS__)
-// RUN: clang-cc -E %s | grep 'a:Y' &&
-// RUN: clang-cc -E %s | grep 'b:Y' &&
+// RUN: clang-cc -E %s | grep 'a:Y'
+// RUN: clang-cc -E %s | grep 'b:Y'
// RUN: clang-cc -E %s | grep 'c:YY'
#define FOO(X) X ## Y
-// RUN: clang-cc -E %s | grep '1: aaab 2' &&
-// RUN: clang-cc -E %s | grep '2: 2 baaa' &&
+// RUN: clang-cc -E %s | grep '1: aaab 2'
+// RUN: clang-cc -E %s | grep '2: 2 baaa'
// RUN: clang-cc -E %s | grep '3: 2 xx'
#define a(n) aaa ## n
-// RUN: clang-cc -E %s | grep 'ei_1 = (17 +1);' &&
+// RUN: clang-cc -E %s | grep 'ei_1 = (17 +1);'
// RUN: clang-cc -E %s | grep 'ei_2 = (M1)(17);'
#define M1(a) (a+1)
-// RUN: clang-cc %s -E | grep 'a: 2\*f(9)' &&
+// RUN: clang-cc %s -E | grep 'a: 2\*f(9)'
// RUN: clang-cc %s -E | grep 'b: 2\*9\*g'
#define f(a) a*g
-// RUN: clang-cc -Eonly %s -DOPT_O2 -O2 -verify &&
+// RUN: clang-cc -Eonly %s -DOPT_O2 -O2 -verify
#ifdef OPT_O2
#ifndef __OPTIMIZE__
#error "__OPTIMIZE__ not defined"
#endif
#endif
-// RUN: clang-cc -Eonly %s -DOPT_O0 -O0 -verify &&
+// RUN: clang-cc -Eonly %s -DOPT_O0 -O0 -verify
#ifdef OPT_O0
#ifdef __OPTIMIZE__
#error "__OPTIMIZE__ defined"
-// RUN: clang -ccc-host-triple i386-unknown-unknown -static -dM -E -o %t %s &&
-// RUN: grep '#define __PIC__' %t | count 0 &&
-// RUN: grep '#define __pic__' %t | count 0 &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -fpic -dM -E -o %t %s &&
-// RUN: grep '#define __PIC__ 1' %t | count 1 &&
-// RUN: grep '#define __pic__ 1' %t | count 1 &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -fPIC -dM -E -o %t %s &&
-// RUN: grep '#define __PIC__ 2' %t | count 1 &&
-// RUN: grep '#define __pic__ 2' %t | count 1 &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -static -dM -E -o %t %s
+// RUN: grep '#define __PIC__' %t | count 0
+// RUN: grep '#define __pic__' %t | count 0
+// RUN: clang -ccc-host-triple i386-unknown-unknown -fpic -dM -E -o %t %s
+// RUN: grep '#define __PIC__ 1' %t | count 1
+// RUN: grep '#define __pic__ 1' %t | count 1
+// RUN: clang -ccc-host-triple i386-unknown-unknown -fPIC -dM -E -o %t %s
+// RUN: grep '#define __PIC__ 2' %t | count 1
+// RUN: grep '#define __pic__ 2' %t | count 1
// RUN: true
-// RUN: clang-cc -E %s | grep '#pragma foo bar' &&
+// RUN: clang-cc -E %s | grep '#pragma foo bar'
// RUN: clang-cc -fsyntax-only -Wunknown-pragmas -verify %s
// GCC doesn't expand macro args for unrecognized pragmas.
-/* RUN: clang-cc -E %s | grep 'a 3' &&
- * RUN: clang-cc -E %s | grep 'b 16' &&
- * RUN: clang-cc -E -P %s | grep 'a 3' &&
- * RUN: clang-cc -E -P %s | grep 'b 16' &&
+/* RUN: clang-cc -E %s | grep 'a 3'
+ * RUN: clang-cc -E %s | grep 'b 16'
+ * RUN: clang-cc -E -P %s | grep 'a 3'
+ * RUN: clang-cc -E -P %s | grep 'b 16'
* RUN: clang-cc -E %s | not grep '# 0 '
* PR1848
* PR3437
-// RUN: clang-cc -E -ffreestanding -triple=arm-none-none %s | FileCheck -check-prefix ARM %s &&
+// RUN: clang-cc -E -ffreestanding -triple=arm-none-none %s | FileCheck -check-prefix ARM %s
//
// ARM:typedef long long int int64_t;
// ARM:typedef unsigned long long int uint64_t;
// ARM:UINTMAX_C_(0) (0ULL)
//
//
-// RUN: clang-cc -E -ffreestanding -triple=bfin-none-none %s | FileCheck -check-prefix BFIN %s &&
+// RUN: clang-cc -E -ffreestanding -triple=bfin-none-none %s | FileCheck -check-prefix BFIN %s
//
// BFIN:typedef long long int int64_t;
// BFIN:typedef unsigned long long int uint64_t;
// BFIN:UINTMAX_C_(0) (0ULL)
//
//
-// RUN: clang-cc -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s &&
+// RUN: clang-cc -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s
//
// I386:typedef long long int int64_t;
// I386:typedef unsigned long long int uint64_t;
// I386:INTMAX_C_(0) (0LL)
// I386:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s &&
+// RUN: clang-cc -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
//
// MSP430:typedef long long int int32_t;
// MSP430:typedef unsigned long long int uint32_t;
// MSP430:INTMAX_C_(0) (0LL)
// MSP430:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=pic16-none-none %s | FileCheck -check-prefix PIC16 %s &&
+// RUN: clang-cc -E -ffreestanding -triple=pic16-none-none %s | FileCheck -check-prefix PIC16 %s
//
// PIC16:typedef long long int int32_t;
// PIC16:typedef unsigned long long int uint32_t;
// PIC16:INTMAX_C_(0) (0LL)
// PIC16:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s &&
+// RUN: clang-cc -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
//
// PPC64:typedef long int int64_t;
// PPC64:typedef unsigned long int uint64_t;
// PPC64:INTMAX_C_(0) (0LL)
// PPC64:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s &&
+// RUN: clang-cc -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
//
//
// PPC:typedef long long int int64_t;
// PPC:INTMAX_C_(0) (0LL)
// PPC:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s &&
+// RUN: clang-cc -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s
//
// S390X:typedef long long int int64_t;
// S390X:typedef unsigned long long int uint64_t;
// S390X:INTMAX_C_(0) (0LL)
// S390X:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s &&
+// RUN: clang-cc -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
//
// SPARC:typedef long long int int64_t;
// SPARC:typedef unsigned long long int uint64_t;
// SPARC:INTMAX_C_(0) (0LL)
// SPARC:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s &&
+// RUN: clang-cc -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
//
// TCE:typedef int int32_t;
// TCE:typedef unsigned int uint32_t;
// TCE:INTMAX_C_(0) (0LL)
// TCE:UINTMAX_C_(0) (0ULL)
//
-// RUN: clang-cc -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s &&
+// RUN: clang-cc -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
//
//
// X86_64:typedef long int int64_t;
// FIXME: Use -triple, not -ccc-host-triple.
-// RUN: clang -ccc-host-triple i386-unknown-unknown -march=core2 -msse4 -x c -E -dM -o %t %s &&
-// RUN: grep '#define __SSE2_MATH__ 1' %t &&
-// RUN: grep '#define __SSE2__ 1' %t &&
-// RUN: grep '#define __SSE3__ 1' %t &&
-// RUN: grep '#define __SSE4_1__ 1' %t &&
-// RUN: grep '#define __SSE4_2__ 1' %t &&
-// RUN: grep '#define __SSE_MATH__ 1' %t &&
-// RUN: grep '#define __SSE__ 1' %t &&
-// RUN: grep '#define __SSSE3__ 1' %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -march=core2 -msse4 -x c -E -dM -o %t %s
+// RUN: grep '#define __SSE2_MATH__ 1' %t
+// RUN: grep '#define __SSE2__ 1' %t
+// RUN: grep '#define __SSE3__ 1' %t
+// RUN: grep '#define __SSE4_1__ 1' %t
+// RUN: grep '#define __SSE4_2__ 1' %t
+// RUN: grep '#define __SSE_MATH__ 1' %t
+// RUN: grep '#define __SSE__ 1' %t
+// RUN: grep '#define __SSSE3__ 1' %t
-// RUN: clang -ccc-host-triple i386-unknown-unknown -march=core2 -msse4 -mno-sse2 -x c -E -dM -o %t %s &&
-// RUN: grep '#define __SSE2_MATH__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE2__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE3__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE4_1__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE4_2__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE_MATH__ 1' %t &&
-// RUN: grep '#define __SSE__ 1' %t &&
-// RUN: grep '#define __SSSE3__ 1' %t | count 0 &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -march=core2 -msse4 -mno-sse2 -x c -E -dM -o %t %s
+// RUN: grep '#define __SSE2_MATH__ 1' %t | count 0
+// RUN: grep '#define __SSE2__ 1' %t | count 0
+// RUN: grep '#define __SSE3__ 1' %t | count 0
+// RUN: grep '#define __SSE4_1__ 1' %t | count 0
+// RUN: grep '#define __SSE4_2__ 1' %t | count 0
+// RUN: grep '#define __SSE_MATH__ 1' %t
+// RUN: grep '#define __SSE__ 1' %t
+// RUN: grep '#define __SSSE3__ 1' %t | count 0
-// RUN: clang -ccc-host-triple i386-unknown-unknown -march=pentium-m -x c -E -dM -o %t %s &&
-// RUN: grep '#define __SSE2_MATH__ 1' %t &&
-// RUN: grep '#define __SSE2__ 1' %t &&
-// RUN: grep '#define __SSE3__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE4_1__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE4_2__ 1' %t | count 0 &&
-// RUN: grep '#define __SSE_MATH__ 1' %t &&
-// RUN: grep '#define __SSE__ 1' %t &&
-// RUN: grep '#define __SSSE3__ 1' %t | count 0 &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -march=pentium-m -x c -E -dM -o %t %s
+// RUN: grep '#define __SSE2_MATH__ 1' %t
+// RUN: grep '#define __SSE2__ 1' %t
+// RUN: grep '#define __SSE3__ 1' %t | count 0
+// RUN: grep '#define __SSE4_1__ 1' %t | count 0
+// RUN: grep '#define __SSE4_2__ 1' %t | count 0
+// RUN: grep '#define __SSE_MATH__ 1' %t
+// RUN: grep '#define __SSE__ 1' %t
+// RUN: grep '#define __SSSE3__ 1' %t | count 0
// RUN: true
-// RUN: clang-cc -rewrite-objc %s -o - &&
+// RUN: clang-cc -rewrite-objc %s -o -
// RUN: clang-cc -rewrite-objc %s -o - | grep 'newInv->_container'
@interface NSMutableArray
-// RUN: clang-cc -verify -fsyntax-only -std=c90 %s &&
+// RUN: clang-cc -verify -fsyntax-only -std=c90 %s
// RUN: clang-cc -verify -fsyntax-only -std=c99 %s
int f (int x)
-// RUN: clang-cc -verify -fsyntax-only -std=c90 %s &&
+// RUN: clang-cc -verify -fsyntax-only -std=c90 %s
// RUN: clang-cc -verify -fsyntax-only -std=c99 %s
struct s
-// RUN: clang-cc -verify -fsyntax-only %s &&
-// RUN: clang-cc -emit-llvm -o %t %s &&
+// RUN: clang-cc -verify -fsyntax-only %s
+// RUN: clang-cc -emit-llvm -o %t %s
#include <stdlib.h>
__attribute((malloc))
void * xalloc(unsigned n) { return malloc(n); } // no-warning
-// RUN: grep 'define noalias .* @xalloc(' %t &&
+// RUN: grep 'define noalias .* @xalloc(' %t
#define malloc_like __attribute((__malloc__))
void * xalloc2(unsigned) malloc_like;
-// RUN: clang-cc -fsyntax-only -verify %s &&
+// RUN: clang-cc -fsyntax-only -verify %s
// RUN: clang-cc -fsyntax-only -triple x86_64-apple-darwin9 -verify %s
int a[10];
return index << 2;
}
-typedef int rindex;
\ No newline at end of file
+typedef int rindex;
-/* RUN: clang-cc -fsyntax-only %s -std=c89 &&
+/* RUN: clang-cc -fsyntax-only %s -std=c89
* RUN: not clang-cc -fsyntax-only %s -std=c99 -pedantic-errors
*/
-// RUN: clang-cc -Wparentheses -fsyntax-only -verify %s &&
+// RUN: clang-cc -Wparentheses -fsyntax-only -verify %s
// RUN: clang-cc -Wparentheses -fixit %s -o - | clang-cc -Wparentheses -Werror -
// Test the various warnings under -Wparentheses
-// RUN: clang-cc -triple i686-apple-darwin9 %s -fsyntax-only -verify &&
+// RUN: clang-cc -triple i686-apple-darwin9 %s -fsyntax-only -verify
// RUN: clang-cc -triple x86_64-apple-darwin9 %s -fsyntax-only -verify
// rdar://problem/7095436
-// RUN: clang-cc -fsyntax-only -verify %s &&
+// RUN: clang-cc -fsyntax-only -verify %s
// RUN: clang-cc -fsyntax-only -verify %s -triple x86_64-apple-darwin9
void f1(int a)
-// RUN: clang-cc %s -fsyntax-only -verify &&
+// RUN: clang-cc %s -fsyntax-only -verify
// RUN: clang-cc %s -fsyntax-only -fshort-wchar -verify -DSHORT_WCHAR
#include <wchar.h>
-// RUN: clang -fsyntax-only %s &&
-// RUN: clang -fsyntax-only -fno-lax-vector-conversions %s &&
+// RUN: clang -fsyntax-only %s
+// RUN: clang -fsyntax-only -fno-lax-vector-conversions %s
// RUN: clang -fsyntax-only -x c++ %s
#if defined(i386) || defined(__x86_64__)
-// RUN: clang-cc -triple x86_64-unknown-unknown %s -fsyntax-only -verify &&
+// RUN: clang-cc -triple x86_64-unknown-unknown %s -fsyntax-only -verify
// RUN: clang-cc -triple i686-unknown-unknown %s -fsyntax-only -verify
void f() {
void f(C &c, D& d) {
c->f(); // expected-error{{use of overloaded operator '->' is ambiguous}}
d->f();
-}
\ No newline at end of file
+}
}
int ptrcmp2(long *a, int *b) {
return a < b; // expected-error{{distinct}}
-}
\ No newline at end of file
+}
-// RUN: clang-cc -ast-print %s -o %t &&
+// RUN: clang-cc -ast-print %s -o %t
// RUN: not grep '^ *class B' %t
// Tests that the tag decls in friend declarations aren't added to the
int foo(int x) { return x; }
};
}
-}
\ No newline at end of file
+}
-// RUN: clang-cc -triple x86_64-unknown-unknown %s -fsyntax-only -verify &&
+// RUN: clang-cc -triple x86_64-unknown-unknown %s -fsyntax-only -verify
// RUN: clang-cc -triple i686-unknown-unknown %s -fsyntax-only -verify
#include <stddef.h>
void destroy_without_call(int *ip) {
ip->~Integer; // expected-error{{called immediately}}
-}
\ No newline at end of file
+}
E e(10, c); // expected-warning{{cannot pass object of non-POD type 'class C' through variadic constructor; call will abort at runtime}}
(void)E(10, c); // expected-warning{{cannot pass object of non-POD type 'class C' through variadic constructor; call will abort at runtime}}
-}
\ No newline at end of file
+}
-// RUN: clang-cc -triple i386-unknown-unknown -ast-print %s &&
+// RUN: clang-cc -triple i386-unknown-unknown -ast-print %s
// RUN: clang-cc -triple x86_64-apple-darwin10 -ast-print %s
@interface current
-// RUN: clang-cc %s -verify -fsyntax-only &&
+// RUN: clang-cc %s -verify -fsyntax-only
// RUN: clang-cc %s -verify -fsyntax-only -DDECLAREIT
// a declaration of NSConstantString is not required.
template <typename T> void f(T *t)
{
(void)static_cast<void*>(static_cast<A*>(t));
-}
\ No newline at end of file
+}
# the test runner updated.
execute_external = platform.system() != 'Windows'
config.test_format = lit.formats.ShTest(execute_external,
- require_and_and = True)
+ require_and_and = False)
# suffixes: A list of file extensions to treat as test files.
config.suffixes = ['.c', '.cpp', '.m', '.mm']