forked from OSchip/llvm-project
[libc++] Make sure we include a header when checking compiler macros
Otherwise, it's possible for some __config_site macros not to be picked up.
This commit is contained in:
parent
6a972ffabd
commit
c56bbb3961
|
@ -191,8 +191,12 @@ def compilerMacros(config, flags=''):
|
||||||
be added to the compiler invocation when generating the macros.
|
be added to the compiler invocation when generating the macros.
|
||||||
"""
|
"""
|
||||||
with _makeConfigTest(config) as test:
|
with _makeConfigTest(config) as test:
|
||||||
|
with open(test.getSourcePath(), 'w') as sourceFile:
|
||||||
|
# Make sure files like <__config> are included, since they can define
|
||||||
|
# additional macros.
|
||||||
|
sourceFile.write("#include <cstddef>")
|
||||||
unparsedOutput, err, exitCode, timeoutInfo = _executeScriptInternal(test, [
|
unparsedOutput, err, exitCode, timeoutInfo = _executeScriptInternal(test, [
|
||||||
"%{{cxx}} -xc++ {} -dM -E %{{flags}} %{{compile_flags}} {}".format(os.devnull, flags)
|
"%{{cxx}} %s -dM -E %{{flags}} %{{compile_flags}} {}".format(flags)
|
||||||
])
|
])
|
||||||
parsedMacros = dict()
|
parsedMacros = dict()
|
||||||
defines = (l.strip() for l in unparsedOutput.split('\n') if l.startswith('#define '))
|
defines = (l.strip() for l in unparsedOutput.split('\n') if l.startswith('#define '))
|
||||||
|
|
Loading…
Reference in New Issue