1. 17 Oct, 2013 5 commits
    • [multiple changes] · 5114f3ff
      2013-10-17  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
      	renamings in SPARK mode.
      
      2013-10-17  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
      	operation.
      	* sinfo.ads: Add special comment section to describe SPARK mode
      	effect on tree.
      	* exp_spark.ads: Remove comments, moved to sinfo.ads.
      
      2013-10-17  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
      	Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
      	Remove useless special cases.
      	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
      	Expand_N_Op_Expon): Remove useless special cases.
      	* exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
      	in SPARK mode by testing Full_Expander_Active instead of
      	Expander_Active.
      	(Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
      	* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
      	useless special case.
      	* sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
      	deferred constant.
      
      2013-10-17  Yannick Moy  <moy@adacore.com>
      
      	* gnat_ugn.texi: Document -gnateT and target file format.
      
      2013-10-17  Vincent Celier  <celier@adacore.com>
      
      	* prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
      	always False, even when the value starts and ends with double quotes.
      
      From-SVN: r203747
      Arnaud Charlet committed
    • [multiple changes] · 13b2f7fd
      2013-10-17  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb: Synchronize declarations of other/all others.
      
      2013-10-17  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order
      	call.
      	* sem_res.adb: Minor code cleanup: use named parameter association
      	(not positional) for Boolean parameter Sec_Stack in calls to
      	Establish_Transient_Scope.
      
      From-SVN: r203746
      Arnaud Charlet committed
    • re PR tree-optimization/58143 (wrong code at -O3) · f4bed77b
      2013-10-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/58143
      	* tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
      	New function.
      	(rewrite_to_defined_overflow): Likewise.
      	(move_computations_dom_walker::before_dom): Rewrite stmts
      	with undefined signed overflow that are not always executed
      	into unsigned arithmetic.
      
      	* gcc.dg/torture/pr58143-1.c: New testcase.
      	* gcc.dg/torture/pr58143-2.c: Likewise.
      	* gcc.dg/torture/pr58143-3.c: Likewise.
      
      From-SVN: r203745
      Richard Biener committed
    • re PR c/58267 (Alignment specifier allowed within array declarator;) · 568a31f2
      	PR c/58267
      c/
      	* c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
      	Document syntax of the array-declarator.
      	(c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
      	are not permitted.
      	(c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
      	(c_parser_struct_declaration): Likewise.
      	(c_parser_declarator): Likewise.
      	(c_parser_direct_declarator_inner): Likewise.
      	(c_parser_parameter_declaration): Likewise.
      	(c_parser_type_name): Likewise.
      testsuite/
      	* gcc.dg/c1x-align-5.c: New test.
      
      From-SVN: r203742
      Marek Polacek committed
    • Daily bump. · d0627cf2
      From-SVN: r203738
      GCC Administrator committed
  2. 16 Oct, 2013 27 commits
  3. 15 Oct, 2013 8 commits
    • intrinsic.texi (OpenMP Modules): Update to OpenMPv4. · 83fd6c5b
      gcc/fortran/
      2013-10-16  Tobias Burnus  <burnus@net-b.de>
      
              * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
              Document omp_proc_bind_kind.
      
      libgomp/
      2013-10-16  Tobias Burnus  <burnus@net-b.de>
      
              * libgomp.texi: (Runtime Library Routines): Update references
              * for
              OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
              omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
              omp_get_team_num, omp_is_initial_device, omp_set_default_device.
              (Environment Variables): Update references for OpenMP 4.0. Add
              OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
              Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
              order.
      
      From-SVN: r203635
      Tobias Burnus committed
    • re PR target/57756 (Function target attribute is retaining state of previously seen function) · bf7b5747
      PR target/57756
      
      The root-cause of this PR is that global_options is not restored to
      default before calling ix86_valid_target_attribute_tree and hence
      target attributes are incorrectly processed sometimes.
      
      This patch refactors code in i386.c in functions in the call-chain of 
      ix86_valid_target_attribute_tree to use any gcc_options struct passed
      as a parameter. It replaces existing code which always uses the
      global_options struct.
      
      2013-10-15 Sriraman Tallam  <tmsriram@google.com>
      
      	PR target/57756
      	* optc-save-gen.awk: Add extra parameter to the save and restore
      	target calls.
      	* opth-gen.awk: Generate new TARGET_* macros  to accept a parameter.
      	* tree.c (build_optimization_node): New parameter.  Add extra parameter
      	to call to cl_optimization_save.
      	(build_target_option_node): New parameter. Add extra parameter
      	to call to cl_target_option_save.
      	* tree.h (build_optimization_node): New parameter.
      	(build_target_option_node): New parameter.
      	* c-family/c-common.c (handle_optimize_attribute): Fix calls to
      	build_optimization_node and build_target_option_node.
      	* c-family/c-pragma.c (handle_pragma_optimize): Ditto.
      	(handle_pragma_push_options): Ditto.
      	* toplev.c (process_options): Ditto.
      	* opts.c (init_options_struct): Check for opts_set non-null.
      	* target.def (target_option.save): New parameter.
      	(target_option.restore): New parameter.
      	* tm.texi: Generate.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
      	(ix86_pragma_target_parse): Ditto.
      	* config/i386/i386-protos.h (ix86_valid_target_attribute_tree): New
      	parameters.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix calls
      	to  build_optimization_node and build_target_option_node.
      	(rs6000_valid_attribute_p): Ditto.
      	(rs6000_pragma_target_parse): Ditto.
      	* config/i386/i386.opt (x_ix86_target_flags_explicit): New TargetSave
      	data.
      	* config/i386/i386.h:
      	TARGET_64BIT_P: New Macro
      	TARGET_MMX_P: New Macro.
      	TARGET_3DNOW_P: New Macro.
      	TARGET_3DNOW_A_P: New Macro.
      	TARGET_SSE_P: New Macro.
      	TARGET_SSE2_P: New Macro.
      	TARGET_SSE3_P: New Macro.
      	TARGET_SSSE3_P: New Macro.
      	TARGET_SSE4_1_P: New Macro.
      	TARGET_SSE4_2_P: New Macro.
      	TARGET_AVX_P: New Macro.
      	TARGET_AVX2_P: New Macro.
      	TARGET_AVX512F_P: New Macro.
      	TARGET_AVX512PF_P: New Macro.
      	TARGET_AVX512ER_P: New Macro.
      	TARGET_AVX512CD_P: New Macro.
      	TARGET_FMA_P: New Macro.
      	TARGET_SSE4A_P: New Macro.
      	TARGET_FMA4_P: New Macro.
      	TARGET_XOP_P: New Macro.
      	TARGET_LWP_P: New Macro.
      	TARGET_ABM_P: New Macro.
      	TARGET_BMI_P: New Macro.
      	TARGET_BMI2_P: New Macro.
      	TARGET_LZCNT_P: New Macro.
      	TARGET_TBM_P: New Macro.
      	TARGET_POPCNT_P: New Macro.
      	TARGET_SAHF_P: New Macro.
      	TARGET_MOVBE_P: New Macro.
      	TARGET_CRC32_P: New Macro.
      	TARGET_AES_P: New Macro.
      	TARGET_PCLMUL_P: New Macro.
      	TARGET_CMPXCHG16B_P: New Macro.
      	TARGET_FSGSBASE_P: New Macro.
      	TARGET_RDRND_P: New Macro.
      	TARGET_F16C_P: New Macro.
      	TARGET_RTM_P: New Macro.
      	TARGET_HLE_P: New Macro.
      	TARGET_RDSEED_P: New Macro.
      	TARGET_PRFCHW_P: New Macro.
      	TARGET_ADX_P: New Macro.
      	TARGET_FXSR_P: New Macro.
      	TARGET_XSAVE_P: New Macro.
      	TARGET_XSAVEOPT_P: New Macro.
      	TARGET_LP64_P: New Macro.
      	TARGET_X32_P: New Macro.
      	TARGET_FPMATH_DEFAULT_P: New Macro.
      	TARGET_FLOAT_RETURNS_IN_80387_P: New Macro.
      	* config/i386/i386.c (ix86_option_override_internal): New parameters.
      	opts and opts_set.
      	Change ix86_tune_string to access opts->x_ix86_tune_string.
      	Change ix86_isa_flags to access opts->x_ix86_isa_flags.
      	Change ix86_arch_string to access opts->x_ix86_arch_string.
      	Change ix86_stringop_alg to access opts->x_ix86_stringop_alg.
      	Change ix86_pmode to access opts->x_ix86_pmode.
      	Change ix86_abi to access opts->x_ix86_abi.
      	Change ix86_cmodel to access opts->x_ix86_cmodel.
      	Change ix86_asm_dialect to access opts->x_ix86_asm_dialect.
      	Change ix86_isa_flags_explicit to access
      	opts->x_ix86_isa_flags_explicit.
      	Change ix86_dump_tunes to access opts->x_ix86_dump_tunes.
      	Change ix86_regparm to access opts->x_ix86_regparm.
      	Change ix86_branch_cost to access opts->x_ix86_branch_cost.
      	Change ix86_preferred_stack_boundary_arg to access
      	opts->x_ix86_preferred_stack_boundary_arg.
      	Change ix86_force_align_arg_pointer to access
      	opts->x_ix86_force_align_arg_pointer.
      	Change ix86_incoming_stack_boundar_arg to access
      	opts->x_ix86_incoming_stack_boundar_arg.
      	Change ix86_fpmath to access opts->x_ix86_fpmath.
      	Change ix86_veclibabi_type to access opts->x_ix86_veclibabi_type.
      	Change ix86_recip_name to access opts->x_ix86_recip_name.
      	Change ix86_stack_protector_guard to access
      	opts->x_ix86_stack_protector_guard.
      	Change ix86_tune_memcpy_strategy to access
      	opts->x_ix86_tune_memcpy_strategy.
      	Change ix86_tune_memset_strategy to access
      	opts->x_ix86_tune_memset_strategy.
      	Change global_options to access opts.
      	Change global_options_set to access opts_set.
              Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
              Change TARGET_MMX to TARGET_MMX_P (opts->...)
              Change TARGET_3DNOW to TARGET_3DNOW_P (opts->...)
              Change TARGET_3DNOW_A to TARGET_3DNOW_A_P (opts->...)
              Change TARGET_SSE to TARGET_SSE_P (opts->...)
              Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
              Change TARGET_SSE3 to TARGET_SSE3_P (opts->...)
              Change TARGET_SSSE3 to TARGET_SSSE3_P (opts->...)
              Change TARGET_SSE4_1 to TARGET_SSE4_1_P (opts->...)
              Change TARGET_SSE4_2 to TARGET_SSE4_2_P (opts->...)
              Change TARGET_AVX to TARGET_AVX_P (opts->...)
              Change TARGET_AVX2 to TARGET_AVX2_P (opts->...)
              Change TARGET_AVX512F to TARGET_AVX512F_P (opts->...)
              Change TARGET_AVX512PF to TARGET_AVX512PF_P (opts->...)
              Change TARGET_AVX512ER to TARGET_AVX512ER_P (opts->...)
              Change TARGET_AVX512CD to TARGET_AVX512CD_P (opts->...)
              Change TARGET_FMA to TARGET_FMA_P (opts->...)
              Change TARGET_SSE4A to TARGET_SSE4A_P (opts->...)
              Change TARGET_FMA4 to TARGET_FMA4_P (opts->...)
              Change TARGET_XOP to TARGET_XOP_P (opts->...)
              Change TARGET_LWP to TARGET_LWP_P (opts->...)
              Change TARGET_ABM to TARGET_ABM_P (opts->...)
              Change TARGET_BMI to TARGET_BMI_P (opts->...)
              Change TARGET_BMI2 to TARGET_BMI2_P (opts->...)
              Change TARGET_LZCNT to TARGET_LZCNT_P (opts->...)
              Change TARGET_TBM to TARGET_TBM_P (opts->...)
              Change TARGET_POPCNT to TARGET_POPCNT_P (opts->...)
              Change TARGET_SAHF to TARGET_SAHF_P (opts->...)
              Change TARGET_MOVBE to TARGET_MOVBE_P (opts->...)
              Change TARGET_CRC32 to TARGET_CRC32_P (opts->...)
              Change TARGET_AES to TARGET_AES_P (opts->...)
              Change TARGET_PCLMUL to TARGET_PCLMUL_P (opts->...)
              Change TARGET_CMPXCHG16B to TARGET_CMPXCHG16B_P (opts->...)
              Change TARGET_FSGSBASE to TARGET_FSGSBASE_P (opts->...)
              Change TARGET_RDRND to TARGET_RDRND_P (opts->...)
              Change TARGET_F16C to TARGET_F16C_P (opts->...)
              Change TARGET_RTM to TARGET_RTM_P (opts->...)
              Change TARGET_HLE to TARGET_HLE_P (opts->...)
              Change TARGET_RDSEED to TARGET_RDSEED_P (opts->...)
              Change TARGET_PRFCHW to TARGET_PRFCHW_P (opts->...)
              Change TARGET_ADX to TARGET_ADX_P (opts->...)
              Change TARGET_FXSR to TARGET_FXSR_P (opts->...)
              Change TARGET_XSAVE to TARGET_XSAVE_P (opts->...)
              Change TARGET_XSAVEOPT to TARGET_XSAVEOPT_P (opts->...)
              Change TARGET_LP64 to TARGET_LP64_P (opts->...)
              Change TARGET_X32 to TARGET_X32_P (opts->...)
              Change TARGET_FPMATH_DEFAULT to TARGET_FPMATH_DEFAULT_P (opts->...)
              Change TARGET_FLOAT_RETURNS_IN_80387 to
      	 TARGET_FLOAT_RETURNS_IN_80387_P (opts->...)
      	(ix86_function_specific_save): New parameter. Use opts-> fields
      	to replace global fields.
      	(ix86_function_specific_restore): Ditto.
      	(ix86_valid_target_attribute_inner_p): New parameters.
      	Fix recursive call.
      	Fix call to ix86_handle_option and set_option.
      	(ix86_valid_target_attribute_tree): New parameters.
      	Change global_options to access opts.
      	Change global_options_set to access opts_set.
      	Fix call to ix86_valid_target_attribute_inner_p.
      	Change ix86_tune_string to access opts->x_ix86_tune_string.
      	Change ix86_arch_string to access opts->x_ix86_arch_string.
      	Change ix86_fpmath to access opts->x_ix86_fpmath
      	Fix call to ix86_option_override_internal.
      	Fix call to ix86_add_new_builtins.
      	Fix calls to build_optimization_node and build_target_option_node.
      	(ix86_valid_target_attribute_p): Remove access to global_options.
      	Use new gcc_options structure func_options.
      	Fix call to ix86_valid_target_attribute_tree.
      	Fix call to  build_optimization_node.
      	(get_builtin_code_for_version):	Fix call to
      	ix86_valid_target_attribute_tree.
      
      	PR target/57756
      	* gcc.target/i386/pr57756.c: New test.
      	* gcc.target/i386/pr57756_2.c: New test.
      
      From-SVN: r203634
      Sriraman Tallam committed
    • Move Paulo's 9/27/2013 ChangeLog entry to the right file · a7d35bd6
      From-SVN: r203633
      Jeff Law committed
    • Add --enable-host-shared configuration option · 459260ec
      /
      	* configure.ac: Add --enable-host-shared
      	* configure: Regenerate.
      
      gcc/
      	* Makefile.in (PICFLAG): New.
      	(enable_host_shared): New.
      	(INTERNAL_CFLAGS): Use PICFLAG.
      	(LIBIBERTY): Use pic build of libiberty.a if configured with
      	--enable-host-shared.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      	* doc/install.texi (--enable-shared): Add note contrasting it
      	with...
      	(--enable-host-shared): New option.
      
      libbacktrace/
      	* configure.ac: Add --enable-host-shared, setting up
      	pre-existing PIC_FLAG variable within Makefile.am et al.
      	* configure: Regenerate.
      
      libcpp/
      	* Makefile.in (PICFLAG): New.
      	(ALL_CFLAGS): Add PICFLAG.
      	(ALL_CXXFLAGS): Likewise.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      
      libdecnumber/
      	* Makefile.in (PICFLAG): New.
      	(ALL_CFLAGS): Add PICFLAG.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      
      libiberty/
      	* configure.ac: If --enable-host-shared, use -fPIC.
      	* configure: Regenerate.
      
      zlib/
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r203632
      David Malcolm committed
    • Add missing function in 20_util/exchange/1.cc. · 37ea0d87
      When this test is compiled at -O0, the compiler does not remove the
      address comparison. This causes a link failure, since the body of f()
      is missing.
      
      	* testsuite/20_util/exchange/1.cc: Add missing function
      	bodies.
      
      From-SVN: r203629
      Diego Novillo committed
    • tree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions. · 16022041
      gcc/
      2013-10-15  Richard Biener  <rguenther@suse.de>
      
      	* tree-tailcall.c (find_tail_calls): Don't use tail-call recursion
      	for built-in functions.
      
      gcc/testsuite/
      	* gcc.dg/torture/builtin-self.c: New file.
      
      libgcc/
      	* sync.c: Remove static aliases and define each function directly
      	under its real name.
      
      From-SVN: r203628
      Richard Sandiford committed
    • tree-ssa-reassoc.c: Include rtl.h and tm_p.h. · b114bfb4
      	* tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
      	(optimize_range_tests_1): New function,
      	extracted from optimize_range_tests.
      	(optimize_range_tests_xor): Similarly.
      	(optimize_range_tests_diff): New function.
      	(optimize_range_tests): Use optimize_range_tests_1.
      
      	* gcc.dg/tree-ssa/reassoc-32.c: New test case.
      	* gcc.dg/tree-ssa/reassoc-33.c: New test case.
      	* gcc.dg/tree-ssa/reassoc-34.c: New test case.
      	* gcc.dg/tree-ssa/reassoc-35.c: New test case.
      	* gcc.dg/tree-ssa/reassoc-36.c: New test case.
      
      From-SVN: r203627
      Zhenqiang Chen committed
    • tree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the… · 69b8f2f9
      tree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the reduction pattern so that one operand of the ...
      
      2013-10-15  Cong Hou  <congh@google.com>
      
              * tree-vect-loop.c (vect_is_simple_reduction_1): Relax the 
              requirement of the reduction pattern so that one operand of the 
              reduction operation can come from outside of the loop.
      
      2013-10-15  Cong Hou  <congh@google.com>
      
              * gcc.dg/vect/vect-reduc-pattern-3.c: New test.
      
      From-SVN: r203625
      Cong Hou committed