aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-01-11 19:08:57 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-01-11 19:08:57 +0100
commit6b5b4e9cece66553b75c1c8c9e7ecae6c8b27bb0 (patch)
tree2109afc3a333ad8071e197af4935c56bde8a372a
parent25e15acf8cf0b7dc54367cb491c5f2d772199efb (diff)
downloadgcc-6b5b4e9cece66553b75c1c8c9e7ecae6c8b27bb0.zip
gcc-6b5b4e9cece66553b75c1c8c9e7ecae6c8b27bb0.tar.gz
gcc-6b5b4e9cece66553b75c1c8c9e7ecae6c8b27bb0.tar.bz2
re PR c++/72813 (atomic header cannot be compiled into translation unit with -fkeep-inline-functions)
PR c++/72813 * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps of c-header. * c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing PCH file. * decl2.c (c_parse_final_cleanups): Set flag_syntax_only to 1 after writing PCH file. From-SVN: r244328
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c/ChangeLog6
-rw-r--r--gcc/c/c-decl.c2
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c2
-rw-r--r--gcc/gcc.c2
6 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index db74169..e46392c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/72813
+ * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
+ of c-header.
+
2017-01-11 David Malcolm <dmalcolm@redhat.com>
PR driver/78877
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index a47e10c..341407a 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/72813
+ * c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing
+ PCH file.
+
2017-01-11 Richard Biener <rguenther@suse.de>
PR bootstrap/79052
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index a15903a..2f91e70 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -1420,6 +1420,8 @@ pop_file_scope (void)
if (pch_file)
{
c_common_write_pch ();
+ /* Ensure even the callers don't try to finalize the CU. */
+ flag_syntax_only = 1;
return;
}
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 892651a..2b229f2 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/72813
+ * decl2.c (c_parse_final_cleanups): Set flag_syntax_only to 1 after
+ writing PCH file.
+
2017-01-10 David Malcolm <dmalcolm@redhat.com>
PR c++/77949
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 435f51f..0a4c567 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -4461,6 +4461,8 @@ c_parse_final_cleanups (void)
DECL_ASSEMBLER_NAME (node->decl);
c_common_write_pch ();
dump_tu ();
+ /* Ensure even the callers don't try to finalize the CU. */
+ flag_syntax_only = 1;
return;
}
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 98568bc..1c5e428 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1328,7 +1328,7 @@ static const struct compiler default_compilers[] =
%(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
%(cc1_options)\
- %{!fsyntax-only:-o %g.s \
+ %{!fsyntax-only:%{!S:-o %g.s} \
%{!fdump-ada-spec*:%{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}}%V}}\
%{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\