32#define UNKNOWN_LOCATION ((location_t) 0)
35#define BUILTINS_LOCATION ((location_t) 1)
64#define location_hash int_hash<location_t, UNKNOWN_LOCATION, BUILTINS_LOCATION>
69class cpp_char_column_policy;
73 expanded_location exploc,
74 const cpp_char_column_policy &policy);
79extern expanded_location
81 enum location_aspect aspect
82 = location_aspect::caret);
100#define DISCR_BASE_BITS 8
101#define DISCR_MULTIPLICITY_BITS 7
102#define DISCR_COPYID_BITS 11
103#define DISCR_UNUSED_BITS 6
105#define DISCR_BASE_MASK ((1u << DISCR_BASE_BITS) - 1)
106#define DISCR_MULTIPLICITY_MASK ((1u << DISCR_MULTIPLICITY_BITS) - 1)
107#define DISCR_COPYID_MASK ((1u << DISCR_COPYID_BITS) - 1)
109#define DISCR_BASE_SHIFT 0
110#define DISCR_MULTIPLICITY_SHIFT DISCR_BASE_BITS
111#define DISCR_COPYID_SHIFT (DISCR_BASE_BITS + DISCR_MULTIPLICITY_BITS)
114#define DISCR_BASE_MAX DISCR_BASE_MASK
115#define DISCR_MULTIPLICITY_MAX DISCR_MULTIPLICITY_MASK
116#define DISCR_COPYID_MAX DISCR_COPYID_MASK
135#define LOCATION_FILE(LOC) ((expand_location (LOC)).file)
136#define LOCATION_LINE(LOC) ((expand_location (LOC)).line)
137#define LOCATION_COLUMN(LOC)((expand_location (LOC)).column)
138#define LOCATION_LOCUS(LOC) \
139 ((IS_ADHOC_LOC (LOC)) ? get_location_from_adhoc_loc (line_table, LOC) \
141#define LOCATION_BLOCK(LOC) \
142 ((tree) ((IS_ADHOC_LOC (LOC)) ? get_data_from_adhoc_loc (line_table, (LOC)) \
144#define RESERVED_LOCATION_P(LOC) \
145 (LOCATION_LOCUS (LOC) < RESERVED_LOCATION_COUNT)
160 return linemap_location_in_system_header_p (
line_table, loc);
169 return linemap_location_from_macro_expansion_p (
line_table, loc);
179 return linemap_location_from_macro_definition_p (
line_table, loc);
193 return get_range_from_loc (
line_table, loc).m_start;
201 return get_range_from_loc (
line_table, loc).m_finish;
205 location_t start, location_t finish);
206extern location_t
make_location (location_t caret, source_range src_range);
229 location_t **out_locs);
237 friend void ::gt_ggc_mx_string_concat_db (
void *x_p);
238 friend void ::gt_pch_nx_string_concat_db (
void *x_p);
239 friend void ::gt_pch_p_16string_concat_db (
void *this_obj,
void *x_p,
243 hash_map <location_hash, string_concat *> *
m_table;
Definition file-cache.h:82
void record_string_concatenation(int num, location_t *locs)
Definition input.cc:748
string_concat_db()
Definition input.cc:738
bool get_string_concatenation(location_t loc, int *out_num, location_t **out_locs)
Definition input.cc:774
static location_t get_key_loc(location_t loc)
Definition input.cc:802
hash_map< location_hash, string_concat * > * m_table
Definition input.h:243
string_concat(int num, location_t *locs)
Definition input.cc:728
int m_num
Definition input.h:217
location_t * m_locs
Definition input.h:218
#define GTY(x)
Definition coretypes.h:41
void(* gt_pointer_operator)(void *, void *, void *)
Definition coretypes.h:490
static class line_maps * line_table
Definition genmatch.cc:65
unsigned int copyid
Definition input.h:123
unsigned int base
Definition input.h:121
unsigned int multiplicity
Definition input.h:122