diff options
| author | David Malcolm <dmalcolm@redhat.com> | 2023-10-08 18:43:16 -0400 |
|---|---|---|
| committer | David Malcolm <dmalcolm@redhat.com> | 2023-10-08 18:43:16 -0400 |
| commit | 25af7c1a806c0c2464d51fb395a88ced353be22d (patch) | |
| tree | 4cb4618fa8025e0c99b7f6ef002f4221246295df /libcpp/include | |
| parent | 94caa6a6b4bd73b6c2bf3ab5e43ca42c5da4287a (diff) | |
libcpp: "const" and other cleanups
No functional change intended.
gcc/ChangeLog:
* input.cc (make_location): Move implementation to
line_maps::make_location.
libcpp/ChangeLog:
* include/line-map.h (line_maps::pure_location_p): New decl.
(line_maps::get_pure_location): New decl.
(line_maps::get_range_from_loc): New decl.
(line_maps::get_start): New.
(line_maps::get_finish): New.
(line_maps::make_location): New decl.
(get_range_from_loc): Make line_maps param const.
(get_discriminator_from_loc): Likewise.
(pure_location_p): Likewise.
(get_pure_location): Likewise.
(linemap_check_files_exited): Likewise.
(linemap_tracks_macro_expansion_locs_p): Likewise.
(linemap_location_in_system_header_p): Likewise.
(linemap_location_from_macro_definition_p): Likewise.
(linemap_macro_map_loc_unwind_toward_spelling): Likewise.
(linemap_included_from_linemap): Likewise.
(first_map_in_common): Likewise.
(linemap_compare_locations): Likewise.
(linemap_location_before_p): Likewise.
(linemap_resolve_location): Likewise.
(linemap_unwind_toward_expansion): Likewise.
(linemap_unwind_to_first_non_reserved_loc): Likewise.
(linemap_expand_location): Likewise.
(linemap_get_file_highest_location): Likewise.
(linemap_get_statistics): Likewise.
(linemap_dump_location): Likewise.
(linemap_dump): Likewise.
(line_table_dump): Likewise.
* internal.h (linemap_get_expansion_line): Likewise.
(linemap_get_expansion_filename): Likewise.
* line-map.cc (can_be_stored_compactly_p): Likewise.
(get_data_from_adhoc_loc): Drop redundant "class".
(get_discriminator_from_adhoc_loc): Likewise.
(get_location_from_adhoc_loc): Likewise.
(get_range_from_adhoc_loc): Likewise.
(get_range_from_loc): Make const and move implementation to...
(line_maps::get_range_from_loc): ...this new function.
(get_discriminator_from_loc): Make line_maps param const.
(pure_location_p): Make const and move implementation to...
(line_maps::pure_location_p): ...this new function.
(get_pure_location): Make const and move implementation to...
(line_maps::get_pure_location): ...this new function.
(linemap_included_from_linemap): Make line_maps param const.
(linemap_check_files_exited): Likewise.
(linemap_tracks_macro_expansion_locs_p): Likewise.
(linemap_macro_map_loc_unwind_toward_spelling): Likewise.
(linemap_get_expansion_line): Likewise.
(linemap_get_expansion_filename): Likewise.
(linemap_location_in_system_header_p): Likewise.
(first_map_in_common_1): Likewise.
(linemap_compare_locations): Likewise.
(linemap_macro_loc_to_spelling_point): Likewise.
(linemap_macro_loc_to_def_point): Likewise.
(linemap_macro_loc_to_exp_point): Likewise.
(linemap_resolve_location): Likewise.
(linemap_location_from_macro_definition_p): Likewise.
(linemap_unwind_toward_expansion): Likewise.
(linemap_unwind_to_first_non_reserved_loc): Likewise.
(linemap_expand_location): Likewise.
(linemap_dump): Likewise.
(linemap_dump_location): Likewise.
(linemap_get_file_highest_location): Likewise.
(linemap_get_statistics): Likewise.
(line_table_dump): Likewise.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'libcpp/include')
| -rw-r--r-- | libcpp/include/line-map.h | 69 |
1 files changed, 45 insertions, 24 deletions
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h index 44fea0ea08e..9e1b11da194 100644 --- a/libcpp/include/line-map.h +++ b/libcpp/include/line-map.h @@ -784,6 +784,24 @@ class GTY(()) line_maps { public: ~line_maps (); + + bool pure_location_p (location_t loc) const; + location_t get_pure_location (location_t loc) const; + + source_range get_range_from_loc (location_t loc) const; + location_t get_start (location_t loc) const + { + return get_range_from_loc (loc).m_start; + } + location_t + get_finish (location_t loc) const + { + return get_range_from_loc (loc).m_finish; + } + + location_t make_location (location_t caret, + location_t start, + location_t finish); maps_info_ordinary info_ordinary; @@ -1041,19 +1059,19 @@ extern unsigned get_discriminator_from_adhoc_loc (const line_maps *, location_t) extern location_t get_location_from_adhoc_loc (const line_maps *, location_t); -extern source_range get_range_from_loc (line_maps *set, location_t loc); -extern unsigned get_discriminator_from_loc (line_maps *set, location_t loc); +extern source_range get_range_from_loc (const line_maps *set, location_t loc); +extern unsigned get_discriminator_from_loc (const line_maps *set, location_t loc); /* Get whether location LOC is a "pure" location, or whether it is an ad-hoc location, or embeds range information. */ bool -pure_location_p (line_maps *set, location_t loc); +pure_location_p (const line_maps *set, location_t loc); /* Given location LOC within SET, strip away any packed range information or ad-hoc information. */ -extern location_t get_pure_location (line_maps *set, location_t loc); +extern location_t get_pure_location (const line_maps *set, location_t loc); /* Combine LOC and BLOCK, giving a combined adhoc location. */ @@ -1078,7 +1096,7 @@ extern void linemap_init (class line_maps *set, /* Check for and warn about line_maps entered but not exited. */ -extern void linemap_check_files_exited (class line_maps *); +extern void linemap_check_files_exited (const line_maps *); /* Return a location_t for the start (i.e. column==0) of (physical) line TO_LINE in the current source file (as in the @@ -1156,7 +1174,7 @@ unsigned linemap_lookup_macro_index (const line_maps *, location_t); /* Returns TRUE if the line table set tracks token locations across macro expansion, FALSE otherwise. */ -bool linemap_tracks_macro_expansion_locs_p (class line_maps *); +bool linemap_tracks_macro_expansion_locs_p (const line_maps *); /* Return the name of the macro associated to MACRO_MAP. */ const char* linemap_map_get_macro_name (const line_map_macro *); @@ -1170,7 +1188,7 @@ const char* linemap_map_get_macro_name (const line_map_macro *); Note that this function returns 1 if LOCATION belongs to a token that is part of a macro replacement-list defined in a system header, but expanded in a non-system file. */ -int linemap_location_in_system_header_p (class line_maps *, +int linemap_location_in_system_header_p (const line_maps *, location_t); /* Return TRUE if LOCATION is a source code location of a token that is part of @@ -1180,7 +1198,7 @@ bool linemap_location_from_macro_expansion_p (const line_maps *, /* TRUE if LOCATION is a source code location of a token that is part of the definition of a macro, FALSE otherwise. */ -bool linemap_location_from_macro_definition_p (class line_maps *, +bool linemap_location_from_macro_definition_p (const line_maps *, location_t); /* With the precondition that LOCATION is the locus of a token that is @@ -1188,8 +1206,10 @@ bool linemap_location_from_macro_definition_p (class line_maps *, expansion of MACRO_MAP, return the locus of that argument in the context of the caller of MACRO_MAP. */ -extern location_t linemap_macro_map_loc_unwind_toward_spelling - (line_maps *set, const line_map_macro *macro_map, location_t location); +extern location_t +linemap_macro_map_loc_unwind_toward_spelling (const line_maps *set, + const line_map_macro *macro_map, + location_t location); /* location_t values from 0 to RESERVED_LOCATION_COUNT-1 will be reserved for libcpp user as special values, no token from libcpp @@ -1220,8 +1240,9 @@ linemap_included_from (const line_map_ordinary *ord_map) } /* The linemap containing the included-from location of MAP. */ -const line_map_ordinary *linemap_included_from_linemap - (line_maps *set, const line_map_ordinary *map); +const line_map_ordinary * +linemap_included_from_linemap (const line_maps *set, + const line_map_ordinary *map); /* True if the map is at the bottom of the include stack. */ @@ -1277,7 +1298,7 @@ LINEMAP_SYSP (const line_map_ordinary *ord_map) return ord_map->sysp; } -const struct line_map *first_map_in_common (line_maps *set, +const struct line_map *first_map_in_common (const line_maps *set, location_t loc0, location_t loc1, location_t *res_loc0, @@ -1287,7 +1308,7 @@ const struct line_map *first_map_in_common (line_maps *set, comes before the token of POST, 0 if PRE denotes the location of the same token as the token for POST, and a negative value otherwise. */ -int linemap_compare_locations (class line_maps *set, +int linemap_compare_locations (const line_maps *set, location_t pre, location_t post); @@ -1295,7 +1316,7 @@ int linemap_compare_locations (class line_maps *set, topogically before the token denoted by location LOC_B, or if they are equal. */ inline bool -linemap_location_before_p (class line_maps *set, +linemap_location_before_p (const line_maps *set, location_t loc_a, location_t loc_b) { @@ -2043,7 +2064,7 @@ enum location_resolution_kind resolves to a location reserved for the client code, like UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */ -location_t linemap_resolve_location (class line_maps *, +location_t linemap_resolve_location (const line_maps *, location_t loc, enum location_resolution_kind lrk, const line_map_ordinary **loc_map); @@ -2055,7 +2076,7 @@ location_t linemap_resolve_location (class line_maps *, the point where M' was expanded. LOC_MAP is an output parameter. When non-NULL, *LOC_MAP is set to the map of the returned location. */ -location_t linemap_unwind_toward_expansion (class line_maps *, +location_t linemap_unwind_toward_expansion (const line_maps *, location_t loc, const line_map **loc_map); @@ -2073,7 +2094,7 @@ location_t linemap_unwind_toward_expansion (class line_maps *, *MAP is set to the map of the returned location if the later is different from LOC. */ -location_t linemap_unwind_to_first_non_reserved_loc (class line_maps *, +location_t linemap_unwind_to_first_non_reserved_loc (const line_maps *, location_t loc, const line_map **map); @@ -2081,7 +2102,7 @@ location_t linemap_unwind_to_first_non_reserved_loc (class line_maps *, code location. LOC must be a spelling (non-virtual) location. If it's a location < RESERVED_LOCATION_COUNT a zeroed expanded source location is returned. */ -expanded_location linemap_expand_location (class line_maps *, +expanded_location linemap_expand_location (const line_maps *, const line_map *, location_t loc); @@ -2108,27 +2129,27 @@ struct linemap_stats there is a line map in SET. FILE_NAME is the file name to consider. If the function returns TRUE, *LOC is set to the highest location emitted for that file. */ -bool linemap_get_file_highest_location (class line_maps * set, +bool linemap_get_file_highest_location (const line_maps * set, const char *file_name, location_t *loc); /* Compute and return statistics about the memory consumption of some parts of the line table SET. */ -void linemap_get_statistics (line_maps *, struct linemap_stats *); +void linemap_get_statistics (const line_maps *, struct linemap_stats *); /* Dump debugging information about source location LOC into the file stream STREAM. SET is the line map set LOC comes from. */ -void linemap_dump_location (line_maps *, location_t, FILE *); +void linemap_dump_location (const line_maps *, location_t, FILE *); /* Dump line map at index IX in line table SET to STREAM. If STREAM is NULL, use stderr. IS_MACRO is true if the caller wants to dump a macro map, false otherwise. */ -void linemap_dump (FILE *, line_maps *, unsigned, bool); +void linemap_dump (FILE *, const line_maps *, unsigned, bool); /* Dump line table SET to STREAM. If STREAM is NULL, stderr is used. NUM_ORDINARY specifies how many ordinary maps to dump. NUM_MACRO specifies how many macro maps to dump. */ -void line_table_dump (FILE *, line_maps *, unsigned int, unsigned int); +void line_table_dump (FILE *, const line_maps *, unsigned int, unsigned int); /* An enum for distinguishing the various parts within a location_t. */ |
