trippels [Fri, 21 Aug 2015 16:44:30 +0000 (16:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227075
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 21 Aug 2015 14:44:33 +0000 (14:44 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227061
138bc75d-0d04-0410-961f-
82ee72b054a4
fyang [Fri, 21 Aug 2015 14:34:52 +0000 (14:34 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227060
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 21 Aug 2015 13:13:42 +0000 (13:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227059
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 21 Aug 2015 12:51:20 +0000 (12:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227058
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 21 Aug 2015 12:48:08 +0000 (12:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227057
138bc75d-0d04-0410-961f-
82ee72b054a4
naveenh [Fri, 21 Aug 2015 10:46:09 +0000 (10:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227056
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 21 Aug 2015 10:09:48 +0000 (10:09 +0000)]
* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
loop if EXPR is simplified to const value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227055
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Fri, 21 Aug 2015 08:42:57 +0000 (08:42 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227054
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 21 Aug 2015 08:06:20 +0000 (08:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227053
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 21 Aug 2015 01:15:33 +0000 (01:15 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227052
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 21 Aug 2015 01:15:15 +0000 (01:15 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227051
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 21 Aug 2015 01:14:59 +0000 (01:14 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227050
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 21 Aug 2015 01:14:46 +0000 (01:14 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227049
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 21 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227048
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 20 Aug 2015 20:55:15 +0000 (20:55 +0000)]
* name-lookup.c (hidden_name_p): Handle OVERLOAD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227044
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 20 Aug 2015 20:36:19 +0000 (20:36 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227043
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 20 Aug 2015 20:19:58 +0000 (20:19 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227042
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 20 Aug 2015 19:04:34 +0000 (19:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227041
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [Thu, 20 Aug 2015 17:55:24 +0000 (17:55 +0000)]
libitm: Don't redefine __always_inline in local_atomic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227040
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 20 Aug 2015 17:43:55 +0000 (17:43 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227039
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 20 Aug 2015 17:10:45 +0000 (17:10 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227037
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Thu, 20 Aug 2015 17:01:32 +0000 (17:01 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227036
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 20 Aug 2015 14:22:35 +0000 (14:22 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227035
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 20 Aug 2015 12:38:20 +0000 (12:38 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227033
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 20 Aug 2015 11:36:00 +0000 (11:36 +0000)]
gcc/
* config/i386/predicates.md (vector_all_ones_operand): Use
CONSTM1_RTX to simplify definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227032
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 20 Aug 2015 11:02:30 +0000 (11:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227031
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 20 Aug 2015 10:50:02 +0000 (10:50 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227030
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 20 Aug 2015 10:18:54 +0000 (10:18 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227028
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 20 Aug 2015 10:18:03 +0000 (10:18 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227027
138bc75d-0d04-0410-961f-
82ee72b054a4
dardiss [Thu, 20 Aug 2015 09:45:33 +0000 (09:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227026
138bc75d-0d04-0410-961f-
82ee72b054a4
dardiss [Thu, 20 Aug 2015 09:36:33 +0000 (09:36 +0000)]
* MAINTAINERS: fix date.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227025
138bc75d-0d04-0410-961f-
82ee72b054a4
dardiss [Thu, 20 Aug 2015 09:12:06 +0000 (09:12 +0000)]
* MAINTAINERS: Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227024
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 20 Aug 2015 01:45:49 +0000 (01:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227023
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 20 Aug 2015 01:45:44 +0000 (01:45 +0000)]
* lambda.c (current_nonlambda_scope): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227022
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 20 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227021
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 19 Aug 2015 22:55:28 +0000 (22:55 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227018
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 19 Aug 2015 22:07:06 +0000 (22:07 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227017
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Wed, 19 Aug 2015 17:00:32 +0000 (17:00 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227015
138bc75d-0d04-0410-961f-
82ee72b054a4
davids [Wed, 19 Aug 2015 15:23:11 +0000 (15:23 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227013
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 19 Aug 2015 15:09:38 +0000 (15:09 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227012
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 19 Aug 2015 15:01:21 +0000 (15:01 +0000)]
[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
* config/aarch64/aarch64-option-extensions.def: Delete obsolete
comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227011
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Wed, 19 Aug 2015 14:47:23 +0000 (14:47 +0000)]
Forward-port test generic_31.f90 from the 5 branch.
gcc/testsuite/
PR fortran/66929
* gfortran.dg/generic_31.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227010
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 19 Aug 2015 14:22:26 +0000 (14:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227009
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Wed, 19 Aug 2015 13:42:36 +0000 (13:42 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227008
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 19 Aug 2015 13:20:29 +0000 (13:20 +0000)]
2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cmath: Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227007
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 19 Aug 2015 13:17:51 +0000 (13:17 +0000)]
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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227006
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 19 Aug 2015 13:02:19 +0000 (13:02 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227005
138bc75d-0d04-0410-961f-
82ee72b054a4
fw [Wed, 19 Aug 2015 13:00:24 +0000 (13:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227004
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 19 Aug 2015 09:19:08 +0000 (09:19 +0000)]
* ChangeLog: Fix corrupted entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227003
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 19 Aug 2015 08:26:43 +0000 (08:26 +0000)]
[ARM] Use %wd format for lane printing in bounds_check
* config/arm/arm.c (bounds_check): Use %wd print format
for HOST_WIDE_INT arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227002
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 19 Aug 2015 02:48:48 +0000 (02:48 +0000)]
remove more useless typedefs
gcc/c-family/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
typedefs.
gcc/c/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
gcc/cp/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
method.c, name-lookup.h, parser.c, parser.h, rtti.c,
semantics.c, typeck2.c: Remove useless typedefs.
gcc/fortran/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* dependency.c, dependency.h, gfortran.h, io.c, module.c,
parse.h, resolve.c, trans-types.h, trans.h: remove useless
typedefs.
gcc/lto/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* lto.h: Remove useless typedefs.
gcc/objc/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
Remove useless typedefs.
gcc/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227001
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 19 Aug 2015 02:48:16 +0000 (02:48 +0000)]
remove useless typedefs
gcc/ChangeLog:
2015-08-11 trevor Saunders <tbsaunde@tbsaunde.org>
* bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
function.c, graphite-scop-detection.c, haifa-sched.c,
ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
varasm.c: Remove typedefs of structs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227000
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 19 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226998
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 18 Aug 2015 22:02:46 +0000 (22:02 +0000)]
[gcc]
2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
* config/rs6000/altivec.h (vec_adde): New define.
(vec_addec): Likewise.
(vec_double): Likewise.
(vec_bperm): Likewise.
(vec_gb): Likewise.
* config/rs6000/rs6000-builtin.def (ADDE): New
BU_ALTIVEC_OVERLOAD_3.
(ADDEC): Likewise.
(DOUBLE): New BU_VSX_OVERLOAD_1.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
and P8V_BUILTIN_VEC_VBPERMQ.
[gcc/testsuite]
2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
* gcc.target/powerpc/altivec-35.c: New test.
* gcc.target/powerpc/p8vector-builtin-8.c: New test.
* gcc.target/powerpc/vsx-vector-7.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226995
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 18 Aug 2015 21:29:12 +0000 (21:29 +0000)]
* print-tree.c (print_node): Handle TREE_BINFO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226994
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 18 Aug 2015 21:29:07 +0000 (21:29 +0000)]
PR c++/66919
* g++.dg/cpp1y/auto-fn27.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226993
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 18 Aug 2015 21:29:01 +0000 (21:29 +0000)]
DR 1155
* pt.c (convert_nontype_argument): Allow internal linkage in C++11
and up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226992
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Tue, 18 Aug 2015 20:07:57 +0000 (20:07 +0000)]
PR middle-end/36757
* builtins.c (expand_builtin_signbit): Add asserts to make sure
we can expand BUILT_IN_SIGNBIT inline.
* builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
* doc/extend.texi: Document the type-generic __builtin_signbit.
* c-common.c (check_builtin_function_arguments): Add check
for BUILT_IN_SIGNBIT argument.
* gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
* gcc.dg/tg-tests.h: Add checks for __builtin_signbit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226990
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 18 Aug 2015 19:04:41 +0000 (19:04 +0000)]
gcc/
PR rtl-optimization/67218
* simplify-rtx.c (exact_int_to_float_conversion_p): New function.
(simplify_unary_operation_1): Use it.
gcc/testsuite/
PR rtl-optimization/67218
* gcc.c-torture/execute/ieee/pr67218.c,
gcc.target/aarch64/fcvt_int_float_double1.c,
gcc.target/aarch64/fcvt_int_float_double2.c,
gcc.target/aarch64/fcvt_int_float_double3.c,
gcc.target/aarch64/fcvt_int_float_double4.c,
gcc.target/aarch64/fcvt_uint_float_double1.c,
gcc.target/aarch64/fcvt_uint_float_double2.c,
gcc.target/aarch64/fcvt_uint_float_double3.c,
gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226987
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 18 Aug 2015 18:04:48 +0000 (18:04 +0000)]
PR c++/67216
* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
Fix use of safe-bool idiom that isn't valid in C++11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226986
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 18 Aug 2015 18:04:42 +0000 (18:04 +0000)]
* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226985
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 18 Aug 2015 18:04:32 +0000 (18:04 +0000)]
PR libstdc++/67066
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
caveats for --enable-concept-checks. Improve link text.
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
Clarify caveats.
* doc/html/*: Regenerate.
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226984
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Tue, 18 Aug 2015 16:10:10 +0000 (16:10 +0000)]
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
dg-options to disable LSE extensions.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.
* gcc.target/aarch64/sync-comp-swap.c: Likewise.
* gcc.target/aarch64/sync-op-acquire.c: Likewise.
* gcc.target/aarch64/sync-op-full.c: Likewise.
* gcc.target/aarch64/sync-op-release.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226979
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 18 Aug 2015 14:38:51 +0000 (14:38 +0000)]
c-family/
2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67160
* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
in c++1z mode.
testsuite/
2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67160
* g++.dg/cpp1z/feat-cxx1z.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226972
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 18 Aug 2015 13:41:27 +0000 (13:41 +0000)]
PR middle-end/67222
* gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
if the call isn't valid.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
gimple_call_builtin_p.
(call_may_clobber_ref_p_1): Likewise.
(stmt_kills_ref_p): Likewise.
* gcc.dg/torture/pr67222.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226969
138bc75d-0d04-0410-961f-
82ee72b054a4
rts [Tue, 18 Aug 2015 12:42:12 +0000 (12:42 +0000)]
[MIPS] Fix register renaming in the interrupt handlers.
gcc/
* config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
* config/mips/mips.c (mips_hard_regno_rename_ok): New function.
(mips_hard_regno_scratch_ok): Likewise.
(TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
* config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
gcc/testsuite/
* gcc.target/mips/interrupt_handler-bug-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226968
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Tue, 18 Aug 2015 07:57:54 +0000 (07:57 +0000)]
* tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
(determine_value_range): Call refine_value_range_using_guard for
each loop initial condition to improve value range.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/loop-bound-1.c: New test.
* gcc.dg/tree-ssa/loop-bound-3.c: New test.
* gcc.dg/tree-ssa/loop-bound-5.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226966
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [Tue, 18 Aug 2015 01:08:22 +0000 (01:08 +0000)]
xtensa: fix _Unwind_GetCFA
Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame
higher than what was actually used by code at context->ra. This results
in invalid CFA value in signal frames and premature unwinding completion
in forced unwinding used by uClibc NPTL thread cancellation.
Returning context->sp from _Unwind_GetCFA makes all CFA values valid and
matching code that used them.
2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
context->sp instead of context->cfa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226964
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [Tue, 18 Aug 2015 01:07:10 +0000 (01:07 +0000)]
xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde
This allows having exception cleanup code in binaries that don't
register their unwind tables.
2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
with unwind-dw2-fde-dip.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226963
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [Tue, 18 Aug 2015 01:05:44 +0000 (01:05 +0000)]
xtensa: reimplement register spilling
Spilling windowed registers in userspace is much easier, more portable,
less error-prone and equally effective as in kernel. Now that register
spilling syscall is considered obsolete in the xtensa linux kernel
replace it with CALL12 followed by series of ENTRY in libgcc.
2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
CALL12 followed by series of ENTRY to spill windowed registers.
(__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
instead of making linux spill syscall.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226962
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 18 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226961
138bc75d-0d04-0410-961f-
82ee72b054a4
mpf [Mon, 17 Aug 2015 22:35:19 +0000 (22:35 +0000)]
mips.exp: Redefine isa variable which is referenced in later code.
gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Redefine isa
which is used in later code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226957
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 17 Aug 2015 21:40:07 +0000 (21:40 +0000)]
/cp
2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67216
* call.c (null_ptr_cst_p): In C++11 return 'false' for 'false'.
/testsuite
2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67216
* g++.dg/cpp0x/nullptr34.C: New.
* g++.dg/warn/Wconversion2.C: Adjust.
* g++.dg/warn/Wnull-conversion-1.C: Likewise.
* g++.old-deja/g++.other/null3.C: Likewise.
* g++.dg/cpp0x/pr51313.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226956
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 Aug 2015 18:42:09 +0000 (18:42 +0000)]
PR c++/67244
* pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226950
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 Aug 2015 18:42:04 +0000 (18:42 +0000)]
PR c++/67104
* constexpr.c (array_index_cmp, find_array_ctor_elt): New.
(cxx_eval_array_reference, cxx_eval_store_expression): Use them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226949
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 Aug 2015 18:41:59 +0000 (18:41 +0000)]
* constexpr.c (cxx_eval_store_expression): Don't set
CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR
without it.
(cxx_eval_array_reference): Check it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226948
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 Aug 2015 18:40:57 +0000 (18:40 +0000)]
* except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226947
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 17 Aug 2015 17:13:16 +0000 (17:13 +0000)]
* da.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226944
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Mon, 17 Aug 2015 16:28:13 +0000 (16:28 +0000)]
* config/i386/i386.c: Remove include of fibheap.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226943
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 17 Aug 2015 14:18:04 +0000 (14:18 +0000)]
* c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
with whitespaces before qualifier names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226939
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 17 Aug 2015 14:17:33 +0000 (14:17 +0000)]
2015-08-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/67221
* tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
(sccvn_dom_walker::before_dom_children): Mark backedges of
non-executable blocks as not executable.
* gcc.dg/torture/pr67221.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226938
138bc75d-0d04-0410-961f-
82ee72b054a4
davids [Mon, 17 Aug 2015 11:06:34 +0000 (11:06 +0000)]
* config/arm/arm.c (neon_element_bits): Replace call to
GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
* config/arm/neon.md (neon_vget_lane<mode>): Likewise.
(neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
(neon_vdup_lane<mode>): Likewise.
* config/i386/i386.c (ix86_expand_int_vcond): Likewise.
(ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
(expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (expand_expr_real_2): Likewise.
* optabs.c (shift_amt_for_vec_perm_mask): Likewise.
* simplify-rtx.c (simplify_immed_subreg): Likewise.
* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
New variable.
* fold-const.c (fold_binary_loc): Replace call to
GET_MODE_PRECISION (GET_MODE_INNER (m)) with
GET_MODE_UNIT_PRECISION (m).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226936
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 17 Aug 2015 09:39:58 +0000 (09:39 +0000)]
[ARM] arm memcpy of aligned data
2015-08-17 Mike Stump <mikestump@comcast.net>
* config/arm/arm.c (arm_block_move_unaligned_straight):
Emit normal move instead of unaligned load when source or destination
are appropriately aligned.
2015-08-17 Mike Stump <mikestump@comcast.net>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/memcpy-aligned-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226935
138bc75d-0d04-0410-961f-
82ee72b054a4
naveenh [Mon, 17 Aug 2015 04:47:45 +0000 (04:47 +0000)]
2015-08-17 Richard Biener <rguenther@suse.de>
Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
PR middle-end/16107
* match.pd (div (coss (op @0) : New simplifier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226934
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 17 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226932
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sun, 16 Aug 2015 19:47:02 +0000 (19:47 +0000)]
PR fortran/54656
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
for quadruple precision BUILT_IN_SQRT.
* gfortran.dg/norm_4.f90: Rename to...
* gfortran.dg/norm2_4.f90: this.
* gfortran.dg/norm2_5.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226929
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sun, 16 Aug 2015 16:37:18 +0000 (16:37 +0000)]
* trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
generic BUILT_IN_SIGNBIT.
(conv_intrinsic_ieee_copy_sign): Likewise.
* f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
variants of BUILT_IN_SIGNBIT.
* mathbuiltins.def: Remove SIGNBIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226924
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sun, 16 Aug 2015 12:47:15 +0000 (12:47 +0000)]
PR fortran/41387
* gfortran.texi: New section "File operations on symbolic links".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226923
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 16 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226915
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 15 Aug 2015 13:23:30 +0000 (13:23 +0000)]
* cp-demangle.c (d_abi_tags): Preserve di->last_name across any
ABI tags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226910
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 Aug 2015 07:59:26 +0000 (07:59 +0000)]
PR c++/65974
* decl2.c (mark_vtable_entries): Suppress -Wdeprecated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226908
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 15 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226907
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Fri, 14 Aug 2015 18:51:50 +0000 (18:51 +0000)]
[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
for gcc/ChangeLog
PR rtl-optimization/64164
PR bootstrap/66978
PR middle-end/66983
PR rtl-optimization/67000
PR middle-end/67034
PR middle-end/67035
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename. Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars. Check register
use and promoted modes to allow coalescing. Do not coalesce
maybe-byref parms with SSA_NAMEs of other variables, or
anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise. Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases. Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
(ssa_default_def_partition): New.
(get_rtl_for_parm_ssa_default_def): New.
(align_local_variable, add_stack_var): Support anonymous SSA
names.
(defer_stack_allocation): Likewise. Declare earlier.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
Do no record deferred-allocation marker in
SA.partition_to_pseudo.
(expand_stack_vars): Adjust check for the marker in it.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
from...
(expand_one_stack_var): ... this. New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names. Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c: Include stor-layout.h.
(set_reg_attrs_for_parm): Handle NULL decl.
(set_reg_attrs_for_decl_rtl): Take mode from expression if
it's not a DECL.
* stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
rather than its possibly-NULL DECL.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
(read_complex_part): Export.
* expr.h (read_complex_part): Declare.
* cfgexpand.h (parm_maybe_byref_p): Declare.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(split_complex_args): Take assign_parm_data_all argument.
Pass it to rtl_for_parm. Set up rtl and context for split
args. Reset complex parm before fetching its default decl
rtl.
(assign_parms_unsplit_complex): Use the default-def complex
parm rtl if it matches the components.
(assign_parms_augmented_arg_list): Adjust.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations. Recognize split complex args.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location, and
fill in its address if the memory location of a maybe-byref
parm was not assigned by cfgexpand.
(assign_parm_setup_reg): Likewise. Adjust its mode as
needed. Use entry_parm for equiv if stack_parm is NULL. Make
sure passed_pointer parms don't need conversion. Copy address
or value as needed.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
rtl before testing for pointer bounds. Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names. Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* stor-layout.c (layout_decl): Don't set mem attributes of
non-MEMs.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.
for gcc/testsuite/ChangeLog
* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226901
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 14 Aug 2015 17:59:41 +0000 (17:59 +0000)]
* tree-core.h (tree_base): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226900
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 14 Aug 2015 17:26:27 +0000 (17:26 +0000)]
compiler: Report unnamed receiver types.
gccgo used to crash when presented with an invalid receiver type in a
method. Instead, unnamed receiver types should report an error.
Fixes golang/go#11557.
Reviewed-on: https://go-review.googlesource.com/13245
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226899
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 14 Aug 2015 16:29:38 +0000 (16:29 +0000)]
PR middle-end/67133
* gimple.c (infer_nonnull_range_by_attribute): Check that the
nonnull argument position is not outside function arguments.
* gcc.dg/torture/pr67133.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226896
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Fri, 14 Aug 2015 15:05:42 +0000 (15:05 +0000)]
gcc/
2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
PR target/67143
* config/aarch64/atomics.md (atomic_<optab><mode>): Replace
'lconst_atomic' with 'const_atomic'.
(atomic_fetch_<optab><mode>): Likewise.
(atomic_<optab>_fetch<mode>): Likewise.
* config/aarch64/iterators.md (lconst-atomic): Move below
'const_atomic'.
(const_atomic): New.
gcc/testsuite/
2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
Matthias Klose <doko@debian.org>
PR target/67143
* gcc.c-torture/compile/pr67143.c: New
* gcc.target/aarch64/atomic-op-imm.c
(atomic_fetch_add_negative_RELAXED): New.
(atomic_fetch_sub_negative_ACQUIRE): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226895
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 14 Aug 2015 11:51:18 +0000 (11:51 +0000)]
* include/experimental/any (any::operator=(const any&)): Move check
for self-assignment.
(any::operator=(any&&)): Add check for self-assignment.
(any::operator=(_ValueType&&)): Constrain template argument.
(any::swap(any&)): Add check for self-swap.
* testsuite/experimental/any/assign/self.cc: Test move and swap.
* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226894
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 14 Aug 2015 11:51:05 +0000 (11:51 +0000)]
* include/experimental/array: Add feature-test macro.
* testsuite/experimental/array/neg.cc: Update dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226893
138bc75d-0d04-0410-961f-
82ee72b054a4