128626 Commits

Author SHA1 Message Date
Jason Merrill
944b63dbc0 re PR c++/55877 (Anon visibility issues)
PR c++/55877
	* decl2.c (no_linkage_error): Handle C++98 semantics.
	(reset_type_linkage): Move from decl.c.
	(reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
	(bt_reset_linkage_2, reset_decl_linkage): New.
	(tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
	(cp_write_global_declarations): Move condition into no_linkage_error.
	* decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
	* semantics.c (expand_or_defer_fn_1): Factor out
	tentative_decl_linkage.
	* cp-tree.h: Adjust.

From-SVN: r208157
2014-02-25 16:19:06 -05:00
Jason Merrill
a6659b552d decl2.c (finish_static_data_member_decl): Diagnose static data member in unnamed class.
* decl2.c (finish_static_data_member_decl): Diagnose static data
	member in unnamed class.

From-SVN: r208156
2014-02-25 16:18:19 -05:00
Vladimir Makarov
88def6374c re PR rtl-optimization/60317 (find_hard_regno_for compile time hog in libvpx)
2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60317
	* params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
	* params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
	* lra-assigns.c: Include params.h.
	(spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
	other reload pseudos considerations.

From-SVN: r208155
2014-02-25 20:34:44 +00:00
Jason Merrill
6e6eaecc6a re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808
	* class.c (clone_function_decl): Call note_vague_linkage_fn for
	defaulted virtual dtor.

From-SVN: r208153
2014-02-25 13:54:48 -05:00
Jason Merrill
d808e92ea9 DR 1286 PR c++/60328
DR 1286
	PR c++/60328
	* pt.c (get_underlying_template): Fix equivalence calculation.

From-SVN: r208152
2014-02-25 13:53:45 -05:00
Doug Rupp
3af78158aa 2014-02-25 Doug Rupp <rupp@adacore.com>
* gcc-interface/Makefile.in (arm-linux):
	(EH_MECHANISM): Use ARM unwinder (-arm)
	(LIBGNAT_TARGET_PAIRS: Override defaults with a-exexpr-gcc.adb and
	s-excmac-arm.ads.
	(EXTRA_LIBGNAT_OBJS): Add raise-gcc.o
	(EXTRA_GNATRTL_NONTASKING_OBJS): Add g-cppexc.o s-excmac.o.
	(arm-wrs-vxworks): Add EH_MECHANISM=-gcc for kernel mode.
	(EXTRA_LIBGNAT_OBJS): Add sigtramp-armvxw.o
	Add dependencies for sigtramp-armvxw.o.

From-SVN: r208150
2014-02-25 17:16:27 +01:00
Eric Botcazou
2749b01b7d * gcc-interface/trans.c (Pragma_to_gnu): Deal with Warning_As_Error.
From-SVN: r208149
2014-02-25 17:14:58 +01:00
Robert Dewar
e7ba564fca rtsfind.adb (Is_RTE): Protect against entity with no scope field (previously this call blew up on the...
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* rtsfind.adb (Is_RTE): Protect against entity with no scope
	field (previously this call blew up on the Standard entity).
	* sem_attr.adb (Analyze_Attribute, case Access): Remove
	test for No_Abort_Statements, this is now handled in
	Set_Entity_With_Checks.
	* exp_ch6.adb, sem_ch10.adb, sem_ch4.adb, sem_ch8.adb, sem_res.adb:
	Change name Set_Entity_With_Style_Check => Set_Entity_With_Checks.
	* sem_util.ads, sem_util.adb: Change name Set_Entity_With_Style_Check =>
	Set_Entity_With_Checks.
	(Set_Entity_With_Checks): Add checks for No_Dynamic_Attachment,
	Add checks for No_Abort_Statements.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb (Expand_Entry_Barrier): Add comment that call to
	Check_Restriction is OK.

From-SVN: r208148
2014-02-25 16:52:52 +01:00
Ed Schonberg
2886a49530 sem_ch3.adb (Process_Full_View): Better error message when the full view of a private type without...
2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Process_Full_View): Better error message when
	the full view of  a private type without discriminants is an
	unconstrained type.
	* sem_ch7.adb (Uninstall_Declarations): Ditto.

From-SVN: r208147
2014-02-25 16:50:32 +01:00
Arnaud Charlet
fb12497dfe [multiple changes]
2014-02-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sigtramp-armvxw.c: Also restore r0.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Error_Msg_Internal): Warning_Msg_Char set
	unconditionally (Set_Msg_Insertion_Warning): Warning_Msg_Char
	set unconditionally.
	* erroutc.adb (Get_Warning_Tag): Does not give a leading space
	any more (Output_Msg_Text): Rewritten with new convention on
	output of warnings that are treated as errors.
	* erroutc.ads (Error_Msg_Object): Warn_Chr is always set even
	if Warn is False.
	* gnat_rm.texi: Updates to documentation on pragma
	Warning_As_Error.
	* warnsw.adb (Set_Dot_Warning_Switch): -gnatw.e should not
	set Warning_Doc_Switch.
	* lib-writ.ads: Add documentation note on ALI file generation
	for C.
	* exp_ch6.adb (Expand_Call): Remove check for No_Abort_Statements
	(belongs in Sem).
	* sem_attr.adb (Resolve_Attribute, case Access):
	Abort_Task'Access violates the No_Abort_Statements restriction.
	* sem_res.adb (Resolve_Call): Check restriction
	No_Abort_Statements for call to Abort_Task or a renaming of it.

From-SVN: r208146
2014-02-25 16:49:45 +01:00
Arnaud Charlet
0c3985a955 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb (Array_Type_Declaration): Check for case of using
	type name as index.
	* lib.ads: Minor reformatting.
	* einfo.ads: Minor reformatting.

2014-02-25  Doug Rupp  <rupp@adacore.com>

	* sem_mech.adb (Set_Mechanisms): For convention Fortran on VMS
	use Short_Descriptor(S) as the argument passing mechanism.

2014-02-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Also include r0.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* atree.ads (Warnings_Treated_As_Errors): New variable.
	* errout.adb (Error_Msg_Internal): Set Warn_Err flag in
	error object (Initialize): Initialize Warnings_As_Errors_Count
	(Write_Error_Summary): Include count of warnings treated as errors.
	* erroutc.adb (Warning_Treated_As_Error): New function.
	(Matches): Function moved to outer level of package.
	* erroutc.ads (Error_Msg_Object): Add Warn_Err flag.
	(Warning_Treated_As_Error): New function.
	* gnat_rm.texi: Document pragma Treat_Warning_As_Error.
	* opt.adb: Add handling of Warnings_As_Errors_Count[_Config].
	* opt.ads (Config_Switches_Type): Add entry for
	Warnings_As_Errors_Count.
	(Warnings_As_Errors_Count): New variable.
	(Warnings_As_Errors): New array.
	* par-prag.adb: Add dummy entry for Warning_As_Error.
	* sem_prag.adb (Analyze_Pragma): Implement new pragma
	Warning_As_Error.
	* snames.ads-tmpl: Add entries for Warning_As_Error pragma.

From-SVN: r208145
2014-02-25 16:48:05 +01:00
Arnaud Charlet
5acb4d2943 [multiple changes]
2014-02-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sigtramp.h: Fix minor inaccuracy.

2014-02-25  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Added description of kill command.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi (Address_Clauses): Add a section discussing the
	problem of address clauses causing unexpected initialization,
	including the effect of Initialize_Scalars.

From-SVN: r208144
2014-02-25 16:45:54 +01:00
Arnaud Charlet
80c2c20282 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* errout.adb: Various changes for better msgs for anonmous access
	subprogram types.
	* erroutc.ads, erroutc.adb (Buffer_Ends_With): Version with character
	argument.
	(Buffer_Remove): Version with character argument.
	* sem_attr.adb (Resolve_Attribute, case Access): Better handling
	of mismatching conventions for access-to-subprogram case.
	* sem_prag.adb (Set_Convention_From_Pragma): Deal with anonymous
	access types in record.
	* sem_util.ads, sem_util.adb (Set_Convention): Handle anonymous access
	types, including in records.

2014-02-25  Doug Rupp  <rupp@adacore.com>

	* sigtramp-ppcvxw.c, sigtramp.h, sigtramp-armvxw.c: Comment
	enhancements and corrections.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: New section "Conventions and Anonymous Access Types"

From-SVN: r208143
2014-02-25 16:35:36 +01:00
Arnaud Charlet
7b27e18398 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Update "Standard Library Routines" chapter to
	include all 2012 packages.
	Add section on pragma Reviewable.
	* sem_ch5.adb (Diagnose_Non_Variable_Lhs): Avoid wrong msgs if
	expander off.
	* exp_ch9.ads, exp_dist.adb, exp_dist.ads: Minor reformatting.
	* sem_ch6.adb (Assert_False): New function
	(Check_Statement_Sequence): Call Assert_False to check for
	pragma Assert (False) which is considered OK block of control
	for function.
	* snames.ads-tmpl (Name_False): New entry.

2014-02-25  Doug Rupp  <rupp@adacore.com>

	* init.c (VxWorks Section): Enable sigtramp for ARM.
	* sigtramp-armvxw.c: New file.

From-SVN: r208142
2014-02-25 16:30:10 +01:00
Robert Dewar
9972d439b8 gnat_rm.texi: First set of documentation additions for predefined RM units.
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: First set of documentation additions for
	predefined RM units.
	* checks.adb: Minor reformatting.
	* sem_elab.adb (Check_Task_Activation): Minor fix to error
	message.
	* sem_util.adb: Minor reformatting.

From-SVN: r208141
2014-02-25 16:27:16 +01:00
Arnaud Charlet
592574f5b3 [multiple changes]
2014-02-25  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb (Usage): Add help on -gnateC.
	* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC.
	* opt.ads (Generate_CodePeer_Messages): New flag.
	* gnat_ugn.texi: Document new switch -gnateC.

2014-02-25  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Corrected minor typos in Implementation Defined
	Aspects.
	* opt.ads: Minor reformatting.

From-SVN: r208140
2014-02-25 16:20:43 +01:00
Robert Dewar
fe2194dfff binde.adb: Change messages to mention -gnatel instead of -gnatwl.
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* binde.adb: Change messages to mention -gnatel instead of -gnatwl.
	* gnat_ugn.texi: Update documentation of -gnatwl Add documentation
	of -gnatel/-gnateL.
	* opt.ads (Warn_Info_Messages): New flag.
	* sem_elab.adb: Use Elab_Warnings, Elab_Info_Messages to control
	messages.
	* sem_prag.adb: Use Elab_Warnings, Elab_Info_Messages to control
	messages.
	* switch-m.ad, switch-c.adb: Recognize new -gnatel/EL switches.
	* usage.adb: Add documentation of -gnatel/-gnateL Update
	documentation of -gnatwl/-gnatwL.
	* warnsw.adb: New handling of Elab_Warnings, Elab_Info_Messages
	* warnsw.ads (Elab_Info_Messages): New field in Warning_Record

From-SVN: r208139
2014-02-25 16:19:43 +01:00
Arnaud Charlet
4c51ff88f2 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Has_Shift_Operator): New flag.
	* gnat_rm.texi: Document pragma Provide_Shift_Operators.
	* interfac.ads: Minor code reorganization (add pragma
	Compiler_Unit_Warning).
	* par-prag.adb: Add dummy entry for Provide_Shift_Operators.
	* sem_ch3.adb (Build_Derived_Numeric_Type): Copy
	Has_Shift_Operator flag.
	* sem_intr.adb (Check_Intrinsic_Subprogram): Make sure
	Check_Shift is always called (Check_Shift): Set Has_Shift_Operator.
	* sem_prag.adb: Implement pragma Provide_Shift_Operators.
	* snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators
	Add entry for Name_Amount.
	* checks.adb (Selected_Range_Checks): When checking for a null
	range, make sure we use the base type, and not the subtype for
	deciding a range is null.
	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
	for suspicious loop bound which is outside the range of the
	loop subtype.
	* gnat_ugn.texi: Add documentation section "Determining the
	Chosen Elaboration Order"
	* sem_ch13.adb (UC_Entry): Add field Act_Unit
	(Validate_Unchecked_Conversion): Store Act_Unit
	(Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit
	* treepr.adb: Minor reformatting.

2014-02-25  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb: Minor: fix typo.

From-SVN: r208138
2014-02-25 16:18:38 +01:00
Arnaud Charlet
0355e3ebbe lib.ads, [...]: Implement pragma Compiler_Unit_Warning...
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi,
	s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads,
	s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads,
	s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads,
	g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb,
	s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads,
	a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb,
	s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads,
	a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb,
	s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads,
	a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb,
	s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads,
	s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma
	Compiler_Unit_Warning, change Compiler_Unit everywhere to
	Compiler_Unit_Warning.

2014-02-25  Sergey Rybin  <rybin@adacore.com frybin>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize
	in ASIS mode aggregates that are used as aspect definitions.

From-SVN: r208137
2014-02-25 16:15:44 +01:00
Arnaud Charlet
e917e3b815 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor
	reformatting.

2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): If the return type of a function
	is a limited view, and the non-limited view has not been seen yet,
	defer freezing to some later point.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads,
	s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb,
	s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb,
	s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb,
	s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb,
	s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb,
	s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
	s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads,
	s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb,
	s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb,
	s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads,
	s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads,
	s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb,
	s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb,
	snames.ads-tmpl: Change Compiler_Unit everywhere to
	Compiler_Unit_Warning.

From-SVN: r208135
2014-02-25 16:11:39 +01:00
Hristian Kirtchev
5f24a82a10 exp_ch6.adb (Add_Or_Save_Precondition): New routine.
2014-02-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Add_Or_Save_Precondition): New routine.
	(Collect_Body_Postconditions_In_Decls): New routine.
	(Collect_Body_Postconditions_Of_Kind): Factor out code. Handle
	postcondition aspects or pragmas that appear on a subprogram
	body stub.
	(Collect_Spec_Preconditions): Factor out code. Handle
	precondition aspects or pragmas that appear on a subprogram
	body stub.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The analysis of
	aspects that apply to a subprogram body stub is no longer delayed,
	the aspects are analyzed on the spot.
	(SPARK_Aspect_Error):
	Aspects that apply to a subprogram declaration cannot appear in
	a subunit.
	* sem_ch10.adb Remove with and use clause for Sem_Ch13.
	(Analyze_Proper_Body): Add local variable Comp_Unit. Unum
	is now a local variable. Code cleanup. Analysis related to
	the aspects of a subprogram body stub is now carried out by
	Analyze_Subprogram_Body_Helper. Do not propagate the aspects
	and/or pragmas of a subprogram body stub to the proper body
	as this is no longer needed. Do not analyze the aspects of a
	subprogram stub when the corresponding source unit is missing.
	(Analyze_Protected_Body_Stub): Flag the illegal use of aspects
	on a stub.
	(Analyze_Task_Body_Stub): Flag the illegal use of
	aspects on a stub.
	(Optional_Subunit): Add local variable Unum.
	* sem_ch13.adb (Insert_Delayed_Pragma): Do not analyze a generated
	pragma when it applies to a subprogram body stub.
	* sem_prag.adb (Analyze_Pragma): Pragmas Contract_Cases,
	Depends and Global can now apply to a subprogram body stub as
	long as it acts as its own spec.
	(Analyze_Refined_Pragma):
	Code reformatting. Refinement pragmas cannot apply to a subunit.

From-SVN: r208134
2014-02-25 16:05:39 +01:00
Hristian Kirtchev
7edfb4c649 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.ads Update the usage of flag
	Uses_Sec_Stack. Uses_Sec_Stack now applies to E_Loop entities.
	* exp_ch5.adb (Expand_Iterator_Loop): The temporary for a cursor
	now starts with the letter 'C'. This makes reading expanded
	code easier.
	* exp_ch7.adb (Establish_Transient_Scope): Add local variable
	Iter_Loop. Signal that an Ada 2012 iterator loop requires
	secondary stack management when creating a transient scope for
	an element reference.
	* exp_util.adb (Process_Statements_For_Controlled_Objects):
	When wrapping the statements of a loop, pass the E_Loop entity
	to the wrapping machinery.
	(Wrap_Statements_In_Block): Add
	formal parameter Scop along with comment on usage. Add local
	variables Block_Id, Block_Nod and Iter_Loop. Mark the generated
	block as requiring secondary stack management when the block is
	created inside an Ada 2012 iterator loop. This ensures that any
	reference objects are reclaimed on each iteration of the loop.
	* sem_ch5.adb (Analyze_Loop_Statement): Mark the generated block
	tasked with the handling of container iterators as requiring
	secondary stack management. This ensures that iterators are
	reclaimed when the loop terminates or is exited in any fashion.
	* sem_util.adb (Add_Block_Identifier): New routine.
	(Find_Enclosing_Iterator_Loop): New routine.
	* sem_util.ads (Add_Block_Identifier): New routine.
	(Find_Enclosing_Iterator_Loop): New routine.

From-SVN: r208133
2014-02-25 16:03:23 +01:00
Arnaud Charlet
bbe9779cc8 [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads: Minor reformatting.

2014-02-25  Tristan Gingold  <gingold@adacore.com>

	* s-expllu.ads, s-expuns.ads, s-expmod.ads: Minor comment fix.

2014-02-25  Pascal Obry  <obry@adacore.com>

	* sinput-l.adb, osint.adb, osint.ads: Add Prep_Suffix to factorize code.

From-SVN: r208132
2014-02-25 16:02:01 +01:00
Arnaud Charlet
1ae8beef0d [multiple changes]
2014-02-25  Tristan Gingold  <gingold@adacore.com>

	* sem_ch10.adb: Minor comment fix.

2014-02-25  Bob Duff  <duff@adacore.com>

	* s-tasdeb.adb: Misc cleanup of this package,
	including printing addresses in hexadecimal.
	(Write): Fix minor bug when taking 'Address of an empty string.

2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Part_Of): Reject state refinement in a
	public child unit when it does not refer to the abstract state
	of a public ancestor.

From-SVN: r208131
2014-02-25 15:59:33 +01:00
Arnaud Charlet
ca11219d65 [multiple changes]
2014-02-25  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma/Pragma_Validity_Checks): Ignore pragma
	Validity_Checks in GNATprove and CodePeer modes.

2014-02-25  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, projects.texi, snames.ads-tmpl: Add package Install's
	Artifacts attribute.

From-SVN: r208130
2014-02-25 15:58:29 +01:00
Arnaud Charlet
6e32b1abba [multiple changes]
2014-02-25  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Minor reformatting to get consistent messages.

2014-02-25  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Minor reformatting.
	* sinfo.ads (Do_Range_Check): Document that this flag is never
	passed to the back end.

From-SVN: r208129
2014-02-25 15:57:28 +01:00
Arnaud Charlet
f9966234d5 [multiple changes]
2014-02-25  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem_attr.adb,
	sem_ch6.adb: Remove useless references to SPARK RM in error messages.

2014-02-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Appears_In_Check): New routine.
	(Resolve_Entity_Name): Remove local variables Prev and
	Usage_OK. Par is now a constant. Remove the parent chain traversal
	as the placement of a volatile object with enabled property
	Async_Writers and/or Effective_Reads must appear immediately
	within a legal construct.

2014-02-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Apply_Selected_Range_Checks):
	Alphabetize local constants and variables. Add comments.
	Always insert a range check that requires runtime evaluation into
	the tree.

From-SVN: r208128
2014-02-25 15:55:43 +01:00
Arnaud Charlet
a6abfd78fe [multiple changes]
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting.

2014-02-25  Bob Duff  <duff@adacore.com>

	* s-tassta.adb (Finalize_Global_Tasks): Limit the number of loop
	iterations while waiting for independent tasks to terminate;
	if an independent task does not terminate, we do not want to
	hang here. In that case, the thread will be terminated when the
	process exits.
	* s-taprop-linux.adb (Abort_Task): Fix Assert to allow for ESRCH.

2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Check_SPARK_Aspect_For_ASIS): New subprogram,
	used to perform pre-analysis of the expression for SPARK
	aspects that have a non-standard syntax, such as GLobal and
	Initializes. The procedure applies to the original expression
	in an aspect specification, prior to the analysis of the
	corresponding pragma, in order to provide semantic information
	for ASIS navigation purposes.
	(Analyze_Global_In_Decl_List, Analyze_Initializes_In_Decl_Part):
	Call new subprogram.

From-SVN: r208127
2014-02-25 15:53:55 +01:00
Arnaud Charlet
64e86d0088 [multiple changes]
2014-02-25  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Remove obsolete reference to SPARK RM in error message.

2014-02-25  Doug Rupp  <rupp@adacore.com>

	* init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM.
	(__gnat_adjust_context_for_raise): Bump the PC by 2.

2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* par-ch3.adb (P_Basic_Declarative_Items): In the case of a
	misplaced IS, add a statement sequence to improper body only if
	one has not been parsed already.

2014-02-25  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Update): Check for
	mismatch when multidimensional array is updated with a single
	index.

From-SVN: r208126
2014-02-25 15:52:42 +01:00
Yannick Moy
3684d1fc71 sem_ch3.adb, [...]: Mark most references to SPARK RM in error messages for removal.
2014-02-25  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads,
	sem_ch6.adb: Mark most references to SPARK RM in error messages
	for removal.

From-SVN: r208125
2014-02-25 15:51:20 +01:00
William Schmidt
cf36d2cc57 Correct ChangeLog entry
From-SVN: r208124
2014-02-25 13:35:28 +00:00
Bill Schmidt
68908a067f vector.md (*vector_ordered<mode>): Change split to use canonical form for nor<mode>3.
2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (*vector_ordered<mode>): Change split to
	use canonical form for nor<mode>3.
	(*vector_unordered<mode>): Likewise.

From-SVN: r208122
2014-02-25 13:28:25 +00:00
Bill Schmidt
1715bb1724 ld-vsx.c: Don't use vec_all_eq.
gcc/testsuite:

2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/ld-vsx.c: Don't use vec_all_eq.
	* gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/ldl-vsx.c: Likewise.
	* gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/merge-vsx.c: Likewise.
	* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.

From-SVN: r208120
2014-02-25 13:18:17 +00:00
Kyrylo Tkachov
db57bbc9b2 re PR target/55426 (gcc.target/arm/neon-vld1_dupQ.c ICEs on armeb)
PR target/55426
	* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
	conversions.

From-SVN: r208116
2014-02-25 10:20:40 +00:00
Ilya Tocar
43b3f52f4a gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
	(OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
	(ix86_handle_option): Handle OPT_mprefetchwt1.
	* config/i386/cpuid.h (bit_PREFETCHWT1): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
	PREFETCHWT1 CPUID.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	OPTION_MASK_ISA_PREFETCHWT1.
	* config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
	(PTA_PREFETCHWT1): New.
	(ix86_option_override_internal): Handle PTA_PREFETCHWT1.
	(ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
	* config/i386/i386.h (TARGET_PREFETCHWT1), (TARGET_PREFETCHWT1_P):
	  New.
	* config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
	(*prefetch_avx512pf_<mode>_: Change into ...
	 (*prefetch_prefetchwt1_<mode>: This.
	* config/i386/i386.opt (mprefetchwt1): New.
	* config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
	(_mm_prefetch): Handle intent to write.
	* doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.

gcc/testsuite/
	* gcc.target/i386/avx-1.c: Update __builtin_prefetch.
	* gcc.target/i386/prefetchwt1-1.c: New.
	* g++.dg/other/i386-2.C: Add new option.
	* g++.dg/other/i386-3.C: Ditto.
	* gcc.target/i386/sse-12.c: Ditto.
	* gcc.target/i386/sse-13.c: Update __builtin_prefetch, add new option.
	* gcc.target/i386/sse-22.c: Add new option.
	* gcc.target/i386/sse-23.c: Update __builtin_prefetch, add new option.

From-SVN: r208115
2014-02-25 09:52:53 +00:00
Rainer Orth
a51524153c Skip gfortran.dg/erf_3.F90 and gfortran.dg/round_4.f90 on Solaris 9 (PR libfortran/59313, libfortran/58015)
PR libfortran/59313
	* gfortran.dg/erf_3.F90: Skip on sparc*-*-solaris2.9*.

	PR libfortran/58015
	* gfortran.dg/round_4.f90: Skip on *-*-solaris2.9*.

From-SVN: r208114
2014-02-25 09:27:25 +00:00
Richard Biener
84053e02c0 re PR middle-end/60291 (slow compile times for any mode (-O0/-O1/-O2) on large .c source file (30MBs))
2014-02-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/60291
	* emit-rtl.c (mem_attrs_htab): Remove.
	(mem_attrs_htab_hash): Likewise.
	(mem_attrs_htab_eq): Likewise.
	(set_mem_attrs): Always allocate new mem-attrs when something
	changed.
	(init_emit_once): Do not allocate mem_attrs_htab.

From-SVN: r208113
2014-02-25 08:59:10 +00:00
Richard Biener
4094757e4b re PR lto/60319 (wrong code (that hangs) by LTO at -Os and above on x86_64-linux-gnu)
2014-02-25  Richard Biener  <rguenther@suse.de>

	PR lto/60319
	* lto-opts.c (lto_write_options): Output non-explicit conservative
	-fwrapv, -fno-trapv and -fno-strict-overflow.
	* lto-wrapper.c (merge_and_complain): Handle merging those options.
	(run_gcc): And pass them through.

From-SVN: r208112
2014-02-25 08:57:42 +00:00
Adam Butcher
adbdb8c76e re PR c++/60311 ([c++1y] ICE with pointer-to-function with auto parameter)
Fix PR c++/60311.

	PR c++/60311
	* parser.c (function_being_declared_is_template_p): Return false when
	processing a template parameter list.
	(cp_parser_parameter_declaration_clause): Don't set
	auto_is_implicit_function_template_parm_p when processing a
	template parameter list.

	PR c++/60311
	* g++.dg/cpp1y/pr60311.C: New testcase.

From-SVN: r208111
2014-02-25 06:44:53 +00:00
Andrey Belevantsev
41b2d514d0 sel-sched.c (calculate_new_fences): New parameter ptime.
* sel-sched.c (calculate_new_fences): New parameter ptime.
        Calculate it as a maximum over all fence cycles.
        (sel_sched_region_2): Adjust the call to calculate_new_fences.
        Print the final schedule timing when sched_verbose.

From-SVN: r208110
2014-02-25 10:41:08 +04:00
Andrey Belevantsev
c1c99405c1 re PR middle-end/60292 (ICE: in fill_vec_av_set, at sel-sched.c:3863 with -m64 after r206174 on powerpc-apple-darwin9.8.0)
PR rtl-optimization/60292
	* sel-sched.c (fill_vec_av_set): Do not reset target availability
	bit fot the fence instruction.

From-SVN: r208109
2014-02-25 10:35:09 +04:00
Alangi Derick
1d9def42c2 * calls.h: Fix typo in comment.
From-SVN: r208108
2014-02-24 23:19:32 -07:00
Adam Butcher
1b859733ce Fix out-of-line definition of class template generic member functions.
* parser.c (synthesize_implicit_template_parm): Inject new template
	argument list appropriately when a generic member function
	of a class template is declared out-of-line.

	* g++.dg/cpp1y/fn-generic-member-ool.C: New testcase.

From-SVN: r208107
2014-02-25 03:47:35 +00:00
Adam Butcher
81493f7887 re PR c++/60065 ([c++1y] ICE with auto parameter pack)
Fix PR c++/60065.

	PR c++/60065
	* parser.c (cp_parser_direct_declarator): Don't save and
	restore num_template_parameter_lists around call to
	cp_parser_parameter_declaration_list.
	(function_being_declared_is_template_p): New predicate.
	(cp_parser_parameter_declaration_list): Use
	function_being_declared_is_template_p as predicate for
	inspecting current function template parameter list length
	rather than num_template_parameter_lists.

	PR c++/60065
	* g++.dg/cpp1y/pr60065.C: New testcase.

From-SVN: r208106
2014-02-25 03:47:24 +00:00
John David Anglin
325fefe046 pa.c (pa_output_move_double): Don't valididate when adjusting offsetable addresses.
* config/pa/pa.c (pa_output_move_double): Don't valididate when
	adjusting offsetable addresses.

From-SVN: r208101
2014-02-25 00:48:47 +00:00
GCC Administrator
e5ca18dffd Daily bump.
From-SVN: r208100
2014-02-25 00:16:53 +00:00
Jan Hubicka
6dab804dc7 re PR lto/60295 (Too many lto1-wpa-stream processes are forked)
PR lto/60295
	* lto.c (stream_out): Avoid parallel streaming with
	-flto=jobserver until we are able to throttle it down
	resonably.

From-SVN: r208097
2014-02-24 22:58:44 +00:00
Jason Merrill
2105f1a796 re PR c++/60146 (ICE when compiling this code with -fopenmp)
PR c++/60146
	* pt.c (tsubst_omp_for_iterator): Don't let substitution of the
	DECL_EXPR initialize a non-class iterator.

From-SVN: r208094
2014-02-24 17:17:43 -05:00
Jason Merrill
016895178d re PR c++/60312 ([c++1y] ICE using auto as template parameter)
PR c++/60312
	* parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.

From-SVN: r208092
2014-02-24 13:47:20 -05:00
Guozhi Wei
ad43b47a25 sparseset.h (sparseset_pop): Fix the wrong index.
* sparseset.h (sparseset_pop): Fix the wrong index.

From-SVN: r208091
2014-02-24 18:35:54 +00:00