On 08/04/14 05:04, Alan Modra wrote:
Two small changes to gcc code to support newer obstacks:
1) gcc currently calls _obstack_begin, which requires some ugly casts
on alloc and free functions, and the casts will change when/if 64-bit
obstacks are available. It's cleaner to use the convenience functions
provided in obstack.h.
2) Current upstream obstack.h makes obstack_base() return a void*,
with the result that a few places in gcc need a (char *) cast.
Bootstrapped and regression tested x86_64-linux and powerpc-linux,
with both the new obstack.{h,c} and the old versions. OK to apply?
gcc/
* gengtype.h (obstack_chunk_alloc, obstack_chunk_free): Remove cast.
* coretypes.h (obstack_chunk_alloc, obstack_chunk_free): Likewise.
(gcc_obstack_init): Use obstack_specify_allocation in place of
_obstack_begin.
* genautomata.c (next_sep_el): Cast result of obstack_base to (char *).
(regexp_representation): Likewise.
* godump.c (go_output_type): Likewise.
gcc/java/
* mangle.c (finish_mangling): Cast result of obstack_base to (char *).
* typeck.c (build_java_argument_signature): Likewise.
(build_java_signature): Likewise.
gcc/objc/
* objc-encoding.c (encode_array): Cast result of obstack_base.
(encode_type): Likewise.
libcpp/
* symtab.c (ht_create): Use obstack_specify_allocation in place of
_obstack_begin.
* files.c (_cpp_init_files): Likewise.
* init.c (cpp_create_reader): Likewise.
* identifiers.c (_cpp_init_hashtable): Likewise.
OK for the trunk. Sorry for the delay in getting to this.
Thanks,
Jeff