gcc.git
10 years agognu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like in gnu.ver.
Kai Tietz [Tue, 10 Sep 2013 16:17:25 +0000 (18:17 +0200)]
gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like in gnu.ver.

PR/54314
* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
like in gnu.ver.

From-SVN: r202472

10 years agoTo prevent further confusion, remove myself as libvtv
Caroline Tice [Tue, 10 Sep 2013 16:10:28 +0000 (09:10 -0700)]
To prevent further confusion, remove myself as libvtv
maintainer until (if) I am officially approved as such.

From-SVN: r202471

10 years agoMove VTV_SUPPORTED check after AC_CANONICAL_SYSTEM
H.J. Lu [Tue, 10 Sep 2013 16:00:13 +0000 (16:00 +0000)]
Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM

PR other/58374
* configure.ac: Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM.
* configure: Regenerated.

From-SVN: r202470

10 years agolra.c (lra): Clear lra_optional_reload_pseudos before every constraint pass.
Vladimir Makarov [Tue, 10 Sep 2013 15:37:57 +0000 (15:37 +0000)]
lra.c (lra): Clear lra_optional_reload_pseudos before every constraint pass.

2013-09-10  Vladimir Makarov  <vmakarov@redhat.com>

* lra.c (lra): Clear lra_optional_reload_pseudos before every
constraint pass.
* lra-constraints.c (curr_insn_transform): Switch on optional
reloads.  Check destination too to check move insn.
(undo_optional_reloads): Add check that the original peudo did not
changed its allocation and the optional reload was inherited on
last inheritance pass.  Break loop after deciding to keep optional
reload.
(lra_undo_inheritance): Add check that inherited pseudo still in
memory.

From-SVN: r202468

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:30:44 +0000 (17:30 +0200)]
[multiple changes]

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb: sem_ch3.adb:
(Replace_Anonymoous_Access_To_Protected_Subprogram): If the
return type is itself an access to function, recurse to emit
another anonymous type.
gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode
(type_annotate_only) do not check whether access types have a set size.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
* inline.ads (Warnings): New component in Pending_Body_Info.
* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
at instantiation point.
* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
New procedure Remove special handling of Warning_Doc_Switch,
cleaner to handle the VMS case in errout, than to introduce
undocumented oddities here.
* warnsw.ads (Warning_Record) : New type.
(Save_Warnings): New function.
(Restore_Warnings): New procedure.

From-SVN: r202467

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:21:28 +0000 (17:21 +0200)]
[multiple changes]

2013-09-10  Robert Dewar  <dewar@adacore.com>

* sinput.adb (Check_For_BOM): Avoid reading past end of file.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
* inline.ads: Save/Restore Ada_Version_Pragma.
* opt.adb: Save/Restore Ada_Version_Pragma.
* opt.ads (Ada_Version_Pragma): New variable.
* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
* prj.adb: Initialize Ada_Version_Pragma.
* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
* switch-c.adb: Initialize Ada_Version_Pragma.
* sem_ch12.adb: Minor reformatting.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Process_Subtype): Discard constraint on access
to class-wide type. Such constraints are not supported and are
considered a language pathology.

From-SVN: r202466

10 years agognatbind.adb: Correct starting date in --version string.
Robert Dewar [Tue, 10 Sep 2013 15:17:44 +0000 (15:17 +0000)]
gnatbind.adb: Correct starting date in --version string.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb: Correct starting date in --version string.
* gnatdll.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatkr.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatlink.adb: Correct starting date in --version string.
* gnatls.adb: Correct starting date in --version string.
* make.adb: Correct starting date in --version string.

From-SVN: r202465

10 years agoswitch-c.adb: Minor reformatting.
Robert Dewar [Tue, 10 Sep 2013 15:16:41 +0000 (15:16 +0000)]
switch-c.adb: Minor reformatting.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* switch-c.adb: Minor reformatting.
* atree.ads (Original_Nodes): Add documentation on ASIS usage.
* sinfo.ads: Add section on ASIS mode (documentation only).

From-SVN: r202464

10 years agosem_prag.adb (Analyze_Pragma, [...]): Don't allow REASON parameter in compiler units...
Robert Dewar [Tue, 10 Sep 2013 15:15:20 +0000 (15:15 +0000)]
sem_prag.adb (Analyze_Pragma, [...]): Don't allow REASON parameter in compiler units (bootstrap issues).

2013-09-10  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
REASON parameter in compiler units (bootstrap issues).

2013-09-10  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Output warning if
-gnateE specified for a target that does not support it.

From-SVN: r202463

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:12:42 +0000 (17:12 +0200)]
[multiple changes]

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
a subprogram body without previous spec.

2013-09-10  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb: Minor typo fixes.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb (Aspects_On_Body_OK): New routine.
* aspects.ads: Modify type Aspect_Expression to include
the Optional_XXX variants. Update the contents of
table Aspect_Argument. Add table Aspect_On_Body_OK.
(Aspects_On_Body_OK): New routine.
* par-ch13.adb (Get_Aspect_Specifications): Account for optional
names and expressions when parsing an aspect.
* sem_ch6.adb: Add with and use clause for Aspects.
(Analyze_Subprogram_Body_Helper): Do not emit an error when
analyzing a body with aspects that can be applied simultaneously
to both spec and body.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of an aspect that applies to a subprogram
body in the declarative part.
(Make_Aitem_Pragma): Do not generate a pragma with an empty argument
list.

From-SVN: r202462

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:09:33 +0000 (17:09 +0200)]
[multiple changes]

2013-09-10  Robert Dewar  <dewar@adacore.com>

* switch-c.adb: Diagnose -gnatc given after -gnatRm.
* gnat_ugn.texi: Add documentation for -gnatRm.
* usage.adb: Minor reorganization (put style entries in proper
order) Document -gnatRm switch.
* sinfo.ads: Minor comment fix.

2013-09-10  Sergey Rybin  <rybin@adacore.com frybin>

* tree_io.ads: Update ASIS_Version_Number.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
designated type can appear in a parameterless call.
* sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
in the case of an indirect call through an access function that
returns an array type.
(Analyze_One_Call): Handle properly legal parameterless calls
whose result is indexed, in constructs of the for F.all (I)
* sem_ch6.ads (May_Need_Actuals): Make public, for use on access
to subprogram types.
* sem_res.adb (Resolve_Call): If the call is indirect, there is
no entity to set on the name in the call.

From-SVN: r202461

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:05:40 +0000 (17:05 +0200)]
[multiple changes]

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb: Add entries in the Has_Aspect_Specifications_Flag
table for package body and body stubs.
(Move_Or_Merge_Aspects): New routine.
(Remove_Aspects): New routine.
* aspects.ads (Move_Aspects): Update comment on usage.
(Move_Or_Merge_Aspects): New routine.
(Remove_Aspects): New routine.
* par-ch3.adb: Update the grammar of private_type_declaration,
private_extension_declaration, object_renaming_declaration,
and exception_renaming_declaration.
(P_Subprogram): Parse the
aspect specifications that apply to a body stub.
* par-ch6.adb: Update the grammar of subprogram_body_stub and
generic_instantiation.
* par-ch7.adb: Update the grammar of package_declaration,
package_specification, package_body, package_renaming_declaration,
package_body_stub.
(P_Package): Parse the aspect specifications
that apply to a body, a body stub and package renaming.
* par-ch9.adb: Update the grammar of entry_declaration,
protected_body, protected_body_stub, task_body,
and task_body_stub.
(P_Protected): Add local variable
Aspect_Sloc. Add local constant Dummy_Node.  Parse the aspect
specifications that apply to a protected body and a protected
body stub.
(P_Task): Add local variable Aspect_Sloc. Add local
constant Dummy_Node. Parse the aspect specifications that apply
to a task body and a task body stub.
* par-ch12.adb: Update the grammar of
generic_renaming_declaration.
(P_Generic): Parse the aspect
specifications that apply to a generic renaming.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit
an error when analyzing aspects that apply to a body stub. Such
aspects are relocated to the proper body.
* sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect
specifications that apply to a body.
* sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined
aspects not being supported on protected bodies. Remove the
aspect specifications. (Analyze_Single_Protected_Declaration):
Analyze the aspects that apply to a single protected declaration.
(Analyze_Task_Body): Warn about user-defined aspects not being
supported on task bodies. Remove the aspect specifications.
* sem_ch10.adb: Add with and use clause for Aspects.
(Analyze_Package_Body_Stub): Propagate the aspect specifications
from the stub to the proper body.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of an aspect that applies to a body in the
declarations of the body.
* sinfo.ads: Update the gramma of expression_function,
private_type_declaration, private_extension_declaration,
object_renaming_declaration, exception_renaming_declaration,
package_renaming_declaration, subprogram_renaming_declaration,
generic_renaming_declaration, entry_declaration,
subprogram_body_stub, package_body_stub, task_body_stub,
generic_subprogram_declaration.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Add processing
for aspect/pragma SPARK_Mode when it applies to a [library-level]
subprogram or package [body].

2013-09-10  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Document that -gnatc and -gnatR cannot be
given together.
* switch-c.adb (Scan_Front_End_Switches): Give error if both
-gnatR and -gnatc given.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* g-table.ads, g-table.adb (For_Each): New generic procedure
(Sort_Table): New generic procedure.

From-SVN: r202460

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 15:02:33 +0000 (17:02 +0200)]
[multiple changes]

2013-09-10  Thomas Quinot  <quinot@adacore.com>

* adaint.c (__gnat_is_executable_file_attr): Should be true
for an executable regular file only only (not for a directory
that has the executable permission).

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Further work on operator calls in ASIS.

2013-09-10  Yannick Moy  <moy@adacore.com>

* sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
update.

From-SVN: r202459

10 years agoaspects.ads, [...]: Minor reformatting.
Thomas Quinot [Tue, 10 Sep 2013 14:58:22 +0000 (14:58 +0000)]
aspects.ads, [...]: Minor reformatting.

2013-09-10  Thomas Quinot  <quinot@adacore.com>

* aspects.ads, sem_ch13.adb: Minor reformatting.
* adaint.c (__gnat_set_close_on_exec): Add comment documenting
that this routine is shared between OS_Lib and Sockets.

From-SVN: r202458

10 years agoexp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.
Robert Dewar [Tue, 10 Sep 2013 14:56:41 +0000 (14:56 +0000)]
exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.
* sem_ch13.adb (Make_Aitem_Pragma): Set Is_Checked if needed.
* sem_prag.adb (Check_Kind): Moved from spec (Analyze_Pragma):
Make sure Is_Ignored/Is_Checked are set right (Analyze_Pragma,
case Check): Ditto (Check_Applicable_Policy): Handle
Statement_Assertion case Throughout, set and check the Is_Checked
flag as appropriate.
* sem_prag.ads (Check_Kind): Moved to body.
* sinfo.ads, sinfo.adb (Is_Checked): New flag.

From-SVN: r202457

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 14:54:41 +0000 (16:54 +0200)]
[multiple changes]

2013-09-10  Robert Dewar  <dewar@adacore.com>

* aspects.ads (Delay_Type): New type (Aspect_Delay): New table.
* einfo.adb (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed
(use Get_Attribute_Representation_Clause).
* einfo.ads (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag
* freeze.adb: Minor reformatting
* sem_ch13.adb (Analyze_Aspect_Speficifications): Redo
handling of delayed evaluation, including optimizing some cases
and avoiding delays.
(Analyze_Aspects_At_Freeze_Point): Now
handled inheriting delayed rep aspects for type derivation case.
(Inherit_Delayed_Rep_Aspects): New procedure
* sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled
inheriting delayed rep aspects for type derivation case.
* sem_ch3.adb (Build_Derived_Type): Set
May_Inherit_Derived_Rep_Aspects if parent type flag
Has_Delayed_Rep_Aspects is set

2013-09-10  Robert Dewar  <dewar@adacore.com>

* errout.adb (Finalize): Don't delete real errors with specific
warning control.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Expand_N_Timed_Entry_Call,
Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select):
Handle properly a trigger that is  a call to a primitive operation
of a type that implements a limited interface, if the type itself
is not limited.

From-SVN: r202456

10 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 10 Sep 2013 14:52:46 +0000 (14:52 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb,
exp_ch4.adb, sprint.adb: Minor reformatting.

From-SVN: r202455

10 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Sep 2013 14:50:09 +0000 (16:50 +0200)]
[multiple changes]

2013-09-10  Yannick Moy  <moy@adacore.com>

* sinfo.ads: Document splitting of pre/post in N_Contract description.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the
form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift,
add a mod operation if the result type is a binary modular type.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local
variable Context.  Remove local variable Subp_Id. Start the
context traversal from the current subprogram rather than the
current scope. Update the scope traversal and error reporting.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure
Rewrite_Triggering_Statements, to encapsulate the statements that
follow the trigger of the entry call. This procedure is needed
when the trigger is a dispatching call, because the expansion
requires several copies of those statements. The procedure is
more efficient, and preserves non-local references when the
construct is within an instance.

From-SVN: r202454

10 years agosem_ch12.adb (Analyze_Package_Instantiation): If the instantiation is a compilation...
Ed Schonberg [Tue, 10 Sep 2013 14:48:04 +0000 (14:48 +0000)]
sem_ch12.adb (Analyze_Package_Instantiation): If the instantiation is a compilation unit...

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Package_Instantiation): If the
instantiation is a compilation unit, analyze aspects before
analyzing the package declaration for the instance.
* sem_ch13.adb (Analyze_Aspect_Specifications): If the
corresponding node is a package instantiation, insert generated
pragmas at the head of visible declarations.
* sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance
do not ignore the pragma if it comes from an aspect specification
in the instance, and not from the generic unit.
* sprint.adb (Sprint_Node_Actual): For a package declaration that
is an instantiation, print aspects after declaration.

From-SVN: r202453

10 years agoeinfo.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 10 Sep 2013 14:45:08 +0000 (14:45 +0000)]
einfo.adb, [...]: Minor reformatting.

2013-09-10  Robert Dewar  <dewar@adacore.com>

* einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting.

From-SVN: r202452

10 years agosem_prag.adb (Get_SPARK_Mode_Id): Handle the case where the pragma may appear without...
Hristian Kirtchev [Tue, 10 Sep 2013 14:43:06 +0000 (14:43 +0000)]
sem_prag.adb (Get_SPARK_Mode_Id): Handle the case where the pragma may appear without an argument.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Get_SPARK_Mode_Id): Handle the
case where the pragma may appear without an argument.
(Analyze_Global_List): Add expanded_name to the list of constructs
that denote a single item.
(Collect_Global_List): Add expanded_name to the list of constructs
that denote a single item.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Apply_Accessibility_Check): Add local constant
Pool_Id and local variables Fin_Call and Free_Stmt. Finalize
and deallocate a heap-allocated class-wide object after it
has been determined that it violates the accessibility rules.
* rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id
and entry in RE_Unit_Table for RE_Free.

From-SVN: r202451

10 years ago[AArch64] Prevent generic pipeline description from dominating other pipeline descrip...
James Greenhalgh [Tue, 10 Sep 2013 13:55:38 +0000 (13:55 +0000)]
[AArch64] Prevent generic pipeline description from dominating other pipeline descriptions.

gcc/
* config/aarch64/aarch64.md (generic_sched): New.
* config/aarch64/aarch64-generic.md (load): Make conditional
on generic_sched attribute.
(nonload): Likewise.

From-SVN: r202448

10 years agolto-cgraph.c: Include ipa-utils.h.
Jan Hubicka [Tue, 10 Sep 2013 13:50:43 +0000 (15:50 +0200)]
lto-cgraph.c: Include ipa-utils.h.

* lto-cgraph.c: Include ipa-utils.h.
(compute_ltrans_boundary): Also add possible targets into the boundary.

From-SVN: r202447

10 years agogimple-fold.c (gimple_get_virt_method_for_binfo): Pass real VAR_DECL of vtable rather...
Jan Hubicka [Tue, 10 Sep 2013 13:46:31 +0000 (15:46 +0200)]
gimple-fold.c (gimple_get_virt_method_for_binfo): Pass real VAR_DECL of vtable rather than full expression.

* gimple-fold.c (gimple_get_virt_method_for_binfo): Pass real
VAR_DECL of vtable rather than full expression.

From-SVN: r202446

10 years agocgraphunit.c (analyze_functions): Save input_location, set it to UNKNOWN_LOCATION...
Jan Hubicka [Tue, 10 Sep 2013 13:04:36 +0000 (15:04 +0200)]
cgraphunit.c (analyze_functions): Save input_location, set it to UNKNOWN_LOCATION and restore it at the end.

2013-09-10  Jan Hubicka  <jh@suse.cz>
    Paolo Carlini  <paolo.carlini@oracle.com>

* cgraphunit.c (analyze_functions): Save input_location, set it
to UNKNOWN_LOCATION and restore it at the end.

/cp
2013-09-10  Jan Hubicka  <jh@suse.cz>
    Paolo Carlini  <paolo.carlini@oracle.com>

* error.c (print_instantiation_partial_context_line): If
loc == UNKNOWN_LOCATION return immediately.

/testsuite
2013-09-10  Jan Hubicka  <jh@suse.cz>
    Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/cond2.C: Tweak, do not expect a "required from".

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r202445

10 years agoipa-cp.c (propagate_constants_topo): Do not ignore SCC represented by a thunk.
Martin Jambor [Tue, 10 Sep 2013 13:01:47 +0000 (15:01 +0200)]
ipa-cp.c (propagate_constants_topo): Do not ignore SCC represented by a thunk.

2013-09-10  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (propagate_constants_topo): Do not ignore SCC
represented by a thunk.

From-SVN: r202444

10 years agocp-demangle.c: Include hashtab.h.
Gary Benson [Tue, 10 Sep 2013 12:33:50 +0000 (12:33 +0000)]
cp-demangle.c: Include hashtab.h.

2013-09-10  Gary Benson  <gbenson@redhat.com>

* cp-demangle.c: Include hashtab.h.
(struct d_print_info): New field saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(struct d_saved_scope): New structure.
(d_store_scope): New function.
(d_free_scope) Likewise.
(d_restore_scope) Likewise.
(d_hash_saved_scope) Likewise.
(d_equal_saved_scope) Likewise.
(d_print_comp): New variable saved_scope.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.

From-SVN: r202442

10 years agore PR tree-optimization/58343 (ICE in dfs_enumerate_from, at cfganal.c:1036)
Jeff Law [Tue, 10 Sep 2013 12:29:58 +0000 (06:29 -0600)]
re PR tree-optimization/58343 (ICE in dfs_enumerate_from, at cfganal.c:1036)

PR tree-optimization/58343
* tree-ssa-threadupdate.c (thread_block): Identify and disable
jump threading requests through loop headers buried in the middle
of a jump threading path.

* tree-ssa-threadedge.c (thread_around_empty_blocks): Fix thinko
in return value/type.

* gcc.c-torture/compile/pr58343.c: New test.

From-SVN: r202441

10 years agore PR rtl-optimization/58365 (likely wrong code bug)
Jakub Jelinek [Tue, 10 Sep 2013 11:47:19 +0000 (13:47 +0200)]
re PR rtl-optimization/58365 (likely wrong code bug)

PR rtl-optimization/58365
* cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
it differs.

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

From-SVN: r202434

10 years agotree-data-ref.h (build_rdg): Drop all parameters but loop.
Richard Biener [Tue, 10 Sep 2013 10:26:08 +0000 (10:26 +0000)]
tree-data-ref.h (build_rdg): Drop all parameters but loop.

2013-09-10  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (build_rdg): Drop all parameters but loop.
* tree-data-ref.c (create_rdg_vertices): Collect all data
references, signal failure to the caller, use data-ref API.
(build_rdg): Compute data references only once.  Maintain
lifetime of data references and data dependences from within
RDG.
(free_rdg): Free dependence relations.
* tree-loop-distribution.c (rdg_flag_uses): Drop weird code
inventing extra dependences.
(distribute_loop): Update for RDG API changes.

From-SVN: r202431

10 years agoinvoke.texi (fms-extensions): Document changed behavior for ms-abi targets.
Kai Tietz [Tue, 10 Sep 2013 09:09:05 +0000 (11:09 +0200)]
invoke.texi (fms-extensions): Document changed behavior for ms-abi targets.

* doc/invoke.texi (fms-extensions): Document changed
behavior for ms-abi targets.
* config/i386/i386.c (ix86_option_override_internal):
Set default value of option -fms-extension for ms-abi targets.

From-SVN: r202429

10 years agore PR target/58330 (powerpc64 atomic store split in two)
Alan Modra [Tue, 10 Sep 2013 08:38:57 +0000 (18:08 +0930)]
re PR target/58330 (powerpc64 atomic store split in two)

PR target/58330
oops, missed from commit

From-SVN: r202428

10 years agoi386.c (ix86_expand_movmem): Fix epilogue generation.
Michael Zolotukhin [Tue, 10 Sep 2013 07:53:22 +0000 (07:53 +0000)]
i386.c (ix86_expand_movmem): Fix epilogue generation.

gcc:
* config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation.

gcc/testsuite:
* gcc.dg/torture/memcpy-1.c: New test.

From-SVN: r202423

10 years agoDaily bump.
GCC Administrator [Tue, 10 Sep 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202421

10 years agore PR target/58330 (powerpc64 atomic store split in two)
Alan Modra [Mon, 9 Sep 2013 23:48:10 +0000 (09:18 +0930)]
re PR target/58330 (powerpc64 atomic store split in two)

PR target/58330
gcc/
* config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
gcc/testsuite/
* gcc.target/powerpc/pr58330.c: New.

From-SVN: r202418

10 years agopredicates.md (add_cint_operand): New.
Alan Modra [Mon, 9 Sep 2013 23:40:34 +0000 (09:10 +0930)]
predicates.md (add_cint_operand): New.

gcc/
* config/rs6000/predicates.md (add_cint_operand): New.
(reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
* config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
using add_cint_operand.
(largetoc_high_plus_aix): Likewise.
gcc/testsuite/
* gcc.target/powerpc/medium_offset.c: New.

From-SVN: r202417

10 years agoinvoke.texi (Error and Warning Options): Add hyphen.
Tobias Burnus [Mon, 9 Sep 2013 21:55:22 +0000 (23:55 +0200)]
invoke.texi (Error and Warning Options): Add hyphen.

2013-09-09  Tobias Burnus  <burnus@net-b.de>

        * invoke.texi (Error and Warning Options): Add hyphen.

From-SVN: r202416

10 years agore PR c++/58325 (Spurious unused-but-set-variable warning on delete[] of volatile...
Jakub Jelinek [Mon, 9 Sep 2013 17:12:15 +0000 (19:12 +0200)]
re PR c++/58325 (Spurious unused-but-set-variable warning on delete[] of volatile pointer)

PR c++/58325
* init.c (build_vec_delete): Call mark_rvalue_use on base.

* g++.dg/warn/Wunused-var-21.C: New test.

From-SVN: r202411

10 years agore PR tree-optimization/58364 (likely wrong code bug)
Jakub Jelinek [Mon, 9 Sep 2013 17:09:59 +0000 (19:09 +0200)]
re PR tree-optimization/58364 (likely wrong code bug)

PR tree-optimization/58364
* tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
BOOLEAN_TYPE, only invert in_p and continue with arg0 if
the current range can't be an unconditional true or false.

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

From-SVN: r202409

10 years ago[AArch64] obvious - Fix parameter to vrsqrte_f64
James Greenhalgh [Mon, 9 Sep 2013 15:16:03 +0000 (15:16 +0000)]
[AArch64] obvious - Fix parameter to vrsqrte_f64

gcc/

* config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type.

From-SVN: r202407

10 years agoipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.
Uros Bizjak [Mon, 9 Sep 2013 15:07:58 +0000 (17:07 +0200)]
ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.

* ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.

From-SVN: r202406

10 years agore PR c++/43452 (Array delete causes error on incomplete type)
Paolo Carlini [Mon, 9 Sep 2013 14:47:21 +0000 (14:47 +0000)]
re PR c++/43452 (Array delete causes error on incomplete type)

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.

/c-family
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* c.opt (Wdelete-incomplete): Add.

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.

From-SVN: r202405

10 years agore PR c++/43452 (Array delete causes error on incomplete type)
Paolo Carlini [Mon, 9 Sep 2013 14:31:16 +0000 (14:31 +0000)]
re PR c++/43452 (Array delete causes error on incomplete type)

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.

/c-family
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* c.opt (Wdelete-incomplete): Add.

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.

From-SVN: r202404

10 years agoImprove handling of constants destined for FP_REGS on AArch64
Ian Bolton [Mon, 9 Sep 2013 13:53:18 +0000 (13:53 +0000)]
Improve handling of constants destined for FP_REGS on AArch64

From-SVN: r202403

10 years agore PR c++/58362 (Wrong column number for unused parameter)
Paolo Carlini [Mon, 9 Sep 2013 13:39:47 +0000 (13:39 +0000)]
re PR c++/58362 (Wrong column number for unused parameter)

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58362
* error.c (location_of): Don't handle PARM_DECLs specially.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58362
* g++.dg/warn/Wunused-parm-5.C: New.

From-SVN: r202402

10 years agoerror.c (dump_expr, [...]): Fix.
Paolo Carlini [Mon, 9 Sep 2013 13:34:44 +0000 (13:34 +0000)]
error.c (dump_expr, [...]): Fix.

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

* error.c (dump_expr, [PSEUDO_DTOR_EXPR]): Fix.
* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
Tweak, TREE_OPERAND (t, 1) may be null.

From-SVN: r202401

10 years agoaarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with negated operand.
Kyrylo Tkachov [Mon, 9 Sep 2013 13:32:50 +0000 (13:32 +0000)]
aarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with negated operand.

[gcc/]
2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
comparison with negated operand.
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL form.

[gcc/testsuite/]
2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.target/aarch64/cmn-neg.c: New test.

From-SVN: r202400

10 years agore PR tree-optimization/58326 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop...
Richard Biener [Mon, 9 Sep 2013 13:18:38 +0000 (13:18 +0000)]
re PR tree-optimization/58326 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:551)

2013-09-09  Richard Biener  <rguenther@suse.de>

PR middle-end/58326
* cfgloopmanip.c (fix_bb_placements): When fixing the placement
of a subloop record all its block as affecting loop-closed SSA form.

* gcc.dg/torture/pr58326-1.c: New testcase.
* gcc.dg/torture/pr58326-2.c: Likewise.

From-SVN: r202399

10 years agore PR target/57735 (ICE with -mtune=xscale (error: could not split insn) when buildin...
Kyrylo Tkachov [Mon, 9 Sep 2013 13:16:44 +0000 (13:16 +0000)]
re PR target/57735 (ICE with -mtune=xscale (error: could not split insn) when building webkit)

2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/57735
* g++.dg/ext/pr57735.C: New test.

From-SVN: r202398

10 years agoexpmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an rtx/bitpos...
Richard Sandiford [Mon, 9 Sep 2013 13:07:18 +0000 (13:07 +0000)]
expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an rtx/bitpos pair.

gcc/
* expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead
of an rtx/bitpos pair.
(store_fixed_bit_field): Update accordingly.

From-SVN: r202395

10 years agoasan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT.
Richard Sandiford [Mon, 9 Sep 2013 13:07:10 +0000 (13:07 +0000)]
asan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT.

gcc/
* asan.c (asan_emit_stack_protection): Use gen_int_mode instead of
GEN_INT.
* builtins.c (expand_errno_check): Likewise.
* dwarf2cfi.c (init_return_column_size): Likewise.
* except.c (sjlj_mark_call_sites): Likewise.
* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
* lra-constraints.c (emit_inc): Likewise.
* ree.c (combine_set_extension): Likewise.
* regmove.c (fixup_match_2): Likewise.
* reload1.c (inc_for_reload): Likewise.

From-SVN: r202394

10 years agogcc/
Richard Sandiford [Mon, 9 Sep 2013 13:07:02 +0000 (13:07 +0000)]
gcc/
* combine.c (simplify_set, expand_field_assignment, extract_left_shift)
(force_to_mode, simplify_shift_const_1, simplify_comparison):
Use gen_int_mode with the mode of the associated simplify_* call.
* explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise.
* expmed.c (expand_shift_1): Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.

From-SVN: r202393

10 years agoasan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_...
Richard Sandiford [Mon, 9 Sep 2013 13:06:53 +0000 (13:06 +0000)]
asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_* call.

gcc/
* asan.c (asan_clear_shadow): Use gen_int_mode with the mode
of the associated expand_* call.
(asan_emit_stack_protection): Likewise.
* builtins.c (round_trampoline_addr): Likewise.
* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod)
(emit_store_flag): Likewise.
* expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1)
(emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1):
Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* ifcvt.c (noce_try_store_flag_constants): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* modulo-sched.c (generate_prolog_epilog): Likewise.
* optabs.c (expand_binop, widen_leading, expand_doubleword_clz)
(expand_ctz, expand_ffs, expand_unop): Likewise.

From-SVN: r202392

10 years agoalias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the associated...
Richard Sandiford [Mon, 9 Sep 2013 13:06:43 +0000 (13:06 +0000)]
alias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the associated gen_rtx_* call.

gcc/
* alias.c (addr_side_effect_eval): Use gen_int_mode with the mode
of the associated gen_rtx_* call.
* caller-save.c (init_caller_save): Likewise.
* combine.c (find_split_point, make_extraction): Likewise.
(make_compound_operation): Likewise.
* dwarf2out.c (mem_loc_descriptor): Likewise.
* explow.c (plus_constant, probe_stack_range): Likewise.
* expmed.c (expand_mult_const): Likewise.
* expr.c (emit_single_push_insn_1, do_tablejump): Likewise.
* reload1.c (init_reload): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
* var-tracking.c (adjust_mems): Likewise.
* modulo-sched.c (sms_schedule): Likewise, but use gen_rtx_GT
rather than gen_rtx_fmt_ee.

From-SVN: r202391

10 years agore PR tree-optimization/58294 (ice in update_ssa_across_abnormal_edges, at tree-inlin...
Jan Hubicka [Mon, 9 Sep 2013 12:09:50 +0000 (14:09 +0200)]
re PR tree-optimization/58294 (ice in update_ssa_across_abnormal_edges, at tree-inline.c:1892)

PR middle-end/58294
* value-prof.c (gimple_ic): Copy also abnormal edges.
* g++.dg/torture/PR58294.C: New testcase.

From-SVN: r202389

10 years agoasan.c (asan_shadow_cst): Use gen_int_mode.
Richard Sandiford [Mon, 9 Sep 2013 09:23:54 +0000 (09:23 +0000)]
asan.c (asan_shadow_cst): Use gen_int_mode.

gcc/
* asan.c (asan_shadow_cst): Use gen_int_mode.

From-SVN: r202384

10 years agoipa-profile.c: Add toplevel comment.
Jan Hubicka [Mon, 9 Sep 2013 07:37:53 +0000 (09:37 +0200)]
ipa-profile.c: Add toplevel comment.

* ipa-profile.c: Add toplevel comment.
(ipa_propagate_frequency_1): Be more conservative when profile is read.
(contains_hot_call_p): New function.
(ipa_propagate_frequency): Set frequencies based on counts when
profile is read.
* predict.c (compute_function_frequency): Use PROFILE_READ gueard for
profile; do not tamper with profile after inlining if it is read.

From-SVN: r202382

10 years agoipa-prop.c (try_make_edge_direct_simple_call): Do not special case speculative edges.
Jan Hubicka [Mon, 9 Sep 2013 06:13:24 +0000 (08:13 +0200)]
ipa-prop.c (try_make_edge_direct_simple_call): Do not special case speculative edges.

* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
speculative edges.

From-SVN: r202381

10 years agoipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation.
Jan Hubicka [Mon, 9 Sep 2013 06:12:21 +0000 (08:12 +0200)]
ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation.

* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.

From-SVN: r202380

10 years agotree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'.
Jeff Law [Mon, 9 Sep 2013 03:07:28 +0000 (21:07 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'.

       * tree-ssa-threadedge.c (thread_across_edge): Fix initialization
        of 'found'.

        * gcc.c-torture/compile/pr58340.c: New test.

From-SVN: r202379

10 years agoDaily bump.
GCC Administrator [Mon, 9 Sep 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202377

10 years agoFix handling of very long asm statements in inliner
Andi Kleen [Sun, 8 Sep 2013 23:41:38 +0000 (23:41 +0000)]
Fix handling of very long asm statements in inliner

An auto generated program with a 6.4mio line asm statement gave
with 4.7 and 4.8:

xxx.c:6400017:1: internal compiler error: in account_size_time, at
ipa-inline-analysis.c:601

The problem is that the inliner counts the number of lines in the asm
statement and multiplies that with a weight. With the weight this
overflows 32bit signed int, and triggers an assert for negative time.

Fix this by limiting the number of lines to 1000 for asm cost
estimation. The RTL backend also does similar multiplications for
jump shortening. I haven't tried to address this, but presumably
it's less likely to result in a failure.

gcc/:
2013-09-08  Andi Kleen  <ak@linux.intel.com>

* tree-inline.c (estimate_num_insns): Limit asm cost to 1000.

From-SVN: r202374

10 years agoUpdate libvtv testsuite so that most of the tests now run under
Caroline Tice [Sun, 8 Sep 2013 23:35:14 +0000 (16:35 -0700)]
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.

From-SVN: r202373

10 years agoFix PR 58300...
Caroline Tice [Sun, 8 Sep 2013 21:58:07 +0000 (14:58 -0700)]
Fix PR 58300...

Fix PR 58300:  Re-order events with -fvtable-verify=preinit
flag, so constructor init function is  not written to assembly
file until after call to cgraph_process_new_functions.

From-SVN: r202371

10 years ago* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.
Jan Hubicka [Sun, 8 Sep 2013 20:32:46 +0000 (22:32 +0200)]
* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.

From-SVN: r202370

10 years agoira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.
Richard Sandiford [Sun, 8 Sep 2013 18:15:49 +0000 (18:15 +0000)]
ira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.

gcc/
* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
for non-debug insns.
* lra.c (new_insn_reg): Take the containing insn as a parameter.
Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
accordingly.

gcc/testsuite/
* g++.dg/debug/ra1.C: New test.

From-SVN: r202369

10 years agodevirt-11.C: Update template.
Jan Hubicka [Sun, 8 Sep 2013 16:42:21 +0000 (18:42 +0200)]
devirt-11.C: Update template.

* testsuite/g++.dg/ipa/devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
* testsuite/g++.dg/ipa/devirt-18.C: New testcase.

* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
targets and devirtualize to BUILT_IN_UNREACHABLE.
* timevar.def (TV_IPA_UNREACHABLE): New timevar.
* ipa.c (walk_polymorphic_call_targets): New function.
(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
functions; use the new timevar.
* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
was removed from the program.
(record_binfo): If BINFO corresponds to an anonymous namespace, we may
not consider it in the walk when its vtable is dead.
(possible_polymorphic_call_targets_1): Pass anonymous flag to
record_binfo.
(devirt_variable_node_removal_hook): New function.
(possible_polymorphic_call_targets): Also register
devirt_variable_node_removal_hook.
(ipa_devirt): Do not do non-speculative devirtualization.
(gate_ipa_devirt): One execute if devirtualizing speculatively.

From-SVN: r202368

10 years agocgraph.h (varpool_node_hook, [...]): Declare.
Jan Hubicka [Sun, 8 Sep 2013 16:18:04 +0000 (18:18 +0200)]
cgraph.h (varpool_node_hook, [...]): Declare.

* cgraph.h (varpool_node_hook, varpool_node_hook_list,
varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook): Declare.
* varpool.c (varpool_node_hook_list): New structure.
(first_varpool_node_removal_hook,
first_varpool_variable_insertion_hook): New variables.
(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook,
varpool_call_variable_insertion_hooks): New functions.
(varpool_remove_node): Use it.

From-SVN: r202367

10 years agore PR c++/54941 (do not print line/column numbers for <built-in>:0:0)
Paolo Carlini [Sun, 8 Sep 2013 14:30:27 +0000 (14:30 +0000)]
re PR c++/54941 (do not print line/column numbers for <built-in>:0:0)

2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* diagnostic.c (diagnostic_build_prefix): When s.file is
"<built-in>" don't output line and column numbers.

/testsuite
2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* g++.dg/overload/new1.C: Adjust.

From-SVN: r202366

10 years agoAdd missing ChangeLog entry for r199969.
Tom de Vries [Sun, 8 Sep 2013 08:17:47 +0000 (08:17 +0000)]
Add missing ChangeLog entry for r199969.

From-SVN: r202365

10 years agoc-common.c (same_scalar_type_ignoring_signedness): Delete.
Joern Rennecke [Sun, 8 Sep 2013 06:16:24 +0000 (06:16 +0000)]
c-common.c (same_scalar_type_ignoring_signedness): Delete.

gcc/c-family:
        * c-common.c (same_scalar_type_ignoring_signedness): Delete.
        (vector_types_compatible_elements_p): New function.
        * c-common.h: (same_scalar_type_ignoring_signedness): Delete
declaration.
        (vector_types_compatible_elements_p): Declare.
gcc/c:
        * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
        * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
        * c-c++-common/opaque-vector.c: New test.

From-SVN: r202364

10 years agoDaily bump.
GCC Administrator [Sun, 8 Sep 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202363

10 years agoTestcase for PR58282
Tom de Vries [Sat, 7 Sep 2013 23:31:58 +0000 (23:31 +0000)]
Testcase for PR58282

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* g++.dg/tm/noexcept-6.C: New test.

From-SVN: r202360

10 years agoHandle noexcept on transactions with -fno-exceptions
Tom de Vries [Sat, 7 Sep 2013 23:31:48 +0000 (23:31 +0000)]
Handle noexcept on transactions with -fno-exceptions

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* except.c (build_must_not_throw_expr): Handle
flag_exceptions.

From-SVN: r202359

10 years agore PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result...
Paolo Carlini [Sat, 7 Sep 2013 22:57:49 +0000 (22:57 +0000)]
re PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result` in copy_backward())

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.

From-SVN: r202357

10 years agoMakefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.
Paolo Carlini [Sat, 7 Sep 2013 21:35:38 +0000 (21:35 +0000)]
Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
definition of check-am:.
* testsuite/Makefile.in: Regenerate.

From-SVN: r202356

10 years agocgraphunit.c (expand_thunk): Get body before touching arguments.
Jan Hubicka [Sat, 7 Sep 2013 07:48:59 +0000 (09:48 +0200)]
cgraphunit.c (expand_thunk): Get body before touching arguments.

* cgraphunit.c (expand_thunk): Get body before touching arguments.
* lto-streamer-out.c: Stream thunks, too.
* lto-streamer-in.c (input_function): Pop cfun here
(lto_read_body): Instead of here.

From-SVN: r202352

10 years agoDaily bump.
GCC Administrator [Sat, 7 Sep 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202350

10 years agoAdd documentation for the options --enable-vtable-verify,
Caroline Tice [Fri, 6 Sep 2013 17:56:35 +0000 (10:56 -0700)]
Add documentation for the options --enable-vtable-verify,

--disable-vtable-verify and --disable-libvtv.  Also
update configure and make files in libvtv not to use
--enable-vtable-verify.

From-SVN: r202346

10 years agotree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences...
Jeff Law [Fri, 6 Sep 2013 17:41:48 +0000 (11:41 -0600)]
tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences into successor phis.

        * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
        edge implied equivalences into successor phis.

From-SVN: r202345

10 years agoresource.c (mark_referenced_resources): Handle COND_EXEC.
Joern Rennecke [Fri, 6 Sep 2013 17:37:50 +0000 (18:37 +0100)]
resource.c (mark_referenced_resources): Handle COND_EXEC.

gcc:
* resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc/testsuite:
* gcc.target/arc/cond-set-use.c: New test.

From-SVN: r202344

10 years agoresource.c (mark_target_live_regs): Compute resources taking into account if a call...
Claudiu Zissulescu [Fri, 6 Sep 2013 17:27:54 +0000 (19:27 +0200)]
resource.c (mark_target_live_regs): Compute resources taking into account if a call is predicated or not.

2013-09-06 Claudiu Zissulescu <claziss@synopsys.com>

        * resource.c (mark_target_live_regs): Compute resources taking
        into account if a call is predicated or not.

From-SVN: r202343

10 years agotoplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in...
Eric Botcazou [Fri, 6 Sep 2013 15:28:02 +0000 (15:28 +0000)]
toplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in the function names.

* toplev.c (output_stack_usage): Be prepared for suffixes created by
the compiler in the function names.

From-SVN: r202339

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 6 Sep 2013 15:02:03 +0000 (17:02 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* ipa-inline.c (has_caller_p): New function.
(want_inline_function_to_all_callers_p): Use it.
(sum_callers, inline_to_all_callers): Break out from ...
(ipa_inline): ... here.

From-SVN: r202337

10 years agoi386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.
Jan Hubicka [Fri, 6 Sep 2013 14:39:17 +0000 (16:39 +0200)]
i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.

* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when
AVX is enabled.

From-SVN: r202335

10 years ago[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
James Greenhalgh [Fri, 6 Sep 2013 13:59:47 +0000 (13:59 +0000)]
[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".

gcc/
* config/aarch64/aarch64.md
(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
is fpsimd_<load/store>2.
(load_pair<mode>): Likewise.
(store_pair<mode>): Likewise.

From-SVN: r202334

10 years ago[AArch64, ARM] Introduce "mrs" type attribute.
James Greenhalgh [Fri, 6 Sep 2013 13:58:09 +0000 (13:58 +0000)]
[AArch64, ARM] Introduce "mrs" type attribute.

gcc/
* config/arm/types.md (type): Add "mrs" type.
* config/aarch64/aarch64.md
(aarch64_load_tp_hard): Make type "mrs".
* config/arm/arm.md
(load_tp_hard): Make type "mrs".
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202333

10 years ago[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for...
James Greenhalgh [Fri, 6 Sep 2013 13:56:01 +0000 (13:56 +0000)]
[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move

gcc/
* config/aarch64/aarch64.md
(*movti_aarch64): Use "multiple" for type where v8type is "move2".
(*movtf_aarch64): Likewise.
* config/arm/arm.md
(thumb1_movdi_insn): Use "multiple" for type where more than one
instruction is used for a move.
(*arm32_movhf): Likewise.
(*thumb_movdf_insn): Likewise.

From-SVN: r202332

10 years ago[AArch64, ARM] Rename the FCPYS type to FMOV
James Greenhalgh [Fri, 6 Sep 2013 13:53:51 +0000 (13:53 +0000)]
[AArch64, ARM] Rename the FCPYS type to FMOV

gcc/
* config/arm/types.md (type): Rename fcpys to fmov.
* config/arm/vfp.md
(*arm_movsi_vfp): Rename type fcpys as fmov.
(*thumb2_movsi_vfp): Likewise
(*movhf_vfp_neon): Likewise
(*movhf_vfp): Likewise
(*movsf_vfp): Likewise
(*thumb2_movsf_vfp): Likewise
(*movsfcc_vfp): Likewise
(*thumb2_movsfcc_vfp): Likewise
* config/aarch64/aarch64-simd.md
(move_lo_quad_<mode>): Replace type mov_reg with fmovs.
* config/aarch64/aarch64.md
(*movsi_aarch64): Replace type mov_reg with fmovs.
(*movdi_aarch64): Likewise
(*movsf_aarch64): Likewise
(*movdf_aarch64): Likewise
* config/arm/arm.c
(cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV.
* config/arm/iwmmxt.md
(*iwmmxt_movsi_insn): Rename type fcpys as fmov.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202331

10 years ago[Patch AArch64] Fix types for some multiply instructions.
James Greenhalgh [Fri, 6 Sep 2013 13:42:12 +0000 (13:42 +0000)]
[Patch AArch64] Fix types for some multiply instructions.

gcc/
* config/aarch64/aarch64.md
(*madd<mode>): Fix type attribute.
(*maddsi_uxtw): Likewise.
(*msub<mode>): Likewise.
(*msubsi_uxtw): Likewise.
(<su_optab>maddsidi4): Likewise.
(<su_optab>msubsidi4): Likewise.

From-SVN: r202330

10 years ago[Patch ARM AARCH64] Split "type" attributes: fdiv
James Greenhalgh [Fri, 6 Sep 2013 13:39:57 +0000 (13:39 +0000)]
[Patch ARM AARCH64] Split "type" attributes: fdiv

gcc/
* config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>.
* config/arm/arm.md (core_cycles): Remove fdiv.
* config/arm/vfp.md:
(*sqrtsf2_vfp): Update for attribute changes.
(*sqrtdf2_vfp): Likewise.
* config/aarch64/aarch64.md:
(sqrt<mode>2): Update for attribute changes.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202329

10 years ago[ARM,AARCH64] Insn type reclassification. Split f_cvt type.
James Greenhalgh [Fri, 6 Sep 2013 13:37:56 +0000 (13:37 +0000)]
[ARM,AARCH64] Insn type reclassification. Split f_cvt type.

gcc/
* config/arm/types.md
(type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f.
* config/aarch64/aarch64.md
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with
new attributes.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(fixuns_trunc<GPF:mode><GPI:mode>2): Likewise.
(float<GPI:mode><GPF:mode>2): Likewise.
* config/arm/vfp.md
(*truncsisf2_vfp): Update with new attributes.
(*truncsidf2_vfp): Likewise.
(fixuns_truncsfsi2): Likewise.
(fixuns_truncdfsi2): Likewise.
(*floatsisf2_vfp): Likewise.
(*floatsidf2_vfp): Likewise.
(floatunssisf2): Likewise.
(floatunssidf2): Likewise.
(*combine_vcvt_f32_<FCVTI32typename>): Likewise.
(*combine_vcvt_f64_<FCVTI32typename>): Likewise.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202328

10 years ago[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics
James Greenhalgh [Fri, 6 Sep 2013 13:34:41 +0000 (13:34 +0000)]
[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics

gcc/
* config/aarch64/arm_neon.h
(vqtbl<1,2,3,4><q>_s8): Fix control vector parameter type.
(vqtbx<1,2,3,4><q>_s8): Likewise.

gcc/testsuite/
* gcc.target/aarch64/table-intrinsics.c
(qtbl_tests8_< ,2,3,4>): Fix control vector parameter type.
(qtb_tests8_< ,2,3,4>): Likewise.
(qtblq_tests8_< ,2,3,4>): Likewise.
(qtbxq_tests8_< ,2,3,4>): Likewise.

From-SVN: r202327

10 years ago[Patch ARM] Add "type" attribute to Everything!
James Greenhalgh [Fri, 6 Sep 2013 13:21:38 +0000 (13:21 +0000)]
[Patch ARM] Add "type" attribute to Everything!

gcc/
* config/arm/types.md: Add "no_insn", "multiple" and "untyped"
types.
* config/arm/arm-fixed.md: Add type attribute to all insn
patterns.
* config/arm/vfp.md: Add type attribute to all insn patterns.
* config/arm/arm.md: Add type attribute to all insn patterns.
* config/arm/thumb2.md: Add type attribute to all insn patterns.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/arm1026ejs.md: Update with new attributes.
* config/arm/arm1136jfs.md: Update with new attributes.
* config/arm/arm926ejs.md: Update with new attributes.
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202323

10 years ago[Patch AArch64] Fix register constraints for lane intrinsics.
James Greenhalgh [Fri, 6 Sep 2013 11:02:52 +0000 (11:02 +0000)]
[Patch AArch64] Fix register constraints for lane intrinsics.

gcc/
* config/aarch64/aarch64-simd.md
(aarch64_sqdml<SBINQOPS:as>l_n<mode>_internal): Use
<vwx> iterator to ensure correct register choice.
(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Likewise.
(aarch64_sqdmull_n<mode>): Likewise.
(aarch64_sqdmull2_n<mode>_internal): Likewise.
* config/aarch64/arm_neon.h
(vml<as><q>_lane<q>_<su>16): Use 'x' constraint for element vector.
(vml<as><q>_n_<su>16): Likewise.
(vml<as>l_high_lane<q>_<su>16): Likewise.
(vml<as>l_high_n_<su>16): Likewise.
(vml<as>l_lane<q>_<su>16): Likewise.
(vml<as>l_n_<su>16): Likewise.
(vmul<q>_lane<q>_<su>16): Likewise.
(vmul<q>_n_<su>16): Likewise.
(vmull_lane<q>_<su>16): Likewise.
(vmull_n_<su>16): Likewise.
(vmull_high_lane<q>_<su>16): Likewise.
(vmull_high_n_<su>16): Likewise.
(vqrdmulh<q>_n_s16): Likewise.

From-SVN: r202322

10 years agoarm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.
Tejas Belagod [Fri, 6 Sep 2013 10:57:14 +0000 (11:57 +0100)]
arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.

2013-09-06  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to
have the correct lane parameter.

From-SVN: r202321

10 years agocfganal.c (control_dependences::~control_dependences): Properly free all of the vector.
Richard Biener [Fri, 6 Sep 2013 10:38:08 +0000 (10:38 +0000)]
cfganal.c (control_dependences::~control_dependences): Properly free all of the vector.

2013-09-06  Richard Biener <rguenther@suse.de>

* cfganal.c (control_dependences::~control_dependences):
Properly free all of the vector.

From-SVN: r202320

10 years agoMakefile.in (tree-sra.o): Update dependencies.
Jan Hubicka [Fri, 6 Sep 2013 10:36:44 +0000 (10:36 +0000)]
Makefile.in (tree-sra.o): Update dependencies.

* Makefile.in (tree-sra.o): Update dependencies.
* tree-sra.c: Include ipa-utils.h
(scan_function): Use recursive_call_p.
(has_caller_p): New function.
(cgraph_for_node_and_aliases): Count also callers of aliases.

From-SVN: r202319

10 years agore PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision...
Kirill Yukhin [Fri, 6 Sep 2013 10:36:30 +0000 (10:36 +0000)]
re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin*  after revision 201915)

PR target/58269
* config/i386/i386.c (ix86_conditional_register_usage):
Proper initialize extended SSE registers.

From-SVN: r202318

10 years agore PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash()...
Jan Hubicka [Fri, 6 Sep 2013 10:33:48 +0000 (12:33 +0200)]
re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize)

PR tree-optimization/58311
* ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.

From-SVN: r202317