]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix lookup of macro maps
authorDodji Seketeli <dodji@redhat.com>
Tue, 25 Oct 2011 08:59:07 +0000 (08:59 +0000)
committerDodji Seketeli <dodji@gcc.gnu.org>
Tue, 25 Oct 2011 08:59:07 +0000 (10:59 +0200)
* line-map.c (linemap_macro_map_lookup): Fix logic.

From-SVN: r180427

libcpp/ChangeLog
libcpp/line-map.c

index d7fb84f576b9fd675451ee390677740cee05b95f..918b8af1daddd106b3e27b0947fa4f8e400d5a8e 100644 (file)
@@ -1,3 +1,7 @@
+2011-10-24  Dodji Seketeli  <dodji@redhat.com>
+
+       * line-map.c (linemap_macro_map_lookup): Fix logic.
+
 2011-10-24  Dodji Seketeli  <dodji@redhat.com>
 
        * include/line-map.h (linemap_expand_location): Take a line table
index 7a1decc7501e37b77b36ab9bbc19b4c0d21ab831..23a0347cb5fb2f9d07ff6dfc26717c55a9668815 100644 (file)
@@ -588,14 +588,14 @@ linemap_macro_map_lookup (struct line_maps *set, source_location line)
       mn = 0;
     }
 
-  do 
+  while (mn < mx)
     {
       md = (mx + mn) / 2;
       if (MAP_START_LOCATION (LINEMAPS_MACRO_MAP_AT (set, md)) > line)
-       mn = md;
+       mn = md + 1;
       else
        mx = md;
-    } while (mx - mn > 1);
+    }
 
   LINEMAPS_MACRO_CACHE (set) = mx;
   result = LINEMAPS_MACRO_MAP_AT (set, LINEMAPS_MACRO_CACHE (set));