summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/autoload-subdirectory.cpp
diff options
context:
space:
mode:
authorYuka Takahashi <yukatkh@gmail.com>2018-07-10 12:17:34 +0000
committerYuka Takahashi <yukatkh@gmail.com>2018-07-10 12:17:34 +0000
commita15364152cf4d6267a82b616151de301291f2f5b (patch)
tree9f0199ce6c9e8187c067e8d5cf45285dde7754f1 /clang/test/Modules/autoload-subdirectory.cpp
parent1ffeb5d7f0a96df2e06b10252092dca3bbe610aa (diff)
downloadbcm5719-llvm-a15364152cf4d6267a82b616151de301291f2f5b.tar.gz
bcm5719-llvm-a15364152cf4d6267a82b616151de301291f2f5b.zip
[modules] Fix 37878; Autoload subdirectory modulemaps with specific LangOpts
Summary: Reproducer and errors: https://bugs.llvm.org/show_bug.cgi?id=37878 lookupModule was falling back to loadSubdirectoryModuleMaps when it couldn't find ModuleName in (proper) search paths. This was causing iteration over all files in the search path subdirectories for example "/usr/include/foobar" in bugzilla case. Users don't expect Clang to load modulemaps in subdirectories implicitly, and also the disk access is not cheap. if (AllowExtraModuleMapSearch) true with ObjC with @import ModuleName. Reviewers: rsmith, aprantl, bruno Subscribers: cfe-commits, teemperor, v.g.vassilev Differential Revision: https://reviews.llvm.org/D48367 llvm-svn: 336660
Diffstat (limited to 'clang/test/Modules/autoload-subdirectory.cpp')
-rw-r--r--clang/test/Modules/autoload-subdirectory.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Modules/autoload-subdirectory.cpp b/clang/test/Modules/autoload-subdirectory.cpp
new file mode 100644
index 00000000000..e76f7056abe
--- /dev/null
+++ b/clang/test/Modules/autoload-subdirectory.cpp
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -fmodules -fmodule-name=Foo -I %S/Inputs/autoload-subdirectory/ %s -verify
+// expected-no-diagnostics
+
+#include "a.h"
+#import "c.h"
+
+int main() {
+ foo neko;
+ return 0;
+}
OpenPOWER on IntegriCloud