1. 24 Apr, 2013 33 commits
    • [AArch64] Fix vld1<q>_* asm constraints in arm_neon.h · 38047d90
      gcc/
      	* config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
      	(vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
      	(vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
      
      From-SVN: r198250
      James Greenhalgh committed
    • cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. · 13f39b2e
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__.
      
      /c-family
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/cxx1y_macro.C: New.
      
      From-SVN: r198249
      Paolo Carlini committed
    • * libsupc++/initializer_list: Fix typos. · 1e8c4907
      From-SVN: r198248
      Jason Merrill committed
    • N3648: init-captures are named. · 76089b28
      	* semantics.c (add_capture): Don't prepend "__" to init-captures.
      	(build_capture_proxy): Adjust.
      	* error.c (dump_simple_decl): Check DECL_NORMAL_CAPTURE_P.
      
      From-SVN: r198247
      Jason Merrill committed
    • N3648: Allow braced and parenthesized initializers. · 399bb2da
      	* parser.c (cp_parser_lambda_introducer): Use cp_parser_initializer.
      	* pt.c (tsubst) [DECLTYPE_TYPE]: Handle DECLTYPE_FOR_INIT_CAPTURE.
      	* semantics.c (lambda_capture_field_type): Use do_auto_deduction.
      	(add_capture): Collapse a parenthesized initializer into a single
      	expression.
      	* cp-tree.h (DECLTYPE_FOR_INIT_CAPTURE): New.
      
      From-SVN: r198246
      Jason Merrill committed
    • Update dependencies. · 98bdfa50
      From-SVN: r198245
      Arnaud Charlet committed
    • [multiple changes] · 51597c23
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Expand_Actuals): Add a predicate check on an
      	actual the related type has a predicate function.
      	* sem_ch3.adb (Constant_Redeclaration): Ensure that the related
      	type has an invariant procedure before building a call to it.
      	* sem_ch6.adb (Append_Enabled_Item): New routine.
      	(Check_Access_Invariants): Use routine
      	Append_Enabled_Item to chain onto the list of postconditions.
      	(Contains_Enabled_Pragmas): Removed.
      	(Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
      	the list of postconditions.
      	(Invariants_Or_Predicates_Present): Removed.
      	(Process_PPCs): Partially reimplemented.
      
      2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* tree_io.ads: Update ASIS_Version_Number because of changes
      	in the way how entities are chained in a scope by means of
      	Next_Entity link.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
      	Storage_Size): If the clause is not from an aspect, insert
      	assignment to size variable of task type at the point of the
      	clause, not after the task definition, to prevent access before
      	elaboration in the back-end.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Document 'Loop_Entry.
      
      2013-04-24  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
      	fall-back termination handlers from the parents, because they apply
      	only to dependent tasks.
      	* s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
      	termination handlers because the environment task has no parent,
      	and if it defines one of these handlers it does not apply to
      	itself because they apply only to dependent tasks.
      
      From-SVN: r198244
      Arnaud Charlet committed
    • [multiple changes] · 0d5fbf52
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document 'Update attribute.
      	* sem_attr.adb (Analyze_Attribute, case Update): Remove call
      	to S14_Attribute (S14_Attribute): removed.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* interfac.ads: Add size clauses for IEEE_Float_32/64
      
      2013-04-24  Claire Dross  <dross@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Remove
      	special assignment of Use_Expression_With_Actions for SPARK_Mode.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Apply_Predicate_Check): Check for the presence
      	of the dynamic predicate aspect when trying to determine if the
      	predicate of a type is non-static.
      	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
      	for the presence of the dynamic predicate aspect when trying to
      	determine if the predicate of a type is non- static.
      	* sem_ch13.adb (Add_Call): Capture the nature of the
      	inherited ancestor predicate.
      	(Build_Predicate_Functions): Update comments. Rewrite the checks on
      	static predicate application. Complain about the form of a non-static
      	expression only when the type is static.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb: Add guard to tree traversal.
      
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* clean.adb (Clean): Remove local variable Root_Environment,
      	use Makeutl.Root_Environment instead.
      	* gnatcmd.adb: Remove local variable Root_Environment, use
      	Makeutl.Root_Environment instead.
      	* make.adb (Gnatmake): Remove local variable Root_Environment,
      	use Makeutl.Root_Environment instead.
      	* prj-makr.adb: Remove local variable Root_Environment, use
      	Makeutl.Root_Environment instead.
      
      From-SVN: r198243
      Arnaud Charlet committed
    • [multiple changes] · 3d67b239
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
      	extraction of the declarative part of the conditional block. Move
      	the processing of simple infinite loops to the start of the
      	expansion logic. Correct the check which determines whether the
      	proper scope is installed in visibility.
      	* sem_attr.adb (Analyze_Attribute): Add local variable Attr
      	to keep track of the attribute in case the enclosing indexed
      	component has to be rewritten. When searching for the enclosing
      	loop, start from the proper attribute reference in case of a
      	rewriting. Do not allow for 'Loop_Entry to appear in pragma
      	Assert. Replace loop variable J with Index. Set the type of the
      	proper attribute.
      	* sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
      	block that services a loop statement subject to at least one
      	'Loop_Entry attribute.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
      	resolve a fixed point operation, use first subtype to determine
      	whether type and operator are declared in the same list of
      	declarations.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch6.adb (P_Subprogram): Detect an illegal
      	placement of the aspect specification list in the context of
      	expression functions.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Allocator):  If the designated object
      	has tasks, and the pointer type is an itype that has no master
      	id, create a master renaming in the current context, which can
      	only be an init_proc.
      
      From-SVN: r198242
      Arnaud Charlet committed
    • [multiple changes] · 70861157
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_ch7.adb: Minor reformatting.
      	* gnat_rm.texi: Document pragma Loop_Invariant.
      	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
      	no longer an S14_Attribute.
      	* sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
      	processing with Assert, allow message parameter, remove call
      	to S14_Pragma.
      
      2013-04-24  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      
      From-SVN: r198241
      Arnaud Charlet committed
    • [multiple changes] · 24778dbb
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Swap_Private_Dependents): New internal routine
      	to Install_Private_Declarations, to make the installation of
      	private dependents recursive in the presence of child units.
      	* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
      	the Private_Dependents of a private subtype.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
      	retrieval of the block declarations.
      	* par-ch4.adb (P_Name): Let the name parsing machinery create
      	a sequence of nested indexed components for attribute Loop_Entry.
      	* sem_attr.adb (Analyze_Attribute): Add local constant
      	Context. Reimplement part of the analysis of attribute Loop_Entry.
      	(Convert_To_Indexed_Component): Removed.
      	* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
      	an indexed component after it has been rewritten into attribute
      	Loop_Entry.
      
      From-SVN: r198240
      Arnaud Charlet committed
    • snames.ads-tmpl: Minor change to list Loop_(In)variant not in configuration pragma. · 8a8ac7e3
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* snames.ads-tmpl: Minor change to list
      	Loop_(In)variant not in configuration pragma.
      	* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
      	for analyzing the expressions in pre/postconditions.
      
      From-SVN: r198239
      Yannick Moy committed
    • [multiple changes] · dd3b3672
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
      	reformatting.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
      	Analyze_Subprogram_Body_Helper): Reset contract node to Empty
      	before setting entity to E_Subprogram_Body.
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
      	Empty before setting entity to E_Subprogram_Body.
      
      From-SVN: r198238
      Arnaud Charlet committed
    • [multiple changes] · b5bdffcc
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Document new gnatls switch -aPdir.
      	* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
      	* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
      	a warning for unknown switches.
      	(Usage): Add line for new switch -aPdir.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
      	if the type comes from a limited view, so that task attributes can be
      	constructed.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
      	full expansion is not enabled.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
      	formals if the type does not yet have a completion, and thus
      	has no underlying view.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
      	specification for Address as a reference, to suppress warnings
      	on entities that may be read by an external device.
      
      From-SVN: r198237
      Arnaud Charlet committed
    • 2013-04-24 Sergey Rybin <rybin@adacore.com frybin> · 327b1ba4
      	* gnat_ugn.texi: Add description of '--help' and '--version'
      	options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
      
      2013-04-24  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_rm.texi: Minor syntax fix.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
      	what and why is being analyzed. Remove the decoration of renamings as
      	this simply falls out of the general analysis mechanism.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Explain_Redundancy): New routine.
      	(Resolve_Equality_Op): Place the error concerning a redundant
      	comparison to True at the "=". Try to explain the nature of the
      	redundant True.
      
      2013-04-24  Javier Miranda  <miranda@adacore.com>
      
      
      	* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
      	check in interface thunks since it is performed at the caller
      	side.
      	(Expand_Simple_Function_Return): No accessibility check
      	needed in thunks since the check is done by the target routine.
      
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* xref_lib.adb (Add_Entity): Use the canonical file names
      	so that source file names with capital letters are found on
      	platforms where file names are case insensitive.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch4.adb (P_Name): Continue to parse the name extension when the
      	construct is attribute Loop_Entry. Do not convert the attribute
      	reference into an indexed component when there is at least one
      	expression / range following 'Loop_Entry.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
      	(Process_PPCs): Generate procedure _Postconditions
      	only when the context has invariants or predicates or enabled
      	aspects/pragmas.
      
      From-SVN: r198236
      Arnaud Charlet committed
    • [multiple changes] · d436b30d
      2013-04-24  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Host_Entry): Introduce intermediate copy of
      	memory location pointed to by Hostent_H_Addr, as it might not
      	have sufficient alignment.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
      	calling subprograms which may read it.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Remove Loop_Entry_Attributes from the usage of
      	nodes. Flag 260 is now used.
      	(Has_Loop_Entry_Attributes): New routine.
      	(Loop_Entry_Attributes): Removed.
      	(Set_Has_Loop_Entry_Attributes): New routine.
      	(Set_Loop_Entry_Attributes): Removed.
      	(Write_Entity_Flags): Write out Flag 260.
      	(Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
      	* einfo.ads: Remove attribute Loop_Entry_Attributes,
      	its related comment and uses in nodes.	Add new attribute
      	Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
      	(Has_Loop_Entry_Attributes): New routine and pragma Inline.
      	(Loop_Entry_Attributes): Removed along with pragma Inline.
      	(Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
      	(Set_Loop_Entry_Attributes): Removed along with pragma Inline.
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
      	(Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
      	* exp_ch5.adb: Remove with and use clause for Elists.
      	(Expand_Loop_Entry_Attributes): Removed.
      	(Expand_N_Loop_Statement): Add local variable Stmt. Rename local
      	constant Isc to Scheme. When a loop is subject to attribute
      	'Loop_Entry, retrieve the nested loop from the conditional
      	block. Move the processing of controlled object at the end of
      	loop expansion.
      	* sem_attr.adb (Analyze_Attribute): Do not chain attribute
      	'Loop_Entry to its related loop.
      	* sem_ch5.adb (Analyze_Loop_Statement): Add local variable
      	Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
      	the entire loop is rewritten into a block.  Retrieve the nested
      	loop in such cases to complete the analysis.
      	* sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
      	routine.
      	(Subject_To_Loop_Entry_Attributes): New routine.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
      	(Loop_Variant, xxx) rather than Assert (xxx).
      	* gnat_rm.texi: Document pragma Loop_Variant.
      	* sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
      	to S14_Pragma.
      
      From-SVN: r198235
      Arnaud Charlet committed
    • adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'. · 06b599fd
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
      	errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
      	exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
      	expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
      	lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
      	restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
      	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
      	sem_res.adb, sem_util.adb: Everything with name
      	'Alfa' renamed in 'SPARK'. Update comments.
      	Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
      	* exp_alfa.adb: renamed exp_spark.adb.
      	* exp_alfa.ads: renamed exp_spark.ads.
      	* get_alfa.adb: renamed get_spark_xrefs.adb.
      	* get_alfa.ads: renamed get_spark_xrefs.ads.
      	* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
      	* put_alfa.adb: renamed put_spark_xrefs.adb.
      	* put_alfa.ads: renamed put_spark_xrefs.ads.
      	* alfa.adb: renamed spark_xrefs.adb.
      	* alfa.ads: renamed spark_xrefs.ads.
      	* alfa_test.adb: renamed spark_xrefs_test.adb.
      
      From-SVN: r198234
      Yannick Moy committed
    • Prune SCEV · 97c116dc
      From-SVN: r198233
      Marek Polacek committed
    • re PR c++/56970 (SFINAE does not apply correctly to sizeof.) · a378996b
      /cp
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56970
      	* init.c (build_offset_ref): Add tsubst_flags_t parameter.
      	* semantics.c (finish_qualified_id_expr): Likewise.
      	(finish_id_expression): Update.
      	* typeck.c (cp_build_addr_expr_1): Likewise.
      	* pt.c (tsubst_qualified_id, resolve_nondeduced_context): Likewise.
      	* cp-tree.h: Update declarations.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56970
      	* g++.dg/cpp0x/sfinae45.C: New.
      
      From-SVN: r198232
      Paolo Carlini committed
    • gnat_rm.texi: Document pragma Assume. · 07c2f659
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document pragma Assume.
      	* sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
      	part of Assert, and no longer requires -gnatd.F
      
      From-SVN: r198231
      Robert Dewar committed
    • gnat_rm.texi: Document pragma Assert_And_Cut. · 7fab6905
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document pragma Assert_And_Cut.
      	* sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
      	S14_Pragma call.
      
      From-SVN: r198230
      Robert Dewar committed
    • [multiple changes] · 1f505978
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aux.adb: Add guard in Available_View.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
      	Find_Related_Subprogram to find the associated subprogram.
      	(Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
      	to find the associated subprogram.
      	(Analyze_Pragma): Use Find_Related_Subprogram to find the associated
      	subprogram.
      
      From-SVN: r198229
      Arnaud Charlet committed
    • micromips.md (jraddiusp): New pattern. · 83082391
      2013-04-02  Catherine Moore  <clm@codesourcery.com>
      	    Chao-ying Fu <fu@mips.com>
      
              * config/mips/micromips.md (jraddiusp): New pattern.
              * config/mips/mips.c (mips_expand_epilogue): Use the JRADDIUSP
              instruction if possible.
      
      
      Co-Authored-By: Chao-ying Fu <fu@mips.com>
      
      From-SVN: r198228
      Catherine Moore committed
    • exp_ch6.adb: Remove with and use clause for Sem_Prag. · 5afe5d2d
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb: Remove with and use clause for Sem_Prag.
      	(Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
      	the contract of a subprogram.
      	* sem_ch3.adb: Remove with and use clause for Sem_Prag.
      	(Analyze_Declarations): Call Analyze_Subprogram_Contract to
      	analyze the contract of a subprogram.
      	* sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
      	(Check_Subprogram_Contract): Removed.
      	* sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
      	(Check_Subprogram_Contract): Removed.
      	(Expand_Contract_Cases): Add a guard against malformed contract cases.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Call
      	Decorate_Delayed_Aspect_And_Pragma to decorate aspects
      	Contract_Cases, Depends and Global. Reimplement the analysis of
      	aspect Contract_Cases.
      	(Decorate_Delayed_Aspect_And_Pragma): New routine.
      	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
      	(Analyze_CTC_In_Decl_Part): Removed.
      	(Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
      	(Analyze_Test_Case_In_Decl_Part): New routine.
      	(Find_Related_Subprogram): New routine.
      	(Requires_Profile_Installation): Add new formal Prag. Update
      	the logic to take into account the origin of the pragma.
      	* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
      	(Analyze_CTC_In_Decl_Part): Removed.
      	(Analyze_Test_Case_In_Decl_Part): New routine.
      
      From-SVN: r198227
      Hristian Kirtchev committed
    • [multiple changes] · f1c80977
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Process_Convention): Move Stdcall tests to
      	Set_Convention_From_Pragma so that they are applied to each
      	entry of a homonym set.
      	(Process_Convention): Don't try to set convention if already set.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnatbind.adb: Minor reformatting.
      
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* clean.adb (Gnatclean): Add the default project search
      	directories in the project search path after scanning the
      	switches on the command line.
      	(Initialize): Do not put the default project search directories in the
      	project search path.
      	* gnatcmd.adb (GNATcmd): Add the default project search
      	directories in the project search path after scanning the switches
      	on the command line.
      	* make.adb (Initialize): Add the default project search
      	directories in the project search path after scanning the switches
      	on the command line.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* restrict.ads (Restriction_Warnings): Initialize with all False value.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
      	* exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
      	Predicate_Check.
      	* snames.ads-tmpl (Name_Predicate_Check): New check name.
      	* types.ads (Predicate_Check): New definition.
      	* gnat_rm.texi: Add documentation for Predicate_Check.
      
      From-SVN: r198226
      Arnaud Charlet committed
    • exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a renaming of… · ced8450b
      exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a renaming of predefined equality for an untagged record...
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
      	is a renaming of predefined equality for an untagged record,
      	add generated body to the freeze actions for the subprogram, to
      	prevent freezing issues when the record has incomplete components.
      	* exp_ch4.adb (Expand_Composite_Equality): If the type is a type
      	without completion, return a predefined comparison instead of
      	just False.  This may happen when building the expression for
      	record equality, when some component has a type whose completion
      	has not been seen yet. The operation will be analyzed an expanded
      	after the type has been frozen, at which point all component
      	types will have been completed, or an error reported.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
      	analysis of a Convention aspect.
      
      From-SVN: r198225
      Ed Schonberg committed
    • [multiple changes] · b546e2a7
      2013-04-24  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* fe.h (Machine_Overflows_On_Target): New macro and declaration.
      	(Signed_Zeros_On_Target): Likewise.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb: Add with and use clause for Sem_Prag.
      	(Freeze_Subprogram): Analyze all delayed aspects for a null
      	procedure so that they are available when analyzing the
      	internally-generated _Postconditions routine.
      	* exp_ch13.adb: Remove with and use clause for Sem_Prag.
      	(Expand_N_Freeze_Entity): Move the code that analyzes delayed
      	aspects of null procedures to exp_ch6.Freeze_Subprogram.
      	* sem_prag.adb (Analyze_Abstract_State): Update the check on
      	volatile requirements.
      
      2013-04-24  Bob Duff  <duff@adacore.com>
      
      	* ali-util.ads (Source_Record): New component Stamp_File
      	to record from whence the Stamp came.
      	* ali-util.adb (Set_Source_Table): Set Stamp_File component.
      	* bcheck.adb (Check_Consistency): Print additional information in
      	Verbose_Mode.
      	* gnatbind.adb (Gnatbind): Print additional information in
      	Verbose_Mode.
      
      From-SVN: r198224
      Arnaud Charlet committed
    • [multiple changes] · dba44dbe
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch13.adb, sem_prag.adb: Update comments.
      	* sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
      	reformatting.
      
      2013-04-24  Doug Rupp  <rupp@adacore.com>
      
      	* vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* sinfo.ads: Minor correction of typo.
      
      From-SVN: r198223
      Arnaud Charlet committed
    • [multiple changes] · ca3e17b0
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Create packed array only when expander is
      	active.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
      	when the context warrants it.
      	(Analyze_Global_In_Decl_List): Install the formals only when
      	the context warrants it.
      	(Requires_Profile_Installation): New routine.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
      	type is a discriminated private type that does not require use
      	of the secondary stack, a constrained subtype of the underlying
      	type is created to convey the proper object size to the backend.
      	If the return type is originally a private type, the return
      	expression is wrapped in an unchecked_conversion. If the return
      	expression is used subsequently in a call to the postcondition
      	function, this conversion must be undone to prevent a spurious
      	error on the analysis of that call.
      
      From-SVN: r198222
      Arnaud Charlet committed
    • fix comment pasto · 19e34aa2
      From-SVN: r198221
      Alan Modra committed
    • dwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT dependency… · fdb6603c
      dwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT dependency behavior in enumeration type DIE generation.
      
      2013-04-24  Julian Brown  <julian@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	* dwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT
      	dependency behavior in enumeration type DIE generation. Add TODO
      	note to comments about future DW_FORM_sdata/udata re-work of related
      	code.
      
      
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r198219
      Julian Brown committed
    • re PR testsuite/57050 (FAIL: gcc.c-torture/execute/pr56982.c compilation, -O0) · b1df40cb
      2013-04-24  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/57050
      	* gcc.c-torture/execute/pr56982.c: Avoid sigjmp_buf use.
      
      From-SVN: r198218
      Richard Biener committed
    • Daily bump. · cdfacebf
      From-SVN: r198216
      GCC Administrator committed
  2. 23 Apr, 2013 7 commits
    • This patch extracts approved portions of the hash_table patches to the... · bf190e8d
      This patch extracts approved portions of the hash_table patches to
      the cxx-conversion branch for files not under gcc/config.
      
      Update various hash tables from htab_t to hash_table.
      Modify types and calls to match.
      
      * tree-ssa-coalesce.c'coalesce_list_d.list from htab_t to hash_table.
      
      Fold coalesce_pair_map_hash and coalesce_pair_map_eq into new
      struct coalesce_pair_hasher.
      
      Removed struct coalesce_pair_iterator, as did not meet the hash_table
      iterator interface and it provided no significant code reduction.
      This leads to a change in the implementation of FOR_EACH_PARTITION_PAIR.
      
      * statistics.c'statistics_hashes
      
      Fold hash_statistics_eq into new struct stats_counter_hasher.
      
      * hash-table.h'hash_table
      
      Add documentation.
      Add nested class iterator and methods to hash_table.
      Add FOR_EACH_HASH_TABLE_ELEMENT implemented with those iterators.
      Change uses of FOR_EACH_HTAB_ELEMENT to FOR_EACH_HASH_TABLE_ELEMENT.
      
      * tree-ssa-sccvn.c'vn_tables_s.nary
      
      Fold vn_nary_op_hash, vn_nary_op_eq into new struct vn_nary_op_hasher.
      Add typedef vn_nary_op_table_type.
      Add typedef vn_nary_op_iterator_type.
      
      * tree-ssa-sccvn.c'vn_tables_s.phis
      
      Fold vn_phi_hash, free_phi into new struct vn_phi_hasher.
      Add typedef vn_phi_table_type.
      Add typedef vn_phi_iterator_type.
      
      * tree-ssa-sccvn.c'vn_tables_s.references
      
      Fold vn_reference_hash, vn_reference_op_eq, free_reference
        into new struct vn_reference_hasher.
      Add typedef vn_reference_table_type.
      Add typedef vn_reference_iterator_type.
      
      * tree-ssa-sccvn.c'constant_value_ids
      
      Fold vn_constant_hash, vn_constant_eq into new struct vn_constant_hasher.
      
      * tree-into-ssa.c'var_infos
      
      Fold var_info_hash, var_info_eq into new struct var_info_hasher.
      
      * tree-vectorizer.h'_loop_vec_info::peeling_htab
      
      * tree-vectorizer.h
      
      New struct peel_info_hasher.
      
      * tree-vect-loop.c
      
      Update dependent calls and types to match.
      
      * tree-vect-data-refs.c
      
      Fold vect_peeling_hash and vect_peeling_hash_eq into struct peel_info_hasher.
      
      * tree-ssa-reassoc.c'undistribute_ops_list::ctable
      
      Fold oecount_hash and oecount_eq into new struct oecount_hasher.
      
      * tree-ssa-loop-im.c'memory_accesses.refs
      
      Fold memref_hash and memref_eq into new struct mem_ref_hasher.
      
      Tested on x86_64.
      
      
      Index: gcc/ChangeLog
      
      2013-04-23  Lawrence Crowl  <crowl@google.com>
      
      	* Makefile.in: Update as needed below.
      
      	* hash-table.h (class hash_table):
      	Correct many methods with parameter types compare_type to the correct
      	value_type.  (Correct code was unlikely to notice the change.)
      	(hash_table::elements_with_deleted) New.
      	(class hashtable::iterator): New.
      	(hashtable::begin()): New.
      	(hashtable::end()): New.
      	(FOR_EACH_HASH_TABLE_ELEMENT): New.
      
      	* statistics.c (statistics_hashes):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* tree-into-ssa.c (var_infos):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* tree-ssa-coalesce.c (struct coalesce_list_d.list):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* tree-ssa-loop-im.c (struct mem_ref.refs):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* tree-ssa-reassoc.c (undistribute_ops_list::ctable):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* tree-ssa-sccvn.c (vn_tables_s::nary):
      	Change type to hash_table.  Update dependent calls and types.
      	(vn_tables_s::phis): Likewise.
      	(vn_tables_s::references): Likewise.
      
      	* tree-ssa-sccvn.h (vn_nary_op_eq): Update parameter and return types.
      	(vn_reference_eq): Update parameter and return types.
      
      	* tree-ssa-structalias.c (pointer_equiv_class_table):
      	Change type to hash_table.  Update dependent calls and types.
      	(location_equiv_class_table): Likewise.
      
      	* tree-vect-data-refs.c: Consequential changes for making
      	peeling a hash_table.
      
      	* tree-vect-loop.c (new_loop_vec_info): Dependent hash_table update.
      	(destroy_loop_vec_info): Dependent hash_table update.
      
      	* tree-vectorizer.h (peeling_htab):
      	Change type to hash_table.  Update dependent calls and types.
      
      From-SVN: r198213
      Lawrence Crowl committed
    • re PR target/55445 (Always defined __SEH__ when build from trunk) · 4a8043c4
      	PR target/55445
      	* raise-gcc.c (__SEH__): Additional check that
      	SjLj isn't active.
      
      From-SVN: r198205
      Kai Tietz committed
    • lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p to check the… · d70a81dd
      lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p to check the register content is equal or not.
      
      2013-04-23  Shiva Chen  <shiva0217@gmail.com>
      
              * lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p
              to check the register content is equal or not.
              * lra-constraints.c (match_reload): Use lra_assign_reg_val
              to assign register content record.
              * lra-eliminations.c (update_reg_eliminate): Use
      	lra_update_reg_val_offset to update register content offset.
              * lra-int.h (struct lra_reg): Add offset member.
              (lra_reg_val_equal_p): New static inline function.
              (lra_update_reg_val_offset): New static inline function.
              (lra_assign_reg_val): New static inline function.
              * lra.c (lra_create_new_reg): Use lra_assign_reg_val
              to assign register content record.
              (initialize_lra_reg_info_element): Initial offset to zero.
      
      From-SVN: r198204
      Shiva Chen committed
    • mips.md (*movhi_internal, [...]): New operands. · b894a1f3
      2013-04-23  Catherine Moore  <clm@codesourcery.com>
      
      	* config/mips/mips.md (*movhi_internal, *movqi_internal): New
      	operands.  Record compression.
      
      From-SVN: r198202
      Catherine Moore committed
    • Support slim switch for cfg graph dump · ecd14de9
      From-SVN: r198201
      Xinliang David Li committed
    • Makefile.in (targ): Fix target name check. · 2a30e7e2
      2013-04-23  Eric Botcazou  <ebotcazou@adacore.com>
      	    Pascal Obry    <obry@adacore.com>
      
      	* gcc-interface/Makefile.in (targ): Fix target name check.
      	(../../gnatmake$(exeext)): Add '+' for LTO.
      	(../../gnatlink$(exeext)): Likewise.
      
      Co-Authored-By: Pascal Obry <obry@adacore.com>
      
      From-SVN: r198200
      Eric Botcazou committed
    • Update dependencies. · 29212374
      From-SVN: r198199
      Arnaud Charlet committed