From fac91973cceae62ffa4a3cd285cb4c9557f83416 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 16 Oct 2013 17:57:36 -0400 Subject: [PATCH] re PR c++/57850 (Option -fdump-translation-unit not working) PR c++/57850 * decl2.c (dump_tu): Split out from... (cp_write_global_declarations): ...here. Call it in PCH mode. From-SVN: r203724 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl2.c | 28 ++++++++++++++++++---------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 25d47a099c5..a325988878c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-10-16 Jason Merrill + + PR c++/57850 + * decl2.c (dump_tu): Split out from... + (cp_write_global_declarations): ...here. Call it in PCH mode. + 2013-10-16 Paolo Carlini * pt.c (tsubst): Fix typo in last commit. diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 4ebc1555909..5e5f5e82919 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -4041,6 +4041,22 @@ handle_tls_init (void) expand_or_defer_fn (finish_function (0)); } +/* The entire file is now complete. If requested, dump everything + to a file. */ + +static void +dump_tu (void) +{ + int flags; + FILE *stream = dump_begin (TDI_tu, &flags); + + if (stream) + { + dump_node (global_namespace, flags & ~TDF_SLIM, stream); + dump_end (TDI_tu, stream); + } +} + /* This routine is called at the end of compilation. Its job is to create all the code needed to initialize and destroy the global aggregates. We do the destruction @@ -4071,6 +4087,7 @@ cp_write_global_declarations (void) if (pch_file) { c_common_write_pch (); + dump_tu (); return; } @@ -4457,16 +4474,7 @@ cp_write_global_declarations (void) /* The entire file is now complete. If requested, dump everything to a file. */ - { - int flags; - FILE *stream = dump_begin (TDI_tu, &flags); - - if (stream) - { - dump_node (global_namespace, flags & ~TDF_SLIM, stream); - dump_end (TDI_tu, stream); - } - } + dump_tu (); if (flag_detailed_statistics) { -- 2.30.2