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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r220293

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

The GCC function is changing.

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

From-SVN: r220292

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

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

From-SVN: r220291

9 years agoa-assert.adb: Minor reformatting.
Robert Dewar [Fri, 30 Jan 2015 15:31:01 +0000 (15:31 +0000)]
a-assert.adb: Minor reformatting.

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

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

From-SVN: r220290

9 years agoMakefile.in (x86-vxworks): Update GCC_SPEC_FILES to include cert link spec.
Jerome Guitton [Fri, 30 Jan 2015 15:29:39 +0000 (15:29 +0000)]
Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to include cert link spec.

2015-01-30  Jerome Guitton  <guitton@adacore.com>

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

From-SVN: r220289

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 15:25:38 +0000 (16:25 +0100)]
[multiple changes]

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

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

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

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

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

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

From-SVN: r220288

9 years agosem_prag.adb (Process_Import_Or_Interface): Warn if used in Pure unit.
Robert Dewar [Fri, 30 Jan 2015 15:23:22 +0000 (15:23 +0000)]
sem_prag.adb (Process_Import_Or_Interface): Warn if used in Pure unit.

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

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

From-SVN: r220287

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 15:15:45 +0000 (16:15 +0100)]
[multiple changes]

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

* errout.ads: Minor reformatting.

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r220286

9 years agore PR ada/64349 (Bootstrapping Ada fails on darwin(9|10).)
Tristan Gingold [Fri, 30 Jan 2015 15:13:15 +0000 (15:13 +0000)]
re PR ada/64349 (Bootstrapping Ada fails on darwin(9|10).)

2015-01-30  Tristan Gingold  <gingold@adacore.com>

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

From-SVN: r220285

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 15:06:14 +0000 (16:06 +0100)]
[multiple changes]

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

* freeze.adb: Minor reformatting.

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

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

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

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

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

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

From-SVN: r220284

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 15:02:09 +0000 (16:02 +0100)]
[multiple changes]

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

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

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

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

From-SVN: r220283

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 14:59:21 +0000 (15:59 +0100)]
[multiple changes]

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

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

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

* sem_prag.adb: Minor typo fixes and reformatting.

From-SVN: r220282

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

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

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

From-SVN: r220281

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

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

From-SVN: r220280

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 11:20:27 +0000 (12:20 +0100)]
[multiple changes]

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

* sem_attr.adb: Code clean up.

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

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

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

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

From-SVN: r220279

9 years agosem_disp.adb: Minor reformatting.
Robert Dewar [Fri, 30 Jan 2015 11:02:18 +0000 (11:02 +0000)]
sem_disp.adb: Minor reformatting.

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

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

From-SVN: r220278

9 years agore PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)
Uros Bizjak [Fri, 30 Jan 2015 10:53:53 +0000 (11:53 +0100)]
re PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)

PR target/15184
* gcc.target/i386/pr15184-1.c: Compile for ia32 target only.
(dg-options): Remove -m32.
(dg-final): Scan for "movb %al" only.
* gcc.target/i386/pr15184-2.c: Ditto.

From-SVN: r220277

9 years agosem_disp.adb (Is_Dynamically_Tagged): when applied to an entity or a function call...
Ed Schonberg [Fri, 30 Jan 2015 09:29:51 +0000 (09:29 +0000)]
sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity or a function call, return True if type is class-wide.

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

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

From-SVN: r220276

9 years agore PR tree-optimization/64829 ([ARM] ICE at -O3 in vect_get_vec_def_for_stmt_copy)
Richard Biener [Fri, 30 Jan 2015 09:22:17 +0000 (09:22 +0000)]
re PR tree-optimization/64829 ([ARM] ICE at -O3 in vect_get_vec_def_for_stmt_copy)

2015-01-30  Richard Biener  <rguenther@suse.de>

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

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

From-SVN: r220275

9 years ago[multiple changes]
Arnaud Charlet [Fri, 30 Jan 2015 09:00:10 +0000 (10:00 +0100)]
[multiple changes]

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

* sem_ch6.adb (Analyze_Function_Return): In an extended return
statement, apply accessibility check to result object when there
is no initializing expression (Ada 2012 RM 6.5 (5.4/3))

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

* sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
Boolean for case where ELSE is omitted.
* sem_res.adb: Minor reformatting.

From-SVN: r220274

9 years ago* combine.c (try_combine): Fix typo in comment.
Jeff Law [Fri, 30 Jan 2015 05:50:33 +0000 (22:50 -0700)]
* combine.c (try_combine): Fix typo in comment.

From-SVN: r220273

9 years agore PR target/64580 (very high rs6000_stack_info() usage during LTO Firefox build...
Segher Boessenkool [Fri, 30 Jan 2015 05:35:52 +0000 (06:35 +0100)]
re PR target/64580 (very high rs6000_stack_info() usage during LTO Firefox build on ppc64)

PR target/64580
* config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
(rs6000_stack_info): Add assert.
(rs6000_output_savres_externs): New function, split off from...
(rs6000_output_function_prologue): ... here.  Do not call it for
thunks.

From-SVN: r220272

9 years agocompiler: Fix -fgo-prefix handling.
Ian Lance Taylor [Fri, 30 Jan 2015 00:35:44 +0000 (00:35 +0000)]
compiler: Fix -fgo-prefix handling.

There was bug in the fix for PR 61880: it only worked fully
correctly for code compiled with -fgo-pkgpath.  For code that
used -fgo-prefix, or that used neither option, the '.'
separating the prefix and the package name was converted to an
underscore, which did not happen before.  This broke SWIG and
any other code that expected specific symbol names.
Fortunately all code compiled in libgo and all code compiled
by the go tool uses -fgo-pkgpath, so this probably did not
affect very many people.

This is an incomplete fix that does not modify the package
file format, for use on both mainline and the GCC 4.9 branch.
A follow on patch will fully fix the problem.

From-SVN: r220268

9 years agoDaily bump.
GCC Administrator [Fri, 30 Jan 2015 00:18:08 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r220267

9 years agore PR libffi/64855 (FAIL: libffi.call/* -W -Wall -Wno-psabi -O0 -DABI_NUM=* -DABI_AT...
Jack Howarth [Thu, 29 Jan 2015 22:09:16 +0000 (22:09 +0000)]
re PR libffi/64855 (FAIL: libffi.call/*  -W -Wall -Wno-psabi -O0 -DABI_NUM=* -DABI_ATTR=* execution test on x86_64-apple-darwin*)

2015-01-29  Jack Howarth  <howarth.at.gcc@gmail.com>

PR libffi/64855
* testsuite/lib/libffi.exp: Don't set targetabis on darwin.

From-SVN: r220264

9 years agore PR c/64709 (Bogus -Wmissing-field-initializers warning)
Marek Polacek [Thu, 29 Jan 2015 21:02:21 +0000 (21:02 +0000)]
re PR c/64709 (Bogus -Wmissing-field-initializers warning)

PR c/64709
* c-typeck.c (pop_init_level): If constructor_elements has
exactly one element with integer_zerop value, set constructor_zeroinit
to 1.  Remove braces around warning_init call.

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

From-SVN: r220263

9 years agore PR sanitizer/64717 (-fsanitize=vptr leads to warning: ‘<anonymous>’ may be used...
Jakub Jelinek [Thu, 29 Jan 2015 20:40:07 +0000 (21:40 +0100)]
re PR sanitizer/64717 (-fsanitize=vptr leads to warning: ‘<anonymous>’ may be used uninitialized in this function [-Wmaybe-uninitialized])

PR c++/64717
* cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
into SAVE_EXPR.

* g++.dg/ubsan/pr64717-1.C: New test.
* g++.dg/ubsan/pr64717-2.C: New test.

From-SVN: r220262

9 years agointrinsic.texi (CO_BROADCAST): Correct argument description.
Tobias Burnus [Thu, 29 Jan 2015 20:24:46 +0000 (21:24 +0100)]
intrinsic.texi (CO_BROADCAST): Correct argument description.

2015-01-29  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (CO_BROADCAST): Correct argument description.

From-SVN: r220261

9 years agopr64801.c: Fix scan-tree-dump-not directive.
Uros Bizjak [Thu, 29 Jan 2015 19:55:57 +0000 (20:55 +0100)]
pr64801.c: Fix scan-tree-dump-not directive.

* gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive.

From-SVN: r220260

9 years agoacinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of $vtv_cygmin = yes.
Jakub Jelinek [Thu, 29 Jan 2015 18:36:03 +0000 (19:36 +0100)]
acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of $vtv_cygmin = yes.

* acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
$vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
* configure: Regenerated.

From-SVN: r220259

9 years agoDefine VTV_CYGMIN after vtv_cygmin is set
H.J. Lu [Thu, 29 Jan 2015 18:21:33 +0000 (18:21 +0000)]
Define VTV_CYGMIN after vtv_cygmin is set

* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
after vtv_cygmin is set.
* configure: Regenerated.

From-SVN: r220258

9 years agoacinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN unconditionally.
Matthias Klose [Thu, 29 Jan 2015 18:12:29 +0000 (18:12 +0000)]
acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN unconditionally.

2015-01-29  Matthias Klose  <doko@ubuntu.com>

        * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
        unconditionally.
        * configure: Regenerate.

From-SVN: r220257

9 years agoCommitting generated configure & Makefile.in pieces of VTV Cygwin patch (from Patrick...
Caroline Tice [Thu, 29 Jan 2015 16:47:25 +0000 (08:47 -0800)]
Committing generated configure & Makefile.in pieces of VTV Cygwin patch (from Patrick Wollgast).

Committing generated configure & Makefile.in pieces of
VTV Cygwin patch (from Patrick Wollgast).  Forgot to
commit these with the rest of the patch.

From-SVN: r220254

9 years agoPR jit/64780: configure: --enable-host-shared and the jit
David Malcolm [Thu, 29 Jan 2015 16:25:14 +0000 (16:25 +0000)]
PR jit/64780: configure: --enable-host-shared and the jit

ChangeLog:
PR jit/64780
* configure.ac: Require the user to explicitly specify
--enable-host-shared if the jit is enabled.
* configure: Regenerate.

From-SVN: r220253

9 years agore PR c++/49508 (Bogus "control reaches end of non-void function" warning)
Jason Merrill [Thu, 29 Jan 2015 16:10:08 +0000 (11:10 -0500)]
re PR c++/49508 (Bogus "control reaches end of non-void function" warning)

PR c++/49508
* semantics.c (finish_return_stmt): Suppress -Wreturn-type on
erroneous return statement.

From-SVN: r220252

9 years agore PR c++/64521 (ICE with -frepo)
Jason Merrill [Thu, 29 Jan 2015 16:09:56 +0000 (11:09 -0500)]
re PR c++/64521 (ICE with -frepo)

PR c++/64521
* repo.c (repo_emit_p): It's OK for a clone to be extern at this
point.

From-SVN: r220251

9 years agore PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)
Jeff Law [Thu, 29 Jan 2015 14:30:45 +0000 (07:30 -0700)]
re PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)

PR target/15184
* combine.c (try_combine): If I0 is a memory load and I3 a store
to a related address, increase the "goodness" of doing a 4-insn
combination with I0-I3.
(make_field_assignment): Handle SUBREGs in the ior+and case.

PR target/15184
* gcc.target/i386/pr15184-1.c: New test.
* gcc.target/i386/pr15184-2.c: New test.

From-SVN: r220249

9 years agore PR tree-optimization/64746 (Loop with nested load/stores is not vectorized using...
Yuri Rumyantsev [Thu, 29 Jan 2015 13:52:28 +0000 (13:52 +0000)]
re PR tree-optimization/64746 (Loop with nested load/stores is not vectorized using aggressive if-conversion.)

gcc/

PR tree-optimization/64746
* tree-if-conv.c (mask_exists): New function.
(predicate_mem_writes): Save created mask with given size for further
use.
(stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
(ifcvt_repair_bool_pattern): Collect all statements that are root
of bool pattern and use iterative algorithm to remove multiple uses
of predicates, display number of required iterations.

gcc/testsuite/

PR tree-optimization/64746
* gcc.target/i386/avx2-vect-aggressive-1.c: New test.

From-SVN: r220248

9 years agore PR tree-optimization/64853 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Thu, 29 Jan 2015 13:50:37 +0000 (13:50 +0000)]
re PR tree-optimization/64853 (wrong code at -Os and above on x86_64-linux-gnu)

2015-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64853
* tree-vrp.c (vrp_valueize_1): Do not return anything if the
stmt will get simulated again.
* tree-ssa-ccp.c (valueize_op_1): Likewise.

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

From-SVN: r220247

9 years ago[ARM][cleanup] Simplify some expressions in some epilogue-related functions
Kyrylo Tkachov [Thu, 29 Jan 2015 13:36:22 +0000 (13:36 +0000)]
[ARM][cleanup] Simplify some expressions in some epilogue-related functions

* config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
return_in_pc.  Remove redundant assignments.
(thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
(arm_expand_epilogue): Don't compare boolean with true in if condition.

From-SVN: r220246

9 years agoi386.c (ix86_mode_after): Make static.
Uros Bizjak [Thu, 29 Jan 2015 13:16:35 +0000 (14:16 +0100)]
i386.c (ix86_mode_after): Make static.

* config/i386/i386.c (ix86_mode_after): Make static.

From-SVN: r220245

9 years agore PR target/64844 (Vectorization inhibited in gcc5 when loop starts with elem[1...
Richard Biener [Thu, 29 Jan 2015 12:53:39 +0000 (12:53 +0000)]
re PR target/64844 (Vectorization inhibited in gcc5 when loop starts with elem[1], aarch64 perf regression from 4.9.1)

2015-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64844
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
dump cost model analysis.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Do not register adjusted load/store costs here.

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

From-SVN: r220244

9 years agoatomic_base.h: Use __always_inline__ instead of always_inline.
Jonathan Wakely [Thu, 29 Jan 2015 12:47:20 +0000 (12:47 +0000)]
atomic_base.h: Use __always_inline__ instead of always_inline.

* include/bits/atomic_base.h: Use __always_inline__ instead of
always_inline.
* include/bits/atomic_futex.h: Likewise.
* include/bits/c++config: Use __abi_tag__ instead of abi_tag.
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
__packed__ instead of packed.
* include/std/shared_mutex: Use __unused__ instead of unused.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
* testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
* testsuite/17_intro/headers/c++2014/all_attributes.cc: New.

From-SVN: r220243

9 years agoi386-protos.h (ix86_use_pseudo_pic_reg): New.
Ilya Enkovich [Thu, 29 Jan 2015 12:24:06 +0000 (12:24 +0000)]
i386-protos.h (ix86_use_pseudo_pic_reg): New.

* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
using x86_use_pseudo_pic_reg.
* config/i386/i386.c (ix86_conditional_register_usage): Remove
support for fixed PIC register.
(ix86_use_pseudo_pic_reg): Not static any more.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r220242

9 years agore PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit...
Yuri Rumyantsev [Thu, 29 Jan 2015 12:20:55 +0000 (12:20 +0000)]
re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))

gcc/testsuite/

PR middle-end/64809
* gcc.dg/pr64809.c: Delete.

From-SVN: r220241

9 years agore PR middle-end/64805 (Specific use of __attribute ((always_inline)) breaks MPX...
Ilya Enkovich [Thu, 29 Jan 2015 11:03:02 +0000 (11:03 +0000)]
re PR middle-end/64805 (Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx)

gcc/

PR middle-end/64805
* ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
to avoid error in cgraph node verification.

gcc/testsuite/

PR middle-end/64805
* gcc.target/i386/pr64805.c: New.

From-SVN: r220240

9 years agoRun guality tests on Solaris
Rainer Orth [Thu, 29 Jan 2015 10:12:14 +0000 (10:12 +0000)]
Run guality tests on Solaris

* gcc.dg/guality/guality.h (main): Add argv[0] to
guality_gdb_command.

From-SVN: r220237

9 years ago* doc/standards.texi: Reflect that the default for C is gnu11.
Marek Polacek [Thu, 29 Jan 2015 10:01:38 +0000 (10:01 +0000)]
* doc/standards.texi: Reflect that the default for C is gnu11.

From-SVN: r220236

9 years agoreorg.c (relax_delay_slots): Take account of NOTE_INSN_SWITCH_TEXT_SECTIONS and targe...
Kaz Kojima [Thu, 29 Jan 2015 08:36:38 +0000 (08:36 +0000)]
reorg.c (relax_delay_slots): Take account of NOTE_INSN_SWITCH_TEXT_SECTIONS and targetm.can_follow_jump.

* reorg.c (relax_delay_slots): Take account of NOTE_INSN_SWITCH_TEXT_SECTIONS
  and targetm.can_follow_jump.

From-SVN: r220235

9 years agoCommitting VTV Cygwin patch for Patrick Wollgast
Caroline Tice [Thu, 29 Jan 2015 08:03:56 +0000 (00:03 -0800)]
Committing VTV Cygwin patch for Patrick Wollgast

* gcc/config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (LIB_SPEC): Likewise.
* gcc/config/i386/mingw32.h (LIB_SPEC): Likewise.

* gcc/cp/vtable-class-hierarchy.c (vtv_generate_init_routine): Add
    check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.

* gcc/varasm.c (assemble_variable): Add code to properly set the comdat
    section and name for the .vtable_map_vars section in case the
    target is PE or COFF.

* libgcc/Makefile.in: Move rules to build vtv_*.o out of the check
    for CUSTOM_CRTSTUFF.
* libgcc/config.host (i[34567]86-*-cygwin*, x86_64-*-cygwin*, i[34567]86-*-mingw*)
    (x86_64-*-mingw*): Only add vtv_*.o to extra_parts if enable_vtable_verify.

* libstdc++-v3/acinclude.m4: Define VTV_CYGMIN.
* libstdc++-v3/configure: Regenerate.

* libstdc++-v3/libsupc++/Makefile.am: Add vtv_sources only to
    libsupc___la_SOURCES and libsupc__convenience_la_SOURCES if VTV_CYGMIN is
    not set.
* libstdc++-v3/libsupc++/Makefile.in: Regenerated.
* libstdc++-v3/libsupc++/vtv_stubs.cc: Add none weak declaration of every
    function for Cygwin and MinGW.

* libstdc++-v3/src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES,
    if VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
    libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
* libstdc++-v3/src/Makefile.in: Regenerate.

* libvtv/Makefile.am : Add libvtv.la to toolexeclib_LTLIBRARIES, if VTV_CYGMIN
    is set. Define libvtv_la_LIBADD, libvtv_la_LDFLAGS, libvtv_stubs_la_LDFLAGS
    and libvtv_stubs_la_SOURCES if VTV_CYGMIN is set. Add obstac.c to
    libvtv_la_SOURCES if VTV_CYGMIN is set.
* libvtv/Makefile.in : Regenerate.
* libvtv/aclocal.m4 : Regenerate.
* libvtv/configure : Regenerate.
* libvtv/configure.ac : Add ACX_LT_HOST_FLAGS. Define VTV_CYGMIN.
* libvtv/configure.tgt : (x86_64-*-cygwin*, i?86-*-cygwin*, x86_64-*-mingw*)
    (i?86-*-mingw*): Add to supported targets.
* libvtv/vtv_fail.cc : Skip inclusion of execinfo.h on Cygwin and MinGW.
(log_error_message): Skip calls to backtrace and backtrace_symbols_fd on Cygwin
    and MinGW.
* libvtv/vtv_malloc.cc : Include windows.h and skip sys/mman.h inclusion on
    Cygwin and MinGW. Add sysconf port on Cygwin and MinGW.
(obstack_chunk_alloc): Exchange call to mmap with call to VirtualAlloc on Cygwin
    and MinGW.
(__vtv_malloc_init): Exchange call to sysconf with call to port of sysconf on
    Cygwin and MinGW.
* libvtv/vtv_malloc.h : Declare mprotect and define PROT_READ and PROT_WRITE on
    Cygwin and MinGW.
* libvtv/map.h : Include stdint.h on MinGW.
* libvtv/rts.cc : Include windows.h, winternl.h and psapi.h, skip include of
    execinfo.h, sys/mman.h and link.h on Cygwin and MinGW.
    Add port of __fortify_fail on Cygwin and MinGW.
    Change ElfW (Addr) to uintptr_t on Cygwin and MinGW.
(read_section_offset_and_length): Add port for Cygwin and MinGW
(iterate_modules): New function.
(vtv_unprotect_vtable_vars): Use iterate_modules instead of dl_iterate_phdr on
    Cygwin and MinGW.
(vtv_protect_vtable_vars): Likewise.
(count_all_pages): Likewise.
(dl_iterate_phdr_count_pages): Don't build on Cygwin and MinGW.
* libvtv/utils.cc : Include windows.h and skip execinfo.h inclusion on
    Cygwin and MinGW.
(__vtv_open_log): Exchange call to getuid and getpid with GetCurrentProcessId and
    adjust call to snprintf accordingly on Cygwin and MinGW.
    Adjust calls to mkdir on MinGW.
    Adjust call to open on Cygwin and MinGW.
(__vtv_add_to_log): Adjust call to snprintf on Cygwin and MinGW.
(__vtv_log_verification_failure): Don't generate a backtrace on Cygwin and MinGW.

From-SVN: r220232

9 years agore PR ipa/64801 (kernel build failure due to ICF)
Jan Hubicka [Thu, 29 Jan 2015 07:43:14 +0000 (08:43 +0100)]
re PR ipa/64801 (kernel build failure due to ICF)

PR ipa/64801
* gcc.dg/tree-ssa/pr64801.c: New testcase.
* cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
make sane BB profile.
(cgraph_node::expand_thunk): Make sane BB profile.
(cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
* cgraph.h (init_lowered_empty_function): Update prototype.
* config/i386/i386.c (make_resolver_func): Update call.
* predict.c (gate): Disable branch prediction pass if
profile is already there.

From-SVN: r220230

9 years agooptc-save-gen.awk: flag_fp_contract_mode is no longer speical.
Jan Hubicka [Thu, 29 Jan 2015 05:05:48 +0000 (06:05 +0100)]
optc-save-gen.awk: flag_fp_contract_mode is no longer speical.

* optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
* opth-gen.awk: Likewise.
* common.opt: Mark flag_fp_contract_mode as Optimization.

From-SVN: r220229

9 years agocygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
Bernd Edlinger [Thu, 29 Jan 2015 00:34:03 +0000 (00:34 +0000)]
cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.

2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
        * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.

libjava/
2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * libtool-version: Add a comment about cygwin.

From-SVN: r220228

9 years agoDaily bump.
GCC Administrator [Thu, 29 Jan 2015 00:17:29 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r220227

9 years agoCall release_input_file only if not NULL
H.J. Lu [Wed, 28 Jan 2015 23:59:55 +0000 (23:59 +0000)]
Call release_input_file only if not NULL

* lto-plugin.c (claim_file_handler): Call release_input_file only
if it is not NULL.

From-SVN: r220224

9 years agoMark prs in changelog entry
Richard Henderson [Wed, 28 Jan 2015 23:27:52 +0000 (15:27 -0800)]
Mark prs in changelog entry

From-SVN: r220223

9 years agoMerge with upstream libffi db1b34b7e1f5e473d17557e454a29933dfecd1af
Richard Henderson [Wed, 28 Jan 2015 23:23:55 +0000 (15:23 -0800)]
Merge ... upstream libffi db1b34b7e1f5e473d17557e454a29933dfecd1af

Includes build fixes for Solaris and FreeBSD.

From-SVN: r220222

9 years agore PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries...
Jack Howarth [Wed, 28 Jan 2015 21:25:19 +0000 (21:25 +0000)]
re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1)

2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>

PR libgomp/64635
* configure.tgt (*-*-aix*): Use config_path "aix posix".
(*-*-darwin*): Use config_path "bsd darwin posix".
(*-*-hpux*): Use config_path "hpux posix".
* target.c: Add include of plugin-suffix.h and use
SONAME_SUFFIX macro.
* config/aix/plugin-suffix.h: New file.
* config/darwin/plugin-suffix.h: New file.
* config/hpux/plugin-suffix.h: New file.
* config/posix/plugin-suffix.h: New file.

From-SVN: r220220

9 years agogcc/testsuite/
Oleg Endo [Wed, 28 Jan 2015 21:23:33 +0000 (21:23 +0000)]
gcc/testsuite/
Remove gcc/testsuite/ prefix in ChangeLog entry.

From-SVN: r220219

9 years agore PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries...
Jack Howarth [Wed, 28 Jan 2015 21:23:14 +0000 (21:23 +0000)]
re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1)

2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>

PR libgomp/64635
* configure.tgt (*-*-aix*): Use config_path "aix posix".
(*-*-darwin*): Use config_path "bsd darwin posix".
(*-*-hpux*): Use config_path "hpux posix".
* target.c: Add include of plugin-suffix.h and use
SONAME_SUFFIX macro.
* config/aix/plugin-suffix.h: New file.
* config/darwin/plugin-suffix.h: New file.
* config/hpux/plugin-suffix.h: New file.
* config/posix/plugin-suffix.h: New file.

From-SVN: r220218

9 years agore PR target/64659 ([SH] Immedate values not used for atomic ops)
Oleg Endo [Wed, 28 Jan 2015 21:11:37 +0000 (21:11 +0000)]
re PR target/64659 ([SH] Immedate values not used for atomic ops)

gcc/
PR target/64659
* config/sh/predicates.md (atomic_arith_operand,
atomic_logical_operand): Remove.
* config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
(atomic_arith_operand_0): New predicate.
(atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
Use atomic_arith_operand_0 for input values.
(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
atomic_compare_and_swap<mode>_soft_gusa,
atomic_compare_and_swap<mode>_soft_tcb,
atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
arith_reg_operand instead of register_operand.
(atomic_exchange<mode>): Use arith_reg_dest for output value.  Use
atomic_arith_operand_0 for newval input.
(atomic_exchangesi_hard, atomic_exchange<mode>_hard,
atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
arith_reg_operand instead of register_operand.
(atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
fetchop_predicate_1, fetchop_constraint_1_llcs,
fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
fetchop_constraint_1_imask): New code iterator attributes.
(atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
register_operand.  Use fetchop_predicate_1.
(atomic_fetch_<fetchop_name>si_hard,
atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
register_operand.  Use fetchop_predicate_1, fetchop_constraint_1_llcs.
(atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
and arith_reg_operand instead of register_operand.  Use
fetchop_predicate_1, fetchop_constraint_1_gusa.
(atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
and arith_reg_operand instead of register_operand.  Use
fetchop_predicate_1, fetchop_constraint_1_tcb.  Adjust asm sequence
to allow R0 usage.
(atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
and arith_reg_operand instead of register_operand.  Use
fetchop_predicate_1, fetchop_constraint_1_imask.  Adjust asm sequence
to allow R0 usage.
(atomic_fetch_nand<mode>): Use arith_reg_dest instead of
register_operand.  Use atomic_logical_operand_1.
(atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
arith_reg_operand instead of register_operand.
(atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
Use arith_reg_dest and arith_reg_operand instead of register_operand.
Use logical_operand and rK08.  Adjust asm sequence to allow R0 usage.
(atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
register_operand.  Use fetchop_predicate_1.
(atomic_<fetchop_name>_fetchsi_hard,
atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
fetchop_constraint_1_llcs.
(atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
fetchop_constraint_1_gusa.
(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
fetchop_constraint_1_tcb.  Adjust asm sequence to allow R0 usage.
(atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
fetchop_constraint_1_imask.  Adjust asm sequence to allow R0 usage.
(atomic_nand_fetch<mode>): Use arith_reg_dest instead of
register_operand.  Use atomic_logical_operand_1.
(atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
arith_reg_operand instead of register_operand.
(atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use logical_operand
and K08.  Adjust asm sequence to allow R0 usage.
(atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
arith_reg_operand instead of register_operand.  Use logical_operand
and K08.

gcc/testsuite/
PR target/64659
* gcc.target/sh/sh.exp
(check_effective_target_atomic_model_soft_gusa_available,
check_effective_target_atomic_model_soft_tcb_available,
check_effective_target_atomic_model_soft_imask_available,
check_effective_target_atomic_model_hard_llcs_available): New.
* gcc.target/sh/pr64659-0.h: New.
* gcc.target/sh/pr64659-1.c: New.
* gcc.target/sh/pr64659-2.c: New.
* gcc.target/sh/pr64659-3.c: New.
* gcc.target/sh/pr64659-4.c: New.

From-SVN: r220217

9 years agore PR other/63504 (Issues found by --enable-checking=valgrind)
Jakub Jelinek [Wed, 28 Jan 2015 20:30:30 +0000 (21:30 +0100)]
re PR other/63504 (Issues found by --enable-checking=valgrind)

PR other/63504
* dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
(attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
only get_full_len HOST_WIDE_INTs from get_val () array rather than
all bits in *val_wide.

From-SVN: r220216

9 years agochecksums and test-text
Bruce Korb [Wed, 28 Jan 2015 20:21:34 +0000 (20:21 +0000)]
checksums and test-text

* fixincl.tpl: add a check sum acceptance test
* fixlib.h: enumerate it
* fixincl.c: handle it
* README: document it and document the handling of test_text

From-SVN: r220215

9 years ago* lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
Jan Hubicka [Wed, 28 Jan 2015 19:57:35 +0000 (20:57 +0100)]
* lto-symtab.c (lto_varpool_replace_node): Merge TLS models.

From-SVN: r220214

9 years agovarpool.c (tls_model_names): Fix names.
Jan Hubicka [Wed, 28 Jan 2015 19:55:13 +0000 (20:55 +0100)]
varpool.c (tls_model_names): Fix names.

* varpool.c (tls_model_names): Fix names.
(varpool_node::dump): Dump tls- prefix for tls models.

From-SVN: r220213

9 years agoCall release_input_file in claim_file_handler
H.J. Lu [Wed, 28 Jan 2015 19:39:42 +0000 (19:39 +0000)]
Call release_input_file in claim_file_handler

PR lto/64837
* lto-plugin.c (release_input_file): New.
(claim_file_handler): Call release_input_file.
(onload): Set release_input_file.

From-SVN: r220212

9 years agonvptx mkoffload.
Thomas Schwinge [Wed, 28 Jan 2015 17:03:44 +0000 (18:03 +0100)]
nvptx mkoffload.

gcc/
* config/nvptx/mkoffload.c: New file.
* config/nvptx/t-nvptx: Add build rules for it.
* config.gcc <nvptx-*> [$enable_as_accelerator = yes]
(extra_programs): Add mkoffload.
* config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
function.
(TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r220209

9 years agoatomic-op-consume.c (scan-assember-times): Adjust scan-assembler-times pattern.
Alex Velenko [Wed, 28 Jan 2015 15:11:58 +0000 (15:11 +0000)]
atomic-op-consume.c (scan-assember-times): Adjust scan-assembler-times pattern.

2015-01-28  Alex Velenko  <Alex.Velenko@arm.com>

gcc/testsuite/

* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust
scan-assembler-times pattern.

From-SVN: r220208

9 years agore PR libstdc++/64828 (libstdc++-v3/libsupc++/del_opvs.cc:30:1: warning: ‘void operat...
Jonathan Wakely [Wed, 28 Jan 2015 15:02:28 +0000 (15:02 +0000)]
re PR libstdc++/64828 (libstdc++-v3/libsupc++/del_opvs.cc:30:1: warning: ‘void operator delete [](void*, std::size_t)’ is a usual (non-placement) deallocation function in C++14 (or with -fsized-deallocation) [-Wc++14-compat])

PR libstdc++/64828
* libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
* libsupc++/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.

From-SVN: r220207

9 years ago[libstdc++][testsuite][reverted] Remove check for truncation overflow
Kyrylo Tkachov [Wed, 28 Jan 2015 13:53:45 +0000 (13:53 +0000)]
[libstdc++][testsuite][reverted] Remove check for truncation overflow

    * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
    check for unsupported.
    (v3_target_compile_as_c): Likewise.

From-SVN: r220206

9 years agore PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit...
Yuri Rumyantsev [Wed, 28 Jan 2015 11:46:44 +0000 (11:46 +0000)]
re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))

gcc/

PR middle-end/64809
* cfgexpand.c (reorder_operands): Skip debug gimples.

gcc/testsuite/

PR middle-end/64809
* gcc.dg/pr64809.c: New test.

From-SVN: r220205

9 years agore PR tree-optimization/64277 (Incorrect warning "array subscript is above array...
Ilya Enkovich [Wed, 28 Jan 2015 11:41:40 +0000 (11:41 +0000)]
re PR tree-optimization/64277 (Incorrect warning "array subscript is above array bounds")

gcc/

PR tree-optimization/64277
* tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
range info when possible to refine estimation.

gcc/testsuite/

PR tree-optimization/64277
* gcc.dg/pr64277.c: New.

From-SVN: r220204

9 years agore PR tree-optimization/64718 (Bad 16-bit bswap replacement)
Thomas Preud'homme [Wed, 28 Jan 2015 10:20:19 +0000 (10:20 +0000)]
re PR tree-optimization/64718 (Bad 16-bit bswap replacement)

2015-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/64718
    * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
    be a 16bit unsigned integer when n->range is 16.
    (bswap_replace): Convert src to that type if necessary for all bswap
    sizes.  Fix rotation right notation in nearby comment.  Use bswap_type
    set in pass_optimize_bswap::execute ().

    gcc/testsuite/
    PR tree-optimization/64718
    * gcc.c-torture/execute/pr64718.c: New test.

From-SVN: r220203

9 years ago[Patch AArch64] Make integer vabs intrinsics UNSPECs
James Greenhalgh [Wed, 28 Jan 2015 10:08:57 +0000 (10:08 +0000)]
[Patch AArch64] Make integer vabs intrinsics UNSPECs

gcc/

* config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
* config/aarch64/aarch64-simd-builtins.def (abs): Split by
integer and floating point variants.
* config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.

gcc/testsuite/

* gcc.target/aarch64/abs_2.c: New.

From-SVN: r220202

9 years agore PR libstdc++/64798 (g++.old-deja/g++.eh/badalloc1.C FAILs)
Richard Biener [Wed, 28 Jan 2015 09:53:39 +0000 (09:53 +0000)]
re PR libstdc++/64798 (g++.old-deja/g++.eh/badalloc1.C FAILs)

2015-01-28  Richard Biener  <rguenther@suse.de>

PR libstdc++/64798
* libsupc++/eh_alloc.cc (struct allocated_entry): Align
data member.
(pool::allocate): Adjust allocation size and alignment to
that change.
(pool::free): Adjust pointer offsetting.

From-SVN: r220201

9 years agoProhibit vector modes in accumulators.
Robert Suchanek [Wed, 28 Jan 2015 09:44:39 +0000 (09:44 +0000)]
Prohibit vector modes in accumulators.

gcc/
* config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
for all vector modes.

From-SVN: r220200

9 years agoRegression cleanup for MIPS nan2008 toolchain.
Robert Suchanek [Wed, 28 Jan 2015 09:22:20 +0000 (09:22 +0000)]
Regression cleanup for MIPS nan2008 toolchain.

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_mips_nanlegacy): New.
* gcc.target/mips/loongson-simd.c: Require legacy NaN support.
* gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for
ISA rev < 2.

From-SVN: r220199

9 years agore PR bootstrap/64612 (profiledbootstrap failures)
Jakub Jelinek [Wed, 28 Jan 2015 07:45:56 +0000 (08:45 +0100)]
re PR bootstrap/64612 (profiledbootstrap failures)

PR bootstrap/64612
* lib/target-supports.exp (check_effective_target_comdat_group): New.
* g++.dg/ipa/pr64612.C: Guard scan-assembler test with
{ target comdat_group }.

* doc/sourcebuild.texi (comdat_group): Document.

From-SVN: r220198

9 years ago* config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
Terry Guo [Wed, 28 Jan 2015 06:18:37 +0000 (06:18 +0000)]
* config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.

From-SVN: r220197

9 years agoDaily bump.
GCC Administrator [Wed, 28 Jan 2015 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r220196

9 years agore PR c++/58597 (ICE with lambda in default argument of template function)
Jason Merrill [Tue, 27 Jan 2015 21:40:45 +0000 (16:40 -0500)]
re PR c++/58597 (ICE with lambda in default argument of template function)

PR c++/58597
* lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
current_function_decl.

From-SVN: r220192

9 years agotoplev: gcc version information for jit
David Malcolm [Tue, 27 Jan 2015 20:19:36 +0000 (20:19 +0000)]
toplev: gcc version information for jit

gcc/ChangeLog:
* toplev.c (print_version): Add param "show_global_state", and
only print GGC and plugin information if it is true.
(init_asm_output): Pass in "true" for the new param when calling
print_version.
(process_options): Likewise.
(toplev::main): Likewise.
* toplev.h (print_version): Add new param to decl.

gcc/jit/ChangeLog:
* docs/internals/test-hello-world.exe.log.txt: Add example version
lines.
* jit-common.h (gcc::jit::dump::get_file): New accessor.
* jit-logging.c: Include toplev.h.
(gcc::jit::logger::logger): Log the GCC version.
* jit-recording.c: Include toplev.h.
(gcc:jit::recording::context::dump_reproducer_to_file): Log the
GCC version.

From-SVN: r220190

9 years agore PR fortran/63861 (OpenACC coarray ICE (also with OpenMP?))
Tobias Burnus [Tue, 27 Jan 2015 19:57:55 +0000 (20:57 +0100)]
re PR fortran/63861 (OpenACC coarray ICE  (also with OpenMP?))

2015-01-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/63861
gcc/fortran/
        * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
        Fix handling for scalar coarrays.
        * trans-types.c (gfc_get_element_type): Add comment.
gcc/testsuite/
        * gfortran.dg/goacc/coarray_2.f90: New.

From-SVN: r220189

9 years agore PR ipa/60871 (internal compiler error: in possible_polymorphic_call_targets, at...
Jan Hubicka [Tue, 27 Jan 2015 19:39:37 +0000 (20:39 +0100)]
re PR ipa/60871 (internal compiler error: in possible_polymorphic_call_targets, at ipa-devirt.c:1510)

PR ipa/60871
PR ipa/64139
* tree.c (lookup_binfo_at_offset): New function.
(get_binfo_at_offset): Use it.

* g++.dg/torture/pr64139.C: New testcase.
* g++.dg/torture/pr60871.C: Likewise.

From-SVN: r220185

9 years agore PR c++/63889 (Ice with redundant static in class scope constexpr variable template.)
Jason Merrill [Tue, 27 Jan 2015 19:16:51 +0000 (14:16 -0500)]
re PR c++/63889 (Ice with redundant static in class scope constexpr variable template.)

PR c++/63889
* pt.c (finish_template_variable): Move from semantics.c.
Handle multiple template arg levels.  Handle coercion here.
(lookup_template_variable): Not here.

From-SVN: r220183

9 years agore PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in gfc_zero_size...
Rainer Orth [Tue, 27 Jan 2015 18:44:35 +0000 (18:44 +0000)]
re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637)

2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        PR fortran/64771
        * interface.c: Remove <algorithm>.
        (check_dummy_characteristics): Use MAX instead of std::max.

From-SVN: r220182

9 years agore PR fortran/64230 (Invalid memory reference in a compiler-generated finalizer for...
Janus Weil [Tue, 27 Jan 2015 18:36:52 +0000 (19:36 +0100)]
re PR fortran/64230 (Invalid memory reference in a compiler-generated finalizer for allocatable component)

2015-01-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64230
* gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to
prevent linking errors.

From-SVN: r220181

9 years agoFix build under cygwin/64.
Bernd Edlinger [Tue, 27 Jan 2015 17:20:27 +0000 (17:20 +0000)]
Fix build under cygwin/64.

2015-01-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix build under cygwin/64.
        * adaint.h: Add check for __CYGWIN__.
        * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.

From-SVN: r220180

9 years agore PR ipa/64282 (ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635)
Jan Hubicka [Tue, 27 Jan 2015 16:59:31 +0000 (17:59 +0100)]
re PR ipa/64282 (ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635)

PR ipa/64282
* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
on vtable being vtable.
* g++.dg/torture/pr64282.C: New testcase.

From-SVN: r220177

9 years ago[AArch64][test] Fix FAIL: gcc.target/aarch64/store-pair-1.c scan-assembler stp\tw...
Kyrylo Tkachov [Tue, 27 Jan 2015 16:45:29 +0000 (16:45 +0000)]
[AArch64][test] Fix FAIL: gcc.target/aarch64/store-pair-1.c scan-assembler stp\tw[0-9]+, w[0-9]+

* gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check
for wzr reg.

From-SVN: r220176

9 years agosendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
Matthias Klose [Tue, 27 Jan 2015 16:28:35 +0000 (16:28 +0000)]
sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.

2015-01-27  Matthias Klose  <doko@ubuntu.com>

        * sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.

From-SVN: r220175

9 years agoAdd myself to maintaners.
Robert Suchanek [Tue, 27 Jan 2015 15:31:14 +0000 (15:31 +0000)]
Add myself to maintaners.

/
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r220172

9 years agoextend.texi: s/390: Update documentation of hotpatch attribute.
Dominik Vogt [Tue, 27 Jan 2015 15:26:16 +0000 (15:26 +0000)]
extend.texi: s/390: Update documentation of hotpatch attribute.

2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

        * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
        * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
        -mhotpatch= option.
        * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
        -mno-hotpatch options.  Change syntax of -mhotpatch= option.
        * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
        Renamed.
        (s390_hotpatch_trampoline_halfwords_max): Renamed.
        (s390_hotpatch_hw_max): New name.
        (s390_hotpatch_trampoline_halfwords): Renamed.
        (s390_hotpatch_hw_before_label): New name.
        (get_hotpatch_attribute): Removed.
        (s390_hotpatch_hw_after_label): New name.
        (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
        attribute.
        (s390_attribute_table): Ditto.
        (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
        (s390_function_num_hotpatch_hw): New name.
        Remove special handling of inline functions and hotpatching.
        Return number of nops before and after the function label.
        (s390_can_inline_p): Removed.
        (s390_asm_output_function_label): Emit a configurable number of nops
        after the function label.
        (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
        (TARGET_CAN_INLINE_P) Removed.
        (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.

2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc/testsuite/gcc.target/s390/hotpatch-13.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-14.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-15.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-16.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-17.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-18.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-19.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-20.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c: New testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c: New
testcase.
* gcc/testsuite/gcc.target/s390/hotpatch-1.c: Testcase adjusted to
new -mhotpatch.
* gcc/testsuite/gcc.target/s390/hotpatch-10.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-11.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-12.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-2.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-3.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-4.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-5.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-6.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-7.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-8.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-9.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c: Likewise.
* gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c: Likewise.

From-SVN: r220171

9 years ago[AArch64] Improve bit-test-branch pattern to avoid unnecessary register clobber
Jiong Wang [Tue, 27 Jan 2015 15:20:14 +0000 (15:20 +0000)]
[AArch64] Improve bit-test-branch pattern to avoid unnecessary register clobber

2015-01-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Jiong Wang  <jiong.wang@arm.com>

  gcc/
    * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead of
    scratch reg.
    (cb<optab><mode>1): Likewise.
    * config/aarch64/iterators.md (bcond): New define_code_attr.

  gcc/testsuite/
    * gcc.dg/long_branch.c: New testcase.

From-SVN: r220170

9 years agos390.c (s390_memory_move_cost): Increase costs for memory accesses.
Andreas Krebbel [Tue, 27 Jan 2015 15:01:46 +0000 (15:01 +0000)]
s390.c (s390_memory_move_cost): Increase costs for memory accesses.

2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_memory_move_cost): Increase costs for
memory accesses.

From-SVN: r220169

9 years agos390.c (s390_register_move_cost): Increase costs for FPR->GPR moves.
Andreas Krebbel [Tue, 27 Jan 2015 14:59:48 +0000 (14:59 +0000)]
s390.c (s390_register_move_cost): Increase costs for FPR->GPR moves.

2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_register_move_cost): Increase costs for
FPR->GPR moves.

From-SVN: r220168

9 years agoconfigure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
Matthias Klose [Tue, 27 Jan 2015 12:50:46 +0000 (12:50 +0000)]
configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.

2015-01-26  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
        * configure: Regenerate.

From-SVN: r220165

9 years agotree-vrp.c (update_value_range): Intersect the range with old recorded SSA name range...
Richard Biener [Tue, 27 Jan 2015 12:11:37 +0000 (12:11 +0000)]
tree-vrp.c (update_value_range): Intersect the range with old recorded SSA name range information.

2015-01-27  Richard Biener  <rguenther@suse.de>

* tree-vrp.c (update_value_range): Intersect the range with
old recorded SSA name range information.

From-SVN: r220164

9 years agorl78.c (rl78_expand_prologue): In G10 mode push the BC, DE and HL registers directly...
Nick Clifton [Tue, 27 Jan 2015 11:37:08 +0000 (11:37 +0000)]
rl78.c (rl78_expand_prologue): In G10 mode push the BC, DE and HL registers directly, not via AX.

* config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
BC, DE and HL registers directly, not via AX.
When decrementing the stack pointer by a large amount, transfer SP
into AX and perform the subtraction there.
(rl78_expand_epilogue): Perform the inverse of the above
enhancements.

From-SVN: r220163

9 years agocmpsi2.S: Use function start and end macros.
Nick Clifton [Tue, 27 Jan 2015 11:36:01 +0000 (11:36 +0000)]
cmpsi2.S: Use function start and end macros.

* config/rl78/cmpsi2.S: Use function start and end macros.
(__gcc_bcmp): New function.
* config/rl78/lshrsi3.S: Use function start and end macros.
* config/rl78/mulsi3.S: Add support for G10.
(__mulqi3): New function for G10.
* config/rl78/signbit.S: Use function start and end macros.
* config/rl78/t-rl78 (LIB2ADD): Add bit-count.S, fpbit-sf.S and
fpmath-sf.S.
(LIB2FUNCS_EXCLUDE): Define.
(LIB2FUNCS_ST): Define.
* config/rl78/trampoline.S: Use function start and end macros.
* config/rl78/vregs.h (START_FUNC): New macro.
(START_ANOTHER_FUNC): New macro.
(END_FUNC): New macro.
(END_ANOTHER_FUNC): New macro.
* config/rl78/bit-count.S: New file.  Contains assembler
implementations of the bit counting functions: ___clzhi2,
__clzsi2, ctzhi2, ctzsi2, ffshi2, ffssi2, __partityhi2,
__paritysi2, __popcounthi2 and __popcountsi2.
* config/rl78/fpbit-sf.S: New file.  Contains assembler
implementationas of the math functions: __negsf2, __cmpsf2,
__eqsf2, __nesf2, __lesf2, __ltsf2, __gesf2, gtsf2, __unordsf2,
__fixsfsi,  __fixunssfsi, __floatsisf and __floatunssisf.
* config/rl78/fpmath-sf.S: New file.  Contains assembler
implementations of the math functions: __subsf3, __addsf3,
__mulsf3 and __divsf3

From-SVN: r220162