From e3b350575018370e7564d9686ede0f804b99637f Mon Sep 17 00:00:00 2001 From: Diego Novillo Date: Mon, 20 Aug 2012 10:23:32 -0400 Subject: [PATCH] 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 * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally. From-SVN: r190535 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b5961554d8b..5c4f362f24d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2012-08-20 Diego Novillo + + * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally. + 2012-08-20 Richard Guenther * name-lookup.c (store_binding_p): New predicate, split out from ... diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5908996c2dc..0dad597c9ac 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -552,7 +552,7 @@ poplevel (int keep, int reverse, int functionbody) unsigned ix; cp_label_binding *label_bind; - timevar_start (TV_NAME_LOOKUP); + bool subtime = timevar_cond_start (TV_NAME_LOOKUP); restart: block = NULL_TREE; @@ -818,7 +818,7 @@ poplevel (int keep, int reverse, int functionbody) if (kind == sk_cleanup) goto restart; - timevar_stop (TV_NAME_LOOKUP); + timevar_cond_stop (TV_NAME_LOOKUP, subtime); return block; }