gcc.git
9 years agoTestsuite untyped assembly fixes for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:22 +0000 (16:30 +0000)]
Testsuite untyped assembly fixes for ptx.

* lib/target-supports.exp
(check_effective_target_untyped_assembly): New function.
* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
* gcc.c-torture/compile/920917-1.c: Likewise.
* gcc.c-torture/compile/930120-1.c: Likewise.
* gcc.c-torture/compile/930411-1.c: Likewise.
* gcc.c-torture/compile/930529-1.c: Likewise.
* gcc.c-torture/compile/930623-1.c: Likewise.
* gcc.c-torture/compile/950329-1.c: Likewise.
* gcc.c-torture/compile/calls.c: Likewise.
* gcc.c-torture/compile/pr37258.c: Likewise.
* gcc.c-torture/compile/pr37327.c: Likewise.
* gcc.c-torture/compile/pr38360.c: Likewise.
* gcc.c-torture/compile/pr43635.c: Likewise.
* gcc.c-torture/compile/pr47428.c: Likewise.
* gcc.c-torture/compile/pr47967.c: Likewise.
* gcc.c-torture/compile/pr49145.c: Likewise.
* gcc.c-torture/compile/pr51694.c: Likewise.
* gcc.c-torture/compile/pr53411.c: Likewise.
* gcc.c-torture/execute/20001101.c: Likewise.
* gcc.c-torture/execute/20051012-1.c: Likewise.
* gcc.c-torture/execute/920501-1.c: Likewise.
* gcc.c-torture/execute/921202-1.c: Likewise.
* gcc.c-torture/execute/921208-2.c: Likewise.
* gcc.c-torture/execute/call-trap-1.c: Likewise.
* gcc.c-torture/compile/20010525-1.c: Likewise.
* gcc.c-torture/compile/20021015-2.c: Likewise.
* gcc.c-torture/compile/20031023-1.c: Likewise.
* gcc.c-torture/compile/20031023-2.c: Likewise.
* gcc.c-torture/compile/pr49206.c: Likewise.
* gcc.c-torture/execute/pr47237.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
* gcc.dg/builtin-apply1.c: Likewise.
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/builtin-apply3.c: Likewise.
* gcc.dg/builtin-apply4.c: Likewise.
* gcc.dg/pr38338.c: Likewise.
* gcc.dg/torture/pr41993.c: Likewise.
* gcc.c-torture/compile/386.c: Likewise.
* gcc.c-torture/compile/cmpsi386.c: Likewise.
* gcc.c-torture/compile/consec.c: Likewise.
* gcc.c-torture/compile/ex.c: Likewise.
* gcc.c-torture/compile/pass.c: Likewise.
* gcc.c-torture/compile/scal.c: Likewise.
* gcc.c-torture/compile/uuarg.c: Likewise.
* gcc.c-torture/compile/conv_tst.c: Likewise.

From-SVN: r217297

9 years agoTestsuite alloca fixes for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:09 +0000 (16:30 +0000)]
Testsuite alloca fixes for ptx.

* lib/target-supports.exp (check_effective_target_alloca): New function.
* gcc.c-torture/execute/20010209-1.c: Require alloca.
* gcc.c-torture/execute/20020314-1.c: Likewise.
* gcc.c-torture/execute/20020412-1.c: Likewise.
* gcc.c-torture/execute/20021113-1.c: Likewise.
* gcc.c-torture/execute/20040223-1.c: Likewise.
* gcc.c-torture/execute/20040308-1.c: Likewise.
* gcc.c-torture/execute/20040811-1.c: Likewise.
* gcc.c-torture/execute/20070824-1.c: Likewise.
* gcc.c-torture/execute/20070919-1.c: Likewise.
* gcc.c-torture/execute/built-in-setjmp.c: Likewise.
* gcc.c-torture/execute/pr22061-1.c: Likewise.
* gcc.c-torture/execute/pr22061-4.c: Likewise.
* gcc.c-torture/execute/pr43220.c: Likewise.
* gcc.c-torture/execute/vla-dealloc-1.c: Likewise.
* gcc.dg/torture/stackalign/alloca-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-2.c: Likewise.
* gcc.c-torture/compile/20000923-1.c: Likewise.
* gcc.c-torture/compile/20030224-1.c: Likewise.
* gcc.c-torture/compile/20071108-1.c: Likewise.
* gcc.c-torture/compile/20071117-1.c: Likewise.
* gcc.c-torture/compile/900313-1.c: Likewise.
* gcc.c-torture/compile/pr17397.c: Likewise.
* gcc.c-torture/compile/pr35006.c: Likewise.
* gcc.c-torture/compile/pr42956.c: Likewise.
* gcc.c-torture/compile/pr51354.c: Likewise.
* gcc.c-torture/compile/pr55851.c: Likewise.
* gcc.c-torture/compile/vla-const-1.c: Likewise.
* gcc.c-torture/compile/vla-const-2.c: Likewise.
* gcc.c-torture/compile/pr31507-1.c: Likewise.
* gcc.c-torture/compile/pr52714.c: Likewise.
* gcc.dg/20001012-2.c: Likewise.
* gcc.dg/auto-type-1.c: Likewise.
* gcc.dg/builtin-object-size-1.c: Likewise.
* gcc.dg/builtin-object-size-2.c: Likewise.
* gcc.dg/builtin-object-size-3.c: Likewise.
* gcc.dg/builtin-object-size-4.c: Likewise.
* gcc.dg/packed-vla.c: Likewise.
* gcc.c-torture/compile/parms.c: Likewise.
* gcc.c-torture/execute/920721-2.c: Skip -O0 unless alloca is available.
* gcc.c-torture/execute/920929-1.c: Likewise.
* gcc.c-torture/execute/921017-1.c: Likewise.
* gcc.c-torture/execute/941202-1.c: Likewise.
* gcc.c-torture/execute/align-nest.c: Likewise.
* gcc.c-torture/execute/alloca-1.c: Likewise.
* gcc.c-torture/execute/pr36321.c: Likewise.
* gcc.c-torture/compile/20001221-1.c: Likewise.
* gcc.c-torture/compile/20020807-1.c: Likewise.
* gcc.c-torture/compile/20050801-2.c: Likewise.
* gcc.c-torture/compile/920428-4.c: Likewise.
* gcc.c-torture/compile/debugvlafunction-1.c.c: Likewise.
* gcc.c-torture/compile/pr41469.c: Likewise.
* gcc.dg/torture/pr48953.c: Likewise.
* gcc.dg/torture/pr8081.c: Likewise.
* gcc.dg/torture/stackalign/inline-1.c: Skip if nvptx-*-*.
* gcc.dg/torture/stackalign/inline-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/nested-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-3.c: Likewise.
* gcc.dg/torture/stackalign/nested-4.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/global-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
* gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
* gcc.dg/torture/stackalign/struct-1.c: Likewise.

From-SVN: r217296

9 years agoAdd the nvptx port.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:42 +0000 (16:12 +0000)]
Add the nvptx port.

* configure.ac: Handle nvptx-*-*.
* configure: Regenerate.

gcc/
* config/nvptx/nvptx.c: New file.
* config/nvptx/nvptx.h: New file.
* config/nvptx/nvptx-protos.h: New file.
* config/nvptx/nvptx.md: New file.
* config/nvptx/t-nvptx: New file.
* config/nvptx/nvptx.opt: New file.
* common/config/nvptx/nvptx-common.c: New file.
* config.gcc: Handle nvptx-*-*.

libgcc/
* config.host: Handle nvptx-*-*.
* shared-object.mk (as-flags-$o): Define.
($(base)$(objext), $(base)_s$(objext)): Use it instead of
-xassembler-with-cpp.
* static-object.mk: Identical changes.
* config/nvptx/t-nvptx: New file.
* config/nvptx/crt0.s: New file.
* config/nvptx/free.asm: New file.
* config/nvptx/malloc.asm: New file.
* config/nvptx/realloc.c: New file.

From-SVN: r217295

9 years agoMake thread_prologue_and_epilogue_insns callable from backends.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:30 +0000 (16:12 +0000)]
Make thread_prologue_and_epilogue_insns callable from backends.

* function.c (thread_prologue_and_epilogue_insns): No longer static.
* function.h (thread_prologue_and_epilogue_insns): Declare.

From-SVN: r217294

9 years agoAdd a target hook for assembling undeclared decls.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:21 +0000 (16:12 +0000)]
Add a target hook for assembling undeclared decls.

* target.def (assemble_undefined_decl): New hooks.
* hooks.c (hook_void_FILEptr_constcharptr_const_tree): New function.
* hooks.h (hook_void_FILEptr_constcharptr_const_tree): Declare.
* doc/tm.texi.in (TARGET_ASM_ASSEMBLE_UNDEFINED_DECL): Add.
* doc/tm.texi: Regenerate.
* output.h (assemble_undefined_decl): Declare.
(get_fnname_from_decl): Declare.
* varasm.c (assemble_undefined_decl): New function.
(get_fnname_from_decl): New function.
* final.c (rest_of_handle_final): Use it.
* varpool.c (varpool_output_variables): Call assemble_undefined_decl
for nodes without a definition.

From-SVN: r217293

9 years agocpplib.h (cpp_callbacks): Add has_attribute.
Edward Smith-Rowland [Mon, 10 Nov 2014 15:53:12 +0000 (15:53 +0000)]
cpplib.h (cpp_callbacks): Add has_attribute.

libcpp:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/cpplib.h (cpp_callbacks): Add has_attribute.
* internal.h (lexer_state): Add in__has_attribute__.
* directives.c (lex_macro_node): Prevent use of __has_attribute__
as a macro.
* expr.c (parse_has_attribute): New function; (eval_token): Look for
__has_attribute__ and route to parse_has_attribute.
* identifiers.c (_cpp_init_hashtable): Initialize n__has_attribute__.
* pch.c (cpp_read_state): Initialize n__has_attribute__.
* traditional.c (enum ls): Add ls_has_attribute, ls_has_attribute_close;
(_cpp_scan_out_logical_line): Attend to __has_attribute__.

gcc/c-family:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
(__cpp_rtti, __cpp_exceptions): New macros for C++98;
(__cpp_range_based_for, __cpp_initializer_lists,
__cpp_delegating_constructors, __cpp_nsdmi,
__cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
for C++11; (__cpp_attribute_deprecated): Remove in favor of
__has_cpp_attribute.
* c-lex.c (cb_has_attribute): New callback CPP function;
(init_c_lex): Set has_attribute callback.

gcc/testsuite:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* g++.dg/cpp1y/feat-cxx11.C: Test new feature macros for C++98
and C++11; Test existence of __has_cpp_attribute;  Test C++11
attributes.
* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto.
* g++.dg/cpp1y/feat-cxx14.C: Ditto and test for C++14 attributes.
* g++.dg/cpp1y/feat-cxx98.C: Test new feature macros for C++98.
* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
* g++.dg/cpp1y/feat-neg.C: Test that __cpp_rtti, _cpp_exceptions
will be undefined for -fno-rtti -fno-exceptions.

From-SVN: r217292

9 years agotree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free...
Richard Biener [Mon, 10 Nov 2014 15:46:23 +0000 (15:46 +0000)]
tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list.

2014-11-10  Richard Biener  <rguenther@suse.de>

* tree-ssa-operands.c (finalize_ssa_uses): Properly put
released operands on the free list.

From-SVN: r217291

9 years agomatch.pd: Implement pattern from simplify_mult.
Richard Biener [Mon, 10 Nov 2014 15:45:55 +0000 (15:45 +0000)]
match.pd: Implement pattern from simplify_mult.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Implement pattern from simplify_mult.
* tree-ssa-forwprop.c (simplify_mult): Remove.
(pass_forwprop::execute): Do not call simplify_mult.

From-SVN: r217290

9 years agore PR tree-optimization/63800 (ICE on valid code at -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 10 Nov 2014 14:31:31 +0000 (14:31 +0000)]
re PR tree-optimization/63800 (ICE on valid code at -O3 on x86_64-linux-gnu)

2014-11-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63800
* tree-ssa-pre.c (eliminate_push_avail): Push in a way so
we can restore the previous availability in after_dom_children.
(eliminate_dom_walker::after_dom_children): Restore
previous availability.

* gcc.dg/torture/pr63800.c: New testcase.

From-SVN: r217288

9 years agore PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c scan-assembler...
Richard Biener [Mon, 10 Nov 2014 14:06:56 +0000 (14:06 +0000)]
re PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c scan-assembler-not f(add|sub|mul|neg))

2014-11-10  Richard Biener  <rguenther@suse.de>

PR middle-end/63798
* expr.c (expand_expr_real_2): When expanding FMA_EXPRs
properly treat the embedded multiplication as commutative
when looking for feeding negates.

From-SVN: r217287

9 years ago* config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define.
Joern Rennecke [Mon, 10 Nov 2014 13:06:22 +0000 (13:06 +0000)]
* config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define.

From-SVN: r217286

9 years agoICF is disabled for the test because of default char signedness on powerpc64 target.
Martin Liska [Mon, 10 Nov 2014 12:21:50 +0000 (13:21 +0100)]
ICF is disabled for the test because of default char signedness on powerpc64 target.

From-SVN: r217285

9 years agomatch.pd: Implement pattern from simplify_conversion_from_bitmask.
Richard Biener [Mon, 10 Nov 2014 11:47:53 +0000 (11:47 +0000)]
match.pd: Implement pattern from simplify_conversion_from_bitmask.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Implement pattern from simplify_conversion_from_bitmask.
* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): Remove.
(pass_forwprop::execute): Do not call simplify_conversion_from_bitmask.

From-SVN: r217284

9 years agoalign-7.c: Skip for -flto -fno-fat-lto-objects.
Marek Polacek [Mon, 10 Nov 2014 10:07:34 +0000 (10:07 +0000)]
align-7.c: Skip for -flto -fno-fat-lto-objects.

* c-c++-common/ubsan/align-7.c: Skip for -flto -fno-fat-lto-objects.
* c-c++-common/ubsan/align-8.c: Likewise.
* g++.dg/ubsan/null-4.C: Likewise.
* g++.dg/ubsan/null-5.C: Likewise.

From-SVN: r217282

9 years agomatch.pd: Move rest of the conversion combining patterns from tree-ssa-forwprop.c.
Richard Biener [Mon, 10 Nov 2014 08:58:24 +0000 (08:58 +0000)]
match.pd: Move rest of the conversion combining patterns from tree-ssa-forwprop.c.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Move rest of the conversion combining patterns
from tree-ssa-forwprop.c.
* tree-ssa-forwprop.c (combine_conversions): Remove.
(pass_forwprop::execute): Do not call it.

From-SVN: r217279

9 years agogimple-low.c (lower_function_body): Clear the location of the first inserted represen...
Eric Botcazou [Mon, 10 Nov 2014 08:53:16 +0000 (08:53 +0000)]
gimple-low.c (lower_function_body): Clear the location of the first inserted representative return if...

* gimple-low.c (lower_function_body): Clear the location of the first
inserted representative return if it also fills in for the fallthru.

From-SVN: r217278

9 years agotree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always execu...
Yuri Rumyantsev [Mon, 10 Nov 2014 07:46:45 +0000 (07:46 +0000)]
tree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always executed to early exit.

gcc/

* tree-if-conv.c (add_to_predicate_list): Check unconditionally
that bb is always executed to early exit. Use predicate of
cd-equivalent block for join blocks if it exists.
(if_convertible_loop_p_1): Recompute POST_DOMINATOR tree.
(tree_if_conversion): Free post-dominance information.

gcc/testsuite/

* gcc.dg/tree-ssa/ifc-cd.c: New test.

From-SVN: r217277

9 years agoDR 799
Jason Merrill [Mon, 10 Nov 2014 05:00:05 +0000 (00:00 -0500)]
DR 799

DR 799
* typeck.c (build_reinterpret_cast_1): reinterpret_cast to the
same scalar type is an rvalue.

From-SVN: r217276

9 years agoDR 2007
Jason Merrill [Mon, 10 Nov 2014 05:00:00 +0000 (00:00 -0500)]
DR 2007

DR 2007
* call.c (build_new_op_1): Don't do non-class lookup for =, -> or [].

From-SVN: r217275

9 years agoavx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.
Jason Merrill [Mon, 10 Nov 2014 04:59:54 +0000 (23:59 -0500)]
avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.

* config/i386/avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.
* config/i386/avx512vlintrin.h (_mm256_mask_cvtepi32_storeu_epi16)
(_mm_mask_cvtusepi32_storeu_epi16)
(_mm_mask_cvtsepi64_storeu_epi32): Return void.

From-SVN: r217274

9 years agoPR 47007 and 61847 Locale failures in libgfortran.
Janne Blomqvist [Mon, 10 Nov 2014 00:17:16 +0000 (02:17 +0200)]
PR 47007 and 61847 Locale failures in libgfortran.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* config.h.in: Regenerated.
* configure: Regenerated.
* configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
strerror_l.
* io/io.h (locale.h): Include.
(xlocale.h): Include if present.
(c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(st_parameter_dt): Add old_locale member.
* io/transfer.c (data_transfer_init): Set locale to "C" if doing
formatted transfer.
(finalize_transfer): Reset locale to previous.
* io/unit.c (c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(init_units): Init c_locale, init old_locale_lock.
(close_units): Free c_locale.
* runtime/error.c (locale.h): Include.
(xlocale.h): Include if present.
(gf_strerror): Use strerror_l if available. Reset locale to
LC_GLOBAL_LOCALE for strerror_r branch.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* gfortran.texi: Add note about locale issues to thread-safety
section.

From-SVN: r217273

9 years agoDaily bump.
GCC Administrator [Mon, 10 Nov 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217272

9 years agoCorrect ChangeLog
H.J. Lu [Sun, 9 Nov 2014 17:56:51 +0000 (09:56 -0800)]
Correct ChangeLog

From-SVN: r217268

9 years agoFix buffer overflow in avx256-unaligned-{load|store}-7.c
H.J. Lu [Sun, 9 Nov 2014 17:54:54 +0000 (17:54 +0000)]
Fix buffer overflow in avx256-unaligned-{load|store}-7.c

* testsuite/63305
* gcc.target/i386/avx256-unaligned-load-7.c (avx_test): Fix
buffer overflow.
* gcc.target/i386/avx256-unaligned-store-7.c (avx_test): Likewise.

From-SVN: r217267

9 years ago* config/avr/predicates.md (low_io_address_operand): Fix typo.
Joern Rennecke [Sun, 9 Nov 2014 17:06:50 +0000 (17:06 +0000)]
* config/avr/predicates.md (low_io_address_operand): Fix typo.

From-SVN: r217266

9 years agore PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Vladimir Makarov [Sun, 9 Nov 2014 16:45:15 +0000 (16:45 +0000)]
re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

2014-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63620
* lra-constraints.c (substitute_pseudo): Add prefix lra_ to the
name.  Move to lra.c.  Make it external.
(substitute_pseudo_within_insn): Ditto.
(inherit_reload_reg, split_reg, remove_inheritance_pseudos): Use
the new names.
(undo_optional_reloads): Ditto.
* lra-int.h (lra_dump_bitmap_with_title, lra_substitute_pseudo):
New prototypes.
(lra_substitute_pseudo_within_insn): Ditto.
* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): New.
(mark_regno_live): Add parameter.  Update bb_gen_pseudos.
(mark_regno_dead): Add parameter.  Update bb_gen_pseudos and
bb_killed_pseudos.
(struct bb_data, bb_data_t, bb_data): New.
(get_bb_data, get_bb_data_by_index): Ditto.
(all_hard_regs_bitmap): New.
(live_trans_fun, live_con_fun_0, live_con_fun_n, all_blocks): New.
(initiate_live_solver, finish_live_solver): New.
(process_bb_lives): Change return type.  Add code updating local
live data and removing dead insns.  Pass new argument to
mark_regno_live and mark_regno_dead.  Check changing bb pseudo
life info.  Return the result.
(lra_create_live_ranges): Add code to do global pseudo live
analysis.
(lra_live_ranges_init): Call initiate_live_solver.
(lra_live_ranges_finish): Call finish_live_solver.
* lra.c (lra_dump_bitmap_with_title): New.
(lra_substitute_pseudo, lra_substitute_pseudo_within_insn): Move
from lra-constraints.c.

From-SVN: r217265

9 years ago* gcc.target/powerpc/pr51623.c: Fix implicit declarations.
Andreas Schwab [Sun, 9 Nov 2014 12:46:27 +0000 (12:46 +0000)]
* gcc.target/powerpc/pr51623.c: Fix implicit declarations.

From-SVN: r217264

9 years agomatch.pd: Add patterns convering two conversions in a row from fold-const.c.
Richard Biener [Sun, 9 Nov 2014 11:27:00 +0000 (11:27 +0000)]
match.pd: Add patterns convering two conversions in a row from fold-const.c.

2014-11-09  Richard Biener  <rguenther@suse.de>

* match.pd: Add patterns convering two conversions in a row
from fold-const.c.
* fold-const.c (fold_unary_loc): Remove them here.
* tree-ssa-forwprop.c (combine_conversions): Likewise.
* genmatch.c (dt_node::gen_kids): Check whether we may
follow SSA use-def chains.

* g++.dg/cpp0x/constexpr-reinterpret1.C: XFAIL.
* gcc.dg/tree-ssa/pr21031.c: XFAIL.

From-SVN: r217260

9 years agoDaily bump.
GCC Administrator [Sun, 9 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217259

9 years agoaarch64.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:32 +0000 (11:25 +0000)]
aarch64.c: Include rtl-iter.h.

gcc/
* config/aarch64/aarch64.c: Include rtl-iter.h.
(aarch64_tls_operand_p_1): Delete.
(aarch64_tls_operand_p): Use FOR_EACH_SUBRTX.

From-SVN: r217256

9 years agoarm.c (arm_note_pic_base): Delete.
Richard Sandiford [Sat, 8 Nov 2014 11:25:24 +0000 (11:25 +0000)]
arm.c (arm_note_pic_base): Delete.

gcc/
* config/arm/arm.c (arm_note_pic_base): Delete.
(arm_cannot_copy_insn_p): Use FOR_EACH_SUBRTX.

From-SVN: r217255

9 years agoarm.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:17 +0000 (11:25 +0000)]
arm.c: Include rtl-iter.h.

gcc/
* config/arm/arm.c: Include rtl-iter.h.
(arm_tls_referenced_p_1): Delete.
(arm_tls_referenced_p): Use FOR_EACH_SUBRTX.

From-SVN: r217254

9 years agoaarch-common.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:10 +0000 (11:25 +0000)]
aarch-common.c: Include rtl-iter.h.

gcc/
* config/arm/aarch-common.c: Include rtl-iter.h.
(search_term, arm_find_sub_rtx_with_search_term): Delete.
(arm_find_sub_rtx_with_code): Use FOR_EACH_SUBRTX_VAR.
(arm_get_set_operands): Pass the insn pattern rather than the
insn itself.
(arm_no_early_store_addr_dep): Likewise.

From-SVN: r217253

9 years agoarm.c (arm_set_return_address): Mark the store as frame related, if any.
Eric Botcazou [Sat, 8 Nov 2014 09:17:23 +0000 (09:17 +0000)]
arm.c (arm_set_return_address): Mark the store as frame related, if any.

* config/arm/arm.c (arm_set_return_address): Mark the store as frame
related, if any.
(thumb_set_return_address): Likewise.

From-SVN: r217251

9 years agoDR 1558
Jason Merrill [Sat, 8 Nov 2014 06:06:42 +0000 (01:06 -0500)]
DR 1558

DR 1558
* pt.c (dependent_alias_template_spec_p): New.
(dependent_type_p_r): Handle dependent alias template specialization.
(template_args_equal): A dependent alias template specializations
is not equal to its underlying type as a template argument.
* tree.c (strip_typedefs): Don't strip a dependent alias
template-id.

From-SVN: r217250

9 years agoDaily bump.
GCC Administrator [Sat, 8 Nov 2014 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217245

9 years ago20141107-1.c: New testcase.
Andrew Pinski [Fri, 7 Nov 2014 23:08:43 +0000 (23:08 +0000)]
20141107-1.c: New testcase.

2014-11-07  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/execute/20141107-1.c: New testcase.

From-SVN: r217242

9 years agoparser.c (cp_parser_unqualified_id): Handle __func__ here.
Jason Merrill [Fri, 7 Nov 2014 23:01:09 +0000 (18:01 -0500)]
parser.c (cp_parser_unqualified_id): Handle __func__ here.

* parser.c (cp_parser_unqualified_id): Handle __func__ here.
(cp_parser_primary_expression): Not here.

From-SVN: r217241

9 years agoFix typo and line wrap in ChangeLog
Jeff Law [Fri, 7 Nov 2014 22:59:40 +0000 (15:59 -0700)]
Fix typo and line wrap in ChangeLog

From-SVN: r217240

9 years agore PR tree-optimization/61515 (Extremely long compile time for generated code)
Jeff Law [Fri, 7 Nov 2014 22:55:00 +0000 (15:55 -0700)]
re PR tree-optimization/61515 (Extremely long compile time for generated code)

PR tree-optimization/61515
* tree-ssa-threadedge.c (invalidate_equivalences): Walk the unwinding stack
rather than looking at ever SSA_NAME's value.

From-SVN: r217239

9 years agore PR tree-optimization/63605 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Fri, 7 Nov 2014 20:57:01 +0000 (20:57 +0000)]
re PR tree-optimization/63605 (wrong code at -O3 on x86_64-linux-gnu)

2014-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

From-SVN: r217238

9 years agore PR target/63534 (Bootstrap failure on x86_64/i686-linux)
Evgeny Stupachenko [Fri, 7 Nov 2014 20:42:36 +0000 (20:42 +0000)]
re PR target/63534 (Bootstrap failure on x86_64/i686-linux)

PR target/63534

gcc/
        * config/i386/i386.md (builtin_setjmp_receiver): Use
        pic_offset_table_rtx for PIC register.
        (nonlocal_goto_receiver): Delete.

From-SVN: r217237

9 years ago* g++.dg/pr61289-2.C: Renamed from pr61289-2.c.
Jeff Law [Fri, 7 Nov 2014 17:02:55 +0000 (10:02 -0700)]
* g++.dg/pr61289-2.C: Renamed from pr61289-2.c.

From-SVN: r217234

9 years agoconfig.gcc (sparc-*-rtems*): Clean away unused t-elf.
Daniel Hellstrom [Fri, 7 Nov 2014 16:35:01 +0000 (17:35 +0100)]
config.gcc (sparc-*-rtems*): Clean away unused t-elf.

2014-11-07  Daniel Hellstrom  <daniel@gaisler.com>

* config.gcc (sparc-*-rtems*): Clean away unused t-elf.
* config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.

From-SVN: r217231

9 years ago[PATCH] gnu11 cleanup for gcc.target/arm/lp1243022.c
Jiong Wang [Fri, 7 Nov 2014 16:28:37 +0000 (16:28 +0000)]
[PATCH] gnu11 cleanup for gcc.target/arm/lp1243022.c

  gcc/testsuite/
    * gcc.target/arm/lp1243022.c (xhci_test_trb_in_td): Add return type.
    (xhci_check_trb_in_td_math): Likewise.

From-SVN: r217230

9 years agore PR c++/63366 (C++ __complex is not equivalent to __complex double)
Thomas Preud'homme [Fri, 7 Nov 2014 16:21:15 +0000 (16:21 +0000)]
re PR c++/63366 (C++ __complex is not equivalent to __complex double)

PR c++/63366
* decl.c (grokdeclarator): Fix __complex meaning __complex double.

From-SVN: r217229

9 years ago[PATCH] Add AArch64 to the target list for 20040204-1.c
Jiong Wang [Fri, 7 Nov 2014 16:21:00 +0000 (16:21 +0000)]
[PATCH] Add AArch64 to the target list for 20040204-1.c

gcc/testsuite/
  * gcc.dg/tree-ssa/20040204-1.c: Add aarch64*-*-* to the list.

From-SVN: r217228

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:59:41 +0000 (14:59 +0100)]
[multiple changes]

2014-11-07  Arnaud Charlet  <charlet@adacore.com>

* debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding'
a keyword in Ada 95 mode when -gnatd.D is used.
* gnat_ugn.texi: Document -gnatd.D.

2014-11-07  Vasiliy Fofanov  <fofanov@adacore.com>

* gnatls.adb: Lower severity of the program's return value in
some common cases.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Decorate_Type): The limited view of a tagged
type has an empty list of primitive operations.

2014-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK
RM.
(Process_Full_View): Update references to SPARK RM.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
to SPARK RM.
(Analyze_Subprogram_Body_Helper): Update references
to SPARK RM.
* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
to SPARK RM.
* sem_prag.adb (Check_Ghost_Constituent): Update references to
SPARK RM.
* sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM.
(Resolve_Actuals): Ensure that the actual parameter of a Ghost
subprogram whose formal is of mode IN OUT or OUT is Ghost.
* sem_util.adb (Check_Ghost_Completion): Update references to
SPARK RM.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* exp_ch7.adb (Make_Final_Call): If type of designated object is
derived from that of the formal of the Deep_Finalize procedure,
add an unchecked conversion to prevent spurious type error.

2014-11-07  Robert Dewar  <dewar@adacore.com>

* table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb,
exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads:
Minor reformatting.

2014-11-07  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting.

From-SVN: r217227

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:54:09 +0000 (14:54 +0100)]
[multiple changes]

2014-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Set_Is_Checked_Ghost_Entity,
Set_Is_Ignored_Ghost_Entity): Add exceptions to the assertion
check.
* sem_ch6.adb (Check_Conformance): Consider only
source subprograms when checking for Ghost conformance.
* sem_prag.adb (Analyze_Pragma): Handle the case
where pragma Ghost applies to a stand alone subprogram body that
acts as a compilation unit.
* sem_res.adb: Minor reformatting (merge if statements).

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
Check whether underlying type is constrained before generating
the object declaration for the result object of the function.

From-SVN: r217226

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:51:20 +0000 (14:51 +0100)]
[multiple changes]

2014-11-07  Robert Dewar  <dewar@adacore.com>

* freeze.adb: Code clean up.

2014-11-07  Yannick Moy  <moy@adacore.com>

* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cfinve.ads,
* a-cforma.ads, a-cforse.ads, a-cofove.ads: Mark First_To_Previous,
Current_To_Last and Strict_Equal as Ghost.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb: Code clean up.

From-SVN: r217225

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:47:31 +0000 (14:47 +0100)]
[multiple changes]

2014-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Entity): Issue an error regardless of the
SPARK_Mode when a ghost type is effectively volatile.
* sem_ch3.adb (Analyze_Object_Contract): Decouple the checks
related to Ghost from SPARK_Mode.
* sem_res.adb (Check_Ghost_Policy): Issue an error regardless
of the SPARK_Mode when the Ghost policies do not match.
* sem_util.adb (Check_Ghost_Completion): Issue an error regardless
of the SPARK_Mode when the Ghost policies do not match.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): return if name
in iterator does not have any usable aspect for iteration.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Null_Procedure): Reject a null procedure
that there is a previous null procedure in scope with a matching
profile.

2014-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

* atree.adb (Copy_Separate_Tree): Copy the aspect specifications.
* inline.adb (Has_Some_Contract): Do the check only when the
related entity has been analyzed.

From-SVN: r217224

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:45:22 +0000 (14:45 +0100)]
[multiple changes]

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Integer):
If the restriction No_Floating_Point is in effect, and the
operands have the same type, introduce a temporary to hold
the fixed point result, to prevent the use of floating-point
operations at run-time.

2014-11-07  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Check_Address_Clause): Minor reformatting
(Find_Constant): Minor reformatting.
(Freeze_Array_Type): Modify check for packed declarations.
(Freeze_Entity): Minor reformatting.

From-SVN: r217223

9 years agore PR ipa/63580 (ICE : error: invalid argument to gimple call)
Martin Liska [Fri, 7 Nov 2014 13:37:41 +0000 (14:37 +0100)]
re PR ipa/63580 (ICE : error: invalid argument to gimple call)

PR ipa/63580
        * cgraphunit.c (cgraph_node::create_wrapper):
TREE_ADDRESSABLE is set to false for a newly created thunk.
* g++.dg/ipa/pr63580.C: New test.

From-SVN: r217222

9 years ago* ja.po: Update.
Joseph Myers [Fri, 7 Nov 2014 12:45:36 +0000 (12:45 +0000)]
* ja.po: Update.

From-SVN: r217220

9 years agore PR tree-optimization/63747 (icf mis-compares switch gimple)
Martin Liska [Fri, 7 Nov 2014 12:35:43 +0000 (13:35 +0100)]
re PR tree-optimization/63747 (icf mis-compares switch gimple)

PR ipa/63747
* gcc.dg/ipa/pr63747.c: New test.
* ipa-icf-gimple.c (func_checker::compare_gimple_switch):
Missing checking for CASE_LOW and CASE_HIGH added.

From-SVN: r217219

9 years agore PR tree-optimization/63595 (Segmentation faults inside kernel)
Martin Liska [Fri, 7 Nov 2014 12:32:30 +0000 (13:32 +0100)]
re PR tree-optimization/63595 (Segmentation faults inside kernel)

PR ipa/63595
* g++.dg/ipa/pr63595.C: New test.

* cgraphunit.c (cgraph_node::expand_thunk): DECL_BY_REFERENCE
is correctly handled for thunks created by IPA ICF.

From-SVN: r217218

9 years ago[PATCH] PR63676, exit tree fold when node be TREE_CLOBBER_P
Jiong Wang [Fri, 7 Nov 2014 11:08:30 +0000 (11:08 +0000)]
[PATCH] PR63676, exit tree fold when node be TREE_CLOBBER_P

  gcc/
    PR tree-optimization/63676
    * gimple-fold.c (fold_gimple_assign): Do not fold node when
    TREE_CLOBBER_P be true.

From-SVN: r217215

9 years agore PR middle-end/63770 (ICE on valid code at all optimization levels on x86_64-linux...
Richard Biener [Fri, 7 Nov 2014 10:51:06 +0000 (10:51 +0000)]
re PR middle-end/63770 (ICE on valid code at all optimization levels on x86_64-linux-gnu)

2014-11-07  Richard Biener  <rguenther@suse.de>

PR middle-end/63770
* match.pd: Guard conflicting GENERIC pattern properly.

* gcc.dg/pr63770.c: New testcase.

From-SVN: r217214

9 years agomatch.pd: Add patterns for POINTER_PLUS_EXPR association and special patterns from...
Richard Biener [Fri, 7 Nov 2014 09:00:32 +0000 (09:00 +0000)]
match.pd: Add patterns for POINTER_PLUS_EXPR association and special patterns from...

2014-11-07  Richard Biener  <rguenther@suse.de>

* match.pd: Add patterns for POINTER_PLUS_EXPR association
and special patterns from tree-ssa-forwprop.c
* fold-const.c (fold_binary_loc): Remove them here.
* tree-ssa-forwprop.c (to_purge): New global bitmap.
(fwprop_set_lattice_val): New function.
(fwprop_invalidate_lattice): Likewise.
(remove_prop_source_from_use): Instead of purging dead EH
edges record blocks to do that in to_purge.
(tidy_after_forward_propagate_addr): Likewise.
(forward_propagate_addr_expr): Invalidate the lattice for
SSA names we release.
(simplify_conversion_from_bitmask): Likewise.
(simplify_builtin_call): Likewise.
(associate_pointerplus_align): Remove.
(associate_pointerplus_diff): Likewise.
(associate_pointerplus): Likewise.
(fold_all_stmts): Merge with ...
(pass_forwprop::execute): ... the original loop over all
basic-blocks.  Delay purging dead EH edges and invalidate
the lattice for SSA names we release.

From-SVN: r217213

9 years agomklog: Always doubt in functions.
Marat Zakirov [Fri, 7 Nov 2014 08:15:19 +0000 (08:15 +0000)]
mklog: Always doubt in functions.

contrib/

2014-11-07  Marat Zakirov  <m.zakirov@samsung.com>

* mklog: Always doubt in functions.
Add EOF protection.

From-SVN: r217212

9 years agoarm.opt (masm-syntax-unified): New option.
Terry Guo [Fri, 7 Nov 2014 03:02:29 +0000 (03:02 +0000)]
arm.opt (masm-syntax-unified): New option.

gcc/ChangeLog:
2014-11-07  Terry Guo  <terry.guo@arm.com>

* config/arm/arm.opt (masm-syntax-unified): New option.
* doc/invoke.texi (-masm-syntax-unified): Document new option.
* config/arm/arm.h (TARGET_UNIFIED_ASM): Also include thumb1.
(ASM_APP_ON): Redefined.
* config/arm/arm.c (arm_option_override): Thumb2 inline assembly
code always use UAL syntax.
(arm_output_mi_thunk): Use UAL syntax for Thumb1 target.
* config/arm/thumb1.md: Likewise.

gcc/testsuite/ChangeLog:
2014-11-07  Terry Guo  <terry.guo@arm.com>

* gcc.target/arm/anddi_notdi-1.c: Match with UAL format.
* gcc.target/arm/pr40956.c: Likewise.
* gcc.target/arm/thumb1-Os-mult.c: Likewise.
* gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise.
* gcc.target/arm/scd42-1.c: Likewise.

From-SVN: r217211

9 years agopa.md (trap): New insn.
John David Anglin [Fri, 7 Nov 2014 00:50:44 +0000 (00:50 +0000)]
pa.md (trap): New insn.

* config/pa/pa.md (trap): New insn.  Add "trap" to attribute type.
Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
or in_call_delay.

From-SVN: r217208

9 years agoDaily bump.
GCC Administrator [Fri, 7 Nov 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217207

9 years agoconfig.gcc (mips*-mti-linux*): Remove gnu_ld and gas assignments.
Steve Ellcey [Thu, 6 Nov 2014 22:29:39 +0000 (22:29 +0000)]
config.gcc (mips*-mti-linux*): Remove gnu_ld and gas assignments.

2014-11-06  Steve Ellcey  <sellcey@imgtec.com>

* config.gcc (mips*-mti-linux*): Remove gnu_ld and gas assignments.
Set default_mips_arch and default_mips_abi instead of tm_defines.
(mips*-*-linux*): Set default_mips_arch and default_mips_abi instead
of tm_defines.
(mips*-*-*): Check with_arch and with_abi.  Set tm_defines.
* config/mips/mips.h (STANDARD_STARTFILE_PREFIX_1): Set default
based on MIPS_ABI_DEFAULT.
(STANDARD_STARTFILE_PREFIX_2): Ditto.

From-SVN: r217203

9 years agoPreserve original spellings of extended identifiers.
Joseph Myers [Thu, 6 Nov 2014 21:08:52 +0000 (21:08 +0000)]
Preserve original spellings of extended identifiers.

This patch makes cpplib track the original spellings of extended
identifiers, as well as the canonical UTF-8 version, in order to
follow standard semantics properly without needing a convoluted and
undocumented canonicalization in translation phase 1 (see bug 9449
comments 39-46 regarding such a canonicalization).

The spelling is tracked in cpp_identifier and cpp_macro_arg without
making cpp_token any larger.  The original spelling is used for checks
of duplicate macro definitions, stringizing (see the C++ tests added;
this case is only an issue for C++ not C because C makes it
implementation-defined whether a \ is inserted before the \ of a UCN
in a string or character constant when stringizing, while C++ does
not), pasting (relevant when the result is then stringized for C++)
and when macro definitions are output as text (e.g. for -d options).

Once a macro has been defined, only the original spelling of the
argument names needs keeping in the argument list.  While it is being
defined, however, both spellings are needed: the original one for
subsequent saving for checks of duplicate macro definitions, and the
canonical one which is the node marked specially to generate macro
argument tokens rather than normal identifier tokens.  The buffer that
is used to save the original values of the identifier tokens is
changed so that it stores both those original values and a pointer to
the canonical hash nodes, so that those canonical nodes can be found
when their values need restoring after the macro definition has been
parsed.

I believe this covers the known standards issues in extended
identifiers support (the remaining unimplemented C99 areas in GCC all
being floating-point-related), except for C++ translation of extended
characters to UCNs in phase 1 (which I have no plans to work on).
There are however probably issues left with handling of extended
identifiers in other places, as listed in
<https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00337.html> (those
issues are generally the sort of thing that could be addressed as bugs
outside development stage 1).  (The bulk of the potential issues Zack
was concerned about in 2003-5, that resulted in extended identifiers
being disabled in the absence of -fextended-identifiers, were
effectively eliminated by the audit and fixes I did in 2009, however;
that todo list reflects what was left over after that audit.)

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

libcpp:
* include/cpp-id-data.h (struct cpp_macro): Update comment
regarding parameters.
* include/cpplib.h (struct cpp_macro_arg, struct cpp_identifier):
Add spelling fields.
(struct cpp_token): Update comment on macro_arg.
* internal.h (_cpp_save_parameter): Add extra argument.
(_cpp_spell_ident_ucns): New declaration.
* lex.c (lex_identifier): Add SPELLING argument.  Set *SPELLING to
original spelling of identifier.
(_cpp_lex_direct): Update calls to lex_identifier.
(_cpp_spell_ident_ucns): New function, factored out of
cpp_spell_token.
(cpp_spell_token): Adjust FORSTRING argument semantics to return
original spelling of identifiers.  Use _cpp_spell_ident_ucns in
!FORSTRING case.
(_cpp_equiv_tokens): Check spellings of identifiers and macro
arguments are identical.
* macro.c (macro_arg_saved_data): New structure.
(paste_tokens): Use original spellings of identifiers from
cpp_spell_token.
(_cpp_save_parameter): Add argument SPELLING.  Save both canonical
node and its value.
(parse_params): Update calls to _cpp_save_parameter.
(lex_expansion_token): Save spelling of macro argument tokens.
(_cpp_create_definition): Extract canonical node from saved data.
(cpp_macro_definition): Use UCNs in spelling of macro name.  Use
original spellings of macro argument tokens and identifiers.
* traditional.c (scan_parameters): Update call to
_cpp_save_parameter.

gcc:
* doc/invoke.texi (-std=c99, -std=c11): Don't refer to corner
cases of extended identifiers.

gcc/testsuite:
* g++.dg/cpp/ucnid-2.C, g++.dg/cpp/ucnid-3.C,
gcc.dg/cpp/ucnid-11.c, gcc.dg/cpp/ucnid-12.c,
gcc.dg/cpp/ucnid-13.c, gcc.dg/cpp/ucnid-14.c,
gcc.dg/cpp/ucnid-15.c: New tests.

From-SVN: r217202

9 years ago* tree-cfgcleanup.c (fixup_noreturn_call): Do not perform DCE here.
Eric Botcazou [Thu, 6 Nov 2014 20:13:18 +0000 (20:13 +0000)]
* tree-cfgcleanup.c (fixup_noreturn_call): Do not perform DCE here.

From-SVN: r217201

9 years agocond.md (movqicc_<code>_<mode>): Remove mode of conditional.
DJ Delorie [Thu, 6 Nov 2014 17:57:15 +0000 (12:57 -0500)]
cond.md (movqicc_<code>_<mode>): Remove mode of conditional.

* config/m32c/cond.md (movqicc_<code>_<mode>): Remove mode of
conditional.
(movhicc_<code>_<mode>): Likewise.
* config/m32c/m32c.c (encode_pattern_1): Specialise PSImode
subregs.
(m32c_eh_return_data_regno): Change to using memregs to avoid
tying up all the compute regs.
(m32c_legitimate_address_p) Subregs are not valid addresses.

From-SVN: r217200

9 years agoAdd a hook to inform a port about call arguments.
Bernd Schmidt [Thu, 6 Nov 2014 17:20:13 +0000 (17:20 +0000)]
Add a hook to inform a port about call arguments.

* target.def (call_args, end_call_args): New hooks.
* hooks.c (hook_void_rtx_tree): New empty function.
* hooks.h (hook_void_rtx_tree): Declare.
* doc/tm.texi.in (TARGET_CALL_ARGS, TARGET_END_CALL_ARGS): Add.
* doc/tm.texi: Regenerate.
* calls.c (expand_call): Slightly rearrange the code.  Use the two new
hooks.
(expand_library_call_value_1): Use the two new hooks.

From-SVN: r217199

9 years agoAllow a port to use pseudos as call args; don't put them in the fusage.
Bernd Schmidt [Thu, 6 Nov 2014 17:20:05 +0000 (17:20 +0000)]
Allow a port to use pseudos as call args; don't put them in the fusage.

* expr.c (use_reg_mode): Just return for pseudo registers.

From-SVN: r217198

9 years agoDon't combine calls into i3, it wouldn't be changed into a CALL_INSN.
Bernd Schmidt [Thu, 6 Nov 2014 17:19:57 +0000 (17:19 +0000)]
Don't combine calls into i3, it wouldn't be changed into a CALL_INSN.

* combine.c (try_combine): Don't allow a call as one of the source
insns.

From-SVN: r217197

9 years agoAdd a new asm hook to print the end of a variable definition.
Bernd Schmidt [Thu, 6 Nov 2014 17:19:48 +0000 (17:19 +0000)]
Add a new asm hook to print the end of a variable definition.

* target.def (decl_end): New hook.
* varasm.c (assemble_variable_contents, assemble_constant_contents):
Use it.
* doc/tm.texi.in (TARGET_ASM_DECL_END): Add.
* doc/tm.texi: Regenerate.

From-SVN: r217196

9 years agoruntime: Use stckf unconditionally on s390.
Dominik Vogt [Thu, 6 Nov 2014 17:00:13 +0000 (17:00 +0000)]
runtime: Use stckf unconditionally on s390.

2014-11-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* libgo/runtime/runtime.c (runtime_cputicks): s390: use stckf
unconditionally

From-SVN: r217195

9 years agomksysinfo: Tolerate missing structures in upcase_fields.
Dominik Vogt [Thu, 6 Nov 2014 16:44:32 +0000 (16:44 +0000)]
mksysinfo: Tolerate missing structures in upcase_fields.

2014-11-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* libgo/mksysinfo.sh: Tolerate missing structures.

From-SVN: r217194

9 years ago[AArch64] Add ACLE arch-related predefined macros
Renlin Li [Thu, 6 Nov 2014 14:41:52 +0000 (14:41 +0000)]
[AArch64] Add ACLE arch-related predefined macros

2014-11-06  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64.c (aarch64_architecture_version): New.
(processor): New architecture_version field.
(aarch64_override_options): Initialize aarch64_architecture_version.
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_ARCH,
__ARM_ARCH_PROFILE, aarch64_arch_name macro.

From-SVN: r217192

9 years ago[Patchv3] Control SRA and IPA-SRA by a param rather than MOVE_RATIO
James Greenhalgh [Thu, 6 Nov 2014 14:18:52 +0000 (14:18 +0000)]
[Patchv3] Control SRA and IPA-SRA by a param rather than MOVE_RATIO

gcc/

* params.def (sra-max-scalarization-size-Ospeed): New.
(sra-max-scalarization-size-Osize): Likewise.
* doc/invoke.texi (sra-max-scalarization-size-Ospeed): Document.
(sra-max-scalarization-size-Osize): Likewise.
* toplev.c (process_options): Set default values for new
parameters.
* tree-sra.c (analyze_all_variable_accesses): Use new parameters.
* targhooks.c (get_move_ratio): Remove static designator.
* target.h (get_move_ratio): Declare.

From-SVN: r217191

9 years agosanopt.c (sanopt_optimize_walker): Limit removal of the checks.
Marek Polacek [Thu, 6 Nov 2014 11:22:59 +0000 (11:22 +0000)]
sanopt.c (sanopt_optimize_walker): Limit removal of the checks.

* sanopt.c (sanopt_optimize_walker): Limit removal of the checks.
Remove vector limit.
testsuite/
* c-c++-common/ubsan/align-2.c: Add dg-output.
* c-c++-common/ubsan/align-4.c: Likewise.
* c-c++-common/ubsan/align-6.c: New test.
* c-c++-common/ubsan/align-7.c: New test.
* c-c++-common/ubsan/align-8.c: New test.
* g++.dg/ubsan/null-1.C: Add dg-output.
* g++.dg/ubsan/null-2.C: Likewise.
* g++.dg/ubsan/null-3.C: New test.
* g++.dg/ubsan/null-4.C: New test.
* g++.dg/ubsan/null-5.C: New test.

From-SVN: r217189

9 years agoCorrectly check dg-require-effective-target in avx512 tests.
Ilya Tocar [Thu, 6 Nov 2014 11:01:59 +0000 (11:01 +0000)]
Correctly check dg-require-effective-target in avx512 tests.

gcc/testsuite

* gcc.target/i386/avx512vl-vandnpd-2.c: Fix
dg-require-effective-target check.
* gcc.target/i386/avx512vl-vandnps-2.c: Ditto.
* gcc.target/i386/avx512vl-vandpd-2.c: Ditto.
* gcc.target/i386/avx512vl-vandps-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastf32x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastf32x4-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastf64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcasti32x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcasti32x4-2.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcasti64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtpd2qq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtpd2uqq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2qq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2uqq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtqq2pd-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtqq2ps-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvttpd2qq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvttpd2uqq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvttps2qq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvttps2uqq-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtuqq2pd-2.c: Ditto.
* gcc.target/i386/avx512vl-vcvtuqq2ps-2.c: Ditto.
* gcc.target/i386/avx512vl-vdbpsadbw-2.c: Ditto.
* gcc.target/i386/avx512vl-vextractf64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vextracti64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vfpclasspd-2.c: Ditto.
* gcc.target/i386/avx512vl-vfpclassps-2.c: Ditto.
* gcc.target/i386/avx512vl-vinsertf64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vinserti64x2-2.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqu16-2.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqu8-2.c: Ditto.
* gcc.target/i386/avx512vl-vorpd-2.c: Ditto.
* gcc.target/i386/avx512vl-vorps-2.c: Ditto.
* gcc.target/i386/avx512vl-vpabsb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpabsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpackssdw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpacksswb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpackusdw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpackuswb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddsb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddusb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddusw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpaddw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpalignr-2.c: Ditto.
* gcc.target/i386/avx512vl-vpavgb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpavgw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpblendmb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpblendmw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpeqb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpeqw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtub-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtuw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpub-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpuw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2w-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2w-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddubsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddwd-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxsb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxub-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxuw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpminsb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpminsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpminub-2.c: Ditto.
* gcc.target/i386/avx512vl-vpminuw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovb2m-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovd2m-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovm2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovm2d-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovm2q-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovm2w-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovq2m-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovswb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxbw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovuswb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovw2m-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovwb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxbw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmulhrsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmulhuw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmulhw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmullq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmullw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshufb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshufhw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshuflw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsllvw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsllw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsllwi-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsravw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsraw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsrawi-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlvw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlwi-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubsb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubsw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubusb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubusw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpsubw-2.c: Ditto.
* gcc.target/i386/avx512vl-vptestmb-2.c: Ditto.
* gcc.target/i386/avx512vl-vptestmw-2.c: Ditto.
* gcc.target/i386/avx512vl-vptestnmb-2.c: Ditto.
* gcc.target/i386/avx512vl-vptestnmw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpunpckhbw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpunpckhwd-2.c: Ditto.
* gcc.target/i386/avx512vl-vpunpcklbw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpunpcklwd-2.c: Ditto.
* gcc.target/i386/avx512vl-vrangepd-2.c: Ditto.
* gcc.target/i386/avx512vl-vrangeps-2.c: Ditto.
* gcc.target/i386/avx512vl-vreducepd-2.c: Ditto.
* gcc.target/i386/avx512vl-vreduceps-2.c: Ditto.
* gcc.target/i386/avx512vl-vxorpd-2.c: Ditto.
* gcc.target/i386/avx512vl-vxorps-2.c: Ditto.

From-SVN: r217188

9 years agoFix incorrect ChangeLog entry.
Hale Wang [Thu, 6 Nov 2014 10:57:43 +0000 (10:57 +0000)]
Fix incorrect ChangeLog entry.

From-SVN: r217186

9 years agoMove testsuits ChangeLog entry to correct ChangeLog.
Hale Wang [Thu, 6 Nov 2014 10:46:58 +0000 (10:46 +0000)]
Move testsuits ChangeLog entry to correct ChangeLog.

From-SVN: r217185

9 years agompx-dg.exp: New.
Ilya Enkovich [Thu, 6 Nov 2014 09:44:05 +0000 (09:44 +0000)]
mpx-dg.exp: New.

gcc/testsuite/

* lib/mpx-dg.exp: New.
* gcc.target/i386/i386.exp: Load mpx-dg.exp.
* gcc.target/i386/chkp-builtins-1.c: Require mpx target.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.

From-SVN: r217180

9 years agomatch.pd: Implement bitwise binary and unary simplifications from tree-ssa-forwprop.c.
Richard Biener [Thu, 6 Nov 2014 09:07:39 +0000 (09:07 +0000)]
match.pd: Implement bitwise binary and unary simplifications from tree-ssa-forwprop.c.

2014-11-06  Richard Biener  <rguenther@suse.de>

* match.pd: Implement bitwise binary and unary simplifications
from tree-ssa-forwprop.c.
* fold-const.c (fold_unary_loc): Remove them here.
(fold_binary_loc): Likewise.
* tree-ssa-forwprop.c (simplify_not_neg_expr): Remove.
(truth_valued_ssa_name): Likewise.
(lookup_logical_inverted_value): Likewise.
(simplify_bitwise_binary_1): Likewise.
(hoist_conversion_for_bitop_p): Likewise.
(simplify_bitwise_binary_boolean): Likewise.
(simplify_bitwise_binary): Likewise.
(pass_forwprop::execute): Remove calls to simplify_not_neg_expr
and simplify_bitwise_binary.
* genmatch.c (dt_node::append_true_op): Use safe_as_a for parent.
(decision_tree::insert): Also insert non-expressions.

* gcc.dg/tree-ssa/forwprop-28.c: Adjust scanning for the
desired transform.

From-SVN: r217178

9 years agoarm-cores.def: Add support for -mcpu=cortex-m0.small-multiply,cortex-m0plus.small...
Hale Wang [Thu, 6 Nov 2014 07:02:30 +0000 (07:02 +0000)]
arm-cores.def: Add support for -mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply...

2014-11-06  Hale Wang  <Hale.Wang@arm.com>

* config/arm/arm-cores.def: Add support for
-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
cortex-m1.small-multiply.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm.c: Update the rtx-costs for MUL.
* config/arm/bpabi.h: Handle
-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
cortex-m1.small-multiply.
* doc/invoke.texi: Document
-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
cortex-m1.small-multiply.
* testsuite/gcc.target/arm/small-multiply-m0-1.c: New test case.
* testsuite/gcc.target/arm/small-multiply-m0-2.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m0-3.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m0plus-1.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m0plus-2.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m0plus-3.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m1-1.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m1-2.c: Likewise.
* testsuite/gcc.target/arm/small-multiply-m1-3.c: Likewise.

From-SVN: r217175

9 years agoFix incorrect ChangeLog entry.
Hale Wang [Thu, 6 Nov 2014 06:26:27 +0000 (06:26 +0000)]
Fix incorrect ChangeLog entry.

From-SVN: r217174

9 years agoarm.c: Add cortex-m7 tune.
Hale Wang [Thu, 6 Nov 2014 05:38:45 +0000 (05:38 +0000)]
arm.c: Add cortex-m7 tune.

2014-10-11  Hale Wang  <Hale.Wang@arm.com>

* config/arm/arm.c: Add cortex-m7 tune.
* config/arm/arm-cores.def: Use cortex-m7 tune.

From-SVN: r217173

9 years agoMAINTAINERS (Write After Approval): Add myself.
Prachi Godbole [Thu, 6 Nov 2014 04:42:33 +0000 (04:42 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2014-11-06  Prachi Godbole  <prachi.godbole@imgtec.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r217172

9 years agoDaily bump.
GCC Administrator [Thu, 6 Nov 2014 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217170

9 years agoFix all MIPS test failures caused by implicit declaration/int warnings.
Matthew Fortune [Wed, 5 Nov 2014 23:37:02 +0000 (23:37 +0000)]
Fix all MIPS test failures caused by implicit declaration/int warnings.

gcc/testsuite/

* gcc.target/mips/asm-1.c (bar): Add prototype.
* gcc.target/mips/call-1.c (f, h): Add return type.
* gcc.target/mips/call-5.c (f, h): Likewise.
* gcc.target/mips/call-6.c (f, h): Likewise.
* gcc.target/mips/call-3.c (f): Likewise.
* gcc.target/mips/call-2.c (g): Add prototype.
(f): Add return type.
* gcc.target/mips/call-4.c: Likewise.
* gcc.target/mips/code-readable-1.c (foo): Add type for x.
* gcc.target/mips/code-readable-2.c (foo): Likewise.
* gcc.target/mips/code-readable-3.c (foo): Likewise.
* gcc.target/mips/code-readable-4.c (foo): Likewise.
* gcc.target/mips/const-anchor-1.c (g): Add prototype.
* gcc.target/mips/const-anchor-2.c (g): Likewise.
* gcc.target/mips/const-anchor-3.c (g): Likewise.
* gcc.target/mips/const-anchor-4.c (g): Likewise.
* gcc.target/mips/interrupt_handler.c (t): Likewise.
* gcc.target/mips/mips-nonpic/main-1.c (main): Add return type.
* gcc.target/mips/mips-nonpic/main-2.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-3.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-4.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-5.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-6.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-7.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-8.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-9.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-10.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-11.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-12.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-13.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-14.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-15.c (main): Likewise.
* gcc.target/mips/mips-nonpic/main-16.c (main): Likewise.
* gcc.target/mips/mips-nonpic/mips-nonpic.h
(nonpic_call, nonpic_addr_call): Add prototype.
(pic_call, pic_addr_call): Likewise.
* gcc.target/mips/mips16e-extends.c (validate): Likewise.
* gcc.target/mips/octeon-bbit-3.c (foo): Likewise.
* gcc.target/mips/octeon-seq-4.c (h): Likewise.
* gcc.target/mips/truncate-3.c (g): Add prototype.
(f): Add return type.

From-SVN: r217167

9 years agoRevert revision 217149 because it breaks Ada:
Manuel López-Ibáñez [Wed, 5 Nov 2014 22:17:22 +0000 (22:17 +0000)]
Revert revision 217149 because it breaks Ada:

gcc/testsuite/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

        PR driver/36312
        * gcc.misc-tests/output.exp: New test case for identical input and
        output files.

include/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

        PR driver/36312
        * filenames.h: Add prototype for canonical_filename_eq.

gcc/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

        PR driver/36312
        * diagnostic-core.h: Add prototype for fatal_error.
        * diagnostic.c (fatal_error): New function fatal_error.
        * gcc.c (store_arg): Remove have_o_argbuf_index.
        (process_command): Check if input and output files are the same.
        * toplev.c (init_asm_output): Check if input and output files are
        the same.

libiberty/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

        PR driver/36312
        * filename_cmp.c (canonical_filename_eq): New function to check if
        file names are the same.
        * functions.texi: Updated with documentation for new function.

From-SVN: r217159

9 years ago* gnatvsn.ads (Library_Version): Bump to 5.0.
Eric Botcazou [Wed, 5 Nov 2014 21:04:50 +0000 (21:04 +0000)]
* gnatvsn.ads (Library_Version): Bump to 5.0.

From-SVN: r217157

9 years agore PR target/63538 ([X86_64] With -mcmodel=medium .lrodata accesses do not use 64...
Uros Bizjak [Wed, 5 Nov 2014 21:00:07 +0000 (22:00 +0100)]
re PR target/63538 ([X86_64] With -mcmodel=medium .lrodata accesses do not use 64-bit addresses)

PR target/63538
* config/i386/i386.c (in_large_data_p): Reject automatic variables.
(ix86_encode_section_info): Do not check for non-automatic varibles
when setting SYMBOL_FLAG_FAR_ADDR flag.
(x86_64_elf_select_section): Do not check ix86_cmodel here.
(x86_64_elf_unique_section): Ditto.
(x86_elf_aligned_common): Emit tab before .largecomm.

testsuite/ChangeLog:

PR target/63538
* gcc.target/i386/pr63538.c: New test.

From-SVN: r217156

9 years agotrans.c (Subprogram_Body_to_gnu): For a function with copy-in/copy-out parameters...
Eric Botcazou [Wed, 5 Nov 2014 19:17:00 +0000 (19:17 +0000)]
trans.c (Subprogram_Body_to_gnu): For a function with copy-in/copy-out parameters and which returns by invisible...

* gcc-interface/trans.c (Subprogram_Body_to_gnu): For a function with
copy-in/copy-out parameters and which returns by invisible reference,
do not create the variable for the return value; instead, manually
generate the indirect copy out statements on exit.
(gnat_to_gnu) <N_Simple_Return_Statement>: Adjust accordingly and build
a simple indirect assignment for the return value.

From-SVN: r217155

9 years agore PR libstdc++/63698 (std::set leaks nodes on assignment)
François Dumont [Wed, 5 Nov 2014 19:16:13 +0000 (19:16 +0000)]
re PR libstdc++/63698 (std::set leaks nodes on assignment)

2014-11-04  François Dumont  <fdumont@gcc.gnu.org>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/63698
* include/bits/stl_tree.h (_Reuse_or_alloc_node): Simplify constructor.
Always move to the left node if there is one.
* testsuite/23_containers/set/allocator/move_assign.cc (test04): New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r217154

9 years agodecl.c (gnat_to_gnu_entity): For a derived untagged type that renames discriminants...
Eric Botcazou [Wed, 5 Nov 2014 19:03:26 +0000 (19:03 +0000)]
decl.c (gnat_to_gnu_entity): For a derived untagged type that renames discriminants...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: For a
derived untagged type that renames discriminants, be prepared for
a type derived from a private discriminated type when changing the
type of the stored discriminants.

From-SVN: r217153

9 years agotrans.c (Handled_Sequence_Of_Statements_to_gnu): Set the SLOC of the node on the...
Eric Botcazou [Wed, 5 Nov 2014 18:52:07 +0000 (18:52 +0000)]
trans.c (Handled_Sequence_Of_Statements_to_gnu): Set the SLOC of the node on the call to set_jmpbuf_address_soft emitted on...

* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Set
the SLOC of the node on the call to set_jmpbuf_address_soft emitted
on block entry with SJLJ.

From-SVN: r217152

9 years agoutils.c (create_subprog_decl): Move code dealing with conflicting inlining status...
Eric Botcazou [Wed, 5 Nov 2014 18:47:04 +0000 (18:47 +0000)]
utils.c (create_subprog_decl): Move code dealing with conflicting inlining status of nested subprograms to...

* gcc-interface/utils.c (create_subprog_decl): Move code dealing with
conflicting inlining status of nested subprograms to...
* gcc-interface/trans.c (check_inlining_for_nested_subprog): ...here.
(Attribute_to_gnu) <Attr_Access>: Call it.
(Call_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Drop the body if it is an inlined external
function that has been marked uninlinable.

From-SVN: r217151

9 years agore PR driver/36312 (should refuse to overwrite input file with output file)
Anthony Brandon [Wed, 5 Nov 2014 17:23:46 +0000 (17:23 +0000)]
re PR driver/36312 (should refuse to overwrite input file with output file)

gcc/testsuite/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

PR driver/36312
* gcc.misc-tests/output.exp: New test case for identical input and
output files.

include/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

PR driver/36312
* filenames.h: Add prototype for canonical_filename_eq.

gcc/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

PR driver/36312
* diagnostic-core.h: Add prototype for fatal_error.
* diagnostic.c (fatal_error): New function fatal_error.
* gcc.c (store_arg): Remove have_o_argbuf_index.
(process_command): Check if input and output files are the same.
* toplev.c (init_asm_output): Check if input and output files are
the same.

libiberty/ChangeLog:

2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>

PR driver/36312
* filename_cmp.c (canonical_filename_eq): New function to check if
file names are the same.
* functions.texi: Updated with documentation for new function.

From-SVN: r217149

9 years agoEnable -fextended-identifiers by default.
Joseph Myers [Wed, 5 Nov 2014 16:19:10 +0000 (16:19 +0000)]
Enable -fextended-identifiers by default.

As proposed at <https://gcc.gnu.org/ml/gcc/2014-11/msg00014.html>,
this patch enables -fextended-identifiers by default for all standard
versions including this feature (all C++ versions, C99 and above for
C, but not C90 / C94 / gnu89 / preprocessing assembler).  It adds a
couple of tests for areas where I previously noted testsuite coverage
for extended identifiers was lacking, removes -fextended-identifiers
from existing tests, adds -g to various such tests to verify that
extended identifiers don't break debug info generation and removes the
test that was only there to verify that the feature was off by
default.

The current state of the feature may not correspond exactly to any
particular checklist from 2004/5 (see bug 9449) of what was wanted
before enabling the feature by default, but I don't think it's any
worse than plenty of other features supported by default before every
corner case is fully functional, and think problems can readily be
fixed incrementally.

The following aspects of extended identifiers could still do with more
work (and should be straightforward):

* C -aux-info (output should use UCNs).

* ObjC -gen-decls (output should use UCNs; associated diagnostics from
  the ObjC front end should use extended characters or UCNs as
  appropriate to the locale, via using %qE or identifier_to_locale).

* Use DW_AT_use_UTF8 in DWARF-3 debug info for compilation units built
  with extended identifiers enabled (or unconditionally).

* cpplib diagnostics (outputting characters or UCNs as appropriate
  depending on the locale, as done for identifiers in non-cpplib
  diagnostics).

* C++ test for UCN linking with C and extern "C".

* Check GDB support / file issues for support if needed.

* Actual UTF-8 in identifiers (?).  (Be careful about not affecting
  performance for the normal fast path of lexing identifiers, if
  possible.)

The following may be trickier:

* cpplib spelling preservation (required to diagnose macro
  redefinition with different spellings of the same identifier in the
  definition or argument names; different spellings of the name of the
  macro itself are OK, however; also required for correct handling of
  multiple stringizing in C++); correct output for -d (UCNs), DWARF
  debug info for macros (UCNs), PCH and PCH tests.  (Spelling
  preservation is the issue that needs fixing to remove references to
  corner cases in the documentation of -std=c99 and -std=c11 and in
  c99status.html.)  The idea would be to add a second pointer to
  cpp_identifier that stores the original spelling (whether for
  extended identifiers only, or for all identifiers); this does not
  enlarge cpp_token because the resulting larger cpp_identifier
  structure is no bigger than cpp_string.

* C++ translation of extended characters (including $@` and various
  control characters) to UCNs in phase 1 (note diagnostics thus
  needed, but not for C++11, for control characters in strings /
  character constants as those UCNs invalid); a likely implementation
  approach is to do translation when identifiers / strings / character
  constants are lexed, together with errors for stray $@` / control
  characters in program as not being valid UCNs in identifiers ($ only
  if not accepted in identifiers); note that this translation should
  not take place inside raw string literals.

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

libcpp:
PR preprocessor/9449
* init.c (lang_defaults): Enable extended identifiers for C++ and
C99-based standards.

gcc:
PR preprocessor/9449
* doc/cpp.texi (Character sets, Tokenization)
(Implementation-defined behavior): Don't refer to UCNs in
identifiers requiring -fextended-identifiers.
* doc/cppopts.texi (-fextended-identifiers): Document as enabled
by default for C99 and later and C++.
* doc/invoke.texi (-std=c99, -std=c11): Don't refer to extended
identifiers needing -fextended-identifiers.

gcc/testsuite:
PR preprocessor/9449
* lib/target-supports.exp (check_effective_target_ucn_nocache):
Don't use -fextended-identifiers.
* c-c++-common/cpp/normalize-3.c, c-c++-common/cpp/ucnid-2011-1.c,
g++.dg/cpp/ucn-1.C, g++.dg/cpp/ucnid-1.C, g++.dg/other/ucnid-1.C,
gcc.dg/cpp/normalize-1.c, gcc.dg/cpp/normalize-2.c,
gcc.dg/cpp/normalize-4.c: Don't use -fextended-identifiers.
* gcc.dg/cpp/ucnid-1.c: Don't use -fextended-identifiers.  Use
-g3.
* gcc.dg/cpp/ucnid-10.c, gcc.dg/cpp/ucnid-2.c,
gcc.dg/cpp/ucnid-3.c, gcc.dg/cpp/ucnid-4.c, gcc.dg/cpp/ucnid-5.c,
gcc.dg/cpp/ucnid-7.c, gcc.dg/cpp/ucnid-9.c,
gcc.dg/cpp/warn-normalized-1.c, gcc.dg/cpp/warn-normalized-2.c,
gcc.dg/cpp/warn-normalized-3.c: Don't use -fextended-identifiers.
* gcc.dg/ucnid-1.c, gcc.dg/ucnid-2.c, gcc.dg/ucnid-3.c,
gcc.dg/ucnid-4.c, gcc.dg/ucnid-5.c, gcc.dg/ucnid-6.c: Don't use
-fextended-identifiers.  Use -g.
* gcc.dg/ucnid-7.c, gcc.dg/ucnid-8.c: Don't use
-fextended-identifiers.
* gcc.dg/ucnid-9.c: Don't use -fextended-identifiers.  Use -g.
* gcc.dg/ucnid-10.c: Don't use -fextended-identifiers.
* gcc.dg/ucnid-11.c, gcc.dg/ucnid-12.c: Don't use
-fextended-identifiers.  Use -g.
* gcc.dg/ucnid-13.c: Don't use -fextended-identifiers.
* gcc.dg/cpp/ucnid-8.c: Remove test.
* gcc.dg/cpp/ucnid-10.c, gcc.dg/ucnid-14.c: New tests.

From-SVN: r217144

9 years agoFix dg.torture tests with avx512
Ilya Tocar [Wed, 5 Nov 2014 15:55:44 +0000 (15:55 +0000)]
Fix dg.torture tests with avx512

gcc/
* config/i386/i386.c (expand_vec_perm_pshufb): Try vpermq/vpermd
for 512-bit wide modes.
(expand_vec_perm_1): Use correct versions of patterns.
* config/i386/sse.md (avx512f_vec_dup_<mode>_1): New.
(vashr<mode>3<mask_name>): Split V8HImode and V16QImode.

From-SVN: r217138

9 years agoadvsimd-intrinsics.exp: Skip tests if target does not support Neon.
Christophe Lyon [Wed, 5 Nov 2014 15:22:28 +0000 (15:22 +0000)]
advsimd-intrinsics.exp: Skip tests if target does not support Neon.

2014-11-05  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Skip tests if target does not support Neon.

From-SVN: r217134

9 years ago[AArch64,ARM] support bswap tests on aarch64_be.
Christophe Lyon [Wed, 5 Nov 2014 15:19:19 +0000 (15:19 +0000)]
[AArch64,ARM] support bswap tests on aarch64_be.

[AArch64,ARM] support bswap tests on aarch64_be. Skip them on ARM
targets older than v6.

2014-11-05  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/target-supports.exp (check_effective_target_bswap): Update
conditions for AArch64 and ARM targets.

From-SVN: r217133