platform/upstream/linaro-gcc.git
9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years ago2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
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

9 years agoDaily bump.
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

9 years ago2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
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

9 years ago2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
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

9 years ago PR target/66114
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

9 years ago2015-07-04 Marc Glisse <marc.glisse@inria.fr>
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

9 years agoDaily bump.
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

9 years ago2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
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

9 years ago2015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
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

9 years ago[Patch docs obvious AArch64] Fix position of -moverride documentation
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

9 years ago * gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
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

9 years ago PR rtl-optimization/66706
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

9 years ago * doc/xml/manual/status_cxx2017.xml: Update status table.
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

9 years ago2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
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

9 years ago2015-07-03 Richard Biener <rguenther@suse.de>
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

9 years agoAdd the missing file
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

9 years agoAdd IA MCU support to x86intrin.h
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

9 years ago2015-07-03 Richard Biener <rguenther@suse.de>
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

9 years ago2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
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

9 years ago2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
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

9 years ago[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
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

9 years ago2015-07-03 Richard Biener <rguenther@suse.de>
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

9 years ago PR target/37072
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

9 years ago PR c++/66743
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

9 years agoDaily bump.
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

9 years ago * pt.c (type_dependent_expression_p): Handle expressions
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

9 years ago * trans-common.c: Include <map> after system.h.
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

9 years ago * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
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

9 years ago2015-07-02 Paul Thomas <pault@gcc.gnu.org>
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

9 years ago/libcpp
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

9 years ago[gcc]
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

9 years ago2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
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

9 years ago2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
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

9 years ago PR rtl-optimization/66706
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

9 years agoRegenerate .pot files.
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

9 years agogcc/:
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

9 years ago2015-07-02 Richard Biener <rguenther@suse.de>
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

9 years ago * config/cris/cris.md ("epilogue"): Remove condition.
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

9 years ago2015-07-02 Richard Biener <rguenther@suse.de>
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

9 years ago * configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
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

9 years ago * testsuite/libgomp.c++/pr66702-1.C: Require
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

9 years ago2015-07-02 Richard Biener <rguenther@suse.de>
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

9 years ago * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
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

9 years agoAdd prototype for exit
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

9 years ago * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
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

9 years agoDaily bump.
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

9 years ago* config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
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

9 years agogcc/c-family/
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

9 years agogcc/c-family/
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

9 years agogcc/c-family/
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

9 years ago PR c++/65945
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

9 years ago * config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
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

9 years agoUse scan-rtl-dump in i386/vararg-loc.c
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

9 years agogcc/
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

9 years ago2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
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

9 years agogcc/ChangeLog:
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

9 years ago2015-07-01 Richard Biener <rguenther@suse.de>
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

9 years agoPR jit/66700: set TREE_ADDRESSABLE when building an ADDR_EXPR
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

9 years agojit: document union types
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

9 years agojit: clarify (lack of) lifetime requirements on input const char *
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

9 years ago * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
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

9 years ago * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
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

9 years agoImplement N4502, the C++ Detection Idiom.
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

9 years ago2015-07-01 Matthew Wahab <matthew.wahab@arm.com>
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

9 years ago * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
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

9 years ago/cp
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

9 years ago[AArch64] Document several AArch64-specific test directives
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

9 years ago[AArch64] Restrict pic-small.c by new test directive
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

9 years ago[AArch64] Fall back to -fPIC if no support of -fpic in binutils
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

9 years agogcc/
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

9 years ago PR middle-end/66633
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

9 years ago2015-07-01 Richard Biener <rguenther@suse.de>
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

9 years agoFix latest entry
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

9 years ago2015-07-01 Richard Biener <rguenther@suse.de>
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

9 years ago * gcc.target/i386/pr66691.c: Update PR number.
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

9 years ago2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
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

9 years agoFix PR c++/66686 (dependent template template substitution)
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

9 years agoPR target/64833
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

9 years agoDaily bump.
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

9 years ago * lto-streamer-out.c (class DFS): Adjust hash_scc method.
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

9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years agogcc/
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

9 years agojit: add switch statements
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

9 years agoPR jit/66546: Add gcc_jit_context_set_bool_allow_unreachable_blocks
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

9 years agoPR jit/66628: add gcc_jit_context_add_command_line_option
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

9 years agofixes to gcc_jit_context_dump_reproducer_to_file
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

9 years agojit: fix some .rst issues in docs
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

9 years agoAdd missed test
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

9 years ago2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
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

9 years agoIA MCU psABI support: testsuite
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

9 years agoIA MCU psABI support: changes to libraries
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

9 years agoIA MCU psABI support: GCC changes
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