From 0abc1b1badde962a99b924b3eec0a3398aa91697 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 18 Oct 2014 14:01:27 +0300 Subject: [PATCH] Workaround for Clang pch include bug with help from Masashi Fujita. --- authors.txt | 1 + environment.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/authors.txt b/authors.txt index b247b057e..2c6d8eaa3 100644 --- a/authors.txt +++ b/authors.txt @@ -6,3 +6,4 @@ Meson was originally designed and created by Jussi Pakkanen. The following people have submitted patches for the project Peter Koval +Masashi Fujita diff --git a/environment.py b/environment.py index 1cf26cad2..86bd4efd8 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']