Jason Merrill [Wed, 30 Jul 2014 21:29:25 +0000 (17:29 -0400)]
re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808
PR c++/61659
* pt.c (push_template_decl_real): Don't set DECL_COMDAT on friends.
From-SVN: r213311
Paolo Carlini [Wed, 30 Jul 2014 20:06:29 +0000 (20:06 +0000)]
re PR c++/57397 (Off-by-one error in diagnostic when calling variadic function template with too few arguments)
/cp
2014-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57397
* pt.c (unify_arity): Add boolean parameter.
(unify_too_few_arguments): Likewise.
(type_unification_real): Diagnose correctly insufficient
arguments in the presence of trailing variadic parameters;
deducing multiple trailing packs as empty is fine.
/testsuite
2014-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57397
* g++.dg/cpp0x/vt-57397-1.C: New.
* g++.dg/cpp0x/vt-57397-2.C: Likewise.
From-SVN: r213310
Mike Stump [Wed, 30 Jul 2014 18:29:41 +0000 (18:29 +0000)]
configure.ac: Also check for popen.
* configure.ac: Also check for popen.
* tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r213309
Jason Merrill [Wed, 30 Jul 2014 17:27:20 +0000 (13:27 -0400)]
re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR c++/61659
PR c++/61687
Revert:
gcc/c-family/
* c.opt (-fuse-all-virtuals): New.
gcc/cp/
* decl2.c (mark_all_virtuals): New variable.
(maybe_emit_vtables): Check it instead of flag_devirtualize.
(cp_write_global_declarations): Set it and give helpful diagnostic
if it introduces errors.
* class.c (finish_struct_1): Check it.
From-SVN: r213308
Jason Merrill [Wed, 30 Jul 2014 17:27:14 +0000 (13:27 -0400)]
re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808
PR c++/61659
* pt.c (push_template_decl_real): Set DECL_COMDAT on templates.
(check_explicit_specialization): Clear it on specializations.
* decl.c (duplicate_decls, start_decl): Likewise.
(grokmethod, grokfndecl): Set DECL_COMDAT on inlines.
* method.c (implicitly_declare_fn): Set DECL_COMDAT. Determine
linkage after setting the appropriate flags.
* tree.c (decl_linkage): Don't check DECL_COMDAT.
* decl2.c (mark_needed): Mark clones.
(import_export_decl): Not here.
From-SVN: r213307
Martin Jambor [Wed, 30 Jul 2014 16:39:23 +0000 (18:39 +0200)]
tree-sra.c (sra_ipa_modify_assign): Change type of the first parameter to gimple.
2014-07-30 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_ipa_modify_assign): Change type of the first
parameter to gimple.
From-SVN: r213306
Ulrich Weigand [Wed, 30 Jul 2014 16:26:15 +0000 (16:26 +0000)]
s390.c (s390_emit_tpf_eh_return): Pass original return address as second parameter to __tpf_eh_return routine.
gcc/
2014-07-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
address as second parameter to __tpf_eh_return routine.
libgcc/
2014-07-30 J. D. Johnston <jjohnst@us.ibm.com>
* config/s390/tpf-unwind.h: Include <stdbool.h>.
(__tpf_eh_return): Add original return address as second parameter.
Handle cases where unwinder routines were called directly, instead
of from within the C++ library.
From-SVN: r213305
Jiong Wang [Wed, 30 Jul 2014 16:24:12 +0000 (16:24 +0000)]
Fix Thumb2 testsuite fallout.
Applied for Jiong.
2014-07-30 Jiong Wang <jiong.wang@arm.com>
* config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
Thumb2.
From-SVN: r213304
Arnaud Charlet [Wed, 30 Jul 2014 16:05:46 +0000 (18:05 +0200)]
* gnat.dg/case_null.adb, gnat.dg/specs/debug1.ads: Adjust tests.
From-SVN: r213303
Arnaud Charlet [Wed, 30 Jul 2014 15:20:45 +0000 (17:20 +0200)]
Code clean ups.
From-SVN: r213302
Arnaud Charlet [Wed, 30 Jul 2014 15:19:17 +0000 (17:19 +0200)]
[multiple changes]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Minor doc fixes.
2014-07-30 Robert Dewar <dewar@adacore.com>
* a-rbtgbo.adb, sem_ch13.adb: Minor reformatting.
2014-07-30 Vincent Celier <celier@adacore.com>
* errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing
of error message.
* prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the
message to report that a directory cannot be created, to avoid
processing of the directory path that may contains special
insertion characters.
From-SVN: r213301
Arnaud Charlet [Wed, 30 Jul 2014 15:17:33 +0000 (17:17 +0200)]
[multiple changes]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-crdlli.ads: Place declaration of Empty_List after full type
declaration for Curosr, to prevent freezing error.
2014-07-30 Robert Dewar <dewar@adacore.com>
* get_targ.adb: Minor code reorganization.
* prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor
reformatting.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error,
not Program_Error, when attempting to remove an element not in
the set. This is the given semantics for all set containers.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-rbtgbo.adb: -rbtgbo.adb (Delete_Node_Sans_Free): If
element is not present in tree return rather than violating
an assertion. Constraint_Error will be raised in the caller if
element is not in the container.
From-SVN: r213300
Arnaud Charlet [Wed, 30 Jul 2014 15:15:32 +0000 (17:15 +0200)]
[multiple changes]
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* set_targ.adb (Read_Target_Dependent_Values): New subprogram.
(elab body): Add provision for default target config file.
* get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error,
when attempting to remove an element not in the set. This is
the given semantics for all set containers.
* a-cborse.adb (Delete): Attempt removal first, to check for
tampering, before checking whether this is an attempt to
delete a non-existing element, and in fthe latter case raise
Constraint_Error.
2014-07-30 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Recursive_Process): Do not create a new
Project_Id if the project is already in the list of projects of
the tree.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Function_Return): Reject a return expression
whose type is an incomplete formal type.
(Analyze_Return_Type): Reject a return type that is an untagged
imcomplete formal type.
(Process_Formals): Reject a formal parameter whose type is an
untagged formal incomplete type.
* sem_res.adb (Resolve_Actuals): Reject an actual whose type is
an untagged formal incomplete type.
From-SVN: r213299
Robert Dewar [Wed, 30 Jul 2014 15:13:23 +0000 (15:13 +0000)]
gnat_ugn.texi: Minor spelling correction.
2014-07-30 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor spelling correction.
* makeutl.adb: Minor code reorganization.
* exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* einfo.ads (Has_Unchecked_Union): Document that this is used
to check for illegal Valid_Scalars attribute references.
* exp_attr.adb (Build_Record_VS_Func): New function
(Expand_N_Attribute_Reference, case Valid_Scalars): Call this
function.
* gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
Unchecked_Union Add note on 'Valid_Scalars generating a lot
of code.
* sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
error on attempt to apply Valid_Scalars to Unchecked_Union type.
From-SVN: r213298
Arnaud Charlet [Wed, 30 Jul 2014 15:11:17 +0000 (17:11 +0200)]
[multiple changes]
2014-07-30 Steve Baird <baird@adacore.com>
* exp_ch4.adb (Expand_N_Indexed_Component): Disable optimized handling
of A(I..J)(K) in CodePeer_Mode.
2014-07-30 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Fix typo.
From-SVN: r213297
Arnaud Charlet [Wed, 30 Jul 2014 15:09:05 +0000 (17:09 +0200)]
[multiple changes]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib-writ.ads: document format change.
2014-07-30 Pascal Obry <obry@adacore.com>
* prj-util.adb (For_Interface_Sources): Do not
include sources from withed externally built projects.
2014-07-30 Robert Dewar <dewar@adacore.com>
* lib.adb: Minor reformatting.
* prj-util.adb: Minor reformatting.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): For an array component
that depends on discriminants, and which is given by an others
clause, create an explicit subtype with the discriminant values
of the enclosing aggregate, because the backend cannot otherwise
retrieve the actual bounds of the array.
2014-07-30 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Improve gnattest documentation.
2014-07-30 Pascal Obry <obry@adacore.com>
* makeutl.adb (Insert_Project_Sources): Properly handle sources
that are aggregated. We want to include sources not only part
of libraries but also if part of an aggregated project from an
aggregate library.
* prj.adb (For_Project_And_Aggregated_Context): Properly check
state of root project.
From-SVN: r213296
Thomas Quinot [Wed, 30 Jul 2014 15:06:40 +0000 (15:06 +0000)]
lib-load.ads: Minor reformatting.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib-load.ads: Minor reformatting.
* sinfo.ads (Library_Unit): Update comment.
* lib.ads (Notes): Simplify. The Unit component in Notes_Entry
is redundant. Instead used the pragma Node_Id directly as the
element type.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib.adb (Store_Note): Store only notes that do not come from
an instance, and that are in the extended main source unit.
* lib-writ (Write_Unit_Information): Annotations from subunits
must be emitted along with those for the main unit, and they
must carry a specific file name.
* ali.ads (Notes_Record): Use a File_Name_Type instead of a
Unit_Id for the source file containing the pragma, as in the
case of annotations from subunits we might not have a readily
available unit id.
* ali.adb (Scan_ALI): Account for above change in data structure.
From-SVN: r213295
Arnaud Charlet [Wed, 30 Jul 2014 15:04:20 +0000 (17:04 +0200)]
[multiple changes]
2014-07-30 Vincent Celier <celier@adacore.com>
* makeutl.adb (Insert_Project_Sources): When the library project
is an aggregate Stand-Alone Library, insert in the queue the
Ada interface units, with Closure set to True;
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb: Fix minor typo.
* makeutl.adb: Minor reformatting.
From-SVN: r213294
Tom Tromey [Wed, 30 Jul 2014 15:02:59 +0000 (15:02 +0000)]
re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures, requiring designated initializers)
2014-07-30 Tom Tromey <tromey@redhat.com>
PR c/59855
* doc/invoke.texi (Warning Options): Document -Wdesignated-init.
* doc/extend.texi (Type Attributes): Document designated_init
attribute.
2014-07-30 Tom Tromey <tromey@redhat.com>
PR c/59855
* c.opt (Wdesignated-init): New option.
* c-common.c (c_common_attribute_table): Add "designated_init".
(handle_designated_init): New function.
2014-07-30 Tom Tromey <tromey@redhat.com>
* c-typeck.c (struct constructor_stack) <designator_depth>: New
field.
(really_start_incremental_init, push_init_level): Initialize
designator_depth.
(pop_init_level): Set global designator_depth.
(process_init_element): Check for designated_init attribute.
From-SVN: r213293
Arnaud Charlet [Wed, 30 Jul 2014 15:01:55 +0000 (17:01 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.
2014-07-30 Yannick Moy <moy@adacore.com>
* checks.ads: Fix typo in comment.
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
* sem_util.adb (Set_Debug_Info_Needed): For scalar types, recurse on
entities that materialize range bounds, if any.
2014-07-30 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling fix.
From-SVN: r213292
Arnaud Charlet [Wed, 30 Jul 2014 14:57:28 +0000 (16:57 +0200)]
[multiple changes]
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Make_Bignum_Block): Use the new secondary stack
build routines to manage the mark.
* exp_ch7.adb (Create_Finalizer, Expand_Cleanup_Actions):
Use the new secodary stack build routines to manage the mark.
(Insert_Actions_In_Scope_Around): Add new formal parameter
Manage_SS along with comment on its usage. Code and comment
reformatting. Mark and release the secondary stack when the
context warrants it.
(Make_Transient_Block): Update the call
to Insert_Actions_In_Scope_Around to account for parameter Manage_SS.
(Wrap_Transient_Declaration): Remove local variable
Uses_SS. Ensure that the secondary stack is marked and released
when the related object declaration appears in a library level
package or package body. Code and comment reformatting.
* exp_util.ads, exp_util.adb (Build_SS_Mark_Call): New routine.
(Build_SS_Release_Call): New routine.
2014-07-30 Steve Baird <baird@adacore.com>
* exp_attr.adb: Revert previous change, not needed after all.
2014-07-30 Vincent Celier <celier@adacore.com>
* makeutl.adb (Queue.Insert_Project_Sources): Insert with
Closure => True for interfaces of Stand-Alone Libraries.
* makeutl.ads (Source_Info (Format => Gprbuild)): Add new
Boolean component Closure, defaulted to False.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_res.adb: Fix typo in error message.
From-SVN: r213291
Arnaud Charlet [Wed, 30 Jul 2014 14:53:56 +0000 (16:53 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb (Process_Range_Expr_In_Decl): Use _FIRST/_LAST
as name suffixes rather than L/H for subtype bounds.
* tbuild.ads: Minor comment improvements and fixes
(Make_External_Name): Document that suffix can start with an
underscore.
2014-07-30 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Document --rep-clauses switch.
From-SVN: r213290
Arnaud Charlet [Wed, 30 Jul 2014 14:49:38 +0000 (16:49 +0200)]
[multiple changes]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Default_Value and
Default_Component_Value can only be specified for scalar type or
arrays of scalar types respectively. This legality check must
be performed at the point the aspect is analyzed, in order to
reject aspect specifications that apply to a partial view.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* freeze.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Attribute, case First/Last): Don't expand in
codepeer mode.
From-SVN: r213289
Arnaud Charlet [Wed, 30 Jul 2014 14:47:53 +0000 (16:47 +0200)]
(Default_Attribute_Count): Replace by Max_Attribute_Count.
From-SVN: r213288
Ed Schonberg [Wed, 30 Jul 2014 14:34:38 +0000 (14:34 +0000)]
freeze.adb (Check_Expression_Function): At the freeze point of an expression function...
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Check_Expression_Function): At the freeze point
of an expression function, verify that the expression in the
function does not contain references to any deferred constants
that have no completion yet.
(Freeze_Expression, Freeze_Before): call
Check_Expression_Function.
* a-ciorse.ads: Add Reference_Control_Type to detect tampering.
* a-ciorse.adb: Add Adjust and Finalize routines for
Reference_Control_Type. Use it in the construction of Reference
and Constant_Reference values.
From-SVN: r213287
Robert Dewar [Wed, 30 Jul 2014 14:32:24 +0000 (14:32 +0000)]
exp_aggr.adb: Update comments.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Update comments.
* a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor
reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* cstand.adb (New_Standard_Entity): New version takes name
string to call Make_Name.
(Create_Standard): Use this routine to set name before setting other
fields.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Attribute, case First): Rewrite simple
entity reference.
(Expand_Attribute, case Last): Ditto.
* exp_ch3.adb (Constrain_Index): New calling sequence for
Process_Range_Expr_In_Decl.
(Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one
problematical case.
* sem_ch3.adb (Constrain_Index): New calling sequence for
Process_Range_Expr_In_Decl.
(Set_Scalar_Range_For_Subtype): ditto.
(Process_Range_Expr_In_Decl): Create constants to hold bounds for
subtype.
* sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter.
* sem_eval.adb (Compile_Time_Compare): Make sure we use base
types if we are not assuming no invalid values.
From-SVN: r213286
Arnaud Charlet [Wed, 30 Jul 2014 14:29:05 +0000 (16:29 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* clean.adb: Minor reformatting.
* opt.ads: Minor fix to incorrect comment.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-chtgbo.ads, a-chtgbo.adb (Delete_Node_At_Index): New
subprogram, used by bounded hashed sets, to delete a node at
a given index, whose element may have been improperly updated
through a Reference_Preserving key.
* a-cbhase.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cbhase.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Delete, Insert): Raise Program_Error, not Constraint_Error,
when operation is illegal.
(Reference_Preserving_Key): Build aggregate for Reference_Control_Type
* a-cmbutr.ads: Add Reference_Control_Type to detect tampering. Add
private with_clause for Ada.Finalization.
* a-cbmutr.adb: Add Adjust and Finalize routines for
Reference_Control_Type. Use it in the construction of Reference
and Constant_Reference values.
From-SVN: r213285
Arnaud Charlet [Wed, 30 Jul 2014 14:26:55 +0000 (16:26 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch3.ads: Minor code reorganization.
2014-07-30 Pascal Obry <obry@adacore.com>
* clean.adb (Clean_Project): Properly check for directory
existence before trying to enter it.
From-SVN: r213284
Robert Dewar [Wed, 30 Jul 2014 14:25:36 +0000 (14:25 +0000)]
sem_ch3.ads, [...]: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting.
From-SVN: r213283
Arnaud Charlet [Wed, 30 Jul 2014 14:23:54 +0000 (16:23 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (P_Sequence_Of_Statements): Properly handle
missing semicolon after name.
2014-07-30 Pascal Obry <obry@adacore.com>
* prj.ads (Gprinstall_Flags): New constant.
* prj-nmsc.adb (Check_Library_Attributes): Do not fails for
missing library dir if Directories_Must_Exist_In_Projects
is false.
From-SVN: r213282
Bob Duff [Wed, 30 Jul 2014 14:22:38 +0000 (14:22 +0000)]
a-except-2005.adb, [...]: Remove obsolete comments.
2014-07-30 Bob Duff <duff@adacore.com>
* a-except-2005.adb, a-except.adb: Remove obsolete comments.
* s-traceb.ads: Updagte comments.
From-SVN: r213281
Robert Dewar [Wed, 30 Jul 2014 14:21:09 +0000 (14:21 +0000)]
checks.adb, [...]: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads,
a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads,
a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor
reformatting.
From-SVN: r213280
Arnaud Charlet [Wed, 30 Jul 2014 14:19:54 +0000 (16:19 +0200)]
[multiple changes]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New
subprogram, used by all versions of hashed sets, to delete a node
whose element has been improperly updated through a Reference_
Preserving key.
* a-cohase.adb: Remove Delete_Node, use new common procedure
Delete_Node_At_Index.
* a-cihase.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cihase.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Reference_Preserving_Key): Build aggregate for
Reference_Control_Type
2014-07-30 Yannick Moy <moy@adacore.com>
* checks.adb, checks.ads (Determine_Range_R): New procedure to
determine the possible range of a floating-point expression.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cborse.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cborse.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Reference_Preserving_Key): Build aggregate for
Reference_Control_Type.
(Delete): Check for tampering, and raise Program_Error (not
Constraint_Error) when attempting to delete an element not in
the set.
(Insert): Ditto.
2014-07-30 Bob Duff <duff@adacore.com>
* a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb,
* a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb:
Exception_Information is used to produce useful debugging
information for the programmer. However, it was also used to
implement the stream attributes for type Exception_Occurrence. The
latter requires a stable and portable interface, which meant
that we couldn't include a symbolic traceback. A separate set of
routines was used to provide symbolic tracebacks under program
control (i.e. not automatically). The goal of this ticket is
to provide such automatic tracebacks, so the change here is to
split the two functionalities: Exception_Information gives the
maximally useful information for debugging (i.e. it now includes
a symbolic traceback when a decorator is set, and it can be
improved freely in the future without disturbing streaming).
Untailored_Exception_Information always uses hexadecimal addresses
in the traceback, has a stable and portable output, and is now
used for streaming.
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Expand_Array_Aggregate): Add missing test
on the target of the assignment to find out whether it
can be directly done by the back-end.
* exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test.
From-SVN: r213279
Robert Dewar [Wed, 30 Jul 2014 14:15:28 +0000 (14:15 +0000)]
inline.adb, [...]: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads,
a-tasatt.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor reformatting.
From-SVN: r213278
Arnaud Charlet [Wed, 30 Jul 2014 14:14:11 +0000 (16:14 +0200)]
[multiple changes]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
Reference_Control_Type to generic package, to keep additional
information for Reference_Types that manipulate keys. Add Adjust and
Finalize procedures for this type.
(Finalize): When finalizing a reference_preserving_key, verify
that the key of the new value is equivalent to the key of the
original element, raise Program_Error otherwise.
(Insert): Detect tampering.
(Reference_Preserving_Key): Build proper Reference_Control_Type,
and update Busy and Lock bits to detect tampering.
* a-cohase.ads: Keep with-clause private.
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
of an equality are of an Unchecked_Union type and lack inferable
discriminants.
From-SVN: r213277
Arnaud Charlet [Wed, 30 Jul 2014 14:12:37 +0000 (16:12 +0200)]
[multiple changes]
2014-07-30 Bob Duff <duff@adacore.com>
* g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl,
g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move
GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System
hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so
we can call them from the runtimes. Leave renamings in place under GNAT.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Check_And_Build_Body_To_Inline): Include code for
inlining in GNATprove mode.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cohase.adb, a-cohase.ads (Generic_Keys): Add a
Reference_Control_Type to generic package, to keep additional
information for Reference_Types that manipulate keys. Add Adjust and
Finalize procedures for this type.
(Delete_Node): New procedure called when finalizing a
Reference_Control_Type, to remove a node whose element has been
improperly updated through a Reference.
(Insert): Detect tampering.
(Reference_Preserving_Key): Build proper Reference_Control_Type,
and update Busy and Lock bits to detect tampering.
2014-07-30 Bob Duff <duff@adacore.com>
* exp_intr.ads: Minor comment fix.
From-SVN: r213276
Arnaud Charlet [Wed, 30 Jul 2014 14:00:58 +0000 (16:00 +0200)]
[multiple changes]
2014-07-30 Gary Dismukes <dismukes@adacore.com>
* exp_prag.adb, a-tags.ads: Minor typo fixes.
2014-07-30 Bob Duff <duff@adacore.com>
* a-excach.adb, a-excach-cert.adb, a-except-2005.ads,
a-except.ads, g-traceb.adb, memtrack.adb,
s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
Cleanup: Make the three versions of System.Traceback.Call_Chain
have the same interface. Use an array for the Traceback parameter
instead of an Address. This will enable reduction in code
duplication.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Corrected minor textual error in description
of switch -gnatwl.
2014-07-30 Bob Duff <duff@adacore.com>
* Makefile.rtl: Sort file names.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-tasatt.adb: Complete previous change: kill spurious warning
on e.g. sparc, and make sure we only use the fast path when the
alignment is compatible.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as
coming from source.
From-SVN: r213275
Yannick Moy [Wed, 30 Jul 2014 13:58:00 +0000 (13:58 +0000)]
inline.adb (Build_Body_To_Inline): Issue more precise messages for declarations that prevent inlining.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Build_Body_To_Inline): Issue more precise messages
for declarations that prevent inlining.
(Cannot_Inline): Change usual start of message to refer to contextual
analysis in GNATprove mode.
* sem_res.adb (Resolve_Call): Change usual start of message to
refer to contextual analysis in GNATprove mode, when inlining
not possible.
From-SVN: r213273
Arnaud Charlet [Wed, 30 Jul 2014 13:57:16 +0000 (15:57 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_res.adb, sem_ch6.adb: Minor code reorganization.
* inline.adb: Minor reformatting.
2014-07-30 Javier Miranda <miranda@adacore.com>
* a-tags.ads: Add comments.
From-SVN: r213272
Arnaud Charlet [Wed, 30 Jul 2014 13:54:18 +0000 (15:54 +0200)]
[multiple changes]
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Minor word error.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* exp_prag.adb (Expand_Old): Insert declarationss of temporaries
created to capture the value of the prefix of 'Old at the
beginning of the current declarative part, to prevent data flow
anomalies in the postcondition procedure that will follow.
2014-07-30 Yannick Moy <moy@adacore.com>
* debug.adb: Retire debug flag -gnatdQ.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode
on decl, not on body. Ignore predicate functions.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of
debug flag -gnatdQ. Correctly analyze SPARK_Mode on decl and
body when generating a decl for a body on which SPARK_Mode aspect
is given.
* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for
attaching pragma to entity, to account for declaration not coming
from source.
* sem_res.adb (Resolve_Call): Issue warning and flag subprogram
as not always inlined in GNATprove mode, when called in an
assertion context.
From-SVN: r213271
Arnaud Charlet [Wed, 30 Jul 2014 13:53:11 +0000 (15:53 +0200)]
[multiple changes]
2014-07-30 Vincent Celier <celier@adacore.com>
* debug.adb: Minor comment update.
2014-07-30 Robert Dewar <dewar@adacore.com>
* s-tasuti.adb, s-tassta.adb: Minor reformatting.
* sprint.adb (Sprint_Node): Handle N_Contract case.
* exp_prag.adb: Minor reformatting.
* freeze.adb (Freeze_Entity): Check useless postcondition for
No_Return subprogram.
* sem_prag.adb: Minor reformatting.
2014-07-30 Javier Miranda <miranda@adacore.com>
* a-tags.ads: Complete comments about performance.
2014-07-30 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Adding description for --exit-status option to
gnattest section. Fixing index entry of --passed-tests option
in gnattest section.
2014-07-30 Javier Miranda <miranda@adacore.com>
* Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb,
rtsfind.ads: Remove references to package Interfaces.CPP since this
package is no longer needed.
From-SVN: r213270
Bob Duff [Wed, 30 Jul 2014 13:50:25 +0000 (13:50 +0000)]
s-taasde.adb (Timer_Queue): Don't use a build-in-place function call to initialize the Timer_Queue.
2014-07-30 Bob Duff <duff@adacore.com>
* s-taasde.adb (Timer_Queue): Don't use a
build-in-place function call to initialize the Timer_Queue.
* s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads:
Turn off polling in these units, because otherwise we get
elaboration circularities with Ada.Exceptions when the -gnatP
switch is used.
* s-tassta.adb (Create_Task): Make sure independent tasks
are created with Parent = Environment_Task. This was not true,
for example, in s-interr.adb, when Interrupt_Manager does "new
Server_Task"; the Server_Task had Parent = Interrupt_Manager,
which is wrong because the master is determined by the access
type, which is at library level.
* s-tasuti.adb (Make_Independent): Avoid setting Parent; it is
now set correctly by Create_Task.
(Make_Passive): Remove the workaround for the race condition in
Make_Independent.
* frontend.adb (Frontend): Revert to previous method of detecting
temporary configuration pragma files, recognizing such files by
".tmp" in the name. This is more general than detecting pragmas
Source_File_Name_Project, because it allows any tool to use
this naming convention, no matter the content of the file.
* gnat_ugn.texi: Document this naming convention.
From-SVN: r213269
Robert Dewar [Wed, 30 Jul 2014 13:48:04 +0000 (13:48 +0000)]
exp_ch7.adb, [...]: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads,
inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb,
s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads,
s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting.
* a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8
conversion.
From-SVN: r213268
Ed Schonberg [Wed, 30 Jul 2014 13:46:35 +0000 (13:46 +0000)]
sem_ch5.adb: Improve error recovery.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Improve error recovery.
* inline.adb (Build_Body_To_Inline): Set Full_Analysis to false
before analyzing the body, so that in GNATprove mode there is
no light expansion. Whatever expansion is required by SPARK will
be performed when analysing the inlined code.
From-SVN: r213267
Arnaud Charlet [Wed, 30 Jul 2014 13:45:14 +0000 (15:45 +0200)]
[multiple changes]
2014-07-30 Bob Duff <duff@adacore.com>
* s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
verify that it is not hidden by an inner implicit declaration.
From-SVN: r213266
Arnaud Charlet [Wed, 30 Jul 2014 13:43:32 +0000 (15:43 +0200)]
[multiple changes]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
* sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects.
* exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where
the call returns an unconstrained type: in this case there is
already a transient scope, and we should not establish a new one.
* exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If
True, also insert cleanup actions in the tree.
(Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around
with Clean set True.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* s-taskin.ads (Direct_Index, Direct_Index_Range,
Direct_Attribute_Element, Direct_Attribute_Array,
Direct_Index_Vector, Direct_Attributes, Is_Defined,
Indirect_Attributes): Removed. (Atomic_Address,
Attribute_Array, Attributes): New.
* s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes,
Finalize_Attributes_Link, Initialize_Attributes_Link): Removed.
(Finalize_Attributes): Reimplement.
* s-tassta.adb (Create_Task): Remove call to
Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task):
Replace Finalize_Attributes_Link by Finalize_Attributes.
* a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb:
Reimplement from scratch, using a simpler and more efficient
implementation.
* s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment.
* s-parame.ads, s-parame-hpux.ads,
* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads,
* s-parame-vxworks.ads (Max_Attribute_Count): New, replace
Default_Attribute_Count.
From-SVN: r213265
Arnaud Charlet [Wed, 30 Jul 2014 13:40:41 +0000 (15:40 +0200)]
[multiple changes]
2014-07-30 Olivier Hainque <hainque@adacore.com>
* vxworks-ppc-link.spec: New file. Extra link
instructions for ppc-vxworks.
* vxworks-crtbe-link.spec: Likewise, for ZCX related support.
* system-vxworks-ppc.ads: Adjust linker options to use spec files.
* system-vxworks-arm.ads: Likewise.
* gcc-interface/Makefile.in: Enable .spec files.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb: Minor comment reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb (Is_Junk_Name): Removed.
* sem_warn.adb (Has_Junk_Name): New function
(Check_References): Use Has_Junk_Name to delete junk warnings
(Check_Unset_Reference): ditto.
(Warn_On_Unreferenced_Entity): ditto.
(Warn_On_Useless_Assignment): ditto.
* sem_ch3.adb, lib-xref-spark_specific.adb, s-taprop-vxworks.adb,
exp_ch7.adb, s-asthan-vms-alpha.adb, sem_ch10.adb, osint-c.adb,
prj.adb, g-comlin.adb, makeutl.adb, s-tasdeb.adb, exp_intr.adb,
s-asthan-vms-ia64.adb, prj-env.adb: Ditto.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Insert_Valid_Check): Do not check for the packed
array type of a prefix that is an access type.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute
Unconstrained_Array even if prefix is not frozen yet, as can
occur with a private subtype used as a generic actual.
2014-07-30 Gary Dismukes <dismukes@adacore.com>
* sem_attr.adb: Minor reformatting.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Corrected minor wording error in description
of No_Exception_Registration.
2014-07-30 Yannick Moy <moy@adacore.com>
* einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove
mode. Realphabetize two subprograms.
* inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode.
(Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id.
(Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove
mode.
(Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use
Is_Inline in GNATprove mode.
(Analyze_Subprogram_Specification):
Set Is_Inlined_Always at subprogram entity creation.
* sem_res.adb (Resolve_Call): Do not deal with inlining during
pre-analysis. Issue warning on call to possibly inlined
subprogram when body not seen.
2014-07-30 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Add special
case for compiler-generated formals in GNATprove mode.
From-SVN: r213264
Arnaud Charlet [Wed, 30 Jul 2014 13:29:43 +0000 (15:29 +0200)]
Clean up.
From-SVN: r213263
Roman Gareev [Wed, 30 Jul 2014 13:18:16 +0000 (13:18 +0000)]
[gcc/]
* graphite-isl-ast-to-gimple.c:
(gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
(gcc_expression_from_isl_expression): Pass type to
gcc_expression_from_isl_ast_expr_id.
From-SVN: r213262
Arnaud Charlet [Wed, 30 Jul 2014 12:58:03 +0000 (14:58 +0200)]
[multiple changes]
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Add comments.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* s-os_lib.ads (GM_Time_Of): Clarify documentation.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, sem_res.adb: Minor reformatting.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Bit_Order): Set Reverse_Bit_Order on the base type of the
specified first subtype.
From-SVN: r213261
Arnaud Charlet [Wed, 30 Jul 2014 12:56:13 +0000 (14:56 +0200)]
[multiple changes]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* inline.adb (Expand_Inlined_Call): Use a renaming declaration
to capture the value of actuals of a limited type rather than
an object declaration, to prevent spurious errors when analyzing
the inlined body.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body
as an instance, and inhibit semantic checks on already analyzed
code to prevent spurious errors.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-exctra.ads ("="): New function, to restore compatibility.
2014-07-30 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime
routine to use the OS dst setting.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Minor correction to description of -gnatw.K.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Wrong_Type): Disable some checks equally within
instances and within inlined bodies, to suppress spurious type
errors on already analyzed code.
* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression
is legal in an inlined body, juts as it is in an instance body.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined
body the operand of an unchecked conversion may be a literal, in
which case its type is the target type of the conversion. This
is in contrast to conversions in other contexts, where the
operand cannot be a literal and must be resolvable independent
of the context.
From-SVN: r213260
Arnaud Charlet [Wed, 30 Jul 2014 12:54:19 +0000 (14:54 +0200)]
Minor reformatting.
From-SVN: r213259
Pierre-Marie de Rodat [Wed, 30 Jul 2014 12:52:44 +0000 (14:52 +0200)]
decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for a renaming of scalar...
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a
mere scalar constant instead of a reference for a renaming of
scalar literal.
* gcc-interface/utils.c (renaming_from_generic_instantiation_p): New.
* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New.
From-SVN: r213258
Arnaud Charlet [Wed, 30 Jul 2014 12:50:43 +0000 (14:50 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb,
g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb,
g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb,
s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb,
g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb,
s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting
& code reorganization.
2014-07-30 Bob Duff <duff@adacore.com>
* s-tassta.adb, sem_util.ads: Minor reformatting.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Build_Body_To_Inline): Detect when
subprogram has multiple returns, or not a single last return
statement, in GNATprove mode.
(Cannot_Inline): Simplify logic to handle case of GNATprove
inlining first.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Stubs are not subject to inlining.
From-SVN: r213257
Arnaud Charlet [Wed, 30 Jul 2014 12:46:03 +0000 (14:46 +0200)]
[multiple changes]
2014-07-30 Bob Duff <duff@adacore.com>
* s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this
from a procedure to a function, so that it can more easily be
called before the "begin" of a task.
* s-taasde.ads (Delay_Block): Make this type immutably limited,
so we can use a build-in-place function call to initialize
Timer_Queue in the body.
* a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb,
* s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb,
* s-interr-vms.adb, s-taasde.adb: Each independent task now calls
Make_Independent before reaching its "begin", to avoid race
conditions. This causes the activating task to wait until after
Make_Independent is complete before proceeding. In addition,
we initialize data structures used by independent tasks before
activating those tasks, to avoid possible use of uninitialized data.
* s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads:
Minor comment fixes.
2014-07-30 Bob Duff <duff@adacore.com>
* a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move
the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to
System.Traceback_Entries (s-traent.ads and s-traent-vms.ads). Add
subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback.
* g-debpoo.adb: Refer to Tracebacks_Array in its new home.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-tasatt.adb: Remove old comments.
From-SVN: r213256
Yannick Moy [Wed, 30 Jul 2014 12:41:59 +0000 (12:41 +0000)]
einfo.ads (Is_Inlined): Document new use in GNATprove mode.
2014-07-30 Yannick Moy <moy@adacore.com>
* einfo.ads (Is_Inlined): Document new use in GNATprove mode.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add comments
to explain rationale for inlining or not in GNATprove mode.
(Expand_Inlined_Call): In GNATprove mode, set Is_Inlined flag
to False when inlining is not possible.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Is_Inlined
flag to indicate that subprogram is fully inlined. To be reversed
if inlining problem is found.
* sem_res.adb (Resolve_Call): Set Is_Inlined flag to False when
call in potentially unevaluated context.
From-SVN: r213255
Arnaud Charlet [Wed, 30 Jul 2014 12:34:21 +0000 (14:34 +0200)]
[multiple changes]
2014-07-30 Jose Ruiz <ruiz@adacore.com>
* s-tarest.adb, s-tarest.ads: Fix comments.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, checks.adb, sem_util.adb, sem_util.ads, sem_attr.adb:
Change No_Scalar_Parts predicate to Scalar_Part_Present and
invert sense of test. This avoids the "not No_xxx" situation
which is always ugly.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* inline.adb (Expand_Inlined_Call): When generating code for
an internal subprogram the expansion uses the location of the
call, so that gdb can skip over it. In GNATprove mode we want to
preserve slocs of original subprogram when expanding an inlined
call, to obtain better warnings, even though subprogram appears
not to come from source if it is the inlining of a subprogram
body without a previous spec.
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
types with atomic components.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* Make-generated.in: Remove now unnecessary targets after s-oscons
reorg.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Call): Use ultimate alias
of callee when available.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): To check whether
an expression function is a completion, use the specification of
the previous declaration, not its entity, which may be internally
generated in an inlined context.
From-SVN: r213254
Richard Biener [Wed, 30 Jul 2014 12:14:58 +0000 (12:14 +0000)]
lto-streamer.h (lto_write_data): New function.
2014-07-30 Richard Biener <rguenther@suse.de>
* lto-streamer.h (lto_write_data): New function.
* langhooks.c (lhd_append_data): Do not free block.
* lto-section-out.c (lto_write_data): New function writing
raw data to the current section.
(lto_write_stream): Adjust for langhook semantic change.
(lto_destroy_simple_output_block): Write header directly.
* lto-opts.c (lto_write_options): Write options directly.
* lto-streamer-out.c (produce_asm): Write heaeder directly.
(lto_output_toplevel_asms): Likewise.
(copy_function_or_variable): Copy data directly.
(write_global_references): Output index table directly.
(lto_output_decl_state_refs): Likewise.
(write_symbol): Write data directly.
(produce_symtab): Adjust.
(produce_asm_for_decls): Output header and refs directly.
lto/
* lto-object.c (lto_obj_append_data): Do not free block.
From-SVN: r213253
Arnaud Charlet [Wed, 30 Jul 2014 11:01:18 +0000 (13:01 +0200)]
[multiple changes]
2014-07-30 Doug Rupp <rupp@adacore.com>
* adaint.c (__gnat_tmp_name) [__ANDROID__]: Default to putting
temp files in /cache directory unless overridden by TMPDIR.
2014-07-30 Jose Ruiz <ruiz@adacore.com>
* s-tassta.adb, s-tarest.adb (Initialize, Create_Task,
Create_Restricted_Task): Remove redundant check. Number_Of_CPUs returns
type CPU, so it can never be greater than CPU_Range'Last.
2014-07-30 Bob Duff <duff@adacore.com>
* s-taskin.ads: Minor comment fix.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* g-socket.adb: Remove now useless WITH, USE, and USE TYPE
clauses.
2014-07-30 Yannick Moy <moy@adacore.com>
* debug.adb: Free debug flag dQ used for frontend inlining in
GNATprove mode..
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove test of
debug flag..
2014-07-30 Thomas Quinot <quinot@adacore.com>
* Make-generated.in: Remove generation of s-oscons.ads, only
generate the xoscons utility, in runtime-agnostic rules.
* gcc-interface/Makefile.in: Clean up rules. Remove VMS parts,
no longer supported.
From-SVN: r213250
Arnaud Charlet [Wed, 30 Jul 2014 10:50:23 +0000 (12:50 +0200)]
[multiple changes]
2014-07-30 Bob Duff <duff@adacore.com>
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New
parameter Chain to be used in the allocator case.
(Make_Build_In_Place_Call_In_Allocator): If the allocated object
has tasks, wrap the code in a block that will activate them,
including the usual finalization code to kill them off in case
of exception or abort.
2014-07-30 Robert Dewar <dewar@adacore.com>
* treepr.adb, treepr.ads; Reorganize documentation for new pp routines
Remove renamings (don't work for gdb).
(par): New synonym for p (avoid gdb ambiguities).
* inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
From-SVN: r213249
Bob Duff [Wed, 30 Jul 2014 10:48:49 +0000 (10:48 +0000)]
exp_ch9.ads, [...]: Minor comment fixes.
2014-07-30 Bob Duff <duff@adacore.com>
* exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment
fixes.
* treepr.ads, treepr.adb (ppp): Make this debugging routine
accept any type covered by Union_Id.
From-SVN: r213248
Arnaud Charlet [Wed, 30 Jul 2014 10:47:17 +0000 (12:47 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb (Analyze_If_Expression): Resolve condition before
analyzing branches.
* sem_eval.adb (Out_Of_Range): Check for statically unevaluated
expression case.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use
of predicate aspect on entity other than a type.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Body_Has_Contract): New predicate to determine
when a subprogram body without a previous spec cannot be inlined
in GNATprove mode, because it includes aspects or pragmas that
generate a SPARK contract clause.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram
instance cannot be inlined.
From-SVN: r213247
Arnaud Charlet [Wed, 30 Jul 2014 10:45:42 +0000 (12:45 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* debug.adb: Document that d7 suppresses compilation time output.
* errout.adb (Write_Header): Include compilation time in
header output.
* exp_intr.adb (Expand_Intrinsic_Call): Add
Compilation_Date/Compilation_Time (Expand_Source_Info): Expand
Compilation_Date/Compilation_Time.
* g-souinf.ads (Compilation_Date): New function
(Compilation_Time): New function.
* gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time.
* gnat_rm.texi (Compilation_Date): New function
(Compilation_Time): New function.
* opt.ads (Compilation_Time): New variable.
* s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function.
* sem_intr.adb (Compilation_Date): New function.
(Compilation_Time): New function.
* snames.ads-tmpl (Name_Compilation_Date): New entry.
(Name_Compilation_Time): New entry.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb: Add comment.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (Is_Parameterless_Attribute): 'Result is a
parameterless attribute, and a postondition can mention an
indexed component or a slice whose prefix is an attribute
reference F'Result.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sprint.adb (Sprint_Node_Actual, case Object_Declaration):
Avoid bomb when printing package Standard.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb (Check_Internal_Call_Continue): If an elaboration
entity is created at this point, ensure that the name of the
flag is unique, because the subprogram may be overloaded and
other homonyms may also have elaboration flags created on the fly.
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb (Analyze_Array_Component_Update): New routine.
(Analyze_Attribute): Major cleanup of attribute
'Update. The logic is now split into two distinct routines
depending on the type of the prefix. The use of <> is now illegal
in attribute 'Update.
(Analyze_Record_Component_Update): New routine.
(Check_Component_Reference): Removed.
(Resolve_Attribute): Remove the return statement and ??? comment
following the processing for attribute 'Update. As a result,
the attribute now freezes its prefix.
2014-07-30 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Do
not call Base_Address() in VM targets.
From-SVN: r213246
Yannick Moy [Wed, 30 Jul 2014 10:42:06 +0000 (10:42 +0000)]
gnat1drv.adb (Adjust_Global_Switches): Set Ineffective_Inline_Warnings to True in GNATprove mode.
2014-07-30 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Set
Ineffective_Inline_Warnings to True in GNATprove mode.
* inline.adb (Cannot_Inline): Prepare new semantics for GNATprove
mode of inlining.
* opt.ads (Ineffective_Inline_Warnings): Add comment that
describes use in GNATprove mode.
* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore
pragma when applied to the special body created for inlining.
From-SVN: r213245
Robert Dewar [Wed, 30 Jul 2014 10:41:12 +0000 (10:41 +0000)]
inline.adb, [...]: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb:
Minor reformatting.
From-SVN: r213244
Arnaud Charlet [Wed, 30 Jul 2014 10:39:31 +0000 (12:39 +0200)]
[multiple changes]
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.ads Add a comment explaining why SPARK 2014 aspects are
not delayed. Update the delay status of most SPARK 2014 aspects.
* sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls
to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert
to Decorate and Insert_Pragma. Add various comments concerning
the delay status of several SPARK 2014 aspects. The insertion
of Refined_State now uses routine Insert_After_SPARK_Mode.
(Decorate): New routine.
(Decorate_Aspect_And_Pragma): Removed.
(Insert_Delayed_Pragma): Removed.
(Insert_Pragma): New routine.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* inline.adb (Expand_Inlined_Call): In GNATprove mode, emit
only a warning, not an error on an attempt to inline a recursive
subprogram.
From-SVN: r213243
Arnaud Charlet [Wed, 30 Jul 2014 10:37:41 +0000 (12:37 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* g-forstr.adb: Minor code reorganization (use J rather than I
as a variable name).
* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb,
g-forstr.ads: Minor reformatting.
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* sprint.adb (Set_Debug_Sloc): Also reset the end location if
we are debugging the generated code.
2014-07-30 Yannick Moy <moy@adacore.com>
* sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that
returns True for source pointer for an inlined body.
2014-07-30 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Add
missing calls to Base_Address().
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove
mode, subprogram bodies without a previous declaration are also
candidates for front-end inlining.
From-SVN: r213242
Arnaud Charlet [Wed, 30 Jul 2014 10:29:48 +0000 (12:29 +0200)]
[multiple changes]
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.ads Aspects Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes do not need to be delayed.
* sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the
optional Boolean expression when generating the corresponding
pragma for an external property aspect.
* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove
local constant Obj. Add local constant Obj_Id. Reimplement the
check which ensures that the related variable is in fact volatile.
(Analyze_Pragma): Reimplement the analysis of external property pragmas.
* sem_util.adb (Is_Enabled): New routine.
(Variable_Has_Enabled_Property): Reimplement the detection of
an enabled external property.
2014-07-30 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits
for body stubs.
2014-07-30 Pascal Obry <obry@adacore.com>
* g-forstr.adb, g-forstr.ads: New.
* gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit
GNAT.Formatted_String.
From-SVN: r213241
Arnaud Charlet [Wed, 30 Jul 2014 10:23:17 +0000 (12:23 +0200)]
[multiple changes]
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate.
(Expand_Array_Aggregate): Also enable in-place expansion for
code generated by the compiler. For an object declaration,
set the kind of the object in addition to its type. If an
in-place assignment is to be generated and it can be directly
done by the back-end, do not expand the aggregate.
* fe.h (Is_Others_Aggregate): Declare.
* gcc-interface/trans.c
(gnat_to_gnu) <N_Assignment_Statement>: Add support for an
aggregate with a single Others choice on the RHS by means of
__builtin_memset. Tidy up.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi: minor reformatting.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline
in SPARK_Mode Off.
From-SVN: r213240
Arnaud Charlet [Wed, 30 Jul 2014 10:04:05 +0000 (12:04 +0200)]
[multiple changes]
2014-07-30 Vincent Celier <celier@adacore.com>
* prj-strt.adb: Minor comment update.
2014-07-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document additional implementation-defined use
of Constrained.
From-SVN: r213239
Robert Dewar [Wed, 30 Jul 2014 10:03:14 +0000 (10:03 +0000)]
prj-proc.adb, [...]: Update comments.
2014-07-30 Robert Dewar <dewar@adacore.com>
* prj-proc.adb, prj-strt.adb: Update comments.
From-SVN: r213238
Arnaud Charlet [Wed, 30 Jul 2014 10:02:20 +0000 (12:02 +0200)]
[multiple changes]
2014-07-30 Gary Dismukes <dismukes@adacore.com>
* sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting.
2014-07-30 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean
parameter No_Extending, defaulted to False. When No_Extending
is True, do not look for an extending project.
(Expression): For a variable reference that is not for the current
project, get its Id calling Imported_Or_Extended_Project_From
with No_Extending set to True.
* prj-strt.adb (Parse_Variable_Reference): If a referenced
variable is not found in the current project, check if it is
defined in one of the projects it extends.
From-SVN: r213237
Arnaud Charlet [Wed, 30 Jul 2014 10:00:47 +0000 (12:00 +0200)]
[multiple changes]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for
some additional cases of internally generated routines.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS,
if the compilation unit is a subunit, extend optional processing
to all subunits of the current one. This allows gnatstub to
supress generation of spurious bodies.
From-SVN: r213236
Hristian Kirtchev [Wed, 30 Jul 2014 09:59:29 +0000 (09:59 +0000)]
a-cbmutr.adb (Insert_Child): Use local variable First to keep track of the initial element's index within...
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* a-cbmutr.adb (Insert_Child): Use local variable First to keep
track of the initial element's index within the tree.
From-SVN: r213235
Jan Hubicka [Wed, 30 Jul 2014 07:55:49 +0000 (07:55 +0000)]
Fix changelog from previous commit.
From-SVN: r213234
Jan Hubicka [Wed, 30 Jul 2014 07:48:13 +0000 (09:48 +0200)]
devirt-34.C: New testcase.
* g++.dg/ipa/devirt-34.C: New testcase.
* ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
to speculative_targets
(get_class_context): Fix handling of contextes without outer type;
avoid matching non-polymorphic types in LTO.
(possible_polymorphic_call_targets): Trun nonconstruction_targetsp
parameter to speculative_targetsp; handle speculation.
(dump_possible_polymorphic_call_targets): Update dumping.
From-SVN: r213232
GCC Administrator [Wed, 30 Jul 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r213230
Jonathan Wakely [Tue, 29 Jul 2014 21:35:57 +0000 (22:35 +0100)]
* python/libstdcxx/v6/printers.py
(SingleObjContainerPrinter._contained): Use compatibility mixin.
From-SVN: r213227
François Dumont [Tue, 29 Jul 2014 19:47:19 +0000 (19:47 +0000)]
2014-07-29 François Dumont <fdumont@gcc.gnu.org>
* testsuite/util/testsuite_allocator.h
(tracker_allocator_counter::allocate): Remove new invocation, only
collect information.
(tracker_allocator_counter::deallocate): Remove delete invocation, only
collect information.
(check_inconsistent_alloc_value_type): New.
(tracker_allocator): Transform as a facade for any allocator type.
(uneq_allocator): Likewise.
(propagating_allocator): Likewise.
* testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
explicitly non propagating allocator.
* testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
* testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
From-SVN: r213224
Jonathan Wakely [Tue, 29 Jul 2014 17:30:34 +0000 (18:30 +0100)]
re PR libstdc++/61947 (Ambiguous calls when constructing std::tuple)
PR libstdc++/61947
* include/std/tuple (_Head_base): Use allocator_arg_t parameters to
disambiguate unary constructors.
(_Tuple_impl): Pass allocator_arg_t arguments.
* testsuite/20_util/tuple/61947.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
From-SVN: r213221
Jonathan Wakely [Tue, 29 Jul 2014 17:30:25 +0000 (18:30 +0100)]
re PR libstdc++/61946 (rope construction, passing allocator referenct without const)
PR libstdc++/61946
* include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
const allocator_type&)): Pass non-const allocator to
_S_new_RopeFunction.
* testsuite/ext/rope/61946.cc: New.
From-SVN: r213220
Olivier Hainque [Tue, 29 Jul 2014 16:35:24 +0000 (16:35 +0000)]
vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
2014-07-29 Olivier Hainque <hainque@adacore.com>
* config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
From-SVN: r213219
Arnaud Charlet [Tue, 29 Jul 2014 15:49:30 +0000 (17:49 +0200)]
[multiple changes]
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* a-cbmutr.adb (Allocate_Node): Remove the two parameter version.
(Insert_Child): Add local variable First. Capture the index of the
first node being created to ensure correct cursor construction
later on. Use the three parameter version of Allocate_Node
when creating multiple children as this method allows aspect
Default_Value to take effect (if applicable).
2014-07-29 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Safe_Slice_Assignment): Remove.
(Expand_Array_Aggregate): For a safe slice assignment, just set
the target and use the common code path.
From-SVN: r213216
Arnaud Charlet [Tue, 29 Jul 2014 15:23:04 +0000 (17:23 +0200)]
Minor doc update.
From-SVN: r213214
H.J. Lu [Tue, 29 Jul 2014 15:19:22 +0000 (15:19 +0000)]
Replace strtok with strtoken
PR bootstrap/61914
* gengtype.c (strtoken): New function.
(create_user_defined_type): Replace strtok with strtoken.
From-SVN: r213213
Arnaud Charlet [Tue, 29 Jul 2014 15:14:04 +0000 (17:14 +0200)]
[multiple changes]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert
predicate No_Predicate_Test_On_Arguments, new name is
Predicate_Tests_On_Arguments (with the opposite sense).
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb (Resolve_Attribute): Clean up the code for
attribute 'Access. Do not generate an elaboration flag for a
stand alone expression function. The expression of an expression
function is now frozen when the expression function appears as
the prefix of attribute 'Access.
* sem_ch6.adb (Analyze_Expression_Function): Remove local
variable New_Decl and update all references to it after the
rewriting has taken place. Establish the linkages between the
generated spec and body.
From-SVN: r213212
Arnaud Charlet [Tue, 29 Jul 2014 15:12:14 +0000 (17:12 +0200)]
[multiple changes]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (ip, rv): Prevent from being optimized away.
* gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found.
* s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor
reformatting.
2014-07-29 Vincent Celier <celier@adacore.com>
* prj-pp.adb: Minor comment update.
* frontend.adb: If a target dependency info file has been read
through switch -gnateT= add it to the dependencies of the source
being compiled.
From-SVN: r213211
Arnaud Charlet [Tue, 29 Jul 2014 15:06:34 +0000 (17:06 +0200)]
[multiple changes]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, prj.adb: Minor reformatting.
2014-07-29 Vincent Celier <celier@adacore.com>
* prj-pp.adb (Pretty_Print.Output_Project_File): New
procedure to output project file names between quotes without
concatenation, even if the line is too long.
(Pretty_Print): Use Output_Project_File for project being extended and
project imported.
From-SVN: r213210
Arnaud Charlet [Tue, 29 Jul 2014 15:02:05 +0000 (17:02 +0200)]
[multiple changes]
2014-07-29 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Document that configuration pragmas files are
added to the dependencies, unless they contain only pragmas
Source_File_Name_Project.
2014-07-29 Robert Dewar <dewar@adacore.com>
* frontend.adb: Minor reformatting.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting
(Expand_Actuals): Make sure predicate checks are properly applied
for the case of OUT or IN OUT parameters.
* sem_res.adb: Minor reformatting (Resolve_Actuals): Skip
predicate tests on arguments for Finalize
* sem_util.adb (No_Predicate_Test_On_Arguments): Returns True
if predicate tests on subprogram arguments should be skipped.
* sem_util.ads (No_Predicate_Test_On_Arguments): New function
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): If there is an address
clause for the object and the expression is an aggregate, defer
resolution and expansion of the aggregate until the freeze point
of the entity.
* sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if
the parent node is an N_Reference generated during expansion.
2014-07-29 Vincent Celier <celier@adacore.com>
* prj.adb (Add_To_Buffer): Effectively double the size of the buffer.
From-SVN: r213209
Robert Dewar [Tue, 29 Jul 2014 14:59:26 +0000 (14:59 +0000)]
frontend.adb, [...]: Minor reformatting and code clean up.
2014-07-29 Robert Dewar <dewar@adacore.com>
* frontend.adb, inline.adb, sem_util.adb, sem_res.adb,
prepcomp.ads: Minor reformatting and code clean up.
* exp_ch6.adb (Expand_Actuals): Generate predicate test
unconditionally for case of OUT or IN OUT actual (before this
was generated only for certain subcases, which is wrong, the
test is always needed).
From-SVN: r213208
Ed Smith-Rowland [Tue, 29 Jul 2014 14:56:45 +0000 (14:56 +0000)]
PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
* include/bits/random.h (_Adaptor): static_assert for non floating-point
result type.
* include/bits/random.tcc (generate_canonical): Ditto.
* include/ext/random.tcc (hypergeometric_distribution::operator()):
Use double as a rng result type.
* testsuite/26_numerics/random/pr60037-neg.cc: New.
* testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
From-SVN: r213207
Ed Schonberg [Tue, 29 Jul 2014 14:56:34 +0000 (14:56 +0000)]
sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
* sem_ch4.adb (Analyze_Allocator): Defer resolution of expression
until context type is available.
* sem_res.adb (Resolve_Allocator): In the case of a qualified
expression, complete resolution of expression.
(Check_Aliased_Parameter): New procedure within Resolve_Actuals,
to apply
Ada2012 checks on aliased formals, as well as
accesibility checks when the context of the call is an allocator
or a qualified expression.
* sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants):
Moved here from sem_ch3.
(Object_Access_Level): Handle properly aliased formals and
aggregates.
* exp_ch6.adb (Expand_Call): Remove check on aliased parameters,
now properly performed in sem_res (Resolve_Actuals,
Check_Aliased_Parameter).
From-SVN: r213206
Yannick Moy [Tue, 29 Jul 2014 14:55:24 +0000 (14:55 +0000)]
2014-07-29 Yannick Moy <moy@adacore.com>
* debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now.
* inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New
function to decide when a subprogram can be inlined in GNATprove mode.
(Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a
condition for possible inlining.
* sem_ch10.adb (Analyze_Compilation_Unit): Remove special case
for Inline_Always in GNATprove mode.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined
body for subprograms in GNATprove mode, under debug flag -gnatdQ.
* sem_prag.adb Minor change in comments.
* sem_res.adb (Resolve_Call): Only perform GNATprove inlining
inside subprograms marked as SPARK_Mode On.
* sinfo.ads: Minor typo fix.
From-SVN: r213205
Arnaud Charlet [Tue, 29 Jul 2014 14:53:10 +0000 (16:53 +0200)]
[multiple changes]
2014-07-29 Vincent Celier <celier@adacore.com>
* frontend.adb: Add dependency on gnat.adc when taken into account
and on non-temporary configuration pragmas files specified in
switches -gnatec.
* prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add
dependencies on configuration pragmas files.
2014-07-29 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Minor clarification to the explanation for the
GNATtest -v switch.
From-SVN: r213204
Robert Dewar [Tue, 29 Jul 2014 14:51:48 +0000 (14:51 +0000)]
types.ads (Mechanism_Type): Change range back to -18 ..
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with
documentation that explains the need for this extended range
(use by C_Pass_By_Copy).
From-SVN: r213203
Arnaud Charlet [Tue, 29 Jul 2014 14:49:46 +0000 (16:49 +0200)]
Remove duplicate entry.
From-SVN: r213202
Arnaud Charlet [Tue, 29 Jul 2014 14:46:27 +0000 (16:46 +0200)]
[multiple changes]
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, sem_prag.adb: Minor reformatting.
2014-07-29 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
complexity metrics.
2014-07-29 Thomas Quinot <quinot@adacore.com>
PR ada/60652
* s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
CRTSCTS to be visible.
2014-07-29 Bob Duff <duff@adacore.com>
* g-trasym.adb, g-trasym.ads: Code cleanup.
From-SVN: r213201
Doug Rupp [Tue, 29 Jul 2014 14:36:25 +0000 (14:36 +0000)]
sigtramp-vxworks.c: Minor reformatting.
2014-07-29 Doug Rupp <rupp@adacore.com>
* sigtramp-vxworks.c: Minor reformatting.
From-SVN: r213200
Arnaud Charlet [Tue, 29 Jul 2014 14:12:27 +0000 (16:12 +0200)]
[multiple changes]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi: No doc needed for
Ada2012 aspect
Implicit_dereference.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Attribute_12): New array
(Analyze_Attribute): Check impl-defined Ada 2012 attributes.
(Check_Ada_2012_Attribute): Removed.
2014-07-29 Doug Rupp <rupp@adacore.com>
* init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM,
PPC, and e500.
* sigtramp-vxworks.c: New file.
* sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files.
From-SVN: r213199
Ed Schonberg [Tue, 29 Jul 2014 14:09:38 +0000 (14:09 +0000)]
lib-xref.adb (Output_Refs, [...]): For a derived array type...
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Output_Refs, Check_Type_Reference): For a
derived array type, add information about component type, which
was previously missing in ali file.
* gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free.
From-SVN: r213198