+2015-05-20 David Malcolm <dmalcolm@redhat.com>
+
+ * jcf-parse.c (set_source_filename): Replace write through
+ ORDINARY_MAP_FILE_NAME with direct access to "to_file".
+
2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
* jcf-io.c: Adjust for hash_table changes.
}
sfname = find_sourcefile (sfname);
- ORDINARY_MAP_FILE_NAME (LINEMAPS_LAST_ORDINARY_MAP (line_table)) = sfname;
+ LINEMAPS_LAST_ORDINARY_MAP (line_table)->to_file = sfname;
if (current_class == main_class) main_input_filename = sfname;
}
+2015-05-20 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (MAP_START_LOCATION): Eliminate the non-const
+ variant, and tweak comment for the const variant.
+ (ORDINARY_MAP_STARTING_LINE_NUMBER): Drop the non-const variant.
+ (ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise.
+ (ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise.
+ (SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
+ (ORDINARY_MAP_FILE_NAME): Drop the non-const variant.
+ (MACRO_MAP_MACRO): Likewise.
+ (MACRO_MAP_NUM_MACRO_TOKENS): Likewise.
+ (MACRO_MAP_LOCATIONS): Likewise.
+ (MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise.
+ * line-map.c (linemap_add): Replace writes through macros with
+ direct field accesses.
+ (linemap_enter_macro): Likewise.
+ (linemap_line_start): Likewise.
+
2015-05-19 David Malcolm <dmalcolm@redhat.com>
* directives.c (do_line): Strengthen local "map" from
return (const line_map_macro *)map;
}
-/* Read the start location of MAP, as an rvalue. */
+/* Read the start location of MAP. */
inline source_location
MAP_START_LOCATION (const line_map *map)
return map->start_location;
}
-/* Access the start location of MAP as a reference
- (e.g. as an lvalue). */
-
-inline source_location&
-MAP_START_LOCATION (line_map *map)
-{
- return map->start_location;
-}
-
/* Get the starting line number of ordinary map MAP. */
inline linenum_type
return ord_map->to_line;
}
-/* Access the starting line number of ordinary map MAP by
- reference (e.g. as an lvalue). */
-
-inline linenum_type&
-ORDINARY_MAP_STARTING_LINE_NUMBER (line_map_ordinary *ord_map)
-{
- return ord_map->to_line;
-}
-
/* Get the index of the ordinary map at whose end
ordinary map MAP was included.
return ord_map->included_from;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline int&
-ORDINARY_MAP_INCLUDER_FILE_INDEX (line_map_ordinary *ord_map)
-{
- return ord_map->included_from;
-}
-
/* Return a positive value if map encodes locations from a system
header, 0 otherwise. Returns 1 if ordinary map MAP encodes locations
in a system header and 2 if it encodes locations in a C system header
return ord_map->sysp;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline unsigned char &
-ORDINARY_MAP_IN_SYSTEM_HEADER_P (line_map_ordinary *ord_map)
-{
- return ord_map->sysp;
-}
-
/* Get the number of the low-order source_location bits used for a
column number within ordinary map MAP. */
return ord_map->column_bits;
}
-/* Set the number of the low-order source_location bits used for a
- column number within ordinary map MAP. */
-
-inline void
-SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (line_map_ordinary *ord_map,
- int col_bits)
-{
- ord_map->column_bits = col_bits;
-}
-
/* Get the filename of ordinary map MAP. */
inline const char *
return ord_map->to_file;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline const char * &
-ORDINARY_MAP_FILE_NAME (line_map_ordinary *ord_map)
-{
- return ord_map->to_file;
-}
-
/* Get the cpp macro whose expansion gave birth to macro map MAP. */
inline cpp_hashnode *
return macro_map->macro;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline cpp_hashnode * &
-MACRO_MAP_MACRO (line_map_macro *macro_map)
-{
- return macro_map->macro;
-}
-
/* Get the number of tokens inside the replacement-list of the macro
that led to macro map MAP. */
return macro_map->n_tokens;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline unsigned int &
-MACRO_MAP_NUM_MACRO_TOKENS (line_map_macro *macro_map)
-{
- return macro_map->n_tokens;
-}
-
/* Get the array of pairs of locations within macro map MAP.
See the declaration of line_map_macro for more information. */
return macro_map->macro_locations;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline source_location * &
-MACRO_MAP_LOCATIONS (line_map_macro *macro_map)
-{
- return macro_map->macro_locations;
-}
-
/* Get the location of the expansion point of the macro map MAP. */
inline source_location
return macro_map->expansion;
}
-/* As above, but by reference (e.g. as an lvalue). */
-
-inline source_location &
-MACRO_MAP_EXPANSION_POINT_LOCATION (line_map_macro *macro_map)
-{
- return macro_map->expansion;
-}
-
/* The abstraction of a set of location maps. There can be several
types of location maps. This abstraction contains the attributes
that are independent from the type of the map.
}
}
- ORDINARY_MAP_IN_SYSTEM_HEADER_P (map) = sysp;
- MAP_START_LOCATION (map) = start_location;
- ORDINARY_MAP_FILE_NAME (map) = to_file;
- ORDINARY_MAP_STARTING_LINE_NUMBER (map) = to_line;
+ map->sysp = sysp;
+ map->start_location = start_location;
+ map->to_file = to_file;
+ map->to_line = to_line;
LINEMAPS_ORDINARY_CACHE (set) = LINEMAPS_ORDINARY_USED (set) - 1;
- SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map, 0);
+ map->column_bits = 0;
set->highest_location = start_location;
set->highest_line = start_location;
set->max_column_hint = 0;
if (reason == LC_ENTER)
{
- ORDINARY_MAP_INCLUDER_FILE_INDEX (map) =
+ map->included_from =
set->depth == 0 ? -1 : (int) (LINEMAPS_ORDINARY_USED (set) - 2);
set->depth++;
if (set->trace_includes)
trace_include (set, map);
}
else if (reason == LC_RENAME)
- ORDINARY_MAP_INCLUDER_FILE_INDEX (map) =
- ORDINARY_MAP_INCLUDER_FILE_INDEX (&map[-1]);
+ map->included_from = ORDINARY_MAP_INCLUDER_FILE_INDEX (&map[-1]);
else if (reason == LC_LEAVE)
{
set->depth--;
- ORDINARY_MAP_INCLUDER_FILE_INDEX (map) =
+ map->included_from =
ORDINARY_MAP_INCLUDER_FILE_INDEX (INCLUDED_FROM (set, map - 1));
}
map = linemap_check_macro (new_linemap (set, LC_ENTER_MACRO));
- MAP_START_LOCATION (map) = start_location;
- MACRO_MAP_MACRO (map) = macro_node;
- MACRO_MAP_NUM_MACRO_TOKENS (map) = num_tokens;
- MACRO_MAP_LOCATIONS (map)
+ map->start_location = start_location;
+ map->macro = macro_node;
+ map->n_tokens = num_tokens;
+ map->macro_locations
= (source_location*) reallocator (NULL,
2 * num_tokens
* sizeof (source_location));
- MACRO_MAP_EXPANSION_POINT_LOCATION (map) = expansion;
+ map->expansion = expansion;
memset (MACRO_MAP_LOCATIONS (map), 0,
num_tokens * sizeof (source_location));
ORDINARY_MAP_IN_SYSTEM_HEADER_P (map),
ORDINARY_MAP_FILE_NAME (map),
to_line)));
- SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map, column_bits);
+ map->column_bits = column_bits;
r = (MAP_START_LOCATION (map)
+ ((to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
<< column_bits));