summaryrefslogtreecommitdiff
path: root/debian/patches/pr72813.diff
blob: 5549f6a5c1f153cb4f9648d8d57ce7f3f6910d7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# DP: Fix PR c++/72813, taken from the trunk.

gcc/c/

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.

gcc/

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.

gcc/cp/

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.

 
--- a/src/gcc/c/c-decl.c
+++ b/src/gcc/c/c-decl.c
@@ -1420,6 +1420,8 @@
   if (pch_file)
     {
       c_common_write_pch ();
+      /* Ensure even the callers don't try to finalize the CU.  */
+      flag_syntax_only = 1;
       return;
     }
 
--- a/src/gcc/gcc.c
+++ b/src/gcc/gcc.c
@@ -1328,7 +1328,7 @@
 		%(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:\
--- a/src/gcc/cp/decl2.c
+++ b/src/gcc/cp/decl2.c
@@ -4461,6 +4461,8 @@
 	  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;
     }