aboutsummaryrefslogtreecommitdiff
path: root/gcc/timevar.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/timevar.h')
-rw-r--r--gcc/timevar.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/timevar.h b/gcc/timevar.h
index 6703cc9..f018e39 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 */