diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cp/decl.c | 3 | ||||
-rw-r--r-- | gcc/cp/optimize.c | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 5 | ||||
-rw-r--r-- | gcc/cp/tinfo2.cc | 4 |
5 files changed, 22 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 79995c5..b05f339 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,11 @@ +2000-06-09 Jason Merrill <jason@casey.soma.redhat.com> + + * semantics.c (expand_body): Push to TV_EXPAND. + * optimize.c (optimize_function): Push to TV_INTEGRATION. + * decl.c (start_function): Always call announce_function. + + * tinfo2.cc: Just declare abort. + 2000-06-09 Gabriel Dos Reis <gdr@codesourcery.com> * lex.c (DEF_OPERATOR): Say `operator@' -not- `operator @' diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 22bdb9d..73e5a61 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -13649,8 +13649,7 @@ start_function (declspecs, declarator, attrs, flags) begin_stmt_tree (&DECL_SAVED_TREE (decl1)); /* Let the user know we're compiling this function. */ - if (processing_template_decl || !building_stmt_tree ()) - announce_function (decl1); + announce_function (decl1); /* Record the decl so that the function name is defined. If we already have a decl for this name, and it is a FUNCTION_DECL, diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 52292ff..b446207 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -28,6 +28,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "input.h" #include "integrate.h" #include "varray.h" +#include "timevar.h" /* To Do: @@ -806,6 +807,8 @@ optimize_function (fn) tree prev_fn; struct saved_scope *s; + timevar_push (TV_INTEGRATION); + /* Clear out ID. */ memset (&id, 0, sizeof (id)); @@ -836,6 +839,8 @@ optimize_function (fn) /* Clean up. */ VARRAY_FREE (id.fns); VARRAY_FREE (id.target_exprs); + + timevar_pop (TV_INTEGRATION); } } diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 505c487..7d9e1da 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -35,6 +35,7 @@ #include "ggc.h" #include "rtl.h" #include "output.h" +#include "timevar.h" /* There routines provide a modular interface to perform many parsing operations. They may therefore be used during actual parsing, or @@ -2788,6 +2789,8 @@ expand_body (fn) return; } + timevar_push (TV_EXPAND); + /* Optimize the body of the function before expanding it. */ optimize_function (fn); @@ -2838,4 +2841,6 @@ expand_body (fn) /* And restore the current source position. */ lineno = saved_lineno; input_filename = saved_input_filename; + + timevar_pop (TV_EXPAND); } diff --git a/gcc/cp/tinfo2.cc b/gcc/cp/tinfo2.cc index f89980a..39fe98c 100644 --- a/gcc/cp/tinfo2.cc +++ b/gcc/cp/tinfo2.cc @@ -28,10 +28,12 @@ // the GNU General Public License. #include <stddef.h> -#include <stdlib.h> // for abort #include "tinfo.h" #include "new" // for placement new +// We can't rely on having stdlib.h if we're freestanding. +extern "C" void abort (); + using std::type_info; #if !defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100 |