gcc.git
10 years agopr65729.c: Restrict to hard float ABI compliant targets.
Yvan Roux [Mon, 20 Apr 2015 09:18:12 +0000 (09:18 +0000)]
pr65729.c: Restrict to hard float ABI compliant targets.

2015-04-20  Yvan Roux  <yvan.roux@linaro.org>

* gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant
targets.

From-SVN: r222228

10 years agoDaily bump.
GCC Administrator [Mon, 20 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222227

10 years agore PR rtl-optimization/65805 (Chromium gets miscompiled)
Vladimir Makarov [Sun, 19 Apr 2015 23:48:24 +0000 (23:48 +0000)]
re PR rtl-optimization/65805 (Chromium gets miscompiled)

2015-04-19  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/65805
* lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
Don't use difference of offset and previous offset if
update_sp_offset is non-zero.
(eliminate_regs_in_insn): Ditto.
* lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
lra_eliminate_regs_1 call.
* lra-constraints.c (get_equiv_with_elimination): Ditto.

From-SVN: r222223

10 years agoCredit Jakub for PR65787 fix
William Schmidt [Sun, 19 Apr 2015 15:17:43 +0000 (15:17 +0000)]
Credit Jakub for PR65787 fix

From-SVN: r222220

10 years agoDaily bump.
GCC Administrator [Sun, 19 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222218

10 years agopr32627.f03 (strptr): Change size to match the number of non-nul characters.
Martin Sebor [Sat, 18 Apr 2015 19:23:17 +0000 (19:23 +0000)]
pr32627.f03 (strptr): Change size to match the number of non-nul characters.

* gfortran.dg/pr32627.f03 (strptr): Change size to match the number
of non-nul characters.
* gfortran.dg/substr_6.f90: Make the NUL character visible on stdout

From-SVN: r222214

10 years agoremove need for store_values_directly
Trevor Saunders [Sat, 18 Apr 2015 18:13:18 +0000 (18:13 +0000)]
remove need for store_values_directly

This switches all hash_table users to use the layout that stores
elements of type value_type in the hash table instead of the one storing
value_type *.  Since it becomes unused support for the value_type *
layout is removed.

gcc/

* hash-table.h: Remove version of hash_table that stored value_type *.
* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.

libcc1/

* plugin.cc: Adjust for hash_table changes.

gcc/java/

* jcf-io.c: Adjust for hash_table changes.

gcc/lto/

* lto.c: Adjust for hash_table changes.

gcc/objc/

* objc-act.c: Adjust for hash_table changes.

From-SVN: r222213

10 years agoDaily bump.
GCC Administrator [Sat, 18 Apr 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222212

10 years agore PR target/65787 (Miscompile due to bad vector swap optimization for little endian)
Bill Schmidt [Fri, 17 Apr 2015 22:05:12 +0000 (22:05 +0000)]
re PR target/65787 (Miscompile due to bad vector swap optimization for little endian)

[gcc]

2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65787
* config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
subsequent SH_NONE operand does not overwrite an existing *special
value.
(adjust_extract): Handle case where a vec_extract operation is
wrapped in a PARALLEL.

[gcc/testsuite]

2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65787
* gcc.target/powerpc/pr65787.c: New.

From-SVN: r222205

10 years agore PR go/65798 (runtime.Caller returns ok=true when return data is invalid)
Ian Lance Taylor [Fri, 17 Apr 2015 21:59:10 +0000 (21:59 +0000)]
re PR go/65798 (runtime.Caller returns ok=true when return data is invalid)

PR go/65798
runtime: In Caller don't return ok == true if PC == 0.

GCC PR 65798 reports that this can happen in some cases.

From-SVN: r222204

10 years agoDon't define ix86_binds_local_p for MacOS nor Windows
H.J. Lu [Fri, 17 Apr 2015 21:54:22 +0000 (21:54 +0000)]
Don't define ix86_binds_local_p for MacOS nor Windows

PR target/65780
* config/i386/i386.c (ix86_binds_local_p): Define only if
TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.

From-SVN: r222201

10 years agore PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)
Ian Lance Taylor [Fri, 17 Apr 2015 21:29:20 +0000 (21:29 +0000)]
re PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)

PR go/64683
runtime/pprof: Assume function with no name is in runtime.

GCC PR 65797 causes some of the runtime functions to be
compiled with no name in the debug info.  This in turn causes
the runtime/pprof test to fail as reported in GCC PR 64683.

There are no good choices when a function has no name in the
debug info, but here we assume that if we see such a function
while reading the runtime functions, we assume that it is also
a runtime function.

From-SVN: r222200

10 years agore PR go/64999 (s390x libgo test failure in TestMemoryProfiler)
Ian Lance Taylor [Fri, 17 Apr 2015 19:29:28 +0000 (19:29 +0000)]
re PR go/64999 (s390x libgo test failure in TestMemoryProfiler)

PR go/64999
PR go/65180
runtime: Adjust libbacktrace PC value to what runtime.Callers expects.

From Lynn Boger.

From-SVN: r222196

10 years agore PR tree-optimization/47679 (Strange uninitialized warning after SRA)
Jeff Law [Fri, 17 Apr 2015 19:24:17 +0000 (13:24 -0600)]
re PR tree-optimization/47679 (Strange uninitialized warning after SRA)

PR tree-optimization/47679
* Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
* tree-ssa-scopedtables.c: New file.
* tree-ssa-scopedtables.h: New file.
* tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
(const_and_copies): Change name/type.
(record_const_or_copy): Move into tree-ssa-scopedtables.c
(record_const_or_copy_1): Similarly.
(restore_vars_to_original_value): Similarly.
(pass_dominator::execute): Create and destroy const_and_copies table.
(thread_across_edge): Update passing of const_and_copies.
(record_temporary_equivalence): Use method calls rather than
manipulating const_and_copies directly.
(record_equality, cprop_into_successor_phis): Similarly.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.
(eliminate_redundant_computations): Similarly.
* tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
(record_temporary_equivalence): Likewise.
(invalidate_equivalences): Likewise.
(record_temporary_equivalences_from_phis): Update due to type
change of const_and_copies.  Use method calls rather than
manipulating the stack directly.
(record_temporary_equivalences_from_stmts_at_dest): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
(thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
* tree-vrp.c: Include tree-ssa-scopedtables.h.  Change type
of equiv_stack.
(identify_jump_threads): Update due to type change of equiv_stack.
(finalize_jump_threads): Delete the equiv_stack when complete.

From-SVN: r222195

10 years agore PR go/65755 (incorrect reflection of struct fields with gccgo)
Ian Lance Taylor [Fri, 17 Apr 2015 18:19:44 +0000 (18:19 +0000)]
re PR go/65755 (incorrect reflection of struct fields with gccgo)

PR go/65755
compiler, runtime, reflect: Use reflection string for type comparisons.

Change the runtime and reflect libraries to always use only
the type reflection string to determine whether two types are
equal.  It previously used the PkgPath and Name values for a
type name, but that required a PkgPath that did not match the
gc compiler.

Change the compiler to use the same PkgPath value as the gc
compiler in all cases.

Change the compiler to put the receiver type in the reflection
string for a type defined inside a method.

From-SVN: r222194

10 years agoi386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
Uros Bizjak [Fri, 17 Apr 2015 17:59:24 +0000 (19:59 +0200)]
i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.

* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
* config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
* config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.

From-SVN: r222193

10 years agore PR target/65535 (powerpc64-freebsd build failure)
Andreas Tobler [Fri, 17 Apr 2015 17:50:46 +0000 (19:50 +0200)]
re PR target/65535 (powerpc64-freebsd build failure)

PR target/65535
* config.gcc: Exit with a comment when we do not have a major version
number for the FreeBSD target.

From-SVN: r222192

10 years agocompiler: Escape analysis.
Chris Manghane [Fri, 17 Apr 2015 17:10:12 +0000 (17:10 +0000)]
compiler: Escape analysis.

By Chris Manghane.

Comprises three changes to gofrontend repository:

compiler: Add escape information to export data.

compiler: Stack-allocate non-escaping variables.

This change allows variables initialized through make or new
to be allocated on the stack via a temporary variable if they
do not escape their function. It also improves the analysis to
consider situations where variables escape in the standard
library and go testsuite such as:

*nested composite literals and composite literal arguments
*method receivers always escaping
*escape via statements in closures referring to enclosing variables
*escape via calls with multiple return results

compiler: Basic escape analysis for the go frontend.

This is an implementation of the algorithm described in
"Escape Analysis in Java" by Choi et. al.

It relies on dataflow information to discover variable
references to one another. Handles assignments to closures
and association between closures variables and the variables
of the enclosing scope.

Dataflow analysis does not discover references through range
statements e.g. for _, v := range a will not recognize that
all values of v are references to a.

* Make-lang.in (GO_OBJS): Add go/escape.o.

From-SVN: r222188

10 years agore PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)
Jakub Jelinek [Fri, 17 Apr 2015 17:09:20 +0000 (19:09 +0200)]
re PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)

PR bootstrap/62077
* configure.ac (--enable-stage1-checking): Default to
release,misc,gimple,rtlflag,tree,types if --disable-checking
or --enable-checking is not specified and DEV-PHASE is not
experimental.
* configure: Regenerated.

From-SVN: r222187

10 years agore PR target/65689 ([AArch64] S constraint fails for inline asm at -O0)
Jakub Jelinek [Fri, 17 Apr 2015 16:43:28 +0000 (18:43 +0200)]
re PR target/65689 ([AArch64] S constraint fails for inline asm at -O0)

PR target/65689
* genpreds.c (struct constraint_data): Add maybe_allows_reg and
maybe_allows_mem bitfields.
(maybe_allows_none_start, maybe_allows_none_end,
maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
maybe_allows_mem_end): New variables.
(compute_maybe_allows): New function.
(add_constraint): Use it to initialize maybe_allows_reg and
maybe_allows_mem fields.
(choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
is_address constraints such that those that allow neither mem nor
reg come first, then those that only allow reg but not mem, then
those that only allow mem but not reg, then the rest.
(write_allows_reg_mem_function): New function.
(write_tm_preds_h): Call it.
* stmt.c (parse_output_constraint, parse_input_constraint): Use
the generated insn_extra_constraint_allows_reg_mem function
instead of always setting *allows_reg = true; *allows_mem = true;
for unknown extra constraints.

* gcc.target/aarch64/c-output-template-4.c: New test.

From-SVN: r222186

10 years agoProperly handle uninitialized common symbol
H.J. Lu [Fri, 17 Apr 2015 16:23:24 +0000 (16:23 +0000)]
Properly handle uninitialized common symbol

Uninitialized common symbol behavior in executables is target and linker
dependent.  default_binds_local_p_3 is made public and updated to take an
argument to indicate if the linker can guarantee that an uninitialized
common symbol in the executable will still be defined (through COPY
relocation) in the executable.  If common symbol is local to executable,
default_binds_local_p_3 will treat non-external variable as defined
locally.  default_binds_local_p_2 is changed to treat common symbol as
local for non-PIE binaries.

For i386, common symbol is local only for non-PIE binaries.  For x86-64,
common symbol is local only for non-PIE binaries or linker supports copy
reloc in PIE binaries.  If a target treats common symbol as local only
for non-PIE binaries, it can define TARGET_BINDS_LOCAL_P as
default_binds_local_p_2.

gcc/

PR target/65780
* output.h (default_binds_local_p_3): New.
* varasm.c (default_binds_local_p_3): Make it public.  Take an
argument to indicate if common symbol may be local.  If common
symbol may be local, treat non-external variable as defined
locally.
(default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
(default_binds_local_p_1): Pass false to default_binds_local_p_3.
* config/i386/i386.c (ix86_binds_local_p): New.
(TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
ix86_binds_local_p.

gcc/testsuite/

PR target/65780
* gcc.dg/pr65780-1.c: New test.
* gcc.dg/pr65780-2.c: Likewise.
* gcc.target/i386/pr32219-9.c: Likewise.
* gcc.target/i386/pr32219-1.c (xxx): Make it initialized common
symbol.
* gcc.target/i386/pr64317.c (c): Initialize.

From-SVN: r222184

10 years agore PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux...
Jakub Jelinek [Fri, 17 Apr 2015 14:16:30 +0000 (16:16 +0200)]
re PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux-gnueabihf)

PR debug/65771
* dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
trying mem_loc_descriptor on XEXP (rtl, 0).

From-SVN: r222181

10 years agoFix IPA memory leaks.
Martin Liska [Fri, 17 Apr 2015 13:56:15 +0000 (15:56 +0200)]
Fix IPA memory leaks.

* ipa-cp.c (ipcp_driver): Release prev_edge_clone.
* ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
Release symbol_compare_collection.
* ipa-reference.c: Add TODO that a vector should be released.

From-SVN: r222180

10 years agore PR target/65296 ([avr] fix various issues with specs file generation)
Sivanupandi Pitchumani [Fri, 17 Apr 2015 13:54:16 +0000 (13:54 +0000)]
re PR target/65296 ([avr] fix various issues with specs file generation)

PR target/65296
* config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
to new AVR-LibC file layout (bug #44574).
(*avrlibc_devicelib): Same.
* config/avr/avr-mcus.def: Adjust comments.
* config/avr/avr.opt (nodevicelib): Adjust help.

From-SVN: r222179

10 years agoHide __cpu_indicator_init/__cpu_model from linker
H.J. Lu [Fri, 17 Apr 2015 12:58:07 +0000 (12:58 +0000)]
Hide __cpu_indicator_init/__cpu_model from linker

We shouldn't call external function, __cpu_indicator_init, while an object
is being relocated since its .got.plt section hasn't been updated.  It
works for non-PIE since no update on .got.plt section is required.  This
patch creates libgcc.so as a linker script, hides __cpu_indicator_init
and __cpu_model in libgcc.so.1 from linker, forces linker to resolve
__cpu_indicator_init and __cpu_model to their hidden definitions in
libgcc.a while providing backward binary compatibility.

gcc/testsuite/

PR target/65612
* g++.dg/ext/mv18.C: New test.
* g++.dg/ext/mv19.C: Likewise.
* g++.dg/ext/mv20.C: Likewise.
* g++.dg/ext/mv21.C: Likewise.
* g++.dg/ext/mv22.C: Likewise.
* g++.dg/ext/mv23.C: Likewise.

libgcc/

PR target/65612
* config.host (tmake_file): Add t-slibgcc-libgcc for Linux/x86.
* config/i386/cpuinfo.c (__cpu_model): Initialize.
(__cpu_indicator_init@GCC_4.8.0): New.
(__cpu_model@GCC_4.8.0): Likewise.
* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add
-DUSE_ELF_SYMVER.

From-SVN: r222178

10 years agoarm_neon.h (vdup_n_f32): Remove forward declaration.
Alan Lawrence [Fri, 17 Apr 2015 12:56:45 +0000 (12:56 +0000)]
arm_neon.h (vdup_n_f32): Remove forward declaration.

        * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.

From-SVN: r222177

10 years agore PR c++/64527 (Constructor for empty struct not called in some situations)
Patrick Palka [Fri, 17 Apr 2015 12:14:24 +0000 (12:14 +0000)]
re PR c++/64527 (Constructor for empty struct not called in some situations)

Fix PR c++/64527

gcc/
PR c++/64527
* gimplify.c (gimplify_init_constructor): Always emit a
side-effecting constructor.

gcc/testsuite/
PR c++/64527
* g++.dg/init/pr64527.C: New test.

From-SVN: r222176

10 years agoAdd missing PR lines in ChangeLog
Tom de Vries [Fri, 17 Apr 2015 09:47:10 +0000 (09:47 +0000)]
Add missing PR lines in ChangeLog

From-SVN: r222175

10 years agoSet PROP_gimple_lva for functions without IFN_VA_ARG
Tom de Vries [Fri, 17 Apr 2015 09:27:08 +0000 (09:27 +0000)]
Set PROP_gimple_lva for functions without IFN_VA_ARG

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
in cfun->curr_properties.
(gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
if we generate an IFN_VA_ARG.
* tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
function if PROP_gimple_lva is not set in src function.

From-SVN: r222174

10 years agoPostpone expanding va_arg until pass_stdarg
Tom de Vries [Fri, 17 Apr 2015 09:26:59 +0000 (09:26 +0000)]
Postpone expanding va_arg until pass_stdarg

2015-04-17  Tom de Vries  <tom@codesourcery.com>
    Michael Matz  <matz@suse.de>

* gimple-iterator.c (update_modified_stmts): Remove static.
* gimple-iterator.h (update_modified_stmts): Declare.
* gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
(gimplify_va_arg_internal): New function.
(gimplify_va_arg_expr): Use IFN_VA_ARG.
* gimplify.h (gimplify_va_arg_internal): Declare.
* internal-fn.c (expand_VA_ARG): New unreachable function.
* internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
* tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
(expand_ifn_va_arg): New function.
(pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
(pass_stdarg::execute): Call expand_ifn_va_arg.
(pass_data_lower_vaarg): New pass_data.
(pass_lower_vaarg): New gimple_opt_pass.
(pass_lower_vaarg::gate, pass_lower_vaarg::execute)
(make_pass_lower_vaarg): New function.
* cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
properties_required field.
* passes.def (all_passes): Add pass_lower_vaarg.
* tree-pass.h (PROP_gimple_lva): Add define.
(make_pass_lower_vaarg): Declare.

* gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target
x86_64-*-*.

Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r222173

10 years agoHandle internal_fn in operand_equal_p
Tom de Vries [Fri, 17 Apr 2015 09:26:50 +0000 (09:26 +0000)]
Handle internal_fn in operand_equal_p

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
* calls.c (call_expr_flags): Same.

From-SVN: r222172

10 years agoFactor optimize_va_list_gpr_fpr_size out of pass_stdarg::execute
Tom de Vries [Fri, 17 Apr 2015 09:26:41 +0000 (09:26 +0000)]
Factor optimize_va_list_gpr_fpr_size out of pass_stdarg::execute

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
(pass_stdarg::execute): ... here.

From-SVN: r222171

10 years agoAdd gimple_find_sub_bbs
Tom de Vries [Fri, 17 Apr 2015 09:26:33 +0000 (09:26 +0000)]
Add gimple_find_sub_bbs

2015-04-17  Tom de Vries  <tom@codesourcery.com>
    Michael Matz  <matz@suse.de>

* tree-cfg.c (make_blocks_1): Factor out of ...
(make_blocks): ... here.
(make_edges_bb): Factor out of ...
(make_edges): ... here.
(gimple_find_sub_bbs): New function.
* tree-cfg.h (gimple_find_sub_bbs): Declare.

Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r222170

10 years agoDisable lang_hooks.gimplify_expr in free_lang_data
Tom de Vries [Fri, 17 Apr 2015 09:26:24 +0000 (09:26 +0000)]
Disable lang_hooks.gimplify_expr in free_lang_data

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.

From-SVN: r222169

10 years agoasan.c (set_sanitized_sections): New function.
Yury Gribov [Fri, 17 Apr 2015 07:51:02 +0000 (07:51 +0000)]
asan.c (set_sanitized_sections): New function.

2015-04-17  Yury Gribov  <y.gribov@samsung.com>

gcc/
* asan.c (set_sanitized_sections): New function.
(section_sanitized_p): Ditto.
(asan_protect_global): Optionally sanitize user-defined
sections.
* asan.h (set_sanitized_sections): Declare new function.
* common.opt (fsanitize-sections): New option.
* doc/invoke.texi (-fsanitize-sections): Document new option.
* opts-global.c (handle_common_deferred_options): Handle new
option.

gcc/testsuite/
* c-c++-common/asan/user-section-1.c: New test.

From-SVN: r222168

10 years agore PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux...
Jakub Jelinek [Fri, 17 Apr 2015 07:44:30 +0000 (09:44 +0200)]
re PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux-gnueabihf)

PR debug/65771
* dwarf2out.c (loc_list_from_tree): Return NULL
for DEBUG_EXPR_DECL.

* gcc.dg/debug/pr65771.c: New test.

From-SVN: r222166

10 years agoipa-inline.c (can_inline_edge_p): Allow inlining of functions with same attributes.
Christian Bruel [Fri, 17 Apr 2015 06:50:08 +0000 (08:50 +0200)]
ipa-inline.c (can_inline_edge_p): Allow inlining of functions with same attributes.

* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
same attributes.

From-SVN: r222165

10 years agoDaily bump.
GCC Administrator [Fri, 17 Apr 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222164

10 years agoclass.c (resolve_address_of_overloaded_function, [...]): Rename tsubst_flags_t parame...
Paolo Carlini [Thu, 16 Apr 2015 20:57:46 +0000 (20:57 +0000)]
class.c (resolve_address_of_overloaded_function, [...]): Rename tsubst_flags_t parameter flags -> complain.

2015-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (resolve_address_of_overloaded_function, instantiate_type):
Rename tsubst_flags_t parameter flags -> complain.

From-SVN: r222159

10 years agoira-color.c (setup_left_conflict_sizes_p): Do not process node itself when computing...
Zhouyi Zhou [Thu, 16 Apr 2015 20:02:01 +0000 (20:02 +0000)]
ira-color.c (setup_left_conflict_sizes_p): Do not process node itself when computing left conflict subnode size.

       * ira-color.c (setup_left_conflict_sizes_p): Do not process
        node itself when computing left conflict subnode size.

From-SVN: r222157

10 years agopredicates.md (register_mixssei387nonimm_operand): New.
Uros Bizjak [Thu, 16 Apr 2015 18:50:59 +0000 (20:50 +0200)]
predicates.md (register_mixssei387nonimm_operand): New.

* config/i386/predicates.md (register_mixssei387nonimm_operand): New.
* config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
*fop_<mode>_1_sse using enabled attribute.  Use
register_mixssei387nonimm_operand operand 1 predicate. Change
alternative 3 constraints from "x" to "v".

From-SVN: r222154

10 years agoReplace __buitlin_alloca with __builtin_alloca
H.J. Lu [Thu, 16 Apr 2015 15:34:11 +0000 (15:34 +0000)]
Replace __buitlin_alloca with __builtin_alloca

* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace
__buitlin_alloca with __builtin_alloca.

From-SVN: r222151

10 years agocall.c (build_op_delete_call, [...]): Check mark_used return value.
Paolo Carlini [Thu, 16 Apr 2015 15:12:10 +0000 (15:12 +0000)]
call.c (build_op_delete_call, [...]): Check mark_used return value.

2015-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (build_op_delete_call, build_over_call): Check mark_used
return value.
* class.c (resolve_address_of_overloaded_function): Likewise.
* decl.c (cxx_maybe_build_cleanup): Likewise.
* pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* semantics.c (process_outer_var_ref): Likewise.
* typeck.c (build_class_member_access_expr,
cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.

From-SVN: r222150

10 years ago[AArch64 Testsuite] Fix comments in vldN_lane_1.c
Alan Lawrence [Thu, 16 Apr 2015 12:25:34 +0000 (12:25 +0000)]
[AArch64 Testsuite] Fix comments in vldN_lane_1.c

        * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments.

From-SVN: r222148

10 years agore PR tree-optimization/65774 (FAIL: gcc.dg/builtin-arith-overflow-1.c (internal...
Richard Biener [Thu, 16 Apr 2015 12:10:34 +0000 (12:10 +0000)]
re PR tree-optimization/65774 (FAIL: gcc.dg/builtin-arith-overflow-1.c (internal compiler error))

2015-04-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65774
* tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
bit-value tracking on.

From-SVN: r222147

10 years agore PR tree-optimization/64277 (Incorrect warning "array subscript is above array...
Richard Biener [Thu, 16 Apr 2015 12:03:11 +0000 (12:03 +0000)]
re PR tree-optimization/64277 (Incorrect warning "array subscript is above array bounds")

2015-04-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64277
* tree-vrp.c (check_array_ref): Fix anti-range handling,
simplify upper bound handling.
(search_for_addr_array): Simplify.
(check_array_bounds): Handle ADDR_EXPRs here.
(check_all_array_refs): Simplify.

* gcc.dg/Warray-bounds-14.c: New testcase.
* gcc.dg/Warray-bounds-15.c: Likewise.
* c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds.
* c-c++-common/ubsan/bounds-6.c: Likewise.

From-SVN: r222146

10 years agoi386.c (print_reg): Rewrite function.
Uros Bizjak [Thu, 16 Apr 2015 11:39:53 +0000 (13:39 +0200)]
i386.c (print_reg): Rewrite function.

* config/i386/i386.c (print_reg): Rewrite function.

From-SVN: r222145

10 years agoS/390: Fix ira cost multiplier
Andreas Krebbel [Thu, 16 Apr 2015 11:29:28 +0000 (11:29 +0000)]
S/390: Fix ira cost multiplier

* config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
Invert the condition.

From-SVN: r222144

10 years ago[PATCH]Enable two UNSIGNED_FLOAT simplifications in simplify_unary_operation_1.
Renlin Li [Thu, 16 Apr 2015 08:36:21 +0000 (08:36 +0000)]
[PATCH]Enable two UNSIGNED_FLOAT simplifications in simplify_unary_operation_1.

gcc/

2015-04-16  Renlin Li  <renlin.li@arm.com>

* simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
simplifications for UNSIGNEDED_FLOAT.

gcc/testsuite/

2015-04-16  Renlin Li  <renlin.li@arm.com>

* gcc.target/aarch64/unsigned-float.c: New.
* gcc.target/arm/unsigned-float.c: New.

From-SVN: r222143

10 years agorl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT.
Nick Clifton [Thu, 16 Apr 2015 07:57:56 +0000 (07:57 +0000)]
rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT.

  * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
  MUL_UNINIT.
  (enum rl78_cpu_type): New.
  * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
  (umulhi3_shift_virt): Remove m constraint from operand 1.
  (umulqihi3_virt): Likewise.
  * config/rl78/rl78.c (rl78_option_override): Add code to process
  -mcpu and -mmul options.
  (rl78_alloc_physical_registers): Add code to handle divhi and
  divsi valloc attributes.
  (set_origin): Likewise.
  * config/rl78/rl78.h (RL78_MUL_G14): Define.
  (TARGET_G10, TARGET_G13, TARGET_G14): Define.
  (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
  __RL78_Gxx__.
  (ASM_SPEC): Pass -mcpu on to assembler.
  * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
  (mulqi3_rl78): Likewise.
  (mulhi3_g13): Likewise.
  (mulhi3): Generate the G13 or G14 versions of the insn directly.
  (mulsi3): Likewise.
  (mulhi3_g14): Add clobbers of AX and BC.
  (mulsi3_g14): Likewise.
  (mulsi3_g13): Likewise.
  (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
  (udivmodsi4_g14, udivmodsi4_g13): New patterns.
  * config/rl78/rl78.opt (mmul): Initialise value to
  RL78_MUL_UNINIT.
  (mcpu): New option.
  (m13, m14, mrl78): New option aliases.
  * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
  (MULTILIB_DIRNAMES): Add g13 and g14.
  * doc/invoke.texi: Document -mcpu and -mmul options.

  * config/rl78/divmodhi.S: Add G14 and G13 versions of the __divhi3
  and __modhi3 functions.
* config/rl78/divmodso.S: Add G14 and G13 versions of the
  __divsi3, __udivsi3, __modsi3 and __umodsi3 functions.

From-SVN: r222142

10 years agotree-ssa-ccp.c (likely_value): See if we have operands that are marked as never simul...
Richard Biener [Thu, 16 Apr 2015 07:55:57 +0000 (07:55 +0000)]
tree-ssa-ccp.c (likely_value): See if we have operands that are marked as never simulate again and return...

2015-04-16  Richard Biener  <rguenther@suse.de>

* tree-ssa-ccp.c (likely_value): See if we have operands that
are marked as never simulate again and return CONSTANT in this
case.
* tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
not have any operands that will be simulated again as
not being simulated again.

* gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase.
* gcc.dg/tree-ssa/pr37508.c: Adjust.
* gfortran.dg/reassoc_6.f: Remove XFAIL.

From-SVN: r222141

10 years agoDaily bump.
GCC Administrator [Thu, 16 Apr 2015 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222140

10 years agoconstexpr.c (cxx_eval_store_expression): Ignore clobbers.
Jason Merrill [Wed, 15 Apr 2015 21:17:29 +0000 (17:17 -0400)]
constexpr.c (cxx_eval_store_expression): Ignore clobbers.

* constexpr.c (cxx_eval_store_expression): Ignore clobbers.
(build_constexpr_constructor_member_initializers): Loop to find
the BIND_EXPR.
* decl.c (start_preparsed_function): Clobber the object at the
beginning of a constructor.

From-SVN: r222135

10 years agodecl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
Jason Merrill [Wed, 15 Apr 2015 21:17:21 +0000 (17:17 -0400)]
decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.

* decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
* method.c (implicitly_declare_fn): Likewise.
* decl2.c (vague_linkage_p): Check TREE_PUBLIC first.

From-SVN: r222134

10 years ago* decl2.c (determine_visibility): Use get_template_info.
Jason Merrill [Wed, 15 Apr 2015 21:17:15 +0000 (17:17 -0400)]
* decl2.c (determine_visibility): Use get_template_info.

From-SVN: r222133

10 years agore PR c++/65727 (Segfault With Decltype In Lambda Expression Used To Initialize Stati...
Jason Merrill [Wed, 15 Apr 2015 21:17:03 +0000 (17:17 -0400)]
re PR c++/65727 (Segfault With Decltype In Lambda Expression Used To Initialize Static Class Member)

PR c++/65727
* lambda.c (lambda_expr_this_capture): In unevaluated context go
through the normal loop, just don't capture.
(maybe_resolve_dummy): Handle null return.

Co-Authored-By: Marek Polacek <polacek@redhat.com>
From-SVN: r222132

10 years agoi386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Merge with *cmpi<FPCMP:unord><MODEF...
Uros Bizjak [Wed, 15 Apr 2015 19:32:07 +0000 (21:32 +0200)]
i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.

* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
(*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
attribute.
(*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
enabled attribute.
(*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
*float<SWI48:mode><MODEF:mode>2_sse.
(*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
enabled attribute.
(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
enabled attribute.

From-SVN: r222131

10 years agore PR tree-optimization/47679 (Strange uninitialized warning after SRA)
Jeff Law [Wed, 15 Apr 2015 18:51:49 +0000 (12:51 -0600)]
re PR tree-optimization/47679 (Strange uninitialized warning after SRA)

PR tree-optimization/47679
* tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
need for forward declaration in upcoming changes.
(record_conditions, record_edge_info): Likewise.

From-SVN: r222130

10 years agoFix fdump-passes
Tom de Vries [Wed, 15 Apr 2015 18:43:32 +0000 (18:43 +0000)]
Fix fdump-passes

2015-04-15  Tom de Vries  <tom@codesourcery.com>

PR other/65487
* function.c (push_dummy_function): New function.
(init_dummy_function_start): Use push_dummy_function.
(pop_dummy_function): New function.  Factored out of ...
(expand_dummy_function_end): ... here.
* function.h (push_dummy_function, pop_dummy_function): Declare.
* passes.c (pass_manager::dump_passes): Use push_dummy_function and
pop_dummy_function.
* tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.

From-SVN: r222129

10 years agocall.c (enforce_access): Emit error + inform.
Paolo Carlini [Wed, 15 Apr 2015 17:18:27 +0000 (17:18 +0000)]
call.c (enforce_access): Emit error + inform.

/cp
2015-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (enforce_access): Emit error + inform.

/testsuite
2015-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change.
* g++.dg/cpp0x/decltype-call1.C: Likewise.
* g++.dg/cpp0x/defaulted21.C: Likewise.
* g++.dg/cpp0x/defaulted28.C: Likewise.
* g++.dg/cpp0x/defaulted47.C: Likewise.
* g++.dg/cpp0x/elision_neg.C: Likewise.
* g++.dg/cpp0x/fntmpdefarg3.C: Likewise.
* g++.dg/cpp0x/implicit-trivial1.C: Likewise.
* g++.dg/cpp0x/implicit1.C: Likewise.
* g++.dg/cpp0x/implicit9.C: Likewise.
* g++.dg/cpp0x/inh-ctor9.C: Likewise.
* g++.dg/cpp0x/range-for13.C: Likewise.
* g++.dg/gomp/clause-2.C: Likewise.
* g++.dg/gomp/udr-5.C: Likewise.
* g++.dg/inherit/access6.C: Likewise.
* g++.dg/lookup/duperr1.C: Likewise.
* g++.dg/lookup/friend2.C: Likewise.
* g++.dg/lookup/pr6936.C: Likewise.
* g++.dg/lookup/scoped1.C: Likewise.
* g++.dg/lookup/using26.C: Likewise.
* g++.dg/lookup/using38.C: Likewise.
* g++.dg/other/access2.C: Likewise.
* g++.dg/overload/defarg3.C: Likewise.
* g++.dg/overload/defarg6.C: Likewise.
* g++.dg/parse/access11.C: Likewise.
* g++.dg/parse/access2.C: Likewise.
* g++.dg/parse/access3.C: Likewise.
* g++.dg/parse/access4.C: Likewise.
* g++.dg/parse/access5.C: Likewise.
* g++.dg/parse/access6.C: Likewise.
* g++.dg/parse/access8.C: Likewise.
* g++.dg/parse/access9.C: Likewise.
* g++.dg/parse/crash40.C: Likewise.
* g++.dg/tc1/dr142.C: Likewise.
* g++.dg/tc1/dr166.C: Likewise.
* g++.dg/tc1/dr52.C: Likewise.
* g++.dg/template/access11.C: Likewise.
* g++.dg/template/access18.C: Likewise.
* g++.dg/template/access19.C: Likewise.
* g++.dg/template/access2.C: Likewise.
* g++.dg/template/access20.C: Likewise.
* g++.dg/template/access26.C: Likewise.
* g++.dg/template/access3.C: Likewise.
* g++.dg/template/access7.C: Likewise.
* g++.dg/template/conv12.C: Likewise.
* g++.dg/template/crash69.C: Likewise.
* g++.dg/template/friend31.C: Likewise.
* g++.dg/template/friend32.C: Likewise.
* g++.dg/template/memfriend15.C: Likewise.
* g++.dg/template/memfriend16.C: Likewise.
* g++.dg/template/memfriend17.C: Likewise.
* g++.dg/template/memfriend7.C: Likewise.
* g++.dg/template/pr32519.C: Likewise.
* g++.dg/template/qualttp21.C: Likewise.
* g++.dg/template/qualttp8.C: Likewise.
* g++.dg/template/ttp10.C: Likewise.
* g++.dg/template/typedef11.C: Likewise.
* g++.dg/template/typedef13.C: Likewise.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.
* g++.dg/template/typedef22.C: Likewise.
* g++.dg/template/using16.C: Likewise.
* g++.dg/template/virtual3.C: Likewise.
* g++.dg/ubsan/pr61272.C: Likewise.
* g++.old-deja/g++.bob/inherit2.C: Likewise.
* g++.old-deja/g++.brendan/crash11.C: Likewise.
* g++.old-deja/g++.brendan/enum6.C: Likewise.
* g++.old-deja/g++.brendan/visibility1.C: Likewise.
* g++.old-deja/g++.brendan/visibility10.C: Likewise.
* g++.old-deja/g++.brendan/visibility2.C: Likewise.
* g++.old-deja/g++.brendan/visibility6.C: Likewise.
* g++.old-deja/g++.brendan/visibility7.C: Likewise.
* g++.old-deja/g++.brendan/visibility8.C: Likewise.
* g++.old-deja/g++.brendan/visibility9.C: Likewise.
* g++.old-deja/g++.bugs/900428_03.C: Likewise.
* g++.old-deja/g++.jason/access17.C: Likewise.
* g++.old-deja/g++.jason/access18.C: Likewise.
* g++.old-deja/g++.jason/access22.C: Likewise.
* g++.old-deja/g++.jason/access23.C: Likewise.
* g++.old-deja/g++.jason/access8.C: Likewise.
* g++.old-deja/g++.jason/delete3.C: Likewise.
* g++.old-deja/g++.jason/report.C: Likewise.
* g++.old-deja/g++.law/access2.C: Likewise.
* g++.old-deja/g++.law/access3.C: Likewise.
* g++.old-deja/g++.law/access4.C: Likewise.
* g++.old-deja/g++.law/access5.C: Likewise.
* g++.old-deja/g++.law/arm12.C: Likewise.
* g++.old-deja/g++.law/arm14.C: Likewise.
* g++.old-deja/g++.law/ctors13.C: Likewise.
* g++.old-deja/g++.law/union2.C: Likewise.
* g++.old-deja/g++.law/visibility12.C: Likewise.
* g++.old-deja/g++.law/visibility15.C: Likewise.
* g++.old-deja/g++.law/visibility16.C: Likewise.
* g++.old-deja/g++.law/visibility17.C: Likewise.
* g++.old-deja/g++.law/visibility18.C: Likewise.
* g++.old-deja/g++.law/visibility19.C: Likewise.
* g++.old-deja/g++.law/visibility20.C: Likewise.
* g++.old-deja/g++.law/visibility21.C: Likewise.
* g++.old-deja/g++.law/visibility24.C: Likewise.
* g++.old-deja/g++.law/visibility4.C: Likewise.
* g++.old-deja/g++.law/visibility5.C: Likewise.
* g++.old-deja/g++.law/visibility6.C: Likewise.
* g++.old-deja/g++.law/visibility7.C: Likewise.
* g++.old-deja/g++.law/visibility8.C: Likewise.
* g++.old-deja/g++.law/visibility9.C: Likewise.
* g++.old-deja/g++.niklas/t135.C: Likewise.
* g++.old-deja/g++.oliva/delete1.C: Likewise.
* g++.old-deja/g++.oliva/partord1.C: Likewise.
* g++.old-deja/g++.other/access11.C: Likewise.
* g++.old-deja/g++.other/access4.C: Likewise.
* g++.old-deja/g++.other/access7.C: Likewise.
* g++.old-deja/g++.other/crash1.C: Likewise.
* g++.old-deja/g++.other/crash7.C: Likewise.
* g++.old-deja/g++.other/friend1.C: Likewise.
* g++.old-deja/g++.other/friend4.C: Likewise.
* g++.old-deja/g++.other/friend9.C: Likewise.
* g++.old-deja/g++.other/lineno1.C: Likewise.
* g++.old-deja/g++.other/using1.C: Likewise.
* g++.old-deja/g++.pt/enum14.C: Likewise.
* g++.old-deja/g++.pt/friend11.C: Likewise.
* g++.old-deja/g++.pt/friend21.C: Likewise.
* g++.old-deja/g++.pt/friend3.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Likewise.
* g++.old-deja/g++.pt/memtemp74.C: Likewise.
* g++.old-deja/g++.pt/memtemp89.C: Likewise.
* g++.old-deja/g++.robertl/eb94.C: Likewise.

From-SVN: r222128

10 years agogthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body...
Chen Gang [Wed, 15 Apr 2015 15:29:12 +0000 (15:29 +0000)]
gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings.

2015-04-15  Chen Gang  <gang.chen.5i5j@gmail.com>

       * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty
       do-while loop as macro body to avoid warnings.

From-SVN: r222127

10 years agoconstexpr.c (use_new_call): Remove #define.
Marek Polacek [Wed, 15 Apr 2015 14:46:22 +0000 (14:46 +0000)]
constexpr.c (use_new_call): Remove #define.

* constexpr.c (use_new_call): Remove #define.
(lookup_parameter_binding): Remove function.
(cxx_bind_parameters_in_call): Remove unused code.
(cxx_eval_call_expression): Likewise.
(cxx_eval_constant_expression): Likewise.

From-SVN: r222126

10 years agore PR rtl-optimization/42522 ((zero_extract:SI (mem:QI) ...) misoptimized)
Jeff Law [Wed, 15 Apr 2015 12:24:28 +0000 (06:24 -0600)]
re PR rtl-optimization/42522 ((zero_extract:SI (mem:QI) ...) misoptimized)

        PR rtl-optimization/42522
        * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
        SIGN_EXTRACT as a whole object rather than simplifying
        its operand.

From-SVN: r222125

10 years agore PR ipa/65765 (Compiling Firefox with GCC 5 leads to broken javascript engine on...
Jakub Jelinek [Wed, 15 Apr 2015 11:47:44 +0000 (13:47 +0200)]
re PR ipa/65765 (Compiling Firefox with GCC 5 leads to broken javascript engine on x86-64)

PR ipa/65765
* ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
and GIMPLE_PREDICT use break instead of return true. For
GIMPLE_EH_DISPATCH, compare dispatch region.

* g++.dg/ipa/pr65765.C: New test.

From-SVN: r222123

10 years agore PR bootstrap/65763 (tm.h: No such file or directory)
Andreas Schwab [Wed, 15 Apr 2015 09:23:59 +0000 (09:23 +0000)]
re PR bootstrap/65763 (tm.h: No such file or directory)

PR bootstrap/65763
* Makefile.am (gcc_build_dir): Remove $(host_subdir)/ part.
* Makefile.in: Regenerated.

From-SVN: r222121

10 years agoextend.texi (__sync Builtins): Simplify some text.
Matthew Wahab [Wed, 15 Apr 2015 08:35:53 +0000 (08:35 +0000)]
extend.texi (__sync Builtins): Simplify some text.

* doc/extend.texi (__sync Builtins): Simplify some text.  Update
details about the implementation.  Make clear preference for
__atomic builtins.  Reduce possibility of future change.

From-SVN: r222120

10 years agoIgnore elfdump warnings in scripts/extract_symvers.pl
Rainer Orth [Wed, 15 Apr 2015 07:48:59 +0000 (07:48 +0000)]
Ignore elfdump warnings in scripts/extract_symvers.pl

* scripts/extract_symvers.pl: Ignore elfdump error output.

From-SVN: r222117

10 years agorx.opt (mallow-string-insns): New option.
Nick Clifton [Wed, 15 Apr 2015 07:41:07 +0000 (07:41 +0000)]
rx.opt (mallow-string-insns): New option.

* config/rx/rx.opt (mallow-string-insns): New option.
* config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
builtin if string instructions are denied.
* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
__RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
appropriate.
(ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
* config/rx/rx.md (movstr): Enable pattern only if string
instructions are allowed.
(rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
(cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
* config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
(MULTILIB_DIRNAMES): Add no-strings.
* doc/invoke.texi: Document -mno-allow-string-insns.

* gcc.target/rx/builtins.c: Disable RMPA test if string
instructions are not allowed.

From-SVN: r222116

10 years agore PR target/65408 (powerpc64 function argument passing may access invalid memory)
Alan Modra [Wed, 15 Apr 2015 07:29:01 +0000 (16:59 +0930)]
re PR target/65408 (powerpc64 function argument passing may access invalid memory)

PR target/65408
PR target/58744
PR middle-end/36043
* calls.c (load_register_parameters): Don't load past end of
mem unless suitably aligned.

From-SVN: r222115

10 years agorl78.c (rl78_expand_prologue): Mark large stack decrement instruction as being frame...
Nick Clifton [Wed, 15 Apr 2015 07:24:44 +0000 (07:24 +0000)]
rl78.c (rl78_expand_prologue): Mark large stack decrement instruction as being frame related.

* config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
decrement instruction as being frame related.
(rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
based addresses.
If zero extending a function address enclose the operation in
%code(...).
(rl78_preferred_reload_class): New function.
(TARGET_PREFERRED_RELOAD_CLASS): Define.
* config/rl78/rl78.md: Remove useless constraints in expanders.
(mulqi3_rl78): Remove + qualifier on input-only operand 1.
(mulhi3_rl78): Likewise.
(mulhi3_g13): Likewise.
(mulsi3_rl78): Likewise.
(es_addr): Move to before the multiply patterns.

From-SVN: r222114

10 years agofunction.h (struct emit_status): Delete x_first_insn, x_last_insn and sequence_stack.
Alan Modra [Wed, 15 Apr 2015 06:05:44 +0000 (15:35 +0930)]
function.h (struct emit_status): Delete x_first_insn, x_last_insn and sequence_stack.

* function.h (struct emit_status): Delete x_first_insn, x_last_insn
and sequence_stack.  Add seq.
(seq_stack): Delete.
* function.c (prepare_function_start): Don't access x_last_insn.
* emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
(get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
* emit_rtl.c (start_sequence, push_topmost_sequence,
pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
sequence accessors.
(get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
remove_insn): Likewise.  Simplify.
* config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
and pop_topmost_sequence.
(m32c_function_needs_enter): Use get_topmost_sequence.  Ignore
debug insns.
* config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.

From-SVN: r222112

10 years agore PR fortran/65089 (FAIL: gfortran.dg/io_real_boz(2|_[45]).f90 when tested with...
Jerry DeLisle [Wed, 15 Apr 2015 01:27:03 +0000 (01:27 +0000)]
re PR fortran/65089 (FAIL: gfortran.dg/io_real_boz(2|_[45]).f90 when tested with -fsanitize=address)

2015-04-14 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/65089
* io/format.h (free_format): New function to free memory
allocated for building format error messages.
* io/format.c (format_error): Add checks before freeing memory
to avoid potential segfaults and free formatting data when
needed on error conditions. Always allocate and NULL terminate
the string.
* io/transfer.c (st_read_done, st_write_done): Use new
free_format function to clean up memory allocations when done.

From-SVN: r222111

10 years agotree.c (replace_placeholders_t): Remove unused type.
Mikhail Maltsev [Wed, 15 Apr 2015 00:58:28 +0000 (00:58 +0000)]
tree.c (replace_placeholders_t): Remove unused type.

* tree.c (replace_placeholders_t): Remove unused type.
(replace_placeholders): Remove unused pset.

From-SVN: r222110

10 years agoDaily bump.
GCC Administrator [Wed, 15 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222109

10 years ago* pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
Jason Merrill [Tue, 14 Apr 2015 21:31:07 +0000 (17:31 -0400)]
* pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.

From-SVN: r222104

10 years agore PR target/65729 (ICE (in prohibited_class_reg_set_mode_p, at lra-constraints.c...
Yvan Roux [Tue, 14 Apr 2015 17:21:54 +0000 (17:21 +0000)]
re PR target/65729 (ICE (in prohibited_class_reg_set_mode_p, at lra-constraints.c) on arm-linux-gnueabihf)

gcc/
2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

PR target/65729
* lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
the assertiion.

gcc/testsuite/
2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

PR target/65729
* gcc.target/arm/pr65729.c: New test.

From-SVN: r222101

10 years agoi386.h (LEGACY_INT_REG_P): New define.
Uros Bizjak [Tue, 14 Apr 2015 17:17:05 +0000 (19:17 +0200)]
i386.h (LEGACY_INT_REG_P): New define.

* config/i386/i386.h (LEGACY_INT_REG_P): New define.
(LEGACY_INT_REGNO_P): Ditto.
(GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
(ANY_MASK_REG_P): Remove.
(BND_REG_P): Rename from ANY_BND_REG_P.
* config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
legacy integer registers.  Do not handle MMX_REG_P in a special way.
Merge 64byte and 32byte SSE handling.

From-SVN: r222100

10 years agoMakefile.tpl (EXTRA_HOST_EXPORTS): New variables.
Max Ostapenko [Tue, 14 Apr 2015 16:14:04 +0000 (19:14 +0300)]
Makefile.tpl (EXTRA_HOST_EXPORTS): New variables.

2015-04-14  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* Makefile.tpl (EXTRA_HOST_EXPORTS): New variables.
(EXTRA_BOOTSTRAP_FLAGS): Likewise.
(check-[+module+]): Add EXTRA_HOST_EXPORTS and EXTRA_BOOTSTRAP_FLAGS.
* Makefile.in: Regenerate.

libiberty/
* testsuite/Makefile.in (LIBCFLAGS): Add LDFLAGS.

From-SVN: r222099

10 years agoexpr.c (expand_assignment): Force an address offset computation into a register befor...
Nick Clifton [Tue, 14 Apr 2015 16:12:34 +0000 (16:12 +0000)]
expr.c (expand_assignment): Force an address offset computation into a register before changing its mode.

* expr.c (expand_assignment): Force an address offset computation
into a register before changing its mode.
(expand_expr_real_1): Likewise.

From-SVN: r222098

10 years agore PR c++/65695 (NSDMI calling constexpr constructor with pointer-to-member is not...
Jason Merrill [Tue, 14 Apr 2015 16:02:41 +0000 (12:02 -0400)]
re PR c++/65695 (NSDMI calling constexpr constructor with pointer-to-member is not a constant expression)

PR c++/65695
* cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.

From-SVN: r222097

10 years agore PR c++/65721 (Internal compiler error segmentation fault)
Jason Merrill [Tue, 14 Apr 2015 15:29:34 +0000 (11:29 -0400)]
re PR c++/65721 (Internal compiler error segmentation fault)

PR c++/65721
* name-lookup.c (do_class_using_decl): Complain about specifying
the current class even if there are dependent bases.

From-SVN: r222096

10 years agore PR c++/59766 (c++1y: declaring friend function with 'auto' return type deduction...
David Krauss [Tue, 14 Apr 2015 15:29:27 +0000 (15:29 +0000)]
re PR c++/59766 (c++1y: declaring friend function with 'auto' return type deduction is rejected with bogus reason)

PR c++/59766
* decl.c (grokdeclarator): Do not flag friends with deduced return.

From-SVN: r222095

10 years agore PR c++/60994 (gcc does not recognize hidden/shadowed enumeration as valid nested...
Momchil Velikov [Tue, 14 Apr 2015 15:29:21 +0000 (15:29 +0000)]
re PR c++/60994 (gcc does not recognize hidden/shadowed enumeration as valid nested-name-specifier)

PR c++/60994
* parser.c (cp_parser_class_name): Add enum_ok parameter.
(cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
(cp_parser_diagnose_invalid_type_name): Don't assume a template is
a class template.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r222094

10 years agoAdd the missing file
H.J. Lu [Tue, 14 Apr 2015 15:04:45 +0000 (08:04 -0700)]
Add the missing file

From-SVN: r222093

10 years ago[AArch64 Intrinsics] Replace temporary assembler for vst1_lane
Alan Lawrence [Tue, 14 Apr 2015 13:59:06 +0000 (13:59 +0000)]
[AArch64 Intrinsics] Replace temporary assembler for vst1_lane

* config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
and __aarch64_vget_lane_any.

From-SVN: r222092

10 years agore PR rtl-optimization/65761 (internal compiler error: in patch_jump_insn, at cfgrtl...
Jakub Jelinek [Tue, 14 Apr 2015 13:24:53 +0000 (15:24 +0200)]
re PR rtl-optimization/65761 (internal compiler error: in patch_jump_insn, at cfgrtl.c:1296)

PR rtl-optimization/65761
* cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).

From-SVN: r222090

10 years agoAdd bootstrap-mpx.mk
H.J. Lu [Tue, 14 Apr 2015 12:45:34 +0000 (05:45 -0700)]
Add bootstrap-mpx.mk

* bootstrap-mpx.mk: New file.

From-SVN: r222088

10 years agographite-scop-detection.c: Do not include cp/cp-tree.h.
Richard Biener [Tue, 14 Apr 2015 12:33:57 +0000 (12:33 +0000)]
graphite-scop-detection.c: Do not include cp/cp-tree.h.

2015-04-14  Richard Biener  <rguenther@suse.de>

* graphite-scop-detection.c: Do not include cp/cp-tree.h.
(graphite_can_represent_scev): Use POINTER_TYPE_P.

From-SVN: r222087

10 years agore PR middle-end/65758 (191.fma3d in SPEC CPU 200 failed to build)
Richard Biener [Tue, 14 Apr 2015 12:17:05 +0000 (12:17 +0000)]
re PR middle-end/65758 (191.fma3d in SPEC CPU 200 failed to build)

2015-04-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65758
* tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
against -1.
(ccp_lattice_meet): Likewise.
(bit_value_unop): Likewise.
(bit_value_binop): Likewise.
(bit_value_assume_aligned): Likewise.

* gfortran.fortran-torture/compile/pr65758.f90: New testcase.

From-SVN: r222085

10 years ago15-04-14 Christian Bruel <christian.bruel@st.com>
Christian Bruel [Tue, 14 Apr 2015 12:14:04 +0000 (14:14 +0200)]
15-04-14  Christian Bruel  <christian.bruel@st.com>

* execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
function.

From-SVN: r222084

10 years agoAdd missing testcase.
Yvan Roux [Tue, 14 Apr 2015 12:12:29 +0000 (12:12 +0000)]
Add missing testcase.

2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

PR target/65648
* gcc.c-torture/execute/pr65648.c: New test.

From-SVN: r222083

10 years agore PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))
Marc Glisse [Tue, 14 Apr 2015 11:02:48 +0000 (13:02 +0200)]
re PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))

2015-04-14  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/61347
* include/bits/stl_iterator_base_funcs.h (_List_iterator,
_List_const_iterator): Declare.
(__distance): Declare new overloads for _List_iterator and
_List_const_iterator.
* include/bits/stl_list.h (__distance): New overloads for
_List_iterator and _List_const_iterator.
* testsuite/23_containers/list/61347.cc: New testcase.

From-SVN: r222082

10 years agoevolution.xml: Fix typos.
Jonathan Wakely [Tue, 14 Apr 2015 10:08:58 +0000 (11:08 +0100)]
evolution.xml: Fix typos.

* doc/xml/manual/evolution.xml: Fix typos.
* doc/html/manual/api.html: Regenerate.

From-SVN: r222081

10 years agoAvoid finite in gcc.target/i386/avx512dq-vfpclasspd-2.c etc.
Rainer Orth [Tue, 14 Apr 2015 09:22:28 +0000 (09:22 +0000)]
Avoid finite in gcc.target/i386/avx512dq-vfpclasspd-2.c etc.

* gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use
__builtin_finite instead of finite.
* gcc.target/i386/avx512dq-vfpclassps-2.c (check_fp_class_sp):
Likewise.

From-SVN: r222079

10 years agore PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())
Marc Glisse [Tue, 14 Apr 2015 08:49:16 +0000 (10:49 +0200)]
re PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())

2015-04-14  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/63387
gcc/
* match.pd ((x unord x) | (y unord y) -> (x unord y),
(x unord x) | (x unord y) -> (x unord y)): New simplifications.
gcc/testsuite/
* gcc.dg/pr63387.c: New testcase.

From-SVN: r222077

10 years agopredicates.md (any_QIreg_operand): Rename from q_regs_operand.
Uros Bizjak [Tue, 14 Apr 2015 05:04:03 +0000 (07:04 +0200)]
predicates.md (any_QIreg_operand): Rename from q_regs_operand.

* config/i386/predicates.md (any_QIreg_operand): Rename from
q_regs_operand.  Do not process subregs.
(QIreg_operand): Use QI_REGNO_P predicate.
(ext_QIreg_operand): Ditto.
(ext_register_operand): Ditto.
* config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
(AND splitters): Ditto.
(AND with -65536 splitter): Add SWI48 mode for operand 0.
(AND with -256 splitter): Use any_QIreg_operand predicate and
SWI248 mode for operand 0.
(AND with -65281 splitter): Use QIreg_operand predicate and SWI248
mode for operand 0.
(SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.

From-SVN: r222076

10 years agoFix regression for libstdc++-v3/testsuite/29_atomics/atomic/62259.cc as...
Hans-Peter Nilsson [Tue, 14 Apr 2015 00:37:57 +0000 (00:37 +0000)]
Fix regression for libstdc++-v3/testsuite/29_atomics/atomic/62259.cc as...

Fix regression for libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
as reported at <http://gcc.gnu.org/ml/gcc-patches/2015-04/msg00543.html>.

* testsuite/29_atomics/atomic/62259.cc: Assert atomic
alignment is larger-equal, not equal, to default alignment.

From-SVN: r222072

10 years agoDaily bump.
GCC Administrator [Tue, 14 Apr 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222070

10 years ago* doc/plugins.texi: Rewrite first introductory paragraph.
Gerald Pfeifer [Mon, 13 Apr 2015 23:31:10 +0000 (23:31 +0000)]
* doc/plugins.texi: Rewrite first introductory paragraph.

From-SVN: r222065

10 years agogcc.pot: Regenerate.
Joseph Myers [Mon, 13 Apr 2015 20:10:53 +0000 (21:10 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r222061