On 09/30/2011 11:28 AM, Jason Merrill wrote:
+linemap_location_before_p (struct line_maps *set,
+ source_location pre,
+ source_location post)
+{
+ bool pre_from_macro_p, post_from_macro_p;
+
+ if (pre == post)
+ return false;
+
+ pre_from_macro_p =
+ linemap_location_from_macro_expansion_p (set, pre);
+ post_from_macro_p =
+ linemap_location_from_macro_expansion_p (set, post);
+
+ if (pre_from_macro_p != post_from_macro_p)
+ {
+ if (pre_from_macro_p)
+ pre = linemap_macro_loc_to_exp_point (set, pre, NULL);
+ else
+ post = linemap_macro_loc_to_exp_point (set, post, NULL);
+ }
What if the two locations are from different macros?
Jason