Commit Graph

140254 Commits

Author SHA1 Message Date
Richard Sandiford
523ba7389a gencodes.c (gencodes): Print the comma for the preceding enum value rather than the current one.
gcc/
	* gencodes.c (gencodes): Print the comma for the preceding
	enum value rather than the current one.  Use aliased enum values
	rather than #defines for compiled-out patterns.
	(main): Update accordingly.  Replace LAST_INSN_CODE with
	NUM_INSN_CODES.
	* lra.c (insn_code_data): Update accordingly.
	(finish_insn_code_data_once, get_static_insn_data): Likewise.
	* recog.h (target_recog): Likewise.
	(preprocess_insn_constraints): Change parameter to unsigned int.
	* recog.c (preprocess_insn_constraints): Likewise.
	(recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
	* tree-vect-stmts.c (vectorizable_operation): Simplify.

From-SVN: r227076
2015-08-21 17:23:10 +00:00
Markus Trippelsdorf
f5dffc0ba1 Fix PR61657 (undefined behavior in loop-iv.c)
bootstrap-ubsan shows:
 loop-iv.c:2626:14: runtime error: signed integer overflow: 9223372036854775806 - -9223372036854775808 cannot be represented in type 'long int'

Fixed by moving the variables in question from signed to unsigned.

	PR rtl-optimization/61657
	* loop-iv.c (iv_number_of_iterations): Declare up and down as
	unsigned. Remove superflous uint64_t cast.

From-SVN: r227075
2015-08-21 16:44:30 +00:00
Paolo Carlini
cf6a9610f2 decl.c (grokvardecl): Complete check added for c++/67065.
/cp
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokvardecl): Complete check added for c++/67065.

/testsuite
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/other/pr67065.C: Extend.

From-SVN: r227061
2015-08-21 14:44:33 +00:00
Felix Yang
3b14abc847 value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument and get builtin function code directly from CALL.
* value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument
	and get builtin function code directly from CALL.
	(gimple_stringop_fixed_value): Modified accordingly.
	(gimple_stringops_transform, gimple_stringops_values_to_profile): Modified
	accordingly and only accept BUILT_IN_NORMAL string operations.

Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>

From-SVN: r227060
2015-08-21 14:34:52 +00:00
Nathan Sidwell
a560e5d418 nvptx cleanup
nvptx cleanup
	* lib/target-supports.exp (check_effective_target_freestanding): nvptx
	is freestanding.
	(check_effective_target_global_constructor): New.
	* lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed.
	* gcc.dg/debug/debug.exp: Skip  for nvptx.
	* gcc.dg/debug/dwarf2/dwarf2.exp: Likewise.

	* gcc.c-torture/execute/981019-1.c: Ptx assembler bug.
	* gcc.c-torture/compile/limits-externdecl.c: Likewise.
	* gcc.c-torture/compile/pr33855.c: Likewise.
	* gcc.c-torture/compile/920723-1.c: Likewise.
	* gcc.c-torture/compile/pr35468.c: Ptx assembler objects to
	writing a const.
	* gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in
	label.
	* gcc.c-torture/compile/callind.c: Ptx assembler objects to label
	'call'.

	* gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main
	prototype normal.
	* gcc.c-torture/execute/switch-1.c: Likewise.

	* gcc.c-torture/execute/pr34456.c: Require not freestanding
	* gcc.c-torture/execute/printf-1.c: Likewise.
	* gcc.c-torture/execute/printf-chk-1.c: Likewise.
	* gcc.c-torture/execute/fprintf-1.c: Likewise.
	* gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
	* gcc.c-torture/execute/vprintf-1.c: Likewise.
	* gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
	* gcc.c-torture/execute/vfprintf-1.c: Likewise.
	* gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
	* gcc.c-torture/execute/builtins/fputs.x: Likewise.
	* gcc.c-torture/execute/gofast.c: Likewise.
	* gcc.c-torture/execute/complex-6.c: Likewise.

	* gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto.
	* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
	* gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise.
	* gcc.dg/setjmp-1.c: Likewise.
	* gcc.dg/cleanup-5.c: Likewise.
	* gcc.dg/cleanup-12.c: Likewise.
	* gcc.dg/cleanup-13.c: Likewise.

	* gcc.dg/constructor-1.c: Require global ctor.

	* gcc.dg/fork-instrumentation.c: Require profiling.
	* gcc.dg/20030107-1.c: Likewise.
	* gcc.dg/20030702-1.c: Likewise.

	* gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging.
	* gcc.dg/cpp/paste2.c: Likewise.
	* gcc.dg/cpp/strify3.c: Likewise.
	* gcc.dg/cpp/strify4.c: Likewise.
	* gcc.dg/cpp/lexnum.c: Likewise.
	* gcc.dg/cpp/digraphs.c: Likewise.
	* gcc.dg/cpp/macro1.c: Likewise.

From-SVN: r227059
2015-08-21 13:13:42 +00:00
Dominik Vogt
838326d5d9 s390-builtins.def: Fix value range of vec_load_bndry.
gcc/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/s390-builtins.def: Fix value range of vec_load_bndry.

gcc/testsuite/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc.target/s390/zvector/vec-load_bndry-1.c: New test.

From-SVN: r227058
2015-08-21 12:51:20 +00:00
Dominik Vogt
fd21fbd761 gcc-dg.exp: Add extra options for db-final to the command line only once.
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* lib/gcc-dg.exp: Add extra options for db-final to the command line
	only once.

From-SVN: r227057
2015-08-21 12:48:08 +00:00
Naveen H.S
52c6378aa5 fold-const.c (fold_binary_loc): Move sqrt(x)*sqrt(x) as x to match.pd.
2015-08-21  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
	to match.pd.
	Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
	Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
	Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
	Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
	Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
	Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
	Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
	Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
	Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
	Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.

	* match.pd (SIN ) : New Operator.
	(TAN) : New Operator.
	(mult (SQRT@1 @0) @1) : New simplifier.
	(mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
	(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
	(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
	(rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
	(rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
	(rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
	(rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
	(rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
	(rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
	(rdiv @0 (POW:s @1 @2)) : New simplifier.

From-SVN: r227056
2015-08-21 10:46:09 +00:00
Bin Cheng
eff1e5afad tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is simplified to const value.
* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
	loop if EXPR is simplified to const value.

From-SVN: r227055
2015-08-21 10:09:48 +00:00
Yury Gribov
55b9e2fc72 sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, [...]): Fix builtin types.
2015-08-21  Yury Gribov  <y.gribov@samsung.com>

	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
	BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.

From-SVN: r227054
2015-08-21 08:42:57 +00:00
Richard Biener
4d20d00a0d re PR middle-end/67285 (ICE with (rdiv (POW:s @0 REAL_CST@1) @0))
2015-08-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/67285
	* gimple-fold.c (replace_stmt_with_simplification): Assert
	seq is empty when replacing a call with itself but different
	arguments.
	* gimple-match-head.c (maybe_push_res_to_seq): When pushing
	a call require that it is const.

From-SVN: r227053
2015-08-21 08:06:20 +00:00
Trevor Saunders
6b00e42da3 add default for CONSTANT_ALIGNMENT
gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (CONSTANT_ALIGNMENT): New macro definition.
	* builtins.c (get_object_alignment_2): Adjust.
	* varasm.c (align_variable): Likewise.
	(get_variable_align): Likewise.
	(build_constant_desc): Likewise.
	(force_const_mem): Likewise.
	* doc/tm.texi.in: Likewise.
	* doc/tm.texi: Regenerate.

From-SVN: r227052
2015-08-21 01:15:33 +00:00
Trevor Saunders
70b0dcce28 always define HAVE_peephole2
gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* genconfig.c (main): Always define HAVE_cc0.
	* recog.c (rest_of_handle_peephole2): Adjust.

From-SVN: r227051
2015-08-21 01:15:15 +00:00
Trevor Saunders
913b71f183 remove another #if for HAVE_cc0
gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* reorg.c (relax_delay_slots): Don't use #if to check value of
	HAVE_cc0.

From-SVN: r227050
2015-08-21 01:14:59 +00:00
Trevor Saunders
e1f60ccfab always define HAVE_conditional_execution
gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
	* targhooks.c (default_have_conditional_execution): Adjust.

From-SVN: r227049
2015-08-21 01:14:46 +00:00
GCC Administrator
1fec569fc8 Daily bump.
From-SVN: r227048
2015-08-21 00:16:11 +00:00
Jason Merrill
062ed8758d * name-lookup.c (hidden_name_p): Handle OVERLOAD.
From-SVN: r227044
2015-08-20 16:55:15 -04:00
Jonathan Wakely
4ba1fef27d libstdc++/67294 Don't run timed mutex tests on Darwin
PR libstdc++/67294
	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
	on Darwin.
	* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.

From-SVN: r227043
2015-08-20 21:36:19 +01:00
Jonathan Wakely
89f0694859 any (__any_caster): Define at namespace scope so the name is visible to name lookup.
* include/experimental/any (__any_caster): Define at namespace scope
	so the name is visible to name lookup.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r227042
2015-08-20 21:19:58 +01:00
Richard Sandiford
92695fbb29 rtl.h (rtvec_all_equal_p): Declare.
gcc/
	* rtl.h (rtvec_all_equal_p): Declare.
	(const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
	* rtl.c (rtvec_all_equal_p): New function.
	* expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
	* config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
	(aarch64_simd_dup_constant): Use const_vec_duplicate_p.
	* config/arm/arm.c (neon_vdup_constant): Likewise.
	* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
	* config/tilegx/constraints.md (W, Y): Likewise.
	* config/tilepro/constraints.md (W, Y): Likewise.
	* config/spu/spu.c (spu_legitimate_constant_p): Likewise.
	(classify_immediate): Use unwrap_const_vec_duplicate.
	* config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
	(reg_or_v2s8bit_operand): Likewise.
	* config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
	(reg_or_v4s8bit_operand): Likewise.

From-SVN: r227041
2015-08-20 19:04:34 +00:00
Gleb Fotengauer-Malinovskiy
c629c24604 libitm: Don't redefine __always_inline in local_atomic.
From-SVN: r227040
2015-08-20 17:55:24 +00:00
Ian Lance Taylor
f4cd6a8d56 compiler: Don't crash on invalid print call.
When the print builtins are called with no arguments, the compiler
    issues a warning and crashes when trying to produce the backend
    representation for the arguments.
    
    Fixes golang/go#11526.
    
    Reviewed-on: https://go-review.googlesource.com/13131

From-SVN: r227039
2015-08-20 17:43:55 +00:00
Ian Lance Taylor
f999c862ec libgo/testsuite: another fix for killing the sleep process
Avoid ps padding issues.  Make sure we locate and kill just the sleep
    process.
    
    Reviewed-on: https://go-review.googlesource.com/13634

From-SVN: r227037
2015-08-20 17:10:45 +00:00
Bill Schmidt
6992707b2a altivec.h (vec_pmsum_be): New #define.
[gcc]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.h (vec_pmsum_be): New #define.
	(vec_shasigma_be): New #define.
	* config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
	(VPMSUMH): Likewise.
	(VPMSUMW): Likewise.
	(VPMSUMD): Likewise.
	(VPMSUM): New BU_P8V_OVERLOAD_2.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
	entries for VEC_MADD and VEC_VPMSUM.

[gcc/testsuite]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd.
	* gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for
	vec_vpmsum_be and vec_shasigma_be.

From-SVN: r227036
2015-08-20 17:01:32 +00:00
Georg-Johann Lay
b68db6d189 avr.c (avr_insert_attributes): In diagnostic essage: Multiply argument avr_n_flash by 64 to match unit of "KiB".
* config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
	Multiply argument avr_n_flash by 64 to match unit of "KiB".
	(avr_pgm_check_var_decl): Same.

From-SVN: r227035
2015-08-20 14:22:35 +00:00
Alan Lawrence
50399bb138 [ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type
gcc/:

	* config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
	initialization of HFmode scalar type (float16_t) to...
	(arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
	code.

	(arm_init_builtins): Call arm_init_fp16_builtins earlier and always.

	* config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
	having an -mfp16-format.

gcc/testsuite/:

	* lib/target-supports.exp
	(check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants
	with -mfp16-format=ieee.

From-SVN: r227033
2015-08-20 12:38:20 +00:00
Richard Sandiford
30aa6349e1 predicates.md (vector_all_ones_operand): Use CONSTM1_RTX to simplify definition.
gcc/
	* config/i386/predicates.md (vector_all_ones_operand): Use
	CONSTM1_RTX to simplify definition.

From-SVN: r227032
2015-08-20 11:36:00 +00:00
Richard Biener
5fc6ae7dab toplev.c (compile_file): Remove loop calling late_global_decl on all symbols.
2015-08-20  Richard Biener  <rguenther@suse.de>

	* toplev.c (compile_file): Remove loop calling late_global_decl
	on all symbols.
	* varpool.c (varpool_node::assemble_decl): Call late_global_decl
	on decls we assembled.

From-SVN: r227031
2015-08-20 11:02:30 +00:00
Jonathan Wakely
f3f61ed2ab Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
	libstdc++fs.
	* python/Makefile.in: Regenerate.

# Auto-generated commit message above this line, original below.
	* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
	libstdc++fs.
	* python/Makefile.in: Regenerate.

From-SVN: r227030
2015-08-20 11:50:02 +01:00
James Greenhalgh
054b4005fa [AArch64] Break -mcpu tie between the compiler and assembler
gcc/

	* common/config/aarch64/aarch64-common.c
	(AARCH64_CPU_NAME_LENGTH): Delete.
	(aarch64_option_extension): New.
	(all_extensions): Likewise.
	(processor_name_to_arch): Likewise.
	(arch_to_arch_name): Likewise.
	(all_cores): New.
	(all_architectures): Likewise.
	(aarch64_get_extension_string_for_isa_flags): Likewise.
	(aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
	architecture names.
	* config/aarch64/aarch64-protos.h
	(aarch64_get_extension_string_for_isa_flags): New.
	* config/aarch64/aarch64.c (aarch64_print_extension): Delete.
	(aarch64_option_print): Get the string to print from
	aarch64_get_extension_string_for_isa_flags.
	(aarch64_declare_function_name): Likewise.
	* config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
	(MCPU_TO_MARCH_SPEC): This.
	(ASM_CPU_SPEC): Use it.
	(BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
	(MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
	(EXTRA_SPEC_FUNCTIONS): Use it.

From-SVN: r227028
2015-08-20 10:18:54 +00:00
Paolo Carlini
dfd71aba57 re PR c++/67065 ([DR 1886] Missing diagnostics for ill-formed program with main variable instead of function)
/cp
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67065
	* decl.c (grokvardecl): Reject 'main' as global variable.

/testsuite
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67065
	* g++.dg/other/pr67065.C: New.

From-SVN: r227027
2015-08-20 10:18:03 +00:00
Simon Dardis
58df0b91cb mips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.
gcc/

  	* config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
	expansion when !ISA_HAS_LWL_LWR.
	(mips_block_move_straight): Update the size of elements copied to
	account for alignment when !ISA_HAS_LWL_LWR.
	* config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.

gcc/testsuite/

	* inline-memcpy-1.c: Test for inline expansion of memcpy.
	* inline-memcpy-2.c: Ditto.
	* inline-memcpy-3.c: Ditto.
	* inline-memcpy-4.c: Ditto.
	* inline-memcpy-5.c: Ditto.

From-SVN: r227026
2015-08-20 10:45:33 +01:00
Simon Dardis
95f25df08f * MAINTAINERS: fix date.
From-SVN: r227025
2015-08-20 10:36:33 +01:00
Simon Dardis
21590a3963 MAINTAINERS: Add myself.
* MAINTAINERS:	Add myself.

From-SVN: r227024
2015-08-20 10:12:06 +01:00
Jason Merrill
7ac2c0bd17 re PR c++/66957 (incorrect "is protected within this context" error)
PR c++/66957
	* search.c (protected_accessible_p): Remove redundant access_in_type.
	Add otype parm instead of walking binfo.
	(friend_accessible_p): Check SCOPE itself.  Handle class
	templates.  Pass through otype.
	(dfs_accessible_post): Handle all accessibility cases.
	(dfs_accessible_pre): New.
	(accessible_p): Use it.  Don't check protected access here.  Pass
	decl and otype to dfs_walk.
	(member_declared_in_type, dfs_access_in_type_pre): New.
	(access_in_type): Use dfs_access_in_type_pre.
	* friend.c (add_friend): Fix multiple friends with the same name.

From-SVN: r227023
2015-08-19 21:45:49 -04:00
Jason Merrill
18c4fa8ef0 * lambda.c (current_nonlambda_scope): New.
From-SVN: r227022
2015-08-19 21:45:44 -04:00
GCC Administrator
f02fe7889f Daily bump.
From-SVN: r227021
2015-08-20 00:16:13 +00:00
Jiong Wang
b61a0d75fe [Patch][expand] Check gimple statement to improve LSHIFT_EXP expand
This patch improves LSHIFT_EXP expand if the shift operand comes from sign
extension and the shift result across word_mode_size boundary. See code
comments for details.

2015-08-19  Jiong.Wang  <jiong.wang@arm.com>

gcc/
  * expr.c (expand_expr_real_2): Check gimple statement during
  LSHIFT_EXPR expand.
  
gcc/testsuite
  * gcc.dg/wide_shift_64_1.c: New testcase.
  * gcc.dg/wide_shift_128_1.c: Likewise.
  * gcc.target/aarch64/ashlti3_1.c: Likewise.

From-SVN: r227018
2015-08-19 22:55:28 +00:00
Magnus Granberg
e0f6cba004 common.opt (fstack-protector): Initialize to -1.
* common.opt (fstack-protector): Initialize to -1.
        (fstack-protector-all): Likewise.
        (fstack-protector-strong): Likewise.
        (fstack-protector-explicit): Likewise.
        * configure.ac: Add --enable-default-ssp.
        * defaults.h (DEFAULT_FLAG_SSP): New.  Default SSP to strong.
        * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
        -1.
        * doc/install.texi: Document --enable-default-ssp.
        * config.in: Regenerated.
        * configure: Likewise.

        * lib/target-supports.exp
        (check_effective_target_fstack_protector_enabled): New test.
        * gcc.target/i386/ssp-default.c: New test.

From-SVN: r227017
2015-08-19 16:07:06 -06:00
Alexandre Oliva
c24f5688ad [PR64164] fix regressions reported on m68k and armeb
Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.

for  gcc/ChangeLog

	PR rtl-optimization/64164
	* cfgexpand.c (parm_maybe_byref_p): Renamed to...
	(parm_in_stack_slot_p): ... this.  Disregard mode, what
	matters is whether the parm will live in a pseudo or a stack
	slot.
	(expand_one_ssa_partition): Deal with params without a default
	def.  Disregard mode.
	* cfgexpand.h: Renamed function declaration.
	* tree-ssa-coalesce.c: Adjust.
	* function.c (split_complex_args): Allocate stack slot for
	unassigned parms before splitting.
	(parm_in_unassigned_mem_p): New.  Use it instead of
	parm_maybe_byref_p throughout this file.
	(assign_parm_setup_block): Use it.  Accept pseudos in the
	expand-assigned rtl.
	(assign_parm_setup_reg): Drop BLKmode requirement.
	(assign_parm_setup_stack): Allocate and fill in the address of
	unassigned MEM parms.

From-SVN: r227015
2015-08-19 17:00:32 +00:00
David Sherwood
8dc89e4d7e genmodes.c (emit_mode_unit_size_inline): New function.
2015-08-19  David Sherwood  <david.sherwood@arm.com>

    gcc/
	* genmodes.c (emit_mode_unit_size_inline): New function.
	(emit_mode_unit_precision_inline): New function.
	(emit_insn_modes_h): Emit new #define.  Emit new functions.
	(emit_mode_unit_size): New function.
	(emit_mode_unit_precision): New function.
	(emit_mode_adjustments): Add mode_unit_size adjustments.
	(emit_insn_modes_c): Emit new arrays.
	* machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
	use new inline methods.

From-SVN: r227013
2015-08-19 15:23:11 +00:00
Kyrylo Tkachov
8d55c61ba8 [AArch64] Use popcount_hwi instead of homebrew version
* config/aarch64/aarch64.c (bit_count): Delete prototype
	and definition.
	(aarch64_print_operand): Use popcount_hwi instead of the above.

From-SVN: r227012
2015-08-19 15:09:38 +00:00
Kyrylo Tkachov
474b0f70a8 [AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
* config/aarch64/aarch64-option-extensions.def: Delete obsolete
	comment.

From-SVN: r227011
2015-08-19 15:01:21 +00:00
Mikael Morin
ea0daf5f37 Forward-port test generic_31.f90 from the 5 branch.
gcc/testsuite/
	PR fortran/66929
	* gfortran.dg/generic_31.f90: New.

From-SVN: r227010
2015-08-19 14:47:23 +00:00
Marek Polacek
255520e020 re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274)
PR middle-end/67133
	* gimple-ssa-isolate-paths.c
	(insert_trap_and_remove_trailing_statements): Rename to ...
	(insert_trap): ... this.  Don't remove trailing statements; split
	block instead.
	(find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

	* g++.dg/torture/pr67133.C: New test.

From-SVN: r227009
2015-08-19 14:22:26 +00:00
Mikael Morin
d63c864834 Avoid signed left shift undefined behaviour in sext_hwi
gcc/
	PR other/67042
	* hwint.h (sext_hwi): Switch to unsigned for the left shift, and
	conditionalize the whole on __GNUC__.  Add fallback code
	depending neither on undefined nor implementation-defined behaviour.

From-SVN: r227008
2015-08-19 13:42:36 +00:00
Paolo Carlini
dce573c43f cmath: Fix typo in comment.
2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Fix typo in comment.

From-SVN: r227007
2015-08-19 13:20:29 +00:00
Paolo Carlini
157177af99 cmath: Revert fix for libstdc++/58625...
2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Revert fix for libstdc++/58625, no
	longer necessary (__builtin_signbit is now type-generic).

From-SVN: r227006
2015-08-19 13:17:51 +00:00
Jiong Wang
a3957742f3 [AArch64] Cleanup whitespace in aarch64.c
2015-08-19  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
  whitespaces with tab.

From-SVN: r227005
2015-08-19 13:02:19 +00:00
Florian Weimer
4a5dc5994e Make the stack non-executable in GNAT tools
Due to PR67205, the deeply nested instantiations require trampolines,
which in turn requires an executable stack for the GNAT tools on
architectures such as x86_64.

From-SVN: r227004
2015-08-19 15:00:24 +02:00