diff options
| -rw-r--r-- | clang/include/clang/Basic/LangOptions.def | 4 | ||||
| -rw-r--r-- | clang/test/Modules/declare-use-compatible.cpp | 36 |
2 files changed, 38 insertions, 2 deletions
diff --git a/clang/include/clang/Basic/LangOptions.def b/clang/include/clang/Basic/LangOptions.def index 8a7df1b88bf..f5c1a16ca71 100644 --- a/clang/include/clang/Basic/LangOptions.def +++ b/clang/include/clang/Basic/LangOptions.def @@ -123,9 +123,9 @@ BENIGN_LANGOPT(EmitAllDecls , 1, 0, "support for emitting all declarations" LANGOPT(MathErrno , 1, 1, "errno support for math functions") BENIGN_LANGOPT(HeinousExtensions , 1, 0, "Extensions that we really don't like and may be ripped out at any time") LANGOPT(Modules , 1, 0, "modules extension to C") -LANGOPT(ModulesDeclUse , 1, 0, "require declaration of module uses") +COMPATIBLE_LANGOPT(ModulesDeclUse , 1, 0, "require declaration of module uses") LANGOPT(ModulesSearchAll , 1, 1, "search even non-imported modules to find unresolved references") -LANGOPT(ModulesStrictDeclUse, 1, 0, "require declaration of module uses and all headers to be in modules") +COMPATIBLE_LANGOPT(ModulesStrictDeclUse, 1, 0, "require declaration of module uses and all headers to be in modules") LANGOPT(ModulesErrorRecovery, 1, 1, "automatically import modules as needed when performing error recovery") BENIGN_LANGOPT(ModulesImplicitMaps, 1, 1, "use files called module.modulemap implicitly as module maps") COMPATIBLE_LANGOPT(Optimize , 1, 0, "__OPTIMIZE__ predefined macro") diff --git a/clang/test/Modules/declare-use-compatible.cpp b/clang/test/Modules/declare-use-compatible.cpp new file mode 100644 index 00000000000..4c3d79bd71c --- /dev/null +++ b/clang/test/Modules/declare-use-compatible.cpp @@ -0,0 +1,36 @@ +// Used module not built with -decluse. +// RUN: rm -rf %t +// RUN: %clang_cc1 -x c++ -fmodules -fmodule-name=XB -emit-module \ +// RUN: -I %S/Inputs/declare-use %S/Inputs/declare-use/module.map -o %t/b.pcm +// RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t \ +// RUN: -fmodules-decluse \ +// RUN: -fmodule-file=%t/b.pcm -fmodule-name=XE -I %S/Inputs/declare-use %s +// +// Main module not built with -decluse. +// RUN: rm -rf %t +// RUN: %clang_cc1 -x c++ -fmodules -fmodule-name=XB -emit-module \ +// RUN: -fmodules-decluse \ +// RUN: -I %S/Inputs/declare-use %S/Inputs/declare-use/module.map -o %t/b.pcm +// RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t \ +// RUN: -fmodule-file=%t/b.pcm -fmodule-name=XE -I %S/Inputs/declare-use %s +// +// Used module not built with -decluse. +// RUN: rm -rf %t +// RUN: %clang_cc1 -x c++ -fmodules -fmodule-name=XB -emit-module \ +// RUN: -I %S/Inputs/declare-use %S/Inputs/declare-use/module.map -o %t/b.pcm +// RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t \ +// RUN: -fmodules-strict-decluse \ +// RUN: -fmodule-file=%t/b.pcm -fmodule-name=XE -I %S/Inputs/declare-use %s +// +// Main module not built with -decluse. +// RUN: rm -rf %t +// RUN: %clang_cc1 -x c++ -fmodules -fmodule-name=XB -emit-module \ +// RUN: -fmodules-strict-decluse \ +// RUN: -I %S/Inputs/declare-use %S/Inputs/declare-use/module.map -o %t/b.pcm +// RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t \ +// RUN: -fmodule-file=%t/b.pcm -fmodule-name=XE -I %S/Inputs/declare-use %s + +#include "b.h" + +const int g = b; + |

