* toplev.c (compile_file): Call final_write_globals
	even if there have been errors.
In gcc/cp/:
	* decl2.c (cp_write_global_declarations): Rename from
	cp_finish_file.
	* cp-lang.c (finish_file): Don't call cp_finish_file.
	* cp-tree.h (cp_write_global_declarations): Rename from
	cp_finish_file.
	* cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
	cp_write_global_declarations.

From-SVN: r118362
This commit is contained in:
Geoffrey Keating 2006-11-01 05:16:14 +00:00
parent 167fa32c09
commit e430546039
7 changed files with 25 additions and 7 deletions

View File

@ -1,4 +1,9 @@
2006-09-07 Eric Christopher <echristo@apple.com>
2006-10-31 Geoffrey Keating <geoffk@apple.com>
* toplev.c (compile_file): Call final_write_globals
even if there have been errors.
2006-10-31 Eric Christopher <echristo@apple.com>
Falk Hueffner <falk@debian.org>
* doc/extend.texi (__builtin_bswap32): Document.

View File

@ -1,3 +1,13 @@
2006-09-25 Geoffrey Keating <geoffk@apple.com>
* decl2.c (cp_write_global_declarations): Rename from
cp_finish_file.
* cp-lang.c (finish_file): Don't call cp_finish_file.
* cp-tree.h (cp_write_global_declarations): Rename from
cp_finish_file.
* cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
cp_write_global_declarations.
2006-10-31 Geoffrey Keating <geoffk@apple.com>
* name-lookup.c (get_anonymous_namespace_name): New.

View File

@ -141,7 +141,6 @@ cp_init_ts (void)
void
finish_file (void)
{
cp_finish_file ();
}
#include "gtype-cp.h"

View File

@ -84,7 +84,7 @@ extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
#undef LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL
#define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL cxx_warn_unused_global_decl
#undef LANG_HOOKS_WRITE_GLOBALS
#define LANG_HOOKS_WRITE_GLOBALS lhd_do_nothing
#define LANG_HOOKS_WRITE_GLOBALS cp_write_global_declarations
#undef LANG_HOOKS_COMDAT_GROUP
#define LANG_HOOKS_COMDAT_GROUP cxx_comdat_group
#undef LANG_HOOKS_BUILTIN_FUNCTION

View File

@ -3968,7 +3968,7 @@ extern tree grokbitfield (const cp_declarator *, cp_decl_specifier_seq *,
tree);
extern void cplus_decl_attributes (tree *, tree, int);
extern void finish_anon_union (tree);
extern void cp_finish_file (void);
extern void cp_write_global_declarations (void);
extern tree coerce_new_type (tree);
extern tree coerce_delete_type (tree);
extern void comdat_linkage (tree);

View File

@ -3027,13 +3027,13 @@ build_java_method_aliases (void)
}
}
/* This routine is called from the last rule in yyparse ().
/* 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
first, since that way we only need to reverse the decls once. */
void
cp_finish_file (void)
cp_write_global_declarations (void)
{
tree vars;
bool reconsider;

View File

@ -1040,10 +1040,14 @@ compile_file (void)
what's left of the symbol table output. */
timevar_pop (TV_PARSE);
if (flag_syntax_only || errorcount || sorrycount)
if (flag_syntax_only)
return;
lang_hooks.decls.final_write_globals ();
if (errorcount || sorrycount)
return;
cgraph_varpool_assemble_pending_decls ();
finish_aliases_2 ();