rsandifo [Sun, 5 Jul 2015 07:52:32 +0000 (07:52 +0000)]
gcc/
* target-insns.def (restore_stack_block, restore_stack_function)
(restore_stack_nonlocal, save_stack_block, save_stack_function)
(save_stack_nonlocal): New targetm instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
* explow.c (emit_stack_save, emit_stack_restore): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225426
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 5 Jul 2015 07:51:07 +0000 (07:51 +0000)]
gcc/
* target-insns.def (trap): New targetm instruction pattern.
* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
interface.
* explow.c (allocate_dynamic_stack_space): Likewise.
* ifcvt.c (find_if_header): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225425
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 5 Jul 2015 07:50:31 +0000 (07:50 +0000)]
gcc/
* target-insns.def (prefetch): New targetm instruction pattern.
* tree-ssa-loop-prefetch.c: Include targeth.
(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
of HAVE_*/gen_* interface.
* builtins.c (expand_builtin_prefetch): Likewise.
* toplev.c (process_options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225424
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 5 Jul 2015 07:49:16 +0000 (07:49 +0000)]
gcc/
* target-insns.def (untyped_call, untyped_return): New targetm
instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
(result_vector): Define unconditionally.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225423
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 5 Jul 2015 07:48:04 +0000 (07:48 +0000)]
gcc/
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
(nonlocal_goto_receiver): New targetm instruction patterns.
* builtins.c (expand_builtin_setjmp_setup): Use them instead
of HAVE_*/gen_* interface.
(expand_builtin_setjmp_receiver): Likewise.
(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
* except.c (expand_dw2_landing_pad_for_region): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225422
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 5 Jul 2015 07:44:45 +0000 (07:44 +0000)]
gcc/
* target.def: Add code_for_* hooks.
* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
* target-insns.def (casesi, tablejump): New targetm instruction
patterns.
* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
(do_tablejump): Likewise.
* stmt.c (expand_switch_as_decision_tree_p): Likewise.
(expand_sjlj_dispatch_table): Likewise.
* targhooks.c (default_case_values_threshold): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225421
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Sun, 5 Jul 2015 02:56:18 +0000 (02:56 +0000)]
2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
Use rtx_insn * instead of rtx.
(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
(nios2_call_tls_get_addr): Likewise.
(nios2_emit_expensive_div): Likewise.
(nios2_emit_move_sequence): Change return type to bool.
* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
Change return type to bool.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225420
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 5 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225419
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Sat, 4 Jul 2015 19:02:18 +0000 (19:02 +0000)]
2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/66747
* config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225416
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Sat, 4 Jul 2015 15:37:04 +0000 (15:37 +0000)]
2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66725
* io.c (is_char_type): New function to test for BT_CHARACTER
(gfc_match_open, gfc_match_close, match_dt_element): Use it.
2015-07-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66725
* gfortran.dg/pr66725.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225415
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sat, 4 Jul 2015 13:42:55 +0000 (13:42 +0000)]
PR target/66114
* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
of register_operand. Remove constraint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225412
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Sat, 4 Jul 2015 11:15:33 +0000 (11:15 +0000)]
2015-07-04 Marc Glisse <marc.glisse@inria.fr>
* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
the first argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225411
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 4 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225409
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 3 Jul 2015 18:56:40 +0000 (18:56 +0000)]
2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* attribs.c (decl_attributes): Guard inform with the return value
of the preceding warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225402
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Fri, 3 Jul 2015 17:28:43 +0000 (17:28 +0000)]
2015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
PR target/52482
* config/powerpc/sjlj.S: Port to Xcode 2.5.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225388
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 3 Jul 2015 14:49:05 +0000 (14:49 +0000)]
[Patch docs obvious AArch64] Fix position of -moverride documentation
gcc/
* doc/invoke.texi (moverride): Move to correct section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225384
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 3 Jul 2015 14:42:21 +0000 (14:42 +0000)]
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
Avoid narrowing error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225383
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Fri, 3 Jul 2015 14:37:26 +0000 (14:37 +0000)]
PR rtl-optimization/66706
* gcc.target/powerpc/shift-int.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225382
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 3 Jul 2015 14:08:48 +0000 (14:08 +0000)]
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225380
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 3 Jul 2015 14:08:37 +0000 (14:08 +0000)]
2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::propagate_const.
* include/Makefile.am: Add propagate_const.
* include/Makefile.in: Regenerate.
* include/experimental/propagate_const: New.
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225379
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 3 Jul 2015 13:46:34 +0000 (13:46 +0000)]
2015-07-03 Richard Biener <rguenther@suse.de>
* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
Copy from tree.c
(dt_operand::gen_gimple_expr): After valueizing operands
re-canonicalize operand order for commutative tree codes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225378
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 3 Jul 2015 13:08:35 +0000 (13:08 +0000)]
Add the missing file
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225377
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 3 Jul 2015 12:25:10 +0000 (12:25 +0000)]
Add IA MCU support to x86intrin.h
x86intrin.h has useful intrinsics for instructions for IA MCU. This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.
gcc/
PR target/66746.
* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
is defined.
(__crc32w): Likewise.
(__crc32d): Likewise.
(__rdpmc): Likewise.
(__rdtscp): Likewise.
(_rdpmc): Likewise.
(_rdtscp): Likewise.
* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
is defined.
gcc/testsuite/
PR target/66746.
* gcc.target/i386/pr66746.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225376
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 3 Jul 2015 12:02:35 +0000 (12:02 +0000)]
2015-07-03 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_mathfn_compare): Remove.
(fold_inf_compare): Likewise.
(fold_comparison): Move floating point comparison simplifications...
* match.pd: ... to patterns here. Introduce simple_comparisons
operator list and use it for patterns formerly in fold_comparison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225375
138bc75d-0d04-0410-961f-
82ee72b054a4
clyon [Fri, 3 Jul 2015 10:52:03 +0000 (10:52 +0000)]
2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225374
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 3 Jul 2015 09:42:52 +0000 (09:42 +0000)]
2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* Fix component of my last ChangeLog entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225371
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 3 Jul 2015 09:25:54 +0000 (09:25 +0000)]
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
gcc/
PR tree-optimization/66119
* toplev.c (process_options): Don't set up default values for
the sra_max_scalarization_size_{speed,size} parameters.
* tree-sra (analyze_all_variable_accesses): If no values
have been set for the sra_max_scalarization_size_{speed,size}
parameters, call get_move_ratio to get target defaults.
gcc/testsuite/
PR tree-optimization/66119
* g++.dg/opt/pr66119.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225369
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 3 Jul 2015 07:55:10 +0000 (07:55 +0000)]
2015-07-03 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
* match.pd: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225368
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Fri, 3 Jul 2015 01:35:18 +0000 (01:35 +0000)]
PR target/37072
* doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
is not actually the default on FreeBSD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225367
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 3 Jul 2015 00:45:34 +0000 (00:45 +0000)]
PR c++/66743
* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
TYPE_VALUES_RAW rather than TYPE_FIELDS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225365
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 3 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225364
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 2 Jul 2015 23:16:51 +0000 (23:16 +0000)]
* pt.c (type_dependent_expression_p): Handle expressions
that refer to variable templates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225361
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 2 Jul 2015 22:01:36 +0000 (22:01 +0000)]
* trans-common.c: Include <map> after system.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225358
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 2 Jul 2015 21:52:38 +0000 (21:52 +0000)]
* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
--with-default-libstdcxx-abi
* configure: Regenerate.
* doc/xml/manual/configure.xml: Document valid arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225356
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Thu, 2 Jul 2015 20:39:56 +0000 (20:39 +0000)]
2015-07-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
* decl.c (get_proc_name): Make a partially populated interface
symbol to carry the characteristics of a module procedure and
its result.
(variable_decl): Declarations of dummies or results in the
abreviated form of module procedure is an error.
(gfc_match_import): IMPORT is not permitted in the interface
declaration of module procedures.
(match_attr_spec): Submodule variables have implicit save
attribute for F2008 onwards.
(gfc_match_prefix): Add 'module' as the a prefix and set the
module_procedure attribute.
(gfc_match_formal_arglist): For a module procedure keep the
interface formal_arglist from the interface, match new the
formal arguments and then compare the number and names of each.
(gfc_match_procedure): Add case COMP_SUBMODULE.
(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
module_procedure attribute.
(gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
attr abr_modproc_decl is set, switch the message accordingly
for subroutines and functions.
(gfc_match_submod_proc): New function to match the abbreviated
style of submodule declaration.
* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
attribute bits 'used_in_submodule' and 'module_procedure'. Add
the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
'gfc_check_result_characteristics'.
* interface.c : Add the prefix 'gfc_' to the names of functions
'check_dummy(result)_characteristics' and all their references.
* match.h : Add prototype for 'gfc_match_submod_proc' and
'gfc_match_submodule'.
(check_sym_interfaces): A module procedure is not an error in
a module procedure statment in a generic interface.
* module.c (gfc_match_submodule): New function. Add handling
for the 'module_procedure' attribute bit.
(gfc_use_module): Make sure that a submodule cannot use itself.
* parse.c (decode_statement): Set attr has_'import_set' for
the interface declaration of module procedures. Handle a match
occurring in 'gfc_match_submod_proc' and a match for
'submodule'.
(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
(gfc_ascii_statement): Add END SUBMODULE.
(accept_statement): Add ST_SUBMODULE.
(parse_spec): Disallow statement functions in a submodule
specification part.
(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
twice each.
(get_modproc_result): Copy the result symbol of the interface.
(parse_progunit): Call it.
(set_syms_host_assoc): Make symbols from the ancestor module
and submodules use associated, as required by the standard and
set all private components public. Module procedures 'external'
attribute bit is reset and the 'used_in_submodule' bit is set.
(parse_module): If this is a submodule, use the ancestor module
and submodules. Traverse the namespace, calling
'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
* parse.h : Add COMP_SUBMODULE.
* primary.c (match_variable): Add COMP_SUBMODULE.
* resolve.c (compare_fsyms): New function to compare the dummy
characteristics of a module procedure with its interface.
(resolve_fl_procedure): Compare the procedure, result and dummy
characteristics of a module_procedure with its interface, using
'compare_fsyms' for the dummy arguments.
* symbol.c (gfc_add_procedure): Suppress the check for existing
procedures in the case of a module procedure.
(gfc_add_explicit_interface): Skip checks that must fail for
module procedures.
(gfc_add_type): Allow a new type to be added to module
procedures, their results or their dummy arguments.
(gfc_copy_dummy_sym): New function to generate new dummy args
and copy the characteristics from the interface.
* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
must always have their names mangled as if they are symbols
coming from a declaration in a module.
(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
set are set DECL_EXTERNAL as if they were use associated.
2015-07-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
* gfortran.dg/submodule_1.f90: New test
* gfortran.dg/submodule_2.f90: New test
* gfortran.dg/submodule_3.f90: New test
* gfortran.dg/submodule_4.f90: New test
* gfortran.dg/submodule_5.f90: New test
* gfortran.dg/submodule_6.f90: New test
* gfortran.dg/submodule_7.f90: New test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225354
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)]
/libcpp
2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53690
* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
return type to bool. Fix encoding of \u0000 and \U00000000 in C++.
(convert_ucn): Adjust call.
* lex.c (forms_identifier_p): Likewise.
* internal.h (_cpp_valid_ucn): Adjust declaration.
/gcc/testsuite
2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53690
* g++.dg/cpp/pr53690.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225353
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Thu, 2 Jul 2015 18:30:35 +0000 (18:30 +0000)]
[gcc]
2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
definition.
(CMPGE_8HI): Likewise.
(CMPGE_4SI): Likewise.
(CMPGE_2DI): Likewise.
(CMPGE_U16QI): Likewise.
(CMPGE_U8HI): Likewise.
(CMPGE_U4SI): Likewise.
(CMPGE_U2DI): Likewise.
(CMPLE_16QI): Likewise.
(CMPLE_8HI): Likewise.
(CMPLE_4SI): Likewise.
(CMPLE_2DI): Likewise.
(CMPLE_U16QI): Likewise.
(CMPLE_U8HI): Likewise.
(CMPLE_U4SI): Likewise.
(CMPLE_U2DI): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
ALTIVEC_BUILTIN_VEC_CMPLE.
* config/rs6000/vector.md (vector_ge<mode>): Restrict to
floating-point vector modes.
(vector_nlt<mode>): New define_expand.
(vector_nltu<mode>): Likewise.
(vector_ngt<mode>): Likewise.
(vector_ngtu<mode>): Likewise.
[gcc/testsuite]
2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cmp.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225351
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Thu, 2 Jul 2015 17:29:04 +0000 (17:29 +0000)]
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/56520
* match.c (gfc_match_name): Special case unary minus and plus.
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/56520
* gfortran.dg/pr56520.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225349
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Thu, 2 Jul 2015 17:02:10 +0000 (17:02 +0000)]
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66545
* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66545
* gfortran.dg/pr66545_1.f90: New test.
* gfortran.dg/pr66545_2.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225348
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 2 Jul 2015 16:27:11 +0000 (16:27 +0000)]
PR rtl-optimization/66706
* combine.c (make_compound_operation): If an AND of SUBREG of
LSHIFTRT does not simplify, see if just the AND of SUBREG does.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225344
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 2 Jul 2015 12:04:27 +0000 (12:04 +0000)]
Regenerate .pot files.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225313
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 2 Jul 2015 11:47:31 +0000 (11:47 +0000)]
gcc/:
* tree-pass.h (make_pass_ch_vect): New.
* passes.def: Add pass_ch_vect just before pass_if_conversion.
* tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
make_pass_ch_vect): New.
(pass_ch): Extend ch_base.
(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
(ch_base::copy_headers): ...here.
gcc/testsuite/:
* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
* gcc.dg/vect/vect-ifcvt-11.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225311
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 Jul 2015 11:33:16 +0000 (11:33 +0000)]
2015-07-02 Richard Biener <rguenther@suse.de>
* builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
* fold-const.c (get_pointer_modulus_and_residue): Remove.
(fold_binary_loc): Implement (T)ptr & CST in terms of
get_pointer_alignment_1.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
Make sure to build the alignment test on a SSA name without
final alignment info valid only after the prologue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225310
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Thu, 2 Jul 2015 11:25:04 +0000 (11:25 +0000)]
* config/cris/cris.md ("epilogue"): Remove condition.
("prologue"): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225308
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 Jul 2015 08:38:42 +0000 (08:38 +0000)]
2015-07-02 Richard Biener <rguenther@suse.de>
PR testsuite/66719
* gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
unaligned loads.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225303
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 2 Jul 2015 08:30:07 +0000 (08:30 +0000)]
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* configure: Regenerate.
* config.h.in: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225302
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 2 Jul 2015 08:17:20 +0000 (08:17 +0000)]
* testsuite/libgomp.c++/pr66702-1.C: Require
vect_simd_clones effective target.
* testsuite/libgomp.c++/pr66702-2.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225301
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 Jul 2015 07:37:35 +0000 (07:37 +0000)]
2015-07-02 Richard Biener <rguenther@suse.de>
* tree-ssa-dom.c (build_and_record_new_cond): Add optional
parameter to record a condition that is false.
(record_conditions): When recording an extra NE_EXPR that is
true also record a EQ_EXPR that is false.
* gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225299
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 2 Jul 2015 05:58:12 +0000 (05:58 +0000)]
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
to avoid unused variable warning.
(__set_and_release): Use __p after __atomic_store to avoid unused
variable warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225298
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 2 Jul 2015 05:03:34 +0000 (05:03 +0000)]
Add prototype for exit
* gcc.target/i386/mpx/pr66568.c (exit): New prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225296
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Thu, 2 Jul 2015 04:32:05 +0000 (04:32 +0000)]
* tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
(tree_ssa_iv_optimize_init): Initialize iv_obstack.
(alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
(set_iv, find_interesting_uses_address, add_candidate_1): New
argument to alloc_iv.
(find_interesting_uses_op, find_interesting_uses_cond): Don't
duplicate struct iv.
(free_loop_data): Don't free struct iv explicitly.
(tree_ssa_iv_optimize_finalize): Free iv_obstack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225293
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 2 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225286
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 1 Jul 2015 20:18:59 +0000 (20:18 +0000)]
* config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
(LIB_SPEC): Add.
(SUPPORTS_DISCRIMINATOR): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225278
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 1 Jul 2015 19:25:50 +0000 (19:25 +0000)]
gcc/c-family/
* c-common.h (D_CXX11): Rename from D_CXX0X.
(RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
* c-common.c: Adjust.
gcc/cp/
* lex.c (init_reswords): s/CXX0X/CXX11/.
* parser.c (cp_lexer_get_preprocessor_token): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225273
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 1 Jul 2015 18:27:12 +0000 (18:27 +0000)]
gcc/c-family/
* c-opts.c (c_common_post_options): Default to C++14.
gcc/testsuite/
* lib/target-supports.exp (cxx_default): Set to C++14.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225272
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 1 Jul 2015 17:59:25 +0000 (17:59 +0000)]
gcc/c-family/
* c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/cp/
* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
Attribute mangling is now -fabi-version=10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225271
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 1 Jul 2015 17:59:19 +0000 (17:59 +0000)]
PR c++/65945
* decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
* class.c (layout_nonempty_base_or_field): Warn if that affects
the offset of a field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225270
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Wed, 1 Jul 2015 17:42:20 +0000 (17:42 +0000)]
* config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
better match light-weight syscall argument order.
(__kernel_cmpxchg2): Likewise.
Adjust callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225267
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 1 Jul 2015 17:33:01 +0000 (17:33 +0000)]
Use scan-rtl-dump in i386/vararg-loc.c
2015-07-01 Tom de Vries <tom@codesourcery.com>
PR testsuite/66723
* gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
scan-assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225266
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 1 Jul 2015 16:48:30 +0000 (16:48 +0000)]
gcc/
PR bootstrap/66685
* rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
there are no CALLs in the same pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225263
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Wed, 1 Jul 2015 16:43:53 +0000 (16:43 +0000)]
2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* arith.c (gfc_arith_divide): With -Winteger-division,
warn about contant integer division if there is a non-zero
remainder.
* invoke.texi: Document -Winteger-division.
* lang.opt: Add -Winteger-division.
2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/warn_conversion_8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225262
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Wed, 1 Jul 2015 16:10:30 +0000 (16:10 +0000)]
gcc/ChangeLog:
2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/61047
* rtlanal.c (get_initial_register_offset): New function.
(rtx_addr_can_trap_p_1): Check offsets of stack references.
testsuite/ChangeLog:
2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/61047
* gcc.c-torture/execute/
20150611-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225260
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 1 Jul 2015 13:18:49 +0000 (13:18 +0000)]
2015-07-01 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
~X CMP C -> X CMP' ~C to ...
* match.pd: ... patterns here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225249
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 1 Jul 2015 12:50:50 +0000 (12:50 +0000)]
PR jit/66700: set TREE_ADDRESSABLE when building an ADDR_EXPR
gcc/jit/ChangeLog:
PR jit/66700
* jit-playback.c (jit_mark_addressable): New function.
(gcc::jit::playback::lvalue::get_address): Call
jit_mark_addressable on the underlying tree.
gcc/testsuite/ChangeLog:
PR jit/66700
* jit.dg/all-non-failing-tests.h: Add
test-pr66700-observing-write-through-ptr.c.
* jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225248
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 1 Jul 2015 12:41:18 +0000 (12:41 +0000)]
jit: document union types
gcc/jit/ChangeLog:
* docs/topics/types.rst (gcc_jit_context_new_union_type): Add
documentation.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
gcc/testsuite/ChangeLog:
* jit.dg/test-accessing-union.c: Add comments for use by
gcc/jit/docs/topics/types.rst.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225246
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 1 Jul 2015 12:34:24 +0000 (12:34 +0000)]
jit: clarify (lack of) lifetime requirements on input const char *
gcc/jit/ChangeLog:
* docs/topics/contexts.rst (gcc_jit_context_set_bool_option):
Clarify lack of lifetime requirements on (const char *) parameter.
* docs/topics/expressions.rst
(gcc_jit_context_new_string_literal): Likewise.
(gcc_jit_context_new_global): Likewise.
* docs/topics/functions.rst (gcc_jit_context_new_param): Likewise.
(gcc_jit_context_new_function): Likewise.
(gcc_jit_function_new_block): Likewise.
(gcc_jit_block_add_comment): Likewise.
* docs/topics/locations.rst (gcc_jit_context_new_location):
Likewise.
* docs/topics/types.rst (gcc_jit_context_new_field): Likewise.
(gcc_jit_context_new_struct_type): Likewise.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225245
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 1 Jul 2015 12:24:09 +0000 (12:24 +0000)]
* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
(__allocator_traits_base): New base class.
(__alloc_rebind): Reimplement in terms of detection idiom.
(allocator_traits): Derive from __allocator_traits_base. Reimplement
nested types in terms of detection idiom. Simplify SFINAE constraints
on overloaded static member functions.
* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
of __alloctr_rebind.
* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225244
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 1 Jul 2015 12:24:03 +0000 (12:24 +0000)]
* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
__ptrtr_rebind, __ptrtr_not_void): Remove
(__get_first_arg, __replace_first_arg, __make_not_void): Define new
transformations.
(__detected_or_): New detection trait.
(pointer_traits): Use new traits.
* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
* testsuite/20_util/pointer_traits/requirements/
explicit_instantiation.cc: Use valid arguments to pointer_traits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225243
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 1 Jul 2015 12:23:54 +0000 (12:23 +0000)]
Implement N4502, the C++ Detection Idiom.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* include/experimental/type_traits (void_t, is_detected,
is_detected_v, detected_t, detected_or, detected_or_t,
is_detected_exact, is_detected_exact_v, is_detected_convertible,
is_detected_convertible_v): Define.
* include/std/type_traits (__detector, __detected_or, __detected_or_t,
__detected_or_t_): Define.
* testsuite/experimental/type_traits/detection.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225242
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 1 Jul 2015 12:16:01 +0000 (12:16 +0000)]
2015-07-01 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8-sync-comp-swap.c: Replace
'do-require-effective-target' with 'dg-require-effective-target'.
* gcc.target/arm/armv8-sync-op-full.c: Likewise.
* gcc.target/arm/armv8-sync-op-release.c: Likewise.
* gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace
'stlex' with 'strex' as the expected output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225241
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 1 Jul 2015 11:35:48 +0000 (11:35 +0000)]
* config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
a 16-bit value into a 20-bit memory slot.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225240
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 1 Jul 2015 09:08:17 +0000 (09:08 +0000)]
/cp
2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60365
* parser.c (cp_parser_check_std_attribute): New.
(cp_parser_std_attribute_list): Call it.
/testsuite
2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60365
* g++.dg/cpp0x/gen-attrs-60.C: New.
* g++.dg/cpp1y/attr-deprecated-2.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225234
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 1 Jul 2015 09:01:47 +0000 (09:01 +0000)]
[AArch64] Document several AArch64-specific test directives
2015-07-01 Jiong Wang <jiong.wang@arm.com>
* doc/sourcebuild.texi (AArch64-specific attributes): Document
"aarch64_tiny", "aarch64_small", "aarch64_large",
"aarch64_little_endian", "aarch64_big_endian".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225233
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 1 Jul 2015 08:51:49 +0000 (08:51 +0000)]
[AArch64] Restrict pic-small.c by new test directive
2015-07-01 Jiong Wang <jiong.wang@arm.com>
gcc/
* doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
Document "aarch64_small_fpic".
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_aarch64_small_fpic): New function.
* gcc.target/aarch64/pic-small.c: Restrict this test under
check_effective_target_aarch64_small_fpic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225232
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 1 Jul 2015 08:45:08 +0000 (08:45 +0000)]
[AArch64] Fall back to -fPIC if no support of -fpic in binutils
2015-07-01 Jiong Wang <jiong.wang@arm.com>
* configure.ac: Add check for aarch64 assembler -fpic relocation
modifier support.
* configure: Regenerate.
* config.in: Regenerate.
* config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
to -fPIC if not support of -fpic relocation modifier in assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225231
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 1 Jul 2015 08:41:33 +0000 (08:41 +0000)]
gcc/
PR bootstrap/66685
* rtl.c (classify_insn): Handle returns in PARALLELs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225230
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 1 Jul 2015 08:21:40 +0000 (08:21 +0000)]
PR middle-end/66633
* tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
to true if the function is nested and if not optimizing.
(convert_local_omp_clauses): Initialize need_frame to true if the
function contains nested functions and if not optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225227
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 1 Jul 2015 07:42:10 +0000 (07:42 +0000)]
2015-07-01 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
(X & Y) ^ Y -> ~X & Y transforms to ...
* match.pd: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225225
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 1 Jul 2015 07:39:55 +0000 (07:39 +0000)]
Fix latest entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225224
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 1 Jul 2015 07:36:25 +0000 (07:36 +0000)]
2015-07-01 Richard Biener <rguenther@suse.de>
* genmatch.c (expr::gen_transform): Shortcut re-simplifying
of converts to avoid uninteresting noise from the conversion
simplifying patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225223
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 1 Jul 2015 06:43:18 +0000 (06:43 +0000)]
* gcc.target/i386/pr66691.c: Update PR number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225222
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Wed, 1 Jul 2015 02:15:32 +0000 (02:15 +0000)]
2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/c6x/c6x.c (try_rename_operands): Do not depend on
gcc_assert evaluating its argument for side-effect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225221
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Wed, 1 Jul 2015 01:07:35 +0000 (01:07 +0000)]
Fix PR c++/66686 (dependent template template substitution)
gcc/cp/ChangeLog:
PR c++/66686
* pt.c (coerce_template_template_parm) [PARM_DECL]: Don't
return 0 if tsubst returns a dependent type.
gcc/testsuite/ChangeLog:
PR c++/66686
* g++.dg/template/pr66686.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225220
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Wed, 1 Jul 2015 01:02:48 +0000 (01:02 +0000)]
PR target/64833
* [SH] Set length of casesi_worker_1 insn to 8 when flag_pic is set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225219
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 1 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225218
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Jun 2015 21:05:02 +0000 (21:05 +0000)]
* lto-streamer-out.c (class DFS): Adjust hash_scc method.
(DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
(hash_scc): Add this_ref_p and ref_p parameters and pass them
to the inner DFS walk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225212
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Jun 2015 20:57:21 +0000 (20:57 +0000)]
gcc/
* target-insns.def (jump): New targetm instruction pattern.
* bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
instead of gen_jump.
(fix_up_crossing_landing_pad): Likewise.
(add_labels_and_missing_jumps): Likewise.
(fix_crossing_conditional_branches): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
(force_nonfallthru_and_redirect): Likewise.
* cse.c (cse_insn): Likewise.
* expmed.c (expand_divmod): Likewise.
* expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
* haifa-sched.c (init_before_recovery): Likewise.
(sched_create_recovery_edges): Likewise.
* ifcvt.c (find_cond_trap): Likewise.
* optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
(expand_float, expand_fix): Likewise.
* stmt.c (emit_jump): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225211
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Jun 2015 20:56:43 +0000 (20:56 +0000)]
gcc/
* defaults.h (HAVE_load_multiple, gen_load_multiple)
(HAVE_store_multiple, gen_store_multiple): Delete.
* target-insns.def (load_multiple, store_multiple): New targetm
instruction patterns.
* expr.c (move_block_to_reg, move_block_from_reg): Use them instead
of HAVE_*/gen_* interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225210
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Jun 2015 20:56:14 +0000 (20:56 +0000)]
gcc/
* defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
(HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
(gen_mem_signal_fence): Delete.
* target-insns.def (mem_signal_fence, mem_thread_fence)
(memory_barrier): New targetm instruction patterns.
* optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
interface.
(expand_mem_signal_fence): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225209
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Jun 2015 20:55:13 +0000 (20:55 +0000)]
gcc/
* defaults.h (HAVE_epilogue, gen_epilogue): Delete.
* target-insns.def (epilogue, prologue, sibcall_prologue): New
targetm instruction patterns.
* alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
interface.
* calls.c (expand_call): Likewise.
* cfgrtl.c (cfg_layout_finalize): Likewise.
* df-scan.c (df_get_entry_block_def_set): Likewise.
(df_get_exit_block_use_set): Likewise.
* dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
* final.c (final_start_function): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
(reposition_prologue_and_epilogue_notes): Likewise.
* reorg.c (find_end_label): Likewise.
* toplev.c (process_options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225208
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 30 Jun 2015 20:39:50 +0000 (20:39 +0000)]
jit: add switch statements
gcc/ChangeLog:
* typed-splay-tree.h: New file.
gcc/jit/ChangeLog:
* docs/cp/topics/functions.rst (Blocks): Add switch statements to
list of ways to terminate a block.
(gccjit::block::end_with_switch): Add function description.
(gccjit::case_): Add class.
(gccjit::context::new_case): Add function description.
* docs/cp/topics/objects.rst: Add "case_" to class hierarchy.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_3): New.
* docs/topics/functions.rst (Blocks): Add switch statements to
list of ways to terminate a block.
(gcc_jit_block_end_with_switch): Add function description.
(gcc_jit_case): Add type.
(gcc_jit_context_new_case): Add function description.
(gcc_jit_case_as_object): Add function description.
* docs/topics/objects.rst: Add gcc_jit_case to class hierarchy.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-common.h (gcc::jit::recording::case_): Add forward decl.
(gcc::jit::playback::case_): Add forward decl.
* jit-playback.c (add_case): New function.
(gcc::jit::playback::block::add_switch): New function.
* jit-playback.h (gcc::jit::playback::case_): New struct.
(gcc::jit::playback::block::get_function): New method.
(gcc::jit::playback::block::add_switch): New method.
* jit-recording.c: Within namespace gcc::jit...
(recording::context::new_case): New method.
(recording::function::validate): Update for change to
get_successor_blocks.
(recording::block::end_with_switch): New method.
(recording::block::get_successor_blocks): Update to support an
arbitrary number of successor blocks.
(recording::block::dump_edges_to_dot): Likewise.
(memento_of_new_rvalue_from_const <int>::get_wide_int): New.
(memento_of_new_rvalue_from_const <long>::get_wide_int): New.
(memento_of_new_rvalue_from_const <double>::get_wide_int): New.
(memento_of_new_rvalue_from_const <void *>::get_wide_int): New.
(recording::statement::get_successor_blocks): Update to support an
arbitrary number of successor blocks.
(recording::conditional::get_successor_blocks): Likewise.
(recording::jump::get_successor_blocks): Likewise.
(recording::return_::get_successor_blocks): Likewise.
(recording::case_::write_reproducer): New.
(recording::case_::make_debug_string): New.
(recording::switch_::switch_): New.
(recording::switch_::replay_into): New.
(recording::switch_::get_successor_blocks): New.
(recording::switch_::make_debug_string): New.
(recording::switch_::write_reproducer): New.
* jit-recording.h: Within namespace gcc::jit::recording...
(context::new_case): New.
(rvalue::is_constant): New.
(rvalue::get_wide_int): New.
(block::end_with_switch): New.
(block::get_successor_blocks): Update to support an arbitrary
number of successor blocks.
(memento_of_new_rvalue_from_const::is_constant): New.
(memento_of_new_rvalue_from_const::get_wide_int): New.
(statement::get_successor_blocks): Update to support an arbitrary
number of successor blocks.
(conditional::get_successor_blocks): Likewise.
(jump::get_successor_blocks): Likewise.
(return_::get_successor_blocks): Likewise.
(case_): New subclass of memento.
(switch_): New subclass of statement.
* libgccjit++.h (gccjit::case_): New subclass of gccjit::object.
(gccjit::context::new_case): New method.
(gccjit::block::end_with_switch): New method.
(gccjit::case_::case): New ctors.
(gccjit::case_::get_inner_case): New method.
* libgccjit.c: Include "typed-splay-tree.h"
(struct gcc_jit_case): New.
(gcc_jit_context_new_case): New function.
(gcc_jit_case_as_object): New function.
(valid_dest_for_switch): New function.
(valid_case_for_switch): New function.
(class api_call_validator): New class.
(class case_range_validator): New class.
(case_range_validator::case_range_validator): New.
(case_range_validator::validate): New.
(case_range_validator::case_compare): New.
(case_range_validator::get_wide_int): new.
(gcc_jit_block_end_with_switch): New.
* libgccjit.h: Add gcc_jit_case to class hierarchy comment.
(gcc_jit_case): New typedef.
(gcc_jit_context_new_case): New function.
(gcc_jit_case_as_object): New function.
(gcc_jit_block_end_with_switch): New function.
(LIBGCCJIT_HAVE_SWITCH_STATEMENTS): New.
* libgccjit.map: Add gcc_jit_block_end_with_switch,
gcc_jit_case_as_object and gcc_jit_context_new_case.
gcc/testsuite/ChangeLog:
* jit.dg/all-non-failing-tests.h: Add test-switch.c.
* jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New
testcase.
* jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c:
New testcase.
* jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c:
New testcase.
* jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c:
New testcase.
* jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c:
New testcase.
* jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c:
New testcase.
* jit.dg/test-switch.c: New testcase.
* jit.dg/test-switch.cc: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225207
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 30 Jun 2015 19:38:12 +0000 (19:38 +0000)]
PR jit/66546: Add gcc_jit_context_set_bool_allow_unreachable_blocks
gcc/jit/ChangeLog:
PR jit/66546
* docs/cp/topics/contexts.rst
(gccjit::context::set_bool_allow_unreachable_blocks): New.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_2): New.
* docs/topics/contexts.rst (Options): Add notes discussing the
transition from enums to entrypoints for new options.
(gcc_jit_context_set_bool_allow_unreachable_blocks): New.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-common.h (gcc::jit::inner_bool_option): New enum.
* jit-recording.c: Within namespace gcc::jit...
(recording::context::context): Handle m_inner_bool_options.
(recording::context::set_inner_bool_option): New.
(inner_bool_option_reproducer_strings): New.
(recording::context::log_all_options): Log the "inner" bool
options.
(recording::context::log_inner_bool_option): New.
(recording::context::dump_reproducer_to_file): Write initializers
for "inner" bool options.
(recording::function::validate): Don't check for block
reachability if INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS is set.
* jit-recording.h: Within namespace gcc::jit...
(recording::context::set_inner_bool_option): New.
(recording::context::get_inner_bool_option): New.
(recording::context::log_inner_bool_option): New.
(recording::context::m_inner_bool_options): New.
* libgccjit++.h
(gccjit::context::set_bool_allow_unreachable_blocks): New.
* libgccjit.c
(gcc_jit_context_set_bool_allow_unreachable_blocks): New.
* libgccjit.h: Add note about options present in the
initial release of libgccjit.
(gcc_jit_context_set_bool_allow_unreachable_blocks): New API
entrypoint.
(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_allow_unreachable_blocks):
New macro.
* libgccjit.map (LIBGCCJIT_ABI_2): New, containing...
(gcc_jit_context_set_bool_allow_unreachable_blocks): ...this new
entrypoint.
gcc/testsuite/ChangeLog:
PR jit/66546
* jit.dg/all-non-failing-tests.h: Add note about
test-validly-unreachable-block.c.
* jit.dg/test-validly-unreachable-block.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225206
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 30 Jun 2015 19:27:19 +0000 (19:27 +0000)]
PR jit/66628: add gcc_jit_context_add_command_line_option
gcc/jit/ChangeLog:
PR jit/66628
* docs/cp/topics/contexts.rst (Additional command-line options):
New section.
* docs/topics/compatibility.rst: New file.
* docs/topics/contexts.rst (Additional command-line options): New
section.
* docs/topics/index.rst: Add compatibility.rst.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c (make_fake_args): Add call to
append_command_line_options.
* jit-recording.c: Within namespace gcc::jit...
(recording::context::~context): Free the optnames within
m_command_line_options.
(recording::context::set_bool_option): Likewise.
(recording::context::add_command_line_option): New method.
(recording::context::append_command_line_options): New method.
(recording::context::dump_reproducer_to_file): Add command-line
options.
* jit-recording.h: Within namespace gcc::jit...
(recording::context::add_command_line_option): New method.
(recording::context::append_command_line_options): New method.
(recording::context::m_command_line_options): New field.
* libgccjit++.h (gccjit::context::add_command_line_option): New
method.
* libgccjit.c (gcc_jit_context_add_command_line_option): New API
entrypoint.
* libgccjit.h (gcc_jit_context_add_command_line_option): New API
entrypoint.
(LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option): New
macro.
* libgccjit.map: Put existing symbols within LIBGCCJIT_ABI_0; add
LIBGCCJIT_ABI_1 and gcc_jit_context_add_command_line_option.
gcc/testsuite/ChangeLog:
PR jit/66628
* jit.dg/all-non-failing-tests.h: Add note about
test-extra-options.c.
* jit.dg/test-extra-options.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225205
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 30 Jun 2015 19:18:34 +0000 (19:18 +0000)]
fixes to gcc_jit_context_dump_reproducer_to_file
gcc/jit/ChangeLog:
* jit-recording.c
(gcc::jit::recording::context::dump_reproducer_to_file):
Add pragma to generated reproducers to disable -Wunused-variable.
Fix handling of NULL string options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225204
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 30 Jun 2015 19:09:31 +0000 (19:09 +0000)]
jit: fix some .rst issues in docs
gcc/jit/ChangeLog:
* docs/cp/topics/expressions.rst: Remove stray semicolon.
* docs/cp/topics/functions.rst: Remove stray backslash.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225203
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 30 Jun 2015 17:44:00 +0000 (17:44 +0000)]
Add missed test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225201
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 30 Jun 2015 17:40:55 +0000 (17:40 +0000)]
2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
PR debug/66691
* lra-int.h (lra_substitute_pseudo): Add a parameter.
(lra_substitute_pseudo_within_insn): Ditto.
* lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
of constant.
(lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
to lra_substitute_pseudo.
* lra-lives.c (process_bb_lives): Add an argument to
lra_substitute_pseudo_within_insn call.
* lra-constraints.c (inherit_reload_reg, split_reg): Add an
argument to lra_substitute_pseudo and
lra_substitute_pseudo_within_insn calls.
(remove_inheritance_pseudos, undo_optional_reloads): Ditto.
2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
PR debug/66691
* gcc.target/i386/pr66691.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225200
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Jun 2015 16:46:45 +0000 (16:46 +0000)]
IA MCU psABI support: testsuite
We run Intel MCU psABI tests on Linux/ia32 with -miamcu. Since Intel
MCU psABI has a different calling convention, the only Linux libc function
allowed is "abort".
asm-support.S contains some support functions as well as a subset of
soft-fp, which is written in assembly with x87 instructions, to provide
intrinsics needed by -miamcu so that Intel MCU psABI tests can run on
Linux.
* gcc.target/i386/iamcu/abi-iamcu.exp: New file.
* gcc.target/i386/iamcu/args.h: Likewise.
* gcc.target/i386/iamcu/asm-support.S: Likewise.
* gcc.target/i386/iamcu/defines.h: Likewise.
* gcc.target/i386/iamcu/macros.h: Likewise.
* gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
* gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
* gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
* gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
* gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
* gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
* gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
* gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
* gcc.target/i386/iamcu/test_bitfields.c: Likewise.
* gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
* gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
* gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
* gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
* gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
* gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
* gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
* gcc.target/i386/iamcu/test_varargs.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225199
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Jun 2015 16:42:07 +0000 (16:42 +0000)]
IA MCU psABI support: changes to libraries
Patch in the bottom adds support of IA MCU psABI to libgcc (enables
soft-fp) and libdecnumber (enables it for IA MCU).
config/
* dfp.m4 (enable_decimal_float): Also set to yes for
i?86*-*-elfiamcu target.
gcc/
* configure: Regenerated.
libdecnumber/
* configure: Regenerated.
libgcc/
* config.host: Support i[34567]86-*-elfiamcu target.
* config/t-softfp-sfdftf: New file.
* config/i386/32/t-iamcu: Likewise.
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225198
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Jun 2015 16:40:19 +0000 (16:40 +0000)]
IA MCU psABI support: GCC changes
This patch introduces basic IA MCU psABI support into GCC.
* configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu
target.
* configure: Regenerate.
gcc/
* config.gcc: Support i[34567]86-*-elfiamcu target.
* config/i386/iamcu.h: New.
* config/i386/i386.opt: Add -miamcu.
* doc/invoke.texi: Document -miamcu.
* common/config/i386/i386-common.c (ix86_handle_option): Turn
off x87/MMX/SSE/AVX codegen for -miamcu.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__iamcu/__iamcu__ for -miamcu.
* config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
(BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
* config/i386/i386.c (ix86_option_override_internal): Ignore and
warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
MCU by default. Default long double to 64-bit for Intel MCU.
Turn on -freg-struct-return for Intel MCU. Issue an error when
-miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
AVX is turned on.
(function_arg_advance_32): Pass value whose size is no larger
than 8 bytes in registers for Intel MCU.
(function_arg_32): Likewise.
(ix86_return_in_memory): Return value whose size is no larger
than 8 bytes in registers for Intel MCU.
(iamcu_alignment): New function.
(ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
true.
(ix86_local_alignment): Don't increase alignment for Intel MCU.
(x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225197
138bc75d-0d04-0410-961f-
82ee72b054a4