1. 17 Jul, 2014 7 commits
    • [multiple changes] · d2d8b2a7
      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
      Arnaud Charlet committed
    • rx.c (rx_option_override): Fix alignment values. · 3fad4d00
      * config/rx/rx.c (rx_option_override): Fix alignment values.
      (rx_align_for_label): Likewise.
      
      From-SVN: r212710
      DJ Delorie committed
    • Tweak date last change. · e832590c
      From-SVN: r212709
      Hans-Peter Nilsson committed
    • re PR target/61737 (ICE when building libgcc for cris cross-compiler) · ab4e53fe
      	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
      Hans-Peter Nilsson committed
    • config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override an existing tmake_file. · 3a213afb
      	* config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
      	an existing tmake_file.  Don't add t-slibgcc and t-linux.
      
      From-SVN: r212707
      Hans-Peter Nilsson committed
    • re PR c++/61623 (ICE: verify_symtab failed: Two symbols with same comdat_group… · c6f884c0
      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
      Jason Merrill committed
    • Daily bump. · 5005cc79
      From-SVN: r212704
      GCC Administrator committed
  2. 16 Jul, 2014 33 commits
    • re PR target/61662 (Incorrect value calculated for _lrotl on LLP64 systems) · 6ed6e4e1
      	PR target/61662
      	* config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
      
      From-SVN: r212699
      David Wohlferd committed
    • avr-mcus.def: Add new avrxmega2 devices (atxmega8e5, atxmega16e5, atxmega32c3, atxmega32d3). · 2fca42b0
      	* 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
      Denis Chertykov committed
    • avr-mcus.def: Add new avr5 devices (ata5702m322... · 5b8861d7
      	* 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
      Denis Chertykov committed
    • avr-mmcu.texi: Regenerate. · e4f25f0e
      	* doc/avr-mmcu.texi: Regenerate. (Forgotten commit)
      
      From-SVN: r212684
      Denis Chertykov committed
    • alignment2.ads, [...]: Update test case. · 900b697e
      	* gnat.db/specs/alignment2.ads, gnat.db/specs/size_clause1.ads,
      	gnat.db/specs/size_clause2.ads: Update test case.
      
      From-SVN: r212676
      Arnaud Charlet committed
    • random: Minor formatting and cosmetic tweaks. · 026ae646
      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
      Paolo Carlini committed
    • [multiple changes] · 9dc30a5f
      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
      Arnaud Charlet committed
    • [multiple changes] · 2ffcbaa5
      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
      Arnaud Charlet committed
    • [multiple changes] · 76241f8f
      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
      Arnaud Charlet committed
    • [multiple changes] · 36f6df66
      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
      Arnaud Charlet committed
    • [multiple changes] · c624a26b
      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
      Arnaud Charlet committed
    • [multiple changes] · ff1f1705
      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
      Arnaud Charlet committed
    • [multiple changes] · 3f1bc2cf
      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
      Arnaud Charlet committed
    • [multiple changes] · b07b7ace
      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
      Arnaud Charlet committed
    • [multiple changes] · 904aac81
      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
      Arnaud Charlet committed
    • [multiple changes] · 3bd783ec
      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
      Arnaud Charlet committed
    • MAINTAINERS (Write After Approval): Add myself. · 473037cb
      2014-07-16  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
      
              * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r212652
      Adhemerval Zanella committed
    • gnat_rm.texi: Document that leading/trailing asterisks are now implied for the pattern match... · 800b8653
      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
      Robert Dewar committed
    • [multiple changes] · 350f5d3b
      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
      Arnaud Charlet committed
    • snames.ads-tmpl, [...]: Same_Storage attribute is renamed Has_Same_Storage. · ea70f3d0
      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
      Robert Dewar committed
    • exp_util.adb, [...]: Minor reformatting. · 9ab5d86b
      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
      Robert Dewar committed
    • [multiple changes] · 6cade1b0
      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
      Arnaud Charlet committed
    • [multiple changes] · e59243fa
      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
      Arnaud Charlet committed
    • [multiple changes] · 8942b30c
      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
      Arnaud Charlet committed
    • a-coinho.adb, [...]: Fix parameter mode of Update_Element. · d6f824bf
      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
      Vadim Godunko committed
    • [multiple changes] · ab476638
      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
      Arnaud Charlet committed
    • a-coinho-shared.adb, [...]: Proper structures for tampering checks. · 3a859cff
      2014-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for
      	tampering checks.
      
      From-SVN: r212642
      Ed Schonberg committed
    • a-coinho-shared.adb: Fix spurious accessibility check. · 88c90b68
      2014-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-coinho-shared.adb: Fix spurious accessibility check.
      
      From-SVN: r212641
      Ed Schonberg committed
    • PR preprocessor/60723 - missing system-ness marks for macro tokens · f41373b6
      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
      Dodji Seketeli committed
    • Support location tracking for built-in macro tokens · c468587a
      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
      Dodji Seketeli committed
    • 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com> · 185b2278
      	* Minor ChangeLog adjustments.
      
      From-SVN: r212584
      Paolo Carlini committed
    • omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS on the FUNCTION_DECL. · f5989b06
      	* omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
      	on the FUNCTION_DECL.
      
      From-SVN: r212582
      Jakub Jelinek committed
    • re PR web/61782 (always_inline incorrectly documented) · 3defdb14
      2014-07-16  Richard Biener  <rguenther@suse.de>
      
      	PR other/61782
      	* doc/extend.texi (always_inline): Clarify.
      
      From-SVN: r212581
      Richard Biener committed