Commit Graph

128650 Commits

Author SHA1 Message Date
Vladimir Makarov
93aaa05d1c re PR target/59222 (gcc.c-torture/compile/20050622-1.c ICEs at -O1 and above for aarch64-elf ILP32)
2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/59222
	* lra.c (lra_emit_add): Check SUBREG too.

From-SVN: r208201
2014-02-27 17:06:02 +00:00
Jason Merrill
7fce82f589 re PR c++/60353 (Firefox build failure #3 caused by r208157)
PR c++/60353
	PR c++/55877
	* decl2.c (tentative_decl_linkage): Don't mess with functions that
	are not yet defined.

From-SVN: r208200
2014-02-27 11:20:59 -05:00
Andreas Schwab
1ee6eb01a9 m68k.c (m68k_option_override): Disable -flive-range-shrinkage for classic m68k.
* config/m68k/m68k.c (m68k_option_override): Disable
-flive-range-shrinkage for classic m68k.
(m68k_override_options_after_change): Likewise.

From-SVN: r208198
2014-02-27 11:10:55 +00:00
Marek Polacek
bb0d8e8488 re PR middle-end/59223 (-Wmaybe-uninitialized and -Wuninitialized relationships)
PR middle-end/59223
	* tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
	-Wmaybe-uninitialized.
testsuite/
	* c-c++-common/pr59223.c: New test.

From-SVN: r208196
2014-02-27 08:05:21 +00:00
GCC Administrator
6f45986acc Daily bump.
From-SVN: r208191
2014-02-27 00:17:10 +00:00
Alan Modra
3e17cad201 correct bug number
From-SVN: r208187
2014-02-27 08:47:39 +10:30
Alan Modra
3157b8795f re PR target/57935 (ICE in rs6000_secondary_reload_inner:15181, type = load)
PR target/57935
	* reload1.c (emit_input_reload_insns): When reload_override_in,
	set old to rl->in_reg when rl->in_reg is a subreg.

From-SVN: r208186
2014-02-27 08:27:40 +10:30
Jason Merrill
4be3d4fa52 re PR c++/30301 (Invalid static member of anonymous class or union diagnosed too late)
PR c++/30301
	* g++.dg/parse/unnamed2.C: New.

From-SVN: r208185
2014-02-26 16:44:48 -05:00
Jason Merrill
c34396266f re PR c++/60347 (r208153 breaks Firefox build)
PR c++/60347
	PR lto/53808
	* class.c (clone_function_decl): Don't note_vague_linkage_fn.
	* init.c (build_vtbl_address): Do it here.

From-SVN: r208184
2014-02-26 16:32:41 -05:00
Jason Merrill
ca7e759d96 re PR c++/59231 (gcc misses [-Werror=sign-compare] when inside a template)
PR c++/59231
	PR c++/11586
	PR c++/14710
	PR c++/57132
gcc/
	* c-common.c (shorten_compare): Don't check
	c_inhibit_evaluation_warnings.
gcc/cp/
	* pt.c (struct warning_sentinel): New.
	(tsubst_copy_and_build): Use it instead of
	c_inhibit_evaluation_warnings.

From-SVN: r208183
2014-02-26 16:28:08 -05:00
Tim Shen
91bb5cd9a6 regex.tcc (match_results<>::format, [...]): Update __out after calling std::copy.
2014-02-26  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.tcc (match_results<>::format,
	regex_replace<>): Update __out after calling std::copy.
	* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
	Add testcase.
	* testsuite/28_regex/match_results/format.cc: Likewise.

From-SVN: r208179
2014-02-26 19:45:15 +00:00
Jason Merrill
b0ff7fe1d2 re PR c++/54440 ([c++11] g++ prematurely applying rule that a template parameter pack cannot be followed by a template parameter)
PR c++/54440
	* pt.c (get_template_parm_index): New.
	(fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
	(process_template_parm): Allow bare packs in template template
	parm template parms.
	(coerce_template_parameter_pack): Handle fixed template template
	parm packs and fixed packs not at the end of the parm list.
	(coerce_template_parms): Handle template parm packs not at the end
	of the parm list.
	(gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.

From-SVN: r208178
2014-02-26 12:08:20 -05:00
Jason Merrill
f3417723b7 re PR c++/60182 (g++ segfault within template expansion using "using" aliasing)
PR c++/60182
	* pt.c (unify): Ignore alias templates when deducing a template
	template parameter.

From-SVN: r208177
2014-02-26 12:01:12 -05:00
Jason Merrill
1bd3ed56ef re PR c++/60345 (r208159 causes Firefox build error)
PR c++/60345
	* g++.dg/conversion/ref1.C: New.

From-SVN: r208176
2014-02-26 11:51:14 -05:00
Jason Merrill
2f75f5154f re PR c++/60345 (r208159 causes Firefox build error)
PR c++/60345
	Revert:
	DR 1571
	* call.c (reference_binding): Recurse on user-defined conversion.
	(convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.

From-SVN: r208175
2014-02-26 11:48:22 -05:00
Richard Biener
bb750f4f52 re PR bootstrap/60343 (r208155 breaks bootstrap)
2014-02-26  Richard Biener  <rguenther@suse.de>

	PR bootstrap/60343
	* lra-assigns.c (spill_for): Avoid mixed-sign comparison.

From-SVN: r208170
2014-02-26 10:29:04 +00:00
Ilya Tocar
22c8aab31d predicates.md (const1256_operand): Remove.
gcc/
	* common/config/i386/predicates.md (const1256_operand): Remove.
	(const2356_operand): New.
	(const_1_to_2_operand): Remove.
	* config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
	(*avx512pf_gatherpf<mode>sf_mask): Ditto.
	(*avx512pf_gatherpf<mode>sf): Ditto.
	(avx512pf_gatherpf<mode>df): Ditto.
	(*avx512pf_gatherpf<mode>df_mask): Ditto.
	(*avx512pf_gatherpf<mode>df): Ditto.
	(avx512pf_scatterpf<mode>sf): Ditto.
	(*avx512pf_scatterpf<mode>sf_mask): Ditto.
	(*avx512pf_scatterpf<mode>sf): Ditto.
	(avx512pf_scatterpf<mode>df): Ditto.
	(*avx512pf_scatterpf<mode>df_mask): Ditto.
	(*avx512pf_scatterpf<mode>df): Ditto.
	* common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.

gcc/testsuite/
	* common/config/i386/predicates.md (const1256_operand): Remove.
	(const2356_operand): New.
	(const_1_to_2_operand): Remove.
	* config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
	(*avx512pf_gatherpf<mode>sf_mask): Ditto.
	(*avx512pf_gatherpf<mode>sf): Ditto.
	(avx512pf_gatherpf<mode>df): Ditto.
	(*avx512pf_gatherpf<mode>df_mask): Ditto.
	(*avx512pf_gatherpf<mode>df): Ditto.
	(avx512pf_scatterpf<mode>sf): Ditto.
	(*avx512pf_scatterpf<mode>sf_mask): Ditto.
	(*avx512pf_scatterpf<mode>sf): Ditto.
	(avx512pf_scatterpf<mode>df): Ditto.
	(*avx512pf_scatterpf<mode>df_mask): Ditto.
	(*avx512pf_scatterpf<mode>df): Ditto.
	* common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.

From-SVN: r208169
2014-02-26 09:31:15 +00:00
Ilya Tocar
260d364278 gcc/
* config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
	(_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
	(_mm512_mask_testn_epi64_mask): Move to ...
	* config/i386/avx512cdintrin.h: Here.
	* config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
	* config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
	(avx512f_scalef<mode><mask_name><round_name>): Ditto.
	(avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
	TARGET_AVX512F from TARGET_AVX512CD.

gcc/testsuite/
	* gcc.target/i386/avx512cd-vptestnmd-1.c: Change into ...
	* gcc.target/i386/avx512f-vptestnmd-1.c: This.
	* gcc.target/i386/avx512cd-vptestnmq-1.c: Change into ...
	* gcc.target/i386/avx512f-vptestnmq-1.c: This.
	* gcc.target/i386/avx512cd-vptestnmd-2.c: Change into ...
	* gcc.target/i386/avx512f-vptestnmd-2.c: This.
	* gcc.target/i386/avx512cd-vptestnmq-2.c: Change into ...
	* gcc.target/i386/avx512f-vptestnmq-2.c: This.

From-SVN: r208168
2014-02-26 09:08:45 +00:00
Richard Biener
477145c84a re PR ipa/60327 (xalanbmk and dealII ICE in ipa-inline-analysis.c:3555)
2014-02-26  Richard Biener  <rguenther@suse.de>

	PR ipa/60327
	* ipa.c (walk_polymorphic_call_targets): Properly guard
	call to inline_update_overall_summary.

From-SVN: r208167
2014-02-26 08:39:48 +00:00
Bin Cheng
a3afdbb809 re PR tree-optimization/60280 (gcc.target/arm/ivopts.c and gcc.target/arm/ivopts-2.c failed caused by preserving loop structure.)
PR target/60280
	* tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop
	preheaders and latches only if requested.  Fix latch if it
	is removed.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
	LOOPS_HAVE_PREHEADERS.

	PR target/60280
	* gnat.dg/renaming5.adb: Change to two expected gotos.
	* gcc.dg/tree-ssa/pr21559.c: Change back to three expected
	jump threads.
	* gcc.dg/tree-prof/update-loopch.c: Check two "Invalid sum"
	messages for removed basic block.
	* gcc.dg/tree-ssa/ivopt_1.c: Fix unreliable scanning string.
	* gcc.dg/tree-ssa/ivopt_2.c: Ditto.
	* gcc.dg/tree-ssa/ivopt_3.c: Ditto.
	* gcc.dg/tree-ssa/ivopt_4.c: Ditto.

From-SVN: r208165
2014-02-26 01:49:35 +00:00
Andrew Pinski
b8a542c648 builtins.c (expand_builtin_thread_pointer): Create a new target when the target is NULL.
2014-02-25  Andrew Pinski  <apinski@cavium.com>

	* builtins.c (expand_builtin_thread_pointer): Create a new target
	when the target is NULL.

From-SVN: r208163
2014-02-25 16:51:56 -08:00
GCC Administrator
fa5d996595 Daily bump.
From-SVN: r208162
2014-02-26 00:16:30 +00:00
Jason Merrill
be9e97bd4b DR 1571
DR 1571
	* call.c (reference_binding): Recurse on user-defined conversion.
	(convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.

From-SVN: r208159
2014-02-25 16:27:51 -05:00
Jason Merrill
241172a5cd call.c (print_conversion_rejection): Handle n_arg of -2.
* call.c (print_conversion_rejection): Handle n_arg of -2.
	(build_user_type_conversion_1): Pass it.

From-SVN: r208158
2014-02-25 16:27:44 -05:00
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