Commit Graph

116940 Commits

Author SHA1 Message Date
Marc Glisse 6015a67d39 re PR target/52607 (v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2})
2012-05-14  Marc Glisse  <marc.glisse@inria.fr>

	PR target/52607
	* config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
	(canonicalize_perm): ... new function.
	(expand_vec_perm_2vperm2f128_vshuf): New function.
	(ix86_expand_vec_perm_const_1): Call it.

From-SVN: r187479
2012-05-14 20:19:30 +00:00
Janne Blomqvist 80b91c0b39 PR 52428 Range checking when reading integer values.
gcc/fortran ChangeLog:

2012-05-14  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/52428
	* gfortran.texi: Update _gfortran_set_options documentation.
	* invoke.texi: Remove runtime behavior description of
	-fno-range-check.
	* trans-decl.c (create_main_function): Don't pass the range-check
	setting to the library.


libgfortran ChangeLog:

2012-05-14  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/52428
	* io/io.h (max_value): Rename to si_max, remove second argument.
	* io/list_read.c (convert_integer): Use unsigned types when
	parsing the digits, set max value depending on the sign.
	* io/read.c (max_value): Rename to si_max, remove second argument,
	simplify.
	(read_decimal): Set max value depending on sign, always check
	overflow.
	(read_radix): Calculate max unsigned value directly.
	* libgfortran.h (struct compile_options_t): Remove range_check
	field.
	* runtime/compile_options.c (set_options): Skip handling
	options[7].
	(init_compile_options): Don't set removed field.


gcc/testsuite ChangeLog:

2012-05-14  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/52428
	* gfortran.dg/int_range_io_1.f90: New test.

From-SVN: r187478
2012-05-14 22:39:23 +03:00
Jakub Jelinek f62866740b [multiple changes]
2012-05-14  Andrew Pinski  <apinski@cavium.com>
	    H.J. Lu  <hongjiu.lu@intel.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR target/53315
	* config/i386/i386.md (xbegin_1): Use + in constraint and
	match_dup.
	(xbegin): Updated.

2012-05-14  Andi Kleen <ak@linux.intel.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR target/53315
	* gcc.target/i386/i386.exp (check_effective_target_rtm): New.
	* gcc.target/i386/rtm-check.h: New file.
	* gcc.target/i386/pr53315.c: New test.

From-SVN: r187477
2012-05-14 20:47:05 +02:00
Jakub Jelinek 210cfe6365 dwarf2out.c (dwarf2out_define, [...]): Treat lineno 1 the same as lineno 0 before first start file directive.
* dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
	lineno 1 the same as lineno 0 before first start file directive.
	(optimize_macinfo_range): Likewise.

From-SVN: r187475
2012-05-14 19:07:41 +02:00
Jakub Jelinek d5c9098338 dwarf2out.c (have_macinfo): Define.
* dwarf2out.c (have_macinfo): Define.
	(dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
	attribute, don't force empty compilation unit and don't emit any
	.debug_macinfo/.debug_macro section if macinfo_table is empty.

From-SVN: r187473
2012-05-14 19:06:19 +02:00
Tobias Burnus 6052c29931 re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)
2012-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/51055
        PR fortran/53329
        * trans-expr.c (gfc_trans_assignment_1): Fix allocation
        handling for assignment of function results to allocatable
        deferred-length strings.
        * trans-decl.c (gfc_create_string_length): For deferred-length
        module variables, include module name in the assembler name.
        (gfc_get_symbol_decl): Don't override the assembler name.

2012-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/51055
        PR fortran/53329
        * gfortran.dg/deferred_type_param_4.f90: New.
        * gfortran.dg/deferred_type_param_6.f90: New.

From-SVN: r187472
2012-05-14 18:45:16 +02:00
Georg-Johann Lay 5bb53d1a1d re PR target/53344 (Dont' emit an assembler warning when assembling 3-byte symbols)
PR target/53344
	* config/avr/avr.c (avr_const_address_lo16): Remove.
	(avr_assemble_integer):  Print ".byte lo8(x)",
	".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler
	.warning if 3-byte address is assembled. 
	* doc/extend.texi (AVR Named Address Spaces): Document that
	binutils 2.23 is needed to assemble 3-byte addresses.

From-SVN: r187470
2012-05-14 15:47:52 +00:00
Richard Guenther 6ba840107a tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming.
2012-05-14  Richard Guenther  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_setup_realignment): Remove
	call to mark_symbols_for_renaming.
	(vect_permute_load_chain): Likewise.
	* tree-vect-loop.c (vect_is_slp_reduction): Update stmt
	instead of calling mark_symbols_for_renaming.
	* tree-vect-stmts.c (read_vector_array): Remove call to
	mark_symbols_for_renaming.
	(write_vector_array): Likewise.
	(vectorizable_call): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	* matrix-reorg.c (transform_allocation_sites): Likewise.
	* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
	(create_expression_by_pieces): Likewise.

From-SVN: r187469
2012-05-14 15:06:40 +00:00
Richard Guenther 097dcc6683 gimplify.c (gimple_regimplify_operands): Only mark the LHS of statements for renaming.
2012-05-14  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimple_regimplify_operands): Only mark the LHS
	of statements for renaming.
	(force_gimple_operand_1): Likewise, consistently for both
	calls to force_gimple_operand and force_gimple_operand_gsi.

From-SVN: r187468
2012-05-14 15:05:21 +00:00
Richard Guenther a5efada73b tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
2012-05-14  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
	* omp-low.c (expand_omp_taskreg): Properly conditionalize call
	to update_ssa.
	(expand_omp_for): Likewise.
	(expand_omp_for_generic): Adjust conditional add to referenced vars.
	Use make_rename_temp for temporaries that should be rewritten into
	SSA form.
	(expand_omp_for_static_nochunk): Likewise.
	(expand_omp_atomic_pipeline): Likewise.

From-SVN: r187467
2012-05-14 15:04:39 +00:00
Richard Guenther a82960aa3f re PR bootstrap/53331 (AIX bootstrap failure in tree-vect-data-ref compiling matmul_i4)
2012-05-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53331
	* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
	strided loads.
	* tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.

From-SVN: r187466
2012-05-14 15:01:22 +00:00
Manuel López-Ibáñez f2bc201f53 re PR c/53063 (encode group options in the .opt files)
2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 53063
c-family/
	* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
	Wreorder): Use LangEnabledBy.
	* c-opts.c (c_common_handle_option): Do not enable them
	explicitly. Call lang-specific generated functions.
	(c_common_post_options): Do not set them here.
gcc/
	* doc/options.texi: (LangEnabledBy): Document it.
	* optc-gen.awk: Handle LangEnabledBy.
	* opth-gen.awk: Generate declaration for lang-specific functions.
	* opt-read.awk: Record lang numbers.
	* opt-functions.awk (flag_set_p): Ignore the arguments of flags.
	(lang_sanitized_name): New.
ada/
	* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
	(gnat_handle_option): Call lang-specific generated function.
fortran/
	* options.c (gfc_handle_option): Call lang-specific generated function.

From-SVN: r187462
2012-05-14 13:30:32 +00:00
Bernd Schmidt e384e6b59c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN.
* attribs.c (decl_attributes): Avoid emitting a warning if
	ATTR_FLAG_BUILT_IN.
	* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
	codes.  Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
	* c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as
	necessary.
	* builtin-attrs.def (DEF_ATTR_FOR_STRING): Define.  Use it to
	define a string "1".
	(ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
	* builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
	BUILT_IN_STRCPY): Use it for these functions.
	* postreload.c (reload_combine): Deal with SETs inside
	CALL_INSN_FUNCTION_USAGE.
	* caller-save.c (setup_save_areas, save_call_clobbered_regs):
	Look for REG_RETURNED notes and use a cheap restore if possible.
	* ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
	(ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
	* ira-build.c (ira_create_allocno, create_cap_allocno,
	propagate_allocno_info, propagate_some_info_from_allocno,
	copy_info_to_removed_store_destination, ira_flattening): Handle it.
	* ira-lives.c (pseudo_regno_single_word_and_live_p,
	find_call_crossed_cheap_reg): New static functions.
	(process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
	and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible.  Also make
	a REG_RETURNED note in that case.
	* ira.c (setup_reg_renumber): Change assert to allow cases where
	allocnos only cross calls for which they are cheap to restore.
	* ira-costs.c (ira_tune_allocno_costs): Compare
	ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
	than 0.
	* reg-notes.def (REG_RETURNED): New note.
	* cse.c (cse_insn): Likewise.
	* sched-deps.c (sched_analyze_insn): Likewise.
	* expr.c (init_block_move_fn): Set a "fn spec" attribute.
	* calls.c (decl_return_flags): New static function.
	(expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
	functions that return one of their arguments.
	* lto/lto-lang.c (handle_fnspec_attribute): New static function.
	(lto_attribute_table): Add "fn spec".
	(DEF_ATTR_STRING): Define and undefine along with the other macros.
	* regcprop.c (struct kill_set_value_data): New.
	(kill_set_value): Interpret data as a pointer to such a struct.
	Do nothing if the caller wants the register to be ignored.
	(copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.

testsuite/
	* gcc.target/i386/retarg.c: New test.

From-SVN: r187459
2012-05-14 12:08:31 +00:00
Richard Guenther 92290a187e re PR tree-optimization/53340 (rnflow.f90 is ~20% slower after revision 187092)
2012-05-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53340
	* tree-ssa-pre.c (op_valid_in_sets): Fix error in last commit.

From-SVN: r187457
2012-05-14 11:36:58 +00:00
Richard Guenther 412a1d9e4a gimplify.c (gimplify_expr): Remove odd code.
2012-05-14  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimplify_expr): Remove odd code.

From-SVN: r187453
2012-05-14 10:44:44 +00:00
Eric Botcazou 9cbbba287d stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype into a PLUS_EXPR byte offset.
* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
	into a PLUS_EXPR byte offset.

	* tree-ssa-pre.c (can_value_number_call): Delete.
	(compute_avail): Skip all statements with side effects.
	<GIMPLE_CALL>: Skip calls to internal functions.

From-SVN: r187450
2012-05-14 08:46:33 +00:00
GCC Administrator 5341ab8095 Daily bump.
From-SVN: r187449
2012-05-14 00:19:01 +00:00
Steven Bosscher ef4df35373 pa.md: Use define_c_enum for "unspec" and "unspecv".
* config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r187443
2012-05-13 19:57:37 +00:00
Uros Bizjak c9423ceff4 i386.md (*pushtf): Enable for TARGET_SSE.
* config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
	(pushtf splitter): Ditto.
	(movtf): Ditto.
	(*movtf_internal): Ditto. Use V4SFmode for !TARGET_SSE2.
	(<code>tf2): Enable for TARGET_SSE.
	(*absnegtf2_sse): Ditto.
	(copysign<mode>3): Enable TFmode for TARGET_SSE.
	(copysign<mode>3_const): Ditto.
	(copysign<mode>3_var): Ditto.
	* config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
	(*andnottf3): Ditto.  Use V4SFmode for !TARGET_SSE2.
	(*<code>tf3): Ditto.
	* config/i386/i386.c (struct builtin_description bdesc_args)
	<IX86_BUILTIN_FABSQ>: Enable for TARGET_SSE.
	<IX86_BUILTIN_COPYSIGNQ>: Ditto.
	(ix86_expand_builtin) <IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ>:
	Emit a normal call if SSE isn't available.

From-SVN: r187442
2012-05-13 20:01:41 +02:00
Manuel López-Ibáñez 9574478218 c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, [...]): Use EnabledBy.
2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

c-family/
	* c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
	Wmissing-field-initializers,Wmissing-parameter-type,
	Wold-style-declaration,Woverride-init): Use EnabledBy.
	* c-opts.c (c_common_post_options): Do not set here explicitly.
gcc/
	* common.opt (Wtype-limits): Use EnabledBy.

From-SVN: r187441
2012-05-13 17:38:41 +00:00
Uros Bizjak daa5129526 * config/i386/sse.md: The other part of my previous commit.
From-SVN: r187440
2012-05-13 19:17:30 +02:00
Uros Bizjak b8dd089424 sse.md (<sse>_andnot<mode>3): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
2012-05-13  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sse.md (<sse>_andnot<mode>3): Handle
	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
	(<code><mode>3): Ditto.
	(*andnot<mode>3): Ditto.
	(*andnottf3): Ditto.
	(*<code><mode>3): Ditto.
	(<code>tf3): Ditto.

From-SVN: r187438
2012-05-13 17:17:26 +02:00
Manuel López-Ibáñez 71caddc556 optc-gen.awk: Error instead of warning for conflicting help.
2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* optc-gen.awk: Error instead of warning for conflicting help.
ada/
	* gcc-interface/lang.opt (I): Comment out help text with no effect.
	(nostdinc): Comment out help text with no effect.

From-SVN: r187437
2012-05-13 11:10:49 +00:00
Alessandro Fanfarillo 8ae1ec924d re PR fortran/52158 (Regression on character function with gfortran 4.7)
2012-05-13  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/52158
        PR fortran/45170
        PR fortran/49430
        * resolve.c (resolve_fl_derived0): Deferred character length 
        procedure components are supported.
        * trans-expr.c (gfc_conv_procedure_call): Handle TBP with 
        deferred-length results.
        (gfc_string_to_single_character): Add a new check to prevent
        NULL read.
        (gfc_conv_procedure_call): Remove unuseful checks on 
        symbol's attributes. Add new checks to prevent NULL read on
        string length. 

2012-05-13  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

        PR fortran/45170
        * gfortran.dg/deferred_type_param_3.f90: New.
        * gfortran.dg/deferred_type_proc_pointer_1.f90: New.
        * gfortran.dg/deferred_type_proc_pointer_2.f90: New.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r187436
2012-05-13 12:52:32 +02:00
Jason Merrill bf4c7d4a02 re PR debug/53235 (20120504 broke -fdebug-types-section)
PR debug/53235
	* dwarf2out.c (build_local_stub): Prefer DW_AT_signature for
	comdat types.

From-SVN: r187435
2012-05-12 23:37:38 -04:00
GCC Administrator e08946f4ac Daily bump.
From-SVN: r187434
2012-05-13 00:18:32 +00:00
Eric Botcazou 4265801ba0 function.c (requires_stack_frame_p): If the function can throw non-call exceptions...
* function.c (requires_stack_frame_p): If the function can throw
	non-call exceptions, return true if the insn can throw internally.

From-SVN: r187429
2012-05-12 21:35:37 +00:00
Eric Botcazou 4ce5754013 * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
From-SVN: r187428
2012-05-12 21:20:22 +00:00
Tobias Burnus dd9123310d re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)
2012-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/52843
        * resolve.c (resolve_fl_procedure): Don't regard
        character(len=:) as character(*) in the diagnostic.

2012-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/52843
        * gfortran.dg/deferred_type_param_5.f90: New.

From-SVN: r187427
2012-05-12 11:53:53 +02:00
Paolo Carlini 3906795848 generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
	(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
	(TYPE_PTR_OR_PTRMEM_P): Add.
	* typeck.c (composite_pointer_type_r, composite_pointer_type,
	common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
	cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
	build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
	casts_away_constness_r, casts_away_constness): Adjust.
	* init.c (build_zero_init_1): Adjust.
	* class.c (check_field_decls): Likewise.
	* decl.c (check_default_argument): Likewise.
	* rtti.c (target_incomplete_p): Likewise.
	* tree.c (zero_init_p): Likewise.
	* cxx-pretty-print.c (pp_cxx_ptr_operator,
	pp_cxx_abstract_declarator): Likewise.
	* typeck2.c (build_m_component_ref): Likewise.
	* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
	dependent_type_p_r): Likewise.
	* call.c (null_member_pointer_value_p, standard_conversion,
	add_builtin_candidate, build_conditional_expr_1, compare_ics):
	Likewise.
	* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
	* cvt.c (cp_convert_to_pointer, ocp_convert,
	perform_qualification_conversions): Likewise.
	* mangle.c (write_type): Likewise.
	* name-lookup.c (arg_assoc_type): Likewise.

From-SVN: r187426
2012-05-12 09:09:25 +00:00
Paolo Carlini 66b1156afe generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
	(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
	(TYPE_PTR_OR_PTRMEM_P): Add.
	* typeck.c (composite_pointer_type_r, composite_pointer_type,
	common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
	cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
	build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
	casts_away_constness_r, casts_away_constness): Adjust.
	* init.c (build_zero_init_1): Adjust.
	* class.c (check_field_decls): Likewise.
	* decl.c (check_default_argument): Likewise.
	* rtti.c (target_incomplete_p): Likewise.
	* tree.c (zero_init_p): Likewise.
	* cxx-pretty-print.c (pp_cxx_ptr_operator,
	pp_cxx_abstract_declarator): Likewise.
	* typeck2.c (build_m_component_ref): Likewise.
	* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
	dependent_type_p_r): Likewise.
	* call.c (null_member_pointer_value_p, standard_conversion,
	add_builtin_candidate, build_conditional_expr_1, compare_ics):
	Likewise.
	* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
	* cvt.c (cp_convert_to_pointer, ocp_convert,
	perform_qualification_conversions): Likewise.
	* mangle.c (write_type): Likewise.
	* name-lookup.c (arg_assoc_type): Likewise.

From-SVN: r187425
2012-05-12 09:08:47 +00:00
Paolo Carlini 498ad15e8c parser.c (struct cp_parser_expression_stack_entry): Add location_t field.
/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (struct cp_parser_expression_stack_entry): Add location_t
	field.
	(cp_parser_binary_expression): Rework to always update at the same
	time tree_type and loc.
	* call.c (print_z_candidate): Add location_t parameter.
	(print_z_candidates, convert_like_real, joust): Adjust.

/testsuite
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/parse/error47.C: New.

From-SVN: r187424
2012-05-12 08:41:29 +00:00
GCC Administrator 819dc46137 Daily bump.
From-SVN: r187423
2012-05-12 00:18:32 +00:00
François Dumont 0545ebf2dc re PR libstdc++/53263 (priority_queue is very slow if -D_GLIBCXX_DEBUG is used)
2012-05-11  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/53263
	* include/debug/safe_iterator.h (__gnu_debug::__base): Move...
	* include/debug/functions.h: ... Here. Add debug function
	overloads to perform checks on normal iterators when possible.
	* include/debug/macros.h (__glibcxx_check_heap)
	(__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.

From-SVN: r187414
2012-05-11 19:21:31 +00:00
Thomas Koenig 06118b14d6 re PR libfortran/52537 (slow trim function)
2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/52537
	* gfortran.dg/string_compare_4.f90:  Change option
	to -fdump-tree-original.  Add test case for kind=4.

From-SVN: r187413
2012-05-11 18:50:14 +00:00
H.J. Lu dddb75f3fa Merge upstream x32 support into boehm-gc
Merge upstream changes
	* include/private/gcconfig.h: (ALIGNMENT): Set to 4 for x32.
	(CPP_WORDSZ): Set to 32 for x32.

From-SVN: r187412
2012-05-11 10:46:30 -07:00
Uros Bizjak d2b21f2062 alpha.c (alpha_emit_conditional_branch): Handle ORDERED and UNORDERED conditions.
* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
	ORDERED and UNORDERED conditions.

From-SVN: r187411
2012-05-11 17:11:11 +02:00
Richard Guenther 835c9db01f tree-flow.h (referenced_var_check_and_insert): Remove.
2012-05-11  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (referenced_var_check_and_insert): Remove.
	(find_new_referenced_vars): Likewise.
	* tree-dfa.c (referenced_var_check_and_insert): Make static.
	(find_new_referenced_vars_1, find_new_referenced_vars): Remove.
	* tree-inline.c (copy_bb): Use find_referenced_vars_in
	instead of find_new_referenced_vars.
	* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.

From-SVN: r187408
2012-05-11 14:08:30 +00:00
Richard Guenther 6083578b41 tree-pass.h (pass_rest_of_compilation, [...]): Remove.
2012-05-11  Richard Guenther  <rguenther@suse.de>

	* tree-pass.h (pass_rest_of_compilation,
	pass_all_optimizations, pass_postreload, pass_all_early_optimizations):
	Remove.
	* passes.c (pass_all_optimizations, pass_postreload,
	pass_all_early_optimizations): Make static.
	(pass_rest_of_compilation): Likewise.  Make it an RTL_PASS.
	* tree-phinodes.c (init_phinodes, fini_phinodes): Remove.
	* tree-ssa.c (init_tree_ssa): Do not call init_phinodes.
	(delete_tree_ssa): Do not call fini_phinodes.
	* tree-flow.h (init_phinodes, fini_phinodes): Remove.

From-SVN: r187407
2012-05-11 14:07:38 +00:00
Thomas Koenig 91077d4ef9 re PR libfortran/52537 (slow trim function)
2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/52537
	* frontend-passes.c (optimize_op):  Change
	old-style comparison operators to new-style, simplify
	switch as a result.
	(empty_string):  New function.
	(get_len_trim_call):  New function.
	(optimize_comparison):  If comparing to an empty string,
	use comparison of len_trim to zero.
	Use new-style comparison operators only.
	(optimize_trim):  Use get_len_trim_call.

2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/52537
	* gfortran.dg/string_compare_4.f90:  New test.

From-SVN: r187406
2012-05-11 13:56:06 +00:00
Alexandre Oliva 3feb96d2f4 re PR c++/53209 (tree check ICE: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7038)
PR c++/53209
* pt.c (tsubst_decl): Bail out if argvec is error_mark_node.

From-SVN: r187404
2012-05-11 13:27:03 +00:00
Manuel López-Ibáñez 7d5a5747fc re PR c/53063 (encode group options in the .opt files)
2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 53063
gcc/
	* doc/options.texi (EnabledBy): Document
	* opts.c: Include opts.h and options.h before tm.h.
	(finish_options): Do not handle some sub-options here...
	(common_handle_option): ... instead call common_handle_option_auto here.
	* optc-gen.awk: Handle EnabledBy.
	* opth-gen.awk: Declare common_handle_option_auto.
	* common.opt (Wuninitialized): Use EnabledBy. Delete Init.
	(Wmaybe-uninitialized): Likewise.
        (Wunused-but-set-variable): Likewise.
        (Wunused-function): Likewise.
        (Wunused-label): Likewise.
        (Wunused-value): Likewise.
        (Wunused-variable): Likewise.
        * opt-read.awk: Create opt_numbers array.
ada/
	* gcc-interface/misc.c (gnat_parse_file): Move before ...
	(gnat_handle_option): ... this. Use handle_generated_option.
c-family/
	* c-opts.c (c_common_handle_option): Use handle_generated_option
	to enable sub-options.
fortran/
	* options.c: Include diagnostics.h instead of
	diagnostics-core.h.
	(set_Wall): Do not see warn_unused here.
	(gfc_handle_option): Set it here using handle_generated_option.

From-SVN: r187403
2012-05-11 12:23:50 +00:00
Richard Guenther 319e6439f5 re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data)
2012-05-11  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/53295
	* tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
	strides.
	* tree-data-ref.c (dr_analyze_innermost): Allow non-constant
	strides when analyzing data-references in a loop context.
	* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
	non-constant strides for now.
	(vect_enhance_data_refs_alignment): Ignore data references
	that are strided loads.
	(vect_analyze_data_ref_access): Handle non-constant strides.
	(vect_check_strided_load): Verify the data-reference is a load.
	(vect_analyze_data_refs): Restructure to make strided load
	support not dependent on gather support.
	* tree-vect-stmts.c (vectorizable_load): Avoid useless work
	when doing strided or gather loads.
	* tree-vect-loop-manip.c (vect_vfa_segment_size): Use
	integer_zerop to compare stride with zero.

From-SVN: r187402
2012-05-11 12:03:10 +00:00
H.J. Lu 76a02e42c0 Add RTM support to -march=native
* config/i386/driver-i386.c (host_detect_local_cpu): Support
	RTM.

From-SVN: r187400
2012-05-11 04:12:42 -07:00
Rainer Orth 52cd1f6045 Allow for ! comments in g++.dg/debug/dwarf2/nested-3.C
* g++.dg/debug/dwarf2/nested-3.C: Allow for ! comments.

From-SVN: r187399
2012-05-11 10:15:44 +00:00
Jan Hubicka 8fc17ddc40 re PR bootstrap/53300 (AIX bootstrap related to varpool patch)
PR bootstrap/53300
	* varpool.c (varpool_assemble_decl): Also output constat pool entries
	that output_constant_pool missed.

From-SVN: r187397
2012-05-11 08:40:15 +00:00
Paolo Carlini d10938172f re PR c++/53305 (internal crash with variadic templates and decltype)
/cp
2012-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53305
	* pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
	tsubst_decl returns NULL_TREE.
	* cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
	BOUND_TEMPLATE_TEMPLATE_PARM.

/testsuite
2012-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53305
	* g++.dg/cpp0x/variadic132.C: New.

From-SVN: r187396
2012-05-11 08:22:16 +00:00
Tobias Burnus 5450a88f8b re PR fortran/53310 (EOSHIFT leaks memory)
2012-05-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53310
        * intrinsics/eoshift2.c (eoshift2): Do not leak
        memory by allocating it in the loop.

From-SVN: r187395
2012-05-11 10:14:56 +02:00
Ian Lance Taylor c49f925dc5 Remove ChangeLog entry for change to gofrontend file.
Remove ChangeLog entry for change to gofrontend file.  Changes to
those files do not get ChangeLog entries.

From-SVN: r187394
2012-05-11 05:25:56 +00:00
Mingjie Xing cc90dc8469 Fix misspelled macro in t-vxworks.
From-SVN: r187393
2012-05-11 01:44:24 +00:00