From: Filipe Cabecinhas Date: Thu, 12 Feb 2015 03:37:55 +0000 (+0000) Subject: Fix tests so they work when the linker is gcc X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73aedb5e318e5d1e077333aa648686a15cef319f;p=clang Fix tests so they work when the linker is gcc If the linker is gcc (the default for Generic_ELF toolchains), we end up passing most of the arguments to the linker. Some tests were failing to account for this in their usage of *-NOT: lines and would fail if compiled with -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-unknown git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@228902 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Driver/clang_f_opts.c b/test/Driver/clang_f_opts.c index 3ca9f28475..f6fe9b9894 100644 --- a/test/Driver/clang_f_opts.c +++ b/test/Driver/clang_f_opts.c @@ -384,9 +384,13 @@ // CHECK-NO-WARNING2-NOT: optimization flag '-finline-limit' is not supported -// RUN: %clang -### -fshort-wchar -fno-short-wchar %s 2>&1 | FileCheck -check-prefix=CHECK-WCHAR1 %s -// RUN: %clang -### -fno-short-wchar -fshort-wchar %s 2>&1 | FileCheck -check-prefix=CHECK-WCHAR2 %s +// RUN: %clang -### -fshort-wchar -fno-short-wchar %s 2>&1 | FileCheck -check-prefix=CHECK-WCHAR1 -check-prefix=DELIMITERS %s +// RUN: %clang -### -fno-short-wchar -fshort-wchar %s 2>&1 | FileCheck -check-prefix=CHECK-WCHAR2 -check-prefix=DELIMITERS %s +// Make sure we don't match the -NOT lines with the linker invocation. +// Delimiters match the start of the cc1 and the start of the linker lines +// DELIMITERS: {{^ *"}} // CHECK-WCHAR1: -fno-short-wchar // CHECK-WCHAR1-NOT: -fshort-wchar // CHECK-WCHAR2: -fshort-wchar // CHECK-WCHAR2-NOT: -fno-short-wchar +// DELIMITERS: {{^ *"}} diff --git a/test/Driver/fsanitize-blacklist.c b/test/Driver/fsanitize-blacklist.c index b63ac3461b..c7180ded70 100644 --- a/test/Driver/fsanitize-blacklist.c +++ b/test/Driver/fsanitize-blacklist.c @@ -3,6 +3,11 @@ // PR12920 // REQUIRES: clang-driver, shell +// Make sure we don't match the -NOT lines with the linker invocation. +// Delimiters match the start of the cc1 and the start of the linker lines +// for fragile tests. +// DELIMITERS: {{^ *"}} + // RUN: echo "fun:foo" > %t.good // RUN: echo "fun:bar" > %t.second // RUN: echo "badline" > %t.bad @@ -12,11 +17,11 @@ // CHECK-BLACKLIST: -fsanitize-blacklist={{.*}}.second // Ignore -fsanitize-blacklist flag if there is no -fsanitize flag. -// RUN: %clang -fsanitize-blacklist=%t.good %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SANITIZE +// RUN: %clang -fsanitize-blacklist=%t.good %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SANITIZE --check-prefix=DELIMITERS // CHECK-NO-SANITIZE-NOT: -fsanitize-blacklist // Flag -fno-sanitize-blacklist wins if it is specified later. -// RUN: %clang -fsanitize=address -fsanitize-blacklist=%t.good -fno-sanitize-blacklist %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-BLACKLIST +// RUN: %clang -fsanitize=address -fsanitize-blacklist=%t.good -fno-sanitize-blacklist %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-BLACKLIST --check-prefix=DELIMITERS // CHECK-NO-BLACKLIST-NOT: -fsanitize-blacklist // Driver barks on unexisting blacklist files. @@ -32,3 +37,5 @@ // CHECK-ONLY_FIRST-DISABLED-NOT: good // CHECK-ONLY-FIRST-DISABLED: -fsanitize-blacklist={{.*}}.second // CHECK-ONLY_FIRST-DISABLED-NOT: good + +// DELIMITERS: {{^ *"}} diff --git a/test/Driver/warning-options_pedantic.cpp b/test/Driver/warning-options_pedantic.cpp index e40f7716f4..4dbf92d12b 100644 --- a/test/Driver/warning-options_pedantic.cpp +++ b/test/Driver/warning-options_pedantic.cpp @@ -1,7 +1,13 @@ -// RUN: %clang -### -pedantic -no-pedantic %s 2>&1 | FileCheck -check-prefix=NO_PEDANTIC %s -// RUN: %clang -### -pedantic -Wno-pedantic %s 2>&1 | FileCheck -check-prefix=PEDANTIC %s +// Make sure we don't match the -NOT lines with the linker invocation. +// Delimiters match the start of the cc1 and the start of the linker lines +// DELIMITERS: {{^ *"}} + +// RUN: %clang -### -pedantic -no-pedantic %s 2>&1 | FileCheck -check-prefix=NO_PEDANTIC -check-prefix=DELIMITERS %s +// RUN: %clang -### -pedantic -Wno-pedantic %s 2>&1 | FileCheck -check-prefix=PEDANTIC -check-prefix=DELIMITERS %s // NO_PEDANTIC-NOT: -pedantic -// RUN: %clang -### -pedantic -pedantic -no-pedantic -pedantic %s 2>&1 | FileCheck -check-prefix=PEDANTIC %s -// RUN: %clang -### -pedantic -pedantic -no-pedantic -Wpedantic %s 2>&1 | FileCheck -check-prefix=NO_PEDANTIC %s +// RUN: %clang -### -pedantic -pedantic -no-pedantic -pedantic %s 2>&1 | FileCheck -check-prefix=PEDANTIC -check-prefix=DELIMITERS %s +// RUN: %clang -### -pedantic -pedantic -no-pedantic -Wpedantic %s 2>&1 | FileCheck -check-prefix=NO_PEDANTIC -check-prefix=DELIMITERS %s // PEDANTIC: -pedantic // REQUIRES: clang-driver + +// DELIMITERS: {{^ *"}}