1. 19 Nov, 2012 8 commits
    • libtool-version: Bump soversion. · c293d490
      2012-11-19  Matthias Klose  <doko@ubuntu.com>
      
              * libtool-version: Bump soversion.
      
      From-SVN: r193619
      Matthias Klose committed
    • md.texi: Document define_subst. · 477c104e
              * doc/md.texi: Document define_subst.
              * gensupport.c (MAX_OPERANDS): New define.
              (operand_data): New.
              (match_operand_entries_in_pattern): New.
              (used_operands_numbers): New.
              (subst_true): New.
              (subst_false): New.
              (define_subst_queue): New.
              (define_subst_tail): New.
              (define_subst_attr_queue): New.
              (define_subst_attr_tail): New.
              (has_subst_attribute): New.
              (subst_pattern_match): New.
              (get_alternatives_number): New.
              (alter_output_for_subst_insn): New.
              (alter_attrs_for_subst_insn): New.
              (process_substs_on_one_elem): New.
              (subst_dup): New.
              (process_define_subst): New.
              (duplicate_alternatives): New.
              (duplicate_each_alternative): New.
              (constraints_handler_t): New typedef.
              (alter_constraints): New.
              (adjust_operands_numbers): New.
              (replace_duplicating_operands_in_pattern): New.
              (remove_from_queue): New.
              (process_rtx): Handle define_subst and define_subst_attr.
              (change_subst_attribute): New.
              (alter_predicate_for_insn): Fix formatting.
              (alter_attrs_for_insn): Likewise.
              (alter_output_for_insn): Likewise.
              (mark_operands_from_match_dup): New.
              (mark_operands_used_in_match_dup): New.
              (find_first_unused_number_of_operand): New.
              (renumerate_operands_in_pattern): New.
              (generate_match_dup): New.
              (check_define_attr_duplicates): New.
              (init_rtx_reader_args_cb): Add checking for duplicated attrs and
              processing of define_subst.
              (read_md_rtx): Handle define_subst.
              * read-rtl.c (struct subst_attr_to_iter_mapping): New.
              (substs): New global.
              (apply_subst_iterator): New.
              (bind_subst_iter_and_attr): New.
              (find_subst_iter_by_attr): New.
              (map_attr_string): Handle subst-iterators.
              (add_condition_to_rtx): Handle define_subst.
              (apply_iterators): Likewise.
              (initialize_iterators): Likewise.
              (add_define_attr_for_define_subst): New.
              (add_define_subst_attr): New.
              (read_subst_mapping): New.
              (read_rtx): Handle define_subst_attr.
              (read_rtx_code): Add subst-attributes recognition during reading of
              strings.
              * rtl.def (DEFINE_EXPAND): Add vector of attributes.
              (DEFINE_SUBST): New.
              (DEFINE_SUBST_ATTR): New.
      
      
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r193618
      Maxim Kuznetsov committed
    • re PR rtl-optimization/55315 (comparing address to constant is folded in cse) · d826d5c2
      2012-11-19  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/55315
      
      	* gcc.target/mips/pr55315.c: New test.
      
      From-SVN: r193617
      Tom de Vries committed
    • re PR rtl-optimization/55315 (comparing address to constant is folded in cse) · bc2164e8
      2012-11-19  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/55315
      
      	* rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
      	const is a nonzero address.
      
      From-SVN: r193616
      Tom de Vries committed
    • reflect: Fix invalid sharing in valueInterface. · a3ce4803
      From-SVN: r193614
      Ian Lance Taylor committed
    • This patch addresses the bogus "Invocation mismatch" messages seen in parallel… · 822a258a
      This patch addresses the bogus "Invocation mismatch" messages seen in parallel profiledbootstrap builds of gcc.
      
      This patch addresses the bogus "Invocation mismatch" messages seen in parallel
      profiledbootstrap builds of gcc. See PR bootstrap/55051 for a discussion of
      why this is occurring and why this checking is inaccurate. Leave it in when
      !GCOV_LOCKED, to warn about concurrent update issues requiring locking.
      
      2012-11-18  Teresa Johnson  <tejohnson@google.com>
      
      	PR bootstrap/55051
      	* libgcov.c (gcov_exit): Remove merged program summary
      	comparison unless !GCOV_LOCKED.
      
      From-SVN: r193612
      Teresa Johnson committed
    • extend.texi: Use @smallexample consistently. · c513ecbf
      2012-11-18  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/extend.texi: Use @smallexample consistently.  Add @noindent
      	when continuing a sentence or paragraph past an example.  Change
      	tabs to spaces in examples.
      
      From-SVN: r193611
      Sandra Loosemore committed
    • Daily bump. · 57bedc3c
      From-SVN: r193610
      GCC Administrator committed
  2. 18 Nov, 2012 13 commits
    • gcc/ · d2eeb2d1
      	* doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m})
      	(extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document.
      	(insv, extv, extzv): Deprecate.
      	* optabs.def (insv_optab, extv_optab, extzv_optab)
      	(insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab):
      	New optabs.
      	* optabs.c (get_optab_extraction_insn): New function.
      	(get_extraction_insn): Use it.
      	* config/mips/mips.md (extv): Split into...
      	(extvmisalign<mode>, extv<mode>): ...these new patterns.  Rename
      	existing extv<mode> pattern to...
      	(*extv<mode>): ...this.
      	(extzv): Split into...
      	(extzvmisalign<mode>, extzv<mode>): ...these new patterns.  Rename
      	existing extzv<mode> pattern to...
      	(*extzv<mode>): ...this.
      	(insv): Split into...
      	(insvmisalign<mode>, insv<mode>): ...these new patterns.  Rename
      	existing insv<mode> pattern to...
      	(*insv<mode>): ...this.  Use const_int_operand rather than
      	immediate_operand.
      	* config/mips/mips.c (mips_block_move_straight): Use set_mem_size
      	to set the size of BLKmode accesses.
      	(mips_get_unaligned_mem): Require OP0 to be a BLKmode memory,
      	turning it from an "rtx *" to an rtx.
      	(mips_expand_ext_as_unaligned_load): Simplify for new optab
      	interface.  Update call to mips_get_unaligned_mem.
      	(mips_expand_ins_as_unaligned_store): Update call to
      	mips_get_unaligned_mem.
      
      From-SVN: r193606
      Richard Sandiford committed
    • Makefile.in (recog.o): Add insn-codes.h. · fcdd52b7
      gcc/
      	* Makefile.in (recog.o): Add insn-codes.h.
      	* expr.h (extraction_pattern): Move to optabs.h.
      	(mode_for_extraction): Delete.
      	* optabs.h (extraction_insn): New structure.
      	(extraction_pattern): Moved from expr.h.
      	(get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
      	* optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
      	(HAVE_extzv, CODE_FOR_extzv): Provide defaults.
      	(extraction_type): New enum.
      	(get_traditional_extraction_insn, get_extraction_insn)
      	(get_best_reg_extraction_insn, get_best_mem_extraction_insn):
      	New functions.
      	* combine.c (make_extraction): Use get_best_reg_extraction_insn
      	instead of mode_for_extraction.
      	* expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
      	(CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
      	Remove fallback definitions.
      	(mode_for_extraction): Delete.
      	(adjust_bit_field_mem_for_reg): New function.
      	(store_bit_field_using_insv): Replace OP_MODE parameter with
      	an extraction_insn.  Pass struct_mode to narrow_bit_field_mem.
      	(extract_bit_field_using_extv): Likewise EXT_MODE.
      	(store_bit_field_1): Use get_best_reg_extraction_insn and
      	get_best_mem_extraction_insn instead of mode_for_extraction.
      	Use adjust_bit_field_mem_for_reg when forcing memory to a
      	register and doing a register insertion.  Update calls to
      	store_bit_field_using_insv.
      	(extract_bit_field_1): Likewise extractions and calls to
      	extract_bit_field_using_extv.
      	(store_Bit_field): When narrowing to a bitregion, don't use the
      	insv mode as a limit.
      	* recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
      	Provide defaults.
      	(simplify_while_replacing): Use insn_data instead of
      	mode_for_extraction.
      
      From-SVN: r193605
      Richard Sandiford committed
    • stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Set up a… · 8b7d5dab
      stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Set up a default value of bitregion_end_.
      
      gcc/
      	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
      	Set up a default value of bitregion_end_.
      	(bit_field_mode_iterator::next_mode): Always apply bitregion_end_
      	check.  Include SLOW_UNALIGNED_ACCESS in the alignment check.
      	(get_best_mode): Ignore modes that are wider than the alignment.
      
      From-SVN: r193604
      Richard Sandiford committed
    • machmode.h (bit_field_mode_iterator): New class. · 073a544d
      gcc/
      	* machmode.h (bit_field_mode_iterator): New class.
      	(get_best_mode): Change final parameter to bool.
      	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator)
      	(bit_field_mode_iterator::next_mode): New functions, split out from...
      	(get_best_mode): ...here.  Change final parameter to bool.
      	Use bit_field_mode_iterator.
      
      From-SVN: r193603
      Richard Sandiford committed
    • expmed.c (narrow_bit_field_mem): New function. · 26f8b976
      gcc/
      	* expmed.c (narrow_bit_field_mem): New function.
      	(store_bit_field_using_insv, store_bit_field_1, store_fixed_bit_field)
      	(extract_bit_field_1): Use it.
      
      From-SVN: r193602
      Richard Sandiford committed
    • expr.h (adjust_address_1): Add a size parameter. · 5f2cbd0d
      gcc/
      	* expr.h (adjust_address_1): Add a size parameter.
      	(adjust_address, adjust_address_nv, adjust_bitfield_address)
      	(adjust_bitfield_address_nv): Adjust accordingly.
      	(adjust_bitfield_address_size): Define.
      	* emit-rtl.c (adjust_address_1): Add a size parameter.
      	Use it to set the size if MODE has no size.  Check whether
      	the size matches before returning the original memref.
      	Require the size to be known for adjust_object.
      	(adjust_automodify_address_1, widen_memory_access): Update calls
      	to adjust_address_1.
      
      From-SVN: r193601
      Richard Sandiford committed
    • combine.c (make_extraction): Handle TRUNCATEd INNERs. · 6cf99649
      gcc/
      	* combine.c (make_extraction): Handle TRUNCATEd INNERs.
      
      From-SVN: r193600
      Richard Sandiford committed
    • expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here. · a787ccc3
      gcc/
      	* expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs,
      	using their size instead of the COMPONENT_REF's.
      
      From-SVN: r193599
      Richard Sandiford committed
    • t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. · 3808f68e
      2012-11-17  Matthias Klose  <doko@ubuntu.com>
      
              * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
      
      From-SVN: r193598
      Matthias Klose committed
    • decl.c: Remove trailing spaces. · b16b6cc9
      	* gcc-interface/decl.c: Remove trailing spaces.
      	* gcc-interface/trans.c: Remove trailing spaces.
      
      From-SVN: r193597
      Eric Botcazou committed
    • compiler: Adjust for vec changes. · 4efdbe5a
      From-SVN: r193596
      Ian Lance Taylor committed
    • This patch rewrites the old VEC macro-based interface into a new one based on… · 9771b263
      This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
      
      This patch rewrites the old VEC macro-based interface into a new one
      based on the template class 'vec'.  The user-visible changes are
      described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
      
      I have tested the patch pretty extensively:
      
      - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
      - Bootstraps with --enable-checking=release
      - Bootstraps with --enable-checking=gc,gcac
      - Basic builds on all targets (using contrib/config-list.mk).
      
      We no longer access the vectors via VEC_* macros.  The pattern is
      "VEC_operation (T, A, V, args)" becomes "V.operation (args)".
      
      The only thing I could not do is create proper ctors and dtors for the
      vec class.  Since these vectors are stored in unions, we
      have to keep them as PODs (C++03 does not allow non-PODs in unions).
      
      This means that creation and destruction must be explicit.  There is a
      new method vec<type, allocation, layout>::create() and another vec<type,
      allocation, layout>::destroy() to allocate the internal vector.
      
      For vectors that must be pointers, there is a family of free functions
      that implement the operations that need to tolerate NULL vectors.
      These functions all start with the prefix 'vec_safe_'.  See the wiki
      page for details.
      
      The gengtype change removes the special handling for VEC() that used
      to exist in gengtype. Additionally, it allows gengtype to recognize
      templates of more than one argument and introduces the concept of an
      undefined type (useful for template arguments that may or may not be
      types).
      
      When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
      happens inside a type marked with GTY((user)).  Otherwise, it will
      emit an error.
      
      Finally, gengtype rejects root types marked GTY((user)) that are not
      first class pointers.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* vec.c (register_overhead): Convert it into
      	member function of vec_prefix.
      	(release_overhead): Likewise.
      	(calculate_allocation): Likewise.
      	(vec_heap_free): Remove.
      	(vec_gc_o_reserve_1): Remove.
      	(vec_heap_o_reserve_1): Remove.
      	(vec_stack_o_reserve_1): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(register_stack_vec): New.
      	(stack_vec_register_index): New.
      	(unregister_stack_vec): New.
      	(vec_assert_fail): Remove.
      	* vec.h: Conditionally include ggc.h.  Document conditional
      	hackery.
      	Update top-level documentation.
      	(ALONE_VEC_CHECK_INFO): Remove.
      	(VEC_CHECK_INFO): Remove.
      	(ALONE_VEC_CHECK_DECL): Remove.
      	(VEC_CHECK_DECL): Remove.
      	(ALONE_VEC_CHECK_PASS): Remove.
      	(VEC_CHECK_PASS): Remove.
      	(VEC_ASSERT): Remove.
      	(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
      	va_stack.
      	Mark fields alloc_ and num_ as protected.
      	(struct vec_t): Remove.  Remove all function members.
      	(struct vl_embed): Declare.
      	(struct vl_ptr): Declare.
      	(free): Remove.
      	(reserve_exact): Remove.
      	(reserve): Remove.
      	(safe_splice): Remove.
      	(safe_push): Remove.
      	(safe_grow): Remove.
      	(safe_grow_cleared): Remove.
      	(safe_insert): Remove.
      	(DEF_VEC_I): Remove.
      	(DEF_VEC_ALLOC_I): Remove.
      	(DEF_VEC_P): Remove.
      	(DEF_VEC_ALLOC_P): Remove.
      	(DEF_VEC_O): Remove.
      	(DEF_VEC_ALLOC_O): Remove.
      	(DEF_VEC_ALLOC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_I_STACK): Remove.
      	(DEF_VEC_A): Remove.
      	(DEF_VEC_ALLOC_A): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(VEC_length): Remove.
      	(VEC_empty): Remove.
      	(VEC_address): Remove.
      	(vec_address): Remove.
      	(VEC_last): Remove.
      	(VEC_index): Remove.
      	(VEC_iterate): Remove.
      	(VEC_embedded_size): Remove.
      	(VEC_embedded_init): Remove.
      	(VEC_free): Remove.
      	(VEC_copy): Remove.
      	(VEC_space): Remove.
      	(VEC_reserve): Remove.
      	(VEC_reserve_exact): Remove.
      	(VEC_splice): Remove.
      	(VEC_safe_splice): Remove.
      	(VEC_quick_push): Remove.
      	(VEC_safe_push): Remove.
      	(VEC_pop): Remove.
      	(VEC_truncate): Remove.
      	(VEC_safe_grow): Remove.
      	(VEC_replace): Remove.
      	(VEC_quick_insert): Remove.
      	(VEC_safe_insert): Remove.
      	(VEC_ordered_remove): Remove.
      	(VEC_unordered_remove): Remove.
      	(VEC_block_remove): Remove.
      	(VEC_lower_bound): Remove.
      	(VEC_alloc): Remove.
      	(VEC_qsort): Remove.
      
      	(va_heap): Declare.
      	(va_heap::default_layout): New typedef to vl_ptr.
      	(va_heap::reserve): New.
      	(va_heap::release): New.
      	(va_gc): Declare.
      	(va_gc::default_layout): New typedef to vl_embed.
      	(va_gc::reserve): New.
      	(va_gc::release): New.
      	(va_gc_atomic): Declare.  Inherit from va_gc.
      	(va_stack): Declare.
      	(va_stack::default_layout): New typedef to vl_ptr.
      	(va_stack::alloc): New.
      	(va_stack::reserve): New.
      	(va_stack::release): New.
      	(register_stack_vec): Declare.
      	(stack_vec_register_index): Declare.
      	(unregister_stack_vec): Declare.
      
      	(vec<T, A = va_heap, L = typename A::default_layout>): Declare
      	empty vec template.
      	(vec<T, A, vl_embed>): Partial specialization for embedded
      	layout.
      	(vec<T, A, vl_embed>::allocated): New.
      	(vec<T, A, vl_embed>::length): New.
      	(vec<T, A, vl_embed>::is_empty): New.
      	(vec<T, A, vl_embed>::address): New.
      	(vec<T, A, vl_embed>::operator[]): New.
      	(vec<T, A, vl_embed>::last New.
      	(vec<T, A, vl_embed>::space): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::copy): New.
      	(vec<T, A, vl_embed>::splice): New.
      	(vec<T, A, vl_embed>::quick_push New.
      	(vec<T, A, vl_embed>::pop New.
      	(vec<T, A, vl_embed>::truncate): New.
      	(vec<T, A, vl_embed>::quick_insert): New.
      	(vec<T, A, vl_embed>::ordered_remove): New.
      	(vec<T, A, vl_embed>::unordered_remove): New.
      	(vec<T, A, vl_embed>::block_remove): New.
      	(vec<T, A, vl_embed>::qsort): New.
      	(vec<T, A, vl_embed>::lower_bound): New.
      	(vec<T, A, vl_embed>::embedded_size): New.
      	(vec<T, A, vl_embed>::embedded_init): New.
      	(vec<T, A, vl_embed>::quick_grow): New.
      	(vec<T, A, vl_embed>::quick_grow_cleared): New.
      	(vec_safe_space): New.
      	(vec_safe_length): New.
      	(vec_safe_address): New.
      	(vec_safe_is_empty): New.
      	(vec_safe_reserve): New.
      	(vec_safe_reserve_exact): New.
      	(vec_alloc): New.
      	(vec_free): New.
      	(vec_safe_grow): New.
      	(vec_safe_grow_cleared): New.
      	(vec_safe_iterate): New.
      	(vec_safe_push): New.
      	(vec_safe_insert): New.
      	(vec_safe_truncate): New.
      	(vec_safe_copy): New.
      	(vec_safe_splice): New.
      
      	(vec<T, A, vl_ptr>): New partial specialization for the space
      	efficient layout.
      	(vec<T, A, vl_ptr>::exists): New.
      	(vec<T, A, vl_ptr>::is_empty): New.
      	(vec<T, A, vl_ptr>::length): New.
      	(vec<T, A, vl_ptr>::address): New.
      	(vec<T, A, vl_ptr>::operator[]): New.
      	(vec<T, A, vl_ptr>::operator!=): New.
      	(vec<T, A, vl_ptr>::operator==): New.
      	(vec<T, A, vl_ptr>::last): New.
      	(vec<T, A, vl_ptr>::space): New.
      	(vec<T, A, vl_ptr>::iterate): New.
      	(vec<T, A, vl_ptr>::copy): New.
      	(vec<T, A, vl_ptr>::reserve): New.
      	(vec<T, A, vl_ptr>::reserve_exact): New.
      	(vec<T, A, vl_ptr>::splice): New.
      	(vec<T, A, vl_ptr>::safe_splice): New.
      	(vec<T, A, vl_ptr>::quick_push): New.
      	(vec<T, A, vl_ptr>::safe_push): New.
      	(vec<T, A, vl_ptr>::pop): New.
      	(vec<T, A, vl_ptr>::truncate): New.
      	(vec<T, A, vl_ptr>::safe_grow): New.
      	(vec<T, A, vl_ptr>::safe_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_grow): New.
      	(vec<T, A, vl_ptr>::quick_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_insert): New.
      	(vec<T, A, vl_ptr>::safe_insert): New.
      	(vec<T, A, vl_ptr>::ordered_remove): New.
      	(vec<T, A, vl_ptr>::unordered_remove): New.
      	(vec<T, A, vl_ptr>::block_remove): New.
      	(vec<T, A, vl_ptr>::qsort): New.
      	(vec<T, A, vl_ptr>::lower_bound): New.
      	(vec_stack_alloc): Define.
      	(FOR_EACH_VEC_SAFE_ELT): Define.
      	* vecir.h: Remove.  Update all users.
      	* vecprim.h: Remove.  Update all users.
      	Move uchar to coretypes.h.
      
      	* Makefile.in (VEC_H): Add $(GGC_H).
      	Remove vecir.h and vecprim.h dependencies everywhere.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	* gengtype-lex.l (VEC): Remove.
      	Add characters in the set [\!\>\.-].
      	* gengtype-parse.c (token_names): Remove "VEC".
      	(require_template_declaration): Remove handling of VEC_TOKEN.
      	(type): Likewise.
      	Call create_user_defined_type when parsing GTY((user)).
      	* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
      	(write_state_undefined_type): New.
      	(write_state_type): Call write_state_undefined_type for
      	TYPE_UNDEFINED.
      	(read_state_type): Call read_state_undefined_type for
      	TYPE_UNDEFINED.
      	* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
      	(create_user_defined_type): Make extern.
      	(type_for_name): Factor out of resolve_typedef.
      	(create_undefined_type): New
      	(resolve_typedef): Call it when we cannot find a previous
      	typedef and the type is not a template.
      	(find_structure): Accept TYPE_UNDEFINED.
      	(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
      	default to false.
      	Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
      	ALLOWED_UNDEFINED_TYPES is set.
      	Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
      	(filter_type_name): Accept templates with more than one
      	argument.
      	(output_mangled_typename): Handle TYPE_UNDEFINED
      	(walk_type): Likewise.
      	(write_types_process_field): Likewise.
      	(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
      	should not be a user-defined type.
      	(write_types_local_user_process_field): Handle TYPE_ARRAY,
      	TYPE_NONE and TYPE_UNDEFINED.
      	(write_types_local_process_field): Likewise.
      	(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
      	(write_root): Reject user-defined types that are not pointers.
      	Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
      	and TYPE_PARAM_STRUCT.
      	(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
      	TYPE_ARRAY.
      	(dump_typekind): Handle TYPE_UNDEFINED.
      	* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
      	(create_user_defined_type): Declare.
      	(enum gty_token): Remove VEC_TOKEN.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* coretypes.h (uchar): Define.
      	* alias.c: Use new vec API in vec.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* data-streamer.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genextract.c: Likewise.
      	* genopinit.c: Likewise
      	* ggc-common.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* graphds.c: Likewise.
      	* graphds.h: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* godump.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* hw-doloop.h: Likewise.
      	* ifcvt.c: Likewise.
      	* insn-addr.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref-inline.h: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-ref.h: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* mcf.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-common.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      	* read-rtl.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regrename.c: Likewise.
      	* regrename.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-int.h: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* statistics.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      
      From-SVN: r193595
      Diego Novillo committed
    • Daily bump. · 0f411915
      From-SVN: r193594
      GCC Administrator committed
  3. 17 Nov, 2012 11 commits
  4. 16 Nov, 2012 8 commits