]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
7 years agoSplit print_rtx into subroutines
dmalcolm [Tue, 11 Oct 2016 19:19:05 +0000 (19:19 +0000)] 
Split print_rtx into subroutines

gcc/ChangeLog:
* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
operand-printing "switch" statement into...
(print_rtx_operand_code_0): ...this new function, ...
(print_rtx_operand_code_e): ...this new function, ...
(print_rtx_operand_codes_E_and_V): ...this new function, ...
(print_rtx_operand_code_i): ...this new function, ...
(print_rtx_operand_code_r): ...this new function, ...
(print_rtx_operand_code_u): ...this new function, ...
(print_rtx_operand): ...and this new function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241002 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Fritz Reese <fritzoreese@gmail.com>
foreese [Tue, 11 Oct 2016 18:44:05 +0000 (18:44 +0000)] 
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

Fix bad commit for -fdec-math.

* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
* simplify.c (degrees_f, radians_f): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241001 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 11 Oct 2016 18:31:50 +0000 (18:31 +0000)] 
2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* simplify.c (radians_f): Fix mpdr_mod.
* ireolce.c (get_degrees): Declare tmp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241000 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
andris [Tue, 11 Oct 2016 18:24:45 +0000 (18:24 +0000)] 
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS is defined.
(DIR_SEPARATOR) define to '\\' for DJGPP.
(__gnat_get_file_names_case_sensitive): return 0 for DJGPP unless
overriden in environment
(__gnat_is_absolute_path): Support MS-DOS style absolute paths for DJGPP.
(__gnat_portable_spawn): Use spewnvp for DJGPP.
(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
(__gnat_portable_wait): Return 0 for DJGPP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240999 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
andris [Tue, 11 Oct 2016 18:19:07 +0000 (18:19 +0000)] 
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
(EH_MECHANISM): Define to -gcc for DJGPP
* system-djgpp.ads: New file

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240998 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
andris [Tue, 11 Oct 2016 18:12:52 +0000 (18:12 +0000)] 
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
* gsocket.h: Do not support sockets for DJGPP.
* init.c (__gnat_install_handler): Implememt for DJGPP
* sysdep.c: Include <io.h> for DJGPP
(_setmode): Define to setmode for DJGPP
(__gnat_set_mode): Add implementation for DJGPP
(__gnat_localtime_tzoff): Use localtime_r for DJGPP
* terminals.c: Add DJGPP to list of unsupported platforms.
* env.c (__gnat_clearenv): use _gnat_unsetenv on all entries for DJGPP

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240997 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/alpha/alpha-passes.def: New file.
uros [Tue, 11 Oct 2016 16:30:45 +0000 (16:30 +0000)] 
* config/alpha/alpha-passes.def: New file.
* config/alpha/t-alpha: New file.
* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
(make_pass_handle_trap_shadows): New prototype.
(make_pass_align_insns): Ditto.
* config/alpha/alpha.c (alpha_option_override): Don't register
passes here.
* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240996 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 11 Oct 2016 14:12:09 +0000 (14:12 +0000)] 
2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/77924
* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
distinct __ibm128 IBM extended double type if long doubles are
128-bits and the default format for long double is IEEE 128-bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240994 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago configure: redirect -fsplit-stack compilation to dev/null
ian [Tue, 11 Oct 2016 13:13:17 +0000 (13:13 +0000)] 
configure: redirect -fsplit-stack compilation to dev/null

    Avoid an error message in the middle of the configure output.

    Patch by Eric Botcazou.

    Reviewed-on: https://go-review.googlesource.com/30813

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240993 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Richard Biener <rguenther@suse.de>
rguenth [Tue, 11 Oct 2016 12:56:49 +0000 (12:56 +0000)] 
2016-10-11  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
(verify_die): New function.
(dwarf2out_finish): Call it.
(output_line_info): Handle case of -gsplit-dwarf without
DWARF2_ASM_LINE_DEBUG_INFO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240992 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Richard Biener <rguenther@suse.de>
rguenth [Tue, 11 Oct 2016 12:52:44 +0000 (12:52 +0000)] 
2016-10-11  Richard Biener  <rguenther@suse.de>

PR debug/77931
* gimple-low.c (lower_gimple_bind): Handle arbitrary common
sub-chains of BLOCK_VARS and gimple_bind_vars.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240991 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix integer load reservation for -march=znver1
vekumar [Tue, 11 Oct 2016 11:49:32 +0000 (11:49 +0000)] 
Fix integer load reservation for -march=znver1
2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

* config/i386/znver1.md : Fix imov/imovx load type reservations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240990 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Fritz Reese <fritzoreese@gmail.com>
foreese [Tue, 11 Oct 2016 11:21:07 +0000 (11:21 +0000)] 
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

New flag -fdec-math for COTAN and degree trig intrinsics.

gcc/fortran/
* lang.opt: New flag -fdec-math.
* options.c (set_dec_flags): Enable with -fdec.
* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
* intrinsics.c (add_functions, do_simplify): New intrinsics
with -fdec-math.
* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
* iresolve.c (resolve_trig_call, get_degrees, get_radians,
is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
* simplify.c (simplify_trig_call, degrees_f, radians_f,
gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
gfc_simplify_atan2d): New functions.

gcc/testsuite/gfortran.dg/
* dec_math.f90: New testsuite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240989 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoMinor tweaks
ebotcazou [Tue, 11 Oct 2016 10:37:24 +0000 (10:37 +0000)] 
Minor tweaks

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240988 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * MAINTAINERS: Update email address.
nathan [Tue, 11 Oct 2016 10:36:33 +0000 (10:36 +0000)] 
* MAINTAINERS: Update email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240987 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix gcc.dg/tree-ssa/pr59597.c failure for avr
saaadhu [Tue, 11 Oct 2016 10:35:57 +0000 (10:35 +0000)] 
Fix gcc.dg/tree-ssa/pr59597.c failure for avr

Declare loop index variable j as a 32 bit int instead of assuming ints
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.

gcc/testsuite/ChangeLog

2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
(main): Declare j as i32 instead of int.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240986 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
ebotcazou [Tue, 11 Oct 2016 10:35:43 +0000 (10:35 +0000)] 
* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
Emit GNAT encodings for object renamings involving record components
whose normalized bit offset is not null.
* uintp.h (UI_No_Uint): Declare.
* gcc-interface/gigi.h (can_materialize_object_renaming_p): New.
* gcc-interface/utils.c (can_materialize_object_renaming_p): New
function.
* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
In code generation mode, materialize all renamings as long as they need
debug info and we are not optimizing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240985 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoOptimise std::list::assign(initializer_list<T>) slightly
redi [Tue, 11 Oct 2016 10:33:41 +0000 (10:33 +0000)] 
Optimise std::list::assign(initializer_list<T>) slightly

* include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
_M_assign_dispatch directly with correct tag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240984 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoSimplify std::rethrow_if_nested definition
redi [Tue, 11 Oct 2016 10:33:36 +0000 (10:33 +0000)] 
Simplify std::rethrow_if_nested definition

* doc/xml/manual/intro.xml: Document LWG 2484 status.
* libsupc++/nested_exception.h (_Throw_with_nested_impl)
(_Throw_with_nested_helper): Remove.
(__throw_with_nested_impl): New overloaded functions to implement
throw_with_nested logic.
(throw_with_nested): Call __throw_with_nested_impl.
(_Rethrow_if_nested_impl): Remove
(__rethrow_if_nested_impl): New overloaded functions to implement
rethrow_if_nested logic.
(rethrow_if_nested): Call __rethrow_if_nested_impl.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
problem cases from LWG 2484.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240983 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoEnable printers and xmethods for std::__cxx11::list
redi [Tue, 11 Oct 2016 10:33:29 +0000 (10:33 +0000)] 
Enable printers and xmethods for std::__cxx11::list

* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
Register printer for std::__cxx11::list.
* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
std::__cxx11::list as well as std::list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240982 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoRemove redundant const qualifliers from string_view
redi [Tue, 11 Oct 2016 10:33:24 +0000 (10:33 +0000)] 
Remove redundant const qualifliers from string_view

* include/experimental/string_view (basic_string_view::_S_compare):
Remove redundant const from return type.
* include/std/string_view (basic_string_view:_S_compare): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240981 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoMore noexcept for standard mutex types and locks
redi [Tue, 11 Oct 2016 10:33:16 +0000 (10:33 +0000)] 
More noexcept for standard mutex types and locks

* include/bits/std_mutex.h (mutex::native_handle)
(lock_guard(mutex_type&, adopt_lock_t)
(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
* include/std/mutex (recursive_mutex, timed_mutex)
(recursive_timed_mutex): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240980 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR77710: fix triplet in builtin-sprintf-warn-4.c
thopre01 [Tue, 11 Oct 2016 10:26:10 +0000 (10:26 +0000)] 
PR77710: fix triplet in builtin-sprintf-warn-4.c

2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR testsuite/PR77710
    * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
    target triplet instead of *-*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240979 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
ebotcazou [Tue, 11 Oct 2016 10:19:39 +0000 (10:19 +0000)] 
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
argument.  Disable folding when true.
* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
(build_binary_op): Update signature and comment.
* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
folding for all calls to build_binary_op.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240978 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * fe.h (Constant_Value): Declare.
ebotcazou [Tue, 11 Oct 2016 10:11:49 +0000 (10:11 +0000)] 
* fe.h (Constant_Value): Declare.
* gcc-interface/decl.c (compile_time_known_address_p): Also consider
references to constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240977 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
ebotcazou [Tue, 11 Oct 2016 10:03:49 +0000 (10:03 +0000)] 
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
<N_Op_Minus>: Add comment and missing guard.
* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240976 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
ebotcazou [Tue, 11 Oct 2016 09:52:35 +0000 (09:52 +0000)] 
* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
(make_type_from_size): Use it.
(unchecked_convert): Likewise.  Do not skip the extension step if the
source type is not integral.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240975 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * c-common.c (warning_candidate_p): Change the return type to bool
mpolacek [Tue, 11 Oct 2016 09:32:44 +0000 (09:32 +0000)] 
* c-common.c (warning_candidate_p): Change the return type to bool
and return true/false instead of 1/0.
(vector_mode_valid_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240974 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * system-linux-ppc64.ads: Delete.
ebotcazou [Tue, 11 Oct 2016 09:12:25 +0000 (09:12 +0000)] 
* system-linux-ppc64.ads: Delete.
* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240973 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAdd missing file
ebotcazou [Tue, 11 Oct 2016 08:55:31 +0000 (08:55 +0000)] 
Add missing file

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240972 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/sparc/sparc.opt (msubxc): New option.
ebotcazou [Tue, 11 Oct 2016 08:54:56 +0000 (08:54 +0000)] 
* config/sparc/sparc.opt (msubxc): New option.
* doc/invoke.texi (SPARC options): Document it and tidy up.
* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
* doc/tm.texi: Regenerate.
* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
(CCNZ): ...this.
(CCX_NOOV): Rename into...
(CCXNZ): ...this.
(CCC): New.
(CCXC): Likewise.
* config/sparc/predicates.m (fcc_register_operand): Simplify.
(fcc0_register_operand): Likewise.
(icc_register_operand): New.
(icc_or_fcc_register_operand): Simplify.
(nz_comparison_operator): New.
(c_comparison_operator): Likewise.
(noov_compare_operator): Rename into...
(icc_comparison_operator): ...this.  Use above predicates.
(noov_compare64_operator): Rename into...
(v9_comparison_operator): ...this and tidy up.
(fcc_comparison_operator): New.
(icc_or_fcc_comparison_operator): Likewise.
(v9_register_compare_operator): Rename info...
(v9_register_comparison_operator): ...this.
* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
for Niagara-7.
(sparc_fixed_condition_code_regs): New function.
(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
renaming and add support for CCC/CCXC.
(output_cbranch): Likewise.
(sparc_print_operand): Likewise.
(gen_v9_scc): Remove obsolete assertion.
(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
(output_cbcond): Remove bogus handling of CC modes.
(sparc_register_move_cost): Return 100 for NO_REGS.
* config/sparc/sparc.md (W): New mode iterator.
(length): Adjust for noov_compare64_operator renaming.
(cmpsi_sne): New instruction.
(cmpdi_sne): Likewise.
(seqdi_special): Delete.
(seqdi_special): Likewise.
(snesi<P:mode>_special): Likewise.
(snedi_special): Likewise.
(snedi_special_vis3): Likewise.
(snesi patterns): Use W iterator.
(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
(sltu patterns): Likewise.
(sgeu patterns): Likewise.
(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
(normal_branch): Use icc_comparison_operator predicate.
(inverted_branch): Likewise.
(cbcond_sp32): Use comparison_operator predicate.
(cbcond_sp64): Likewise.
(normal_int_branch_sp64): Adjust for renaming
(inverted_int_branch_sp64): Likewise.
(mov<I:mode>_cc_reg_sp64): Likewise.
(movsf_cc_reg_sp6): Likewise.
(movdf_cc_reg_sp64): Likewise.
(movtf_cc_reg_hq_sp64): Likewise.
(movtf_cc_reg_sp64): Likewise.
(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
(movsf_cc_v9): Likewise.
(movdf_cc_v9): Likewise.
(movtf_cc_hq_v9): Likewise.
(movtf_cc_v9): Likewise.
(adddi3): Call gen_adddi3_sp32.
(adddi3_insn_sp32): Rename to...
(adddi3_sp32): ...this.  Accept only register_operand as operand #1
and use CCCmode for the carry.
(addx_extend_sp32): Use CCCmode for the carry.
(addx_extend_sp64): Delete.
(adddi3_extend_sp32): Use CCCmode for the carry.
(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
(subdi3): Call gen_subdi3_sp32.
(subdi3_insn_sp32): Rename to...
(subdi3_sp32): ...this and use CCmode for the carry.
(subx_extend_sp32): Use CCCmode for the carry.
(subx_extend_sp64): Delete.
(subdi3_extend_sp32): Use CCmode for the carry.
(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
(negdi3): Call gen_negdi3_sp32.
(negdi3_sp32): Use CCCmode for the carry.
(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
(cmp_nz_ashift_1): Use CCNZ mode.
(cmp_nz_set_ashift_1): Likewise.
(ctrapsi4): Use comparison_operator predicate.
(ctrapdi4): Likewise.
(trapsi_insn): Use icc_comparison_operator predicate.
(trapdi_insn): Likewise.
(edge8 patterns): Use CCNZmode.
(edge16 patterns): Likewise.
(edge32 patterns): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240971 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/visium/visium-modes.def (CC_NOOV): Rename into...
ebotcazou [Tue, 11 Oct 2016 08:19:17 +0000 (08:19 +0000)] 
* config/visium/visium-modes.def (CC_NOOV): Rename into...
(CCNZ): ...this.
(CC_BTST): Rename into...
(CCC): ...this.
* config/visium/predicates.md (real_add_operand): New.
(visium_btst_operator): Rename into...
(visium_equality_comparison_operator): ...this.
(visium_noov_operator): Rename into...
(visium_nz_comparison_operator): ...this.
(visium_c_comparison_operator): New.
(visium_branch_operator): Adjust and deal with all CC modes.
* config/visium/visium.c (visium_adjust_cost): Adjust.
(visium_split_double_add): Use the *_set_carry patterns.
(visium_select_cc_mode): Add support for CCC mode and adjust.
(output_cbranch): Adjust and use the carry-based operators for
floating-point comparisons.
* config/visium/visium.md (flags_subst_arith): Adjust.
(addsi3_insn_set_carry): New instruction.
(subsi3_insn_set_carry): Likewise.
(negsi2_insn_set_carry): Likewise.
(btst): Adjust.
(cmp<mode>_sne): Likewise.
(cbranch<mode>4): Use ordered_comparison_operator.
(cbranch<mode>4_insn): Likewise.
(cbranchsi4_btst_insn): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240969 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoRemove RECORD_TYPE special-casing in std_canonical_va_list_type
vries [Tue, 11 Oct 2016 08:16:11 +0000 (08:16 +0000)] 
Remove RECORD_TYPE special-casing in std_canonical_va_list_type

2016-10-11  Tom de Vries  <tom@codesourcery.com>

PR middle-end/77558
* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
special-casing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240968 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * tree.h (build_complex_type): Add second parameter with default.
ebotcazou [Tue, 11 Oct 2016 08:05:31 +0000 (08:05 +0000)] 
* tree.h (build_complex_type): Add second parameter with default.
* tree.c (build_complex_type): Add NAMED second parameter and adjust
recursive call.  Create a TYPE_DECL only if NAMED is true.
(build_common_tree_nodes): Pass true in calls to build_complex_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240967 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago New avr-passes.def to register AVR specific passes.
gjl [Tue, 11 Oct 2016 08:02:48 +0000 (08:02 +0000)] 
New avr-passes.def to register AVR specific passes.
* config/avr/avr-passes.def: New file.
* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
(make_avr_pass_recompute_note): New proto.
* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
(avr_pass_recompute_notes): Use anonymous namespace.
(avr_register_passes): Remove function...
(avr_option_override): ...and its call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240966 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[MIPS] Disable -mbranch-likely for -Os when targetting generic arch
rts [Tue, 11 Oct 2016 07:58:54 +0000 (07:58 +0000)] 
[MIPS] Disable -mbranch-likely for -Os when targetting generic arch

gcc/
* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
PTF_AVOID_BRANCHLIKELY_SPEED for others.
(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune flags.
* config/mips/mips.c (mips_option_override): Enable the branch likely
depending on the tune flags and optimization level.
* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240965 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-11 Richard Biener <rguenther@suse.de>
rguenth [Tue, 11 Oct 2016 07:38:08 +0000 (07:38 +0000)] 
2016-10-11  Richard Biener  <rguenther@suse.de>

* lto-streamer-out.c (collect_block_tree_leafs): New helper.
(output_function): Properly stream the whole block tree.
* lto-streamer-in.c (input_function): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240964 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
mpolacek [Tue, 11 Oct 2016 07:02:40 +0000 (07:02 +0000)] 
* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.

* c-common.c (fold_for_warn): No longer static.
(bool_promoted_to_int_p): Likewise.
(c_common_get_narrower): Likewise.
(constant_expression_warning): Move to c-warn.c.
(constant_expression_error): Likewise.
(overflow_warning): Likewise.
(warn_logical_operator): Likewise.
(find_array_ref_with_const_idx_r): Likewise.
(warn_tautological_cmp): Likewise.
(expr_has_boolean_operands_p): Likewise.
(warn_logical_not_parentheses): Likewise.
(warn_if_unused_value): Likewise.
(strict_aliasing_warning): Likewise.
(sizeof_pointer_memaccess_warning): Likewise.
(check_main_parameter_types): Likewise.
(conversion_warning): Likewise.
(warnings_for_convert_and_check): Likewise.
(match_case_to_enum_1): Likewise.
(match_case_to_enum): Likewise.
(c_do_switch_warnings): Likewise.
(warn_for_omitted_condop): Likewise.
(readonly_error): Likewise.
(lvalue_error): Likewise.
(invalid_indirection_error): Likewise.
(warn_array_subscript_with_type_char): Likewise.
(warn_about_parentheses): Likewise.
(warn_for_unused_label): Likewise.
(warn_for_div_by_zero): Likewise.
(warn_for_memset): Likewise.
(warn_for_sign_compare): Likewise.
(do_warn_double_promotion): Likewise.
(do_warn_unused_parameter): Likewise.
(record_locally_defined_typedef): Likewise.
(maybe_record_typedef_use): Likewise.
(maybe_warn_unused_local_typedefs): Likewise.
(maybe_warn_bool_compare): Likewise.
(maybe_warn_shift_overflow): Likewise.
(warn_duplicated_cond_add_or_warn): Likewise.
(diagnose_mismatched_attributes): Likewise.
* c-common.h: Move the declarations from c-warn.c to its own section.
* c-warn.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240963 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Tue, 11 Oct 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240962 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago compiler: move Backend/Linemap creation out of front end.
ian [Tue, 11 Oct 2016 00:11:43 +0000 (00:11 +0000)] 
compiler: move Backend/Linemap creation out of front end.

    Push the calls to create Backend and Linemap object out
    of the front end into the back end, and instead pass pointers to
    these objects in the go_create_gogo_args struct. This allows
    for more flexibility in the interfaces used to create the
    objects.

    Reviewed-on: https://go-review.googlesource.com/30698

* go-gcc.h: New file.
* go-c.h (struct go_create_gogo_args): Add backend and linemap
fields.
* go-lang.c: Include "go-gcc.h".
(go_langhook_init): Set linemap and backend fields of args.
* go-gcc.cc: Include "go-gcc.h".
* go-linemap.cc: Include "go-gcc.h".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240959 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAccidentally failed to commit these earlier, as part of:
ian [Tue, 11 Oct 2016 00:08:35 +0000 (00:08 +0000)] 
Accidentally failed to commit these earlier, as part of:

    Update the compiler to use the new names.  Add calls to printlock and
    printunlock around print statements.  Move expression evaluation before
    the call to printlock.  Update g's writebuf field to a slice, and adjust
    C code accordingly.

    Reviewed-on: https://go-review.googlesource.com/30717

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240958 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoInfer and push new value ranges for x in y < x.
kugan [Mon, 10 Oct 2016 23:48:47 +0000 (23:48 +0000)] 
Infer and push new value ranges for x in y < x.
gcc/ChangeLog:

2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

* tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
(evrp_dom_walker::before_dom_children): Infer and push new value
ranges for x in y < x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240957 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago runtime: copy print/println support from Go 1.7
ian [Mon, 10 Oct 2016 23:13:39 +0000 (23:13 +0000)] 
runtime: copy print/println support from Go 1.7

    Update the compiler to use the new names.  Add calls to printlock and
    printunlock around print statements.  Move expression evaluation before
    the call to printlock.  Update g's writebuf field to a slice, and adjust
    C code accordingly.

    Reviewed-on: https://go-review.googlesource.com/30717

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240956 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAlways support float128 on ia64 (PR target/77586).
jsm28 [Mon, 10 Oct 2016 22:43:07 +0000 (22:43 +0000)] 
Always support float128 on ia64 (PR target/77586).

Bug 77586, and previously
<https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, reports
ia64-elf failing to build because of float128_type_node being NULL,
but being used by the back end for __float128.

The global float128_type_node is only available conditionally, if
target hooks indicate TFmode is not only available as a scalar mode
and of the right format, but also supported in libgcc.  The back-end
support, however, expects the type always to be available for
__float128 even if the libgcc support is missing.

Although a target-specific node could be restored in the case where
libgcc support is missing, it seems better to address the missing
libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
globally for all ia64 targets.  Support for XFmode in libgcc (that is,
for libgcc2.c XFmode functions, not soft-fp) is also enabled for all
ia64 targets so that ia64 no longer needs to define the
TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P hook.

I've confirmed that ia64-elf builds cc1 with this patch and it passes
-fself-test.  I have not otherwise tested the patch.  It's plausible
that ia64-elf and ia64-freebsd might work as-is, but ia64-vms probably
needs further changes, by someone familiar with VMS shared libraries,
to implement an equivalent of ia64/t-softfp-compat in that case
(avoiding conflicts between __divtf3 from soft-fp and the old alias
for __divxf3).

PR target/77586
gcc:
* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
(IA64_NO_LIBGCC_TFMODE): Likewise.

libgcc:
* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
soft-fp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240955 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * sv.po: Update.
jsm28 [Mon, 10 Oct 2016 22:38:22 +0000 (22:38 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240953 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoImprove docs on libstdc++ source-code layout
redi [Mon, 10 Oct 2016 22:34:17 +0000 (22:34 +0000)] 
Improve docs on libstdc++ source-code layout

* doc/xml/manual/appendix_contributing.xml (contrib.organization):
Replace <literallayout> with nested <variablelist> elements. Update
some more outdated text.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240952 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoMake any's copy assignment operator exception-safe,
ville [Mon, 10 Oct 2016 22:08:58 +0000 (22:08 +0000)] 
Make any's copy assignment operator exception-safe,
don't copy the underlying value when any is moved,
make in_place constructors explicit.
* include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
Make explicit.
(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
Likewise.
(operator=(const any&)): Make strongly exception-safe.
(operator=(any&&)): reset() unconditionally in the case where
rhs has a value.
(operator=(_ValueType&&)): Indent the return type.
(_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
* testsuite/20_util/any/assign/2.cc: Adjust.
* testsuite/20_util/any/assign/exception.cc: New.
* testsuite/20_util/any/cons/2.cc: Adjust.
* testsuite/20_util/any/cons/explicit.cc: New.
* testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240951 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAllocate bitmap before copying
kugan [Mon, 10 Oct 2016 22:03:09 +0000 (22:03 +0000)] 
Allocate bitmap before copying
gcc/ChangeLog:

2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
  copying.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240950 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agotoplevel:
andreast [Mon, 10 Oct 2016 21:31:17 +0000 (21:31 +0000)] 
toplevel:

2016-10-10  Andreas Tobler <andreast@gcc.gnu.org>

    * configure.ac: Add aarch64-*-freebsd*.
    * configure: Regenerate.

gcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: Add aarch64-*-freebsd* support.
    * config.host: Likewise.
    * config/aarch64/aarch64-freebsd.h: New file.
    * config/aarch64/t-aarch64-freebsd: Ditto.

libgcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.host: Add support for aarch64-*-freebsd*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240949 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoC++17 class deduction issues
jason [Mon, 10 Oct 2016 20:48:51 +0000 (20:48 +0000)] 
C++17 class deduction issues

PR c++/77890
PR c++/77912
* pt.c (do_class_deduction): Set cp_unevaluated_operand.
(tsubst) [TEMPLATE_TYPE_PARM]: Copy CLASS_PLACEHOLDER_TEMPLATE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240948 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR tree-optimization/71947
law [Mon, 10 Oct 2016 20:40:59 +0000 (20:40 +0000)] 
    PR tree-optimization/71947
* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
B with A within a single statement.

PR tree-optimization/71947
* gcc.dg/tree-ssa/pr71947-1.c: New test.
* gcc.dg/tree-ssa/pr71947-2.c: New test.
* gcc.dg/tree-ssa/pr71947-3.c: New test.
* gcc.dg/tree-ssa/pr71947-4.c: New test.
* gcc.dg/tree-ssa/pr71947-5.c: New test.
* gcc.dg/tree-ssa/pr71947-6.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240947 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoUpdate docs on libstdc++ source-code layout
redi [Mon, 10 Oct 2016 18:57:15 +0000 (18:57 +0000)] 
Update docs on libstdc++ source-code layout

* doc/xml/manual/appendix_contributing.xml (contrib.organization):
Describe other subdirectories and add markup. Remove outdated
reference to check-script target.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240946 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Mon, 10 Oct 2016 18:39:41 +0000 (18:39 +0000)] 
2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/77824
* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
zero cost for copies.
(find_candidates_dom_walker::before_dom_children): Replace
MODIFY_EXPR with SSA_NAME.
(replace_mult_candidate): Likewise.
(replace_profitable_candidates): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240945 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoCorrect C++11 implementation status docs
redi [Mon, 10 Oct 2016 18:39:18 +0000 (18:39 +0000)] 
Correct C++11 implementation status docs

* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240944 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoUse noexcept instead of _GLIBCXX_USE_NOEXCEPT
redi [Mon, 10 Oct 2016 18:32:40 +0000 (18:32 +0000)] 
Use noexcept instead of _GLIBCXX_USE_NOEXCEPT

* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
with noexcept.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240943 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago compiler: prune away gcc-specific linemap usage
ian [Mon, 10 Oct 2016 17:33:32 +0000 (17:33 +0000)] 
compiler: prune away gcc-specific linemap usage

    Add an interface to the go Linemap class to allow clients to ask for the
    line number for a Location (for debugging dumps), so as to move some
    gcc-specific location code into the back end.

    Reviewed-on: https://go-review.googlesource.com/30699

* go-linemap.cc (Gcc_linemap::location_line): New method.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240942 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago runtime: copy channel code from Go 1.7 runtime
ian [Mon, 10 Oct 2016 16:52:09 +0000 (16:52 +0000)] 
runtime: copy channel code from Go 1.7 runtime

    Change the compiler to use the new routines. Drop the separation of
    small and large values when sending on a channel. Allocate the select
    struct on the stack. Remove the old C implementation of channels. Adjust
    the garbage collector for the new data structure.

    Bring in part of the tracing code, enough for the channel code to call.

    Bump the permitted number of allocations in one of the tests in
    context_test.go. The difference is that now receiving from a channel
    allocates a sudog, which the C code used to simply put on the
    stack. This will be somewhat better when we port proc.go.

    Reviewed-on: https://go-review.googlesource.com/30714

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240941 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoMinor simplification to std::_Bind_result helpers
redi [Mon, 10 Oct 2016 16:15:52 +0000 (16:15 +0000)] 
Minor simplification to std::_Bind_result helpers

* include/std/functional (_Bind_result::__enable_if_void): Use alias
template instead of class template.
(_Bind_result::__disable_if_void): Likewise.
(_Bind_result::__call): Adjust uses of __enable_if_void and
__disable_if_void.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240940 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoS/390: Wrap more macro args into ()
krebbel [Mon, 10 Oct 2016 15:36:42 +0000 (15:36 +0000)] 
S/390: Wrap more macro args into ()

Turned out that there where a few () around macro args uses missing.
One real problem with it was detected with the int-in-bool-context in
the definition of DBX_REGISTER_NUMBER. But while being at it I've
also tried to fix other places where brackets might be missing.

gcc/ChangeLog:

2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.h: Wrap more macros args in brackets and fix
        some formatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240930 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoImplement constexpr std::addressof for C++17
redi [Mon, 10 Oct 2016 15:34:28 +0000 (15:34 +0000)] 
Implement constexpr std::addressof for C++17

* doc/xml/manual/intro.xml: Document DR 2296 status.
* doc/xml/manual/status_cxx2017.xml: Update status.
* include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
call __builtin_addressof.
(addressof): Add _GLIBCXX17_CONSTEXPR.
* testsuite/20_util/addressof/requirements/constexpr.cc: New test.
* testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
* testsuite/20_util/forward/f_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240929 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 10 Oct 2016 14:54:26 +0000 (14:54 +0000)] 
2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/77915
* frontend-passes.c (inline_matmul_assign):  Return early if
inside a FORALL statement.

2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/77915
* gfortran.dg/matmul_11.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240928 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/avr/gen-avr-mmcu-texi.c (string.h): Include.
gjl [Mon, 10 Oct 2016 14:18:04 +0000 (14:18 +0000)] 
* config/avr/gen-avr-mmcu-texi.c (string.h): Include.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240925 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[4/4] ARMv8.2-A testsuite for new scalar intrinsics
jiwang [Mon, 10 Oct 2016 13:50:10 +0000 (13:50 +0000)] 
[4/4] ARMv8.2-A testsuite for new scalar intrinsics

gcc/testsuite/

* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64.
* gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240924 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[3/4] ARMv8.2-A testsuite for new vector intrinsics
jiwang [Mon, 10 Oct 2016 13:47:14 +0000 (13:47 +0000)] 
[3/4] ARMv8.2-A testsuite for new vector intrinsics

gcc/testsuite/

* gcc.target/aarch64/advsimd-intrinsics/vdiv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmas_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmas_n_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxnmv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminnmv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_n_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vpminmaxnm_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndi_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vsqrt_f16_1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240923 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[2/4] ARMv8.2-A testsuite for new data movement intrinsics
jiwang [Mon, 10 Oct 2016 13:45:17 +0000 (13:45 +0000)] 
[2/4] ARMv8.2-A testsuite for new data movement intrinsics

gcc/testsuite/

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED):
Enable AArch64.
* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Add support for
vdup*_laneq.
* gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240922 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[1/4] ARMv8.2-A FP16 testsuite selector
jiwang [Mon, 10 Oct 2016 13:43:01 +0000 (13:43 +0000)] 
[1/4] ARMv8.2-A FP16 testsuite selector

gcc/testsuite/

* target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar): Mention
AArch64 support.
(add_options_for_arm_v8_2a_fp16_neon): Likewise.
(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Support
AArch64 targets.
(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Support
AArch64 targets.
(check_effective_target_arm_v8_2a_fp16_scalar_hw): Support AArch64
targets.
(check_effective_target_arm_v8_2a_fp16_neon_hw): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240921 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDefine std::allocator<T>::is_always_equal
redi [Mon, 10 Oct 2016 12:17:45 +0000 (12:17 +0000)] 
Define std::allocator<T>::is_always_equal

* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
is_always_equal.
* testsuite/util/testsuite_allocator.h
(uneq_allocator::is_always_equal): Define as false_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240920 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoLWG 2733, LWG 2759 reject bool in gcd and lcm
redi [Mon, 10 Oct 2016 12:17:34 +0000 (12:17 +0000)] 
LWG 2733, LWG 2759 reject bool in gcd and lcm

* include/experimental/numeric (gcd, lcm): Make bool arguments
ill-formed.
* include/std/numeric (gcd, lcm): Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: New test.
* testsuite/26_numerics/lcm/lcm_neg.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240919 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR target/77738
schwab [Mon, 10 Oct 2016 12:16:00 +0000 (12:16 +0000)] 
PR target/77738
* config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
pseudo is not DImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240918 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAdd noexcept to enable_shared_from_this::weak_from_this
redi [Mon, 10 Oct 2016 11:44:05 +0000 (11:44 +0000)] 
Add noexcept to enable_shared_from_this::weak_from_this

* include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
Add noexcept.
* include/bits/shared_ptr_base.h
(__enable_shared_from_this::weak_from_this): Likewise.
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
Test exception-specification of weak_from_this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240917 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[ARC] Disable compact casesi patterns for arcv2
claziss [Mon, 10 Oct 2016 11:39:22 +0000 (11:39 +0000)] 
[ARC] Disable compact casesi patterns for arcv2

gcc/
2016-05-09  Claudiu Zissulescu  <claziss@synopsys.com>

* common/config/arc/arc-common.c (arc_option_optimization_table):
Remove compact casesi option.
* config/arc/arc.c (arc_override_options): Use compact casesi
option only for pre-ARCv2 cores.
* doc/invoke.texi (mcompact-casesi): Update text.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240916 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
ebotcazou [Mon, 10 Oct 2016 10:09:13 +0000 (10:09 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
on types at the very end of the processing.
(gnat_to_gnu_param): Remove redundant test.
(change_qualified_type): Do nothing for unconstrained array types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240915 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/utils2.c (find_common_type): Do not return the LHS type
ebotcazou [Mon, 10 Oct 2016 09:46:10 +0000 (09:46 +0000)] 
* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
if it's an array with non-constant lower bound and the RHS type is an
array with a constant one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240913 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/utils.c (convert): For a biased input type, convert
ebotcazou [Mon, 10 Oct 2016 08:47:52 +0000 (08:47 +0000)] 
* gcc-interface/utils.c (convert): For a biased input type, convert
the bias itself to the base type before adding it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240910 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config-lang.in (lang_requires_boot_languages): Delete.
ebotcazou [Mon, 10 Oct 2016 07:18:07 +0000 (07:18 +0000)] 
* config-lang.in (lang_requires_boot_languages): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240909 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-09 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
acsawdey [Mon, 10 Oct 2016 04:42:08 +0000 (04:42 +0000)] 
2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED):
Add macro to say we can efficiently handle overlapping unaligned
loads.
* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
poor code for processors older than p8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240908 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Mon, 10 Oct 2016 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240907 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gen-pass-instances.awk: Remove GNUism.
ebotcazou [Sun, 9 Oct 2016 20:50:52 +0000 (20:50 +0000)] 
* gen-pass-instances.awk: Remove GNUism.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240904 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sun, 9 Oct 2016 18:40:09 +0000 (18:40 +0000)] 
2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of
(*ipcp_transformations)][node->uid].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240903 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR 67585 Handle EINTR
jb [Sun, 9 Oct 2016 18:05:56 +0000 (18:05 +0000)] 
PR 67585 Handle EINTR

Many POSIX systems have the bad habit of not restarting interrupted
syscalls. On these systems it's up to the user to check for an error
with errno == EINTR and restart manually. This patch does this for
libgfortran, so that GFortran users don't have to do it.

2016-10-09  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/67585
        * io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
        * io/unix.c (raw_read): Handle EINTR.
        (raw_write): Check for return value -1.
        (raw_seek): Handle EINTR.
        (raw_tell): Likewise.
        (raw_size): Likewise.
        (raw_truncate): Likewise.
        (raw_close): Likewise.
        (buf_flush): Call raw_seek instead of lseek.
        (buf_read): Likewise.
        (buf_write): Likewise.
        (fd_to_stream): Handle EINTR.
        (tempfile_open): Likewise.
        (regular_file2): Likewise.
        (compare_file_filename): Likewise.
        (find_file): Likewise.
        (inquire_sequential): Likewise.
        (inquire_direct): Likewise.
        (inquire_formatted): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240902 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
danglin [Sun, 9 Oct 2016 17:02:21 +0000 (17:02 +0000)] 
* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
(MALLOC_ABI_ALIGNMENT): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240901 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * tree-ssa.c (target_for_debug_bind, verify_phi_args,
jakub [Sun, 9 Oct 2016 11:19:48 +0000 (11:19 +0000)] 
* tree-ssa.c (target_for_debug_bind, verify_phi_args,
ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
VAR_OR_FUNCTION_DECL_P macros.
* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
chkp_find_bounds_1): Likewise.
* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
* hsa-gen.c (get_symbol_for_decl): Likewise.
* cgraphunit.c (check_global_declaration, analyze_functions,
handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
Likewise.
* gimple-fold.c (can_refer_decl_in_current_unit_p,
canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
Likewise.
* tree.c (set_decl_section_name, copy_node_stat,
need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
merge_dllimport_decl_attributes, handle_dll_attribute,
decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
verify_type): Likewise.
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
find_explicit_erroneous_behavior): Likewise.
* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
* ipa.c (process_references): Likewise.
* tree-chkp-opt.c (chkp_get_check_result): Likewise.
* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
notice_global_symbol, assemble_variable, mark_decl_referenced,
build_constant_desc, output_constant_def_contents, do_assemble_alias,
make_decl_one_only, default_section_type_flags,
categorize_decl_for_section, default_encode_section_info): Likewise.
* trans-mem.c (requires_barrier): Likewise.
* gimple-expr.c (mark_addressable): Likewise.
* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
expand_debug_expr): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* ubsan.c (instrument_bool_enum_load): Likewise.
* tree-pretty-print.c (print_declaration): Likewise.
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
* asan.c (asan_protect_global, instrument_derefs): Likewise.
* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
pass_build_ssa::execute): Likewise.
* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
Likewise.
* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
Likewise.
* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
can_be_nonlocal, remap_decls, copy_debug_stmt,
initialize_inlined_parameters, add_local_variables,
reset_debug_binding, replace_locals_op): Likewise.
* dse.c (can_escape): Likewise.
* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
Likewise.
* tree-diagnostic.c (default_tree_printer): Likewise.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
unpack_ts_decl_with_vis_value_fields,
lto_input_ts_decl_common_tree_pointers): Likewise.
* builtins.c (builtin_save_expr, fold_builtin_expect,
readonly_data_expr): Likewise.
* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
create_variable_info_for, set_uids_in_ptset, visit_loadstore):
Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimplify.c (force_constant_size, gimplify_bind_expr,
gimplify_decl_expr, gimplify_var_or_parm_decl,
gimplify_compound_lval, gimplify_init_constructor,
gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
gimplify_type_sizes): Likewise.
* cgraphbuild.c (record_reference, record_type_list, mark_address,
mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
remove_unused_locals): Likewise.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
* function.c (instantiate_expr, instantiate_decls_1,
setjmp_vars_warning, add_local_decl): Likewise.
* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
Likewise.
* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
optimize_va_list_gpr_fpr_size): Likewise.
* tree-nrv.c (pass_nrv::execute): Likewise.
* tsan.c (instrument_expr): Likewise.
* tree-ssa-dce.c (remove_dead_stmt): Likewise.
* vtable-verify.c (verify_bb_vtables): Likewise.
* tree-dfa.c (ssa_default_def, set_ssa_default_def,
get_ref_base_and_extent): Likewise.
* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
Likewise.
* tree-sra.c (static bool constant_decl_p, find_var_candidates,
analyze_all_variable_accesses): Likewise.
* tree-nested.c (get_nonlocal_debug_decl,
convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
get_local_debug_decl, convert_local_omp_clauses,
convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
Likewise.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
dbxout_symbol, dbxout_common_check): Likewise.
* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
string_constant): Likewise.
* hsa.c (hsa_get_declaration_name): Likewise.
* passes.c (rest_of_decl_compilation): Likewise.
* tree-ssanames.c (make_ssa_name_fn): Likewise.
* tree-streamer-out.c (pack_ts_decl_common_value_fields,
pack_ts_decl_with_vis_value_fields,
write_ts_decl_common_tree_pointers): Likewise.
* stor-layout.c (place_field): Likewise.
* symtab.c (symtab_node::maybe_create_reference,
symtab_node::verify_base, symtab_node::make_decl_local,
symtab_node::copy_visibility_from,
symtab_node::can_increase_alignment_p): Likewise.
* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
fortran_common, add_location_or_const_value_attribute,
add_scalar_info, add_linkage_name, set_block_abstract_flags,
local_function_static, gen_variable_die, dwarf2out_late_global_decl,
optimize_one_addr_into_implicit_ptr,
optimize_location_into_implicit_ptr): Likewise.
* gimple-low.c (record_vars_into): Likewise.
* ipa-visibility.c (update_vtable_references): Likewise.
* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
Likewise.
* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
DFS::DFS_write_tree_body, write_symbol): Likewise.
* langhooks.c (lhd_warn_unused_global_decl,
lhd_set_decl_assembler_name): Likewise.
* attribs.c (decl_attributes): Likewise.
* except.c (output_ttype): Likewise.
* varpool.c (varpool_node::get_create, ctor_for_folding,
varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
* fold-const.c (fold_unary_loc): Likewise.
* ipa-prop.c (ipa_compute_jump_functions_for_edge,
ipa_find_agg_cst_from_init): Likewise.
* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
expand_omp_target, lower_omp_regimplify_p,
grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
find_link_var_op): Likewise.
* tree-chrec.c (chrec_contains_symbols): Likewise.
* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
execute_fixup_cfg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240900 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR tree-optimization/77901
jakub [Sun, 9 Oct 2016 11:18:53 +0000 (11:18 +0000)] 
PR tree-optimization/77901
* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
if ranges[i].exp is SSA_NAME when looking for >= and only when
ranges[i].exp is NULL or SSA_NAME when looking for the other
comparison.

* gcc.c-torture/compile/pr77901.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240899 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sun, 9 Oct 2016 04:48:50 +0000 (04:48 +0000)] 
2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* ipa-cp.c (ipcp_alignment_lattice): Remove.
(ipcp_param_lattices): Remove field alignment.
(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
(set_all_contains_variable): Remove call to
ipcp_alignment_lattice::set_to_bottom.
(initialize_node_lattices): Likewise.
(propagate_alignment_accross_jump_function): Remove.
(propagate_constants_accross_call): Remove call to
propagate_alignment_accross_jump_function.
(ipcp_store_alignment_results): Remove.
(ipcp_driver): Remove call to ipcp_store_alignment_results.
(propagate_bits_accross_jump_function): Handle ancestor jump function.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
pretty-printing of alignment jump function.
(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
alignments and remove computing ipa_alignment jump function.
(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
(ipa_write_jump_functions): Remove streaming for ipa_alignment.
(ipa_read_jump_function): Remove reading of ipa_alignment.
(write_ipcp_transformation_info): Remove streaming for alignment
propagation summary.
(read_ipcp_transformation_info): Remove reading of alignment
propagation summary.
(ipcp_update_alignments): Remove.
(ipcp_update_bits): Adjust to set alignment for parameters of pointer
type.
(ipcp_transform_function): Remove call to ipcp_update_alignments()
and remove assignment to (*ipcp_transformations)[node->uid].alignments.
* ipa-prop.h (ipa_alignment): Remove.
(ipa_jump_func): Remove field alignment.
(ipcp_transformation_summary): Remove field alignments.
* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.

testsuite/
* gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump.
* gcc.dg/ipa/propalign-2.c: Likewise
* gcc.dg/ipa/propalign-3.c: Likewise.
* gcc.dg/ipa/propalign-4.c: Likewise.
* gcc.dg/ipa/propalign-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240898 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * cp-gimplify.c (cp_fold): Add variable name.
jason [Sun, 9 Oct 2016 02:41:47 +0000 (02:41 +0000)] 
* cp-gimplify.c (cp_fold): Add variable name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240897 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Sun, 9 Oct 2016 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240896 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago Delay folding of bool conversion into COND_EXPR.
jason [Sat, 8 Oct 2016 17:40:22 +0000 (17:40 +0000)] 
Delay folding of bool conversion into COND_EXPR.

gcc/c-family/
* c-common.c (c_common_truthvalue_conversion): Don't distribute
into COND_EXPR in C++.
gcc/cp/
* cp-gimplify.c (cp_fold): Distribute cp_truthvalue_conversion
into COND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240893 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
ebotcazou [Sat, 8 Oct 2016 17:32:46 +0000 (17:32 +0000)] 
* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.

* config/visium/visium.c (visium_expand_int_cstore): Revert latest
change.
(visium_expand_fp_cstore): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240892 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-08 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sat, 8 Oct 2016 17:04:35 +0000 (17:04 +0000)] 
2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* diagnostic-core.h (warning_at_rich_loc_n): Declare.
* diagnostic.c (warning_at_rich_loc_n): New function.
(diagnostic_n_impl_richloc): Likewise.
(diagnostic_n_impl): Move most of the function to
diagnostic_n_impl_richloc and call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240891 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
ebotcazou [Sat, 8 Oct 2016 17:04:28 +0000 (17:04 +0000)] 
* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.

Revert
2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* gcc-interface/decl.c: Fix fall through comment formatting.
* gcc-interface/misc.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
* gcc-interface/utils2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240890 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago Further P0135 refinement.
jason [Sat, 8 Oct 2016 16:23:26 +0000 (16:23 +0000)] 
Further P0135 refinement.

* call.c (build_user_type_conversion_1): Consider conversions from
a single element in an initializer-list.
(build_temp): Undo early_elide_copy change.
(build_over_call): Check that we don't try to copy a TARGET_EXPR
in C++17 mode.  Set user_conv_p here.
(convert_like_real): Not here.
(check_self_delegation): Split out from...
(build_special_member_call): ...here.  Handle C++17 copy elision.
* cvt.c (early_elide_copy): Remove.
(ocp_convert): Undo early_elide_copy change.
* except.c (build_throw): Likewise.
* init.c (expand_default_init): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240889 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gen-pass-instances.awk: Rewritten.
jakub [Sat, 8 Oct 2016 13:50:50 +0000 (13:50 +0000)] 
* gen-pass-instances.awk: Rewritten.
* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
$(PASSES_EXTRA) after passes.def to the script.
* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
* config/i386/i386-passes.def: New file.
* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
make_pass_stv): Declare.
* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
false.
(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
or !TARGET_64BIT.
(pass_stv::clone, pass_stv::set_pass_param): New methods.
(pass_stv::timode_p): New non-static data member.
(ix86_option_override): Don't register passes here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240888 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gen-pass-instances.awk: Rewritten.
jakub [Sat, 8 Oct 2016 12:04:37 +0000 (12:04 +0000)] 
* gen-pass-instances.awk: Rewritten.
* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
$(PASSES_EXTRA) after passes.def to the script.
* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
* config/i386/i386-passes.def: New file.
* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
make_pass_stv): Declare.
* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
false.
(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
or !TARGET_64BIT.
(pass_stv::clone, pass_stv::set_pass_param): New methods.
(pass_stv::timode_p): New non-static data member.
(ix86_option_override): Don't register passes here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240887 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * doc/invoke.texi: Document accepting Else, fallthrough.
jakub [Sat, 8 Oct 2016 10:54:27 +0000 (10:54 +0000)] 
* doc/invoke.texi: Document accepting Else, fallthrough.

* lex.c (fallthrough_comment_p): Accept Else, fallthrough.

* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240886 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
jakub [Sat, 8 Oct 2016 10:53:05 +0000 (10:53 +0000)] 
* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
style changes.

* lex.c (fallthrough_comment_p): Extend to handle more common FALLTHRU
comment styles.

* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240885 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
jakub [Sat, 8 Oct 2016 10:48:54 +0000 (10:48 +0000)] 
* c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.

* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
FALLTHRU comment styles.

* lex.c (fallthrough_comment_p): Fix off-by-one size comparison
errors, cleanup.
(_cpp_lex_direct): Allow arbitrary comments in between
fallthrough_comment_p comment and following token.

* c-c++-common/Wimplicit-fallthrough-23.c: New test.
* c-c++-common/Wimplicit-fallthrough-24.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240884 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Sat, 8 Oct 2016 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240882 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-07 Andrew Pinski <apinski@cavium.com>
pinskia [Fri, 7 Oct 2016 21:36:41 +0000 (21:36 +0000)] 
2016-10-07  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
        * config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
        * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): Likewise.
        * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): Likewise.
        * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        * config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
        (AARCH64_ARCH): Likewise.
        * common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION): Likewise.
        (AARCH64_CORE): Likewise.
        (AARCH64_ARCH): Likewise.
        * config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
        (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        * config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
        (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        (AARCH64_ARCH): Likewise.
        (AARCH64_CORE): Likewise.
        * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
        * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
        (AARCH64_CORE): Likewise.
        (AARCH64_ARCH): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240876 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2016-10-07 Fritz Reese <fritzoreese@gmail.com>
foreese [Fri, 7 Oct 2016 21:25:16 +0000 (21:25 +0000)] 
2016-10-07  Fritz Reese  <fritzoreese@gmail.com>

Fix ICE due to map typespecs with different sized charlens being copied.

gcc/fortran/
* interface.c (compare_components): Check charlen for BT_CHAR.

gcc/testsuite/gfortran.dg/
* dec_union_11.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240875 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago cp/
nathan [Fri, 7 Oct 2016 20:01:17 +0000 (20:01 +0000)] 
cp/
PR c++/64433
DR1658, DR1611
* init.c (emit_mem_initializers): Don't construct vbases of
abstract classes.
(push_base_cleanups): Don't push vbase cleanups for abstract class
when in C++14 mode.
* method.c (synthethesized_method_walk): Don't walk vbases of
abstract classes when in C++14 mode.

testsuite/
PR c++/66443
* g++.dg/cpp0x/pr66443-cxx11.C: New.
* g++.dg/cpp0x/pr66443-cxx11-2.C: New.
* g++.dg/cpp1y/pr66443-cxx14.C: New
* g++.dg/cpp1y/pr66443-cxx14-2.C: New.
* g++.dg/cpp1y/pr66443-cxx14-3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240874 138bc75d-0d04-0410-961f-82ee72b054a4