summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2016-08-30 21:25:42 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2016-08-30 21:25:42 +0000
commitb69026bf2c3fabafe17600662c9824aed7ce7b5c (patch)
treeb3b4cf423eb483eb6157cbc273919c740e46ea03 /lib
parent7c5e085fb61f7d0fce7a08be2ca09e17dc0b0263 (diff)
downloadclang-b69026bf2c3fabafe17600662c9824aed7ce7b5c.tar.gz
[Modules] Add 'gnuinlineasm' to the 'requires-declaration' feature-list.
This adds support for modules that require (no-)gnu-inline-asm environment, such as the compiler builtin cpuid submodule. This is the gnu-inline-asm variant of https://reviews.llvm.org/D23871 Differential Revision: https://reviews.llvm.org/D23905 rdar://problem/26931199 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@280159 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Basic/Module.cpp1
-rw-r--r--lib/Headers/module.modulemap1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp
index 3d1a40db5e..b37deb1222 100644
--- a/lib/Basic/Module.cpp
+++ b/lib/Basic/Module.cpp
@@ -64,6 +64,7 @@ static bool hasFeature(StringRef Feature, const LangOptions &LangOpts,
.Case("blocks", LangOpts.Blocks)
.Case("cplusplus", LangOpts.CPlusPlus)
.Case("cplusplus11", LangOpts.CPlusPlus11)
+ .Case("gnuinlineasm", LangOpts.GNUAsm)
.Case("objc", LangOpts.ObjC1)
.Case("objc_arc", LangOpts.ObjCAutoRefCount)
.Case("opencl", LangOpts.OpenCL)
diff --git a/lib/Headers/module.modulemap b/lib/Headers/module.modulemap
index 3e40d2c08d..4654b3de29 100644
--- a/lib/Headers/module.modulemap
+++ b/lib/Headers/module.modulemap
@@ -68,6 +68,7 @@ module _Builtin_intrinsics [system] [extern_c] {
}
explicit module cpuid {
+ requires gnuinlineasm
header "cpuid.h"
}