1. 07 Feb, 2014 20 commits
    • re PR preprocessor/56824 (pragma GCC diagnostic push/pop fail with GCC… · acf601ae
      re PR preprocessor/56824 (pragma GCC diagnostic push/pop fail with GCC diagnostic ignored "-Waggregate-return")
      
      	PR preprocessor/56824
      	* line-map.c (get_combined_adhoc_loc, linemap_get_expansion_line,
      	linemap_get_expansion_filename, linemap_location_in_system_header_p,
      	linemap_location_from_macro_expansion_p,
      	linemap_macro_loc_to_spelling_point, linemap_macro_loc_to_def_point,
      	linemap_macro_loc_to_exp_point, linemap_expand_location): Fix
      	formatting.
      	(linemap_compare_locations): Look through adhoc locations for both
      	l0 and l1.
      
      	* gcc.dg/pr56824.c: New test.
      
      From-SVN: r207606
      Jakub Jelinek committed
    • gcc/ · 177bc204
      	* config/s390/s390-protos.h (s390_can_use_simple_return_insn)
      	(s390_can_use_return_insn): Declare.
      	* config/s390/s390.h (EPILOGUE_USES): Define.
      	* config/s390/s390.c (s390_mainpool_start): Allow two main_pool
      	instructions.
      	(s390_chunkify_start): Handle return JUMP_LABELs.
      	(s390_early_mach): Emit a main_pool instruction on the entry edge.
      	(s300_set_up_by_prologue, s390_can_use_simple_return_insn)
      	(s390_can_use_return_insn): New functions.
      	(s390_fix_long_loop_prediction): Handle conditional returns.
      	(TARGET_SET_UP_BY_PROLOGUE): Define.
      	* config/s390/s390.md (ANY_RETURN): New code iterator.
      	(*creturn, *csimple_return, return, simple_return): New patterns.
      
      From-SVN: r207605
      Richard Sandiford committed
    • s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE notes to each restore. · 0621cf3c
      gcc/
      	* config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
      	notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
      	(s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
      	REG_CFA_RESTORE list when deciding not to restore a register.
      
      From-SVN: r207604
      Richard Sandiford committed
    • s390.c: Include tree-pass.h and context.h. · 4099494d
      gcc/
      	* config/s390/s390.c: Include tree-pass.h and context.h.
      	(s390_early_mach): New function, split out from...
      	(s390_emit_prologue): ...here.
      	(pass_data_s390_early_mach): New pass structure.
      	(pass_s390_early_mach): New class.
      	(s390_option_override): Create and register early_mach pass.
      	Move to end of file.
      
      From-SVN: r207603
      Richard Sandiford committed
    • var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts to match for the exit block. · 3489cc33
      gcc/
      	* var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
      	to match for the exit block.
      
      From-SVN: r207602
      Richard Sandiford committed
    • 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> · 75cc21e2
      	* config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
      	("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
      	Reject misaligned operands.
      
      From-SVN: r207601
      Andreas Krebbel committed
    • gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations. · f4b83d66
      2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte
      	variable used for atomic operations.
      
      From-SVN: r207600
      Andreas Krebbel committed
    • optabs.c (expand_atomic_compare_and_swap): Allow expander to fail. · 8bd7070a
      2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* optabs.c (expand_atomic_compare_and_swap): Allow expander to
      	fail.
      
      From-SVN: r207599
      Andreas Krebbel committed
    • re PR middle-end/60092 (posix_memalign not recognized to derive alias and alignment info) · 831806cb
      2014-02-07  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60092
      	* gimple-low.c (lower_builtin_posix_memalign): New function.
      	(lower_stmt): Call it to lower posix_memalign in a way
      	to make alignment info accessible.
      
      	* gcc.dg/vect/pr60092-2.c: New testcase.
      
      From-SVN: r207598
      Richard Biener committed
    • re PR c++/60082 (Certain Cilk keywords executable Hanging for -O1) · 7ee9c16f
      	PR c++/60082
      	* tree.c (build_common_builtin_nodes): Set ECF_LEAF for
      	__builtin_setjmp_receiver.
      
      	Revert
      	2014-02-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* g++.dg/cilk-plus/CK/catch_exc.cc: Disable test for -O1.
      	* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
      
      From-SVN: r207597
      Jakub Jelinek committed
    • _fixdfdi.c: Throw invalid exception if number cannot be represented. · ce245ec6
      2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* config/s390/32/_fixdfdi.c: Throw invalid exception if number
      	cannot be represented.
      	* config/s390/32/_fixsfdi.c: Likewise.
      	* config/s390/32/_fixtfdi.c: Likewise.
      	* config/s390/32/_fixunsdfdi.c: Likewise.
      	* config/s390/32/_fixunssfdi.c: Likewise.
      	* config/s390/32/_fixunstfdi.c: Likewise.
      
      2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* gcc.target/s390/fp2int1.c: New testcase.
      
      From-SVN: r207596
      Andreas Krebbel committed
    • re PR middle-end/60092 (posix_memalign not recognized to derive alias and alignment info) · 32cab212
      2014-02-07  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60092
      	* builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
      	* builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
      	Handle BUILT_IN_POSIX_MEMALIGN.
      	(find_func_clobbers): Likewise.
      	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
      	(call_may_clobber_ref_p_1): Likewise.
      
      	* gcc.dg/tree-ssa/alias-30.c: New testcase.
      	* gcc.dg/tree-ssa/alias-31.c: Likewise.
      
      From-SVN: r207595
      Richard Biener committed
    • configure.ac (libgcc_cv_mips_hard_float): New. · 1c51d688
      libgcc/
      	* configure.ac (libgcc_cv_mips_hard_float): New.
      	* configure: Regenerate.
      	* config.host (mips*-*-*): Use t-hardfp-sfdf rather than
      	t-softfp-sfdf for hard-float targets.
      	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Reinstate.
      	(softfp_float_modes, softfp_int_modes, softfp_extensions)
      	(softfp_truncations, softfp_exclude_libgcc2): New.
      	* config/t-hardfp: New file.
      	* config/t-hardfp-sfdf: Likewise.
      	* config/hardfp.c: Likewise.
      
      From-SVN: r207593
      Richard Sandiford committed
    • re PR ipa/59918 (ICE in record_target_from_binfo, at ipa-devirt.c:693) · 6d6af792
      	PR ipa/59918
      	* ipa-devirt.c (record_target_from_binfo): Remove overactive sanity check.
      	* g++.dg/torture/pr59918.C: New testcase.
      
      From-SVN: r207592
      Jan Hubicka committed
    • re PR ipa/59469 (LLVM build failure with gcc LTO) · ddb3e20a
      
      	PR ipa/59469
      	* lto-cgraph.c (lto_output_node): Use
      	symtab_get_symbol_partitioning_class.
      	(lto_output_varpool_node): likewise.
      	(symtab_get_symbol_partitioning_class): Move here from
      	lto/lto-partition.c
      	* cgraph.h (symbol_partitioning_class): Likewise.
      	(symtab_get_symbol_partitioning_class): Declare.
      
      From-SVN: r207591
      Jan Hubicka committed
    • re PR ipa/59469 (LLVM build failure with gcc LTO) · 3c0f1105
      
      	PR ipa/59469
      	* lto-cgraph.c (lto_output_node): Use
      	symtab_get_symbol_partitioning_class.
      	(lto_output_varpool_node): likewise.
      	(symtab_get_symbol_partitioning_class): Move here from
      	lto/lto-partition.c
      	* cgraph.h (symbol_partitioning_class): Likewise.
      	(symtab_get_symbol_partitioning_class): Declare.
      
      From-SVN: r207590
      Jan Hubicka committed
    • re PR ipa/59469 (LLVM build failure with gcc LTO) · 96451279
      
      	PR ipa/59469
      	* lto-cgraph.c (lto_output_node): Use
      	symtab_get_symbol_partitioning_class.
      	(lto_output_varpool_node): likewise.
      	(symtab_get_symbol_partitioning_class): Move here from
      	lto/lto-partition.c
      	* cgraph.h (symbol_partitioning_class): Likewise.
      	(symtab_get_symbol_partitioning_class): Declare.
      
      	* lto-partition.c (symbol_class): Move to cgraph.h
      	(get_symbol_class): Move to symtab.c
      	(add_references_to_partition, add_symbol_to_partition_1,
      	lto_max_map, lto_1_to_1_map, lto_balanced_map,
      	lto_promote_cross_file_statics): Update.
      
      From-SVN: r207589
      Jan Hubicka committed
    • parser.c (synthesize_implicit_template_parm): Use grow_tree_vec. · b3bb0eb9
      
      	* parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
      	* ggc.h (ggc_internal_cleared_alloc): New macro.
      	* vec.h (vec_safe_copy): Handle memory stats.
      	* omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
      	* target-globals.c (save_target_globals): Likewise.
      
      From-SVN: r207588
      Jan Hubicka committed
    • re PR target/60077 (gcc.target/i386/pr35767-5.c FAILs) · e2f0f5f7
      
      	PR target/60077
      	* expr.c (emit_move_resolve_push): Export; be bit more selective
      	on when to clear alias set.
      	* expr.h (emit_move_resolve_push): Declare.
      	* function.h (struct function): Add tail_call_marked.
      	* tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
      	* config/i386/i386-protos.h (ix86_expand_push): Remove.
      	* config/i386/i386.md (TImode move expander): De not call
      	ix86_expand_push.
      	(FP push expanders): Preserve memory attributes.
      	* config/i386/sse.md (push<mode>1): Remove.
      	* config/i386/i386.c (ix86_expand_vector_move): Handle push
      	operation.
      	(ix86_expand_push): Remove.
      	* config/i386/mmx.md (push<mode>1): Remove.
      
      From-SVN: r207587
      Jakub Jelinek committed
    • Daily bump. · 44afe5e4
      From-SVN: r207586
      GCC Administrator committed
  2. 06 Feb, 2014 20 commits
    • re PR rtl-optimization/60030 (ICE in simplify_subreg, at simplify-rtx.c:5903) · 47d552eb
      	PR rtl-optimization/60030
      	* internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
      	lopart with paradoxical subreg before shifting it up by hprec.
      
      From-SVN: r207582
      Jakub Jelinek committed
    • [ARM] Cortex-A57 rtx costs · 45c75ea7
      	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
      	Remove extra newline at end of file.
      	* config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
      	(arm_issue_rate): Handle cortexa57.
      	* config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
      	(cortex-a57.cortex-a53): Likewise.
      
      From-SVN: r207565
      Kyrylo Tkachov committed
    • re PR debug/59575 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239) · 69fe2dfb
      	PR target/59575
      	* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
      	don't record in REG_FRAME_RELATED_EXPR registers not set in that
      	bitmask.
      	(arm_expand_prologue): Adjust all callers.
      	(arm_unwind_emit_sequence): Allow saved, but not important for unwind
      	info, registers also at the lowest numbered registers side.  Use
      	gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
      	XEXP.
      
      	* gcc.target/arm/pr59575.c: New test.
      
      From-SVN: r207564
      Jakub Jelinek committed
    • re PR debug/59575 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239) · 652a3e3a
      	PR target/59575
      	* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
      	don't record in REG_FRAME_RELATED_EXPR registers not set in that
      	bitmask.
      	(arm_expand_prologue): Adjust all callers.
      	(arm_unwind_emit_sequence): Allow saved, but not important for unwind
      	info, registers also at the lowest numbered registers side.  Use
      	gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
      	XEXP.
      
      	* gcc.target/arm/pr59575.c: New test.
      
      From-SVN: r207563
      Jakub Jelinek committed
    • re PR debug/59992 (Compilation of insn-recog.c too slow due to var-tracking) · af116cae
      	PR debug/59992
      	* var-tracking.c (adjust_mems): Before adding a SET
      	to amd->side_effects, adjust it's SET_SRC using
      	simplify_replace_fn_rtx.
      
      	* gcc.dg/pr59992.c: New test.
      
      From-SVN: r207562
      Jakub Jelinek committed
    • constexpr-attribute2.C: Restrict to target init_priority. · 0f5e5e02
      2014-02-06  Marc Glisse  <marc.glisse@inria.fr>
      
      	* g++.dg/cpp0x/constexpr-attribute2.C: Restrict to target
      	init_priority. Test alignment of variable instead of function.
      
      From-SVN: r207561
      Marc Glisse committed
    • Code clean ups. · f29afe5f
      From-SVN: r207560
      Arnaud Charlet committed
    • [multiple changes] · aa9b151a
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Refined_Pragma): Remove
      	local variable Pack_Spec. Refinement pragmas may now apply to
      	bodies of both visible and private subprograms.
      
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute):
      	Minor change (Attr => N) (Expand_Pred_Succ): New name
      	Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case
      	Max): Expand into if expression if Modify_Tree_For_C mode.
      	(Expand_N_Attribute_Reference, case Min): ditto
      	* sinfo.ads: Modify_Tree_For_C takes care of expanding Min and
      	Max attributes.
      
      2014-02-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): Do not generate
      	predicate check if this is an internal declaration with
      	No_Initialization set, as for an expanded aggregate component.
      
      2014-02-06  Doug Rupp  <rupp@adacore.com>
      
      	* init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal
      	conditions with severity of "SUCCESS" or "INFORMATIONAL".
      
      From-SVN: r207559
      Arnaud Charlet committed
    • [multiple changes] · 85d6bf87
      2014-02-06  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Analyze pragma
      	Debug rewritten node before rewriting it as a null statement in
      	GNATprove mode.
      
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Min_Max): New procedure.
      	(Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New
      	procedure.
      
      From-SVN: r207558
      Arnaud Charlet committed
    • 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> · c3b266d6
      	* gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for
      	gnatmetric/gnatpp.
      
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Abstract_State): Update
      	all calls to Create_Abstract_State to pass the proper state
      	"declaration".
      	(Create_Abstract_State): Add new formal parameter
      	State_Decl along with comment on usage. Establish a link between
      	the abstract state entity and the state declaration.
      
      From-SVN: r207557
      Arnaud Charlet committed
    • sem_attr.adb (Analyze_Attribute, case Max): Check for improper comparison of… · 428684fd
      sem_attr.adb (Analyze_Attribute, case Max): Check for improper comparison of unordered enumeration type.
      
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute, case Max): Check for improper
      	comparison of unordered enumeration type.
      	(Analyze_Attribute, case Max): Check for improper comparison of
      	unordered enumeration type.
      	* sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to
      	sem_util.adb.
      	* sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference):
      	Moved here from Sem_Res.
      
      From-SVN: r207556
      Robert Dewar committed
    • [multiple changes] · 8c35b40a
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor
      	reformatting.
      
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Process_Formals): Error message reformatting.
      
      From-SVN: r207555
      Arnaud Charlet committed
    • re PR c/60087 (Incorrect column number for -Wsign-compare) · 0a756a3f
      	PR c/60087
      c-family/
      	* c-common.c (warn_for_sign_compare): Call warning_at with location
      	instead of warning.
      testsuite/
      	* gcc.dg/pr60087.c: New test.
      
      From-SVN: r207554
      Marek Polacek committed
    • re PR target/60032 (ICE in reload_cse_simplify_operands, at postreload.c:411) · fdcee33b
      	PR target/60032
      gcc/
      	* config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
      	change SDmode to DDmode when lra_in_progress.
      gcc/testsuite/
      	* gcc.target/powerpc/pr60032.c: New.
      
      From-SVN: r207553
      Alan Modra committed
    • re PR middle-end/59150 (ICE: in expand_one_var, at cfgexpand.c:1242 with -fopenmp) · d3ef8c53
      	PR middle-end/59150
      	* tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
      	free_data_ref on the dr first, and before goto again also set dr
      	to the next dr.  For simd_lane_access, free old datarefs[i] before
      	overwriting it.  For get_vectype_for_scalar_type failure, don't
      	free_data_ref if simd_lane_access.
      
      From-SVN: r207551
      Jakub Jelinek committed
    • re PR target/60062 (wrong code (for code with the optimize attribute) at -O1 and… · 251901a0
      re PR target/60062 (wrong code (for code with the optimize attribute) at -O1 and above on x86_64-linux-gnu in 32-bit mode)
      
      	PR target/60062
      	* tree.h (opts_for_fn): New inline function.
      	(opt_for_fn): Define.
      	* config/i386/i386.c (ix86_function_regparm): Use
      	opt_for_fn (decl, optimize) instead of optimize.
      
      	* gcc.c-torture/execute/pr60062.c: New test.
      	* gcc.c-torture/execute/pr60072.c: New test.
      
      From-SVN: r207549
      Jakub Jelinek committed
    • sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local variable Spec. · 79b49b87
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
      	variable Spec. Do not inherit the null indicator from the
      	subprogram body when generating the spec.
      
      From-SVN: r207548
      Hristian Kirtchev committed
    • [multiple changes] · 4446a13f
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* casing.adb (Determine_Casing): Consider SPARK_Mode to be
      	mixed case.
      
      2014-02-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false
      	when the function has a foreign convention, but not if only the
      	limited return type has such a convention.
      
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local
      	variable Spec. Comment reformatting. Use Copy_Separate_Tree
      	rather than New_Copy_Tree when building the corresponding
      	subprogram declaration.
      
      2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Global_Item): Remove
      	the mode-related checks on abstract states with enabled external
      	properties.
      	(Property_Error): Removed.
      
      2014-02-06  Javier Miranda  <miranda@adacore.com>
      
      	* lib-xref.adb (Generate_Reference): When
      	generating the reference to the first private entity take care
      	of handling swapped entities.
      
      From-SVN: r207547
      Arnaud Charlet committed
    • 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> · e09a5598
      	* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
      	gnatmetric.
      
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater
      	than the word size when operating in Modify_Tree_For_C mode.
      	* sinfo.ads: Add documentation section on Modify_Tree_For_C mode.
      
      2014-02-06  Robert Dewar  <dewar@adacore.com>
      
      	* erroutc.adb (Warning_Specifically_Suppressed.Matches):
      	compare is case insensitive.
      	* gnat_rm.texi: Document that string compare for Warnings Off
      	is now case insensitive.
      
      From-SVN: r207546
      Arnaud Charlet committed