[modules] Add a flag to disable the feature that permits conflicting redefinitions...
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 22 Jun 2015 21:15:01 +0000 (21:15 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 22 Jun 2015 21:15:01 +0000 (21:15 +0000)
commit529ecb237ac423b29a555b5ef930c118d117a542
tree5c849f3ce3528f70221036e39c8b3be19701bb8d
parent6072d2b97f7a4bf896d5fd308c5c07e33788f445
[modules] Add a flag to disable the feature that permits conflicting redefinitions of internal-linkage symbols that are not visible.

Such conflicts are an accident waiting to happen, and this feature conflicts
with the desire to include existing headers into multiple modules and merge the
results. (In an ideal world, it should not be possible to export internal
linkage symbols from a module, but sadly the glibc and libstdc++ headers
provide 'static inline' functions in a few cases.)

llvm-svn: 240335
clang/include/clang/Basic/LangOptions.def
clang/include/clang/Driver/CC1Options.td
clang/include/clang/Sema/Sema.h
clang/lib/Frontend/CompilerInvocation.cpp
clang/lib/Sema/SemaDecl.cpp
clang/test/Modules/submodules-merge-defs.cpp