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
This commit is contained in:
Tom Tromey 2014-10-15 21:26:02 +00:00 committed by David Malcolm
parent 37cfabb0b4
commit 1995e372a5
2 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2014-10-15 Tom Tromey <tromey@redhat.com>
* timevar.h (class auto_timevar): New class.
2014-10-15 Uros Bizjak <ubizjak@gmail.com>
PR go/59432

View File

@ -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 */