Do a refactoring in linemap (PR preprocessor/90382).
authorMartin Liska <mliska@suse.cz>
Tue, 14 May 2019 11:41:40 +0000 (13:41 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 14 May 2019 11:41:40 +0000 (11:41 +0000)
2019-05-14  Martin Liska  <mliska@suse.cz>

PR preprocessor/90382
* include/line-map.h (get_data_from_adhoc_loc): Add const to
the first argument.
(get_location_from_adhoc_loc): Likewise.
* line-map.c(get_data_from_adhoc_loc):  Add const to
the first argument.
(get_location_from_adhoc_loc): Likewise.
(get_combined_adhoc_loc): Use get_location_from_adhoc_loc
(or get_data_from_adhoc_loc).
(get_range_from_adhoc_loc): Likewise.
(get_pure_location): Likewise.
(linemap_position_for_loc_and_offset): Likewise.
(linemap_lookup): Likewise.
(linemap_ordinary_map_lookup): Likewise.
(linemap_macro_map_lookup): Likewise.
(linemap_get_expansion_line): Likewise.
(linemap_get_expansion_filename): Likewise.
(linemap_location_in_system_header_p): Likewise.
(linemap_location_from_macro_expansion_p): Likewise.
(linemap_macro_loc_to_exp_point): Likewise.
(linemap_resolve_location): Likewise.
(linemap_unwind_toward_expansion): Likewise.
(linemap_unwind_to_first_non_reserved_loc): Likewise.
(linemap_expand_location): Likewise.
(linemap_dump_location): Likewise.

From-SVN: r271162

libcpp/ChangeLog
libcpp/include/line-map.h
libcpp/line-map.c

index 1c314ea112dc1b115cede2a098149a8ef9d28494..4969b4a9630cf9326c590b05ce7e061bc92d57cc 100644 (file)
@@ -1,3 +1,31 @@
+2019-05-14  Martin Liska  <mliska@suse.cz>
+
+       PR preprocessor/90382
+       * include/line-map.h (get_data_from_adhoc_loc): Add const to
+       the first argument.
+       (get_location_from_adhoc_loc): Likewise.
+       * line-map.c(get_data_from_adhoc_loc):  Add const to
+       the first argument.
+       (get_location_from_adhoc_loc): Likewise.
+       (get_combined_adhoc_loc): Use get_location_from_adhoc_loc
+       (or get_data_from_adhoc_loc).
+       (get_range_from_adhoc_loc): Likewise.
+       (get_pure_location): Likewise.
+       (linemap_position_for_loc_and_offset): Likewise.
+       (linemap_lookup): Likewise.
+       (linemap_ordinary_map_lookup): Likewise.
+       (linemap_macro_map_lookup): Likewise.
+       (linemap_get_expansion_line): Likewise.
+       (linemap_get_expansion_filename): Likewise.
+       (linemap_location_in_system_header_p): Likewise.
+       (linemap_location_from_macro_expansion_p): Likewise.
+       (linemap_macro_loc_to_exp_point): Likewise.
+       (linemap_resolve_location): Likewise.
+       (linemap_unwind_toward_expansion): Likewise.
+       (linemap_unwind_to_first_non_reserved_loc): Likewise.
+       (linemap_expand_location): Likewise.
+       (linemap_dump_location): Likewise.
+
 2019-05-07  Nathan Sidwell  <nathan@acm.org>
 
        * files.c (_cpp_stack_file): Empty filenames aren't dependencies.
index 6c77c2888550d05ef0f270890cf5086647aafbd5..7649700e8a5131a32366a6d1662773e6822e64f2 100644 (file)
@@ -1054,8 +1054,8 @@ extern location_t get_combined_adhoc_loc (struct line_maps *,
                                               location_t,
                                               source_range,
                                               void *);
-extern void *get_data_from_adhoc_loc (struct line_maps *, location_t);
-extern location_t get_location_from_adhoc_loc (struct line_maps *,
+extern void *get_data_from_adhoc_loc (const struct line_maps *, location_t);
+extern location_t get_location_from_adhoc_loc (const struct line_maps *,
                                                    location_t);
 
 extern source_range get_range_from_loc (line_maps *set, location_t loc);
index b73f5067c2449ea9ac963eb8ae342f1912fa1c40..e1fc0e9faf4500dba5d227bea2d0f1133224d424 100644 (file)
@@ -163,8 +163,7 @@ get_combined_adhoc_loc (struct line_maps *set,
   struct location_adhoc_data **slot;
 
   if (IS_ADHOC_LOC (locus))
-    locus
-      = set->location_adhoc_data_map.data[locus & MAX_LOCATION_T].locus;
+    locus = get_location_from_adhoc_loc (set, locus);
   if (locus == 0 && data == NULL)
     return 0;
 
@@ -243,7 +242,7 @@ get_combined_adhoc_loc (struct line_maps *set,
 /* Return the data for the adhoc loc.  */
 
 void *
-get_data_from_adhoc_loc (struct line_maps *set, location_t loc)
+get_data_from_adhoc_loc (const struct line_maps *set, location_t loc)
 {
   linemap_assert (IS_ADHOC_LOC (loc));
   return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
@@ -252,7 +251,7 @@ get_data_from_adhoc_loc (struct line_maps *set, location_t loc)
 /* Return the location for the adhoc loc.  */
 
 location_t
-get_location_from_adhoc_loc (struct line_maps *set, location_t loc)
+get_location_from_adhoc_loc (const struct line_maps *set, location_t loc)
 {
   linemap_assert (IS_ADHOC_LOC (loc));
   return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
@@ -261,7 +260,7 @@ get_location_from_adhoc_loc (struct line_maps *set, location_t loc)
 /* Return the source_range for adhoc location LOC.  */
 
 static source_range
-get_range_from_adhoc_loc (struct line_maps *set, location_t loc)
+get_range_from_adhoc_loc (const struct line_maps *set, location_t loc)
 {
   linemap_assert (IS_ADHOC_LOC (loc));
   return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].src_range;
@@ -321,8 +320,7 @@ location_t
 get_pure_location (line_maps *set, location_t loc)
 {
   if (IS_ADHOC_LOC (loc))
-    loc
-      = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    loc = get_location_from_adhoc_loc (set, loc);
 
   if (loc >= LINEMAPS_MACRO_LOWEST_LOCATION (set))
     return loc;
@@ -872,7 +870,7 @@ linemap_position_for_loc_and_offset (struct line_maps *set,
   const line_map_ordinary * map = NULL;
 
   if (IS_ADHOC_LOC (loc))
-    loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    loc = get_location_from_adhoc_loc (set, loc);
 
   /* This function does not support virtual locations yet.  */
   if (linemap_location_from_macro_expansion_p (set, loc))
@@ -934,7 +932,7 @@ const struct line_map*
 linemap_lookup (struct line_maps *set, location_t line)
 {
   if (IS_ADHOC_LOC (line))
-    line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
+    line = get_location_from_adhoc_loc (set, line);
   if (linemap_location_from_macro_expansion_p (set, line))
     return linemap_macro_map_lookup (set, line);
   return linemap_ordinary_map_lookup (set, line);
@@ -952,7 +950,7 @@ linemap_ordinary_map_lookup (struct line_maps *set, location_t line)
   const line_map_ordinary *cached, *result;
 
   if (IS_ADHOC_LOC (line))
-    line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
+    line = get_location_from_adhoc_loc (set, line);
 
   if (set ==  NULL || line < RESERVED_LOCATION_COUNT)
     return NULL;
@@ -1000,7 +998,7 @@ linemap_macro_map_lookup (struct line_maps *set, location_t line)
   const struct line_map_macro *cached, *result;
 
   if (IS_ADHOC_LOC (line))
-    line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
+    line = get_location_from_adhoc_loc (set, line);
 
   linemap_assert (line >= LINEMAPS_MACRO_LOWEST_LOCATION (set));
 
@@ -1130,8 +1128,7 @@ linemap_get_expansion_line (struct line_maps *set,
   const line_map_ordinary *map = NULL;
 
   if (IS_ADHOC_LOC (location))
-    location = set->location_adhoc_data_map.data[location
-                                                & MAX_LOCATION_T].locus;
+    location = get_location_from_adhoc_loc (set, location);
 
   if (location < RESERVED_LOCATION_COUNT)
     return 0;
@@ -1158,8 +1155,7 @@ linemap_get_expansion_filename (struct line_maps *set,
   const struct line_map_ordinary *map = NULL;
 
   if (IS_ADHOC_LOC (location))
-    location = set->location_adhoc_data_map.data[location
-                                                & MAX_LOCATION_T].locus;
+    location = get_location_from_adhoc_loc (set, location);
 
   if (location < RESERVED_LOCATION_COUNT)
     return NULL;
@@ -1196,8 +1192,7 @@ linemap_location_in_system_header_p (struct line_maps *set,
   const struct line_map *map = NULL;
 
   if (IS_ADHOC_LOC (location))
-    location = set->location_adhoc_data_map.data[location
-                                                & MAX_LOCATION_T].locus;
+    location = get_location_from_adhoc_loc (set, location);
 
   if (location < RESERVED_LOCATION_COUNT)
     return false;
@@ -1240,8 +1235,7 @@ linemap_location_from_macro_expansion_p (const struct line_maps *set,
                                         location_t location)
 {
   if (IS_ADHOC_LOC (location))
-    location = set->location_adhoc_data_map.data[location
-                                                & MAX_LOCATION_T].locus;
+    location = get_location_from_adhoc_loc (set, location);
 
   return IS_MACRO_LOC (location);
 }
@@ -1467,8 +1461,7 @@ linemap_macro_loc_to_exp_point (struct line_maps *set,
   struct line_map *map;
 
   if (IS_ADHOC_LOC (location))
-    location = set->location_adhoc_data_map.data[location
-                                                & MAX_LOCATION_T].locus;
+    location = get_location_from_adhoc_loc (set, location);
 
   linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
 
@@ -1542,7 +1535,7 @@ linemap_resolve_location (struct line_maps *set,
 {
   location_t locus = loc;
   if (IS_ADHOC_LOC (loc))
-    locus = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    locus = get_location_from_adhoc_loc (set, loc);
 
   if (locus < RESERVED_LOCATION_COUNT)
     {
@@ -1624,7 +1617,7 @@ linemap_unwind_toward_expansion (struct line_maps *set,
   const struct line_map *resolved_map;
 
   if (IS_ADHOC_LOC (loc))
-    loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    loc = get_location_from_adhoc_loc (set, loc);
 
   resolved_location =
     linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, loc);
@@ -1664,7 +1657,7 @@ linemap_unwind_to_first_non_reserved_loc (struct line_maps *set,
   const line_map_ordinary *map1 = NULL;
 
   if (IS_ADHOC_LOC (loc))
-    loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    loc = get_location_from_adhoc_loc (set, loc);
 
   map0 = linemap_lookup (set, loc);
   if (!linemap_macro_expansion_map_p (map0))
@@ -1709,9 +1702,8 @@ linemap_expand_location (struct line_maps *set,
   memset (&xloc, 0, sizeof (xloc));
   if (IS_ADHOC_LOC (loc))
     {
-      xloc.data
-       = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
-      loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+      xloc.data = get_data_from_adhoc_loc (set, loc);
+      loc = get_location_from_adhoc_loc (set, loc);
     }
 
   if (loc < RESERVED_LOCATION_COUNT)
@@ -1815,7 +1807,7 @@ linemap_dump_location (struct line_maps *set,
   int l = -1, c = -1, s = -1, e = -1;
 
   if (IS_ADHOC_LOC (loc))
-    loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
+    loc = get_location_from_adhoc_loc (set, loc);
 
   if (loc == 0)
     return;