This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Type safe vector API
I can no longer bootstrap after this patch. It's because
~0u is not necessarily as wide as size_t.
With this patch I can bootstrap:
Index: vec.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/vec.h,v
retrieving revision 2.2
diff -u -r2.2 vec.h
--- vec.h 28 Jun 2004 10:54:57 -0000 2.2
+++ vec.h 29 Jun 2004 14:43:12 -0000
@@ -339,7 +339,7 @@
(VEC (TDEF) **vec_, TDEF obj_) \
{ \
if (!*vec_ || (*vec_)->num == (*vec_)->alloc) \
- VEC_OP (TDEF,reserve) (vec_, ~0u); \
+ VEC_OP (TDEF,reserve) (vec_, ~0ull); \
\
return VEC_OP (TDEF,quick_push) (*vec_, obj_); \
} \
@@ -385,7 +385,7 @@
(VEC (TDEF) **vec_, size_t ix_, TDEF obj_) \
{ \
if (!*vec_ || (*vec_)->num == (*vec_)->alloc) \
- VEC_OP (TDEF,reserve) (vec_, ~0u); \
+ VEC_OP (TDEF,reserve) (vec_, ~0ull); \
\
return VEC_OP (TDEF,quick_insert) (*vec_, ix_, obj_); \
} \
@@ -495,7 +495,7 @@
(VEC (TDEF) **vec_, const TDEF *obj_) \
{ \
if (!*vec_ || (*vec_)->num == (*vec_)->alloc) \
- VEC_OP (TDEF,reserve) (vec_, ~0u); \
+ VEC_OP (TDEF,reserve) (vec_, ~0ull); \
\
return VEC_OP (TDEF,quick_push) (*vec_, obj_); \
} \
@@ -539,7 +539,7 @@
(VEC (TDEF) **vec_, size_t ix_, const TDEF *obj_) \
{ \
if (!*vec_ || (*vec_)->num == (*vec_)->alloc) \
- VEC_OP (TDEF,reserve) (vec_, ~0u); \
+ VEC_OP (TDEF,reserve) (vec_, ~0ull); \
\
return VEC_OP (TDEF,quick_insert) (*vec_, ix_, obj_); \
} \