platform/upstream/linaro-gcc.git
9 years ago PR c++/64352
jason [Thu, 18 Dec 2014 22:22:42 +0000 (22:22 +0000)]
PR c++/64352
* pt.c (tsubst_copy_and_build): Pass complain to mark_used.

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

9 years ago PR c++/64251
jason [Thu, 18 Dec 2014 22:22:36 +0000 (22:22 +0000)]
PR c++/64251
* decl2.c (mark_used): Don't mark if in_template_function.

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

9 years ago2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 18 Dec 2014 21:50:48 +0000 (21:50 +0000)]
2014-12-18  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (lra-constraints.c): Exchange places of sclass
and dclass.

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

9 years ago2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 18 Dec 2014 20:49:44 +0000 (20:49 +0000)]
2014-12-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64291
* lra-remat.c (bad_for_rematerialization_p): Add UNPSEC_VLOATILE.
(create_cands): Process only output reload insn with potential
cands.

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

PR rtl-optimization/64291
* testsuite/gcc.target/i386/pr64291-[12].c: New tests.

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

9 years ago/cp
paolo [Thu, 18 Dec 2014 17:53:55 +0000 (17:53 +0000)]
/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.

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

9 years agoX86-64: Add -mskip-rax-setup
hjl [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.

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

9 years ago[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic
alalaw01 [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".

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

9 years ago[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic
alalaw01 [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.

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

9 years ago[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
jiwang [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.

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

9 years ago[AArch64] Generalize code alignment
jiwang [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.

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

9 years agoFix for PR64330.
marxin [Thu, 18 Dec 2014 13:32:18 +0000 (13:32 +0000)]
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.

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

9 years agoFix for PR bootstrap/63573.
marxin [Thu, 18 Dec 2014 12:06:34 +0000 (12:06 +0000)]
Fix for PR bootstrap/63573.

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

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

9 years agoFix for PR ipa/64146
marxin [Thu, 18 Dec 2014 12:02:22 +0000 (12:02 +0000)]
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.

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

9 years agoChange mpx effective-target test into link test
ro [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.

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

9 years agoInclude target-utils.exp in boehm-gc testing
ro [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.

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

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

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

9 years ago PR tree-optimization/62178
amker [Thu, 18 Dec 2014 02:53:42 +0000 (02:53 +0000)]
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.

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

9 years agogcc/ChangeLog:
dehao [Thu, 18 Dec 2014 00:19:24 +0000 (00:19 +0000)]
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.

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

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

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

9 years agogcc/
olegendo [Wed, 17 Dec 2014 23:08:14 +0000 (23:08 +0000)]
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.

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

9 years agogcc/
olegendo [Wed, 17 Dec 2014 22:52:21 +0000 (22:52 +0000)]
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::try_optimize_cbranch):
Combine ccreg inversion and cbranch into inverted cbranch.

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

9 years ago2014-12-17 Sergio Durigan Junior <sergiodj@redhat.com>
mrs [Wed, 17 Dec 2014 22:35:04 +0000 (22:35 +0000)]
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.

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

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

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

9 years ago2014-12-17 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 17 Dec 2014 21:25:18 +0000 (21:25 +0000)]
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.

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

9 years ago2014-12-17 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 17 Dec 2014 21:12:42 +0000 (21:12 +0000)]
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.

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

9 years ago * sreal.h (sreal::normalize): Implement inline.
hubicka [Wed, 17 Dec 2014 21:11:46 +0000 (21:11 +0000)]
* sreal.h (sreal::normalize): Implement inline.
(sreal::normalize_up): New function.
(sreal::normalize_down): New function.
* sreal.c (sreal::normalize): Remove.

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

9 years ago PR c++/64333
jason [Wed, 17 Dec 2014 20:41:18 +0000 (20:41 +0000)]
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.

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

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

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

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

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

9 years ago[AArch64] Remove "generic_sched" attribute
jgreenhalgh [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.

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

9 years agoMSP430: Fix unused arg warning
jbglaw [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.

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

9 years agodwarf2out.c: do not short-circuit add_bound_info in array descr. lang-hook
pmderodat [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.

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

9 years agoAdd a few debug utilities for DWARF expressions
pmderodat [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.

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

9 years agoMake the Ada front-end use the array descr language hook
pmderodat [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.

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

9 years agoEnable the array descr language hook for all DWARF versions
pmderodat [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).

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

9 years agoComplete information generated through the array descriptor language hook
pmderodat [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.

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

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

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

9 years agoFix a typo in ChangeLog
hjl [Wed, 17 Dec 2014 14:39:43 +0000 (14:39 +0000)]
Fix a typo in ChangeLog

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

9 years agomksysinfo: Pass -O to compiler to avoid warnings on CentOS.
ian [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

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

9 years agoAdd -malign-data={abi|compat|cachineline}
hjl [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.

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

9 years ago PR testsuite/64328
belagod [Wed, 17 Dec 2014 12:15:36 +0000 (12:15 +0000)]
PR testsuite/64328
* gcc.dg/addr_equal-1.c: Not supported for -fPIC.

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

9 years ago PR middle-end/63568
mpolacek [Wed, 17 Dec 2014 11:48:33 +0000 (11:48 +0000)]
PR middle-end/63568
* match.pd: Add (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x pattern.

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

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

9 years ago PR tree-optimization/64322
jakub [Wed, 17 Dec 2014 09:29:12 +0000 (09:29 +0000)]
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.

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

9 years ago PR sanitizer/64289
jakub [Wed, 17 Dec 2014 09:26:49 +0000 (09:26 +0000)]
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.

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

9 years ago PR libstdc++/64302
timshen [Wed, 17 Dec 2014 09:25:44 +0000 (09:25 +0000)]
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.

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

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

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

9 years ago2014-12-17 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 17 Dec 2014 06:29:30 +0000 (06:29 +0000)]
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.

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

9 years agolibgcc/
olegendo [Wed, 17 Dec 2014 02:01:10 +0000 (02:01 +0000)]
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.

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

9 years agocompiler: Don't crash on append with single argument.
ian [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.

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

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

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

9 years ago/cp
paolo [Tue, 16 Dec 2014 23:28:31 +0000 (23:28 +0000)]
/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.

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

9 years agocompiler: Don't built hash/equality functions for thunk structs.
ian [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.

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

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

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

9 years ago * ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider
hubicka [Tue, 16 Dec 2014 22:16:17 +0000 (22:16 +0000)]
* 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.

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

9 years agogcc/testsuite/
olegendo [Tue, 16 Dec 2014 21:37:42 +0000 (21:37 +0000)]
gcc/testsuite/
PR target/54089
* gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2.

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

9 years ago PR go/61246
ian [Tue, 16 Dec 2014 21:36:53 +0000 (21:36 +0000)]
PR go/61246
compiler: Switch expression comparisons should be boolean typed.

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

9 years agogcc/testsuite/
olegendo [Tue, 16 Dec 2014 21:28:59 +0000 (21:28 +0000)]
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.

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

9 years ago2014-12-16 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 16 Dec 2014 20:44:45 +0000 (20:44 +0000)]
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.

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

9 years ago * hwint.c (abs_hwi, absu_hwi): Move to ...
hubicka [Tue, 16 Dec 2014 19:59:56 +0000 (19:59 +0000)]
* hwint.c (abs_hwi, absu_hwi): Move to ...
* hwint.h (abs_hwi, absu_hwi): ... here; make inline.

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

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

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

9 years ago PR go/61264
ian [Tue, 16 Dec 2014 19:14:54 +0000 (19:14 +0000)]
PR go/61264
compiler: Fix copying behavior for empty composite literals.

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

9 years ago PR go/61273
ian [Tue, 16 Dec 2014 18:53:46 +0000 (18:53 +0000)]
PR go/61273
compiler: Send statements should contextually permit composite literals.

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

9 years ago PR middle-end/64309
mpolacek [Tue, 16 Dec 2014 18:29:01 +0000 (18:29 +0000)]
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.

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

9 years ago2014-12-16 Richard Biener <rguenther@suse.de>
rguenth [Tue, 16 Dec 2014 18:24:55 +0000 (18:24 +0000)]
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.

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

9 years ago * config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just
jakub [Tue, 16 Dec 2014 17:42:24 +0000 (17:42 +0000)]
* 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.

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

9 years ago * config/abi/pre/gnu-versioned-namespace.ver: And other size_t
jason [Tue, 16 Dec 2014 17:21:42 +0000 (17:21 +0000)]
* config/abi/pre/gnu-versioned-namespace.ver: And other size_t
manglings.

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

9 years agoBoth config.h and system.h define ABI/API macros for system headers.
haubi [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.

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

9 years ago* MAINTAINERS (Write After Approval): Add myself.
haubi [Tue, 16 Dec 2014 16:10:23 +0000 (16:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

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

9 years ago * config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
jason [Tue, 16 Dec 2014 15:48:58 +0000 (15:48 +0000)]
* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
_ZdaPvm.

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

9 years ago+ PR rtl-optimization/64240
fyang [Tue, 16 Dec 2014 14:58:03 +0000 (14:58 +0000)]
+       PR rtl-optimization/64240
+       * ddg.c (mark_mem_use): Check *iter instead of *x.

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

9 years agoFix for PR ipa/64278
marxin [Tue, 16 Dec 2014 14:55:29 +0000 (14:55 +0000)]
Fix for PR ipa/64278

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

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

9 years ago * sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
jakub [Tue, 16 Dec 2014 11:35:34 +0000 (11:35 +0000)]
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.

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

9 years agogcc/
kyukhin [Tue, 16 Dec 2014 08:35:29 +0000 (08:35 +0000)]
gcc/
* config/i386/i386.c (ix86_address_cost): Add explicit restriction
to RTL level for the check for PIC register.

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

9 years ago2014-12-16 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 16 Dec 2014 08:15:38 +0000 (08:15 +0000)]
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.

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

9 years ago * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
uros [Tue, 16 Dec 2014 07:49:53 +0000 (07:49 +0000)]
* 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.

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

9 years ago PR target/64217
jasonwucj [Tue, 16 Dec 2014 06:22:35 +0000 (06:22 +0000)]
PR target/64217
* config/nds32/nds32.md (casesi_internal): Add '=r' for clobber
register constraint.

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

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

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

9 years ago * decl2.c (decl_needed_p): When not optimizing, do not consider external
hubicka [Mon, 15 Dec 2014 22:50:18 +0000 (22:50 +0000)]
* decl2.c (decl_needed_p): When not optimizing, do not consider external
decls as needed.

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

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

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

9 years ago PR lto/64043
hubicka [Mon, 15 Dec 2014 22:35:20 +0000 (22:35 +0000)]
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.

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

9 years ago2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 15 Dec 2014 22:18:51 +0000 (22:18 +0000)]
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.

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

9 years ago * sreal.h (to_double): New method.
hubicka [Mon, 15 Dec 2014 22:03:11 +0000 (22:03 +0000)]
* sreal.h (to_double): New method.
(shift): Do not ICE on 0.
* sreal.c: Include math.h
(sreal::to_double): New.

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

9 years ago PR go/61255
ian [Mon, 15 Dec 2014 20:20:22 +0000 (20:20 +0000)]
PR go/61255
compiler: Copied variadic calls should copy lowering state of arguments.

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

9 years ago PR c++/64297
jason [Mon, 15 Dec 2014 20:19:51 +0000 (20:19 +0000)]
PR c++/64297
* typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL.

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

9 years ago PR rtl-optimization/64316
jakub [Mon, 15 Dec 2014 20:10:45 +0000 (20:10 +0000)]
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.

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

9 years ago2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 15 Dec 2014 20:04:04 +0000 (20:04 +0000)]
2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

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

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

9 years ago2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 15 Dec 2014 19:51:31 +0000 (19:51 +0000)]
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.

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

9 years ago PR libgcc/63832
uros [Mon, 15 Dec 2014 18:43:26 +0000 (18:43 +0000)]
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.

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

9 years ago PR rtl-optimization/63804
jakub [Mon, 15 Dec 2014 18:40:35 +0000 (18:40 +0000)]
PR rtl-optimization/63804
* gcc.dg/pr63804.c: New test.

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

9 years ago PR fortran/61669
jakub [Mon, 15 Dec 2014 18:37:59 +0000 (18:37 +0000)]
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.

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

9 years ago2014-12-15 Richard Biener <rguenther@suse.de>
rguenth [Mon, 15 Dec 2014 18:33:16 +0000 (18:33 +0000)]
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.

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

9 years ago N3778: Sized Deallocation
jason [Mon, 15 Dec 2014 18:31:40 +0000 (18:31 +0000)]
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.

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

9 years ago PR go/61248
ian [Mon, 15 Dec 2014 17:33:43 +0000 (17:33 +0000)]
PR go/61248
compiler: Ignore argument when typechecking converted recover calls.

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

9 years ago PR go/61253
ian [Mon, 15 Dec 2014 17:12:26 +0000 (17:12 +0000)]
PR go/61253
compiler: Support RecvStmt = ExpressionList "=" RecvExpr.

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

9 years ago/cp
paolo [Mon, 15 Dec 2014 16:16:29 +0000 (16:16 +0000)]
/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.

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

9 years ago2014-12-15 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 15 Dec 2014 16:10:50 +0000 (16:10 +0000)]
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.

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

9 years ago * gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,
segher [Mon, 15 Dec 2014 14:39:26 +0000 (14:39 +0000)]
* 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".

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

9 years ago2014-12-15 Richard Biener <rguenther@suse.de>
rguenth [Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)]
2014-12-15  Richard Biener  <rguenther@suse.de>

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

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

9 years ago2014-12-15 Richard Biener <rguenther@suse.de>
rguenth [Mon, 15 Dec 2014 13:01:47 +0000 (13:01 +0000)]
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.

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

9 years ago2014-12-15 Richard Biener <rguenther@suse.de>
rguenth [Mon, 15 Dec 2014 12:20:10 +0000 (12:20 +0000)]
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.

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