]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[Ada] Minor reformatting
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
40bff3a0 12019-07-04 Hristian Kirtchev <kirtchev@adacore.com>
2
3 * exp_ch3.adb, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb,
4 exp_ch7.adb, exp_ch9.adb, exp_ch11.adb, exp_unst.adb,
5 rtsfind.ads, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
6 sem_ch13.adb, sem_dim.adb, sem_disp.adb, xref_lib.adb: Minor
7 reformatting.
8
0ebaade4 92019-07-04 Joffrey Huguet <huguet@adacore.com>
10
11 * libgnarl/a-taside.ads: Add assertion policy to ignore
12 preconditions.
13 (Abort_Task, Is_Terminated, Is_Callable): Add preconditions.
14
f14a590b 152019-07-04 Eric Botcazou <ebotcazou@adacore.com>
16
17 * doc/gnat_rm/implementation_defined_pragmas.rst: Fix
18 capitalization and parenthesis glitches.
19 * gnat_rm.texi: Regenerate.
20
f5388f99 212019-07-04 Ed Schonberg <schonberg@adacore.com>
22
23 * sem_ch10.adb (Remove_Context_Clauses): Handle properly the
24 removal of a limited_with_clause which appears in the library
25 unit oF the main unit, when some other unit in the context has a
26 regular with_clause on the same unit, to prevent spurious
27 visibility errors in the subsequent analysis of pending instance
28 bodies.
29
c930bc82 302019-07-04 Hristian Kirtchev <kirtchev@adacore.com>
31
32 * sem_elab.adb: Add new type Elaboration_Phase_Status along with
33 a global to keep track of the elaboration phase status.
34 Initialize all internal data structures to Nil for services
35 Elaborated_Units, Internal_Representation, and Scenario_Storage.
36 (Build_Call_Marker): Do not create a call marker when the
37 elaboration phase is not active.
38 (Build_Variable_Reference_Marker): Do not create a call marker
39 when the elaboration phase is not active.
40 (Check_Elaboration_Scenarios): Destroy all internal structures
41 when the elaboration phase does not have to run. Do not execute
42 when the elaboration phase is not active.
43 (Elaboration_Phase_Active): New routine.
44 (Finalize_All_Data_Structures): New routine.
45 (Initialize): Initialize all internal data structures and signal
46 that the elaboration phase has started.
47 (Initialize_All_Data_Structures): New routine.
48 (Initialize_Elaborated_Units): Initialize all internal data
49 structures.
50 (Initialize_Internal_Representation): Initialize all internal
51 data structures.
52 (Initialize_Scenario_Storage): Initialize all internal data
53 structures.
54 (Kill_Elaboration_Scenario): Do not execute when the elaboration
55 phase is not active.
56 (Set_Elaboration_Phase): New routine.
57 (Update_Elaboration_Scenario): Do not execute when the
58 elaboration phase is not active.
59
39dec7f4 602019-07-04 Gary Dismukes <dismukes@adacore.com>
61
62 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The special
63 treatment of calling Mask_Unfrozen_Types must also be done in
64 the case of an Ignored_Ghost_Entity, because Expander_Active is
65 False in that case.
66
92b004be 672019-07-04 Yannick Moy <moy@adacore.com>
68
69 * sem_prag.adb (Check_Library_Level_Entity): Update for new rule
70 on SPARK_Mode.
71
12795e1c 722019-07-04 Justin Squirek <squirek@adacore.com>
73
74 * sem_disp.adb (Check_Controlling_Formals): Obtain the full view
75 before type comparison.
76
63fe3141 772019-07-04 Ed Schonberg <schonberg@adacore.com>
78
79 * exp_ch4.ads, exp_ch4.adb (Build_Eq_Call): New visible
80 subprogram, extracted from Expand_Composite_Equality, to handle
81 properly the composition of equality for variant record types.
82 * exp_ch3.adb (MAke_Eq_If): Use Build_Eq_Call for each
83 component, to handle properly the case of a component with a
84 user-defined equality. Revert to predefined equality if the
85 user-defined operation is abstract, to maintain compatibility
86 with older versions,
87
17fa952a 882019-07-04 Justin Squirek <squirek@adacore.com>
89
90 * exp_ch3.adb (Build_Initialization_Call): Fixup
91 *_skip_null_excluding_check argument to handle new default.
92 (Init_Formals): Make *_skip_null_excluding_check formal default
93 to False
94 * exp_ch4.adb (Expand_N_Allocator): Add comment to note heavy
95 code duplication
96
cf32543d 972019-07-04 Bob Duff <duff@adacore.com>
98
99 * sem_ch3.adb (Access_Definition): Do not create a master unless
100 Tasking_Allowed. Otherwise, this fails on restricted runtimes.
101
eb4dbf20 1022019-07-04 Hristian Kirtchev <kirtchev@adacore.com>
103
104 * sem_util.adb (Propagate_DIC_Attributes): Do not propagate the
105 Default_Initial_Condition attributes to an incomplete type.
106
25ddc6ba 1072019-07-04 Ed Schonberg <schonberg@adacore.com>
108
109 * sem_attr.adb (Check_Array_Type): An array type attribute such
110 as 'First can be applied to an unconstrained array tyope when
111 the attribute reference appears within an aspect specification
112 and the prefix is a current instance, given that the prefix of
113 the attribute will become a formal of the subprogram that
114 implements the aspect (typically a predicate check).
115
74a5962a 1162019-07-04 Piotr Trojanek <trojanek@adacore.com>
117
118 * sem_util.adb (Yields_Synchronized_Object): Fix typos in
119 comments.
120
c65d33a8 1212019-07-04 Yannick Moy <moy@adacore.com>
122
123 * sem_util.adb (Yields_Synchronized_Object): Adapt to new SPARK
124 rule.
125
afd77d39 1262019-07-04 Yannick Moy <moy@adacore.com>
127
128 * sem_spark.adb (Check_Statement): Only check permission of
129 object in extended return when it is of a deep type.
130
2281b807 1312019-07-04 Justin Squirek <squirek@adacore.com>
132
133 * sem_ch12.adb (Perform_Appropriate_Analysis): Added for
134 selecting which type of analysis based on wheither the
135 instantiation is a generic at the library-level. In which case
136 expansion during analysis.
137 (Preanalyze_Actuals): Modify calls to Analyze to use the new
138 routine.
139
542b3e26 1402019-07-04 Ed Schonberg <schonberg@adacore.com>
141
142 * exp_unst.adb: Handle conditional expressions.
143
7754aad4 1442019-07-04 Yannick Moy <moy@adacore.com>
145
146 * sem_spark.adb (Check_Package_Spec, Check_Package_Body): Only
147 analyze parts of the code marked in SPARK.
148
3843c1bd 1492019-07-04 Hristian Kirtchev <kirtchev@adacore.com>
150
151 * erroutc.adb, exp_aggr.adb, inline.adb, opt.adb, sem_ch3.adb:
152 Minor reformatting.
153
5bc0f990 1542019-07-04 Yannick Moy <moy@adacore.com>
155
156 * sem_spark.adb (Explanation, Get_Expl): New functions to get
157 the explanation for a permission mismatch.
158 (Perm_Error, Perm_Mismatch, Perm_Error_Loop_Exit): Take
159 explanation into account for issuing a more precise error
160 message.
161 (Set_Perm_Prefixes, Set_Perm_Extensions,
162 Set_Perm_Extensions_Move): Pass suitable argument for the
163 explanation node.
164
11903e68 1652019-07-04 Arnaud Charlet <charlet@adacore.com>
166
167 * exp_aggr.adb (In_Place_Assign_OK): Moved to top level and add
168 support for record aggregates.
169 (Component_Check): Use Is_CCG_Supported_Aggregate instead of a
170 similar local predicate.
171 (Convert_To_Assignments): Take advantage of In_Place_Assign_OK
172 predicate when possible.
173 (Is_CCG_Supported_Aggregate): Return False for records with
174 representation clauses and fix the logic for dealing with nested
175 aggregates.
176
b0c19ea3 1772019-07-04 Piotr Trojanek <trojanek@adacore.com>
178
179 * opt.adb (Set_Config_Switches): Keep assertions policy as
180 enabled when analysing internal units in GNATprove mode.
181
90f2b146 1822019-07-04 Arnaud Charlet <charlet@adacore.com>
183
184 * exp_ch4.adb (Expand_Short_Circuit_Operator): Strip
185 N_Variable_Reference_Marker when checking for the presence of
186 actions.
187
39ecad34 1882019-07-04 Arnaud Charlet <charlet@adacore.com>
189
190 * exp_aggr.adb (Check_Component): Take into account type
191 conversions.
192
c0e899f1 1932019-07-04 Dmitriy Anisimkov <anisimko@adacore.com>
194
195 * doc/gnat_ugn/platform_specific_information.rst: Document
196 Windows socket timeout particularity.
197 * gnat_ugn.texi: Regenerate.
198 * gsocket.h: Include versionhelpers.h.
199 * socket.c (__gnat_minus_500ms): New function.
200 * libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): New
201 imported function.
202 * libgnat/g-socket.adb (Set_Socket_Option): Refactor to remove
203 500ms from the requested timeout only on old Windows version.
204
363b1a8e 2052019-07-04 Thomas Quinot <quinot@adacore.com>
206
207 * get_scos.adb: Remove bogus, dead code.
208
4ae0a9ce 2092019-07-04 Ed Schonberg <schonberg@adacore.com>
210
211 * sem_dim.adb (Analyze_Dimension_Array_Aggregate): If the
212 component is an entity name, its dimensions are those of its
213 type.
214
d60fa3c9 2152019-07-03 Bob Duff <duff@adacore.com>
216
217 * doc/gnat_ugn/gnat_utility_programs.rst: Document new flags in
218 GNATpp.
219
877ad320 2202019-07-03 Hristian Kirtchev <kirtchev@adacore.com>
221
222 * binde.adb: Remove with clause for System.OS_Lib.
223 (Force_Elab_Order): Refactor the majority of the code in Butil.
224 Use the new forced units iterator to obtain unit names.
225 * bindo-builders.adb: Add with and use clauses for Binderr,
226 Butil, Opt, Output, Types, GNAT, and GNAT.Dynamic_HTables. Add
227 a hash table which maps units to line number in the forced
228 elaboration order file.
229 (Add_Unit): New routine.
230 (Build_Library_Graph): Create forced edges between pairs of
231 units listed in the forced elaboration order file.
232 (Create_Forced_Edge, Create_Forced_Edges, Destroy_Line_Number,
233 Duplicate_Unit_Error, Hash_Unit, Internal_Unit_Info,
234 Is_Duplicate_Unit, Missing_Unit_Info): New routines.
235 * bindo-graphs.adb (Is_Internal_Unit, Is_Predefined_Unit):
236 Refactor some of the behavior to Bindo-Units.
237 * bindo-graphs.ads: Enable the enumeration literal for forced
238 edges.
239 * bindo-units.adb, bindo-units.ads (Is_Internal_Unit,
240 Is_Predefined_Unit): New routines.
241 * butil.adb: Add with and use clauses for Opt, GNAT, and
242 System.OS_Lib. Add with clause for Unchecked_Deallocation.
243 (Has_Next, Iterate_Forced_Units, Next, Parse_Next_Unit_Name,
244 Read_Forced_Elab_Order_File): New routines.
245 * butil.ads: Add with and use clauses for Types. Add new
246 iterator over the units listed in the forced elaboration order
247 file.
248 (Has_Next, Iterate_Forced_Units, Next): New routine.
249 * namet.adb, namet.ads (Present): New routine.
250
01e6eb2f 2512019-07-03 Bob Duff <duff@adacore.com>
252
253 * sem_ch3.adb (Access_Definition): The code was creating a
254 master in the case where the designated type is a class-wide
255 interface type. Create a master in the noninterface case as
256 well. That is, create a master for all limited class-wide types.
257
9ad42832 2582019-07-03 Yannick Moy <moy@adacore.com>
259
260 * erroutc.adb (Sloc_In_Range): New function to determine whether
261 the range of a pragma Warnings covers a location, taking
262 instantiations into account.
263
f2a8d64e 2642019-07-03 Johannes Kanig <kanig@adacore.com>
265
266 * osint.ads, osint.adb (Get_First_Main_File_Name): New routine
267 to access the first file provided on the command line.
268
d4f28933 2692019-07-03 Ed Schonberg <schonberg@adacore.com>
270
271 * inline.adb (Process_Formals_In_Aspects): New procedure within
272 Expand_Inlined_Call, to perform a replacement of references to
273 formals that appear in aspect specifications within the body
274 being inlined.
275
23e7fc9b 2762019-07-03 Justin Squirek <squirek@adacore.com>
277
278 * sem_ch8.adb (Analyze_Object_Renaming): Add call to search for
279 the appropriate actual subtype of the object renaming being
280 analyzed.
281 (Check_Constrained_Object): Minor cleanup.
282
f8e6d133 2832019-07-03 Yannick Moy <moy@adacore.com>
284
285 * sem_spark.adb (Get_Observed_Or_Borrowed_Expr): New function to
286 return go through traversal function call.
287 (Check_Type): Consistently use underlying type.
288 (Get_Perm): Adapt for case of elaboration code where variables
289 are not declared in the environment. Remove incorrect handling
290 of borrow and observe.
291
d044ba5c 2922019-07-03 Hristian Kirtchev <kirtchev@adacore.com>
293
294 * inline.adb (Build_Return_Object_Formal): New routine.
295 (Can_Split_Unconstrained_Function): Code clean up.
296 (Copy_Formals,Copy_Return_Object): New routines.
297 (Split_Unconstrained_Function): Code clean up and refactoring.
298
8699de72 2992019-07-03 Gary Dismukes <dismukes@adacore.com>
300
301 * bindo-augmentors.adb, bindo-augmentors.ads,
302 bindo-builders.ads, bindo-elaborators.adb, sem_ch12.adb,
303 sem_ch13.adb, sem_spark.adb, sinfo.ads: Minor editorial
304 corrections and reformatting.
305
2ccf6539 3062019-07-03 Bob Duff <duff@adacore.com>
307
308 * sem_warn.adb (Check_Infinite_Loop_Warning): Avoid the warning
309 if an Iterator_Specification is present.
310
17b5260d 3112019-07-03 Bob Duff <duff@adacore.com>
312
313 * doc/gnat_ugn/gnat_utility_programs.rst: Document default
314 new-line behavior.
315
5f71d12c 3162019-07-03 Hristian Kirtchev <kirtchev@adacore.com>
317
318 * ali.adb: Add with and use clauses for GNAT,
319 GNAT.Dynamic_HTables, and Snames. Add a map from invocation
320 signature records to invocation signature ids. Add various
321 encodings of invocation-related attributes. Sort and update
322 table Known_ALI_Lines.
323 (Add_Invocation_Construct, Add_Invocation_Relation,
324 Body_Placement_Kind_To_Code, Code_To_Body_Placement_Kind,
325 Code_To_Invocation_Construct_Kind, Code_To_Invocation_Kind,
326 Code_To_Invocation_Graph_Line_Kind, Destroy, Hash): New
327 routines.
328 (Initialize_ALI): Sort the initialization sequence. Add
329 initialization for all invocation-related tables.
330 (Invocation_Construct_Kind_To_Code,
331 Invocation_Graph_Line_Kind_To_Code, Invocation_Kind_To_Code,
332 Invocation_Signature_Of, Present): New routines.
333 (Scan_ALI): Add the default values for invocation-related ids.
334 Scan invocation graph lines.
335 (Scan_Invocation_Graph_Line): New routine.
336 * ali.ads: Add with clause for GNAT.Dynamic_Tables. Add types
337 for invocation constructs, relations, and signatures. Add
338 tables for invocation constructs, relations, and signatures.
339 Update Unit_Record to capture invocation-related ids. Relocate
340 table Unit_Id_Tables and subtypes Unit_Id_Table, Unit_Id_Array
341 from Binde.
342 (Add_Invocation_Construct, Add_Invocation_Relation,
343 Body_Placement_Kind_To_Code, Code_To_Body_Placement_Kind,
344 Code_To_Invocation_Construct_Kind, Code_To_Invocation_Kind,
345 Code_To_Invocation_Graph_Line_Kind,
346 Invocation_Construct_Kind_To_Code,
347 Invocation_Graph_Line_Kind_To_Code, Invocation_Kind_To_Code,
348 Invocation_Signature_Of, Present): New routines.
349 * binde.adb: Add with and use clause for Types. Add use clause
350 for ALI.Unit_Id_Tables;
351 * binde.ads: Relocate table Unit_Id_Tables and subtypes
352 Unit_Id_Table, Unit_Id_Array to ALI.
353 * bindgen.adb: Remove with and use clause for ALI.
354 * bindgen.ads: Remove with and use clause for Binde. Add with
355 and use clause for ALI.
356 * bindo.adb, bindo.ads, bindo-augmentors.adb,
357 bindo-augmentors.ads, bindo-builders.adb, bindo-builders.ads,
358 bindo-diagnostics.adb, bindo-diagnostics.ads,
359 bindo-elaborators.adb, bindo-elaborators.ads, bindo-graphs.adb,
360 bindo-graphs.ads, bindo-units.adb, bindo-units.ads,
361 bindo-validators.adb, bindo-validators.ads, bindo-writers.adb,
362 bindo-writers.ads: New units.
363 * debug.adb: Use and describe GNAT debug switches -gnatd_F and
364 -gnatd_G. Add GNATbind debug switches in the ranges dA .. dZ,
365 d.a .. d.z, d.A .. d.Z, d.1 .. d.9, d_a .. d_z, d_A .. d_Z, and
366 d_1 .. d_9. Use and describe GNATbind debug switches -d_A,
367 -d_I, -d_L, -d_N, -d_O, -d_T, and -d_V.
368 * exp_util.adb, exp_util.ads (Exceptions_OK): Relocate to
369 Sem_Util.
370 * gnatbind.adb: Add with and use clause for Bindo. Use the new
371 Bindo elaboration order only when -d_N is in effect.
372 * lib-writ.adb
373 (Column, Extra, Invoker, Kind, Line, Locations, Name, Placement,
374 Scope, Signature, Target): New routines.
375 (Write_ALI): Output all invocation-related data.
376 (Write_Invocation_Graph): New routine.
377 * lib-writ.ads: Document the invocation graph ALI line.
378 * namet.adb, namet.ads (Present): New routines.
379 * sem_ch8.adb (Find_Direct_Name): Capture the status of
380 elaboration checks and warnings of an identifier.
381 (Find_Expanded_Name): Capture the status of elaboration checks
382 and warnings of an expanded name.
383 * sem_ch12.adb (Analyze_Generic_Package_Declaration): Ensure
384 that invocation graph-related data within the body of the main
385 unit is encoded in the ALI file.
386 (Analyze_Generic_Subprogram_Declaration): Ensure that invocation
387 graph-related data within the body of the main unit is encoded
388 in the ALI file.
389 (Analyze_Package_Instantiation): Perform minimal decoration of
390 the instance entity.
391 (Analyze_Subprogram_Instantiation): Perform minimal decoration
392 of the instance entity.
393 * sem_elab.adb: Perform heavy refactoring of all code. The unit
394 is now split into "services" which specialize in one area of ABE
395 checks. Add processing in order to capture invocation-graph
396 related attributes of the main unit, and encode them in the ALI
397 file. The Processing phase can now operate in multiple modes,
398 all described by type Processing_Kind. Scenarios and targets
399 are now distinct at the higher level, and carry their own
400 representations. This eliminates the need to constantly
401 recompute their attributes, and offers the various processors a
402 uniform interface. The various initial states of the Processing
403 phase are now encoded using type Processing_In_State, and
404 xxx_State constants.
405 * sem_elab.ads: Update the literals of type
406 Enclosing_Level_Kind. Add Inline pragmas on several routines.
407 * sem_prag.adb (Process_Inline): Ensure that invocation
408 graph-related data within the body of the main unit is encoded
409 in the ALI file.
410 * sem_util.adb (Enclosing_Generic_Body, Enclosing_Generic_Unit):
411 Code clean up.
412 (Exceptions_OK): Relocated from Sem_Util.
413 (Mark_Save_Invocation_Graph_Of_Body): New routine.
414 * sem_util.ads (Exceptions_OK): Relocated from Sem_Util.
415 (Mark_Save_Invocation_Graph_Of_Body): New routine.
416 * sinfo.adb (Is_Elaboration_Checks_OK_Node): Now applicable to
417 N_Variable_Reference_Marker.
418 (Is_Elaboration_Warnings_OK_Node): Now applicable to
419 N_Expanded_Name, N_Identifier, N_Variable_Reference_Marker.
420 (Is_Read): Use Flag4.
421 (Is_SPARK_Mode_On_Node): New applicable to
422 N_Variable_Reference_Marker.
423 (Is_Write): Use Flag5.
424 (Save_Invocation_Graph_Of_Body): New routine.
425 (Set_Is_Elaboration_Checks_OK_Node): Now applicable to
426 N_Variable_Reference_Marker.
427 (Set_Is_Elaboration_Warnings_OK_Node): Now applicable to
428 N_Expanded_Name, N_Identifier, N_Variable_Reference_Marker.
429 (Set_Is_SPARK_Mode_On_Node): New applicable to
430 N_Variable_Reference_Marker.
431 (Set_Save_Invocation_Graph_Of_Body): New routine.
432 * sinfo.ads: Update the documentation of attributes
433 Is_Elaboration_Checks_OK_Node, Is_Elaboration_Warnings_OK_Node,
434 Is_SPARK_Mode_On_Node. Update the flag usage of attributes
435 Is_Read, Is_Write. Add attribute Save_Invocation_Graph_Of_Body
436 and update its occurrence in nodes.
437 (Save_Invocation_Graph_Of_Body): New routine along with pragma
438 Inline.
439 (Set_Save_Invocation_Graph_Of_Body): New routine along with
440 pragma Inline.
441 * switch-b.adb (Scan_Binder_Switches): Refactor the scanning of
442 debug switches.
443 (Scan_Debug_Switches): New routine.
444 * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads (Contains): New routine.
445 * libgnat/g-graphs.adb (Associate_Vertices): Update the use of
446 Component_Vertex_Iterator.
447 (Contains_Component, Contains_Edge, Contains_Vertex, Has_Next):
448 Reimplemented.
449 (Iterate_Component_Vertices): New routine.
450 (Iterate_Vertices): Removed.
451 (Next): Update the parameter profile.
452 (Number_Of_Component_Vertices, Number_Of_Outgoing_Edges): New
453 routines.
454 * libgnat/g-graphs.ads: Update the initialization of
455 No_Component. Add type Component_Vertex_Iterator. Remove type
456 Vertex_Iterator.
457 (Has_Next): Add new versions and remove old ones.
458 (Iterate_Component_Vertices): New routine.
459 (Iterate_Vertices): Removed.
460 (Next): Add new versions and remove old ones.
461 (Number_Of_Component_Vertices, Number_Of_Outgoing_Edges): New
462 routines.
463 * libgnat/g-sets.adb (Contains): Reimplemented.
464 * gcc-interface/Make-lang.in (GNATBIND_OBJS): Add
465 GNAT.Dynamic_HTables, GNAT.Graphs and Bindo units.
466 * rtsfind.ads: Remove extra space.
467
df177848 4682019-07-03 Yannick Moy <moy@adacore.com>
469
470 * sem_spark.adb: Add support for locally borrowing and observing
471 a path.
472 (Get_Root_Object): Add parameter Through_Traversal to denote
473 when we are interesting in getting to the traversed parameter.
474 (Is_Prefix_Or_Almost): New function to support detection of
475 illegal access to borrowed or observed paths.
476 (Check_Pragma): Add analysis of assertion pragmas.
477
f3f142ac 4782019-07-03 Ed Schonberg <schonberg@adacore.com>
479
480 * sem_ch13.adb (Build_Predicate_Functions): In a generic context
481 we do not build the bodies of predicate fuctions, but the
482 expression in a static predicate must be elaborated to allow
483 case coverage checking within the generic unit.
484 (Build_Discrete_Static_Predicate): In a generic context, return
485 without building function body once the
486 Static_Discrete_Predicate expression for the type has been
487 constructed.
488
99d90c85 4892019-07-03 Hristian Kirtchev <kirtchev@adacore.com>
490
491 * bindgen.adb, inline.adb, layout.adb, sem_ch12.adb,
492 sem_ch13.adb, sem_ch7.adb, styleg.adb: Minor reformatting.
493
800597f6 4942019-07-03 Bob Duff <duff@adacore.com>
495
496 * par-ch3.adb (P_Defining_Identifier): Call
497 Check_Defining_Identifier_Casing.
498 * style.ads, styleg.ads, styleg.adb
499 (Check_Defining_Identifier_Casing): New procedure to check for
500 mixed-case defining identifiers.
501 * stylesw.ads, stylesw.adb (Style_Check_Mixed_Case_Decls): New
502 flag for checking for mixed-case defining identifiers.
503 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
504 Document new feature.
505 * gnat_ugn.texi: Regenerate.
506
2c75027a 5072019-07-03 Eric Botcazou <ebotcazou@adacore.com>
508
509 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
510 (Warning message control): Document that -gnatw.z/Z apply to
511 array types.
512 * freeze.adb (Freeze_Entity): Give -gnatw.z warning for array
513 types as well, but not if the specified alignment is the minimum
514 one.
515 * gnat_ugn.texi: Regenerate.
516
08237d0d 5172019-07-03 Bob Duff <duff@adacore.com>
518
519 * einfo.ads, exp_util.adb, layout.ads, sinfo.ads: Spell "laid"
520 correctly.
521
0396441f 5222019-07-03 Ed Schonberg <schonberg@adacore.com>
523
524 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): No error
525 message on attribute applied to a renaming when the renamed
526 object is an aggregate (from code reading).
527 (Check_Aspect_At_End_Of_Declarations): In a generic context
528 where freeze nodes are not generated, the original expression
529 for an aspect may need to be analyzed to precent spurious
530 conformance errors when compared with the expression that is
531 anakyzed at the end of the current declarative list.
532
c8406f30 5332019-07-03 Eric Botcazou <ebotcazou@adacore.com>
534
535 * layout.adb (Layout_Type): Do not set the component size of an
536 array with a scalar component if the component type is
537 overaligned.
538
c38b32ea 5392019-07-03 Ed Schonberg <schonberg@adacore.com>
540
541 * inline.adb (Make_Loop_Labels_Unique): New procedure to modify
542 the source code of subprograms that are inlined by the
543 front-end, to prevent accidental duplication between loop labels
544 in the inlined code and the code surrounding the inlined call.
545
6d6f134e 5462019-07-03 Hristian Kirtchev <kirtchev@adacore.com>
547
548 * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update
549 the section on resolving elaboration circularities to eliminate
550 certain combinations of switches which together do not produce
551 the desired effect and confuse users.
552 * gnat_ugn.texi: Regenerate.
553
f3e16ef4 5542019-07-03 Arnaud Charlet <charlet@adacore.com>
555
556 * bindgen.adb (Gen_Main): Disable generation of reference to
557 Ada_Main_Program_Name for CCG.
558 * bindusg.adb (Display): Add -G to the command-line usage for
559 gnatbind.
560 * opt.ads (Generate_C_Code): Update comment.
561 * switch-b.adb (Scan_Binder_Switches): Add handling for -G.
562
f4a31b16 5632019-07-03 Arnaud Charlet <charlet@adacore.com>
564
565 * sem_ch7.adb (Has_Referencer): Do not consider inlined
566 subprograms when generating C code, which allows us to generate
567 static inline subprograms.
568
2f65e9f7 5692019-07-03 Justin Squirek <squirek@adacore.com>
570
571 * sem_ch6.adb (Check_Conformance): Add expression checking for
572 constant modifiers in anonymous access types (in addition to
573 "non-null" types) so that they are considered "matching" for
574 subsequent conformance tests.
575
c336ed70 5762019-07-03 Arnaud Charlet <charlet@adacore.com>
577
578 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
579 Clarify wording on No_Multiple_Elaboration.
580 * gnat_rm.texi: Regenerate.
581
78611c86 5822019-07-03 Ed Schonberg <schonberg@adacore.com>
583
584 * sem_ch8.adb (Find_Selected_Component): If the prefix is the
585 current instance of a type or subtype, complete the resolution
586 of the name by finding the component of the type denoted by the
587 selector name.
588
5a87a4d9 5892019-07-03 Eric Botcazou <ebotcazou@adacore.com>
590
591 * doc/gnat_rm/interfacing_to_other_languages.rst (Interfacing to C):
592 Document that boolean types with convention C now map to C99 bool.
593 * gnat_rm.texi: Regenerate.
594
371c539c 5952019-07-03 Javier Miranda <miranda@adacore.com>
596
597 * exp_attr.adb (Expand_Min_Max_Attribute): Code cleanup:
598 removing code that it is now never executed in the CCG compiler
599 (dead code).
600
89d2d652 6012019-07-02 Iain Sandoe <iain@sandoe.co.uk>
602
603 * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for
604 PPC Darwin.
605
d21e66fb 6062019-07-01 Ed Schonberg <schonberg@adacore.com>
607
608 * sem_ch12.adb (Is_Defaulted): New predicate in
609 Check_Formal_Package_Intance, to skip the conformance of checks
610 on parameters of a formal package that are defaulted,
611
7a42b778 6122019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
613
614 * checks.adb, exp_ch9.adb, exp_unst.adb, sem_ch4.adb,
615 sem_prag.adb, sem_spark.adb: Minor reformatting.
616
fc8ae496 6172019-07-01 Ed Schonberg <schonberg@adacore.com>
618
619 * sem_attr.adb (Analyze_Attribute, case Enum_Rep): Allow prefix
620 of attribute to be an attribute reference of a discrete type.
621
9d27ea41 6222019-07-01 Eric Botcazou <ebotcazou@adacore.com>
623
624 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Move up
625 handling of Has_Pragma_Inline_Always and deal with
626 Has_Pragma_No_Inline.
627
bcb8dcf3 6282019-07-01 Ed Schonberg <schonberg@adacore.com>
629
630 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type is
631 declared as a subtype of a private type with an inherited
632 discriminant constraint, its generated full base appears as a
633 record subtype, so we need to retrieve its oen base type so that
634 the inherited constraint can be applied to it.
635
d087b9ca 6362019-07-01 Yannick Moy <moy@adacore.com>
637
638 * sem_spark.adb: Completely rework the algorithm for ownership
639 checking, as the rules in SPARK RM have changed a lot.
640 * sem_spark.ads: Update comments.
641
fe48ee0a 6422019-07-01 Dmitriy Anisimkov <anisimko@adacore.com>
643
644 * gsocket.h (Has_Sockaddr_Len): Use the offset of sin_family offset in
645 the sockaddr_in structure to determine the existence of length field
646 before the sin_family.
647
b20f7e2c 6482019-07-01 Ed Schonberg <schonberg@adacore.com>
649
650 * sem_prag.adb (Analyze_Pragma, case Weak_External): Pragma only
651 applies to entities with run-time addresses, not to types.
652
374fdf94 6532019-07-01 Piotr Trojanek <trojanek@adacore.com>
654
655 * einfo.adb, sem_ch7.adb, sem_prag.adb, sem_util.adb: Update
656 references to the SPARK RM after the removal of Rule 7.1.4(5).
657
bf13a79d 6582019-07-01 Piotr Trojanek <trojanek@adacore.com>
659
660 * sysdep.c: Cleanup references to LynuxWorks in docs and
661 comments.
662
866fa2d0 6632019-07-01 Ed Schonberg <schonberg@adacore.com>
664
665 * checks.adb (Insert_Valid_Check): Do not apply validity check
666 to variable declared within a protected object that uses the
667 Lock_Free implementation, to prevent unwarranted constant
668 folding, because entities within such an object msut be treated
669 as volatile.
670
bcb5ab83 6712019-07-01 Eric Botcazou <ebotcazou@adacore.com>
672
673 * exp_ch9.adb (Check_Inlining): Deal with Has_Pragma_No_Inline.
674
2db33bd6 6752019-07-01 Ed Schonberg <schonberg@adacore.com>
676
677 * exp_unst.adb (Visit_Node, Check_Static_Type): Improve the
678 handling of private and incomplete types whose full view is an
679 access type, to detect additional uplevel references in dynamic
680 bounds. This is relevant to N_Free_Statement among others that
681 manipulate types whose full viww may be an access type.
682
6b4f0b7d 6832019-07-01 Pat Rogers <rogers@adacore.com>
684
685 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Correct
686 size indicated for R as a component of an array.
687 * gnat_rm.texi: Regenerate.
688
cdee70d7 6892019-07-01 Justin Squirek <squirek@adacore.com>
690
691 * libgnat/s-win32.ads: Add definition for ULONG, modify
692 OVERLAPPED type, and add appropriate pragmas.
693
2cf822b7 6942019-07-01 Bob Duff <duff@adacore.com>
695
696 * gnat1drv.adb (gnat1drv): Call Write_ALI if the main unit is
697 ignored-ghost.
698
0a1ece97 6992019-07-01 Yannick Moy <moy@adacore.com>
700
701 * sem_ch4.adb (Operator_Check): Refine error message.
702
ee4279ef 7032019-07-01 Piotr Trojanek <trojanek@adacore.com>
704
705 * libgnat/a-calend.ads: Revert "Global => null" contracts on
706 non-pure routines.
707
2c6b4ada 7082019-07-01 Piotr Trojanek <trojanek@adacore.com>
709
710 * exp_attr.adb, libgnat/g-graphs.ads: Fix typos in comments:
711 componant -> component.
712
175c4526 7132019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
714
715 * libgnat/g-graphs.adb: Use type Directed_Graph rather than
716 Instance in various routines.
717 * libgnat/g-graphs.ads: Change type Instance to Directed_Graph.
718 Update various routines that mention the type.
719
a0d15509 7202019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
721
722 * libgnat/g-sets.adb: Use type Membership_Set rathern than
723 Instance in various routines.
724 * libgnat/g-sets.ads: Change type Instance to Membership_Set.
725 Update various routines that mention the type.
726
205a23a3 7272019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
728
729 * libgnat/g-lists.adb: Use type Doubly_Linked_List rather than
730 Instance in various routines.
731 * libgnat/g-lists.ads: Change type Instance to
732 Doubly_Linked_List. Update various routines that mention the
733 type.
734
17fdf8c2 7352019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
736
737 * libgnat/g-dynhta.adb: Use type Dynamic_Hash_Table rather than
738 Instance in various routines.
739 * libgnat/g-dynhta.ads: Change type Instance to
740 Dynamic_Hash_Table. Update various routines that mention the
741 type.
742
216ffc64 7432019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
744
745 * exp_attr.adb, exp_ch7.adb, exp_unst.adb, sem_ch3.adb,
746 sem_util.adb, uintp.adb, uintp.ads: Minor reformatting.
747
5051fe35 7482019-07-01 Javier Miranda <miranda@adacore.com>
749
750 * exp_attr.adb (Expand_Min_Max_Attribute): Disable expansion of
751 'Min/'Max on integer, enumeration, fixed point and floating
752 point types since the CCG backend now provides in file
753 standard.h routines to support it.
754
830a2a71 7552019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
756
757 * impunit.adb: Add GNAT.Graphs to list Non_Imp_File_Names_95.
758 * Makefile.rtl, gcc-interface/Make-lang.in: Register unit
759 GNAT.Graphs.
760 * libgnat/g-dynhta.adb: Various minor cleanups (use Present
761 rather than direct comparisons).
762 (Delete): Reimplement to use Delete_Node.
763 (Delete_Node): New routine.
764 (Destroy_Bucket): Invoke the provided destructor.
765 (Present): New routines.
766 * libgnat/g-dynhta.ads: Add new generic formal Destroy_Value.
767 Use better names for the components of iterators.
768 * libgnat/g-graphs.adb, libgnat/g-graphs.ads: New unit.
769 * libgnat/g-lists.adb: Various minor cleanups (use Present
770 rather than direct comparisons).
771 (Delete_Node): Invoke the provided destructor.
772 (Present): New routine.
773 * libgnat/g-lists.ads: Add new generic formal Destroy_Element.
774 Use better names for the components of iterators.
775 (Present): New routine.
776 * libgnat/g-sets.adb, libgnat/g-sets.ads (Destroy, Preset,
777 Reset): New routines.
778
b0111d94 7792019-07-01 Dmitriy Anisimkov <anisimko@adacore.com>
780
781 * libgnat/g-sothco.adb (Get_Address): Fix the case when AF_INET6
782 is not defined.
783
7362896b 7842019-07-01 Ed Schonberg <schonberg@adacore.com>
785
786 * exp_attr.adb (Expand_Attribute_Reference, case Invalid_Value):
787 Resolve result of call to Get_Simple_Init_Val, which may be a
788 conversion of a literal.
789
0dae8dc2 7902019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
791
792 * freeze.adb (Freeze_Expression): Remove the horrible useless
793 name hiding of N. Insert the freeze nodes generated by the
794 expression prior to the expression when the nearest enclosing
795 scope is transient.
796
487da8ff 7972019-07-01 Pierre-Marie de Rodat <derodat@adacore.com>
798
799 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
800 formatting issues in the -gnatR section.
801 * gnat_ugn.texi: Regenerate.
802
1d79fa18 8032019-06-30 Iain Sandoe <iain@sandoe.co.uk>
804
805 * gnatlink.adb (Link_Step): Remove duplicate -static-libgcc switches.
806 Push -shared-libgcc explicitly, when it is the target default (unless
807 overidden by the static flag).
808 When the user has put an instance of shared/static-libgcc do not push
809 a duplicate of this.
810
a850edcd 8112019-06-29 Eric Botcazou <ebotcazou@adacore.com>
812
813 * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED,
814 and tweak comment on the assertion about the scopes of Itypes. Do not
815 skip the regular processing for Itypes that are E_Record_Subtype with
816 a Cloned_Subtype. Get the Cloned_Subtype for every E_Record_Subtype
817 if the type is dummy and hasn't got its own freeze node.
818 <E_Record_Subtype>: Save again the DECL of the Cloned_Subtype, if any.
819 <E_Access_Subtype>: Save again the DECL of the equivalent type.
820 (Gigi_Equivalent_Type) <E_Access_Subtype>: New case.
821
b1e46fb1 8222019-06-29 Eric Botcazou <ebotcazou@adacore.com>
823
824 * gcc-interface/utils.c (unchecked_convert): Tweak comment. Only skip
825 dereferences when padding to have the same size on both sides. Do it
826 for destination types with self-referential size too.
827
07e38949 8282019-06-29 Eric Botcazou <ebotcazou@adacore.com>
829
830 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
831 type requires strict alignment, then set the RM size to the type size.
832 Rework handling of alignment and sizes of tagged types in ASIS mode.
833 (validate_size): Rename local variable and remove special handling for
834 strict-alignment types.
835 * gcc-interface/utils.c (finish_record_type): Constify local variables
836 and use properly typed constants.
837
f4409741 8382019-06-29 Eric Botcazou <ebotcazou@adacore.com>
839
840 * gcc-interface/decl.c (gnat_to_gnu_field): Rework error messages for
841 fields requiring strict alignment, add explicit test on Storage_Unit
842 for position and size, and mention type alignment for position.
843
5882c515 8442019-06-29 Eric Botcazou <ebotcazou@adacore.com>
845
846 * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on
847 the main variant of a type, if any.
848
d0de0a27 8492019-06-29 Eric Botcazou <ebotcazou@adacore.com>
850
851 * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
852 missing guard for the presence of TYPE_CANONICAL.
853 (set_reverse_storage_order_on_array_type): Likewise.
854
2074c859 8552019-06-29 Eric Botcazou <ebotcazou@adacore.com>
856
857 * gcc-interface/gigi.h (make_packable_type): Remove default value.
858 (value_factor_p): Tweak prototype.
859 * gcc-interface/decl.c (gnat_to_gnu_entity): Add comment.
860 (gnat_to_gnu_component_type): Likewise.
861 (gnat_to_gnu_field): Likewise. Fetch the position of the field earlier
862 and simplify the condition under which the type is packed. Declare
863 local variable is_bitfield. Pass 1 as max_align to make_packable_type
864 if it is set to true.
865 (copy_and_substitute_in_layout): Pass 0 to make_packable_type.
866 * gcc-interface/utils.c (make_packable_array_type): New function.
867 (make_packable_type): Use it to rewrite the type of array field.
868 (maybe_pad_type): Pass align parameter to make_packable_type.
869 (create_field_decl): Minor tweaks.
870 (value_factor_p): Assert that FACTOR is a power of 2 and replace the
871 modulo computation by a masking operation.
872
83c6da22 8732019-06-25 Eric Botcazou <ebotcazou@adacore.com>
874
875 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove superfluous test
876 in previous change.
877 * gcc-interface/gigi.h (maybe_character_type): Fix formatting.
878 (maybe_character_value): Likewise.
879
aaabc7bc 8802019-06-24 Jan Hubicka <jh@suse.cz>
881
882 * gcc-interface/decl.c (gnat_to_gnu_entity): Check that
883 type is array or integer prior checking string flag.
83c6da22 884 * gcc-interface/gigi.h (maybe_character_type): Likewise.
885 (maybe_character_value): Likewise.
aaabc7bc 886
5fe09a56 8872019-06-24 Martin Sebor <msebor@redhat.com>
888
889 * gcc-interface/utils.c (handle_nonnull_attribute): Quote attribute
890 name.
891
bd9331d6 8922019-06-18 Arnaud Charlet <charlet@adacore.com>
893
83c6da22 894 PR ada/80590
bd9331d6 895 * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation
896 during normal processing.
897
8a5a7d1c 8982019-06-17 Arnaud Charlet <charlet@adacore.com>
899
83c6da22 900 PR ada/80590
8a5a7d1c 901 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
902 conditions to avoid a unnecessary exception propagation in the default
903 case.
904
580934f6 9052019-05-28 Eric Botcazou <ebotcazou@adacore.com>
906
907 * gcc-interface/utils.c (handle_stack_protect_attribute): Move around.
908
c8956236 9092019-05-28 Eric Botcazou <ebotcazou@adacore.com>
910
911 * doc/gnat_rm/implementation_defined_pragmas.rst (Machine_Attribute):
912 Document additional optional parameters.
913 * sem_prag.adb (Analyze_Pragma) <Pragma_Machine_Attribute>: Accept
914 more than one optional parameter.
915 * gcc-interface/decl.c (prepend_one_attribute_pragma): Alphabetize
916 the list of supported pragmas. Simplify the handling of parameters
917 and add support for more than one optional parameter.
918 * gcc-interface/utils.c (attr_cold_hot_exclusions): New constant.
919 (gnat_internal_attribute_table): Add entry for no_icf, noipa, flatten,
920 used, cold, hot, target and target_clones.
921 (begin_subprog_body): Do not create the RTL for the subprogram here.
922 (handle_noicf_attribute): New static function.
923 (handle_noipa_attribute): Likewise.
924 (handle_flatten_attribute): Likewise.
925 (handle_used_attribute): Likewise.
926 (handle_cold_attribute): Likewise.
927 (handle_hot_attribute): Likewise.
928 (handle_target_attribute): Likewise.
929 (handle_target_clones_attribute): Likewise.
930
62b762c2 9312019-05-28 Eric Botcazou <ebotcazou@adacore.com>
932
933 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Return 0
934 for 'Size too.
935 (Identifier_to_gnu): Use the actual subtype for a reference to a
936 packed array in a return statement.
937 (Attribute_to_gnu) <Attr_Size>: Do not strip VIEW_CONVERT_EXPRs from
938 the prefix in every case.
939
336a61a3 9402019-05-28 Eric Botcazou <ebotcazou@adacore.com>
941
942 * gcc-interface/trans.c (gnat_to_gnu): Remove superfluous tests on
943 Backend_Overflow_Checks_On_Target and rework comments.
944
983c5b5e 9452019-05-28 Eric Botcazou <ebotcazou@adacore.com>
946
947 * gcc-interface/trans.c (walk_nesting_tree): New static function.
948 (finalize_nrv): Use it to walk the entire nesting tree.
949
96b4b84e 9502019-05-28 Eric Botcazou <ebotcazou@adacore.com>
951
952 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Remove
953 obsolete test on Is_For_Access_Subtype.
954
0b74284e 9552019-05-28 Eric Botcazou <ebotcazou@adacore.com>
956
957 * gcc-interface/decl.c (components_to_record): Set a name on the type
958 created for the REP part, if any.
959 * gcc-interface/utils.c (finish_record_type): Only take the maximum
960 when merging sizes for a variant part at offset 0.
961 (merge_sizes): Rename has_rep parameter into max.
962
689dab9d 9632019-05-28 Eric Botcazou <ebotcazou@adacore.com>
964
965 * gcc-interface/utils.c (gnat_internal_attribute_table): Add support
966 for stack_protect attribute.
967 (handle_stack_protect_attribute): New static function.
968
804f7d39 9692019-05-28 Eric Botcazou <ebotcazou@adacore.com>
970
971 * gcc-interface/decl.c (intrin_arglists_compatible_p): Do not return
972 false if the internal builtin uses a variable list.
973
f07f94cc 9742019-05-27 Eric Botcazou <ebotcazou@adacore.com>
975
976 * gcc-interface/trans.c (Call_to_gnu): Do not initialize the temporary
977 created out of addressability concerns if it's for the _Init parameter
978 of an initialization procedure.
979
abfd658b 9802019-05-27 Eric Botcazou <ebotcazou@adacore.com>
981
982 * gcc-interface/ada-builtin-types.def: New file.
983 * gcc-interface/ada-builtins.def: Likewise.
984 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): New macro.
985 (BUILT_IN_UNLIKELY): Likewise.
986 * gcc-interface/trans.c (independent_iterations_p): Initialize the
987 auto-vector to 16 elements.
988 (Call_to_gnu): Remove local variable and change the vector of actual
989 parameters to an auto-vector. Do not convert actual parameters to
990 the argument type for front-end built-in functions. Add support for
991 front-end built-in functions.
992 (build_noreturn_cond): Use internal instead of built-in function.
993 * gcc-interface/utils.c (c_builtin_type): Include ada-builtin-types.def
994 (install_builtin_function_types): Likewise.
995 (install_builtin_functions): Include ada-builtins.def first.
996
caab73a2 9972019-05-27 Eric Botcazou <ebotcazou@adacore.com>
998
999 * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the
1000 specific case of component types preferably.
1001
f1ca2388 10022019-05-27 Eric Botcazou <ebotcazou@adacore.com>
1003
1004 * gcc-interface/trans.c (Identifier_to_gnu): Minor tweaks.
1005 (gnat_to_gnu): Do not convert the result if it is a reference to an
1006 unconstrained array used as the prefix of an attribute reference that
1007 requires an lvalue.
1008
e3f3573c 10092019-05-27 Eric Botcazou <ebotcazou@adacore.com>
1010
1011 * gcc-interface/trans.c (Gigi_Types_Compatible): New predicate.
1012 (Identifier_to_gnu): Use it to assert that the type of the identifier
1013 and that of its entity are compatible for gigi. Rename a couple of
1014 local variables and separate the processing of the result type.
1015
2306cd17 10162019-05-27 Eric Botcazou <ebotcazou@adacore.com>
1017
1018 * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when
1019 putting back an intermediate conversion the type of the actuals.
1020
6e4e9378 10212019-05-27 Eric Botcazou <ebotcazou@adacore.com>
1022
1023 * gcc-interface/trans.c (gnat_to_gnu) <Shift operations>: Convert the
1024 count to the unsigned version of its base type before proceeding.
1025
85b9be9b 10262019-05-16 Martin Sebor <msebor@redhat.com>
1027
3d6be0d5 1028 * gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote
1029 reserved names.
85b9be9b 1030
65d973ca 10312019-05-08 Arnaud Charlet <charlet@adacore.com>
1032
1033 * standard.ads.h: New file.
1034
ff628b99 10352019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1036
1037 * gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
1038 Honor DESTDIR.
1039
ebd761d4 10402019-04-29 Michael K. Darling <darlingm@gmail.com>
1041
1042 * gnatvsn.ads: Bump Library_Version to 10.
1043
5f260823 10442019-04-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1045 Bernd Edlinger <bernd.edlinger@hotmail.de>
1046 Jakub Jelinek <jakub@redhat.com>
1047
1048 PR target/89093
1049 * raise-gcc.c (TARGET_ATTRIBUTE): Define.
1050 (continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
1051 TARGET_ATTRIBUTE.
1052
d7ca95c0 10532019-04-07 Eric Botcazou <ebotcazou@adacore.com>
1054
1055 * libgnat/i-cexten.ads (CFloat_128): New type.
1056
26b21081 10572019-03-22 Dmitriy Anisimkov <anisimko@adacore.com>
1058
1059 PR ada/89583
1060 * libgnat/g-socket.adb (Bind_Socket, Connect_Socket,
1061 Send_Socket): Fix the computation of structure lengths passed to
1062 low level routines.
1063 (Is_IPv6_Address): Fix the number of expected colons.
1064
2f6d557f 10652019-03-11 Martin Liska <mliska@suse.cz>
1066
d325ee67 1067 * gcc-interface/misc.c (gnat_post_options): Wrap option name in string
1068 format message and fix GNU coding style.
2f6d557f 1069
c1ad6672 10702019-02-08 Eric Botcazou <ebotcazou@adacore.com>
1071
1072 * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Minor tweak.
1073 * gcc-interface/utils.c (convert): Do not pad when doing an unchecked
1074 conversion here. Use TREE_CONSTANT throughout the function.
1075 (unchecked_convert): Also pad if the source is a CONSTRUCTOR and the
1076 destination is a more aligned array type or a larger aggregate type,
1077 but not between original and packable versions of a type.
1078
62a6ebbd 10792019-02-08 Eric Botcazou <ebotcazou@adacore.com>
1080
1081 * gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an
1082 operand with VOID_TYPE.
1083
da383d19 10842019-02-08 Eric Botcazou <ebotcazou@adacore.com>
1085
1086 * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate the
1087 entities of a package renaming another one.
1088
09c123a0 10892019-02-08 Eric Botcazou <ebotcazou@adacore.com>
1090
1091 * gcc-interface/trans.c (Regular_Loop_to_gnu): Replace tests on
1092 individual flag_unswitch_loops and flag_tree_loop_vectorize switches
1093 with test on global optimize switch.
1094 (Raise_Error_to_gnu): Likewise.
1095
a9dd7273 10962019-02-07 Eric Botcazou <ebotcazou@adacore.com>
1097
1098 * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.
1099
4836c4f1 11002019-02-06 Arnaud Charlet <charlet@adacore.com>
1101
1102 * libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads
1103
6b56937c 11042019-01-27 Eric Botcazou <ebotcazou@adacore.com>
1105
1106 * repinfo.adb (List_Component_Layout): Remove superfluous space for
1107 zero-sized field.
1108 * gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
1109 * gcc-interface/gigi.h (create_extra_subtype): Declare.
1110 * gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise.
1111 (update_n_elem): New function.
1112 (gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes
1113 instead of doing it manually.
1114 <E_Array_Type>: Use update_n_elem to compute the maximum size. Use the
1115 index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE
1116 of the array to the maximum size.
1117 <E_Array_Subtype>: Create an extra subtype using the index type of the
1118 base array type for self-referential bounds. Use update_n_elem to
1119 compute the maximum size. Set TYPE_ARRAY_MAX_SIZE of the array to the
1120 maximum size.
1121 (gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants.
1122 * gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of
1123 the base type for an extra subtype.
1124 (gnat_type_max_size): Remove obsolete code.
1125 * gcc-interface/trans.c (Attribute_to_gnu): Minor tweak.
1126 (can_be_lower_p): Deal with pathological types.
1127 * gcc-interface/utils.c (create_extra_subtype): New function.
1128 (create_field_decl): Minor tweak.
1129 (max_size) <tcc_reference>: Compute a better value by using the extra
1130 subtypes on the self-referential bounds.
1131 <tcc_binary>: Rewrite. Deal with "negative value" in unsigned types.
1132 <tcc_expression>: Likewise.
1133 * gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds
1134 of the arrays upfront. Swap only if the second length is not constant.
1135 Use comparisons on the original bounds consistently for the null tests.
1136 (build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro.
1137 (build_allocator): Minor tweak.
1138
ecb2c722 11392019-01-27 Eric Botcazou <ebotcazou@adacore.com>
1140
1141 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
1142 the same value for every dimension of a multidimensional array type.
1143
10f25579 11442019-01-26 Eric Botcazou <ebotcazou@adacore.com>
1145
1146 * gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
1147 iteration scheme, if present, throughout the translation.
1148
aced6683 11492019-01-26 Eric Botcazou <ebotcazou@adacore.com>
1150
1151 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
1152 DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
1153 by a call to memset if the LHS is a DECL.
1154
18b4b30e 11552019-01-26 Eric Botcazou <ebotcazou@adacore.com>
1156
1157 * gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
1158 (Loop_Statement_to_gnu): Do not set it.
1159
6dce35b7 11602019-01-26 Eric Botcazou <ebotcazou@adacore.com>
1161
1162 * gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting.
1163 (Acc_gnat_to_gnu): Likewise.
1164 (Acc_Data_to_gnu): Likewise.
1165 (Acc_Var_to_gnu): Likewise.
1166 (Acc_Reduc_to_gnu): Likewise.
1167 (Acc_Size_List_to_gnu): Likewise.
1168 (Pragma_to_gnu) <Pragma_Acc_Loop>: Likewise.
1169 <Pragma_Acc_Data>): Likewise.
1170 (find_loop_for): Remove default value for parameters.
1171 * gcc-interface/trans.c (gnat_to_gnu) <N_Op_And>: Merge into...
1172 <N_Op_Eq>): ...this.
1173
f8cd11ee 11742019-01-26 Eric Botcazou <ebotcazou@adacore.com>
1175
1176 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
1177 the sign bit instead of on the sign of the value.
1178 <PLUS_EXPR>: Turn addition of negative constant into subtraction.
1179 <MULT_EXPR>: Add test for degenerate case.
1180 <BIT_AND_EXPR>: Simplify.
1181
9a3c51d9 11822019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1183
1184 * s-oscons-tmplt.c (AF_INET6): Do not undefine for RTEMS.
1185
07c11f2b 11862019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1187
1188 PR other/16615
07c11f2b 1189 * exp_ch11.adb: Change "can not" to "cannot".
1190 * sem_ch4.adb: Likewise.
1191
f4d3c071 11922019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1193
1194 PR other/16615
f4d3c071 1195 * exp_ch9.adb: Mechanically replace "can not" with "cannot".
1196 * libgnat/s-regpat.ads: Likewise.
1197 * par-ch4.adb: Likewise.
1198 * set_targ.adb: Likewise.
1199 * types.ads: Likewise.
1200
902071d1 12012019-01-08 Justin Squirek <squirek@adacore.com>
1202
1203 Revert:
902071d1 1204 2018-07-31 Justin Squirek <squirek@adacore.com>
1205
76fb0465 1206 * lib-writ.adb (Write_With_Lines): Modfiy the generation
1207 of dependencies within ali files so that source unit
1208 bodies are properly listed even if said bodies are
1209 missing. Perform legacy behavior in GNATprove mode.
1210 * lib-writ.ads: Modify documentation to reflect current
1211 behavior.
902071d1 1212
1213 and:
902071d1 1214 2018-09-26 Justin Squirek <squirek@adacore.com>
1215
76fb0465 1216 * lib-writ.adb, lib-writ.ads (Write_With_Lines): Add
1217 documentation and an extra conditional check for RCI
1218 units so that generated ali files will list the spec
1219 only instead of a body when a body is not found.
902071d1 1220
65a33d4a 12212019-01-04 Eric Botcazou <ebotcazou@adacore.com>
1222
1223 * gnatvsn.ads: Bump copyright year.
1224
3d8932fd 12252019-01-01 Jakub Jelinek <jakub@redhat.com>
8e8f6434 1226
fbd26352 1227 Update copyright years.
1228
277184bc 1229 * gnat_ugn.texi: Bump @copying's copyright year.
1230 * gnat_rm.texi: Likewise.
7dfbd804 1231\f
3d8932fd 1232Copyright (C) 2019 Free Software Foundation, Inc.
7dfbd804 1233
1234Copying and distribution of this file, with or without modification,
1235are permitted in any medium without royalty provided the copyright
1236notice and this notice are preserved.