From 0abc1b1badde962a99b924b3eec0a3398aa91697 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 18 Oct 2014 14:01:27 +0300 Subject: Workaround for Clang pch include bug with help from Masashi Fujita. --- environment.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'environment.py') diff --git a/environment.py b/environment.py index 1cf26ca..86bd4ef 100644 --- a/environment.py +++ b/environment.py @@ -1099,6 +1099,13 @@ class ClangCCompiler(CCompiler): def can_compile(self, filename): return super().can_compile(filename) or filename.split('.')[-1] == 's' # Clang can do asm, too. + def get_pch_use_args(self, pch_dir, header): + # Workaround for Clang bug http://llvm.org/bugs/show_bug.cgi?id=15136 + # This flag is internal to Clang (or at least not documented on the man page) + # so it might change semantics at any time. + return ['-include-pch', os.path.join (pch_dir, self.get_pch_name (header))] + + class GnuCPPCompiler(CPPCompiler): std_warn_args = ['-Wall', '-Winvalid-pch'] # may need to separate the latter to extra_debug_args or something @@ -1149,6 +1156,12 @@ class ClangCPPCompiler(CPPCompiler): def get_pch_suffix(self): return 'pch' + def get_pch_use_args(self, pch_dir, header): + # Workaround for Clang bug http://llvm.org/bugs/show_bug.cgi?id=15136 + # This flag is internal to Clang (or at least not documented on the man page) + # so it might change semantics at any time. + return ['-include-pch', os.path.join (pch_dir, self.get_pch_name (header))] + class FortranCompiler(): std_warn_args = ['-Wall'] -- cgit v1.1