From f9e2a506da8d61699611f756732f4c708f72976c Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 24 Jan 2014 15:45:14 +0000 Subject: [PATCH] re PR c++/57524 (ICE: in timevar_start, at timevar.c:343) /cp 2014-01-24 Paolo Carlini PR c++/57524 * name-lookup.c (push_using_directive): Use timevar_cond_start. /testsuite 2014-01-24 Paolo Carlini PR c++/57524 * g++.dg/ext/timevar2.C: New. From-SVN: r207047 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/name-lookup.c | 4 ++-- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/ext/timevar2.C | 14 ++++++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/g++.dg/ext/timevar2.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e663170..d9098b4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2014-01-24 Paolo Carlini + + PR c++/57524 + * name-lookup.c (push_using_directive): Use timevar_cond_start. + 2014-01-23 Marek Polacek PR c/59846 diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 28f998d..3ffcf69 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -5683,9 +5683,9 @@ static tree push_using_directive (tree used) { tree ret; - timevar_start (TV_NAME_LOOKUP); + bool subtime = timevar_cond_start (TV_NAME_LOOKUP); ret = push_using_directive_1 (used); - timevar_stop (TV_NAME_LOOKUP); + timevar_cond_stop (TV_NAME_LOOKUP, subtime); return ret; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9efaacd..445815e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-01-24 Paolo Carlini + + PR c++/57524 + * g++.dg/ext/timevar2.C: New. + 2014-01-24 Marek Polacek * gcc.dg/pr59846.c (fn1, fn2): Use ULL suffix. diff --git a/gcc/testsuite/g++.dg/ext/timevar2.C b/gcc/testsuite/g++.dg/ext/timevar2.C new file mode 100644 index 0000000..74c4fc8 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/timevar2.C @@ -0,0 +1,14 @@ +// PR c++/57524 +// { dg-options "-ftime-report" } +// { dg-prune-output "wall" } +// { dg-prune-output "times" } +// { dg-prune-output "TOTAL" } +// { dg-prune-output "checks" } + +namespace detail { +namespace indirect_traits {} +using namespace indirect_traits; +void fn1() { +using namespace detail; +} +} -- 2.7.4