diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:49:41 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:49:41 +0000 |
commit | 45b533945f0851ec234ca846e1af5ee1e4df0b6e (patch) | |
tree | 0a5b74c0b9ca73aded34df95c91fcaf3815230d8 /test/Frontend | |
parent | 7e86edd64bfae4e324224452e4ea879b3371a4bd (diff) | |
download | src-45b533945f0851ec234ca846e1af5ee1e4df0b6e.tar.gz src-45b533945f0851ec234ca846e1af5ee1e4df0b6e.zip |
Vendor import of clang trunk r256633:vendor/clang/clang-trunk-r256633
Notes
Notes:
svn path=/vendor/clang/dist/; revision=292920
svn path=/vendor/clang/clang-trunk-r256633/; revision=292923; tag=vendor/clang/clang-trunk-r256633
Diffstat (limited to 'test/Frontend')
-rw-r--r-- | test/Frontend/Inputs/profile-sample-use-loc-tracking.prof | 2 | ||||
-rw-r--r-- | test/Frontend/darwin-version.c | 22 | ||||
-rw-r--r-- | test/Frontend/dependency-gen.c | 5 | ||||
-rw-r--r-- | test/Frontend/force-include-not-found.c | 3 | ||||
-rw-r--r-- | test/Frontend/optimization-remark-analysis.c | 21 | ||||
-rw-r--r-- | test/Frontend/optimization-remark-line-directive.c | 2 | ||||
-rw-r--r-- | test/Frontend/optimization-remark-options.c | 21 | ||||
-rw-r--r-- | test/Frontend/optimization-remark.c | 2 | ||||
-rw-r--r-- | test/Frontend/print-header-includes.c | 8 | ||||
-rw-r--r-- | test/Frontend/source-col-map.c | 1 |
10 files changed, 83 insertions, 4 deletions
diff --git a/test/Frontend/Inputs/profile-sample-use-loc-tracking.prof b/test/Frontend/Inputs/profile-sample-use-loc-tracking.prof index ba9a678a4526..c5b8d9ef1a89 100644 --- a/test/Frontend/Inputs/profile-sample-use-loc-tracking.prof +++ b/test/Frontend/Inputs/profile-sample-use-loc-tracking.prof @@ -1,2 +1,2 @@ bar:100:100 -1: 2000 + 1: 2000 diff --git a/test/Frontend/darwin-version.c b/test/Frontend/darwin-version.c index 2da0c4c7a574..e7bc41117e3f 100644 --- a/test/Frontend/darwin-version.c +++ b/test/Frontend/darwin-version.c @@ -13,6 +13,8 @@ // RUN: %clang_cc1 -triple i386-apple-macosx10.4.0 -dM -E -o %t %s // RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1040' | count 1 // RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__' %t // RUN: %clang_cc1 -triple i386-apple-macosx10.4.10 -dM -E -o %t %s // RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '1049' | count 1 // RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t @@ -25,3 +27,23 @@ // RUN: %clang_cc1 -triple x86_64-apple-macosx10.10.0 -dM -E -o %t %s // RUN: grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t | grep '101000' | count 1 // RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t + +// RUN: %clang_cc1 -triple arm64-apple-tvos8.3 -dM -E -o %t %s +// RUN: grep '__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__' %t | grep '80300' | count 1 +// RUN: not grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t + +// RUN: %clang_cc1 -triple x86_64-apple-tvos8.3 -dM -E -o %t %s +// RUN: grep '__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__' %t | grep '80300' | count 1 +// RUN: not grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t + +// RUN: %clang_cc1 -triple armv7k-apple-watchos2.1 -dM -E -o %t %s +// RUN: grep '__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__' %t | grep '20100' | count 1 +// RUN: not grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t + +// RUN: %clang_cc1 -triple i386-apple-watchos2.1 -dM -E -o %t %s +// RUN: grep '__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__' %t | grep '20100' | count 1 +// RUN: not grep '__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__' %t +// RUN: not grep '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' %t diff --git a/test/Frontend/dependency-gen.c b/test/Frontend/dependency-gen.c index 0465dc864e42..054aa79e3d49 100644 --- a/test/Frontend/dependency-gen.c +++ b/test/Frontend/dependency-gen.c @@ -20,7 +20,10 @@ // RUN: cd a/b // RUN: %clang -MD -MF - %s -fsyntax-only -I ./ | FileCheck -check-prefix=CHECK-SIX %s // CHECK-SIX: {{ }}x.h - +// RUN: echo "fun:foo" > %t.blacklist +// RUN: %clang -MD -MF - %s -fsyntax-only -fsanitize=cfi-vcall -flto -fsanitize-blacklist=%t.blacklist -I ./ | FileCheck -check-prefix=CHECK-SEVEN %s +// CHECK-SEVEN: .blacklist +// CHECK-SEVEN: {{ }}x.h #ifndef INCLUDE_FLAG_TEST #include <x.h> #endif diff --git a/test/Frontend/force-include-not-found.c b/test/Frontend/force-include-not-found.c new file mode 100644 index 000000000000..191cf9d403db --- /dev/null +++ b/test/Frontend/force-include-not-found.c @@ -0,0 +1,3 @@ +// RUN: not %clang_cc1 %s -include "/abspath/missing file with spaces.h" 2>&1 | FileCheck %s +// CHECK: file not found +int main() { } diff --git a/test/Frontend/optimization-remark-analysis.c b/test/Frontend/optimization-remark-analysis.c new file mode 100644 index 000000000000..5b4d9aec41ae --- /dev/null +++ b/test/Frontend/optimization-remark-analysis.c @@ -0,0 +1,21 @@ +// RUN: %clang -O1 -fvectorize -target x86_64-unknown-unknown -emit-llvm -Rpass-analysis -S %s -o - 2>&1 | FileCheck %s --check-prefix=RPASS +// RUN: %clang -O1 -fvectorize -target x86_64-unknown-unknown -emit-llvm -S %s -o - 2>&1 | FileCheck %s + +// RPASS: {{.*}}:21:1: remark: loop not vectorized: loop contains a switch statement +// CHECK-NOT: {{.*}}:21:1: remark: loop not vectorized: loop contains a switch statement + +double foo(int N, int *Array) { + double v = 0.0; + + #pragma clang loop vectorize(enable) + for (int i = 0; i < N; i++) { + switch(Array[i]) { + case 0: v += 1.0f; break; + case 1: v -= 0.5f; break; + case 2: v *= 2.0f; break; + default: v = 0.0f; + } + } + + return v; +} diff --git a/test/Frontend/optimization-remark-line-directive.c b/test/Frontend/optimization-remark-line-directive.c index f4c0011fb4f8..8e95e33fe6da 100644 --- a/test/Frontend/optimization-remark-line-directive.c +++ b/test/Frontend/optimization-remark-line-directive.c @@ -2,7 +2,7 @@ // directives. We cannot map #line directives back to // a SourceLocation. -// RUN: %clang_cc1 %s -Rpass=inline -gline-tables-only -dwarf-column-info -emit-llvm-only -verify +// RUN: %clang_cc1 %s -Rpass=inline -debug-info-kind=line-tables-only -dwarf-column-info -emit-llvm-only -verify int foo(int x, int y) __attribute__((always_inline)); int foo(int x, int y) { return x + y; } diff --git a/test/Frontend/optimization-remark-options.c b/test/Frontend/optimization-remark-options.c new file mode 100644 index 000000000000..74fbeaf5d0c1 --- /dev/null +++ b/test/Frontend/optimization-remark-options.c @@ -0,0 +1,21 @@ +// RUN: %clang -O1 -fvectorize -target x86_64-unknown-unknown -Rpass-analysis=loop-vectorize -emit-llvm -S %s -o - 2>&1 | FileCheck %s + +// CHECK: {{.*}}:9:11: remark: loop not vectorized: cannot prove it is safe to reorder floating-point operations; allow reordering by specifying '#pragma clang loop vectorize(enable)' before the loop or by providing the compiler option '-ffast-math'. + +double foo(int N) { + double v = 0.0; + + for (int i = 0; i < N; i++) + v = v + 1.0; + + return v; +} + +// CHECK: {{.*}}:18:13: remark: loop not vectorized: cannot prove it is safe to reorder memory operations; allow reordering by specifying '#pragma clang loop vectorize(enable)' before the loop. If the arrays will always be independent specify '#pragma clang loop vectorize(assume_safety)' before the loop or provide the '__restrict__' qualifier with the independent array arguments. Erroneous results will occur if these options are incorrectly applied! + +void foo2(int *dw, int *uw, int *A, int *B, int *C, int *D, int N) { + for (int i = 0; i < N; i++) { + dw[i] = A[i] + B[i - 1] + C[i - 2] + D[i - 3]; + uw[i] = A[i] + B[i + 1] + C[i + 2] + D[i + 3]; + } +} diff --git a/test/Frontend/optimization-remark.c b/test/Frontend/optimization-remark.c index 6ada0030a700..e5bd75cbdb30 100644 --- a/test/Frontend/optimization-remark.c +++ b/test/Frontend/optimization-remark.c @@ -4,7 +4,7 @@ // optimization level. // RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -verify -// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -gline-tables-only -verify +// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -debug-info-kind=line-tables-only -verify // RUN: %clang_cc1 %s -Rpass=inline -emit-llvm -o - 2>/dev/null | FileCheck %s // // Check that we can override -Rpass= with -Rno-pass. diff --git a/test/Frontend/print-header-includes.c b/test/Frontend/print-header-includes.c index 966b4af86069..3f2b0696cd1e 100644 --- a/test/Frontend/print-header-includes.c +++ b/test/Frontend/print-header-includes.c @@ -13,4 +13,12 @@ // MS: Note: including file: {{.*test2.h}} // MS-NOT: Note +// RUN: echo "fun:foo" > %t.blacklist +// RUN: %clang_cc1 -fsanitize=address -fdepfile-entry=%t.blacklist -E --show-includes -o %t.out %s > %t.stdout +// RUN: FileCheck --check-prefix=MS-BLACKLIST < %t.stdout %s +// MS-BLACKLIST: Note: including file: {{.*\.blacklist}} +// MS-BLACKLIST: Note: including file: {{.*test.h}} +// MS-BLACKLIST: Note: including file: {{.*test2.h}} +// MS-BLACKLIST-NOT: Note + #include "Inputs/test.h" diff --git a/test/Frontend/source-col-map.c b/test/Frontend/source-col-map.c index ae69fbe565c3..1c8078998c56 100644 --- a/test/Frontend/source-col-map.c +++ b/test/Frontend/source-col-map.c @@ -1,4 +1,5 @@ // RUN: not %clang_cc1 -fsyntax-only -fmessage-length 75 -o /dev/null -x c < %s 2>&1 | FileCheck %s -strict-whitespace +// REQUIRES: utf8-capable-terminal // Test case for the text diagnostics source column conversion crash. |