]> granicus.if.org Git - clang/commitdiff
Don't verify module inclusions in assembler files.
authorDaniel Jasper <djasper@google.com>
Fri, 14 Mar 2014 14:53:17 +0000 (14:53 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 14 Mar 2014 14:53:17 +0000 (14:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203929 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/PPDirectives.cpp
test/Modules/Inputs/declare-use/module.map
test/Modules/Inputs/declare-use/s.h [new file with mode: 0644]
test/Modules/declare-use.S [new file with mode: 0644]
test/lit.cfg

index 17b9b09d3e3cd5155ebf994207d34470374cdaf3..8ef3c918f337dae7e117ff33e3bfeae3f84a400d 100644 (file)
@@ -600,7 +600,7 @@ const FileEntry *Preprocessor::LookupFile(
       Filename, FilenameLoc, isAngled, FromDir, CurDir, Includers, SearchPath,
       RelativePath, SuggestedModule, SkipCache);
   if (FE) {
-    if (SuggestedModule)
+    if (SuggestedModule && !LangOpts.AsmPreprocessor)
       HeaderInfo.getModuleMap().diagnoseHeaderInclusion(
           getModuleForLocation(FilenameLoc), FilenameLoc, Filename, FE);
     return FE;
index 40f071289a78db20a521ff9644f701256d07dab5..3b1b0e743e45501dbacaae93a46559c21fae8b4c 100644 (file)
@@ -42,6 +42,10 @@ module XG {
 module XH {
   header "h.h"
   header "h1.h"
+  header "s.h"
   use XC
   use XE
 }
+
+module XS {
+}
diff --git a/test/Modules/Inputs/declare-use/s.h b/test/Modules/Inputs/declare-use/s.h
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/Modules/declare-use.S b/test/Modules/declare-use.S
new file mode 100644 (file)
index 0000000..28650b1
--- /dev/null
@@ -0,0 +1,5 @@
+// RUN: rm -rf %t
+// RUN: %clang -fmodule-maps -fmodules-cache-path=%t -fmodules-decluse -fmodule-name=XS -I %S/Inputs/declare-use -c %s -Xclang -verify
+// expected-no-diagnostics
+
+#include "s.h"
index ddfea8b0d8c2c4b96eea37ef4b3566b7d704055f..f7acb2f156843c5ce74b5c0c4f33d935581874d3 100644 (file)
@@ -44,7 +44,7 @@ else:
 config.test_format = lit.formats.ShTest(execute_external)
 
 # suffixes: A list of file extensions to treat as test files.
-config.suffixes = ['.c', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s']
+config.suffixes = ['.c', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s', '.S']
 
 # excludes: A list of directories to exclude from the testsuite. The 'Inputs'
 # subdirectories contain auxiliary inputs for various tests in their parent