File tree Expand file tree Collapse file tree 2 files changed +34
-19
lines changed Expand file tree Collapse file tree 2 files changed +34
-19
lines changed Original file line number Diff line number Diff line change @@ -27,30 +27,15 @@ const char *irep_ids_table[]=
27
27
28
28
#ifdef USE_DSTRING
29
29
30
- enum class idt :unsigned
31
- {
32
- #define IREP_ID_ONE (the_id ) id_##the_id,
33
- #define IREP_ID_TWO (the_id, str ) id_##the_id,
34
-
35
- #include " irep_ids.def" // NOLINT(build/include)
36
- };
37
-
38
- #define IREP_ID_ONE (the_id ) \
39
- const dstringt ID_##the_id=dstringt::make_from_table_index( \
40
- static_cast <unsigned >(idt::id_##the_id));
41
- #define IREP_ID_TWO (the_id, str ) \
42
- const dstringt ID_##the_id=dstringt::make_from_table_index( \
43
- static_cast <unsigned >(idt::id_##the_id));
44
-
45
30
#else
46
31
47
32
#define IREP_ID_ONE (the_id ) const std::string ID_##the_id(#the_id);
48
33
#define IREP_ID_TWO (the_id, str ) const std::string ID_##the_id(#the_id);
49
34
50
- #endif
51
-
52
35
#include " irep_ids.def" // NOLINT(build/include)
53
36
37
+ #endif
38
+
54
39
string_containert::string_containert ()
55
40
{
56
41
// pre-allocate empty string -- this gets index 0
Original file line number Diff line number Diff line change 36
36
37
37
#ifdef USE_DSTRING
38
38
39
- #define IREP_ID_ONE (the_id ) extern const dstringt ID_##the_id;
40
- #define IREP_ID_TWO (the_id, str ) extern const dstringt ID_##the_id;
39
+ enum class idt :unsigned
40
+ {
41
+ #define IREP_ID_ONE (the_id ) id_##the_id,
42
+ #define IREP_ID_TWO (the_id, str ) id_##the_id,
43
+
44
+ #include " irep_ids.def" // NOLINT(build/include)
45
+ };
46
+
47
+ #ifdef __GNUC__
48
+ #define IREP_ID_ONE (the_id ) \
49
+ constexpr dstringt ID_##the_id=dstringt::make_from_table_index( \
50
+ static_cast <unsigned >(idt::id_##the_id));
51
+ #define IREP_ID_TWO (the_id, str ) \
52
+ constexpr dstringt ID_##the_id=dstringt::make_from_table_index( \
53
+ static_cast <unsigned >(idt::id_##the_id));
54
+ #else
55
+ #define IREP_ID_ONE (the_id ) \
56
+ const dstringt ID_##the_id=dstringt::make_from_table_index( \
57
+ static_cast <unsigned >(idt::id_##the_id));
58
+ #define IREP_ID_TWO (the_id, str ) \
59
+ const const dstringt ID_##the_id=dstringt::make_from_table_index( \
60
+ static_cast <unsigned >(idt::id_##the_id));
61
+ #endif
62
+
63
+ template <>
64
+ struct diagnostics_helpert <irep_idt>
65
+ {
66
+ static std::string diagnostics_as_string (const irep_idt &irep_id)
67
+ {
68
+ return as_string (irep_id);
69
+ }
70
+ };
41
71
42
72
#else
43
73
You can’t perform that action at this time.
0 commit comments