2014-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/61632
* io/format.c (format_error): Avoid invalid string pointer by
using the fortran string length values to generate error string.
(parse_format): Allocate the null terminator for the format
string.
From-SVN: r212875
This variable is unused apparently as a result of local changes.
gccgo accepts this variable declaration, but other frontends may not.
From-SVN: r212873
PR libstdc++/61835
* python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
raw string.
(SingleObjContainerPrinter): Check if type printers are in use.
From-SVN: r212822
2014-07-18 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb: Minor reformatting.
2014-07-18 Claire Dross <dross@adacore.com>
* sem_aux.ads (Get_Binary_Nkind): New function that returns
the Node_Kind value of an entity defining a binary operator.
(Get_Unary_Nkind): New function that returns the Node_Kind value
of an entity defining a unary operator.
2014-07-18 Pascal Obry <obry@adacore.com>
* sysdep.c: comment update.
* adaint.c (__gnat_fputwc): Use wchar_t on a limited set of
platforms where it is known to be supported.
2014-07-18 Thomas Quinot <quinot@adacore.com>
* sem_dist.adb (Process_Remote_AST_Declaration): Need
to set Fat_Type's Ekind in order to be able to use its
Corresponding_Remote_Type attribute.
From-SVN: r212815
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Last_Aggregate_Assignment is now Node 30.
(Last_Aggregate_Assignment): Include
constants in the assertion. Update the underlying node.
(Set_Last_Aggregate_Assignment): Include constants in the
assertion. Update the underlying node. (Write_Field11_Name):
Remove the entry for Last_Aggregate_Assignment.
(Write_Field30_Name): Add an entry for Last_Aggregate_Assignment.
* einfo.ads Update the node designation and usage of attribute
Last_Aggregate_Assignment.
* exp_aggr.adb (Expand_Array_Aggregate): Store the last
assignment statement used to initialize a controlled object.
(Late_Expansion): Store the last assignment statement used to
initialize a controlled record or an array of controlled objects.
* exp_ch3.adb (Expand_N_Object_Declaration): Default
initialization of objects is now performed in a separate routine.
(Default_Initialize_Object): New routine.
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Add formal parameter
Obj_Id. Update the comment on usage.
(Find_Last_Init): Remove formal parameter Typ. Update comment on usage.
Reimplement the logic. (Find_Last_Init_In_Block): New routine.
(Is_Init_Call): Add formal parameter Init_Typ. Update the
comment on usage. Account for the type init proc when trying
to determine whether a statement is an initialization call.
(Make_Adjust_Call): Rename formal parameter For_Parent to
Skip_Self. Update all occurrences of For_Parent. Account for
non-tagged types. Update the call to Make_Call.
(Make_Call): Rename formal parameter For_Parent to Skip_Self. Update
comment on usage. Update all occurrences of For_Parent.
(Make_Final_Call): Rename formal parameter For_Parent to
Skip_Self. Update all occurrences of For_Parent. Account
for non-tagged types. Update the call to Make_Call.
(Process_Object_Declaration): Most variables and constants are
now local to the routine.
* exp_ch7.ads (Make_Adjust_Call): Rename formal parameter
For_Parent to Skip_Self. Update the comment on usage.
(Make_Final_Call): Rename formal parameter For_Parent to
Skip_Self. Update the comment on usage.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Analyze_Requeue): The entry being referenced
can be a procedure that is implemented by entry, and have a
formal that is a synchronized interface. It does not have to
be declared as a protected operation.
From-SVN: r212814
2014-07-18 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Remove mention of obsolete attributes
Max[_Interrupt]_Priority, which have never been implemented
(or at the very least were removed long ago if they ever were
implemented. Add documentation of Max[_Interrupt]_Priority
constants in package System.
* ttypes.ads: Document actual handling of package System,
rather than a historical fantasy version. Remove mention of
non-existent attributes Max[_Interrupt]_Priority.
2014-07-18 Pascal Obry <obry@adacore.com>
* a-witeio.adb (Put): No 16-bit character output when text
translation is disabled.
* i-cstrea.ads: Code clean up.
From-SVN: r212813
2014-07-18 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that Wchar_T_Size and Word_Size are
static attributes.
2014-07-18 Arnaud Charlet <charlet@adacore.com>
* a-witeio.adb, initialize.c: Update comments. Minor clean ups.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c: Do not include wchar.h on VxWorks.
* mingw32.h: Remove obsolete definition.
From-SVN: r212812
2014-07-18 Pascal Obry <obry@adacore.com>
* a-textio.adb, a-witeio.adb, a-ztexio.adb: Use C_Streams Default_Text.
* i-cstrea.ads (Content_Encoding): Moved here, add convention C.
* s-ficobl.ads (Content_Encoding): Moved to C_Streams.
* s-fileio.adb (Open): Adjust to use Content_Encoding from C_Streams.
From-SVN: r212811
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* sem_util.adb: Minor typo correction.
2014-07-18 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Complete previous change.
2014-07-18 Pascal Obry <obry@adacore.com>
* s-fileio.adb: Minor style fix.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Detect improper
specification of stream attributes for subtypes that are not
first subtypes, to prevent malformed rep_item chains in the case
of such illegal specifications for discriminated private subtypes.
(Check_Overloaded_Name): Verify that the name is an entity name
before other checks.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_fputwc) Do not disable on cross-build.
From-SVN: r212807
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_attr.adb,
sem_aggr.adb, sinfo.ads, sem_eval.ads: Minor reformatting.
2014-07-18 Pascal Obry <obry@adacore.com>
* sysdep.c (__gnat_wide_text_translation_required): Removed from here.
* initialize.c (__gnat_wide_text_translation_required): Defined here.
2014-07-18 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_fputwc): New routine.
* s-crtl.ads (fputwc): Now imported as __gnat_fputwc.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Flag 270 is now used as Stores_Attribute_Old_Prefix.
(Set_Stores_Attribute_Old_Prefix): New routine.
(Stores_Attribute_Old_Prefix): New routine.
(Write_Entity_Flags):
Output flag Stores_Attribute_Old_Prefix.
* einfo.ads Add new flag Stores_Attribute_Old_Prefix along with
comment on usage.
(Set_Stores_Attribute_Old_Prefix): New routine
along with pragma Inline.
(Stores_Attribute_Old_Prefix): New
routine along with pragma Inline.
* exp_attr.adb (Expand_N_Attribute_Reference): Mark the generated
constant which captures the result of attribute 'Old's prefix.
* sem_util.adb (In_Assertion_Expression_Pragma): Recognize a
relocated expression which acted as a prefix of attribute 'Old.
2014-07-18 Bob Duff <duff@adacore.com>
* s-spsufi.adb (Finalize_And_Deallocate): Set Subpool.Owner to
null before dispatching to Deallocate_Subpool.
* s-stposu.ads (Default_Subpool_For_Pool): Change mode of
parameter of Default_Subpool_For_Pool to 'in out'.
* s-stposu.adb (Set_Pool_Of_Subpool): Use raise expression. Add
a message to the raise.
* sem_util.adb: Minor reformatting.
From-SVN: r212806
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Mark expression as non-static if it fails static predicate check,
and issue additional warning.
2014-07-18 Pascal Obry <obry@adacore.com>
* a-witeio.adb (Put): Control translation based on
wide_text_translation_required.
* adaint.c (CurrentCCSEncoding): New variable.
* initialize.c (__gnat_initialize): On Windows initialize
CurrentCCSEncoding based on values in GNAT_CCS_ENCODING
environment variable.
* mingw32.h (CurrentCCSEncoding): New external.
(__gnat_wide_text_translation_required): Likewise.
* sysdep.c (wide_text_translation_required): New variable.
(__gnat_set_wide_text_mode): Set mode based on CurrentCCSEncoding.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
variable Refined_States. Add global variable Matched_Items.
(Check_Dependency_Clause): Account for dependency
clauses utilizing states with visible null refinements.
(Is_Null_Refined_State): New routine.
(Match_Items): Record each successfully matched item of pragma Depends.
(Record_Item): New routine.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): Set
Do_Range_Check flag on a dynamic index expression used in a
component association in the argument of Update.
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* einfo.ads, sem_eval.ads, sem_ch13.adb: Minor reformatting.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Expand_Simple_Function_Return): Redo the marking
of enclosing blocks, loops and the enclosing function using a
parent-based traversal.
* exp_util.adb (Wrap_Statements_In_Block): Suppress the secondary
stack reclamation if the iterator loop contains a return statement
that uses the stack.
* sem_ch5.adb (Analyze_Loop_Statement): There is no need to
patch up the scope stack as the secondary stack management now
takes into account the enclosing function of the iterator loop.
From-SVN: r212805
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, g-memdum.ads, i-cstrea.ads: Minor reformatting.
2014-07-18 Robert Dewar <dewar@adacore.com>
* einfo.adb (Has_Static_Predicate): New function.
(Set_Has_Static_Predicate): New procedure.
* einfo.ads (Has_Static_Predicate): New flag.
* sem_ch13.adb (Is_Predicate_Static): New function
(Build_Predicate_Functions): Use Is_Predicate_Static to reorganize
(Add_Call): Minor change in Sloc of generated expression
(Add_Predicates): Remove setting of Static_Pred, no longer used.
* sem_ch4.adb (Has_Static_Predicate): Removed this function,
replace by use of the entity flag Has_Static_Predicate_Aspect.
* sem_eval.adb (Eval_Static_Predicate_Check): Check real case
and issue warning that predicate is not checked for now.
* sem_eval.ads (Eval_Static_Predicate_Check): Fix comments in
spec.
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Carry out check for any case where there is a static predicate,
and output appropriate message.
* sinfo.ads: Minor comment corrections.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): If the type is derived
from an untagged private type whose full view is tagged, the type
is marked tagged for layout reasons, but it has no dispatch table,
so Set_All_DT_Position must not be called.
* exp_ch13.adb: If the freeze node is for a type internal to a
record declaration, as is the case for a class-wide subtype
of a parent component, the relevant scope is the scope of the
enclosing record.
From-SVN: r212804
2014-07-18 Thomas Quinot <quinot@adacore.com>
* g-memdum.adb, g-memdum.ads: Code clean ups.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Dependency_Clause):
Update the comment on usage. Reimplement the mechanism which
attempts to match a single clause of Depends against one or
more clauses of Refined_Depends.
(Input_Match): Removed.
(Inputs_Match): Removed.
(Is_Self_Referential): Removed.
(Normalize_Clause): Update the call to Split_Multiple_Outputs.
(Normalize_Outputs): Rename variable Split to New_Claue and update
all its occurrences.
(Report_Extra_Clauses): Update the comment on usage.
(Split_Multiple_Outputs): Renamed to Normalize_Outputs.
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* i-cstrea.ads: Minor reformatting.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Wrap_Statements_In_Block): Propagate both
secondary stack-related flags to the generated block.
* sem_ch5.adb (Analyze_Loop_Statement): Update the scope chain
once the loop is relocated in a block.
From-SVN: r212803
2014-07-18 Robert Dewar <dewar@adacore.com>
* repinfo.ads: Add documentation on handling of back annotation
for dynamic case.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb (Incomplete_View): New semantic attribute
of full type declaration, denotes previous declaration for
incomplete view of the type.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Incomplete_View
of declaration if one is present.
(Replace_Type): When constructing the signature of an inherited
operation, handle properly the case where the operation has a
formal whose type is an incomplete view.
* sem_util.adb (Collect_Primitive_Operations): Handle properly
the case of an operation declared after an incomplete declaration
for a type T and before the full declaration of T.
2014-07-18 Pascal Obry <obry@adacore.com>
* i-cstrea.ads: Add documentation for set_wide_text_mode.
From-SVN: r212802
2014-07-18 Robert Dewar <dewar@adacore.com>
* g-memdum.adb, g-memdum.ads, exp_strm.adb: Minor reformatting.
2014-07-18 Pascal Obry <obry@adacore.com>
* s-crtl.ads, i-cstrea.ads (fputwc): New routine.
* a-witeio.adb (Put): On platforms where there is translation
done by the OS output the raw text.
(New_Line): Use Put above to properly handle the LM wide characters.
From-SVN: r212800
2014-07-18 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Is_Type_Ref): Check that type name is not
parenthesized.
2014-07-18 Vincent Celier <celier@adacore.com>
* s-osinte-vms.ads: Fix style errors.
2014-07-18 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c (_POSIX_SOURCE): Define in order to get
NAME_MAX and PATH_MAX.
2014-07-18 Bob Duff <duff@adacore.com>
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function,
Build_Record_Or_Elementary_Output_Procedure): For Input and
Output attributes, do not read/write the discriminants if they
have default values; that will be done by Read/Write.
From-SVN: r212798