From 1995e372a5012521ebfa709f23a2ab22c1bb99e9 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 15 Oct 2014 21:26:02 +0000 Subject: [PATCH] timevar.h: Add an auto_timevar class Patch authored by Tom Tromey; originally contributed by him to jit branch on 2014-03-19. gcc/ChangeLog: * timevar.h (class auto_timevar): New class. From-SVN: r216288 --- gcc/ChangeLog | 4 ++++ gcc/timevar.h | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80cd255d571..9823522f20e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-10-15 Tom Tromey + + * timevar.h (class auto_timevar): New class. + 2014-10-15 Uros Bizjak PR go/59432 diff --git a/gcc/timevar.h b/gcc/timevar.h index 6703cc94475..f018e39ce07 100644 --- a/gcc/timevar.h +++ b/gcc/timevar.h @@ -110,6 +110,30 @@ timevar_pop (timevar_id_t tv) timevar_pop_1 (tv); } +// This is a simple timevar wrapper class that pushes a timevar in its +// constructor and pops the timevar in its destructor. +class auto_timevar +{ + public: + auto_timevar (timevar_id_t tv) + : m_tv (tv) + { + timevar_push (m_tv); + } + + ~auto_timevar () + { + timevar_pop (m_tv); + } + + private: + + // Private to disallow copies. + auto_timevar (const auto_timevar &); + + timevar_id_t m_tv; +}; + extern void print_time (const char *, long); #endif /* ! GCC_TIMEVAR_H */ -- 2.30.2