/* GCC core type declarations.
- Copyright (C) 2002-2019 Free Software Foundation, Inc.
+ Copyright (C) 2002-2020 Free Software Foundation, Inc.
This file is part of GCC.
struct cl_option_handlers;
struct diagnostic_context;
class pretty_printer;
+class diagnostic_event_id_t;
template<typename T> struct array_traits;
PROFILE_UPDATE_PREFER_ATOMIC
};
+/* Type of profile reproducibility methods. */
+enum profile_reproducibility {
+ PROFILE_REPRODUCIBILITY_SERIAL,
+ PROFILE_REPRODUCIBILITY_PARALLEL_RUNS,
+ PROFILE_REPRODUCIBILITY_MULTITHREADED
+};
+
/* Types of unwind/exception handling info that can be generated. */
enum unwind_info_type
}
typedef std::pair <tree, tree> tree_pair;
+typedef std::pair <const char *, int> string_int_pair;
/* Define a name->value mapping. */
template <typename ValueType>
const ValueType value; /* the value of the name */
};
+/* Alias of the first type, ignoring the second. */
+template<typename T1, typename T2>
+using first_type = T1;
+
+/* Iterator pair used for a collection iteration with range-based loops. */
+
+template<typename T>
+struct iterator_range
+{
+public:
+ iterator_range (const T &begin, const T &end)
+ : m_begin (begin), m_end (end) {}
+
+ T begin () const { return m_begin; }
+ T end () const { return m_end; }
+
+private:
+ T m_begin;
+ T m_end;
+};
+
#else
struct _dont_use_rtx_here_;