Commit Graph

131124 Commits

Author SHA1 Message Date
Arnaud Charlet
44ccf4b458 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* g-comlin.ads, g-comlin.adb: Minor clean up.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Update gnatpp doc.

From-SVN: r212729
2014-07-17 08:49:11 +02:00
Arnaud Charlet
bb01279084 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document new restriction No_Long_Long_Integers.
	* exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
	could do this by actually expanding a real generic.
	* a-tags.ads: Add comments about performance.
	* sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
	Print Etype of defining identifier, rather than the object
	definition. More information.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb: Minor documentation clarification.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Revert previous change.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* g-comlin.adb (Try_Help): New procedure.
	(Getopt): Use new procedure Try_Help.
	* g-comlin.ads (Try_Help): New procedure.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Minor update.

From-SVN: r212728
2014-07-17 08:47:15 +02:00
Robert Dewar
ee10c0ec88 gnat_rm.texi: Improve documentation of Unrestricted_Access.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Improve documentation of Unrestricted_Access.
	* sinfo.ads: Document restriction on aggregates (must expand to
	assignments if one or more assignments needs expansion, e.g. for
	controlled types).
	* sem_ch13.adb: All warning messages regarding bit order should
	be info: messages.
	* gnat_ugn.texi: Minor correction of missing @ on @code

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
	* s-rident.ads (Partition_Boolean_Restrictions): Add
	No_Long_Long_Integer.
	* sem_ch3.adb (Modular_Type_Declaration): Size must be <=
	Long_Integer'Size if restriction No_Long_Long_Integer is active.
	(Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
	as the implicit base type for a signed integer type declaration
	if restriction No_Long_Long_Integer is active.
	* sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
	No_Long_Long_Integer.

From-SVN: r212727
2014-07-17 08:40:45 +02:00
Robert Dewar
e80f0cb0b4 sem_ch3.adb, [...]: Remove the word kludge from ada sources.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
	einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
	repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
	sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
	treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.

From-SVN: r212726
2014-07-17 08:37:45 +02:00
Robert Dewar
2bd67690e9 debug.adb: Remove -gnatdQ.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Remove -gnatdQ.
	* exp_disp.adb: Remove -gnatdQ.
	* a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
	a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
	rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
	a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
	sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
	a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.

From-SVN: r212725
2014-07-17 08:35:13 +02:00
Robert Dewar
59f4d03898 back_end.adb: Minor reformatting and comment additions.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Minor reformatting and comment additions.
	* checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
	function.
	* exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
	(Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
	* gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
	* gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
	* snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
	* types.ads (Duplicated_Tag_Checks_Suppressed): New check.

From-SVN: r212724
2014-07-17 08:31:56 +02:00
Arnaud Charlet
26d5fb62ef [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor comment updates.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Make_Explicit_Dereference): If the expression
	being dereferenced is a generalized indexing, reset the overloaded
	flag on the generalized indexing call, consistent with the
	resetting of the flag on the original indexed component.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document advise not to mix -gnatV? and
	optimization.

From-SVN: r212723
2014-07-17 08:30:05 +02:00
Arnaud Charlet
c61ef4169e [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_aux.ads: Minor comment addition.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): If the call is already
	a rewriting of an operator node, there are no actuals to be
	propagated from original node to rewritten node when in ASIS mode.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
	Analyze_Subprogram_Contract): Add new local variable Mode. Save
	and restore the SPARK mode of the related construct in a
	stack-like fashion.
	* sem_ch7.adb (Analyze_Package_Body_Contract,
	Analyze_Package_Contract): Add new local variable Mode. Save and
	restore the SPARK mode of the related construct in a stack-like fashion.
	* sem_util.adb Remove with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.
	* sem_util.ads Add with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Transient objects
	within an expression with actions cannot be considered aliased.

From-SVN: r212721
2014-07-17 08:22:32 +02:00
Arnaud Charlet
3629577991 [multiple changes]
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
	introduce a new list (cleanup actions) for each (transient) scope.
	* sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
	N_Block_Statement
	* exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
	* exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
	processing for Store_xxx_Actions_In_Scope.
	(Build_Cleanup_Statements): Allow for a list of additional
	cleanup statements to be passed by the caller.
	(Expand_Cleanup_Actions): Take custom cleanup actions associated
	with an N_Block_Statement into account.
	(Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
	reorganization (refactoring only, no behaviour change).
	(Make_Transient_Block): Add assertion to ensure that the current
	scope is indeed a block (namely, the entity for the transient
	block being constructed syntactically, which has already been
	established as a scope).  If cleanup actions are present in the
	transient scope, transfer them now to the transient block.
	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
	called function while it is still present as the name in a call
	in the tree. This may not be the case later on if the call is
	rewritten into a transient block.
	* exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
	inserted after calling a protected operation on a shared passive
	protected must be performed in a block finalizer, not just
	inserted in the tree, so that they are executed even in case of
	a normal (RETURN) or abnormal (exception) transfer of control
	outside of the current scope.
	* exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
	* sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
	Scope_Stack_Entry reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
	call for types that do not have an explicit attribute definition
	clause for External_Tag, as their default tag may clash with an
	explicit tag defined for some other type.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Controlled_Function_Call): Recognize a
	controlled function call with multiple actual parameters that
	appears in Object.Operation form.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
	entity flag.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	External_Tag): No need to set entity flag.
	* sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
	Reimplement correctly in terms of Has_Rep_Item.

From-SVN: r212719
2014-07-17 08:19:52 +02:00
Thomas Quinot
f65c67d340 exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped): Start examining the tree at the node passed to Establish_Transient_Scope (not...
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
	Start examining the tree at the node passed to
	Establish_Transient_Scope (not its parent).
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
	The access type for the variable storing the reference to
	the call must be declared and frozen prior to establishing a
	transient scope.
	* exp_ch9.adb: Minor reformatting.

From-SVN: r212718
2014-07-17 08:16:25 +02:00
Arnaud Charlet
a1d3851bcd [multiple changes]
2014-07-17  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads: Minor comment update.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings.  Fix some
	indentation.
	* socket.c: Remove #warning to avoid warning.
	* expect.c: Indent some preprocessor directives to clarify
	nested if.  Do not use wait.h on PikeOS.  Add ATTRIBUTE_UNUSED
	to remove warnings.
	* env.c: Fix indentation.  Port to PikeOS.
	* gsocket.h: Port to PikeOS.  Remove #warning.
	* terminals.c: Port to PikeOS.	Fix indentation of the stubs.
	Add ATTRIBUTE_UNUSED to stubs arguments.  Fix return statement
	of stubbed __gnat_setup_parent_communication.
	* adaint.c: Port to PikeOS.  Reindent some preprocessor
	directives to clarify nested if.  Fix indentation.  Add missing
	ATTRIBUTE_UNUSED.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.

From-SVN: r212717
2014-07-17 08:14:35 +02:00
Arnaud Charlet
d2d8b2a70d [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Choice_Set): If the case expression is the
	expression in a predicate, do not recheck coverage against itself,
	to prevent spurious errors.
	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that
	expression comes from an aspect specification, to prevent spurious
	errors when expression is a case expression in a predicate.

2014-07-17  Pascal Obry  <obry@adacore.com>

	* adaint.c, adaint.h (__gnat_set_executable): Add mode parameter.
	* s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb,
	gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output
	the usage for an erroneous invocation of a gnat tool.

From-SVN: r212716
2014-07-17 08:12:09 +02:00
DJ Delorie
3fad4d00ac rx.c (rx_option_override): Fix alignment values.
* config/rx/rx.c (rx_option_override): Fix alignment values.
(rx_align_for_label): Likewise.

From-SVN: r212710
2014-07-16 22:24:58 -04:00
Hans-Peter Nilsson
e832590c91 Tweak date last change.
From-SVN: r212709
2014-07-17 02:05:08 +00:00
Hans-Peter Nilsson
ab4e53feba re PR target/61737 (ICE when building libgcc for cris cross-compiler)
PR target/61737.
	* config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(cris_cannot_force_const_mem, cris_legitimate_constant_p): New
	functions.
	(cris_print_index, cris_print_operand, cris_constant_index_p)
	(cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
	(cris_address_cost): Ditto last CONSTANT_P.
	(cris_symbol_type_of): Rename from cris_pic_symbol_type_of.  All
        callers changed.  Yield cris_offsettable_symbol for non-PIC
        constant symbolic expressions including labels.  Yield cris_unspec
	for all unspecs.
	(cris_expand_pic_call_address): New parameter MARKERP.  Set its
        target to pic_offset_table_rtx for calls that will likely go
        through PLT, const0_rtx when they can't.  All callers changed.
	Assert flag_pic.  Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
	symbolic expressions to be PICified.  Remove second, redundant,
	assert on can_create_pseudo_p returning non-zero.  Use
	replace_equiv_address_nv, not replace_equiv_address, for final
	operand update.
	* config/cris/cris.md ("movsi"): Move variable t to pattern
	toplevel. Adjust assert for new cris_symbol_type member.  Use
	CONSTANT_P instead of CONSTANT_ADDRESS_P.
	("*movsi_internal") <case 9>: Make check for valid unspec operands
	for lapc stricter.
	<case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition
	codes.
	("call", "call_value"): Use second incoming operand as a marker
	for pic-offset-table-register being used.
	("*expanded_call_non_v32", "*expanded_call_v32")
        ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
	second incoming operand to CALL, match cris_call_type_marker.
	("*expanded_call_value_side"): Ditto.  Disable before
	reload_completed.
	("*expanded_call_side"): Ditto.  Fix typo in comment.
	(moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
	CONSTANT_P.
	* config/cris/predicates.md ("cris_call_type_marker"): New predicate.
	* config/cris/cris.h (CRIS_CONSTANT_P): New macro.
	(enum cris_symbol_type): Rename from cris_pic_symbol_type.  All
        users changed.  Add members cris_offsettable_symbol and
	cris_unspec.
	(cris_symbol_type): Rename from cris_pic_symbol_type.
	* config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
        just CONSTANT_P.
	* config/cris/cris-protos.h (cris_symbol_type_of,
	cris_expand_pic_call_address): Adjust prototypes.
	(cris_legitimate_constant_p): New prototype.

From-SVN: r212708
2014-07-17 02:03:52 +00:00
Hans-Peter Nilsson
3a213afbb5 config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override an existing tmake_file.
* config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
	an existing tmake_file.  Don't add t-slibgcc and t-linux.

From-SVN: r212707
2014-07-17 02:03:11 +00:00
Jason Merrill
c6f884c0e0 re PR c++/61623 (ICE: verify_symtab failed: Two symbols with same comdat_group are not linked by the same_comdat_group list.)
PR c++/61623
	* symtab.c (symtab_remove_from_same_comdat_group): Also
	set_comdat_group to NULL_TREE.
	(verify_symtab): Fix diagnostic.

From-SVN: r212705
2014-07-16 20:34:02 -04:00
GCC Administrator
5005cc79c7 Daily bump.
From-SVN: r212704
2014-07-17 00:16:41 +00:00
David Wohlferd
6ed6e4e152 re PR target/61662 (Incorrect value calculated for _lrotl on LLP64 systems)
PR target/61662
	* config/i386/ia32intrin.h: Use __LP64__ to determine size of long.

From-SVN: r212699
2014-07-16 22:01:41 +00:00
Denis Chertykov
2fca42b068 avr-mcus.def: Add new avrxmega2 devices (atxmega8e5, atxmega16e5, atxmega32c3, atxmega32d3).
* config/avr/avr-mcus.def: Add new avrxmega2 devices (atxmega8e5,
	atxmega16e5, atxmega32c3, atxmega32d3).
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r212693
2014-07-16 21:43:43 +04:00
Denis Chertykov
5b8861d773 avr-mcus.def: Add new avr5 devices (ata5702m322...
* config/avr/avr-mcus.def: Add new avr5 devices (ata5702m322,
	atmega325pa, atmega64hve2, atmega644rfr2), avr51 devices (atmega128rfr2=
,
	atmega1284rfr2) and avr6 devices (atmega256rfr2, atmega2564rfr2).
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r212692
2014-07-16 21:40:55 +04:00
Denis Chertykov
e4f25f0ef5 avr-mmcu.texi: Regenerate.
* doc/avr-mmcu.texi: Regenerate. (Forgotten commit)

From-SVN: r212684
2014-07-16 20:40:45 +04:00
Arnaud Charlet
900b697e64 alignment2.ads, [...]: Update test case.
* gnat.db/specs/alignment2.ads, gnat.db/specs/size_clause1.ads,
	gnat.db/specs/size_clause2.ads: Update test case.

From-SVN: r212676
2014-07-16 17:54:47 +02:00
Paolo Carlini
026ae646e7 random: Minor formatting and cosmetic tweaks.
2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/random: Minor formatting and cosmetic tweaks.
	(uniform_on_sphere_distribution<>::operator==
	(const uniform_on_sphere_distribution&,
	const uniform_on_sphere_distribution&)): Compare the _M_nds.
	(uniform_on_sphere_distribution<>::reset): Reset _M_nd.
	(operator!=(const uniform_on_sphere_distribution&,
	const uniform_on_sphere_distribution&)): Adjust.
	* include/ext/random.tcc: Minor cosmetc tweaks.

From-SVN: r212674
2014-07-16 15:47:26 +00:00
Arnaud Charlet
9dc30a5f18 [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: Get the target parameters only if -nostdinc was
	not specified.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Insert_Valid_Check): If the expression is a packed
	component of a modular type of the right size the data is always
	valid. This os particularly useful if the component is part of
	a volatile variable.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.ads: Minor documentation fix.

From-SVN: r212663
2014-07-16 16:51:47 +02:00
Arnaud Charlet
2ffcbaa596 [multiple changes]
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Name): Diagnose properly
	a private extension completion that is an interface definition
	with an interface list.

2014-07-16  Arnaud Charlet  <charlet@adacore.com>

	* gnatls.adb (Gnatls): Code clean ups.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads, sinfo.adb (N_Compound_Statement): New node kind.
	* sem.adb (Analyze): Handle N_Compound_Statement.
	* sprint.adb (Sprint_Node_Actual): Ditto.
	* sem_ch5.ads, sem_ch5.adb (Analyze_Compound_Statement): New
	procedure to handle N_Compound_Statement.
	* exp_aggr.adb (Collect_Initialization_Statements):
	Use a proper compound statement node, instead of a bogus
	expression-with-actions with a NULL statement as its expression,
	to wrap collected initialization statements.
	* freeze.ads, freeze.adb
	(Explode_Initialization_Compound_Statement): New public procedure,
	lifted from Freeze_Entity.
	(Freeze_Entity): When freezing
	an object with captured initialization statements and without
	delayed freezing, explode compount statement.
	* sem_ch4.adb (Analyze_Expression_With_Actions): Remove special
	case that used to handle bogus EWAs with NULL statement as
	the expression.
	* exp_ch13.adb (Expand_N_Freeze_Entity): For an object with
	delayed freezing and captured initialization statements, explode
	compound statement.

From-SVN: r212662
2014-07-16 16:47:48 +02:00
Arnaud Charlet
76241f8f24 [multiple changes]
2014-07-16  Gary Dismukes  <dismukes@adacore.com>

	* g-rewdat.adb, g-rewdat.ads: Minor reformatting.

2014-07-16  Doug Rupp  <rupp@adacore.com>

	* s-interr-hwint.adb: Casing error on parameter.

2014-07-16  Pascal Obry  <obry@adacore.com>

	* Makefile.rtl: Add g-rewdat.o dependencies in
	GNATRTL_NONTASKING_OBJS.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb: Code clean up.

From-SVN: r212660
2014-07-16 16:41:29 +02:00
Arnaud Charlet
36f6df662c [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* make.adb: Do not read gnat.adc when gnatmake is invoked
	with -gnatA.

2014-07-16  Pascal Obry  <obry@adacore.com>

	* gnat_rm.texi, impunit.adb, g-rewdat.adb, g-rewdat.ads: Initial
	implementation of GNAT.Rewrite_Data.

From-SVN: r212659
2014-07-16 16:39:51 +02:00
Arnaud Charlet
c624a26b6a [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* gnatls.adb (Normalize): New function.
	(Gnatls): Get the target parameters. On targets other than VMS,
	normalize the path names in the source search path, the object search
	path and the project search path.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb: Avoid self-checking of case expressions in
	dynamic predicates.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document effect of Suppress_Initialization on tags and
	discriminants.

From-SVN: r212658
2014-07-16 16:37:34 +02:00
Arnaud Charlet
ff1f1705ff [multiple changes]
2014-07-16  Eric Botcazou  <ebotcazou@adacore.com>

	* switch-b.adb (Scan_Binder_Switches): Add missing guard.

2014-07-16  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Fix typo.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Do not expand case
	expression if it is the specification of a subtype predicate:
	it will be expanded when the return statement is analyzed, or
	when a static predicate is transformed into a static expression
	for evaluation by the front-end.
	* sem_ch13.adb (Get_RList): If the expression for a static
	predicate is a case expression, extract the alternatives of the
	branches with a True value to create the required statically
	evaluable expression.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Use the location of the
	expression, not the location of the aspect, for all generated
	code, so that in particular the call to raise_assert_failure
	gets the sloc of the associated condition.
	* exp_ch6.adb
	(Expand_Subprogram_Contract.Build_Postconditions_Procedure):
	Set an explicit End_Label on the handled sequence of statements
	for the _Postconditions procedure so that the implicit return
	statement does not erroneously get associated with code generated
	for the last condition in postconditions.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* ug_words: Fix name of VMS synonym for -gnatw.z (SIZE_ALIGNMENT,
	not SIZE_ALIGN) and -gnatw.Z (NOSIZE_ALIGNMENT, not NOSIZE_ALIGN).
	* vms_data.ads: Add missing spaces in VMS synonyms for -gnatw.z /
	-gnatw.Z.

From-SVN: r212657
2014-07-16 16:35:34 +02:00
Arnaud Charlet
3f1bc2cf46 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_prag.adb, sem_util.adb, sem_res.adb, sem_ch13.adb:
	Minor code reorganization (use Is_Access_Type, not in Access_Kind).
	* exp_ch3.adb: Minor code reorganization, use Is_Access_Type,
	not in Access_Kind.
	* par-ch4.adb (At_Start_Of_Attribute): New function
	(P_Simple_Expression): Better msg for bad attribute prefix.
	* scans.ads: Minor reformatting.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'Update): If choice is a
	static constant, check that in belongs to the corresponding index
	subtype, to produce the proer warning when expansion is disabled.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Warn on incompatible size/alignment.
	* gnat_ugn.texi: Document -gnatw.z and -gnatw.Z.
	* ug_words: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for -gnatw.z/-gnatw.Z
	* usage.adb: Add lines for -gnatw.z/-gnatw.Z.
	* vms_data.ads: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for
	-gnatw.z/-gnatw.Z
	* warnsw.adb: Set Warn_On_Size_Alignment appropriately.
	* warnsw.ads (Warn_On_Size_Alignment): New flag Minor
	reformatting.

From-SVN: r212656
2014-07-16 16:33:11 +02:00
Arnaud Charlet
b07b7acecf [multiple changes]
2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Reinstate the check on
	a hook object to ensure that the related transient declaration
	is finalizable.
	* exp_util.adb (Is_Aliased): Do not consider expresison with
	actions as a special context.
	(Requires_Cleanup_Actions): Reinstate the check on a hook object to
	ensure that the related transient declaration is finalizable.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb (Allocation_Checks_Suppressed): New function.
	* snames.ads-tmpl: Add Allocation_Check to list of check names.
	* types.ads: Add Allocation_Check to list of check names.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb (Enter_Name): replace bogus test for presence of
	Corresponding_Remote_Type with correct test on Ekind.
	* sem_res.adb (Valid_Conversion): ditto; also clarify validity
	of calls to Corresponding_ Remote_Type (documentation fix).

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document illegal case of Unrestricted_Access.
	* sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix
	where it applies.
	(Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use.
	* sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag.

From-SVN: r212655
2014-07-16 16:29:36 +02:00
Arnaud Charlet
904aac81db [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document binder switch -Ra.
	* gnatbind.adb (List_Closure_Display): Implement -Ra switch
	(List_Closure_All).
	* opt.ads (List_Closure_All): New switch.
	* switch-b.adb (Scan_Binder_Switches): Recognize -Ra to set
	List_Closure_All.

2014-07-16  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Minor edits, to make case consistent in names
	of types and fields.

From-SVN: r212654
2014-07-16 16:26:47 +02:00
Arnaud Charlet
3bd783ecb4 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document erroneous mixing of thin pointers and
	unrestricted access
	* gnat_ugn.texi: Add note on size of access types about thin
	pointers and the use of attribute Unrestricted_Access.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-cbdlli.ads, a-cbdlli.adb, a-cbhama.ads, a-cbhama.adb,
	* a-cbhase.ads, a-cbhase.adb, a-cborma.ads, a-cborma.adb,
	* a-cborse.ads, a-cborse.adb, a-cobove.ads a-cobove.adb: Add Control
	machinery to detect tampering on bounded vectors.

From-SVN: r212653
2014-07-16 16:25:29 +02:00
Adhemerval Zanella
473037cb70 MAINTAINERS (Write After Approval): Add myself.
2014-07-16  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r212652
2014-07-16 14:23:03 +00:00
Robert Dewar
800b865318 gnat_rm.texi: Document that leading/trailing asterisks are now implied for the pattern match...
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that leading/trailing asterisks are
	now implied for the pattern match string for pragma Warnings
	and Warning_As_Error.
	* sem_prag.adb (Acquire_Warning_Match_String): New procedure.
	(Analyze_Pragma, case Warning_As_Error): Call
	Acquire_Warning_Match_String.
	(Analyze_Pragma, case Warnings): Call Acquire_Warning_Match_String.

From-SVN: r212651
2014-07-16 16:21:34 +02:00
Arnaud Charlet
350f5d3bc4 [multiple changes]
2014-07-16  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Document need for project file
	for --incremental switch for gnat2xml.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Fix example of non-packable components in packed
	records section.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* s-tpoben.adb, s-tasren.adb, s-interr.adb, s-interr-hwint.adb,
	s-shasto.adb, s-interr-vms.adb, s-interr-sigaction.adb: Avoid use of
	upper case in exception messages.

From-SVN: r212650
2014-07-16 16:19:43 +02:00
Robert Dewar
ea70f3d0c1 snames.ads-tmpl, [...]: Same_Storage attribute is renamed Has_Same_Storage.
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* snames.ads-tmpl, sem_attr.adb, exp_attr.adb: Same_Storage attribute
	is renamed Has_Same_Storage.
	* gnat_rm.texi: Document missing SPARK pragmas and attributes.
	* sem_prag.adb: Minor comment fix (use LOCAL_NAME in syntax
	descriptions).

From-SVN: r212649
2014-07-16 16:06:44 +02:00
Robert Dewar
9ab5d86b4a exp_util.adb, [...]: Minor reformatting.
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, sem_attr.adb, exp_ch4.adb, a-cohase.ads,
	a-coinho-shared.adb, a-coinho-shared.ads: Minor reformatting.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add note that integrated
	preprocessing cannot be applied to configuration pragma files.

From-SVN: r212648
2014-07-16 16:03:00 +02:00
Arnaud Charlet
6cade1b0a0 [multiple changes]
2014-07-16  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute/cases Pred
	and Succ): Always enable range check on fixed-point types if
	not suppressed for the type.

2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (State_Has_Enabled_Property):
	Account for an external property denoted by an others choice.

From-SVN: r212647
2014-07-16 16:01:46 +02:00
Arnaud Charlet
e59243faa1 [multiple changes]
2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.ads, exp_ch4.adb (Find_Hook_Context): Relocated to Exp_Util.
	* exp_ch7.adb (Process_Declarations): There is no need to check
	that a transient object being hooked is controlled as it would
	not have been hooked in the first place.
	* exp_ch9.adb Remove with and use clause for Exp_Ch4.
	* exp_util.adb (Find_Hook_Context): Relocated from Exp_Ch4.
	(Is_Aliased): A renaming of a transient controlled object is
	not considered aliasing when it occurs within an expression
	with actions.
	(Requires_Cleanup_Actions): There is no need to
	check that a transient object being hooked is controlled as it
	would not have been hooked in the first place.
	* exp_util.ads (Find_Hook_Context): Relocated from Exp_Ch4.

2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Insert_After_SPARK_Mode): Moved to
	the outer level of routine Analyze_Aspect_Specifications. Ensure
	that the corresponding pragmas of aspects Initial_Condition and
	Initializes are inserted after pragma SPARK_Mode.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Update): Handle
	properly a choice list with more than one choice, where each
	is an aggregate denoting a sequence of array indices for a
	multidimentional array. For SPARK use.

From-SVN: r212646
2014-07-16 16:00:46 +02:00
Arnaud Charlet
8942b30c7c [multiple changes]
2014-07-16  Vadim Godunko  <godunko@adacore.com>

	* a-coinho-shared.adb (Adjust): Create
	copy of internal shared object and element when source container
	is locked.
	(Copy): Likewise.
	(Query_Element): Likewise.
	(Update_Element): Likewise.
	(Constant_Reference): Likewise. Raise Constraint_Error on attempt
	to get reference for empty holder.
	(Reference): Likewise.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Find_Hook_Context): New subprogram, extracted
	from Process_Transient_Oject.
	* exp_ch4.ads: Ditto.
	* exp_ch9.adb (Build_Class_Wide_Master): Insert the _master
	declaration as an action on the topmost enclosing expression,
	not on a possibly conditional subexpreession.

From-SVN: r212645
2014-07-16 15:57:28 +02:00
Vadim Godunko
d6f824bf7f a-coinho.adb, [...]: Fix parameter mode of Update_Element.
2014-07-16  Vadim Godunko  <godunko@adacore.com>

	* a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads:
	Fix parameter mode of Update_Element.

From-SVN: r212644
2014-07-16 15:54:43 +02:00
Arnaud Charlet
ab47663882 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor
	reformatting.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-cohase.ads: Type Iterator must be controlled, so that the
	tampering bit is properly set through an iteration.
	* a-cohase.adb: Add Finalize operation for type Iterator.

From-SVN: r212643
2014-07-16 15:53:37 +02:00
Ed Schonberg
3a859cff11 a-coinho-shared.adb, [...]: Proper structures for tampering checks.
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for
	tampering checks.

From-SVN: r212642
2014-07-16 15:52:30 +02:00
Ed Schonberg
88c90b68a0 a-coinho-shared.adb: Fix spurious accessibility check.
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho-shared.adb: Fix spurious accessibility check.

From-SVN: r212641
2014-07-16 15:49:23 +02:00
Dodji Seketeli
f41373b65d PR preprocessor/60723 - missing system-ness marks for macro tokens
When a system macro is expanded in a non-system file during
out-of-line preprocessing, it can happen that the preprocessor forgets
to emit line markers to express the system-ness status of tokens that
come after the expansion of the macro.

That can lead to situations where the entire non-system file can be
considered as being a system file and thus have its warnings be
discarded during the compilation of the resulting preprocessed file.

My understanding is that this is due to the preprocessor not
systematically detecting (and reporting) the change in system-ness of
tokens.

And this is what this patch does.  Each time the system-ness of a
given token is different from the previous token that was emitted by
the preprocessor, it emits a line marker for the sole purpose of
marking the new system-ness of the subsequent tokens to come.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/ChangeLog:
	* c-ppoutput.c (struct print::prev_was_system_token): New data
	member.
	(init_pp_output): Initialize it.
	(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
	(do_line_change): Return a flag saying if a line marker was
	emitted or not.
	(scan_translation_unit): Detect if the system-ness of the token we
	are about to emit is different from the one of the previously
	emitted token.  If so, emit a line marker.  Avoid emitting useless
	adjacent line markers.  Avoid emitting line markers for tokens
	originating from the expansion of built-in macros.
	(scan_translation_unit_directives_only): Adjust.

gcc/testsuite/ChangeLog:
	* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r212638
2014-07-16 12:33:36 +02:00
Dodji Seketeli
c468587ac2 Support location tracking for built-in macro tokens
When a built-in macro is expanded, the location of the token in the
epansion list is the location of the expansion point of the built-in
macro.

This patch creates a virtual location for that token instead,
effectively tracking locations of tokens resulting from built-in macro
tokens.

libcpp/
	* include/line-map.h (line_maps::builtin_location): New data
	member.
	(line_map_init): Add a new parameter to initialize the new
	line_maps::builtin_location data member.
	* line-map.c (linemap_init): Initialize the
	line_maps::builtin_location data member.
	* macro.c (builtin_macro): Create a macro map and track the token
	resulting from the expansion of a built-in macro.
gcc/
	* input.h (is_location_from_builtin_token): New function
	declaration.
	* input.c (is_location_from_builtin_token): New function
	definition.
	* toplev.c (general_init): Tell libcpp what the pre-defined
	spelling location for built-in tokens is.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r212637
2014-07-16 12:33:27 +02:00
Paolo Carlini
185b22783a 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* Minor ChangeLog adjustments.

From-SVN: r212584
2014-07-16 09:03:31 +00:00
Jakub Jelinek
f5989b06ef omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS on the FUNCTION_DECL.
* omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
	on the FUNCTION_DECL.

From-SVN: r212582
2014-07-16 10:31:22 +02:00