Fix -ftime-report for C++ lookup.

Found this while running -ftime-report on a largish C++ source file.
We need to start TV_NAME_LOOKUP conditionally inside poplevel()
because it may be called from another lookup routine that already has
TV_NAME_LOOKUP going.

Tested on x86_64.  Committed to trunk.

2012-08-20  Diego Novillo  <dnovillo@google.com>

	* decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.

From-SVN: r190535
This commit is contained in:
Diego Novillo 2012-08-20 10:23:32 -04:00 committed by Diego Novillo
parent eb83633a81
commit e3b3505750
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2012-08-20 Diego Novillo <dnovillo@google.com>
* decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.
2012-08-20 Richard Guenther <rguenther@suse.de> 2012-08-20 Richard Guenther <rguenther@suse.de>
* name-lookup.c (store_binding_p): New predicate, split out from ... * name-lookup.c (store_binding_p): New predicate, split out from ...

View File

@ -552,7 +552,7 @@ poplevel (int keep, int reverse, int functionbody)
unsigned ix; unsigned ix;
cp_label_binding *label_bind; cp_label_binding *label_bind;
timevar_start (TV_NAME_LOOKUP); bool subtime = timevar_cond_start (TV_NAME_LOOKUP);
restart: restart:
block = NULL_TREE; block = NULL_TREE;
@ -818,7 +818,7 @@ poplevel (int keep, int reverse, int functionbody)
if (kind == sk_cleanup) if (kind == sk_cleanup)
goto restart; goto restart;
timevar_stop (TV_NAME_LOOKUP); timevar_cond_stop (TV_NAME_LOOKUP, subtime);
return block; return block;
} }