blob: 4c3f3ea7446464f4ba0ef2a92f2b58c98ad8d953 [file] [log] [blame]
Ben Langmuirb92de022014-04-29 16:25:26 +00001// RUN: rm -rf %t
2// RUN: rm -rf %t-saved
3// RUN: mkdir -p %t-saved
4
5// Initial module build (-Werror=header-guard)
Richard Smith47972af2015-06-16 00:08:24 +00006// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +00007// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
8// RUN: -Werror=header-guard
9// RUN: cp %t/Module.pcm %t-saved/Module.pcm
10
11// Building with looser -Werror options does not rebuild
Richard Smith47972af2015-06-16 00:08:24 +000012// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000013// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella
14// RUN: diff %t/Module.pcm %t-saved/Module.pcm
15
16// Make the build more restricted (-Werror)
Richard Smith47972af2015-06-16 00:08:24 +000017// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000018// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
19// RUN: -Werror -Wno-incomplete-umbrella
20// RUN: not diff %t/Module.pcm %t-saved/Module.pcm
21// RUN: cp %t/Module.pcm %t-saved/Module.pcm
22
23// Ensure -Werror=header-guard is less strict than -Werror
Richard Smith47972af2015-06-16 00:08:24 +000024// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000025// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
26// RUN: -Werror=header-guard -Wno-incomplete-umbrella
27// RUN: diff %t/Module.pcm %t-saved/Module.pcm
28
29// But -Werror=unused is not, because some of its diags are DefaultIgnore
Richard Smith47972af2015-06-16 00:08:24 +000030// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000031// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
32// RUN: -Werror=unused
33// RUN: not diff %t/Module.pcm %t-saved/Module.pcm
34// RUN: cp %t/Module.pcm %t-saved/Module.pcm
35
Richard Smith47972af2015-06-16 00:08:24 +000036// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000037// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
38// RUN: -Werror -Wno-incomplete-umbrella
39
40// FIXME: when rebuilding the module, take the union of the diagnostic options
41// so that we don't need to rebuild here
42// RUN-DISABLED: diff %t/Module.pcm %t-saved/Module.pcm
43
44// -Wno-everything, -Werror
Richard Smith47972af2015-06-16 00:08:24 +000045// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000046// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
47// RUN: -Wno-everything -Wall -Werror
48// RUN: cp %t/Module.pcm %t-saved/Module.pcm
Richard Smith47972af2015-06-16 00:08:24 +000049// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000050// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
51// RUN: -Wall -Werror
52// RUN: not diff %t/Module.pcm %t-saved/Module.pcm
53
54// -pedantic, -Werror is not compatible with -Wall -Werror
Richard Smith47972af2015-06-16 00:08:24 +000055// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000056// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
57// RUN: -Werror -pedantic
58// RUN: not diff %t/Module.pcm %t-saved/Module.pcm
59// RUN: cp %t/Module.pcm %t-saved/Module.pcm
60
61// -pedantic-errors is less strict that -pedantic, -Werror
Richard Smith47972af2015-06-16 00:08:24 +000062// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000063// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
64// RUN: -pedantic-errors
65// RUN: diff %t/Module.pcm %t-saved/Module.pcm
66
67// -Wsystem-headers does not affect non-system modules
Richard Smith47972af2015-06-16 00:08:24 +000068// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash \
Ben Langmuirb92de022014-04-29 16:25:26 +000069// RUN: -F %S/Inputs -fsyntax-only %s -verify -Wno-incomplete-umbrella \
70// RUN: -pedantic-errors -Wsystem-headers
71// RUN: diff %t/Module.pcm %t-saved/Module.pcm
72
73// expected-no-diagnostics
74@import Module;