Richard Guenther <richard.guent...@gmail.com> writes:

> This broke bootstrap on x86_64-linux.
>
> /space/rguenther/src/svn/trunk/libcpp/line-map.c: In function
> 'source_location linemap_macro_map_loc_to_exp_point(const line_map*,
> source_location)':
> /space/rguenther/src/svn/trunk/libcpp/line-map.c:628:12: error:
> variable 'token_no' set but not used [-Werror=unused-but-set-variable]
> cc1plus: all warnings being treated as errors

Sigh.

I guess the reason why my testing hasn't caught this is that I am
bootstrapping with --enable-checking and so on my system ENABLE_CHECKING
is defined and my GCC_VERSION >= 2007.

I am bootstrapping and testing the obvious patch below with
--disable-bootstrap and I am planning to check it in if it passes, under
the obvious rule.

Sorry for the inconvenience.

commit e957242a9a8ec8f297e05ca0dae1d63bf543fad8
Author: Dodji Seketeli <do...@redhat.com>
Date:   Mon Oct 17 13:33:41 2011 +0200

    Fix bootstrapping with --disable-checking
    
    libcpp/ChangeLog
    
        * line-map.c (linemap_macro_map_loc_to_exp_point): Avoid setting a
        variable without using it if ENABLE_CHECKING is not defined.

diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 87b8bfe..a1d0fbb 100644
--- a/libcpp/line-map.c
+++ b/libcpp/line-map.c
@@ -625,14 +625,12 @@ source_location
 linemap_macro_map_loc_to_exp_point (const struct line_map *map,
                                    source_location location)
 {
-  unsigned token_no;
-
   linemap_assert (linemap_macro_expansion_map_p (map)
                  && location >= MAP_START_LOCATION (map));
 
   /* Make sure LOCATION is correct.  */
-  token_no = location - MAP_START_LOCATION (map);
-  linemap_assert (token_no <  MACRO_MAP_NUM_MACRO_TOKENS (map));
+  linemap_assert ((location - MAP_START_LOCATION (map))
+                 <  MACRO_MAP_NUM_MACRO_TOKENS (map));
 
   return MACRO_MAP_EXPANSION_POINT_LOCATION (map);
 }
-- 
                Dodji

Reply via email to