gcc.git
9 years agore PR c++/60955 (Erroneous warning about taking address of register with std=c++1y)
Paolo Carlini [Thu, 18 Dec 2014 17:53:55 +0000 (17:53 +0000)]
re PR c++/60955 (Erroneous warning about taking address of register with std=c++1y)

/cp
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60955
* pt.c (struct warning_sentinel): Move it...
* cp-tree.h: ... here.
* semantics.c (force_paren_expr): Use it.

/testsuite
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60955
* g++.dg/warn/register-parm-1.C: New.

From-SVN: r218871

9 years agoX86-64: Add -mskip-rax-setup
H.J. Lu [Thu, 18 Dec 2014 17:35:45 +0000 (17:35 +0000)]
X86-64: Add -mskip-rax-setup

The Linux kernel never passes floating point arguments around, vararg
functions or not. Hence no vector registers are ever used when calling a
vararg function.  But gcc still dutifully emits an "xor %eax,%eax" before
each and every call of a vararg function.  Since no callee use that for
anything, these instructions are redundant.

This patch adds the -mskip-rax-setup option to skip setting up RAX
register when SSE is disabled and there are no variable arguments passed
in vector registers.  Since RAX register is used to avoid unnecessarily
saving vector registers on stack when passing variable arguments, the
impacts of this option are callees may waste some stack space, misbehave
or jump to a random location.  GCC 4.4 or newer don't those issues,
regardless the RAX register value since they don't check the RAX register
value when SSE is disabled.

gcc/

* config/i386/i386.c (ix86_expand_call): Skip setting up RAX
register for -mskip-rax-setup when there are no parameters
passed in vector registers.
* config/i386/i386.opt (mskip-rax-setup): New option.
* doc/invoke.texi: Document -mskip-rax-setup.

gcc/testsuite/

* gcc.target/i386/amd64-abi-7.c: New tests.
* gcc.target/i386/amd64-abi-8.c: Likwise.
* gcc.target/i386/amd64-abi-9.c: Likwise.

From-SVN: r218870

9 years ago[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic
Alan Lawrence [Thu, 18 Dec 2014 15:20:11 +0000 (15:20 +0000)]
[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic

gcc/:
* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift
by 64 by moving const0_rtx.
(aarch64_ushr_simddi): Delete.

* config/aarch64/aarch64.md (enum unspec): Delete UNSPEC_USHR64.

gcc/testsuite/:

        * gcc.target/aarch64/ushr64_1.c: Remove scan-assembler "ushr...64".

From-SVN: r218868

9 years ago[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic
Alan Lawrence [Thu, 18 Dec 2014 15:00:51 +0000 (15:00 +0000)]
[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

        * config/aarch64/aarch64.md (enum "unspec"): Remove UNSPEC_SSHR64.

        * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Change shift
        amount to 63 if was 64.
        (aarch64_sshr_simddi): Remove.

From-SVN: r218867

9 years ago[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
Wilco Dijkstra [Thu, 18 Dec 2014 13:48:34 +0000 (13:48 +0000)]
[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

* gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL):
Define.
(aarch64_min_divisions_for_recip_mul): New function.

From-SVN: r218866

9 years ago[AArch64] Generalize code alignment
Wilco Dijkstra [Thu, 18 Dec 2014 13:46:22 +0000 (13:46 +0000)]
[AArch64] Generalize code alignment

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

* config/aarch64/aarch64-protos.h (tune-params): Add code alignment
tuning parameters.
* gcc/config/aarch64/aarch64.c (generic_tunings): Add code alignment
tuning parameters.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(aarch64_override_options): Use new alignment tunings.

From-SVN: r218865

9 years agore PR tree-optimization/64330 (IPA-ICF merges const exported vars that could be addre...
Martin Liska [Thu, 18 Dec 2014 13:32:18 +0000 (14:32 +0100)]
re PR tree-optimization/64330 (IPA-ICF merges const exported vars that could be addressable in other TUs)

Fix for PR64330.

PR tree-optimization/64330
* ipa-icf.c (sem_variable::parse): Add checking
for externally visible symbols and do not introduce
an alias for an external declaration.

From-SVN: r218864

9 years agore PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)
Jan Hubicka [Thu, 18 Dec 2014 12:06:34 +0000 (13:06 +0100)]
re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)

Fix for PR bootstrap/63573.

PR bootstrap/63573
* tree-inline.c (remap_gimple_stmt): Handle gimple_call_from_thunk_p
predicate.

From-SVN: r218861

9 years agore PR ipa/64146 (ipa-icf breaks gold dynamic_test_2 test)
Martin Liska [Thu, 18 Dec 2014 12:02:22 +0000 (13:02 +0100)]
re PR ipa/64146 (ipa-icf breaks gold dynamic_test_2 test)

Fix for PR ipa/64146

PR ipa/64146
* ipa-icf.c (sem_function::merge): Check for
decl_binds_to_current_def_p is newly added to merge operation.
* g++.dg/ipa/pr64146.C: New test.

From-SVN: r218860

9 years agoChange mpx effective-target test into link test
Rainer Orth [Thu, 18 Dec 2014 11:54:40 +0000 (11:54 +0000)]
Change mpx effective-target test into link test

* lib/mpx-dg.exp (check_effective_target_mpx): Change into link test.
Add main.

From-SVN: r218859

9 years agoInclude target-utils.exp in boehm-gc testing
Rainer Orth [Thu, 18 Dec 2014 09:42:22 +0000 (09:42 +0000)]
Include target-utils.exp in boehm-gc testing

* testsuite/lib/boehm-gc.exp: Load target-utils.exp.

From-SVN: r218857

9 years agoAdd myself to MAINTAINERS under Writer After Approval
Prathamesh Kulkarni [Thu, 18 Dec 2014 06:19:33 +0000 (06:19 +0000)]
Add myself to MAINTAINERS under Writer After Approval

From-SVN: r218856

9 years agore PR middle-end/62178 ([AArch64] Performance regression on matrix matrix multiply...
Bin Cheng [Thu, 18 Dec 2014 02:53:42 +0000 (02:53 +0000)]
re PR middle-end/62178 ([AArch64] Performance regression on matrix matrix multiply due to r211211)

PR tree-optimization/62178
* tree-ssa-loop-ivopts.c (cheaper_cost_with_cand): New function.
(iv_ca_replace): New function.
(try_improve_iv_set): New parameter try_replace_p.
Break local optimal fixed-point by calling iv_ca_replace.
(find_optimal_iv_set_1): Pass new argument to try_improve_iv_set.

gcc/testsuite/ChangeLog
PR tree-optimization/62178
* gcc.target/aarch64/pr62178.c: New test.

From-SVN: r218855

9 years agoauto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place.
Dehao Chen [Thu, 18 Dec 2014 00:19:24 +0000 (00:19 +0000)]
auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place.

gcc/ChangeLog:
2014-12-17  Dehao Chen  <dehao@google.com>

        * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
        place.
        (auto_profile): Recompute inline summary after processing cgraph node.

From-SVN: r218854

9 years agoDaily bump.
GCC Administrator [Thu, 18 Dec 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218853

9 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Wed, 17 Dec 2014 23:08:14 +0000 (23:08 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (is_conditional_insn): New function.
(cbranch_trace): Add member rtx* condition_rtx_in_insn, initialize it
accordingly in constructor.
(cbranch_trace::branch_condition_rtx_ref): New function.
(cbranch_trace::branch_condition_rtx): Use branch_condition_rtx_ref.
(sh_treg_combine::try_invert_branch_condition): Invert condition rtx
in insn using reversed_comparison_code and validate_change instead of
invert_jump_1.
(sh_treg_combine::execute): Look for conditional insns in basic blocks
in addition to conditional branches.
* config/sh/sh.md (*movsicc_div0s): Remove combine patterns.

From-SVN: r218850

9 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Wed, 17 Dec 2014 22:52:21 +0000 (22:52 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::try_optimize_cbranch):
Combine ccreg inversion and cbranch into inverted cbranch.

From-SVN: r218847

9 years agodg-extract-results.sh: Use --text with grep to avoid issues with binary files.
Sergio Durigan Junior [Wed, 17 Dec 2014 22:35:04 +0000 (22:35 +0000)]
dg-extract-results.sh: Use --text with grep to avoid issues with binary files.

2014-12-17  Sergio Durigan Junior  <sergiodj@redhat.com>

* dg-extract-results.sh: Use --text with grep to avoid issues with
  binary files.  Fall back to cat -v, if that doesn't work.

From-SVN: r218843

9 years agoFix typo in changelog.
Vladimir Makarov [Wed, 17 Dec 2014 21:29:01 +0000 (21:29 +0000)]
Fix typo in changelog.

From-SVN: r218836

9 years agolra-constrints.c (process_alt_operands): Remove non allocatable hard regs when consid...
Vladimir Makarov [Wed, 17 Dec 2014 21:25:18 +0000 (21:25 +0000)]
lra-constrints.c (process_alt_operands): Remove non allocatable hard regs when considering ira_prohibited_class_mode_regs.

2014-12-17  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constrints.c (process_alt_operands): Remove non allocatable
hard regs when considering ira_prohibited_class_mode_regs.

From-SVN: r218835

9 years agore PR fortran/64173 ([F03] ICE involving procedure pointer component)
Janus Weil [Wed, 17 Dec 2014 21:12:42 +0000 (22:12 +0100)]
re PR fortran/64173 ([F03] ICE involving procedure pointer component)

2014-12-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64173
* trans-array.c (structure_alloc_comps): Do not nullify procedure
pointer components.

2014-12-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64173
* gfortran.dg/proc_ptr_comp_40.f90: New.

From-SVN: r218834

9 years agosreal.h (sreal::normalize): Implement inline.
Jan Hubicka [Wed, 17 Dec 2014 21:11:46 +0000 (22:11 +0100)]
sreal.h (sreal::normalize): Implement inline.

* sreal.h (sreal::normalize): Implement inline.
(sreal::normalize_up): New function.
(sreal::normalize_down): New function.
* sreal.c (sreal::normalize): Remove.

From-SVN: r218833

9 years agore PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr functio...
Jason Merrill [Wed, 17 Dec 2014 20:41:18 +0000 (15:41 -0500)]
re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr function is evaluated twice)

PR c++/64333
* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
(cxx_eval_call_expression): Don't cache calls with non-constant args.
(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
(cxx_eval_unary_expression, cxx_eval_binary_expression)
(cxx_eval_conditional_expression): Pass false for lval.

From-SVN: r218832

9 years ago* constexpr.c: Change "addr" parm names to "lval".
Jason Merrill [Wed, 17 Dec 2014 20:41:12 +0000 (15:41 -0500)]
* constexpr.c: Change "addr" parm names to "lval".

From-SVN: r218831

9 years ago* constexpr.c: Tweak comments and formatting.
Jason Merrill [Wed, 17 Dec 2014 20:41:07 +0000 (15:41 -0500)]
* constexpr.c: Tweak comments and formatting.

From-SVN: r218830

9 years ago[AArch64] Remove "generic_sched" attribute
James Greenhalgh [Wed, 17 Dec 2014 18:15:46 +0000 (18:15 +0000)]
[AArch64] Remove "generic_sched" attribute

gcc/

* config/aarch64/aarch64.md (generic_sched): Delete it.

From-SVN: r218829

9 years agoMSP430: Fix unused arg warning
Jan-Benedict Glaw [Wed, 17 Dec 2014 17:10:37 +0000 (17:10 +0000)]
MSP430: Fix unused arg warning

The build robot found this:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace   -o msp430.o -MT msp430.o -MMD -MP -MF ./.deps/msp430.TPo ../../../gcc/gcc/config/msp430/msp430.c
../../../gcc/gcc/config/msp430/msp430.c:979:43: error: unused parameter ‘file’ [-Werror=unused-parameter]
 msp430_asm_output_addr_const_extra (FILE *file, rtx x)
                                           ^
cc1plus: all warnings being treated as errors
make[2]: *** [msp430.o] Error 1

(See for example this build:
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=384666)

Ok for this one?

2014-12-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

        * config/msp430/msp430.c (msp430_asm_output_addr_const_extra): Fix
        unused argument warning.

From-SVN: r218828

9 years agodwarf2out.c: do not short-circuit add_bound_info in array descr. lang-hook
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:58 +0000 (16:25 +0000)]
dwarf2out.c: do not short-circuit add_bound_info in array descr. lang-hook

gcc/
* dwarf2out.h (struct array_descr_info): Remove the base_decl field.
* dwarf2out.c (enum dw_scalar_form): New.
(struct loc_descr_context): New.
(add_scalar_info): New.
(add_bound_info): Add a context parameter.  Use add_scalar_info.
(loc_list_from_tree): Add a context parameter.  Handle PLACEHOLDER_EXPR
nodes for type-related expressions.  Likewise for base declarations.
(loc_descriptor_from_tree): Add a context parameter.
(subrange_type_die): Update calls to add_bound_info.
(tls_mem_loc_descriptor): Likewise.
(loc_list_for_address_of_addr_expr_of_indirect_ref): Add a context
parameter.  Update calls to loc_list_from_tree.
(add_subscript_info): Update calls to add_bound_info.
(gen_array_type_die): Update calls to loc_list_from_tree and to
add_bound_info.
(descr_info_loc): Remove.
(add_descr_info_field): Remove.
(gen_descr_array_type_die): Switch add_descr_info_field calls into
add_scalar_info/add_bound_info ones.
(gen_subprogram_die): Update calls to loc_list_from_tree.
(gen_variable_die): Likewise.

From-SVN: r218827

9 years agoAdd a few debug utilities for DWARF expressions
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:49 +0000 (16:25 +0000)]
Add a few debug utilities for DWARF expressions

* dwarf2out.c (print_loc_descr): New.
(print_dw_val): New.
(print_attribute): New.
(print_loc_descr): New.
(print_die): Use print_dw_val.
(debug_dwarf_loc_descr): New.
* dwarf2out.h (debug_dwarf_loc_descr): New declaration.

From-SVN: r218826

9 years agoMake the Ada front-end use the array descr language hook
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:39 +0000 (16:25 +0000)]
Make the Ada front-end use the array descr language hook

* gcc-interface/misc.c (gnat_get_array_descr_info): New.  Use it for
the get_array_descr_info lang-hook.  Use it to tune the DWARF output
for array types.

From-SVN: r218825

9 years agoEnable the array descr language hook for all DWARF versions
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:30 +0000 (16:25 +0000)]
Enable the array descr language hook for all DWARF versions

* dwarf2out.c (gen_type_die_with_usage): Enable the array lang-hook
even when (dwarf_version < 3 && dwarf_strict).
(gen_descr_array_die): Do not output DW_AT_data_locationn,
DW_AT_associated, DW_AT_allocated and DW_AT_byte_stride DWARF
attributes when (dwarf_version < 3 && dwarf_strict).

From-SVN: r218824

9 years agoComplete information generated through the array descriptor language hook
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:21 +0000 (16:25 +0000)]
Complete information generated through the array descriptor language hook

gcc/
* dwarf2out.h (enum array_descr_ordering): New.
(array_descr_dimen): Add a bounds_type structure field.
(struct array_descr_info): Add a field to hold index type information
and another one to hold ordering information.
* dwarf2out.c (gen_type_die_with_usage): Get the main variant before
invoking the array descriptor language hook.  Initialize the
array_descr_info structure before calling the lang-hook.
(gen_descr_array_type_die): Use gen_type_die if not processing the main
type variant.  Replace Fortran-specific code with generic one using
this new field.  Add a GNAT descriptive type, if any.  Output type
information for the array bound subrange, if any.

gcc/fortran
* trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
with column major ordering.

From-SVN: r218823

9 years ago* MAINTAINERS (Write After Approval): Add myself.
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:12 +0000 (16:25 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r218822

9 years agoFix a typo in ChangeLog
H.J. Lu [Wed, 17 Dec 2014 14:39:43 +0000 (06:39 -0800)]
Fix a typo in ChangeLog

From-SVN: r218820

9 years agomksysinfo: Pass -O to compiler to avoid warnings on CentOS.
Ian Lance Taylor [Wed, 17 Dec 2014 14:26:55 +0000 (14:26 +0000)]
mksysinfo: Pass -O to compiler to avoid warnings on CentOS.

From Uros Bizjak.
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html

From-SVN: r218819

9 years agoAdd -malign-data={abi|compat|cachineline}
H.J. Lu [Wed, 17 Dec 2014 14:22:57 +0000 (14:22 +0000)]
Add -malign-data={abi|compat|cachineline}

Add -malign-data={abi|compat,cachineline} to control how GCC aligns
variables.  "compat" uses increased alignment value compatible with
GCC 4.8 and earlier, "abi" uses alignment value as specified by the
psABI, and "cacheline" uses increased alignment value to match the
cache line size.  "compat" is the default.

gcc/

PR target/61296
* config/i386/i386-opts.h (ix86_align_data): New enum.
* config/i386/i386.c (ix86_data_alignment): Return the ABI
alignment value for -malign-data=abi, the cachine line size
for -malign-data=cachineline and the older GCC compatible
alignment value for for -malign-data=compat.
* config/i386/i386.opt (malign-data=): New.
* doc/invoke.texi: Document -malign-data=.

gcc/testsuite/

PR target/61296
* gcc.target/i386/pr61296-2.c: New.
* gcc.target/i386/pr61296-2.c: Likewise.
* gcc.target/i386/pr61296-3.c: Likewise.
* gcc.target/i386/pr61296-4.c: Likewise.
* gcc.target/i386/pr61296-5.c: Likewise.
* gcc.target/i386/pr61296-6.c: Likewise.
* gcc.target/i386/pr61296-7.c: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r218818

9 years agore PR testsuite/64328 (addr_equal-1.c fails execution.)
Tejas Belagod [Wed, 17 Dec 2014 12:15:36 +0000 (12:15 +0000)]
re PR testsuite/64328 (addr_equal-1.c fails execution.)

PR testsuite/64328
* gcc.dg/addr_equal-1.c: Not supported for -fPIC.

From-SVN: r218817

9 years agore PR middle-end/63568 (Missed optimization (a & ~mask) | (b & mask) = a ^ ((a ^...
Marek Polacek [Wed, 17 Dec 2014 11:48:33 +0000 (11:48 +0000)]
re PR middle-end/63568 (Missed optimization (a & ~mask) | (b & mask) = a ^ ((a ^ b) & mask))

PR middle-end/63568
* match.pd: Add (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x pattern.

* gcc.dg/pr63568.c: New test.

From-SVN: r218816

9 years agore PR tree-optimization/64322 (More optimize opportunity for constant folding)
Jakub Jelinek [Wed, 17 Dec 2014 09:29:12 +0000 (10:29 +0100)]
re PR tree-optimization/64322 (More optimize opportunity for constant folding)

PR tree-optimization/64322
* tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.

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

From-SVN: r218812

9 years agore PR sanitizer/64289 (ICE with -fsanitize=float-cast-overflow)
Jakub Jelinek [Wed, 17 Dec 2014 09:26:49 +0000 (10:26 +0100)]
re PR sanitizer/64289 (ICE with -fsanitize=float-cast-overflow)

PR sanitizer/64289
* c-convert.c: Include ubsan.h.
(convert): For real -> integral casts and
-fsanitize=float-cast-overflow don't call convert_to_integer, but
instead instrument the float cast directly.

* c-c++-common/ubsan/pr64289.c: New test.

From-SVN: r218811

9 years agore PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect results)
Tim Shen [Wed, 17 Dec 2014 09:25:44 +0000 (09:25 +0000)]
re PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect results)

PR libstdc++/64302
PR libstdc++/64303
* include/bits/regex.h (match_results::cbegin, match_results::cend,
regex_token_iterator::regex_token_iterator,
regex_token_iterator::_M_normalize_result): Fix match_results cbegin
and cend and regex_token_iterator::_M_result invariant.
* include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.

From-SVN: r218810

9 years agodrop reason for my change from ChangeLog
Michael Haubenwallner [Wed, 17 Dec 2014 08:27:53 +0000 (08:27 +0000)]
drop reason for my change from ChangeLog

From-SVN: r218809

9 years agore PR fortran/54687 (Use gcc option machinery for gfortran)
Tobias Burnus [Wed, 17 Dec 2014 06:29:30 +0000 (07:29 +0100)]
re PR fortran/54687 (Use gcc option machinery for gfortran)

2014-12-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
gcc/
        * flag-types.h (gfc_init_local_real, gfc_fcoarray,
        gfc_convert): New enums; moved from fortran/.

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
        * libgfortran.h (unit_convert): Add comment.
        * lang.opt (flag-convert, flag-init_real, flag-coarray):
        Add Var() and Enum().
        * options.c (gfc_handle_coarray_option): Remove.
        (gfc_init_options, gfc_post_options, gfc_handle_option):
        Update for *.opt changes.
        * array.c: Update for flag-variable name changes.
        * check.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * trans-array.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-stmt.c: Ditto.
        * trans-types.c: Ditto.
        * trans.c: Ditto.

From-SVN: r218808

9 years agocrt.h: New.
Oleg Endo [Wed, 17 Dec 2014 02:01:10 +0000 (02:01 +0000)]
crt.h: New.

libgcc/
* config/sh/crt.h: New.
* config/sh/crti.S: Use GLOBAL macro from crt.h for _init and _fini
symbols.
* config/sh/crt1.S: Likewise.

From-SVN: r218807

9 years agocompiler: Don't crash on append with single argument.
Ian Lance Taylor [Wed, 17 Dec 2014 01:04:39 +0000 (01:04 +0000)]
compiler: Don't crash on append with single argument.

Instead of allocating an empty slice literal, use a slice
value with a nil pointer.

From-SVN: r218806

9 years agoDaily bump.
GCC Administrator [Wed, 17 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218805

9 years agore PR c++/58650 ([c++11] ICE with invalid friend declaration)
Paolo Carlini [Tue, 16 Dec 2014 23:28:31 +0000 (23:28 +0000)]
re PR c++/58650 ([c++11] ICE with invalid friend declaration)

/cp
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58650
* parser.c (cp_parser_member_declaration): Fix error recovery for
initialized non-static data member declared friend.

/testsuite
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58650
* g++.dg/parse/friend12.C: New.

From-SVN: r218801

9 years agocompiler: Don't built hash/equality functions for thunk structs.
Ian Lance Taylor [Tue, 16 Dec 2014 22:53:38 +0000 (22:53 +0000)]
compiler: Don't built hash/equality functions for thunk structs.

They are never necessary, and they can cause problems when a
thunk is used to pass an unexported type from a different
package to a function defined in that package.  The resulting
struct type may need to call the comparison routine from the
other package, which will fail because the type is not
exported.  This will be bug492 in the master testsuite.

From-SVN: r218798

9 years ago* fibonacci_heap.h (min): Return m_data instead of non-existing data.
Jan Hubicka [Tue, 16 Dec 2014 22:30:22 +0000 (23:30 +0100)]
* fibonacci_heap.h (min): Return m_data instead of non-existing data.

From-SVN: r218797

9 years agoipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of...
Jan Hubicka [Tue, 16 Dec 2014 22:16:17 +0000 (23:16 +0100)]
ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of const calls as constants.

* ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider
return values of const calls as constants.
(estimate_function_body_sizes): Expect calls to have false predicates.

From-SVN: r218796

9 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Tue, 16 Dec 2014 21:37:42 +0000 (21:37 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

gcc/testsuite/
PR target/54089
* gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2.

From-SVN: r218795

9 years agore PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])
Ian Lance Taylor [Tue, 16 Dec 2014 21:36:53 +0000 (21:36 +0000)]
re PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])

PR go/61246
compiler: Switch expression comparisons should be boolean typed.

From-SVN: r218794

9 years agore PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
Oleg Endo [Tue, 16 Dec 2014 21:28:59 +0000 (21:28 +0000)]
re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)

gcc/testsuite/
PR target/53513
* gcc.target/sh/fpchg.c: Rename to ...
* gcc.target/sh/pr53513-1.c: ... this.  Adjust test case to work for
-m4a and -m4a-single.

From-SVN: r218793

9 years agore PR fortran/54687 (Use gcc option machinery for gfortran)
Tobias Burnus [Tue, 16 Dec 2014 20:44:45 +0000 (21:44 +0100)]
re PR fortran/54687 (Use gcc option machinery for gfortran)

2014-12-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        * lang.opt (flag-aggressive_function_elimination,
        flag-align_commons, flag-all_intrinsics,
        flag-allow_leading_underscore, flag-automatic, flag-backslash,
        flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
        flag-dollar_ok, flag-dump_fortran_original,
        flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
        flag-implicit_none, flag-max_array_constructor,
        flag-module_private, flag-pack_derived, flag-range_check,
        flag-recursive, flag-repack_arrays, flag-sign_zero,
        flag-underscoring): Add Var() and, where applicable, Enum().
        * options.c (gfc_init_options, gfc_post_options,
        gfc_handle_option): Update for *.opt changes.
        * arith.c: Update for flag-variable name changes.
        * array.c: Ditto.
        * cpp.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * f95-lang.c: Ditto.
        * frontend-passes.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * module.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * scanner.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans-types.c: Ditto.

From-SVN: r218792

9 years agohwint.c (abs_hwi, absu_hwi): Move to ...
Jan Hubicka [Tue, 16 Dec 2014 19:59:56 +0000 (20:59 +0100)]
hwint.c (abs_hwi, absu_hwi): Move to ...

* hwint.c (abs_hwi, absu_hwi): Move to ...
* hwint.h (abs_hwi, absu_hwi): ... here; make inline.

From-SVN: r218791

9 years ago2014-12-15 Tobias Burnus <burnus@net-b.de>
Tobias Burnus [Tue, 16 Dec 2014 19:24:50 +0000 (20:24 +0100)]
2014-12-15  Tobias Burnus  <burnus@net-b.de>

        * lang.opt (fsecond-underscore, frecord-marker=8,
        * frecord-marker=4,
        frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
        freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
        fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
        ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
        finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
        fdefault-double-8): Add Var() and Init().
        * gfortran.h (gfc_option_t): Remove moved flags.
        * options.c (gfc_init_options, gfc_handle_option): Ditto.
        (gfc_post_options): Update for name change.
        * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
        flag-name change.
        * frontend-passes.c (gfc_run_passes): Ditto.
        * module.c (use_iso_fortran_env_module): Ditto.
        * primary.c (match_integer_constant, match_real_constant):
        * Ditto.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * scanner.c (gfc_next_char_literal, load_line): Ditto.
        * trans-array.c (gfc_trans_allocate_array_storage,
        gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
        gfc_conv_ss_startstride): Ditto.
        * trans-common.c (gfc_sym_mangled_common_id): Ditto.
        * trans-decl.c (gfc_sym_mangled_function_id,
        create_main_function): Ditto.
        * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
        arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
        gfc_trans_assignment_1): Ditto.
        * trans-stmt.c (gfc_trans_allocate): Ditto.
        * trans-types.c (gfc_init_kinds): Ditto.

From-SVN: r218790

9 years agore PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])
Ian Lance Taylor [Tue, 16 Dec 2014 19:14:54 +0000 (19:14 +0000)]
re PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])

PR go/61264
compiler: Fix copying behavior for empty composite literals.

From-SVN: r218789

9 years agore PR go/61273 (gccgo: ICE in Unsafe_type_conversion_expression::do_get_backend ...
Ian Lance Taylor [Tue, 16 Dec 2014 18:53:46 +0000 (18:53 +0000)]
re PR go/61273 (gccgo: ICE in Unsafe_type_conversion_expression::do_get_backend [GoSmith])

PR go/61273
compiler: Send statements should contextually permit composite literals.

From-SVN: r218788

9 years agore PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))
Marek Polacek [Tue, 16 Dec 2014 18:29:01 +0000 (18:29 +0000)]
re PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))

PR middle-end/64309
* match.pd: Add ((1 << A) & 1) != 0 -> A == 0 and
((1 << A) & 1) == 0 -> A != 0.

* gcc.dg/pr64309.c: New test.

From-SVN: r218787

9 years agogenmatch.c (parser::parser): Initialize capture_ids.
Richard Biener [Tue, 16 Dec 2014 18:24:55 +0000 (18:24 +0000)]
genmatch.c (parser::parser): Initialize capture_ids.

2014-12-16  Richard Biener  <rguenther@suse.de>

* genmatch.c (parser::parser): Initialize capture_ids.
(parser::parse_pattern): Properly allocate capture_ids before
using them.  Set capture_ids to zero when its lifetime is
supposed to finish.
(parser::parse_simplify): Allocate capture_ids only if
required.

From-SVN: r218786

9 years agognu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...
Jakub Jelinek [Tue, 16 Dec 2014 17:42:24 +0000 (18:42 +0100)]
gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...

* config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just
_Zd[la]Pvm, but also _Zd[la]Pv[jy] to cover other std::size_t
manglings.

From-SVN: r218785

9 years agognu-versioned-namespace.ver: And other size_t manglings.
Jason Merrill [Tue, 16 Dec 2014 17:21:42 +0000 (12:21 -0500)]
gnu-versioned-namespace.ver: And other size_t manglings.

* config/abi/pre/gnu-versioned-namespace.ver: And other size_t
manglings.

From-SVN: r218784

9 years agoBoth config.h and system.h define ABI/API macros for system headers.
Michael Haubenwallner [Tue, 16 Dec 2014 17:14:49 +0000 (17:14 +0000)]
Both config.h and system.h define ABI/API macros for system headers.

* sreal.c: Include math.h later.

From-SVN: r218783

9 years agoMAINTAINERS (Write After Approval): Add myself.
Michael Haubenwallner [Tue, 16 Dec 2014 16:10:23 +0000 (16:10 +0000)]
MAINTAINERS (Write After Approval): Add myself.

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r218782

9 years agognu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.
Jason Merrill [Tue, 16 Dec 2014 15:48:58 +0000 (10:48 -0500)]
gnu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.

* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
_ZdaPvm.

From-SVN: r218781

9 years agore PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)
Felix Yang [Tue, 16 Dec 2014 14:58:03 +0000 (14:58 +0000)]
re PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)

+       PR rtl-optimization/64240
+       * ddg.c (mark_mem_use): Check *iter instead of *x.

From-SVN: r218780

9 years agore PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const int64_t...
Martin Liska [Tue, 16 Dec 2014 14:55:29 +0000 (15:55 +0100)]
re PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const int64_t&)' is ambiguous)

Fix for PR ipa/64278

* sreal.c (sreal::operator*): Replace std::abs with absu_hwi.

From-SVN: r218779

9 years agosanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.
Jakub Jelinek [Tue, 16 Dec 2014 11:35:34 +0000 (12:35 +0100)]
sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.

* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.

From-SVN: r218778

9 years agoi386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for...
Igor Zamyatin [Tue, 16 Dec 2014 08:35:29 +0000 (08:35 +0000)]
i386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for PIC register.

gcc/
* config/i386/i386.c (ix86_address_cost): Add explicit restriction
to RTL level for the check for PIC register.

From-SVN: r218777

9 years agore PR fortran/64244 (ICE at class.c:236 when using non_overridable)
Janus Weil [Tue, 16 Dec 2014 08:15:38 +0000 (09:15 +0100)]
re PR fortran/64244 (ICE at class.c:236 when using non_overridable)

2014-12-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64244
* resolve.c (resolve_typebound_call): New argument to pass out the
non-overridable attribute of the specific procedure.
(resolve_typebound_subroutine): Get overridable flag from
resolve_typebound_call.

2014-12-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64244
* gfortran.dg/typebound_call_26.f90: New.

From-SVN: r218776

9 years agognu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
Uros Bizjak [Tue, 16 Dec 2014 07:49:53 +0000 (08:49 +0100)]
gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...

* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): ... and here ...
* config/i386/gnu-user-common.h (TARGET_CAN_SPLIT_STACK): ... to here.

From-SVN: r218775

9 years agore PR target/64217 (LRA: generate wrong liveness info after r217947 for clobber in...
Chung-Ju Wu [Tue, 16 Dec 2014 06:22:35 +0000 (06:22 +0000)]
re PR target/64217 (LRA: generate wrong liveness info after r217947 for clobber in jump_insn)

PR target/64217
* config/nds32/nds32.md (casesi_internal): Add '=r' for clobber
register constraint.

From-SVN: r218774

9 years agoDaily bump.
GCC Administrator [Tue, 16 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218772

9 years agodecl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed.
Jan Hubicka [Mon, 15 Dec 2014 22:50:18 +0000 (23:50 +0100)]
decl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed.

* decl2.c (decl_needed_p): When not optimizing, do not consider external
decls as needed.

From-SVN: r218769

9 years ago* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.
DJ Delorie [Mon, 15 Dec 2014 22:41:22 +0000 (17:41 -0500)]
* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.

From-SVN: r218768

9 years agore PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offs...
Jan Hubicka [Mon, 15 Dec 2014 22:35:20 +0000 (23:35 +0100)]
re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)

PR lto/64043
* gcc.dg/lto/20110201-1_0.c: New testcase.

* tree-streamer.c (preload_common_nodes): Skip preloading
of main_identifier_node, pid_type and optimization/option nodes.

From-SVN: r218767

9 years agore PR rtl-optimization/63397 (signed integer overflows in ira.c)
Vladimir Makarov [Mon, 15 Dec 2014 22:18:51 +0000 (22:18 +0000)]
re PR rtl-optimization/63397 (signed integer overflows in ira.c)

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63397
* ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use
int64_t.
(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
* ira.c (ira_overall_cost, ira_overall_cost_before): Ditto.
(ira_reg_cost, ira_mem_cost): Ditto.
(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
(calculate_allocation_cost, do_reload): Use the right
format for int64_t values.

From-SVN: r218766

9 years agosreal.h (to_double): New method.
Jan Hubicka [Mon, 15 Dec 2014 22:03:11 +0000 (23:03 +0100)]
sreal.h (to_double): New method.

* sreal.h (to_double): New method.
(shift): Do not ICE on 0.
* sreal.c: Include math.h
(sreal::to_double): New.

From-SVN: r218765

9 years agore PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 20:20:22 +0000 (20:20 +0000)]
re PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" [GoSmith])

PR go/61255
compiler: Copied variadic calls should copy lowering state of arguments.

From-SVN: r218764

9 years agore PR c++/64297 (ICE: canonical types differ for identical types)
Jason Merrill [Mon, 15 Dec 2014 20:19:51 +0000 (15:19 -0500)]
re PR c++/64297 (ICE: canonical types differ for identical types)

PR c++/64297
* typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL.

From-SVN: r218763

9 years agore PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after r218503)
Jakub Jelinek [Mon, 15 Dec 2014 20:10:45 +0000 (21:10 +0100)]
re PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after r218503)

PR rtl-optimization/64316
* simplify-rtx.c (simplify_relational_operation_1): For
(eq/ne (and x y) x) and (eq/ne (and x y) y) optimizations use
CONST0_RTX instead of const0_rtx.

* gcc.dg/pr64316.c: New test.

From-SVN: r218762

9 years agore PR target/62642 (x86 rdtsc is moved through barrier)
Vladimir Makarov [Mon, 15 Dec 2014 20:04:04 +0000 (20:04 +0000)]
re PR target/62642 (x86 rdtsc is moved through barrier)

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

PR target/62642
* ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves.

From-SVN: r218761

9 years agoira-int.h (ira_prohibited_class_mode_regs): Remove.
Vladimir Makarov [Mon, 15 Dec 2014 19:51:31 +0000 (19:51 +0000)]
ira-int.h (ira_prohibited_class_mode_regs): Remove.

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (ira_prohibited_class_mode_regs): Remove.
(struct target_ira_int): Move x_ira_prohibited_class_mode_regs to
...
* ira.h (struct target_ira_int): ... here.
(ira_prohibited_class_mode_regs): Define.
* lra-constraints.c (process_alt_operands): Add one more condition
to refuse alternative when reload pseudo of given class can not
hold value of given mode.

From-SVN: r218760

9 years agore PR libgcc/63832 (crtstuff.c:400:19: warning: array subscript is above array bounds...
Uros Bizjak [Mon, 15 Dec 2014 18:43:26 +0000 (19:43 +0100)]
re PR libgcc/63832 (crtstuff.c:400:19: warning: array subscript is above array bounds [-Warray-bounds])

PR libgcc/63832
* crtstuff.c (__do_global_dtors_aux) [HIDDEN_DTOR_LIST_END]: Use
func_ptr *dtor_list temporary variable to avoid "array subscript
is above array bounds" warnings.

From-SVN: r218759

9 years agore PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)
Jakub Jelinek [Mon, 15 Dec 2014 18:40:35 +0000 (19:40 +0100)]
re PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)

PR rtl-optimization/63804
* gcc.dg/pr63804.c: New test.

From-SVN: r218758

9 years agore PR fortran/61669 (Error recovery ICE)
Steven Bosscher [Mon, 15 Dec 2014 18:37:59 +0000 (18:37 +0000)]
re PR fortran/61669 (Error recovery ICE)

PR fortran/61669
* gfortran.h (struct gfc_namespace): Add OLD_DATA field.
* decl.c (gfc_reject_data): New function.
* parse.c *use_modules): Record roll-back point.
(next_statement): Likewise.
(reject_statement): Roll back to last accepted DATA.

* gfortran.dg/pr61669.f90: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r218757

9 years agore PR tree-optimization/64312 (ICE: Segmentation fault)
Richard Biener [Mon, 15 Dec 2014 18:33:16 +0000 (18:33 +0000)]
re PR tree-optimization/64312 (ICE: Segmentation fault)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64312
* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Use
vuse_ssa_val as callback to walk_non_aliased_vuses.
(vn_reference_lookup): Likewise.

* g++.dg/torture/pr64312.C: New testcase.

From-SVN: r218756

9 years agoN3778: Sized Deallocation
Jason Merrill [Mon, 15 Dec 2014 18:31:40 +0000 (13:31 -0500)]
N3778: Sized Deallocation

N3778: Sized Deallocation
gcc/c-family/
* c.opt (-fsized-deallocation, -Wc++14-compat): New.
(-Wsized-deallocation): New.
* c-opts.c (c_common_post_options): -fsized-deallocation defaults
to on in C++14 and up.
gcc/cp/
* call.c (non_placement_deallocation_fn_p): A global sized
operator delete is not a usual deallocation function until C++14.
(build_op_delete_call): Choose the global sized op delete if we
know the size.
* cp-tree.h: Declare non_placement_deallocation_fn_p.
(enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL.
(global_delete_fndecl): Remove.
* decl.c (cxx_init_decl_processing): Also declare sized op deletes.
(grok_op_properties): Warn about sized dealloc without the flag.
* init.c (build_builtin_delete_call): Remove.
(build_vec_delete_1, build_delete): Don't call it.
* decl2.c (maybe_warn_sized_delete): New.
(cp_write_global_declarations): Call it.
libstdc++-v3/
* libsupc++/del_ops.cc: New.
* libsupc++/del_opvs.cc: New.
* libsupc++/Makefile.am: Add them.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm.

From-SVN: r218755

9 years agore PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 17:33:43 +0000 (17:33 +0000)]
re PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])

PR go/61248
compiler: Ignore argument when typechecking converted recover calls.

From-SVN: r218754

9 years agore PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 17:12:26 +0000 (17:12 +0000)]
re PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])

PR go/61253
compiler: Support RecvStmt = ExpressionList "=" RecvExpr.

From-SVN: r218753

9 years agore PR c++/58882 (ICE with invalid C99 style designated initializers)
Paolo Carlini [Mon, 15 Dec 2014 16:16:29 +0000 (16:16 +0000)]
re PR c++/58882 (ICE with invalid C99 style designated initializers)

/cp
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58882
* decl.c (check_array_designated_initializer): Diagnose gracefully
C99 designators which aren't integral constant-expressions; allow
constexpr user-defined type conversion operators.

/testsuite
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58882
* g++.dg/ext/desig8.C: New.
* g++.dg/cpp0x/desig1.C: Likewise.

From-SVN: r218752

9 years agore PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage as actua...
Janus Weil [Mon, 15 Dec 2014 16:10:50 +0000 (17:10 +0100)]
re PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage as actual argument when elemental)

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63727
* resolve.c (resolve_actual_arglist): Check for elemental procedure
pointer components.

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63727
* gfortran.dg/coarray_collectives_14.f90: Address FIXME item.

From-SVN: r218751

9 years ago* gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,
Segher Boessenkool [Mon, 15 Dec 2014 14:39:26 +0000 (15:39 +0100)]
* gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,

*add<mode>3_imm_dot2): Change the constraint for the second
alternative for operand 1 from "r" to "b".

From-SVN: r218750

9 years agovec.h (vec::safe_grow): Guard against a grow to zero size.
Richard Biener [Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)]
vec.h (vec::safe_grow): Guard against a grow to zero size.

2014-12-15  Richard Biener  <rguenther@suse.de>

* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749

9 years agore PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding...
Richard Biener [Mon, 15 Dec 2014 13:01:47 +0000 (13:01 +0000)]
re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64295
* match.pd (X / CST -> X * (1 / CST): Use const_binop instead of
fold_binary to compute the constant to multiply with.

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

From-SVN: r218748

9 years agore PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)
Richard Biener [Mon, 15 Dec 2014 12:20:10 +0000 (12:20 +0000)]
re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.

* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.

From-SVN: r218746

9 years agore PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler...
Marek Polacek [Mon, 15 Dec 2014 12:15:14 +0000 (12:15 +0000)]
re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C   -O1  (internal compiler error))

PR middle-end/64292
* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

From-SVN: r218745

9 years agoBuild machinery cleanup.
Thomas Schwinge [Mon, 15 Dec 2014 10:54:43 +0000 (11:54 +0100)]
Build machinery cleanup.

* configure.ac (--enable-as-accelerator-for): Don't set
ENABLE_AS_ACCELERATOR_FOR.  Update all users.
* configure: Regenerate.

From-SVN: r218744

9 years agore PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ...
Jakub Jelinek [Mon, 15 Dec 2014 10:50:52 +0000 (11:50 +0100)]
re PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c  ... with -fpic)

PR target/64210
* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
instead of %e in regexps trying to match 32-bit GPR.
* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times
lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

From-SVN: r218743

9 years agopr63996.C: Fix.
Paolo Carlini [Mon, 15 Dec 2014 10:47:53 +0000 (10:47 +0000)]
pr63996.C: Fix.

2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/pr63996.C: Fix.

From-SVN: r218742