diff --git a/gcc/c-family/c-warn.cc b/gcc/c-family/c-warn.cc
index 9ab83a9a84aa2f124dd5e38a2bfd0d85d684dc00..bc889cee6b9190d56b69908cdf74105a72532ed6 100644
--- a/gcc/c-family/c-warn.cc
+++ b/gcc/c-family/c-warn.cc
@@ -2951,7 +2951,7 @@ warn_for_multistatement_macros (location_t body_loc, location_t next_loc,
   while (linemap_macro_expansion_map_p (guard_map))
     {
       const line_map_macro *mm = linemap_check_macro (guard_map);
-      guard_loc_exp = MACRO_MAP_EXPANSION_POINT_LOCATION (mm);
+      guard_loc_exp = mm->get_expansion_point_location ();
       guard_map = linemap_lookup (line_table, guard_loc_exp);
       if (guard_map == body_map)
 	return;
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 539518d792344cdb508e2d623f144a784627607b..c1c8c226bc1ec36bcd4b0ee1f491dc10b7d2b111 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -13937,7 +13937,7 @@ ordinary_loc_of (line_maps *lmaps, location_t from)
 	  /* Find the ordinary location nearest FROM.  */
 	  const line_map *map = linemap_lookup (lmaps, from);
 	  const line_map_macro *mac_map = linemap_check_macro (map);
-	  from = MACRO_MAP_EXPANSION_POINT_LOCATION (mac_map);
+	  from = mac_map->get_expansion_point_location ();
 	}
     }
   return from;
@@ -15779,7 +15779,7 @@ module_state::note_location (location_t loc)
 	      slot->remap = 0;
 	      // Expansion locations could themselves be from a
 	      // macro, we need to note them all.
-	      note_location (mac_map->expansion);
+	      note_location (mac_map->m_expansion);
 	      gcc_checking_assert (mac_map->n_tokens);
 	      location_t tloc = UNKNOWN_LOCATION;
 	      for (unsigned ix = mac_map->n_tokens * 2; ix--;)
@@ -16375,7 +16375,7 @@ module_state::write_macro_maps (elf_out *to, range_t &info, unsigned *crc_p)
       sec.u (iter->remap);
       sec.u (mac->n_tokens);
       sec.cpp_node (mac->macro);
-      write_location (sec, mac->expansion);
+      write_location (sec, mac->m_expansion);
       const location_t *locs = mac->macro_locations;
       /* There are lots of identical runs.  */
       location_t prev = UNKNOWN_LOCATION;
diff --git a/gcc/input.cc b/gcc/input.cc
index fd09fccb0e3c0e41e102e68242ceddecde2468cd..6256d81f5319764fb8033da17944b7cc98860ee7 100644
--- a/gcc/input.cc
+++ b/gcc/input.cc
@@ -1530,9 +1530,9 @@ dump_location_info (FILE *stream)
 			   map->start_location,
 			   (map->start_location
 			    + MACRO_MAP_NUM_MACRO_TOKENS (map)));
-      inform (MACRO_MAP_EXPANSION_POINT_LOCATION (map),
+      inform (map->get_expansion_point_location (),
 	      "expansion point is location %i",
-	      MACRO_MAP_EXPANSION_POINT_LOCATION (map));
+	      map->get_expansion_point_location ());
       fprintf (stream, "  map->start_location: %u\n",
 	       map->start_location);
 
diff --git a/gcc/tree-diagnostic.cc b/gcc/tree-diagnostic.cc
index a600f0e9f64eb04c32811a222403926ff96848de..cae400cf37275d045c322b18aa255925ab5a39dd 100644
--- a/gcc/tree-diagnostic.cc
+++ b/gcc/tree-diagnostic.cc
@@ -217,7 +217,7 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context,
            This is the locus 2/ of the earlier comment.  */
         location_t resolved_exp_loc =
           linemap_resolve_location (line_table,
-                                    MACRO_MAP_EXPANSION_POINT_LOCATION (iter->map),
+                                    iter->map->get_expansion_point_location (),
                                     LRK_MACRO_DEFINITION_LOCATION, NULL);
 
         diagnostic_append_note (context, resolved_exp_loc, 
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index cb934e6b9b33411ddef407b805ba62c0af041f99..635d6d3077c520f10e7b021ddee35da21c57a41a 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -461,6 +461,15 @@ struct cpp_hashnode;
    The offset from START_LOCATION is used to index into
    MACRO_LOCATIONS; this holds the original location of the token.  */
 struct GTY((tag ("2"))) line_map_macro : public line_map {
+
+  /* Get the location of the expansion point of this macro map.  */
+
+  location_t
+  get_expansion_point_location () const
+  {
+    return m_expansion;
+  }
+
   /* Base is 4 bytes.  */
 
   /* The number of tokens inside the replacement-list of MACRO.  */
@@ -535,7 +544,7 @@ struct GTY((tag ("2"))) line_map_macro : public line_map {
      by the map that was current right before the current one. It
      could have been either a macro or an ordinary map, depending on
      if we are in a nested expansion context not.  */
-  location_t expansion;
+  location_t m_expansion;
 
   /* Size is 20 or 32 (4 bytes padding on 64-bit).  */
 };
@@ -705,14 +714,6 @@ MACRO_MAP_LOCATIONS (const line_map_macro *macro_map)
   return macro_map->macro_locations;
 }
 
-/* Get the location of the expansion point of the macro map MAP.  */
-
-inline location_t
-MACRO_MAP_EXPANSION_POINT_LOCATION (const 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.
diff --git a/libcpp/line-map.cc b/libcpp/line-map.cc
index cd1735301493a88613dc5a92d201ab94ee3dc1ea..cc9e14aa61e3c4f41730b1f1ecedbf56773a1686 100644
--- a/libcpp/line-map.cc
+++ b/libcpp/line-map.cc
@@ -782,7 +782,7 @@ linemap_enter_macro (class line_maps *set, struct cpp_hashnode *macro_node,
   map->macro_locations
     = (location_t*) set->m_reallocator (nullptr,
 					2 * num_tokens * sizeof (location_t));
-  map->expansion = expansion;
+  map->m_expansion = expansion;
   memset (MACRO_MAP_LOCATIONS (map), 0,
 	  2 * num_tokens * sizeof (location_t));
 
@@ -1225,7 +1225,7 @@ linemap_macro_map_loc_to_exp_point (const line_map_macro *map,
   linemap_assert ((location - MAP_START_LOCATION (map))
 		  <  MACRO_MAP_NUM_MACRO_TOKENS (map));
 
-  return MACRO_MAP_EXPANSION_POINT_LOCATION (map);
+  return map->get_expansion_point_location ();
 }
 
 /* LOCATION is the source location of a token that belongs to a macro