aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-01-18 12:17:19 +0100
committerRichard Biener <rguenther@suse.de>2022-01-18 14:33:01 +0100
commit4288b57affe34fbc60badf798eb0c19892e69980 (patch)
tree51b10f6e3c01ec773fd9fca53af918413e4e24b4 /libcpp
parent0efc551e59f544ab25aeb527ccb2c8b82a03c108 (diff)
pack fields in line-map data structures
As pointed out by pahole. 2022-01-18 Richard Biener <rguenther@suse.de> libcpp/ * include/line-map.h (class line_maps): Re-arrange fields to minimize padding. (class rich_location): Likewise. * line-map.cc (rich_location::rich_location): Adjust.
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/include/line-map.h14
-rw-r--r--libcpp/line-map.cc6
2 files changed, 10 insertions, 10 deletions
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index 3f39eb43866..80335721e03 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -792,6 +792,9 @@ public:
/* If true, prints an include trace a la -H. */
bool trace_includes;
+ /* True if we've seen a #line or # 44 "file" directive. */
+ bool seen_line_directive;
+
/* Highest location_t "given out". */
location_t highest_location;
@@ -815,9 +818,6 @@ public:
built-in tokens. */
location_t builtin_location;
- /* True if we've seen a #line or # 44 "file" directive. */
- bool seen_line_directive;
-
/* The default value of range_bits in ordinary line maps. */
unsigned int default_range_bits;
@@ -1816,16 +1816,16 @@ protected:
int m_column_override;
bool m_have_expanded_location;
+ bool m_seen_impossible_fixit;
+ bool m_fixits_cannot_be_auto_applied;
+ bool m_escape_on_output;
+
expanded_location m_expanded_location;
static const int MAX_STATIC_FIXIT_HINTS = 2;
semi_embedded_vec <fixit_hint *, MAX_STATIC_FIXIT_HINTS> m_fixit_hints;
- bool m_seen_impossible_fixit;
- bool m_fixits_cannot_be_auto_applied;
-
const diagnostic_path *m_path;
- bool m_escape_on_output;
};
/* A struct for the result of range_label::get_text: a NUL-terminated buffer
diff --git a/libcpp/line-map.cc b/libcpp/line-map.cc
index b18cb67cb6b..62077c3857c 100644
--- a/libcpp/line-map.cc
+++ b/libcpp/line-map.cc
@@ -2083,11 +2083,11 @@ rich_location::rich_location (line_maps *set, location_t loc,
m_ranges (),
m_column_override (0),
m_have_expanded_location (false),
- m_fixit_hints (),
m_seen_impossible_fixit (false),
m_fixits_cannot_be_auto_applied (false),
- m_path (NULL),
- m_escape_on_output (false)
+ m_escape_on_output (false),
+ m_fixit_hints (),
+ m_path (NULL)
{
add_range (loc, SHOW_RANGE_WITH_CARET, label);
}