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.
This commit is contained in:
Richard Biener 2022-01-18 12:17:19 +01:00
parent 0efc551e59
commit 4288b57aff
2 changed files with 10 additions and 10 deletions

View File

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

View File

@ -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);
}