Commit Graph

128711 Commits

Author SHA1 Message Date
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
Arnaud Charlet
b2afe274d7 [multiple changes]
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* s-os_lib.ads: Update comment.

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

	* sem_ch6.adb (Analyze_Expression_Function): Use sloc of
	original defining identifiers in parameter specifications for
	body. They may differ from parameter specification itself if a
	list of identifiers appears in the tree and is expanded by parser.

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

	* par-ch3.adb (P_Basic_Declarative_Items): If an improper body
	appears in a list of basic declarations, complete the tree with
	an empty statement list, to prevent cascaded errors and crashes
	if semantic analysis is attempted.

From-SVN: r208090
2014-02-24 18:16:08 +01:00
Arnaud Charlet
b5eccd0cbd [multiple changes]
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* g-sercom-mingw.adb (Open): Fix incorrect test for error return
	value.
	* erroutc.adb: Minor reformatting.

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

	* sem_prag.adb (Check_Clause_Syntax): Account
	for a solitary input item in a dependency list.

2014-02-24  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Do not
	use validity checks at all in GNATprove_Mode.

From-SVN: r208089
2014-02-24 18:14:40 +01:00
Robert Dewar
f34b5d88f0 g-sercom-mingw.adb, [...]: Minor reformatting.
2014-02-24  Robert Dewar  <dewar@adacore.com>

	* g-sercom-mingw.adb, g-sercom-linux.adb, sem_prag.adb, freeze.adb,
	atree.adb, atree.ads: Minor reformatting.

From-SVN: r208088
2014-02-24 18:13:34 +01:00
Hristian Kirtchev
2dade09735 sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce global and dependence refinement when SPARK_Mode is off.
2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce
	global and dependence refinement when SPARK_Mode is off.
	* sem_ch7.adb (Analyze_Package_Body_Contract): Do not enforce
	state refinement when SPARK_Mode is off.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add local
	variable Decl. Insert the generated pragma for Refined_State
	after a potential pragma SPARK_Mode.
	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add local
	constant Deps. Remove local variable Expr. Check the syntax
	of pragma Depends when SPARK_Mode is off. Factor out the
	processing for extra parenthesis around individual clauses.
	(Analyze_Global_In_Decl_List): Items is now a constant. Check
	the syntax of pragma Global when SPARK_Mode is off.
	(Analyze_Initializes_In_Decl_Part): Check the syntax of pragma
	Initializes when SPARK_Mode is off.
	(Analyze_Part_Of): Check
	the syntax of the encapsulating state when SPARK_Mode is off.
	(Analyze_Pragma): Check the syntax of pragma Abstract_State when
	SPARK_Mode is off. Move the declaration order check with respect
	to pragma Initializes to the end of the processing. Do not verify
	the declaration order for pragma Initial_Condition when SPARK_Mode
	is off. Do not complain about a useless package refinement when
	SPARK_Mode is off.
	(Analyze_Refined_Depends_In_Decl_Part): Refs
	is now a constant. Check the syntax of pragma Refined_Depends
	when SPARK_Mode is off.
	(Analyze_Refined_Global_In_Decl_Part):
	Check the syntax of pragma Refined_Global when SPARK_Mode is off.
	(Analyze_Refined_State_In_Decl_Part): Check the syntax of pragma
	Refined_State when SPARK_Mode is off.
	(Check_Dependence_List_Syntax): New routine.
	(Check_Global_List_Syntax): New routine.
	(Check_Initialization_List_Syntax): New routine.
	(Check_Item_Syntax): New routine.
	(Check_State_Declaration_Syntax): New routine.
	(Check_Refinement_List_Syntax): New routine.
	(Has_Extra_Parentheses): Moved to the top level of Sem_Prag.

From-SVN: r208087
2014-02-24 18:07:48 +01:00
Arnaud Charlet
158d55fa39 [multiple changes]
2014-02-24  Robert Dewar  <dewar@adacore.com>

	* a-tags.adb, s-os_lib.adb: Minor reformatting.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* g-sercom-mingw.adb, g-sercom-linux.adb (Raise_Error): Include
	strerror message, not just numeric errno value.

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

	* raise-gcc.c (exception_class_eq): Make endian neutral.

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

	* atree.ads, atree,adb (Copy_Separate_Tree): Remove Syntax_Only
	flag, and reset Etype and Analyzed attributes unconditionally
	when copying a tree that may be partly analyzed.
	* freeze.adb: Change calls to Copy_Separate_Tree accordingly.
	* sem_ch6.adb (Check_Inline_Pragma): If the Inline pragma appears
	within a subprogram body and applies to it, remove it from the
	body before making a copy of it, to prevent spurious errors when
	analyzing the copied body.

From-SVN: r208086
2014-02-24 18:06:34 +01:00
Arnaud Charlet
5c20e503ba Fix header.
From-SVN: r208085
2014-02-24 18:04:26 +01:00
Arnaud Charlet
7f360f3f56 Make-lang.in (GNAT_ADA_OBJS, [...]): Update deps.
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
	deps.

From-SVN: r208084
2014-02-24 18:03:02 +01:00
Arnaud Charlet
f1a3590ee2 [multiple changes]
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* s-os_lib.adb (Errno_Message): Do not depend on Integer'Image.
	* s-oscons-tmplt.c: On VxWorks, include adaint.h only after
	vxWorks.h has been included.  Also ensure that file attributes
	related definitions are output even in cases where socket support
	is not enabled.
	* a-tags.adb: Code clean up.
	* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote
	instead of -I to add the main ada source directory to the header
	search path, in order to avoid conflict between our own "types.h"
	and VxWork's <types.h>.

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

	* atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter.
	* debug.adb: Remove documentation of -gnatd.X, no longer used.
	* freeze.adb (Wrap_Imported_Subprogram): Fixed and activated.

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

	* gnat_ugn.texi: Improve documentation of gnatpp.

From-SVN: r208083
2014-02-24 18:01:19 +01:00
Thomas Quinot
47752af2e8 g-stheme.adb, [...] (Host_Error_Message): Return a string...
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads,
	g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb,
	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
	g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not
	a chars_ptr, because on Windows this is a renaming of
	Socket_Error_Message.

From-SVN: r208082
2014-02-24 17:59:24 +01:00
Arnaud Charlet
1b31321b18 [multiple changes]
2014-02-24  Robert Dewar  <dewar@adacore.com>

	* a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb,
	s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb,
	a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code
	reorganization.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure
	that the source directory containing s-oscons-tmplt.c is on the
	include path, so that all internal header files are available.

From-SVN: r208081
2014-02-24 17:58:19 +01:00
Ed Schonberg
2810861847 sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the domain of iteration is an attribute reference 'Old...
2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the
	domain of iteration is an attribute reference 'Old, this is an
	Ada 2012 iterator and the loop must be rewritten as such.

From-SVN: r208080
2014-02-24 17:56:25 +01:00
Thomas Quinot
3e5b1f3247 s-fileio.adb (Errno_Message): Remove, use shared version from s-os_lib instead.
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* s-fileio.adb (Errno_Message): Remove, use shared version from
	s-os_lib instead.
	* s-crtrun.ads, Makefile.rtl: Remove now unused unit.
	* g-stseme (Socket_Error_Message): Reimplement in terms of new
	s-os_lib function.
	* g-socthi.ads, g-socthi.adb: Change profile of
	Socket_Error_Message to return String to allow the above.
	* g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads,
	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
	* g-socthi-vxworks.ads: Update to account for the above profile
	change.
	* a-tags.adb: Use strlen builtin binding provided by s-crtl.
	* s-crtl.ads (strncpy): New procedure.
	* s-os_lib.adb (Copy_Attributes): Import just once (strncpy):
	Use import from s-crtl.
	* a-envvar.adb, osint.adb: Use imports of C runtime functions
	from s-crtl instead of re-importing locally.

From-SVN: r208079
2014-02-24 17:54:41 +01:00
Arnaud Charlet
c6d2191a0d [multiple changes]
2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Emit the
	variable related checks concerning volatile objects only when
	SPARK_Mode is on.

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

	* sem_ch5.adb (Analyze_Iterator_Specification): use
	Error_Msg_Ada_2012_Feature.

2014-02-24  Jose Ruiz  <ruiz@adacore.com>

	* s-rident.ads (Profile_Info): For Ravenscar, the restrictions
	No_Local_Timing_Events and No_Specific_Termination_Handlers
	must be set, according to the Ravenscar profile definition
	in D.13(6/3).

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

	* sem_ch6.adb (Analyze_Expression_Function): If this is a
	completion, freeze return type and its designated type if needed.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	'Address): When moving initialization statements to a freeze
	entity, keep them under a single node (i.e. do not unwrap
	expressions with actions), and set the Initialization_Statements
	attribute again so that processing of a later pragma Import can
	still remove them.

2014-02-24  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads,
	a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads,
	a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename
	Left/Right to First_To_Previous/Current_To_Last.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* adaint.h (struct file_attributes): New component "error"
	(__gnat_error_attributes): Accessor for the above.
	* adaint.c (__gnat_error_attributes): New subprogram
	(__gnat_stat): Fix returned value (expect errno value)
	(__gnat_stat_to_attr): Add management of error component (set to
	stat errno value, except for missing files where it is set to 0,
	and exists is set to 0).
	* osint.ads (File_Attributes_Size): Update per change above,
	also clarify documentation.
	* s-filatt.ads: New file, binding to file attributes related
	functions.
	* Makefile.rtl (s-filatt): New runtime unit.
	* s-crtl.ads (strlen): Expose binding to GCC builtin (falls back
	to library function if not available on target).
	* s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram.
	* s-oscons-tmplt.c (SIZEOF_struct_file_attributes,
	SIZEOF_struct_dirent_alloc): New constants.
	* Make-generated.in (s-oscons.ads): Now requires adaint.h.
	* a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes.
	Perform appropriate error checking if stat fails (do not just
	ignore existing files if stat fails)
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
	dependencies.

From-SVN: r208078
2014-02-24 17:51:58 +01:00
Hristian Kirtchev
ec77b14454 sem_prag.adb (Analyze_Global_Item): Move the check concerning the use of volatile objects as global items in a...
2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Move the check concerning
	the use of volatile objects as global items in a function to
	the variable related checks section.
	* sem_util.adb (Async_Readers_Enabled): Directly call
	Has_Enabled_Property.
	(Async_Writers_Enabled): Directly call Has_Enabled_Property.
	(Effective_Reads_Enabled): Directly call Has_Enabled_Property.
	(Effective_Writes_Enabled): Directly call Has_Enabled_Property.
	(Has_Enabled_Property): Rename formal parameter State_Id to Item_Id.
	Update the comment on usage. State_Has_Enabled_Property how handles
	the original logic of the routine. Add processing for variables.
	(State_Has_Enabled_Property): New routine.
	(Variable_Has_Enabled_Property): New routine.

From-SVN: r208077
2014-02-24 17:32:04 +01:00
Arnaud Charlet
32bba3c9d8 [multiple changes]
2014-02-24  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb:
	Minor reformatting.
	* atree.ads, atree.adb (Node35): New function.
	(Set_Node35): New procedure.
	* debug.adb: Define new debug flag -gnatd.X.
	* einfo.ads, einfo.adb (Import_Pragma): New field.
	* freeze.adb (Wrap_Imported_Procedure): New procedure (not
	really active yet, has to be activated with -gnatd.X.
	* sem_prag.adb (Set_Imported): Set new Import_Pragma
	field (Set_Imported): Don't set Is_Public (see
	Freeze.Wrap_Imported_Subprogram)
	* par-ch3.adb (P_Component_List): Handle unexpected null component.

2014-02-24  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Correct reference to SPARK RM in error messages.
	* gnat_rm.texi: Correct documentation of attribute Update.

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

	* sem_ch5.adb (Analyze_Iterator_Specification): Reject container
	iterator in older versions of Ada.

From-SVN: r208076
2014-02-24 17:30:08 +01:00