platform/upstream/linaro-gcc.git
9 years agoClear hard frame pointer alignment if not needed
hjl [Wed, 4 Feb 2015 19:35:17 +0000 (19:35 +0000)]
Clear hard frame pointer alignment if not needed

When hard frame pointer isn't needed, the register for hard frame pointer
may be reused.  This patch clears alignment on hard frame pointer if hard
frame pointer isn't needed.

gcc/

PR rtl-optimization/64905
* lra-eliminations.c (setup_can_eliminate): Clear hard frame
pointer alignment if it isn't needed.

gcc/testsuite/

PR rtl-optimization/64905
* gcc.target/i386/pr64905.c: New file.

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

9 years ago[AArch64] Add support for -mcpu=cortex-a72
jiwang [Wed, 4 Feb 2015 19:25:46 +0000 (19:25 +0000)]
[AArch64] Add support for -mcpu=cortex-a72

2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>

  gcc/
    * config/aarch64/aarch64-cores.def: Add cortex-a72 and
    cortex-a72.cortex-a53.
    * config/aarch64/aarch64-tune.md: Regenerate.
    * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".

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

9 years agoMore fixes for update_web_docs_svn for jit docs (PR jit/64257)
dmalcolm [Wed, 4 Feb 2015 19:11:48 +0000 (19:11 +0000)]
More fixes for update_web_docs_svn for jit docs (PR jit/64257)

gcc/jit/ChangeLog:
PR jit/64257
* docs/conf.py (html_theme): Change from 'pyramid'
to 'sphinxdoc'.

maintainer-scripts/ChangeLog:
PR jit/64257
* update_web_docs_svn: Update build of jit docs to use EPEL6
variant install of sphinx 1.0.8, rather than 0.6.6.

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

9 years ago * gcc.dg/guality/pr41447-1.c: Remove xfail.
segher [Wed, 4 Feb 2015 17:22:57 +0000 (17:22 +0000)]
* gcc.dg/guality/pr41447-1.c: Remove xfail.
* gcc.dg/guality/pr41616-1.c: Ditto.

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

9 years ago * config/rl78/fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case
nickc [Wed, 4 Feb 2015 16:39:16 +0000 (16:39 +0000)]
* config/rl78/fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case
rounding up the fraction.

* config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
inside a MEM.

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

9 years agojit: fix typo in docs
dmalcolm [Wed, 4 Feb 2015 14:47:08 +0000 (14:47 +0000)]
jit: fix typo in docs

gcc/jit/ChangeLog:
* docs/topics/contexts.rst (gcc_jit_context_acquire): Fix
typo.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

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

9 years ago * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
jakub [Wed, 4 Feb 2015 14:26:16 +0000 (14:26 +0000)]
* builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
(DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
(DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
of DEF_BUILTIN.
(BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
(BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
* tree-core.h (enum built_in_function): In between
BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
for builtins that use DEF_BUILTIN_CHKP macro.

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

9 years agoFix signedness of compares expanding debug exprs.
aoliva [Wed, 4 Feb 2015 14:24:00 +0000 (14:24 +0000)]
Fix signedness of compares expanding debug exprs.

for  gcc/ChangeLog

PR debug/64817
* cfgexpand.c (expand_debug_expr): Compute unsignedp from
operands for tcc_comparison exprs.  Fix typos.

for  gcc/testsuite/ChangeLog

PR debug/64817
* gcc.dg/pr64817-3.c: New.

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

9 years agoSimplify XOR of (AND or IOR) of XOR.
aoliva [Wed, 4 Feb 2015 14:23:47 +0000 (14:23 +0000)]
Simplify XOR of (AND or IOR) of XOR.

for  gcc/ChangeLog

PR debug/64817
* simplify-rtx.c (simplify_binary_operation_1): Simplify one
of two XORs that have an intervening AND or IOR.

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

9 years agoAvoid allocating memory when trying but failing to simplify XOR of AND.
aoliva [Wed, 4 Feb 2015 14:23:33 +0000 (14:23 +0000)]
Avoid allocating memory when trying but failing to simplify XOR of AND.

for  gcc/ChangeLog

PR debug/64817
* simplify-rtx.c (simplify_binary_operation_1): Rewrite
simplification of XOR of AND to not allocate new rtx before
committing to a simplification.

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

9 years ago[AArch64] Use std::swap instead of manually swapping in aarch64-ldpstp.md
ktkachov [Wed, 4 Feb 2015 13:53:56 +0000 (13:53 +0000)]
[AArch64] Use std::swap instead of manually swapping in aarch64-ldpstp.md

* config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
manual swaps in all peepholes.

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

9 years ago[AArch64] Use std::swap instead of manually swapping
ktkachov [Wed, 4 Feb 2015 13:52:55 +0000 (13:52 +0000)]
[AArch64] Use std::swap instead of manually swapping

* config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
of manual swapping implementation.
(aarch64_expand_vec_perm_const_1): Likewise.

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

9 years ago[AArch64] Rid the world of NAMED_PARAM
jgreenhalgh [Wed, 4 Feb 2015 13:47:13 +0000 (13:47 +0000)]
[AArch64] Rid the world of NAMED_PARAM

gcc/

* config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
(generic_addrcost_table): Remove NAMED_PARAM.
(cortexa57_addrcost_table): Likewise.
(xgene1_addrcost_table): Likewise.
(generic_regmove_table): Likewise.
(cortexa53_regmove_table): Likewise.
(xgene1_regmove_table): Likewise.
(generic_vector_table): Likewise.
(cortexa57_vector_table): Likewise.
(xgene1_vector_table): Likewise.
(generic_tunings): Likewise.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(xgene1_tunings): Likewise.

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

9 years ago PR target/64408
nickc [Wed, 4 Feb 2015 13:42:26 +0000 (13:42 +0000)]
PR target/64408
* config/fr30/predicates.md (di_operand): Add SUBREG to the list
of accepted codes.
(nonimmediate_di_operand): Likewise.

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

9 years ago[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53
jgreenhalgh [Wed, 4 Feb 2015 13:34:58 +0000 (13:34 +0000)]
[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53

gcc/

* config/arm/arm-cores.def: Add cortex-a72 and
cortex-a72.cortex-a53.
* config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
* config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-tables.opt: Add entries for "cortex-a72" and
"cortex-a72.cortex-a53".
* doc/invoke.texi (ARM Options/-mtune): Likewise.

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

9 years agoAdjust pr36728-*.c for targets that pass parameters in registers.
ramana [Wed, 4 Feb 2015 12:29:51 +0000 (12:29 +0000)]
Adjust pr36728-*.c for targets that pass parameters in registers.

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

9 years agoMinor corrections to gcc.dg/combine_ashiftrt_[12].c
ro [Wed, 4 Feb 2015 12:23:08 +0000 (12:23 +0000)]
Minor corrections to gcc.dg/combine_ashiftrt_[12].c

2015-02-04  Alan Lawrence  <alan.lawrence@arm.com>
    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target
list, allow for multilibed targets.
* gcc.dg/combine_ashiftrt_2.c: Likewise.

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

9 years ago * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
nickc [Wed, 4 Feb 2015 11:50:46 +0000 (11:50 +0000)]
* config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
prefixes of known F5 using MSP430 MCUs.

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

9 years ago[AArch64] Use target builtin instead of __builtin_sqrt for vsqrt_f64
ktkachov [Wed, 4 Feb 2015 11:46:07 +0000 (11:46 +0000)]
[AArch64] Use target builtin instead of __builtin_sqrt for vsqrt_f64

* config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
* config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
instead of __builtin_sqrt.

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

9 years ago * gcc.dg/builtins-58.c: Check for pow at the end of words only.
segher [Wed, 4 Feb 2015 11:19:17 +0000 (11:19 +0000)]
* gcc.dg/builtins-58.c: Check for pow at the end of words only.
* gcc.dg/pr46728-6.c: Ditto.

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

9 years ago2015-02-04 Robert Suchanek <robert.suchanek@imgtec.com>
rts [Wed, 4 Feb 2015 10:47:29 +0000 (10:47 +0000)]
2015-02-04  Robert Suchanek  <robert.suchanek@imgtec.com>

* gcc.target/mips/loongson-simd.c: Update comment to clarify the need
for mips_nanlegacy target.

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

9 years ago[PATCH][libstdc++][Testsuite] isctype test fails for newlib.
renlin [Wed, 4 Feb 2015 09:24:56 +0000 (09:24 +0000)]
[PATCH][libstdc++][Testsuite] isctype test fails for newlib.

libstdc++-v3/
2015-02-02  Matthew Wahab  <matthew.wahab@arm.com>

PR libstdc++/64467
* testsuite/28_regex/testsuiteraits/char/isctype.cc (test01): Add newlib
special case for '\n'.
* test01estsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.

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

9 years agogcc/
ienkovich [Wed, 4 Feb 2015 08:26:49 +0000 (08:26 +0000)]
gcc/

* varasm.c (do_assemble_alias): Follow transparent alias
chain for target.
(default_assemble_visibility): Follow transparent alias
chain for decl name.

gcc/testsuite/

* gcc.target/i386/chkp-hidden-def.c: New.

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

9 years ago2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 4 Feb 2015 08:22:45 +0000 (08:22 +0000)]
2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR middle-end/62103
    * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
    to compute size of referenced value in the constant case.

    gcc/testsuite/
    PR middle-end/62103
    * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c
    to use 24 bits for bitfield b.

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

9 years ago2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 4 Feb 2015 01:54:47 +0000 (01:54 +0000)]
2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR testsuite/64796
    * lib/target-supports.exp (check_effective_target_bswap64): Do not
    cache result in a global variable.  Include all 32-bit targets for
    bswap64 tests.

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

9 years agoDaily bump.
gccadmin [Wed, 4 Feb 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Tue, 3 Feb 2015 21:53:39 +0000 (21:53 +0000)]
2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>

* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.

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

9 years agoRemove empty directory.
ian [Tue, 3 Feb 2015 21:40:24 +0000 (21:40 +0000)]
Remove empty directory.

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

9 years agogo/types: Remove unused testdata files.
ian [Tue, 3 Feb 2015 21:39:27 +0000 (21:39 +0000)]
go/types: Remove unused testdata files.

The go/types package was removed in July 2013, but the
testdata files were accidentally left behind.

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

9 years ago PR rtl-optimization/64756
jakub [Tue, 3 Feb 2015 20:41:38 +0000 (20:41 +0000)]
PR rtl-optimization/64756
* cse.c (invalidate_dest): New function.
(cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
invalidate and do not record it.

* gcc.c-torture/execute/pr64756.c: New test.

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

9 years agogcc/
olegendo [Tue, 3 Feb 2015 20:24:13 +0000 (20:24 +0000)]
gcc/
PR target/64660
* config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
atomic_nand<mode>_soft_tcb): New insns.
(atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
(define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
Split into atomic_not_fetchsi_hard if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
(atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
atomic_not<mode>_hard if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
if operands[0] is unused.
(atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
unused.
(atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_not<mode>_soft_tcb if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
if operands[0] is unused.
(atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
(atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
atomic_nand_fetchsi_hard if operands[0] is unused.
(atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
atomic_nand<mode>_hard if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_nand<mode>_soft_tcb if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
(atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
(atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
atomic_not<mode>_hard if operands[0] is unused.
(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
unused.
(atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_not<mode>_soft_tcb if operands[0] is unused.
(atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
atomic_nand<mode>_hard if operands[0] is unused.
(atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_nand<mode>_soft_tcb if operands[0] is unused.

gcc/testsuite/
PR target/64660
* gcc.target/sh/pr64660-0.h: New.
* gcc.target/sh/pr64660-1.c: New.
* gcc.target/sh/pr64660-2.c: New.
* gcc.target/sh/pr64660-3.c: New.
* gcc.target/sh/pr64660-4.c: New.

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

9 years agojit: option-logging
dmalcolm [Tue, 3 Feb 2015 19:28:24 +0000 (19:28 +0000)]
jit: option-logging

gcc/jit/ChangeLog:
* jit-logging.h (gcc::jit::log_user::log): Make const.
* jit-recording.c (gcc::jit::recording::context::set_str_option):
Log the new value of the option.
(gcc::jit::recording::context::set_int_option): Likewise.
(gcc::jit::recording::context::set_bool_option): Likewise.
(gcc::jit::recording::context::compile): Log the value of all
options.
(gcc::jit::recording::context::compile_to_file): Likewise.
(gcc::jit::recording::context::log_all_options): New function.
(gcc::jit::recording::context::log_str_option): New function.
(gcc::jit::recording::context::log_int_option): New function.
(gcc::jit::recording::context::log_bool_option): New function.
* jit-recording.h (gcc::jit::recording::context::log_all_options):
New function.
(gcc::jit::recording::context::log_str_option): New function.
(gcc::jit::recording::context::log_int_option): New function.
(gcc::jit::recording::context::log_bool_option): New function.
* docs/internals/test-hello-world.exe.log.txt: Update for above
changes.

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

9 years ago/cp
paolo [Tue, 3 Feb 2015 17:21:49 +0000 (17:21 +0000)]
/cp
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64877
* typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
for generated expressions.

/testsuite
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64877
* g++.dg/warn/Waddress-2.C: New.

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

9 years agoPR jit/64810: driver, arm, jit: configure-time default options
dmalcolm [Tue, 3 Feb 2015 17:19:58 +0000 (17:19 +0000)]
PR jit/64810: driver, arm, jit: configure-time default options

gcc/ChangeLog:
PR jit/64810
* Makefile.in (GCC_OBJS): Add gcc-main.o.
* gcc-main.c: New file, containing "main" taken from gcc.c.
* gcc.c (do_self_spec): Free decoded_options.
(class driver): Move declaration to gcc.h.
(main): Move declaration and implementation to new file
gcc-main.c.
(driver_get_configure_time_options): New function.
* gcc.h (class driver): Move this declaration here, from
gcc.c.
(driver_get_configure_time_options): New declaration.

gcc/jit/ChangeLog:
PR jit/64810
* Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
(LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
* jit-playback.c: Include gcc.h.
(gcc::jit::playback::context::compile): Move mutex acquisition
to before the call to make_fake_args.
(append_arg_from_driver): New function.
(gcc::jit::playback::context::make_fake_args): On the first call,
call into driver_get_configure_time_options to get configure-time
default options and cache them.  Add them to the args for
toplev::main.
* jit-spec.c: New source file.
* docs/internals/test-hello-world.exe.log.txt: Update to reflect
above changes.

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

9 years ago * ipa-inline-analysis.c (simple_edge_hints): Fix check for
hubicka [Tue, 3 Feb 2015 16:57:20 +0000 (16:57 +0000)]
* ipa-inline-analysis.c (simple_edge_hints): Fix check for
cross-module inlining.
* cgraph.h (cgraph_node): Add flag merged.
* ipa-icf.c (sem_function::merge): Maintain it.

* lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.

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

9 years agogcc/
rsandifo [Tue, 3 Feb 2015 14:18:38 +0000 (14:18 +0000)]
gcc/
* config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
instead of OBJECT_P.

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

9 years ago PR middle-end/61225
segher [Tue, 3 Feb 2015 12:15:32 +0000 (12:15 +0000)]
PR middle-end/61225
gcc.target/i386/pr49095.c: XFAIL for ia32.

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

9 years ago PR target/62631
ebotcazou [Tue, 3 Feb 2015 09:56:45 +0000 (09:56 +0000)]
PR target/62631
* config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
(TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
* config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.

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

9 years ago PR other/63504
jakub [Tue, 3 Feb 2015 09:39:19 +0000 (09:39 +0000)]
PR other/63504
* combine.c (reg_n_sets_max): New variable.
(can_change_dest_mode, reg_nonzero_bits_for_combine,
reg_num_sign_bit_copies_for_combine, get_last_value_validate,
get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
(try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
(rest_of_handle_combine): Initialize reg_n_sets_max.

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

9 years agoPR preprocessor/64803 - __LINE__ inside macro is not constant
dodji [Tue, 3 Feb 2015 09:26:46 +0000 (09:26 +0000)]
PR preprocessor/64803 - __LINE__ inside macro is not constant

Consider the example code mentionned in this PR:

 $ cat -n test.c
      1 #define C(a, b) a ## b
      2 #define L(x) C(L, x)
      3 #define M(a) goto L(__LINE__); __LINE__; L(__LINE__):
      4 M(a /* --> this is the line of the expansion point of M.  */
      5   ); /* --> this is the line of the end of the invocation of M.  */
 $

"cc1 -quiet -E test.c" yields:

 goto L5; 5; L4:
    ;

Notice how we have a 'L4' there, where it should be L5.  That is the issue.

My understanding is that during the *second* expansion of __LINE__
(the one between the two L(__LINE__)), builtin_macro() is called by
enter_macro_context() with the location of the expansion point of M
(which is at line 4).  Then _cpp_builtin_macro_text() expands __LINE__
into the line number of the location of the last token that has been
lexed, which is the location of the closing parenthesis of the
invocation of M, at line 5.  So that invocation of __LINE__ is
expanded into 5.

Now let's see why the last invocation of __LINE__ is expanded into 4.

In builtin_macro(), we have this code at some point:

   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
   pfile->cur_token = _cpp_temp_token (pfile);
   cpp_token *token = _cpp_lex_direct (pfile);
   /* We should point to the expansion point of the builtin macro.  */
   token->src_loc = loc;

The first two statements insert a new token in the stream of lexed
token and pfile->cur_token[-1], is the "new" last token that has been
lexed.  But the location of pfile->cur_token[-1] is the same location
as the location of the "previous" pfile->cur_token[-1], by courtesy of
_cpp_temp_token().  So normally, in subsequent invocations of
builtin_macro(), the location of pfile->cur_token[-1] should always be
the location of the closing parenthesis of the invocation of M at line
5.  Except that that code in master now has the statement
"token->src_loc = loc;" on the next line.  That statement actually
sets the location of pfile->cur_token[-1] to 'loc'.  Which is the
location of the expansion point of M, which is on line 4.

So in the subsequent call to builtin_macro() (for the last expansion
of __LINE__ in L(__LINE__)), for _cpp_builtin_macro_text(),
pfile->cur_token[-1].src_loc is going to have a line number of 4.

I think the core issue here is that the location that is passed to
builtin_macro() from enter_macro_context() is not correct when we are
in presence of a top-most function-like macro invocation; in that
case, that location should be the location of the closing parenthesis
of the macro invocation.  Otherwise, if we are in presence of a a
top-most object-like macro invocation then the location passed down
to builtin_macro should be the location of the expansion point of the
macro.

That way, in the particular case of the input code above, the location
received by builtin_macro() will always have line number 5.

Boostrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/ChangeLog:

* internal.h (cpp_reader::top_most_macro_node): New data member.
* macro.c (enter_macro_context): Pass the location of the end of
the top-most invocation of the function-like macro, or the
location of the expansion point of the top-most object-like macro.
(cpp_get_token_1): Store the top-most macro node in the new
pfile->top_most_macro_node data member.
(_cpp_pop_context): Clear the new cpp_reader::top_most_macro_node
data member.

gcc/testsuite/ChangeLog:

* gcc.dg/cpp/builtin-macro-1.c: New test case.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220367 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/64836
ian [Tue, 3 Feb 2015 03:33:21 +0000 (03:33 +0000)]
PR go/64836
PR go/64838

compiler: Use int64_t for backend type size and alignment.

Fixes 32-bit host 64-bit target cross-compilation.

* go-gcc.cc (Gcc_backend::type_size): Change return type to
int64_t.
(Gcc_backend::type_alignment): Likewise.
(Gcc_backend::type_field_alignment): Likewise.
(Gcc_backend::type_field_offset): Likewise.
(Gcc_backend::implicit_variable): Change alignment parameter type
to int64_t.

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

9 years ago PR c++/64901
jason [Tue, 3 Feb 2015 02:49:42 +0000 (02:49 +0000)]
PR c++/64901
* decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
DECL_OVERRIDE_P.

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

9 years agoDaily bump.
gccadmin [Tue, 3 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
hubicka [Mon, 2 Feb 2015 23:46:31 +0000 (23:46 +0000)]
* ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
if some always_inline was inlined, apply changes before inlining
heuristically.

* g++.dg/ipa/devirt-37.C: Disable early inlining.

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

9 years ago2015-02-02 Bruno Loff <bruno.loff@gmail.com>
dnovillo [Mon, 2 Feb 2015 21:18:56 +0000 (21:18 +0000)]
2015-02-02  Bruno Loff <bruno.loff@gmail.com>

* c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
processing enum declaration.

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

9 years ago * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
jason [Mon, 2 Feb 2015 17:46:56 +0000 (17:46 +0000)]
* tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.

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

9 years ago[ARM/AArch64][testsuite] Add vmax, vmin, vhadd, vhsub and vrhadd tests.
clyon [Mon, 2 Feb 2015 16:56:12 +0000 (16:56 +0000)]
[ARM/AArch64][testsuite] Add vmax, vmin, vhadd, vhsub and vrhadd tests.

2015-02-02  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
(_ARM_FPSRC): Add DN and AHP fields.
(clean_results): Force DN=1 on AArch64.
* gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file.

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

9 years ago * MAINTAINERS (Various Maintainers: testsuite): Remove myself.
janis [Mon, 2 Feb 2015 16:40:20 +0000 (16:40 +0000)]
* MAINTAINERS (Various Maintainers: testsuite): Remove myself.
(Write After Approval): Update address.

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

9 years agoPR jit/64810: fix for arm_option_override
dmalcolm [Mon, 2 Feb 2015 16:11:15 +0000 (16:11 +0000)]
PR jit/64810: fix for arm_option_override

gcc/ChangeLog:
PR jit/64810
* config/arm/arm.c (arm_option_override): Set
arm_selected_arch/cpu/tune to NULL on entry.

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

9 years agoRegenerate .pot files.
jsm28 [Mon, 2 Feb 2015 16:07:12 +0000 (16:07 +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@220349 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
belagod [Mon, 2 Feb 2015 15:54:59 +0000 (15:54 +0000)]
2015-02-02  Tejas Belagod  <tejas.belagod@arm.com>
    Andrew Pinski  <pinskia@gcc.gnu.org>
    Jakub Jelinek  <jakub@gcc.gnu.org>

PR target/64231
* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
integer typing for small model. Use IN_RANGE.

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

9 years agoPR jit/64810: support DImode on arm
dmalcolm [Mon, 2 Feb 2015 15:21:16 +0000 (15:21 +0000)]
PR jit/64810: support DImode on arm

gcc/jit/ChangeLog:
PR jit/64810
* dummy-frontend.c (jit_langhook_type_for_mode): Support
TYPE_MODE (long_long_integer_type_node).

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

9 years ago2015-02-02 Richard Biener <rguenther@suse.de>
rguenth [Mon, 2 Feb 2015 15:01:28 +0000 (15:01 +0000)]
2015-02-02  Richard Biener  <rguenther@suse.de>

* tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
* tree-vrp.c (vrp_valueize_1): Likewise.

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

9 years ago * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
vehre [Mon, 2 Feb 2015 09:59:47 +0000 (09:59 +0000)]
* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
* trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
Fixed datatype of charlen to be a 32-bit int.

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

9 years agogcc/
amodra [Mon, 2 Feb 2015 07:16:11 +0000 (07:16 +0000)]
gcc/
* config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
than mem for toc_restore.
* config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
(call_indirect_aix, call_value_indirect_aix): Adjust to suit.
(call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
gcc/testsuite/
* gcc.target/powerpc/cprophard.c: New.

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

9 years agoDelete empty directory.
dje [Mon, 2 Feb 2015 03:32:11 +0000 (03:32 +0000)]
Delete empty directory.

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

9 years ago PR libgomp/64635
dje [Mon, 2 Feb 2015 03:31:31 +0000 (03:31 +0000)]
    PR libgomp/64635
        * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
        Link with -lpthread.
        * config/aix/plugin-suffix.h: Delete.

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

9 years ago PR target/64047
dje [Mon, 2 Feb 2015 00:59:00 +0000 (00:59 +0000)]
    PR target/64047
        * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
        explicit default options.

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

9 years agoDaily bump.
gccadmin [Mon, 2 Feb 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-02-01 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Sun, 1 Feb 2015 21:23:27 +0000 (21:23 +0000)]
2015-02-01  Andreas Tobler  <andreast@gcc.gnu.org>

    * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*.
    * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources.

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

9 years ago PR ipa/64872
hubicka [Sun, 1 Feb 2015 18:46:14 +0000 (18:46 +0000)]
PR ipa/64872
* ipa-utils.c (ipa_merge_profiles): Add release argument.
* ipa-icf.c (sem_function::merge): Do not release body when merging.
* ipa-utils.h (ipa_merge_profiles): Update prototype.

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

9 years ago PR debug/64817
jakub [Sun, 1 Feb 2015 17:26:17 +0000 (17:26 +0000)]
PR debug/64817
* cfgexpand.c (deep_ter_debug_map): New variable.
(avoid_deep_ter_for_debug): New function.
(expand_debug_expr): If TERed SSA_NAME is in
deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
instead of trying to expand SSA_NAME's def stmt.
(expand_debug_locations): When expanding debug bind
of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
value.
(pass_expand::execute): Call avoid_deep_ter_for_debug on
all debug bind stmts.  Delete deep_ter_debug_map after
expand_debug_location if non-NULL and clear it.

* gcc.dg/pr64817-1.c: New test.
* gcc.dg/pr64817-2.c: New test.

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

9 years ago * src/c++11/futex.cc: Do not define for gthr-single.h targets.
redi [Sun, 1 Feb 2015 15:11:23 +0000 (15:11 +0000)]
* src/c++11/futex.cc: Do not define for gthr-single.h targets.

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

9 years ago PR libstdc++/64883
redi [Sun, 1 Feb 2015 15:11:08 +0000 (15:11 +0000)]
PR libstdc++/64883
* include/c_global/cstdio (gets): Use __deprecated__ attribute instead
of deprecated.
* include/c_std/cstdio (gets): Likewise.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
with attributes used in darwin headers.

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

9 years agogcc/
olegendo [Sun, 1 Feb 2015 11:12:47 +0000 (11:12 +0000)]
gcc/
PR target/64851
* config/sh/sync.md (atomic_fetch_notsi_hard,
atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
atomic_not_fetch<mode>_soft_imask): New insns.

gcc/testsuite/
PR target/64851
* gcc.target/sh/pr64851-0.h: New
* gcc.target/sh/pr64851-1.c: New
* gcc.target/sh/pr64851-2.c: New
* gcc.target/sh/pr64851-3.c: New
* gcc.target/sh/pr64851-4.c: New

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

9 years agoFix scheduling undeterminism from sorting with DEBUG_INSNs
mkuvyrkov [Sun, 1 Feb 2015 07:29:35 +0000 (07:29 +0000)]
Fix scheduling undeterminism from sorting with DEBUG_INSNs

* haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
(rank_for_schedule_debug): Split from ...
(rank_for_schedule): ... this.
(ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
* sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.

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

9 years ago2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 1 Feb 2015 02:11:30 +0000 (02:11 +0000)]
2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/md.texi (Machine Constraints): Alphabetize table by target.
* doc/extend.texi (x86 Variable Attributes): Move section to
correct alphabetization after renaming.
(x86 Type Attributes): Likewise.
(Target Builtins): Re-alphabetize menu.
(x86 Built-in Functions): Move section to correct alphabetization
after renaming.
(x86 transactional memory intrinsics): Likewise.
* doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
and x86 Windows Options in table and menu.
(x86 Options): Move section to correct alphabetization after
renaming.
(x86 Windows Options): Likewise.

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

9 years agoCorrect Changelog for r220309
sandra [Sun, 1 Feb 2015 02:09:48 +0000 (02:09 +0000)]
Correct Changelog for r220309

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

9 years agoAlways pass 0 or option number to gfc_warning*.
jsm28 [Sun, 1 Feb 2015 00:29:54 +0000 (00:29 +0000)]
Always pass 0 or option number to gfc_warning*.

Similar to the issue with fatal_error that I fixed in
<https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02690.html>, the
overloads of gfc_warning and gfc_warning_now (with and without a first
argument for an option number) also break gcc.pot regeneration because
xgettext expects the translated string argument to be in a fixed
position for a given function name.  This patch applies the
corresponding fix of always passing a first argument (option number or
0), just like the core diagnostic functions warning and warning_at,
and removing the problem overloads without it.

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

* error.c (gfc_warning (const char *, ...), gfc_warning_now (const
char *, ...)): Remove functions.
* gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
(const char *, ...)): Remove declarations.
* arith.c, check.c, data.c, decl.c, frontend-passes.c,
interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
trans-common.c, trans-const.c, trans-stmt.c: All callers of
gfc_warning and gfc_warning_now changed to pass 0 or option number
as first argument.

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

9 years agoDaily bump.
gccadmin [Sun, 1 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 31 Jan 2015 23:47:13 +0000 (23:47 +0000)]
2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
preferred names of the architecture and its 32- and 64-bit
variants.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.

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

9 years ago * config/pa/linux-atomic.c (__kernel_cmpxchg2): Change declaration of
danglin [Sat, 31 Jan 2015 19:45:53 +0000 (19:45 +0000)]
* config/pa/linux-atomic.c (__kernel_cmpxchg2): Change declaration of
oldval and newval to const void *.  Fix typo.
(FETCH_AND_OP_2): Use __atomic_load_n to load value.
(FETCH_AND_OP_WORD): Likewise.
(OP_AND_FETCH_WORD): Likewise.
(COMPARE_AND_SWAP_2): Likewise.
(__sync_val_compare_and_swap_4): Likewise.
(__sync_lock_test_and_set_4): Likewise.
(SYNC_LOCK_RELEASE_2): Likewise.
Remove support for long long atomic operations.

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

9 years ago2015-01-31 Uros Bizjak <ubizjak@gmail.com>
uros [Sat, 31 Jan 2015 15:30:30 +0000 (15:30 +0000)]
2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

        PR target/64882
* config/i386/predicates.md (address_no_seg_operand): Reject
non-CONST_INT_P operands in invalid mode.

2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
* config/i386/predicates.md (address_no_seg_operand): Call
address_operand with VOIDmode.
(vsib_address_operand): Ditto.
(address_mpx_no_base_operand): Ditto.
(address_mpx_no_index_operand): Ditto.

testsuite/ChangeLog:

2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

        PR target/64882
* gcc.dg/torture/pr64882.c: New test.

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

9 years ago PR target/64159
dje [Sat, 31 Jan 2015 14:57:43 +0000 (14:57 +0000)]
    PR target/64159
        * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Add XFAIL for powerpc*-*-* and
        sparc*-*-*.

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

9 years ago * fixincl.c (fix_applies) <case TT_CKSUM:>: Change C++ style comments.
uros [Sat, 31 Jan 2015 13:14:56 +0000 (13:14 +0000)]
* fixincl.c (fix_applies) <case TT_CKSUM:>: Change C++ style comments.

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

9 years ago * g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump.
uros [Sat, 31 Jan 2015 09:52:20 +0000 (09:52 +0000)]
* g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump.
* gcc.target/i386/chkp-builtins-1.c (dg-final): Cleanup chkp tree dump.
* gcc.target/i386/chkp-builtins-2.c (dg-final): Ditto.
* gcc.target/i386/chkp-builtins-3.c (dg-final): Ditto.
* gcc.target/i386/chkp-builtins-4.c (dg-final): Ditto.
* gcc.target/i386/chkp-const-check-1.c (dg-final): Cleanup chkopt
tree dump.
* gcc.target/i386/chkp-lifetime-1.c (dg-final): Ditto.
* gcc.target/i386/chkp-remove-bndint-1.c (dg-final): Cleanup optimized
tree dump.
* gcc.target/i386/chkp-remove-bndint-2.c (dg-final): Ditto.
* gfortran.dg/goacc/private-1.f95 (dg-final): Cleanup omplower
tree dump.

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

9 years agocompiler: Treat map index expressions as lvalues in range expressions.
ian [Sat, 31 Jan 2015 00:20:10 +0000 (00:20 +0000)]
compiler: Treat map index expressions as lvalues in range expressions.

Fixes golang/go#9695.

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

9 years agoDaily bump.
gccadmin [Sat, 31 Jan 2015 00:16:36 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 30 Jan 2015 22:22:58 +0000 (22:22 +0000)]
2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64688
* lra-constraints.c (original_subreg_reg_mode): New.
(simplify_operand_subreg): Try to simplify subreg of const.  Use
original_subreg_reg_mode for it.
(swap_operands): Update original_subreg_reg_mode.
(curr_insn_transform): Set up original_subreg_reg_mode.

2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64688
* g++.dg/pr64688-2.C: New.

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

9 years ago * gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target.
uros [Fri, 30 Jan 2015 19:50:06 +0000 (19:50 +0000)]
* gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target.
* gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Ditto.
* gcc.target/i386/headmerge-1.c: Ditto.
* gcc.target/i386/headmerge-2.c: Ditto.
* gcc.target/i386/sibcall-6.c: Ditto.

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

9 years ago2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 30 Jan 2015 17:47:44 +0000 (17:47 +0000)]
2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64617
* lra-constraints.c (prohibited_class_reg_set_mode_p): New
function.
(process_alt_operands): Use it.
(curr_insn_transform): Check the optional reload pseudo class is
ok for the mode.

2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64617
* gcc.target/i386/pr64617.c: New test.

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

9 years agoAlways pass explicit location to fatal_error.
jsm28 [Fri, 30 Jan 2015 16:15:00 +0000 (16:15 +0000)]
Always pass explicit location to fatal_error.

The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
adding an overload for fatal_error that passes an explicit location
broke gcc.pot regeneration because xgettext cannot handle function
overloads with the diagnostic string argument in different positions.

As the desired direction is for all diagnostics to have explicit
locations, this patch addresses the regression by removing the version
of fatal_error that does not pass a location, passing explicit
input_location everywhere (in the hope that those will incrementally
be changed to other locations, much as with the addition of a location
argument to pedwarn some time ago - a lot of cases aren't meaningfully
associated with a source file so UNKNOWN_LOCATION may be better).

Note that this patch does not attempt to fix any existing issues with
these diagnostics (such as wrongly starting with capital letters or
ending with '.' or '\n'); it just adds the input_location argument.

Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
excluded).

gcc:
* diagnostic.c (fatal_error (const char *, ...)): Remove function.
* diagnostic-core.h (fatal_error (const char *, ...)): Remove
prototype.
* toplev.h (init_asm_output): Update comment on use of
UNKNOWN_LOCATION with fatal_error.
* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
fatal_error changed to pass input_location as first argument.

gcc/c-family:
* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
to pass input_location as first argument.

gcc/cp:
* class.c, except.c, parser.c, pt.c: All callers of fatal_error
changed to pass input_location as first argument.

gcc/fortran:
* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
callers of fatal_error changed to pass input_location as first
argument.

gcc/java:
* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
fatal_error changed to pass input_location as first argument.

gcc/lto:
* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
changed to pass input_location as first argument.

libcc1:
* plugin.cc: All callers of fatal_error changed to pass
input_location as first argument.

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

9 years agocompiler: Pass location to fatal_error.
ian [Fri, 30 Jan 2015 16:04:58 +0000 (16:04 +0000)]
compiler: Pass location to fatal_error.

The GCC function is changing.

The error functions need to move to a compiler-indepent
approach so that changes to the GCC functions are not a
concern here.

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

9 years agocompiler: Add pkgpath symbol information to export data.
ian [Fri, 30 Jan 2015 15:57:59 +0000 (15:57 +0000)]
compiler: Add pkgpath symbol information to export data.

This adds the pkgpath symbol to the export data whenever it is
needed--whenever the pkgpath symbol is not the obvious
transformation of the pkgpath.  This lets us determine the
correct symbol name for indirectly imported packages compiled
with -fgo-prefix.

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

9 years ago2015-01-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Jan 2015 15:31:01 +0000 (15:31 +0000)]
2015-01-30  Robert Dewar  <dewar@adacore.com>

* a-assert.adb: Minor reformatting.
* sem_ch13.adb: Minor comment clarification.
* types.ads: Minor comment update.
* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
when we have a predicate that is nothing but an inherited dynamic
predicate.

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

9 years ago2015-01-30 Jerome Guitton <guitton@adacore.com>
charlet [Fri, 30 Jan 2015 15:29:39 +0000 (15:29 +0000)]
2015-01-30  Jerome Guitton  <guitton@adacore.com>

* gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
include cert link spec.

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

9 years ago2015-01-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Jan 2015 15:25:38 +0000 (15:25 +0000)]
2015-01-30  Robert Dewar  <dewar@adacore.com>

* einfo.ads: Minor comment fix.
* freeze.adb (Freeze_Profile): Add test for suspicious import
in pure unit.
* sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
use in Pure unit is now moved to Freeze (to properly catch
Pure_Function exemption).

2015-01-30  Bob Duff  <duff@adacore.com>

* sem_res.ads: Minor comment fix.
* sem_type.adb: sem_type.adb (Remove_Conversions): Need to
check both operands of an operator.

2015-01-30  Yannick Moy  <moy@adacore.com>

* a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
policy for Pre to Ignore.
(Assert): Add precondition.

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

9 years ago2015-01-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Jan 2015 15:23:22 +0000 (15:23 +0000)]
2015-01-30  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Warn if used in
Pure unit.
* s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
documentation for some special cases of invalid attempts at
based integers.

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

9 years ago2015-01-30 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 30 Jan 2015 15:15:45 +0000 (15:15 +0000)]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

* errout.ads: Minor reformatting.

2015-01-30  Yannick Moy  <moy@adacore.com>

* inline.adb (Process_Formals): Use the sloc of
the inlined node instead of the sloc of the actual parameter,
when replacing formal parameters by the actual one.

2015-01-30  Arnaud Charlet  <charlet@adacore.com>

* g-expect.adb (Get_Command_Output): Use infinite timeout when
calling Expect.

2015-01-30  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Associations): If an in-parameter is
defaulted in an instantiation, add an entry in the list of actuals
to indicate the default value of the formal (as is already done
for defaulted subprograms).

2015-01-30  Javier Miranda  <miranda@adacore.com>

* errout.adb (Error_Msg_PT): Minor error phrasing update.

2015-01-30  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Known_Condition): Improve error message
for object case.

2015-01-30  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_dbug.adb (Get_Encoded_Name): When
-fgnat-encodings=minimal, do not generate names for biased types.

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

9 years ago2015-01-30 Tristan Gingold <gingold@adacore.com>
charlet [Fri, 30 Jan 2015 15:13:15 +0000 (15:13 +0000)]
2015-01-30  Tristan Gingold  <gingold@adacore.com>

PR ada/64349
* env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.

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

9 years ago2015-01-30 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 30 Jan 2015 15:06:14 +0000 (15:06 +0000)]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

* freeze.adb: Minor reformatting.

2015-01-30  Javier Miranda  <miranda@adacore.com>

* errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
improve its documentation.
* errout.adb (Error_Msg_PT): Improve the error message.
* sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
(Check_Synchronized_Overriding): Update call to Error_Msg_PT.
* sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.

2015-01-30  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Known_Condition): Do special casing of
message for False case.

2015-01-30  Doug Rupp  <rupp@adacore.com>

* s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
* s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
kernel.

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

9 years ago2015-01-30 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 30 Jan 2015 15:02:09 +0000 (15:02 +0000)]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

* sem_attr.adb (Declared_Within_Generic_Unit):
New function to test whether an entity is declared within the
declarative region of a given generic unit.
(Resolve_Attribute): For checking legality of subprogram'Access within
a generic unit, call new Boolean function Declared_Within_Generic_Unit
instead of simply comparing the results of Enclosing_Generic_Unit on
the prefix and access type.  Correct minor comment typos.

2015-01-30  Robert Dewar  <dewar@adacore.com>

* freeze.adb, exp_util.ads: Update comment.
* exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
* sem_util.adb: Minor: fix typo.

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

9 years ago2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 30 Jan 2015 14:59:21 +0000 (14:59 +0000)]
2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Analyze_Attribute): Ensure that
the check concerning Refined_Post takes precedence over the
other cases.

2015-01-30  Gary Dismukes  <dismukes@adacore.com>

* sem_prag.adb: Minor typo fixes and reformatting.

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

9 years ago[Patch/libcpp] Change __ARM_NEON__ to __ARM_NEON in lex.c
jiwang [Fri, 30 Jan 2015 14:07:00 +0000 (14:07 +0000)]
[Patch/libcpp] Change __ARM_NEON__ to __ARM_NEON in lex.c

2015-01-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* lex.c (search_line_fast): Change __ARM_NEON__ to __ARM_NEON.

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

9 years agoGuard GCC version for a pragma ifdef.
marxin [Fri, 30 Jan 2015 11:57:57 +0000 (11:57 +0000)]
Guard GCC version for a pragma ifdef.

* tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
in #pragma GCC diagnostic guards.

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

9 years ago2015-01-30 Yannick Moy <moy@adacore.com>
charlet [Fri, 30 Jan 2015 11:20:27 +0000 (11:20 +0000)]
2015-01-30  Yannick Moy  <moy@adacore.com>

* sem_attr.adb: Code clean up.

2015-01-30  Robert Dewar  <dewar@adacore.com>

* ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
* ali.ads (Unit_Record): Add new field Serious_Errors.
* lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
attribute in U line.
* lib-writ.ads: New attribute SE (serious erors) in unit line.

2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Update the usage of attributes Entry_Bodies_Array,
Lit_Indexes, Scale_Value, Storage_Size_Variable,
String_Literal_Low_Bound along associated routines and
Write_FieldX_Name.
(Pending_Access_Types): New routine.
(Set_Pending_Access_Types): New routine.
(Write_Field15_Name): Add an entry for Pending_Access_Types.
* einfo.ads Add new attribute Pending_Access_Types along
with usage in nodes.  Update the usage of attributes
Entry_Bodies_Array, Lit_Indexes, Scale_Value,
Storage_Size_Variable, String_Literal_Low_Bound.
(Pending_Access_Types): New routine along with pragma Inline.
(Set_Pending_Access_Types): New routine along with pragma Inline.
* exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
Ins_Node. Determine the insertion node for anonynous access type
that acts as a component type of an array. Update the call to
Build_Finalization_Master.
(Expand_Freeze_Record_Type): Update
the calls to Build_Finalization_Master.
(Freeze_Type): Remove
local variable RACW_Seen. Factor out the code that deals with
remote access-to-class-wide types. Create a finalization master
when the designated type contains a private component. Fully
initialize all pending access types.
(Process_RACW_Types): New routine.
(Process_Pending_Access_Types): New routine.
* exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
needs to set primitive Finalize_Address.
(Expand_N_Allocator): Allocation no longer sets primitive
Finalize_Address.
* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
Update the call to Build_Finalization_Master.
(Make_Build_In_Place_Call_In_Allocator): Allocation no longer
needs to set primitive Finalize_Address.
* exp_ch7.adb (Add_Pending_Access_Type): New routine.
(Build_Finalization_Master): New parameter profile. Associate
primitive Finalize_Address with the finalization master if the
designated type has been frozen, otherwise treat the access
type as pending. Simplify the insertion of the master and
related initialization code.
(Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
abstract types.
(Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
Simplify the implementation.
* exp_ch7.ads (Build_Finalization_Master): New parameter profile
along with comment on usage.
(Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
the comment on usage.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
Finalize_Address to retrieve the primitive.
(Finalize_Address): New routine.
(Find_Finalize_Address): Removed.
* exp_util.ads (Finalize_Address): New routine.
* freeze.adb (Freeze_All): Remove the generation of finalization
masters.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
pending access types from the partial to the full view.

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

9 years ago2015-01-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Jan 2015 11:02:18 +0000 (11:02 +0000)]
2015-01-30  Robert Dewar  <dewar@adacore.com>

* sem_disp.adb: Minor reformatting.
* sem_disp.ads: Documentation update.

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

9 years ago PR target/15184
uros [Fri, 30 Jan 2015 10:53:53 +0000 (10:53 +0000)]
PR target/15184
* gcc.target/i386/pr15184-1.c: Compile for ia32 target only.
(dg-options): Remove -m32.
(dg-final): Scan for "movb %al" only.
* gcc.target/i386/pr15184-2.c: Ditto.

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

9 years ago2015-01-30 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 30 Jan 2015 09:29:51 +0000 (09:29 +0000)]
2015-01-30  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
or a function call, return True if type is class-wide.
* sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
Apply RM 4.5.7 (17/3): all or none of the dependent expression
of a conditional expression must be dynamically tagged.

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

9 years ago2015-01-30 Richard Biener <rguenther@suse.de>
rguenth [Fri, 30 Jan 2015 09:22:17 +0000 (09:22 +0000)]
2015-01-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64829
* tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
not add a widening conversion pattern but hand off extra
widenings to callers.
(vect_recog_widen_mult_pattern): Handle extra widening produced
by vect_handle_widen_op_by_const.
(vect_recog_widen_shift_pattern): Likewise.
(vect_pattern_recog_1): Remove excess vertical space in dumping.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
(vect_init_vector_1): Likewise.
(vect_get_vec_def_for_operand): Likewise.
(vect_finish_stmt_generation): Likewise.
(vectorizable_load): Likewise.
(vect_analyze_stmt): Likewise.
(vect_is_simple_use): Likewise.

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

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