aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2011-10-18 08:44:49 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2011-10-18 10:44:49 +0200
commitd17687f6f0ec28df90cb851a15cf0945d7b7ba57 (patch)
treef0f196717a123734651cdeb6d17553bca251f465 /libcpp
parentd5899fb5d3b3a45dc81f6a2e4cca8355f1a17a56 (diff)
downloadgcc-d17687f6f0ec28df90cb851a15cf0945d7b7ba57.zip
gcc-d17687f6f0ec28df90cb851a15cf0945d7b7ba57.tar.gz
gcc-d17687f6f0ec28df90cb851a15cf0945d7b7ba57.tar.bz2
Fix bootstrap on !NO_IMPLICIT_EXTERN_C and ia32 targets
libcpp/ * include/line-map.h (struct linemap_stats): Change the type of the members from size_t to long. * macro.c (macro_arg_token_iter_init): Unconditionally initialize iter->location_ptr. gcc/c-family/ * c-lex.c (fe_file_change): Use LINEMAP_SYSP when !NO_IMPLICIT_EXTERN_C. gcc/ * input.c (dump_line_table_statistics): Use long, not size_t. From-SVN: r180124
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog8
-rw-r--r--libcpp/include/line-map.h22
-rw-r--r--libcpp/line-map.c2
-rw-r--r--libcpp/macro.c4
4 files changed, 24 insertions, 12 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index c81c967..bbb4085 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,11 @@
+2011-10-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR bootstrap/50760
+ * include/line-map.h (struct linemap_stats): Change the type of
+ the members from size_t to long.
+ * macro.c (macro_arg_token_iter_init): Unconditionally initialize
+ iter->location_ptr.
+
2011-10-17 Dodji Seketeli <dodji@redhat.com>
* line-map.c (linemap_macro_map_loc_to_exp_point): Avoid setting a
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index 1e2a148..ef98f59 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -687,17 +687,17 @@ expanded_location linemap_expand_location_full (struct line_maps *,
linemap_get_statistics. */
struct linemap_stats
{
- size_t num_ordinary_maps_allocated;
- size_t num_ordinary_maps_used;
- size_t ordinary_maps_allocated_size;
- size_t ordinary_maps_used_size;
- size_t num_expanded_macros;
- size_t num_macro_tokens;
- size_t num_macro_maps_used;
- size_t macro_maps_allocated_size;
- size_t macro_maps_used_size;
- size_t macro_maps_locations_size;
- size_t duplicated_macro_maps_locations_size;
+ long num_ordinary_maps_allocated;
+ long num_ordinary_maps_used;
+ long ordinary_maps_allocated_size;
+ long ordinary_maps_used_size;
+ long num_expanded_macros;
+ long num_macro_tokens;
+ long num_macro_maps_used;
+ long macro_maps_allocated_size;
+ long macro_maps_used_size;
+ long macro_maps_locations_size;
+ long duplicated_macro_maps_locations_size;
};
/* Compute and return statistics about the memory consumption of some
diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 43e2856..fb3be3a 100644
--- a/libcpp/line-map.c
+++ b/libcpp/line-map.c
@@ -1180,7 +1180,7 @@ void
linemap_get_statistics (struct line_maps *set,
struct linemap_stats *s)
{
- size_t ordinary_maps_allocated_size, ordinary_maps_used_size,
+ long ordinary_maps_allocated_size, ordinary_maps_used_size,
macro_maps_allocated_size, macro_maps_used_size,
macro_maps_locations_size = 0, duplicated_macro_maps_locations_size = 0;
diff --git a/libcpp/macro.c b/libcpp/macro.c
index 2d0eeaa..f313959 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -1278,6 +1278,10 @@ macro_arg_token_iter_init (macro_arg_token_iter *iter,
iter->track_macro_exp_p = track_macro_exp_p;
iter->kind = kind;
iter->token_ptr = token_ptr;
+ /* Unconditionally initialize this so that the compiler doesn't warn
+ about iter->location_ptr being possibly uninitialized later after
+ this code has been inlined somewhere. */
+ iter->location_ptr = NULL;
if (track_macro_exp_p)
iter->location_ptr = get_arg_token_location (arg, kind);
#ifdef ENABLE_CHECKING