1135 lines
43 KiB
Plaintext
1135 lines
43 KiB
Plaintext
2016-04-18 Michael Matz <matz@suse.de>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
|
||
(gnat_to_gnu_field): Ditto.
|
||
(components_to_record): Ditto.
|
||
(create_variant_part_from): Ditto.
|
||
(copy_and_substitute_in_size): Ditto.
|
||
(substitute_in_type): Ditto.
|
||
* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
|
||
(make_packable_type): Ditto.
|
||
(maybe_pad_type): Ditto.
|
||
(finish_fat_pointer_type): Ditto.
|
||
(finish_record_type): Ditto and use SET_DECL_ALIGN.
|
||
(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
|
||
(create_field_decl): Use SET_DECL_ALIGN.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* einfo.adb (Overridden_Operation): assert that
|
||
function is called for valid arguments.
|
||
* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
|
||
s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
|
||
sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
|
||
sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
|
||
s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
|
||
No space after closing parenthesis except where required for
|
||
layout.
|
||
* sem_res.adb: Minor reformatting.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
|
||
statement when relevant.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* a-cuprqu.adb (Enqueue): Properly handle the
|
||
case where the new element has a unique priority.
|
||
|
||
2016-04-18 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.h: Define stat structures and functions for iOS
|
||
simulator.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entry_Call): reset
|
||
Is_Overloaded flag after resolving calls to overloaded protected
|
||
operations.
|
||
* exp_spark.adb (Expand_SPARK): call
|
||
Qualify_Entity_Names for tasking nodes, i.e. protected types,
|
||
task types and entries.
|
||
* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
|
||
in case of an unconstrained type.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
|
||
comment to document usage of subprogram in GNATprove.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
|
||
message for wrong placement of aspect Test_Case.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.ads: Update the documentation of attribute Renamed_Object.
|
||
* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
|
||
in the case of AAMP (same as for use of the -gnatd.P switch) to
|
||
suppress this optimization, which avoids creating a dependence
|
||
on the 64-bit arithmetic package.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb: Update comment.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Make sure instantiations are
|
||
registered only once as pending here.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
|
||
(Minimize_Expression_With_Actions): New flag.
|
||
(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
|
||
when generating C.
|
||
(Resolve_Short_Circuit): Redo previous change
|
||
using Minimize_Expression_With_Actions.
|
||
(Expand_N_If_Expression,
|
||
Expand_Short_Circuit_Operator): Restore old code to avoid
|
||
Expression_With_Actions when Minimize_Expression_With_Actions
|
||
is set.
|
||
|
||
2016-04-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
|
||
Stderr_File): Close local file descriptors when no longer needed.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
|
||
mode check that the type of the cursor in an iteration over
|
||
a formal container is not volatile. The proper check on the
|
||
element type is done elsewhere.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): Do not set a delay freeze on
|
||
a subprogram that returns a class-wide type, if the subprogram
|
||
is a compilation unit, because otherwise gigi will treat the
|
||
subprogram as external, leading to link errors.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Short_Circuit): Do not use
|
||
expression-with-actions when generating C.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
|
||
raise node in GNATprove mode.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-fileio.adb: Minor reformatting.
|
||
* sem_prag.adb (Analyze_Input_Item): Add local
|
||
variable Input_OK. Do not consider mappings of generic formal
|
||
parameters to actuals.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
|
||
type, the cursor is declared in the scope of the parent type.
|
||
(Analyze_Parameter_Specification): A qualified expression with an
|
||
iterator type indicates an iteration over a container (explicit
|
||
or implicit).
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
|
||
* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
|
||
* debug.adb: Reserve -gnatd.4 to force generation of C files.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
|
||
division by zero, instead possibly issue a warning.
|
||
* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
|
||
static division by zero, instead add check flag on original
|
||
expression.
|
||
* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
|
||
Only issue error when both SPARK_Mode is On and Warn is False.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Force
|
||
warning instead of error when SPARK_Mode is On, on index out of
|
||
bounds, and set check flag for GNATprove.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
|
||
Update the comment on usage. Reimplemented.
|
||
(Check_Input_States.Check_Constituent_Usage): Update the comment
|
||
on usage. A Proof_In constituent can now refine an Input state
|
||
as long as there is at least one Input constituent present.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
|
||
body id as the sloc of the entity in the generated subprogram
|
||
declaration, to avoid spurious conformance errors when style
|
||
checks are enabled.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
|
||
Refine check on illegal calls to entities within a task body,
|
||
when the entity is declared in an object of the same type. In
|
||
a generic context there might be no explicit dereference but if
|
||
the prefix includes an access type the construct is legal.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
|
||
RE_Default_Priority.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
|
||
if the pragma came from an aspect specification.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
|
||
superfluous conformance check on an inlined body with a previous
|
||
spec, use the fact that the generated declaration does not come
|
||
from source. We must treat the entity as coming from source to
|
||
enable some back-end inlining when pragma appears after the body.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
|
||
exp_intr.adb: Minor reformatting and typo corrections.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Code cleanup.
|
||
|
||
2016-04-18 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting and error message tweaking
|
||
(remove extraneous spaces).
|
||
|
||
2016-04-18 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
|
||
exists, and it's a fifo, we use "w" as the open string instead of
|
||
"r+". This is necessary to make a write to the fifo block until
|
||
a reader is ready.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Denote_Same_Function): Account
|
||
for a special case where a primitive of a tagged type inherits
|
||
a class-wide postcondition from a parent type.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
|
||
(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
|
||
of reserved words is OK.
|
||
(Scan_Pragma_Argument_Association):
|
||
Add new formal Reserved_Words_OK and update the comment on
|
||
usage. Code cleanup. Parse an expression or a reserved word in
|
||
identifier form for pragmas Restriction_Warnings and Restrictions
|
||
No_Use_Of_Attribute.
|
||
* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
|
||
Reimplemented. (Check_Restriction_No_Use_Of_Pragma): Code cleanup.
|
||
(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
|
||
flag for an aspect.
|
||
(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
|
||
flag for an attribute. (Set_Restriction_No_Use_Of_Entity):
|
||
Update the parameter profile.
|
||
(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
|
||
a pragma.
|
||
* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
|
||
the comment on usage.
|
||
(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
|
||
* sem_attr.adb (Analyze_Attribute): Check restriction
|
||
No_Use_Of_Attribute.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
|
||
restriction No_Use_Of_Attribute before any rewritings have
|
||
taken place.
|
||
* sem_prag.adb (Analyze_Pragma): Check restriction
|
||
No_Use_Of_Pragma before any rewritings have taken place.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Inline_Pragma): The pragma
|
||
argument can be a selected component, which has no Chars field,
|
||
so we need to deal with that case (use the Selector_Name).
|
||
(Check_Inline_Pragma): We need to test Is_List_Member before
|
||
calling In_Same_List, because in case of a library unit, they're
|
||
not in lists, so In_Same_List fails an assertion.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* namet.ads, namet.adb: Add an Append that appends a
|
||
Bounded_String onto a Bounded_String. Probably a little more
|
||
efficient than "Append(X, +Y);". Also minor cleanup.
|
||
(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
|
||
Append_Unqualified_Decoded): Make sure these work with non-empty
|
||
buffers.
|
||
* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
|
||
parameter, defaulting to Global_Name_Buffer.
|
||
* errout.ads, errout.adb (Adjust_Name_Case): Pass a
|
||
Bounded_String parameter, no default.
|
||
* exp_ch11.adb (Expand_N_Raise_Statement): Use local
|
||
Bounded_String instead of Global_Name_Buffer.
|
||
* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
|
||
to Append_Entity_Name, and pass a Bounded_String parameter,
|
||
instead of using globals.
|
||
(Add_Source_Info): Pass a Bounded_String parameter, instead of
|
||
using globals.
|
||
(Expand_Source_Info): Use local instead of globals.
|
||
* stringt.ads, stringt.adb (Append): Add an Append procedure
|
||
for appending a String_Id onto a Bounded_String.
|
||
(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
|
||
terms of Append.
|
||
* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
|
||
Adjust_Name_Case parameter.
|
||
* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
|
||
Set_Casing; that's the default.
|
||
* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
|
||
protected subprograms are entry calls; otherwise it is not possible to
|
||
distinguish them from regular subprogram calls.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch13.adb (Has_Good_Profile): Improvement
|
||
of error message. Now indicates subtype_mark of formal parameter
|
||
rather than the formal's name, plus minor rewording.
|
||
|
||
2016-04-18 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* par-ch4.adb, sem_prag.adb: Minor reformatting.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* sinput.ads, sinput.adb (Build_Location_String): Take a
|
||
parameter instead of using a global variable. The function
|
||
version no longer destroys the Name_Buffer.
|
||
* stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
|
||
parameter, which defaults to the Global_Name_Buffer, so some
|
||
calls can avoid the global.
|
||
* exp_ch11.adb, exp_intr.adb: Use new interfaces above
|
||
to avoid using globals. All but one call to Build_Location_String
|
||
avoids the global. Only one call to String_From_Name_Buffer
|
||
avoids it.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_eval.adb (Choice_Matches): Check the expression
|
||
against the predicate values when the choice denotes a
|
||
subtype with a static predicate.
|
||
(Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
|
||
tests for predicates.
|
||
(Is_OK_Static_Subtype): A subtype with a dynamic predicate
|
||
is not static. (Is_Static_Subtype): A subtype with a dynamic
|
||
predicate is not static.
|
||
* sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
|
||
(Is_Static_Subtype): Update the comment on usage.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Input_Item): Allow
|
||
generic formals to appear as initialization items.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Stream_TSS_Definition,
|
||
Has_Good_Profile): Additional error message to indicate that
|
||
the second parameter of the subprogram must be a first subtype.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
|
||
Use the pragma lookahead that determines whether a subprogram
|
||
is to be inlined, when some level of backend optimization is
|
||
required.
|
||
* sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
|
||
code used to create an instance body when needed for inlining.
|
||
* exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
|
||
call appears within an instantiation that is not a compilation
|
||
unit, add a pending instantiation for the enclosing instance,
|
||
so the backend can inline in turn the calls contained in the
|
||
inlined body.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
|
||
that relates operations of the parent type to the operations of
|
||
the derived type has three distinct sources:
|
||
a) explicit operations of the derived type carry an
|
||
Overridden_Operation that designates the operation in the
|
||
ancestor.
|
||
b) Implicit operations that are inherited by the derived type
|
||
carry an alias that may be an explicit subprogram (in which case
|
||
it may have an Overridden_ Operation indicator) or may also be
|
||
inherited and carry its own alias.
|
||
c) If the parent type is an interface, the operation of the
|
||
derived type does not override, but the interface operation
|
||
indicates the operation that implements it.
|
||
* sem_prag.adb: Minor reformatting.
|
||
* sem_prag.adb (Check_External_Property): Update
|
||
the comment on usage. Reimplement.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Assignment_Statement): In restricted
|
||
profiles such as ZFP, ceiling priority is not available.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_elab.adb (Output_Calls): Use
|
||
Get_Name_String, to clearly indicate that the global Name_Buffer
|
||
is being used. The previous code used Is_Internal_Name, which
|
||
returns a Boolean, but also has a side effect of setting the
|
||
Name_Buffer. Then it called the other Is_Internal_Name, which uses
|
||
the Name_Buffer for its input. And then it called Error_Msg_N,
|
||
again using the Name_Buffer. We haven't eliminated the global
|
||
usage here, but we've made it a bit clearer.
|
||
This also allows us to have a side-effect-free version of
|
||
Is_Internal_Name.
|
||
* namet.ads, namet.adb: Provide a type Bounded_String, along with
|
||
routines that can be used without using global variables. Provide
|
||
Global_Name_Buffer so existing code can continue to use the
|
||
global. Mark the routines that use globals as obsolete. New code
|
||
shouldn't call the obsolete ones, and we should clean up existing
|
||
code from time to time.
|
||
Name_Find_Str is renamed as Name_Find.
|
||
* namet.h: Changed as necessary to interface to the new version
|
||
of Namet.
|
||
* bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
|
||
Name_Find.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
|
||
outside of GNATprove, hence it should not be removed.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refinement_Clause):
|
||
The refinement of an external abstract state can now mention
|
||
non-external constituents.
|
||
(Check_External_Property): Update all SPARK RM references.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_intr.adb: Remove some duplicated code.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
|
||
package spec and body out of SPARK.
|
||
|
||
2016-04-18 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* spark_xrefs.ads: Minor comment update.
|
||
|
||
2016-04-18 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* gnat1drv.adb (Gnat1drv): Force loading of System
|
||
unit for SPARK.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* a-cuprqu.adb: Correction to previous change. If a new node
|
||
is inserted at the front of the queue (because it is higher
|
||
priority than the previous front node), we need to update
|
||
Header.Next_Unequal -- not just in the case where the queue was
|
||
previously empty.
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* a-cuprqu.ads: Change the representation of List_Type from a
|
||
singly-linked list to a doubly-linked list. In addition, add a
|
||
pointer Next_Unequal, which points past a possibly-long chain
|
||
of equal-priority items. This increases efficiency, especially
|
||
in the case of many equal-priority items.
|
||
* a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
|
||
advantage of new data structure.
|
||
(Finalize): Rewrite in terms of Dequeue, for simplicity.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* contracts.adb (Analyze_Object_Contract,
|
||
Analyze_Protected_Contract): Remove tests performed in GNATprove.
|
||
* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
|
||
Remove query for tests performed in GNATprove.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): If
|
||
Warn_On_Redundant_Constructs is enabled, report a redundant box
|
||
association that does not cover any components, as it done for
|
||
redundant others associations in case statements.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
|
||
Analyze the generated Check pragma for an inherited condition so
|
||
that it does not freeze the dispatching type of the primitive
|
||
operation, because it is pre-analyzed at the point of the
|
||
subprogram declaration (and not in the subprogram body, as is
|
||
done during regular expansion).
|
||
|
||
2016-04-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* ali.ads: Increase the range of all _Id types to 100 millions.
|
||
|
||
2016-04-18 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_warn.adb (Check_References): Change warning to suggest
|
||
using pragma Export rather than saying "volatile has no effect".
|
||
|
||
2016-04-18 Bob Duff <duff@adacore.com>
|
||
|
||
* g-souinf.ads (Compilation_ISO_Date): New function to return
|
||
the current date in ISO form.
|
||
* exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
|
||
a call to Compilation_ISO_Date into a string literal containing
|
||
the current date in ISO form.
|
||
* exp_intr.ads (Add_Source_Info): Improve documentation.
|
||
* sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
|
||
Compilation_ISO_Date.
|
||
* snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* layout.adb (Set_Elem_Alignment): Extend setting of alignment
|
||
to subtypes that are not first subtypes.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
|
||
Simplify interface.
|
||
* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
|
||
generated pragmas after subprogram declaration, rather than in
|
||
the corresponding subprogram body.
|
||
* sem_ch6.adb (New_Overloaded_Entity): In GNATProve
|
||
mode, if the operation is overridding, call
|
||
Collect_Inherited_Class_Wide_Conditions to generate the
|
||
corresponding pragmas immediately after the corresponding
|
||
subprogram declaration.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
|
||
type to natural numbers.
|
||
(Stype): document code characters for concurrent entities.
|
||
|
||
2016-04-18 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* targparm.ads: Update the Frontend_Exceptions default internal
|
||
value.
|
||
(Frontend_Exceptions_On_Target): Change default value to True.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): Refine error
|
||
detection when a selected component in the body of a synchronized
|
||
type is a reference to an object of the same type declared
|
||
elsewhere. The construct is legal if the prefix of the selected
|
||
component includes an explicit dereference at any point.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Do not consider
|
||
internally generated expressions when trying to determine whether
|
||
a formal parameter of a tagged type subject to Extensions_Visible
|
||
False is used to initialize an object.
|
||
* sem_ch4.adb (Analyze_Type_Conversion): Do not consider
|
||
internally generated expressions when trying to determine whether
|
||
a formal parameter of a tagged type subject to Extensions_Visible
|
||
False is used in a type conversion.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Is_Protected_Operation_Call):
|
||
Add guards to account for a non-decorated selected component.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
|
||
implementation of Body_Has_SPARK_Mode_On.
|
||
* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
|
||
New function replacing previous Get_SPARK_Mode_From_Pragma, that
|
||
deals also with aspects.
|
||
(Get_SPARK_Mode_Type): Make function internal again.
|
||
* inline.adb, sem_ch7.adb, sem_util.adb: Use new
|
||
Get_SPARK_Mode_From_Annotation.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* contracts.adb (Analyze_Object_Contract): Update references to
|
||
SPARK RM.
|
||
* freeze.adb (Freeze_Entity): Update references to SPARK RM.
|
||
* ghost.adb Add with and use clauses for Sem_Disp.
|
||
(Check_Ghost_Derivation): Removed.
|
||
(Check_Ghost_Overriding):
|
||
Reimplemented. (Check_Ghost_Policy): Update references to SPARK RM.
|
||
(Check_Ghost_Primitive): New routine.
|
||
(Check_Ghost_Refinement): New routine. (Is_OK_Ghost_Context):
|
||
Update references to SPARK RM. (Is_OK_Pragma): Update references
|
||
to SPARK RM. Predicates are now a valid context for references
|
||
to Ghost entities.
|
||
* ghost.ads (Check_Ghost_Derivation): Removed.
|
||
(Check_Ghost_Overriding): Update the comment on usage.
|
||
(Check_Ghost_Primitive): New routine.
|
||
(Check_Ghost_Refinement): New routine.
|
||
(Remove_Ignored_Ghost_Code): Update references to SPARK RM.
|
||
* sem_ch3.adb (Process_Full_View): Remove the now obsolete check
|
||
related to Ghost derivations
|
||
* sem_ch6.adb (Check_Conformance): Remove now obsolete check
|
||
related to the convention-like behavior of pragma Ghost.
|
||
(Check_For_Primitive_Subprogram): Verify that the Ghost policy
|
||
of a tagged type and its primitive agree.
|
||
* sem_prag.adb (Analyze_Pragma): Update references to SPARK
|
||
RM. Move the verification of pragma Assertion_Policy Ghost
|
||
to the proper place. Remove the now obsolete check related
|
||
to Ghost derivations.
|
||
(Collect_Constituent): Add a call to Check_Ghost_Refinement.
|
||
* sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* layout.adb: Fix more minor typos in comments.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
|
||
mode, collect inherited class-wide conditions to generate the
|
||
corresponding pragmas.
|
||
* sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
|
||
* contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
|
||
procedure for overriding subprograms, used to generate the pragmas
|
||
corresponding to an inherited class- wide pre- or postcondition.
|
||
* sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
|
||
from contracts.adb (Replace_Condition_Entities): Subsidiary
|
||
Build_Pragma_Check_Equivalent, to implement the proper semantics
|
||
of inherited class-wide conditions, as given in AI12-0113.
|
||
(Process_Class_Wide_Condition): Removed.
|
||
(Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
|
||
in contract of subprogram, to collect inherited class-wide
|
||
conditions.
|
||
(Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
|
||
* a-calend.ads (Ada.Calendar): Mark package spec as
|
||
SPARK_Mode and add synchronous external abstract state Clock_Time.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): Prevent inlining of
|
||
calls inside expression functions. Factor previous code issuing
|
||
errors to call Cannot_Inline instead, which does appropriate
|
||
processing of message for GNATprove.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
|
||
osint-b.adb: Cleanups.
|
||
|
||
2016-04-18 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
|
||
body to inline in GNATprove mode when SPARK_Mode On applies to
|
||
subprogram body.
|
||
* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
|
||
public.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* layout.adb: Fix minor typo in comment.
|
||
* inline.adb: Fix minor pasto.
|
||
* sem_ch12.ads: Fix minor typos in comments.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Call): Major rewriting to
|
||
handle some complex cases of tag indeterminate calls that are
|
||
actuals in other dispatching calls that are themselves tag
|
||
indeterminate.
|
||
(Check_Dispatching_Context): Add parameter to support recursive
|
||
check for an enclosing construct that may provide a tag for a
|
||
tag-indeterminate call.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part):
|
||
Add global variables Task_Input_Seen and Task_Output_Seen.
|
||
(Analyze_Global_Item): Detect an illegal use of the current
|
||
instance of a single protected/task type in a global annotation.
|
||
(Analyze_Input_Output): Inputs and output related to the current
|
||
instance of a task unit are now tracked.
|
||
(Check_Usage): Require
|
||
the presence of the current instance of a task unit only when
|
||
one input/output is available. (Current_Task_Instance_Seen):
|
||
New routine.
|
||
(Is_CCT_Instance): New parameter profile. Update
|
||
the comment on usage. The routine now properly recognizes several
|
||
cases related to single protected/task types.
|
||
|
||
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Use New_Freeze_Node
|
||
to create a brand new freeze node. This handles a case where an
|
||
ignored Ghost context is freezing something which is not ignored
|
||
Ghost and whose freeze node should not be removed from the tree.
|
||
(New_Freeze_Node): New routine.
|
||
|
||
2016-04-18 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* sigtramp.h (__gnat_set_is_vxsim) New function to
|
||
tell sigtramp-vxworks to handle vxsim signal contexts. *
|
||
sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
|
||
differences in the sigcontext structure between the expected
|
||
regular x86 or x86_64 ones and the ones received in case of
|
||
exexution on the vxworks simulator.
|
||
* init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
|
||
this information to sigtramp-vxworks.c. Remove the old mechanism for
|
||
vxsim.
|
||
* init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch3.adb (Inline_Init_Proc): New function returning
|
||
whether the initialization procedure of a type should be
|
||
inlined. Return again True for controlled type themselves.
|
||
(Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
|
||
(Build_Record_Init_Proc): Likewise.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 7.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
|
||
on the entity of a subprogram declaration that is completed by
|
||
an expression function.
|
||
|
||
2016-04-18 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Current_Instance): A entity given by a subtype
|
||
declaration can appear in an aspect specification for a dynamic
|
||
predicate, and a pragma for aspect Predicate_Failure.
|
||
* exp_util.adb (Replace_Subtype_References): Replace current
|
||
occurrences of the subtype to which a dynamic predicate applies,
|
||
byt the expression that triggers a predicate check. Needed to
|
||
implement new aspect Predicate_Failure.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-intsig.ads, a-intsig.adb: Removed, no longer used.
|
||
* Makefile.rtl: update accordingly.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_type.adb (Disambiguate): Call Covers only when necessary
|
||
for standard operators.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* atree.ads (Num_Extension_Nodes): Add couple of figures
|
||
to comment.
|
||
* atree.adb: Add GNAT.Heap_Sort_G dependency.
|
||
(Print_Statistics): New exported procedure to print statistics.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
|
||
as to be inlined if the type needs finalization.
|
||
|
||
2016-04-18 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
|
||
alignment for x86_64.
|
||
* init.c: Better fix for guard page reset on x86_64-vx7.
|
||
Do not try to retrieve the page that actually raised
|
||
the signal as the probing mechanism used on x86_64 do not allow
|
||
such retrieval. We thus just test if the guard page is active,
|
||
and re-activate it if not.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
|
||
added.
|
||
|
||
2016-04-18 Jerome Lambourg <lambourg@adacore.com>
|
||
|
||
* affinity.c: Use the proper type for task id.
|
||
* init.c (__gnat_inum_to_ivec): ivec is a pointer.
|
||
|
||
2016-04-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Relax rule on exporting
|
||
Intrinsic types if Relaxed_RM_Semantics is True.
|
||
|
||
2016-04-18 Vincent Celier <celier@adacore.com>
|
||
|
||
* sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
|
||
checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
|
||
sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
|
||
sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
|
||
exp_ch3.ads, exp_unst.adb: Change "descendent" to
|
||
"descendant" in comments, error messages and identifiers.
|
||
* gcc-interface/decl.c: Ditto.
|
||
|
||
2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_type.adb (Operator_Matches_Spec): Call First_Formal on
|
||
New_S only once at the beginning of the function.
|
||
|
||
2016-04-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Restrict the previous
|
||
change to fields with variable size.
|
||
|
||
2016-03-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Add special case for
|
||
single field with representation clause at offset 0.
|
||
|
||
2016-03-16 Svante Signell <svante.signell@gmail.com>
|
||
|
||
* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
|
||
* s-osinte-gnu.ads: New file.
|
||
|
||
2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
|
||
(Stack_Check_Limits): Set to False.
|
||
* system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
|
||
(Stack_Check_Limits): Set to False.
|
||
* system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
|
||
(Stack_Check_Limits): Set to False.
|
||
* system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
|
||
(Stack_Check_Limits): Set to False.
|
||
* system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
|
||
(Stack_Check_Limits): Set to False.
|
||
|
||
2016-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (statement_node_p): New predicate.
|
||
(gnat_to_gnu): Invoke it to detect statement nodes. In ASIS mode, do
|
||
not return dummy results for expressions attached to packed array
|
||
implementation types.
|
||
|
||
2016-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
|
||
the expression of a renaming manually in case #3.
|
||
|
||
2016-03-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* system-linux-s390.ads: Enable Stack_Check_Probes.
|
||
* system-linux-s390.ads: Likewise.
|
||
|
||
2016-02-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
|
||
Replace ENABLE_CHECKING macro with flag_checking.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
|
||
handling of unconstrained array types as designated types into common
|
||
processing. Also handle array types as incomplete designated types.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
|
||
ASIS mode, fully lay out the minimal record type.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
|
||
(build_return_expr): Likewise.
|
||
(Call_to_gnu): If this is a function call and there is no target,
|
||
create a temporary for the return value for all aggregate types,
|
||
but never create it for a return statement. Push a binding level
|
||
around the call in more cases. Remove obsolete code.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
|
||
* gcc-interface/gigi.h (gigi): Remove useless attribute.
|
||
(gnat_gimplify_expr): Likewise.
|
||
(gnat_to_gnu_external): Declare.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
|
||
code dealing with the expression of external constants into...
|
||
Invoke gnat_to_gnu_external instead.
|
||
<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
|
||
when not for a definition. Deal with COMPOUND_EXPR and variables with
|
||
DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
|
||
'reference to a function call in a renaming. Remove obsolete test and
|
||
adjust associated comment.
|
||
* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
|
||
temporaries created to hold the return value, if any.
|
||
(gnat_to_gnu_external): ...this. New function.
|
||
* gcc-interface/utils.c (create_var_decl): Detect a constant created
|
||
to hold 'reference to function call.
|
||
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
|
||
for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
|
||
|
||
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
|
||
the prefix denotes an entity which Has_Atomic_Components.
|
||
* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
|
||
denotes an entity which Has_Atomic_Components.
|
||
|
||
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
|
||
for fat pointer or scalar types.
|
||
|
||
2016-02-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (maybe_debug_type): New inline function.
|
||
* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
|
||
Call maybe_character_value on the array bounds. Get to the base type
|
||
of the index type and call maybe_debug_type on it.
|
||
* gcc-interface/utils.c (finish_character_type): Add special treatment
|
||
for char_type_node.
|
||
|
||
2016-02-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
|
||
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* prj-tree.ads: Spelling fixes - behaviour -> behavior and
|
||
neighbour -> neighbor.
|
||
* prep.adb: Likewise.
|
||
* prj.ads: Likewise.
|
||
* prepcomp.adb: Likewise.
|
||
* g-socket.ads: Likewise.
|
||
* s-imgrea.adb: Likewise.
|
||
* a-calend.adb: Likewise.
|
||
* exp_disp.adb: Likewise.
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
|
||
* g-socket.adb: Likewise.
|
||
* sem_ch12.adb: Likewise.
|
||
* terminals.c: Likewise.
|
||
|
||
2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init): Remove second argument in call to
|
||
build_common_tree_nodes.
|
||
|
||
2016-02-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
|
||
DECL_IGNORED_P last.
|
||
|
||
2016-01-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (enum attr_type): Rename into...
|
||
(enum attrib_type): ...this.
|
||
(struct attrib): Adjust.
|
||
* gcc-interface/decl.c (prepend_one_attribute): Likewise.
|
||
|
||
2016-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch2.adb (Expand_Current_Value): Make an appropriate character
|
||
literal if the entity is of a character type.
|
||
* gcc-interface/lang.opt (fsigned-char): New option.
|
||
* gcc-interface/misc.c (gnat_handle_option): Accept it.
|
||
(gnat_init): Adjust comment.
|
||
* gcc-interface/gigi.h (finish_character_type): New prototype.
|
||
(maybe_character_type): New inline function.
|
||
(maybe_character_value): Likewise.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
|
||
a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
|
||
Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
|
||
<E_Enumeration_Subtype>: For a subtype of character with RM_Size and
|
||
Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
|
||
Copy TYPE_STRING_FLAG from type to subtype.
|
||
<E_Array_Type>: Deal with character index types.
|
||
<E_Array_Subtype>: Likewise.
|
||
* gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
|
||
char_type_node throughout.
|
||
(build_raise_check): Likewise.
|
||
(get_type_length): Deal with character types.
|
||
(Attribute_to_gnu) <Attr_Pos>: Likewise. Remove obsolete range check
|
||
code. Minor tweak.
|
||
<Attr_Pred>: Likewise.
|
||
(Loop_Statement_to_gnu): Likewise.
|
||
(Raise_Error_to_gnu): Likewise.
|
||
<N_Indexed_Component>: Deal with character index types. Remove
|
||
obsolete code.
|
||
<N_Slice>: Likewise.
|
||
<N_Type_Conversion>: Deal with character types. Minor tweak.
|
||
<N_Unchecked_Type_Conversion>: Likewise.
|
||
<N_In>: Likewise.
|
||
<N_Op_Eq>: Likewise.
|
||
(emit_index_check): Delete.
|
||
* gcc-interface/utils.c (finish_character_type): New function.
|
||
(gnat_signed_or_unsigned_type_for): Deal with built-in character types.
|
||
* gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
|
||
with char_type_node.
|
||
(build_call_raise): Likewise.
|
||
(build_call_raise_column): Likewise.
|
||
(build_call_raise_range): Likewise.
|
||
|
||
2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
|
||
(build_call_raise_range): Likewise.
|
||
(gnat_unsigned_type): Delete.
|
||
(gnat_signed_type): Likewise.
|
||
(gnat_signed_or_unsigned_type_for): New prototype.
|
||
(gnat_unsigned_type_for): New inline function.
|
||
(gnat_signed_type_for): Likewise.
|
||
* gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
|
||
(gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
|
||
and compute their base type from that.
|
||
<E_Array_Subtype>: Remove duplicate declaration.
|
||
* gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
|
||
* gcc-interface/trans.c (get_type_length): Likewise.
|
||
(Attribute_to_gnu): Likewise.
|
||
(Loop_Statement_to_gnu): Likewise.
|
||
(Call_to_gnu): Likewise.
|
||
(gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
|
||
and gnat_signed_type_for. Minor tweaks.
|
||
(build_binary_op_trapv): Likewise.
|
||
(emit_check): Likewise.
|
||
(convert_with_check): Likewise.
|
||
(Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
|
||
functions. Minor tweaks.
|
||
(Case_Statement_to_gnu): Remove dead code.
|
||
(gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
|
||
(init_code_table): Minor reordering.
|
||
* gcc-interface/utils.c (gnat_unsigned_type): Delete.
|
||
(gnat_signed_type): Likewise.
|
||
(gnat_signed_or_unsigned_type_for): New function.
|
||
(unchecked_convert): Use directly the size in the test for precision
|
||
vs size adjustments.
|
||
(install_builtin_elementary_types): Call gnat_signed_type_for.
|
||
* gcc-interface/utils2.c (nonbinary_modular_operation): Call
|
||
build_int_cst.
|
||
(build_goto_raise): New function taken from...
|
||
(build_call_raise): ...here. Call it.
|
||
(build_call_raise_column): Add KIND parameter and call it.
|
||
(build_call_raise_range): Likewise.
|
||
|
||
2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
|
||
(TYPE_IMPL_PACKED_ARRAY_P): ...this.
|
||
(TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
|
||
and tweak gnat_encodings tests throughout.
|
||
(initial_value_needs_conversion): Likewise.
|
||
(intrin_arglists_compatible_p): Likewise.
|
||
* gcc-interface/misc.c (gnat_print_type): Likewise.
|
||
(gnat_get_debug_type): Likewise.
|
||
(gnat_get_fixed_point_type_info): Likewise.
|
||
(gnat_get_array_descr_info): Likewise.
|
||
(get_array_bit_stride): Likewise.
|
||
(gnat_get_type_bias): Fix formatting.
|
||
(enumerate_modes): Likewise.
|
||
* gcc-interface/trans.c (gnat_to_gnu): Likewise.
|
||
(add_decl_expr): Simplify NULL_TREE test.
|
||
(end_stmt_group): Likewise.
|
||
(build_binary_op_trapv): Fix formatting.
|
||
(get_exception_label): Use switch statement.
|
||
(init_code_table): Move around.
|
||
* gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
|
||
(gnat_poplevel): Likewise.
|
||
(gnat_set_type_context): Likewise.
|
||
(defer_or_set_type_context): Fix formatting.
|
||
(gnat_pushdecl): Simplify NULL_TREE test.
|
||
(maybe_pad_type): Likewise.
|
||
(add_parallel_type): Likewise.
|
||
(create_range_type): Likewise.
|
||
(process_deferred_decl_context): Likewise.
|
||
(convert): Likewise.
|
||
(def_builtin_1): Likewise.
|
||
* gcc-interface/utils2.c (find_common_type): Likewise.
|
||
(build_binary_op): Likewise.
|
||
(gnat_rewrite_reference): Likewise.
|
||
(get_inner_constant_reference): Likewise.
|
||
|
||
2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/69219
|
||
* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
|
||
the parent function instead of the current function in order to issue
|
||
the warning or the error. Add guard for ignored functions.
|
||
|
||
2016-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
|
||
|
||
2016-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* adaint.c (__gnat_locate_exec_on_path): Use const char * instead
|
||
of char * for path_val to avoid warnings.
|
||
|
||
2016-01-06 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* gcc-interface/utils.c: Bump copyright year.
|
||
(rest_of_record_type_compilation): Add XVE/XVU parallel types to
|
||
the current lexical scope.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gnat_ugn.texi: Bump @copying's copyright year.
|
||
* gnat_rm.texi: Likewise.
|
||
|
||
2016-01-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads: Bump copyright year.
|
||
|
||
|
||
Copyright (C) 2016 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|