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

Reply via email to