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
