diff options
author | Ben Langmuir <blangmuir@apple.com> | 2014-04-29 16:25:26 +0000 |
---|---|---|
committer | Ben Langmuir <blangmuir@apple.com> | 2014-04-29 16:25:26 +0000 |
commit | b92de02f1744572d0a07df099da909f3204c2404 (patch) | |
tree | adaed27c4d892e01d9ba812d0f5cf6f973e469fd /clang/test | |
parent | f562582d15bbc79de02ebf1ebf83e0fd58504e3f (diff) | |
download | bcm5719-llvm-b92de02f1744572d0a07df099da909f3204c2404.tar.gz bcm5719-llvm-b92de02f1744572d0a07df099da909f3204c2404.zip |
Reapply r207477 and r207479 without cyclic dependency
Fixed by moving ProcessWarningOptions from Frontend into Basic. All of
the dependencies for ProcessWarningOptions were already in Basic, so
this was a small change.
llvm-svn: 207549
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Modules/Werror-Wsystem-headers.m | 23 | ||||
-rw-r--r-- | clang/test/Modules/Werror.m | 75 | ||||
-rw-r--r-- | clang/test/Modules/module_file_info.m | 7 | ||||
-rw-r--r-- | clang/test/Modules/resolution-change.m | 3 |
4 files changed, 107 insertions, 1 deletions
diff --git a/clang/test/Modules/Werror-Wsystem-headers.m b/clang/test/Modules/Werror-Wsystem-headers.m new file mode 100644 index 00000000000..c4cd1a6378c --- /dev/null +++ b/clang/test/Modules/Werror-Wsystem-headers.m @@ -0,0 +1,23 @@ +// REQUIRES: shell +// RUN: rm -rf %t +// RUN: rm -rf %t-saved +// RUN: mkdir %t-saved + +// Initial module build +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -fsyntax-only %s -verify +// RUN: cp %t/cstd.pcm %t-saved/cstd.pcm + +// Even with -Werror don't rebuild a system module +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -fsyntax-only %s -verify -Werror +// RUN: diff %t/cstd.pcm %t-saved/cstd.pcm + +// Unless -Wsystem-headers is on +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -fsyntax-only %s -verify \ +// RUN: -Werror=unused -Wsystem-headers +// RUN: not diff %t/cstd.pcm %t-saved/cstd.pcm + +// expected-no-diagnostics +@import cstd; diff --git a/clang/test/Modules/Werror.m b/clang/test/Modules/Werror.m new file mode 100644 index 00000000000..94a98a5a198 --- /dev/null +++ b/clang/test/Modules/Werror.m @@ -0,0 +1,75 @@ +// REQUIRES: shell +// RUN: rm -rf %t +// RUN: rm -rf %t-saved +// RUN: mkdir -p %t-saved + +// Initial module build (-Werror=header-guard) +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror=header-guard +// RUN: cp %t/Module.pcm %t-saved/Module.pcm + +// Building with looser -Werror options does not rebuild +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella +// RUN: diff %t/Module.pcm %t-saved/Module.pcm + +// Make the build more restricted (-Werror) +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror -Wno-incomplete-umbrella +// RUN: not diff %t/Module.pcm %t-saved/Module.pcm +// RUN: cp %t/Module.pcm %t-saved/Module.pcm + +// Ensure -Werror=header-guard is less strict than -Werror +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror=header-guard -Wno-incomplete-umbrella +// RUN: diff %t/Module.pcm %t-saved/Module.pcm + +// But -Werror=unused is not, because some of its diags are DefaultIgnore +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror=unused +// RUN: not diff %t/Module.pcm %t-saved/Module.pcm +// RUN: cp %t/Module.pcm %t-saved/Module.pcm + +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror -Wno-incomplete-umbrella + +// FIXME: when rebuilding the module, take the union of the diagnostic options +// so that we don't need to rebuild here +// RUN-DISABLED: diff %t/Module.pcm %t-saved/Module.pcm + +// -Wno-everything, -Werror +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Wno-everything -Wall -Werror +// RUN: cp %t/Module.pcm %t-saved/Module.pcm +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Wall -Werror +// RUN: not diff %t/Module.pcm %t-saved/Module.pcm + +// -pedantic, -Werror is not compatible with -Wall -Werror +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -Werror -pedantic +// RUN: not diff %t/Module.pcm %t-saved/Module.pcm +// RUN: cp %t/Module.pcm %t-saved/Module.pcm + +// -pedantic-errors is less strict that -pedantic, -Werror +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -pedantic-errors +// RUN: diff %t/Module.pcm %t-saved/Module.pcm + +// -Wsystem-headers does not affect non-system modules +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fdisable-module-hash \ +// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \ +// RUN: -pedantic-errors -Wsystem-headers +// RUN: diff %t/Module.pcm %t-saved/Module.pcm + +// expected-no-diagnostics +@import Module; diff --git a/clang/test/Modules/module_file_info.m b/clang/test/Modules/module_file_info.m index 9f1ff2221b7..13e086ee48a 100644 --- a/clang/test/Modules/module_file_info.m +++ b/clang/test/Modules/module_file_info.m @@ -2,7 +2,7 @@ @import DependsOnModule; // RUN: rm -rf %t -// RUN: %clang_cc1 -w -fmodules -fdisable-module-hash -fmodules-cache-path=%t -F %S/Inputs -DBLARG -DWIBBLE=WOBBLE %s +// RUN: %clang_cc1 -w -Wunused -fmodules -fdisable-module-hash -fmodules-cache-path=%t -F %S/Inputs -DBLARG -DWIBBLE=WOBBLE %s // RUN: %clang_cc1 -module-file-info %t/DependsOnModule.pcm | FileCheck %s // CHECK: Generated by this Clang: @@ -21,6 +21,11 @@ // CHECK: ABI: // CHECK: Linker version: +// CHECK: Diagnostic options: +// CHECK: IgnoreWarnings: Yes +// CHECK: Warning options: +// CHECK: -Wunused + // CHECK: Header search options: // CHECK: System root [-isysroot=]: '/' // CHECK: Use builtin include directories [-nobuiltininc]: Yes diff --git a/clang/test/Modules/resolution-change.m b/clang/test/Modules/resolution-change.m index a69014c6ae7..011782eec2b 100644 --- a/clang/test/Modules/resolution-change.m +++ b/clang/test/Modules/resolution-change.m @@ -6,6 +6,9 @@ // Use the PCH with the same header search options; should be fine // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -include-pch %t-A.pch %s -fsyntax-only -Werror +// Different -W options are ok +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -include-pch %t-A.pch %s -fsyntax-only -Werror -Wauto-import + // Use the PCH with no way to resolve DependsOnA // RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t -include-pch %t-A.pch %s -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-NODOA %s // CHECK-NODOA: module 'DependsOnA' imported by AST file '{{.*A.pch}}' not found |