]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
decl.c, [...]: Remove redundant enum from machine_mode.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
ef4bddc2
RS
12014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2
3 * gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c,
4 gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c:
5 Remove redundant enum from machine_mode.
6
c582198b
AM
72014-10-28 Andrew MacLeod <amacleod@redhat.com>
8
9 * gcc-interface/trans.c: Adjust include files.
10 * gcc-interface/utils.c: Ditto.
11
533d5a2d
EB
122014-10-27 Eric Botcazou <ebotcazou@adacore.com>
13
14 * gcc-interface/utils.c (create_subprog_decl): Adjust condition.
15
98ae260d
EB
162014-10-27 Eric Botcazou <ebotcazou@adacore.com>
17
18 * gcc-interface/misc.c (gnat_init_options_struct): Parameterize errno
19 support here instead of...
20 Do not set flag_delete_dead_exceptions to 1 unconditionally.
21 (gnat_init_gcc_eh): Set flag_delete_dead_exceptions to 1.
22 (gnat_init_gcc_fp): ...here.
23
08477031
EB
242014-10-27 Eric Botcazou <ebotcazou@adacore.com>
25
26 * gcc-interface/trans.c (gnat_to_gnu) <N_Real_Literal>: Minor tweaks.
27
5fe48b3d
EB
282014-10-27 Eric Botcazou <ebotcazou@adacore.com>
29
30 * gcc-interface/utils.c (create_var_decl_1): For a variable declared
31 in the unit, set TREE_PUBLIC only if it has static storage duration.
32
8c44fc0f
EB
332014-10-27 Eric Botcazou <ebotcazou@adacore.com>
34
35 * gcc-interface/decl.c (gnat_to_gnu_entity): Apply special treatment
36 of derived packed array types to constrained subtypes only.
37
33ccc536
EB
382014-10-27 Eric Botcazou <ebotcazou@adacore.com>
39
40 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove
41 superfluous computation for the max size.
42 <E_Array_Subtype>: Likewise. Make sure that the max size calculation
43 does not overflow at compile time.
44
ad075b50
AC
452014-10-23 Ed Schonberg <schonberg@adacore.com>
46
47 * sem_eval.adb (Check_Non_Static_Context): Do not set
48 Is_Machine_Number on a literal of a fixed-point type.
49
502014-10-23 Robert Dewar <dewar@adacore.com>
51
52 * mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting.
53
542014-10-23 Pierre-Marie Derodat <derodat@adacore.com>
55
56 * exp_dbug.ads: Update ___XA parallel type specification.
57
582014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
59
60 * sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep
61 chain of the source type.
62 * sem_ch13.adb (Analyze_Aspect_Specifications): Minor
63 reformatting of an error message.
64 * sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep
65 chain that has been inherited already.
66
e699b76e
AC
672014-10-23 Ed Schonberg <schonberg@adacore.com>
68
69 * sem_ch6.adb (Analyze_Expression_Function): Simplify analysis
70 in generic context, and generate body in this case as well,
71 to simplify ASIS traversals on the construct.
72
732014-10-23 Ed Schonberg <schonberg@adacore.com>
74
75 * sem_ch4.adb (Complete_Object_Operation): Indicate that the
76 scope of the operation (s) is referenced, to prevent spurious
77 warnings about unused units.
78
792014-10-23 Johannes Kanig <kanig@adacore.com>
80
81 * errout.adb (Error_Msg_Internal): Copy check flag, increment
82 check msg count.
83 * erroutc.adb (Delete_Msg) adjust check msg count.
84 (Output_Msg_Text) handle check msg case (do nothing).
85 (Prescan_Message) recognize check messages with severity prefixes.
86 * errutil.adb (Error_Msg) handle check flag, adjust counter.
87
882014-10-23 Ed Schonberg <schonberg@adacore.com>
89
90 * sem_eval.adb (Subtypes_Statically_Match): For a generic actual
91 type, check for the presence of discriminants in its parent type,
92 against the presence of discriminants in the context type.
93
942014-10-23 Tristan Gingold <gingold@adacore.com>
95
96 * adaint.c: __gnat_get_file_names_case_sensitive: Default is
97 true on arm-darwin.
98
992014-10-23 Arnaud Charlet <charlet@adacore.com>
100
101 * pprint.adb (Expression_Image): Add handling of quantifiers.
102
1032014-10-23 Ed Schonberg <schonberg@adacore.com>
104
105 * exp_pakd.adb (Expand_Packed_Element_Reference): If the
106 prefix is a source entity, generate a reference to it before
107 transformation, because rewritten node might not generate a
108 proper reference, leading to spurious warnings.
109
1102014-10-23 Tristan Gingold <gingold@adacore.com>
111
112 * init.c: Fix thinko in previous patch.
113
1142014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
115
116 * sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration):
117 Inherit the rep chain of the implicit base type.
118 (Floating_Point_Type_Declaration): Inherit the rep chain of the
119 implicit base type.
120 (Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the
121 implicit base type.
122 (Signed_Integer_Type_Declaration): Inherit the rep chain of the
123 implicit base type.
124 * sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine.
125
1262014-10-23 Pascal Obry <obry@adacore.com>
127
128 * g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit
129 view of the registry.
130
1312014-10-23 Ed Schonberg <schonberg@adacore.com>
132
133 * exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract,
134 return without expanding expression, to prevent subsequent crash.
135 * freeze.adb: better error message for illegal declaration.
136
e776d441
HK
1372014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
138
139 * sysdep.c (__gnat_localtime_tzoff): Properly delimit the
140 substring which represents the time zone on VxWorks.
141
13fa2acb
AC
1422014-10-23 Vincent Celier <celier@adacore.com>
143
144 * gnatls.adb: If --RTS= was not used, check if there is a default
145 runtime. If there is none, in verbose mode, indicate that the
146 default runtime is not available and show only the current
147 directory in the source and the object search paths.
148
1492014-10-23 Ed Schonberg <schonberg@adacore.com>
150
151 * sem_ch6.adb (Process_Formals): A thunk procedure with a
152 parameter of a limited view does not need a freeze node.
153
1542014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
155
156 * sem_ch7.adb (Analyze_Package_Body_Helper):
157 The logic which hides local entities from external
158 visibility is now contained in routine Hide_Public_Entities.
159 (Hide_Public_Entities): New routine. Object and subprogram
160 renamings are now hidden from external visibility the same way
161 objects are.
162
1632014-10-23 Ed Schonberg <schonberg@adacore.com>
164
165 * sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated
166 does not require freezing, in particular if it denotes a generic
167 function.
168
b04d926e
AC
1692014-10-23 Yannick Moy <moy@adacore.com>
170
171 * sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always):
172 Disable analysis in GNATprove mode.
173
1742014-10-23 Arnaud Charlet <charlet@adacore.com>
175
176 * mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only).
177
1782014-10-23 Arnaud Charlet <charlet@adacore.com>
179
180 * gnat1drv.adb (Adjust_Global_Switches): Ignore style check
181 pragmas in codepeer mode.
182
1832014-10-23 Gary Dismukes <dismukes@adacore.com>
184
185 * gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ',').
186
1872014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
188
189 * sem_ch12.adb (Inline_Instance_Body): Alphabetize
190 local variables and constants. Add constants Save_SM and Save_SMP
191 to capture SPARK_Mode-related attributes. Compile the inlined
192 body with the SPARK_Mode of the enclosing context.
193
1942014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
195
196 * sinfo.adb (Elaboration_Boolean): Removed.
197 (Set_Elaboration_Boolean): Removed.
198 * sinfo.ads Remove attribute Elaboration_Boolean along with its
199 occurrence in nodes.
200 (Elaboration_Boolean): Removed along with pragma Inline.
201 (Set_Elaboration_Boolean): Removed along with pragma Inline.
202
2032014-10-23 Ed Schonberg <schonberg@adacore.com>
204
205 * sem_ch3.adb (Constant_Redeclaration): Make error message more
206 explicit on a deferred constant whose object_definition is an
207 anonymous array.
208
2092014-10-23 Vincent Celier <celier@adacore.com>
210
211 * gnatls.adb: Never call Targparm.Get_Target_Parameters.
212
2132014-10-23 Ed Schonberg <schonberg@adacore.com>
214
215 * sem_ch6.adb (Analyze_Expression_Function): In a generic
216 context do not create a body, and only pre-analyze the expression,
217 which may include incomplete views.
218
3ad33e33
AC
2192014-10-23 Robert Dewar <dewar@adacore.com>
220
221 * sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In).
222 * sem_ch3.adb: Minor reformatting.
223
2242014-10-23 Ed Schonberg <schonberg@adacore.com>
225
226 * sem_ch12.adb (Analyze_Associations): If an actual for a formal
227 object is a call to a parameterless expression function, add
228 the function to the list of actuals to freeze.
229 * freeze.adb (Check_Expression_Function): Create freeze nodes of
230 outer types that may be references in the body of the expression.
231
580d40e8
AC
2322014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
233
234 * exp_util.ads, checks.ads: Minor comment reformatting.
235
2362014-10-23 Javier Miranda <miranda@adacore.com>
237
238 * sem_eval (Test_In_Range): Disable removal of range_check for
239 VM targets.
240
2412014-10-23 Robert Dewar <dewar@adacore.com>
242
243 * erroutc.adb (Validate_Specific_Warnings): Fix test for -W
244 messages, which got disabled when we unconditionally added an
245 asterisk at the start of the string.
246
2472014-10-23 Vincent Celier <celier@adacore.com>
248
249 * gnatls.adb: Ensure that "gnatls -l" works even when there is
250 no default runtime.
251
2522014-10-23 Eric Botcazou <ebotcazou@adacore.com>
253
254 * sem_ch3.adb (Build_Derived_Private_Type): When the parent is
255 untagged and has discriminants, build the implicit full view after
256 building the derived type. Capture original declaration and type
257 here instead of...
258 (Copy_And_Build): ...here.
259 * sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View.
260
2934b84a
AC
2612014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
262
263 * checks.adb (Ensure_Valid): Update the subprogram
264 profile. Propagate the contex attributes to Insert_Valid_Check.
265 (Insert_Valid_Check): Update the subprogram profile. Propagate
266 the attributes of the context to Duplicate_Subexpr_No_Checks.
267 (Validity_Check_Range): Update the subprogram profile. Propagate
268 the context attribute to Ensure_Valid.
269 * checks.ads (Ensure_Valid): Update the subprogram profile
270 along with the comment on usage.
271 (Insert_Valid_Check): Update the subprogram profile along with the
272 comment on usage.
273 (Validity_Check_Range): Update the subprogram profile along with
274 the comment on usage.
275 * exp_util.adb (Build_Temporary): New routine.
276 (Duplicate_Subexpr_No_Checks): Update the subprogram
277 profile. Propagate the attributes of the context to Remove_Side_Effects.
278 (Remove_Side_Effects): Update the subprogram profile. Update all calls
279 to Make_Temporary to invoke Build_Temporary.
280 * exp_util.ads (Duplicate_Subexpr_No_Checks): Update
281 the subprogram profile along with the comment on usage.
282 (Remove_Side_Effects): Update the subprogram profile along with
283 the comment on usage.
284 * sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype
285 to the validity check machinery. Explain the reason for this
286 propagation.
287
2882014-10-23 Robert Dewar <dewar@adacore.com>
289
290 * a-strsea.adb: Minor reformatting.
291
3fdb58e2
AC
2922014-10-23 Thomas Quinot <quinot@adacore.com>
293
294 * bcheck.adb (Check_Consistent_SSO_Default): Exclude internal
295 units from consistency check.
296 * gnat_rm.texi (Default_Scalar_Storage_Order): Document that
297 consistency check excludes run-time units.
298
2992014-10-23 Ed Schonberg <schonberg@adacore.com>
300
301 * a-strsea.adb (Find_Token): Enable constraint checking in this
302 procedure, so that even when compiling with checks suppressed, as is
303 the case for the run-time, an exception is raised in this routine when
304 the input meets the conditions described in RM 2005 A.4.3 (68/1).
305
64dbfdec
AC
3062014-10-20 Eric Botcazou <ebotcazou@adacore.com>
307
308 * sem_ch3.adb (Build_Derived_Private_Type): When the parent
309 is untagged and has discriminants, build the implicit full
310 view even if the derived type is a completion, and make it
311 the Underlying_Full_View of the type.
312 (Copy_And_Build): Fix Is_Completion actual parameter in the calls to
313 Build_Derived_Type.
314 (Build_Derived_Record_Type): Likewise.
315
3162014-10-20 Ed Schonberg <schonberg@adacore.com>
317
318 * sem_ch13.adb: Add guard to convention setting.
319
dbb4cfef
AC
3202014-10-20 Robert Dewar <dewar@adacore.com>
321
322 * sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor
323 reformatting.
324
3252014-10-20 Robert Dewar <dewar@adacore.com>
326
327 * par-prag.adb (Add_List_Pragma_Entry): New procedure.
328 * par.adb (P_Pragma): Document requirement to handle multiple calls.
329
3302014-10-20 Robert Dewar <dewar@adacore.com>
331
332 * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
333 Fix error of bad inheritance of this pragma from with'ed unit.
334
3352014-10-20 Ed Schonberg <schonberg@adacore.com>
336
337 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype,
338 inherit convention from parent type, because the subtype may
339 have been declared on a partial view, prior to the pragma on
340 the parent.
341
3422014-10-20 Olivier Hainque <hainque@adacore.com>
343 Tristan Gingold <gingold@adacore.com>
344
345 * gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7.
346 Misc clean ups.
347
3482014-10-20 Nicolas Roche <roche@adacore.com>
349
350 * gcc-interface/Make-lang.in: ensure that automatically generated
351 dependency are referencing generated gnatvsn rather than original
352 one.
353
c19273ff
GD
3542014-10-20 Gary Dismukes <dismukes@adacore.com>
355
356 * gnat_ugn.texi: Minor reformatting.
357 * sem_ch3.adb: Minor reformatting.
358
bdafba6f
AC
3592014-10-20 Vincent Celier <celier@adacore.com>
360
361 * prj-attr.adb: New project level attribute Runtime.
362 * prj-conf.adb (Get_Project_Runtimes): New procedure to get
363 the attributes Runtime declared in the main project, to use
364 in auto-configuration.
365 (Get_Or_Create_Configuration_File): Call Get_Project_Runtimes.
366 * prj-proc.adb (Runtime_Defaults): New table to store
367 the default values of attributes Runtime (<language>).
368 (Set_Default_Runtime_For): New procedure to store the default
369 value of a Runtime (<language>) in table Runtime_Defaults.
370 (Expression): Use the value stored in table Runtime_Defaults as
371 the default for Runtime (<language>).
372 * prj-proc.ads (Set_Default_Runtime_For): New procedure.
373 * prj.ads (Attribute_Default_Value): New enumerated value
374 Runtime_Value.
375
3762014-10-20 Ed Schonberg <schonberg@adacore.com>
377
378 * sem_ch3.adb (Analyze_Object_Declaration): If the type is
379 an unconstrained unchecked_union type, rewrite declaration
380 as a renaming to prevent attempt to retrieve non- existent
381 discriminants from expression.
382
3832014-10-20 Ed Schonberg <schonberg@adacore.com>
384
385 * gnat_ugn.texi: Minor reformatting.
386
a905304c
AC
3872014-10-20 Tristan Gingold <gingold@adacore.com>
388
389 * init.c (__gnat_is_stack_guard): Don't use mach_vm_region_recurse on
390 arm-darwin.
391 * raise-gcc.c: Add ATTRIBUTE_UNUSED to remove warnings for
392 unused arguments.
393
3942014-10-20 Hristian Kirtchev <kirtchev@adacore.com>
395
396 * sem_attr.adb (Analyze_Attribute): Replace
397 variables CS and PS with Proc_Id and Subp_Id to better illustrate
398 their purpose. Account for the case where _Postconditions
399 has not been generated yet and the context is aspect/pragma
400 Refined_Post. In that scenario the expected prefix of attribute
401 'Result is the current scope.
402
4032014-10-20 Robert Dewar <dewar@adacore.com>
404
405 * par-ch4.adb (P_Expression): Handle extraneous comma/semicolon
406 in middle of expression with logical operators.
407
4082014-10-20 Robert Dewar <dewar@adacore.com>
409
410 * par-ch13.adb (Possible_Misspelled_Aspect): New function.
411
4122014-10-20 Steve Baird <baird@adacore.com>
413
414 * pprint.adb: Improve Expression_Image function.
415
49d41397
RD
4162014-10-20 Robert Dewar <dewar@adacore.com>
417
418 * gnat_rm.texi: Document No_Tagged_Streams pragma and aspect.
419 * snames.ads-tmpl: Add entry for pragma No_Tagged_Streams.
420 * aspects.ads, aspects.adb: Add aspect No_Tagged_Streams.
421 * einfo.adb (No_Tagged_Streams_Pragma): New field.
422 * einfo.ads: Minor reformatting (reorder entries).
423 (No_Tagged_Streams_Pragma): New field.
424 * exp_ch3.adb: Minor comment update.
425 * opt.ads (No_Tagged_Streams): New variable.
426 * par-prag.adb: Add dummy entry for pragma No_Tagged_Streams.
427 * sem.ads (Save_No_Tagged_Streams): New field in scope record.
428 * sem_attr.adb (Check_Stream_Attribute): Check stream ops
429 prohibited by No_Tagged_Streams.
430 * sem_ch3.adb (Analyze_Full_Type_Declaration): Set
431 No_Tagged_Streams_Pragma.
432 (Analyze_Subtype_Declaration): ditto.
433 (Build_Derived_Record_Type): ditto.
434 (Record_Type_Declaration): ditto.
435 * sem_ch8.adb (Pop_Scope): Restore No_Tagged_Streams.
436 (Push_Scope): Save No_Tagged_Streams.
437 * sem_prag.adb (Analyze_Pragma, case No_Tagged_Streams): Implement new
438 pragma.
439
adc876a8
AC
4402014-10-20 Robert Dewar <dewar@adacore.com>
441
442 * sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads,
443 sem_ch13.adb: Minor reformatting.
444
4452014-10-20 Javier Miranda <miranda@adacore.com>
446
447 * exp_ch3.adb (Expand_N_Object_Declaration): Expand the
448 declaration of a class-wide limited object containing an
449 initializing expression into a renaming declaration. Required to
450 avoid passing such declaration to the backend and also to avoid
451 generating an extra copy.
452
1725676d
AC
4532014-10-20 Eric Botcazou <ebotcazou@adacore.com>
454
455 * inline.adb (List_Inlining_Info): Minor tweaks.
456 (Add_Inlined_Body): Inline the enclosing package
457 if it is not internally generated, even if it doesn't come
458 from source.
459
4602014-10-20 Ed Schonberg <schonberg@adacore.com>
461
462 * sem_ch4.adb (Process_Function_Call): If the first actual
463 denotes a discrete type, the mode must be interpreted as a slice
464 of an array returned by a parameterless call.
465
4662014-10-20 Vasiliy Fofanov <fofanov@adacore.com>
467
468 * prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit
469 searching for runtime referenced by a simple name on a project path.
470
4712014-10-20 Olivier Hainque <hainque@adacore.com>
472
473 * vxworks-x86-link.spec: New file.
474 * system-vxworks-x86.ads: Add pragma Linker_Options to link with
475 vxworks-x86-link.spec.
476
4772014-10-20 Vincent Celier <celier@adacore.com>
478
479 * opt.ads (Origin_Of_Target): New type.
480 (Target_Origin): New variable.
481 * prj-conf.adb (Parse_Project_And_Apply_Config): Record
482 Target_Value and Target_Origin. If target was not specified
483 on the command line with --target=, check if attribute Target
484 is declared in the main project. If it is and it is not the
485 native target, parse again the projects so that 'Target get
486 the new value. Fail if the target has changed again. Invoke
487 Process_Project_And_Apply_Config with Do_Phase_1 set to False
488 is Process_Project_Tree_Phase_1 has already been invoked.
489 * prj-conf.ads (Process_Project_And_Apply_Config): New Boolean
490 parameter Do_Phase_1, defaulted to True.
491 * prj-proc.adb (Expression): Check the special values and
492 defaults for attribute Target.
493
4942014-10-20 Ed Schonberg <schonberg@adacore.com>
495
496 * sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze
497 the subprogram spec of the body in full, because it will be
498 reanalyzed when the declaration itself is analyzed; otherwise. a
499 formal may end up duplicated in the list of formals leading to
500 spurious conformance errors with an existing declaration.
501
3e1862b1
ES
5022014-10-20 Ed Schonberg <schonberg@adacore.com>
503
504 * sem_ch13.adb: Improve error recovery on illegal aspect.
505
a9bbfbd0
AC
5062014-10-20 Arnaud Charlet <charlet@adacore.com>
507
508 * set_targ.adb (Write_Target_Dependent_Values, Write_Line):
509 Fix calling C APIs with no trailing NUL char by calling better
510 wrappers instead.
511
5122014-10-20 Tristan Gingold <gingold@adacore.com>
513
514 * gnat_ugn.texi: Document that gdb users must be in group
515 _developer on mac os.
516
5172014-10-20 Arnaud Charlet <charlet@adacore.com>
518
519 * a-tgdico.ads: Fix typo.
520
5212014-10-20 Ed Schonberg <schonberg@adacore.com>
522
523 * exp_aggr.adb (Convert_To_Assignments): Do not create a
524 transient scope for a component whose type requires it, if the
525 context is an initialization procedure, because the target of
526 the assignment must be visible outside of the block.
527
5282014-10-20 Tristan Gingold <gingold@adacore.com>
529
530 * tracebak.c: Define PC_ADJUST for arm-darwin.
531 * env.c: Remove darwin specific code.
532 * raise-gcc.c (__gnat_Unwind_ForcedUnwind): Error on arm-darwin.
533
5342014-10-20 Ed Schonberg <schonberg@adacore.com>
535
536 * sem_ch3.adb (Analyze_Full_Type_Declaration): If previous view
537 is incomplete rather than private, and full type declaration
538 has aspects, analyze aspects on the full view rather than
539 the incomplete view, to prevent freezing anomalies with the
540 class-wide type.
541
43c58950
AC
5422014-10-17 Robert Dewar <dewar@adacore.com>
543
544 * exp_ch9.adb (Expand_N_Task_Body): Add defense against
545 previous errors.
546 * freeze.adb (Freeze_Entity): Add defense against checking null
547 scope for generic.
548 * restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode.
549 * sem_ch13.adb (Freeze_Entity_Checks): Add defense against
550 previous errors.
551 * sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if
552 in No_Run_Time mode.
553
5542014-10-17 Robert Dewar <dewar@adacore.com>
555
556 * prj-makr.adb: Minor reformatting.
557
5582014-10-17 Robert Dewar <dewar@adacore.com>
559
560 * gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
561 prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible.
562
5632014-10-17 Ed Schonberg <schonberg@adacore.com>
564
565 * exp_prag.adb (Undo_Initialization): If Initialize_Scalars
566 is enabled, code will be generated for some composite types
567 to initialize an object after its declaration. If there is
568 a subsequent Import pragma for the object, that code must be
569 removed as specified byw the semantics of the pragma, and to
570 prevent out-of-order elaboration issues in the back-end.
571
5722014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
573
574 * exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator
575 wrapping mechanism under debug flag -gnatd.h.
576 * debug.adb: Claim debug switch -gnatd.h.
577
fa2e6e25
DR
5782014-10-17 Doug Rupp <rupp@adacore.com>
579
580 * gcc-interface/Makefile.in: Enable the socket runtime bits
581 for Android.
582
c3ba8ed0
ES
5832014-10-17 Ed Schonberg <schonberg@adacore.com>
584
585 * sem_ch13.adb (Add_Invariants, Replace_Type_References): Do
586 not perform the replacement on the expression for an inherited
587 class-wide invariant if in ASIS_Mode and the type reference is
588 already the prefix of a 'Class attribute reference: the expression
589 has already been preanalyzed and the replacement performed when
590 first encountered on the declaration of the parent type.
591
2e215573
RD
5922014-10-17 Robert Dewar <dewar@adacore.com>
593
594 * sem_ch5.adb, sem_ch7.adb, prj-nmsc.adb, sem_ch13.adb, exp_ch3.adb:
595 Minor reformatting.
596
ac2ea5c5
AC
5972014-10-17 Ed Schonberg <schonberg@adacore.com>
598
599 * exp_ch3.adb (Build_Component_Invariant_Call): Retrieve Invariant
600 subprogram from base type.
601 * sem_ch7.adb (Analyze_Package_Specification): Build invariant
602 subprogram for private type, not any of its subtypes.
603 * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set type
604 of procedure entity, because a call to it may be generated in
605 a client unit before the corresponding subprogram declaration
606 is analyzed.
607
6082014-10-17 Vincent Celier <celier@adacore.com>
609
610 * prj-nmsc.adb (Get_Directories): Do not create directories
611 when a project is abstract.
612
6132014-10-17 Ed Schonberg <schonberg@adacore.com>
614
615 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
616 of iteration is given by an expression that is not an array type,
617 verify that its type implements an iterator iterface.
618
99425ec3
AC
6192014-10-17 Robert Dewar <dewar@adacore.com>
620
621 * sem_attr.adb (Eval_Attribute): Ensure that attribute
622 reference is not marked as being a static expression if the
623 prefix evaluation raises CE.
624
6252014-10-17 Robert Dewar <dewar@adacore.com>
626
627 * exp_pakd.adb: Move bit packed entity tables to spec.
628 * exp_pakd.ads: Move bit packed entity tables here from body.
629 * freeze.adb (Freeze_Array_Type): Check that packed array type
630 is supported.
631 * rtsfind.adb (PRE_Id_Table): New table (Entity_Not_Defined):
632 Specialize messages using PRE_Id_Table.
633 * uintp.ads, uintp.adb (UI_Image): New functional form.
634
6352014-10-17 Robert Dewar <dewar@adacore.com>
636
637 * aspects.ads, aspects.adb: Add Suppress_Initialization aspect.
638 * einfo.ads, einfo.adb (Suppress_Initialization): Now applies to
639 E_Variable.
640 * exp_ch3.adb (Default_Initialize_Object): Handle
641 Suppress_Initialization.
642 * exp_prag.adb (Expand_Pragma_Suppress_Initialization): New
643 procedure (Expand_N_Pragma): Handle Suppress_Initialization
644 (Expand_Pragma_Import_Or_Interface): Use Undo_Initialization
645 (Undo_Initialization): New procedure.
646 * sem_prag.adb (Analyze_Pragma, case Suppress_Initialization):
647 This is now allowed for E_Variable case.
648 * gnat_rm.texi: Document new aspect Suppress_Initialization
649 Suppress_Initialization aspect/pragma can apply to variable.
650 * einfo.ads: Minor reformatting.
651
6522014-10-17 Arnaud Charlet <charlet@adacore.com>
653
654 * spark_xrefs.ads: Add documentation pointer to Flow_Computed_Globals.
655
6562014-10-17 Robert Dewar <dewar@adacore.com>
657
658 * cstand.adb (Create_Standard): Mark Short_Integer as
659 implementation defined.
660 * sem_util.adb (Set_Entity_With_Checks): Avoid blow up for
661 compiler built with assertions for No_Implementation_Identifiers test.
662
99bd87dd
RD
6632014-10-17 Robert Dewar <dewar@adacore.com>
664
665 * aspects.ads: Documentation fix, aspect Lock_Free does have a
666 corresponding pragma.
667 * gnat_rm.texi: Document implementation defined boolean aspects
668 as boolean.
669
dc06dd83
AC
6702014-10-17 Ed Schonberg <schonberg@adacore.com>
671
672 * sem_ch13.adb (Add_Invariants): For a class-wide type invariant,
673 preserve semantic information on the invariant expression
674 (typically a function call) because it may be inherited by a
675 type extension in a different unit, and it cannot be resolved
676 by visibility elsewhere because it may refer to local entities.
677
6782014-10-17 Robert Dewar <dewar@adacore.com>
679
680 * gnat_rm.texi: Document that string literal can be used for
681 pragma Warnings when operating in Ada 83 mode.
682
6832014-10-17 Ed Schonberg <schonberg@adacore.com>
684
685 * freeze.adb (Find_Aggregate_Component_Desig_Type): New
686 subsidiary function to Freeze_ Expression, used to determine
687 whether an aggregate for an array of access types also freezes the
688 designated type, when some aggregate components are allocators.
689
6902014-10-17 Ed Schonberg <schonberg@adacore.com>
691
692 * a-strsea.adb (Find_Token): AI05-031 indicates that the
693 procedure must raise Index_Error when Source is not empty and
694 the From parameter is not within the range of the Source string.
695
6962014-10-17 Robert Dewar <dewar@adacore.com>
697
698 * sem_prag.adb (Is_Static_String_Expression): Allow string
699 literal in Ada 83 mode.
700
c3ed5e9e
AC
7012014-10-17 Vincent Celier <celier@adacore.com>
702
703 * prj-conf.adb (Get_Config_Switches): In CodePeer mode, do
704 not take into account any compiler command from package IDE.
705
7062014-10-17 Ed Schonberg <schonberg@adacore.com>
707
708 * sem_ch12.adb (Build_Function_Wrapper): The formals of the
709 wrapper must have the same identifiers as those of the formal
710 subprogram, because calls within the generic may use named
711 associations.
712
e7cd165c
RD
7132014-10-17 Robert Dewar <dewar@adacore.com>
714
715 * sem_ch3.adb, a-strsea.adb: Minor reformatting.
716 * par-ch6.adb (P_Subprogram): Fix bad handling of null procedures.
717
b98b57a5
ES
7182014-10-17 Ed Schonberg <schonberg@adacore.com>
719
720 * sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect
721 specfications from original type declaration to declaration of
722 implicit base, because original node is rewritten as a subtype
723 declaration on which type aspects do not belong.
724
fd4647be
AC
7252014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
726
727 * sem_ch3.adb (Propagate_Default_Init_Cond_Attributes): A derived type
728 inherits the attributes related to pragma Default_Initial_Condition
729 from its parent type.
730
7312014-10-17 Ed Schonberg <schonberg@adacore.com>
732
733 * a-strsea.adb (Index - versions with a From parameter):
734 According to AI05-056, the Index functions with a From parameter
735 return 0 if the source is an empty string.
736
7372014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
738
739 * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Disable
740 the consistency checks in ASIS mode.
741
7422014-10-17 Arnaud Charlet <charlet@adacore.com>
743
744 * s-expmod.ads: Minor typo fix.
745
a92230c5
AC
7462014-10-17 Robert Dewar <dewar@adacore.com>
747
748 * sem_util.adb: Minor reformatting.
749
7502014-10-17 Ed Schonberg <schonberg@adacore.com>
751
752 * sem_ch12.adb (Build_Function_Wrapper): Build wrappers for
753 actuals that are defaulted subprograms of the formal subprogram
754 declaration.
755
7562014-10-17 Robert Dewar <dewar@adacore.com>
757
758 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we deal with the
759 implementation base type.
760 * sinfo.ads: Add a note for N_Op_Eq and N_Op_Ne that record
761 operands are always expanded out into component comparisons.
762
7632014-10-17 Robert Dewar <dewar@adacore.com>
764
765 * s-vallli.adb: Minor comment correction.
766 * s-valuti.ads: Minor comment reformatting.
767
7682014-10-17 Robert Dewar <dewar@adacore.com>
769
770 * gnat_rm.texi: Document System.Atomic_Counters.
771 * impunit.adb: Add System.Atomic_Counters (s-atocou.ads) to the
772 list of user- accessible units added as children of System.
773 * s-atocou.ads: Update comment.
774
7752014-10-17 Arnaud Charlet <charlet@adacore.com>
776
777 * s-expmod.ads: Add comments.
778
38d0d6c8
HK
7792014-10-17 Hristian Kirtchev <kirtchev@adacore.com>
780
781 * sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation
782 of all attributes related to pragma Default_Initial_Condition.
783 (Build_Derived_Type): Propagation of all attributes related
784 to pragma Default_Initial_Condition.
785 (Process_Full_View): Account for the case where the full view derives
786 from another private type and propagate the attributes related
787 to pragma Default_Initial_Condition to the private view.
788 (Propagate_Default_Init_Cond_Attributes): New routine.
789 * sem_util.adb: Alphabetize various routines.
790 (Build_Default_Init_Cond_Call): Use an unchecked type conversion
791 when calling the default initial condition procedure of a private type.
792 (Build_Default_Init_Cond_Procedure_Declaration): Prevent
793 the generation of multiple default initial condition procedures.
794
2211a35f
AC
7952014-10-17 Robert Dewar <dewar@adacore.com>
796
797 * prj-conf.adb: Revert previous change.
798
469fba4a
AC
7992014-10-17 Robert Dewar <dewar@adacore.com>
800
801 * lib-writ.ads, s-valdec.ads: Minor reformatting.
802
8032014-10-17 Ed Schonberg <schonberg@adacore.com>
804
805 * sem_ch12.adb: Additional work on function wrappers.
806
8072014-10-17 Eric Botcazou <ebotcazou@adacore.com>
808
809 * exp_util.adb (Possible_Bit_Aligned_Component): Also recurse
810 on the renamed object of renamings.
811
8122014-10-17 Vincent Celier <celier@adacore.com>
813
814 * prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer
815 mode, always use the native target.
816
83685514
AM
8172014-10-16 Andrew MacLeod <amacleod@redhat.com>
818
819 * gcc-interface/misc.c: Adjust include files.
820
e7da0c23
EB
8212014-10-13 Eric Botcazou <ebotcazou@adacore.com>
822 Alan Modra <amodra@gmail.com>
823
824 PR ada/63225
825 * uintp.adb (Vector_To_Uint): Move from here to...
826 * uintp.ads (UI_Vector): Make public.
827 (Vector_To_Uint): ...here.
828
9ceeaf9d
AC
8292014-10-10 Robert Dewar <dewar@adacore.com>
830
831 * freeze.adb, sem_attr.adb: Minor reformatting.
832
8332014-10-10 Johannes Kanig <kanig@adacore.com>
834
835 * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
836 a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition"
837 to container type.
838
8392014-10-10 Vincent Celier <celier@adacore.com>
840
841 * prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get
842 any configuration switches from the project file.
843
8442014-10-10 Ed Schonberg <schonberg@adacore.com>
845
846 * sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper.
847 (Build_Function_Wrapper): New function, to construct a wrapper
848 function for actuals that are functions with an arbitrary
849 number of parameters. Used in GNATProve mode to simplify proof
850 propagation in instantiations.
851
4d1429b2
AC
8522014-10-10 Robert Dewar <dewar@adacore.com>
853
854 * freeze.adb, gnat1drv.adb, sem_ch13.adb: Minor reformatting and
855 code clean up.
856
8572014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
858
859 * sem_res.adb (Is_OK_Volatile_Context): Allow
860 a volatile object reference to appear as the expression of a
861 type conversion.
862
c9f95e4c
AC
8632014-10-10 Ed Schonberg <schonberg@adacore.com>
864
865 * sem_ch13.adb (Analyze_Aspect_Specifications, Library_Unit_Aspects):
866 Aspect specification is legal on a local instantiation of a
867 library-level generic unit.
868
8692014-10-10 Gary Dismukes <dismukes@adacore.com>
870
871 * gnat1drv.adb (Adjust_Global_Switches): Set Front_End_Inlining
872 if inlining has been enabled via -gnatn and the target is not GCC.
873
8742014-10-10 Ed Schonberg <schonberg@adacore.com>
875
876 * freeze.adb (Freeze_Entity): Freezing a subprogram does
877 not always freeze its profile. In particular, an attribute
878 reference that takes the access type does not freeze the types
879 of the formals.
880
32a21096
AC
8812014-10-10 Robert Dewar <dewar@adacore.com>
882
883 * errout.adb (Adjust_Name_Case): New procedure.
884 (Set_Msg_Node): Use Adjust_Name_Case.
885 * errout.ads (Adjust_Name_Case): New procedure.
886 * exp_intr.adb (Add_Source_Info): Minor code reorganization
887 (use Ekind_In).
888 (Write_Entity_Name): Use Errout.Adjust_Name_Case.
889 * sem_prag.adb (Is_Non_Significant_Pragma_Reference): Review
890 and fix up entries in Sig_Flags, and correct logical errors in
891 function itself.
892 * sprint.adb (Sprint_Node_Actual): Properly print string for
893 raise statement.
894
8952014-10-10 Ed Schonberg <schonberg@adacore.com>
896
897 * sem_ch3.adb (Analyze_Object_Declaration): For an object of an
898 anonymous array type with delayed aspects, defer freezing of
899 type until object itself is frozen.
900 * freeze.adb (Freeze_Entity): When freezing an object of an
901 anonymous array type with delayed aspects, remove freeze node of
902 object after freezing type, to prevent out-of-order elaboration
903 in the back-end. The initialization call for the object has
904 already been constructed when expanding the object declaration.
905
8f819471
RD
9062014-10-10 Robert Dewar <dewar@adacore.com>
907
908 * exp_intr.adb (Write_Entity_Name): Moved to outer level
909 (Write_Entity_Name): Properly handle operator names
910 (Expand_Source_Info): New procedure.
911 * exp_intr.ads (Add_Source_Info): New procedure.
912
9132014-10-10 Robert Dewar <dewar@adacore.com>
914
915 * butil.ads: Minor reformatting.
916 * sem_ch5.adb: Code clean up.
917
9182014-10-10 Robert Dewar <dewar@adacore.com>
919
920 * exp_ch11.adb (Expand_N_Raise_Statement): Handle
921 Prefix_Exception_Messages.
922 * opt.adb: Handle new flags Prefix_Exception_Message[_Config].
923 * opt.ads: New flags Prefix_Exception_Message[_Config].
924 * par-prag.adb: New dummy entry for pragma Prefix_Exception_Messages.
925 * snames.ads-tmpl: Add entries for new pragma Prefix_Exception_Messages.
926 * sem_prag.adb: Implement new pragma Prefix_Exception_Messages
927 * gnat_rm.texi: Document pragma Prefix_Exception_Messages.
928
d6cd5d34
AC
9292014-10-10 Gary Dismukes <dismukes@adacore.com>
930
931 * sinfo.ads, gnat_ugn.texi, a-except.adb, a-except-2005.adb,
932 raise-gcc.c Spelling changes (prolog => prologue, epilog => epilogue).
933
9342014-10-10 Ed Schonberg <schonberg@adacore.com>
935
936 * sem_ch5.adb (Is_Wrapped_In_Block): Handle properly blocks that
937 contain pragmas generated for loop invariants and type predicates.
938 Clarify use of this subprogram.
939
33b87152
AC
9402014-10-10 Yannick Moy <moy@adacore.com>
941
942 * sem_prag.adb (Analyze_Global_Item): Accept formal objects in Global
943 contracts.
944 * errout.adb, errout.ads (SPARK_Msg_NE): Issue error unless
945 SPARK_Mode is Off.
946
9472014-10-10 Vadim Godunko <godunko@adacore.com>
948
949 * a-stwima.adb (To_Sequence): Compute size of result array.
950
9512014-10-10 Javier Miranda <miranda@adacore.com>
952
953 * gnat_ugn.texi (Interfacing with C++ at the Class Level): Update the
954 sources of the example to avoid a warning when the Ada files are
955 automatically generated by the binding generator.
956
9572014-10-10 Ed Schonberg <schonberg@adacore.com>
958
959 * sem_attr.adb (Resolve_Attribute, case 'Update): Set
960 Do_Range_Check on the expression of a record component
961 association when needed, as is done for array components, when
962 the corresponding type is a scalar type.
963
79904ebc
AC
9642014-10-10 Gary Dismukes <dismukes@adacore.com>
965
966 * a-coinho-shared.adb: Minor typo fix.
967 * prj-env.ads: Minor reformatting.
968
9692014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
970
971 * sem_res.adb (Resolve_String_Literal): Do not
972 generate a string literal subtype for the default expression of
973 a formal parameter in GNATprove mode.
974
9752014-10-10 Yannick Moy <moy@adacore.com>
976
977 * errout.adb (SPARK_Msg_N): Issue error unless SPARK_Mode is Off.
978
9792014-10-10 Ed Schonberg <schonberg@adacore.com>
980
981 * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Analyze
982 declaration for loop parameter before rest of loop, and set
983 entity kind to prevent assignments to it in the user code.
984 * sem_ch3.adb (Analyze_Object_Contract): No contracts apply to the
985 loop parameter in an element iteration over o formal container.
986
9872014-10-10 Robert Dewar <dewar@adacore.com>
988
989 * gnat_ugn.texi: Document use of user-level routines to handle
990 e.g. col major arrays.
991
9922014-10-10 Doug Rupp <rupp@adacore.com>
993
994 * s-osinte-android.adb: Fix misspelling.
995 * gsocket.h: Tweak the Android quirks.
996
9972014-10-10 Robert Dewar <dewar@adacore.com>
998
999 * errout.ads (SPARK_Msg_N): Fix spec to match change in body.
1000
80363c2f
AC
10012014-10-10 Robert Dewar <dewar@adacore.com>
1002
1003 * sem_ch13.adb: Minor code reorganization.
1004
10052014-10-10 Pat Rogers <rogers@adacore.com>
1006
1007 * gnat_rm.texi: Text now indicates pragma No_Run_Time is not
1008 for users.
1009
10102014-10-10 Vadim Godunko <godunko@adacore.com>
1011
1012 * a-coinho-shared.adb: Add minor comment.
1013 * a-stzmap.adb (To_Sequence): Compute size of result array.
1014
d56f4479
JM
10152014-10-10 Javier Miranda <miranda@adacore.com>
1016
1017 * exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
1018 if-stmt to match its current documentation.
1019
b9696ffb
AC
10202014-10-10 Robert Dewar <dewar@adacore.com>
1021
1022 * sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
1023 freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
1024 sem_ch6.adb, sem_cat.adb, sem_disp.adb
1025 (Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
1026 throughout where appropriate.
1027
10282014-10-10 Bob Duff <duff@adacore.com>
1029
1030 * a-coinho-shared.ads: Minor reformatting.
1031 * s-traceb.adb: Minor clean up.
1032
10332014-10-10 Robert Dewar <dewar@adacore.com>
1034
1035 * ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
1036 * ali.ads (GNATprove_Mode): New component in ALI table.
1037 (GNATprove_Mode_Specified): New global.
1038 * gnatbind.adb (Gnatbind): Give fatal error if any file compiled
1039 in GNATProve mode.
1040 * lib-writ.ads, lib-writ.adb (GP): New flag on P line for
1041 GNATProve_Mode.
1042
10432014-10-10 Javier Miranda <miranda@adacore.com>
1044
1045 * exp_ch3.adb (Build_Init_Procedure): Adding assertion.
1046 (Build_Init_Statement): Ensure that statements
1047 associated with the parent components are located at the beginning
1048 of the returned list of statements.
1049
10502014-10-10 Ed Schonberg <schonberg@adacore.com>
1051
1052 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
1053 view of a private type T that has a type invariant is a scalar
1054 or constrained array type, the base type created for the full
1055 view has the same type invariant.
1056
1e3ed0fc
RD
10572014-10-10 Robert Dewar <dewar@adacore.com>
1058
1059 * exp_util.ads, sem_ch12.adb, exp_util.adb, i-fortra.ads: Minor code
1060 reorganization.
1061
53f3f4e3
EB
10622014-09-22 Eric Botcazou <ebotcazou@adacore.com>
1063
1064 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
1065 * gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.
1066
717c4789
JJ
10672014-09-15 Jakub Jelinek <jakub@redhat.com>
1068
1069 * gcc-interface/Make-lang.in (check_acats_numbers0,
1070 check_acats_numbers1, check_acats_numbers2, check_acats_numbers3,
1071 check_acats_numbers4, check_acats_numbers5, check_acats_numbers6,
1072 check_acats_numbers, check_acats_subdirs): New variables.
1073 (check_acats_targets): Use $(check_acats_subdirs).
1074 (check-acats, check-acats%): Rewritten so that for parallelized
1075 testing each job runs all the chapters files, with
1076 GCC_RUNTEST_PARALLELIZE_DIR set in environment. Prepare the support
1077 directory sequentially and share it.
1078 (check-acats-subtargets): Always print just check-acats.
1079
347990b7
ML
10802014-08-25 Martin Liska <mliska@suse.cz>
1081
1082 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Adjust to
1083 new cgraph interface.
1084 (gnat_write_global_declarations): Likewise.
1085
f9089781
SL
10862014-08-13 Sylvestre Ledru <sylvestre@debian.org>
1087
1088 * 9drpc.adb: Fix a typo
1089 * s-interr.ads: Likewise
1090 * s-taskin.ads: Likewise
1091 * s-traces.ads: Likewise
1092 * sysdep.c: Likewise
1093
06a1d02e
JS
10942014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com>
1095
1096 * socket.c: For RTEMS, use correct prototype of gethostbyname_r().
1097 * gsocket.h Add include of <unistd.h> on RTEMS.
1098
a001528d
JS
10992014-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
1100
1101 * s-osinte-rtems.adb: Correct formatting of line in license block.
1102
eefe9555
AC
11032014-08-04 Claire Dross <dross@adacore.com>
1104
1105 * exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
1106 For an instance, look at the scope before the generic parent.
1107
11082014-08-04 Yannick Moy <moy@adacore.com>
1109
1110 * lib-writ.ads: Update comments.
1111 * sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add
1112 parameters to filter inherited subprograms.
1113
9a9d35ff
AC
11142014-08-04 Robert Dewar <dewar@adacore.com>
1115
1116 * gnat_rm.texi: Add section on use of address clause for memory
1117 mapped I/O.
1118
11192014-08-04 Ed Schonberg <schonberg@adacore.com>
1120
1121 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in
1122 particular the subtype created for a generic actual, inherits
1123 invariant information from the base type.
1124
c2a2dbcc
RD
11252014-08-04 Robert Dewar <dewar@adacore.com>
1126
1127 * aspects.ads, aspects.adb: Add entries for aspect Obsolescent.
1128 * gnat_rm.texi: Add documentation for aspect Obsolescent.
1129 * sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect
1130 Obsolescent.
1131 (Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent.
1132 * s-osprim-mingw.adb: Minor reformatting.
1133 * sem_res.adb (Is_Atomic_Ref_With_Address): New function
1134 (Resolve_Indexed_Component): Rework warnings for non-atomic access
1135 (Resolve_Selected_Component): Add warnings for non-atomic access.
1136
6cf7eae6
AC
11372014-08-04 Doug Rupp <rupp@adacore.com>
1138
1139 * g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec
1140 formal to long_long.
1141 * g-calend.ads (timeval): Bump up size to accomodate sec type.
1142 * s-taprop-linux.adb (timeval_to_duration): Change sec formal to
1143 long_long
1144 * s-osprim-posix.adb (timeval): Bump up size to accomodate
1145 new sec type.
1146 (timeval_to_duration): Change sec formal to Long_Long_Integer
1147 * s-osinte-darwin.adb (timeval): Bump up
1148 size to accomodate new sec type.
1149 (timeval_to_duration): Change sec formal to long_long
1150 * s-osinte-android.adb: Likewise.
1151 * cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change
1152 sec formal from long to long long.
1153
11542014-08-04 Robert Dewar <dewar@adacore.com>
1155
1156 * sem_res.adb (Resolve_Qualified_Expression): Make sure
1157 Do_Range_Check flag gets set.
1158
bc3c2eca
AC
11592014-08-04 Robert Dewar <dewar@adacore.com>
1160
1161 * einfo.ads, einfo.adb (Is_Standard_String_Type): New function.
1162 * exp_ch3.adb (Build_Array_Init_Proc): Use
1163 Is_Standard_String_Type.
1164 (Expand_Freeze_Array_Type): ditto.
1165 (Get_Simple_Init_Val): ditto.
1166 (Needs_Simple_Initialization): ditto.
1167 * sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type.
1168 * sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type.
1169
11702014-08-04 Pascal Obry <obry@adacore.com>
1171
1172 * adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of
1173 _stprintf which insert garbage into the wfull_path buffer.
1174
11752014-08-04 Arnaud Charlet <charlet@adacore.com>
1176
1177 * cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks
1178 code.
1179 * fe.h: Minor reformatting.
1180
11812014-08-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1182
1183 * cstreams.c: (_LARGEFILE_SOURCE): Guard definition.
1184
11852014-08-04 Robert Dewar <dewar@adacore.com>
1186
1187 * par-ch13.adb (Get_Aspect_Specifications): Improve error
1188 recovery, fixing a -gnatQ bomb.
1189
24d4b3d5
AC
11902014-08-04 Yannick Moy <moy@adacore.com>
1191
1192 * sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
1193 do not generate two Itypes with the same name for an array
1194 definition.
1195 * sinfo.ads: Expand doc on GNATprove mode.
1196
11972014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1198
1199 * exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
1200 master and storage pool attributes on the root type of an
1201 anonymous access type.
1202 * exp_ch4.adb (Expand_N_Allocator): Set the finalization master
1203 and storage pool attributes on the root type of an anonymous
1204 access type.
1205
12062014-08-04 Arnaud Charlet <charlet@adacore.com>
1207
1208 * exp_ch3.adb: Minor reformatting.
1209 * tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
1210 * tracebak.c: Remove use of above files.
1211 * gcc-interface/Makefile.in: Update dependencies.
1212
12132014-08-04 Pierre-Marie Derodat <derodat@adacore.com>
1214
1215 * gcc-interface/utils.c (gnat_set_type_context): Also set the
1216 context for parallel types' TYPE_STUB_DECL. Do not change
1217 anything if the context is already set for them.
1218 (gnat_pushdecl): Update the comment for calls to
1219 gnat_set_type_context to mention parallel types.
1220 (add_parallel_type): When adding a context-less parallel type to
1221 a type that has a context, propagate the context from the latter
1222 type to the former.
1223 (process_deferred_decl_context): Call gnat_set_type_context
1224 rather than manually setting the type context.
1225 (build_unc_object_type): Call gnat_set_type_context on the
1226 template type.
1227
69fff50e
AC
12282014-08-04 Ed Schonberg <schonberg@adacore.com>
1229
1230 * exp_ch5.adb (Expand_N_Case_Statement): If a choice is a
1231 subtype indication and the case statement has only two choices,
1232 replace subtype indication with its range, because the resulting
1233 membership test cannot have a subtype indication as an operand.
1234
12352014-08-04 Arnaud Charlet <charlet@adacore.com>
1236
1237 * exp_ch3.adb: Update comments, minor reformatting.
1238
e85f4337
HK
12392014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1240
1241 * sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
1242 the default initial condition procedures are build here.
1243 * sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
1244 analyzed argument of pragma Default_Initial_Condition in some
1245 dummy code as GNATprove mode disables assertions, but still
1246 needs to see the argument.
1247
135da41f
RD
12482014-08-04 Robert Dewar <dewar@adacore.com>
1249
1250 * exp_ch6.adb, sem_util.adb: Minor reformatting.
1251
6a74a7b0
AC
12522014-08-04 Olivier Hainque <hainque@adacore.com>
1253
1254 * a-comutr.ads: Set Root_Node_Type'Alignment to
1255 Standard'Maximum_Alignment, so that it is at least as large as
1256 the max default for Tree_Node_Type'Alignment.
1257
12582014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1259
1260 * exp_ch3.adb (Freeze_Type): Remove the generation and inheritance
1261 of the default initial condition procedure [body].
1262 * sem_ch3.adb (Analyze_Declarations): Create the bodies of
1263 all default initial condition procedures at the end of private
1264 declaration analysis.
1265 * sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New
1266 routine.
1267 (Build_Default_Init_Cond_Procedure_Body): Merged in the
1268 processing of routine Build_Default_Init_Cond_Procedure_Bodies.
1269 * sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies):
1270 New routine.
1271 (Build_Default_Init_Cond_Procedure_Body): Removed.
1272
12732014-08-04 Ed Schonberg <schonberg@adacore.com>
1274
1275 * sem_elab.adb (Check_Elab_Call): Do not check a call to a
1276 postcondtion.
1277 * exp_ch6.adb (Expand_Call): Clarify handling of inserted
1278 postcondition call.
1279
51dcceec
AC
12802014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1281
1282 * sem_prag.adb (Analyze_Pragma): Ensure that an
1283 internally generated spec for a stand alone body is recognized
1284 as a proper context for pragma SPARK_Mode.
1285
12862014-08-04 Robert Dewar <dewar@adacore.com>
1287
1288 * erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors.
1289
12902014-08-04 Arnaud Charlet <charlet@adacore.com>
1291
1292 * adabkend.adb (Scan_Back_End_Switches): Ignore extra -o
1293 when -gnatO has already been specified, for compatibility
1294 with gcc driver.
1295 (Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in
1296 codepeer mode.
1297 * g-expect.ads: Fix typo.
1298
12992014-08-04 Thomas Quinot <quinot@adacore.com>
1300
1301 * exp_ch4.adb (Insert_Dereference_Action): the actual Size
1302 must account for the bounds template if the designated type is
1303 an unconstrained array.
1304
df910722
HK
13052014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1306
1307 * a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add
1308 SPARK_Mode in the body.
1309 * sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original
1310 way to verify the consistency of SPARK_Mode between a spec and
1311 a body.
1312 * sem_ch12.adb (Analyze_Package_Instantiation): Remove the call
1313 to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
1314 manually.
1315 (Analyze_Subprogram_Instantiation): Remove the call to
1316 Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
1317 manually.
1318 * sem_prag.adb (Analyze_Pragma): Remove local variable
1319 Inst_Id. SPARK_Mode can no longer be applied to a package or
1320 subprogram instantiation.
1321 * sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode):
1322 Removed.
1323
4ff2b6dc
AC
13242014-08-04 Robert Dewar <dewar@adacore.com>
1325
1326 * sem_prag.adb, osint.adb, osint.ads: Minor reformatting.
1327
13282014-08-04 Yannick Moy <moy@adacore.com>
1329
1330 * sem_ch3.adb (Derive_Type_Declaration,
1331 Process_Discriminants): Remove SPARK-specific legality checks.
1332
13332014-08-04 Thomas Quinot <quinot@adacore.com>
1334
1335 * g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram.
1336 * gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support
1337 for HMAC.
1338
e72a92e4
HK
13392014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1340
1341 * sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the
1342 compatibility of SPARK_Mode between a spec and a body, use the
1343 SPARK_Mode of the public part.
1344 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use
1345 the already available routine to exchange the aspects between
1346 the template and its copy. Analyze the aspects of copy to
1347 ensure that the corresponding pragmas perform their semantic
1348 effects. The partial analysis of aspects is no longer needed.
1349 (Analyze_Package_Instantiation): Save and restore the SPARK_Mode
1350 of the context.
1351 (Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of
1352 the context.
1353 * sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram
1354 instantiation which does not come from source.
1355
f1c7be38
AC
13562014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1357
1358 * a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add
1359 SPARK_Mode pragmas to the public and private part of the unit.
1360 * sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived
1361 type cannot have discriminants if the parent type already has
1362 discriminants.
1363 (Process_Discriminants): Ensure that the type of a discriminant is
1364 discrete.
1365 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on
1366 SPARK_Mode compatibility between a spec and a body can now be
1367 safely performed while processing a generic.
1368 * sem_ch7.adb (Analyze_Package_Body_Helper): The check on
1369 SPARK_Mode compatibility between a spec and a body can now be
1370 safely performed while processing a generic.
1371 * sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be
1372 safely analyzed when processing a generic.
1373
13742014-08-04 Nicolas Roche <roche@adacore.com>
1375
1376 * g-dirope.adb: Minor reformating.
1377
3ccedacc
AC
13782014-08-04 Robert Dewar <dewar@adacore.com>
1379
1380 * sem_ch6.adb: Minor reformatting.
1381
13822014-08-04 Ed Schonberg <schonberg@adacore.com>
1383
1384 * sem_prag.adb (Analyze_Pragma, case Assert and related pragmas):
1385 Before normalizing these pragmas into a pragma Check, preanalyze
1386 the optional Message argument, (which is subsequently copied)
1387 so that it has the proper semantic information for ASIS use.
1388 * sem_case.adb: Initialize flag earlier.
1389 * osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when
1390 the full source path of a configuration file is requested.
1391 (Read_Source_File): Use Full_Name parameter..
1392
f3124d8f
HK
13932014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1394
1395 * opt.ads Alphabetize various global flags. New flag
1396 Ignore_Pragma_SPARK_Mode along with a comment on usage.
1397 * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
1398 Pragma SPARK_Mode is now allowed in generic units.
1399 (Analyze_Subprogram_Body_Helper): Do not verify the compatibility
1400 between the SPARK_Mode of a spec and that of a body when inside
1401 a generic.
1402 * sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the
1403 compatibility between the SPARK_Mode of a spec and that of a
1404 body when inside a generic.
1405 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
1406 Pragma SPARK_Mode is now allowed in generic units.
1407 (Analyze_Package_Instantiation): Save and restore the value of
1408 flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
1409 the governing SPARK_Mode before analyzing the instance.
1410 (Analyze_Subprogram_Instantiation): Save and restore the value
1411 of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
1412 the governing SPARK_Mode before analyzing the instance.
1413 * sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the
1414 placement of a source pragma when inserting the generated pragma
1415 for aspect SPARK_Mode.
1416 * sem_prag.adb (Analyze_Pragma): Reimplement the handling of
1417 pragma SPARK_Mode to allow for generics and their respective
1418 instantiations.
1419 * sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed.
1420 (Set_Ignore_Pragma_SPARK_Mode): New routine.
1421
f10ff6cc
AC
14222014-08-04 Eric Botcazou <ebotcazou@adacore.com>
1423
53f3f4e3
EB
1424 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with
1425 renaming discriminants in tagged types first.
1426 * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test
1427 the underlying type of the prefix.
1428 (Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..."
1429 (process_freeze_entity): Reset the nodes of all the view of a type,
1430 if any.
f10ff6cc
AC
1431
14322014-08-04 Doug Rupp <rupp@adacore.com>
1433 Olivier Hainque <hainque@adacore.com>
1434
53f3f4e3 1435 * gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7
f10ff6cc 1436 and remove incorrect EH_MECHANISM macros.
53f3f4e3 1437 Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to
f10ff6cc
AC
1438 EXTRA_LIBGNAT_OBJS.
1439
74014283
RD
14402014-08-04 Robert Dewar <dewar@adacore.com>
1441
1442 * exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix
1443 of constructed 'Valid attribute in -gnatVa mode does not appear
1444 to come from source.
1445 * sem_attr.adb (Analyze_Access_Attribute): Don't set
1446 Never_Set_In_Source for non-source reference.
1447 * sem_util.adb: Minor reformatting.
1448 * sem_warn.adb (Check_References): Don't check Address_Taken,
1449 not necessary, see comment.
1450
536a2daf
AC
14512014-08-04 Robert Dewar <dewar@adacore.com>
1452
1453 * sem_util.adb, sem_case.adb: Minor reformatting.
1454
14552014-08-04 Ed Schonberg <schonberg@adacore.com>
1456
1457 * exp_ch9.adb (Extract_Entry): If the synchronized object is a
1458 limited view, replace with non-limited view, which is available
1459 at the point of an entry call.
1460
14612014-08-04 Ed Schonberg <schonberg@adacore.com>
1462
1463 * exp_ch6.adb (Expand_Call): If the call is to a function in
1464 a run-time unit that is marked Inline_Always, we must suppress
1465 debugging information on it, so that the code that is eventually
1466 inlined will not affect debugging of the user program.
1467
2e1295ad
AC
14682014-08-04 Robert Dewar <dewar@adacore.com>
1469
1470 * inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment
1471 fixes.
1472
14732014-08-04 Ed Schonberg <schonberg@adacore.com>
1474
1475 * sem_prag.adb (Process_Import_Or_Interface): Handle properly
1476 an aspect Import that specifies a False value.
1477
14782014-08-04 Robert Dewar <dewar@adacore.com>
1479
1480 * gnat_rm.texi: Add section on aspect Invariant'Class.
1481
14822014-08-04 Ed Schonberg <schonberg@adacore.com>
1483
1484 * sem_case.adb (Check_Choice_Set): New flag Predicate_Error,
1485 for better control of cascaded error messages when some choice
1486 in a case statement over a predicated type violates the given
1487 static predicate.
1488
14892014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1490
1491 * sem_ch3.adb (Build_Derived_Type): Modify the
1492 inheritance of the rep chain to ensure that a non-tagged type's
1493 items are not clobbered during the inheritance.
1494
82701811
AC
14952014-08-04 Robert Dewar <dewar@adacore.com>
1496
1497 * sem_ch3.adb, einfo.ads: Minor reformatting.
1498
14992014-08-04 Yannick Moy <moy@adacore.com>
1500
1501 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix
1502 detection of subprograms that cannot be inlined in GNATprove mode.
1503
15042014-08-04 Ed Schonberg <schonberg@adacore.com>
1505
1506 * einfo.adb: Add guard to Returns_Limited_View.
1507
15082014-08-04 Jose Ruiz <ruiz@adacore.com>
1509
1510 * s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of
1511 the secondary stack to respect the alignments of the returned objects.
1512
a4b07ff0
AC
15132014-08-04 Ed Schonberg <schonberg@adacore.com>
1514
1515 * einfo.ads, einfo.adb (Returns_Limited_View): New flag defined
1516 on function entities whose return type is a limited view.
1517 * freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine
1518 where to place the freeze node for a function that returns the
1519 limited view of a type, when the function is called and frozen
1520 in a different unit.
1521
15222014-08-04 Eric Botcazou <ebotcazou@adacore.com>
1523
1524 * sem_ch3.adb (Build_Derived_Private_Type): Minor code
1525 refactoring.
1526
d10bb9d5
AC
15272014-08-04 Robert Dewar <dewar@adacore.com>
1528
1529 * gnat_ugn.texi: Clarify documentation on assertions.
1530
15312014-08-04 Ed Schonberg <schonberg@adacore.com>
1532
1533 * sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn
1534 if a component association has a box initialization when the
1535 component type has no default initialization, either through an
1536 initial value, an aspect, or an implicit initialization procedure.
1537
15382014-08-04 Ed Schonberg <schonberg@adacore.com>
1539
1540 * freeze.adb: Code clean up.
1541
0fea901b
AC
15422014-08-04 Thomas Quinot <quinot@adacore.com>
1543
1544 * sem_ch5.adb: Minor reformatting.
1545
15462014-08-04 Ed Schonberg <schonberg@adacore.com>
1547
1548 * freeze.adb (Late_Freeze_Subprogram): Following AI05-151,
1549 a function can return a limited view of a type declared
1550 elsewhere. In that case the function cannot be frozen at the end
1551 of its enclosing package. If its first use is in a different unit,
1552 it cannot be frozen there, but if the call is legal the full view
1553 of the return type is available and the subprogram can now be
1554 frozen. However the freeze node cannot be inserted at the point
1555 of call, but rather must go in the package holding the function,
1556 so that the backend can process it in the proper context.
1557
11261647
AC
15582014-08-04 Robert Dewar <dewar@adacore.com>
1559
1560 * exp_ch5.adb, sem_ch5.adb, einfo.ads: Minor reformatting.
1561
15622014-08-04 Arnaud Charlet <charlet@adacore.com>
1563
1564 * sem_ch4.adb (Operator_Check): Refine previous change.
1565
1e3689bd
AC
15662014-08-04 Arnaud Charlet <charlet@adacore.com>
1567
1568 * sem_scil.ads: Improve comments.
1569 * sem_ch4.adb (Analyze_Equality_Op): Add support for
1570 Allow_Integer_Address (equality between Address and Integer).
1571
15722014-08-04 Yannick Moy <moy@adacore.com>
1573
1574 * a-cfhama.adb, a-cforse.adb: Minor fixes to avoid using prefix
1575 notation on untagged objects.
1576 * sem.ads: Update comment.
1577 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do
1578 not inline subprograms declared in the visible part of a package.
1579
aa499784
ES
15802014-08-04 Ed Schonberg <schonberg@adacore.com>
1581
1582 * exp_ch5.adb: minor reformatting.
1583 * einfo.ads, einfo.adb (Is_Processed_Transient): Applies to loop
1584 parameters.
1585
8f4a8bef
AC
15862014-08-04 Thomas Quinot <quinot@adacore.com>
1587
1588 * s-fatgen.adb: Minor reformatting.
1589
15902014-08-04 Arnaud Charlet <charlet@adacore.com>
1591
1592 * exp_util.adb (Is_Possibly_Unaligned_Object): Always return
1593 False on .NET.
1594
15952014-08-04 Ed Schonberg <schonberg@adacore.com>
1596
1597 * sem_ch5.adb (Analyze_Loop_Statement): Set properly the kind of
1598 the loop parameter for element iterators over containers and
1599 arrays, so that improper uses of it are detected in the loop
1600 body when expansion is disabled.
1601 * exp_ch5.adb (Expand_Iterator_Loop): The entity kind of the
1602 generated cursor is that of the analyzed loop parameter.
1603
6d0b56ad
AC
16042014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1605
1606 * exp_ch3.adb (Build_CPP_Init_Procedure): Remove
1607 Flag_Decl. Do not analyze the declaration of the flag as it is
1608 not part of the tree yet, instead add it to the freeze actions
1609 of the C++ type.
1610
16112014-08-04 Robert Dewar <dewar@adacore.com>
1612
1613 * checks.adb (Apply_Scalar_Range_Check): Make sure we handle
1614 case of OUT and IN OUT parameter correctly (where Source_Typ is
1615 set), we were missing one case where a check must be applied.
1616
16172014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1618
1619 * sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on
1620 the generated code. Instead of hiding the renaming and using the
1621 wrapper as the proper association, have the subprogram renaming
1622 alias the wrapper.
1623 (Build_Spec): The entity of the wrapper is
1624 now derived from the entity of the related primitive.
1625
16262014-08-04 Emmanuel Briot <briot@adacore.com>
1627
1628 * s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when
1629 using non-capturing groups.
1630
16312014-08-04 Ed Schonberg <schonberg@adacore.com>
1632
1633 * inline.adb (Build_Body_To_Inline): Remove Unmodified and
1634 related pragmas before copying the original body, to prevent
1635 spurious errors when the pragmas apply to formals that will not
1636 appear in the inlined body.
1637
ff7a5bcb
RD
16382014-08-04 Robert Dewar <dewar@adacore.com>
1639
1640 * exp_prag.adb, sem_ch7.adb, einfo.adb, sem_prag.adb, sem_util.adb,
1641 exp_ch3.adb: Minor reformatting.
1642
e477d718
AC
16432014-08-04 Robert Dewar <dewar@adacore.com>
1644
1645 * prj-strt.adb, prj-strt.ads, sem_attr.adb: Minor reformatting.
1646
16472014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1648
1649 * aspects.adb Add an entry in table Canonical_Aspect for
1650 Default_Initial_Condition.
1651 * aspects.ads Add an entry in tables Aspect_Id, Aspect_Argument,
1652 Aspect_Names and Aspect_Delay for Default_Initial_Condition.
1653 * einfo.adb Flag3 is now Has_Default_Init_Cond. Flag132
1654 is now Is_Default_Init_Cond_ Procedure. Flag133 is now
1655 Has_Inherited_Default_Init_Cond.
1656 (Default_Init_Cond_Procedure): New routine.
1657 (Has_Default_Init_Cond): New routine.
1658 (Has_Inherited_Default_Init_Cond): New routine.
1659 (Is_Default_Init_Cond_Procedure): New routine.
1660 (Set_Default_Init_Cond_Procedure): New routine.
1661 (Set_Has_Default_Init_Cond): New routine.
1662 (Set_Has_Inherited_Default_Init_Cond): New routine.
1663 (Set_Is_Default_Init_Cond_Procedure): New routine.
1664 (Write_Entity_Flags): Output all the new flags.
1665 * einfo.ads New attributes Default_Init_Cond_Procedure,
1666 Has_Inherited_Default_Init_Cond and Is_Default_Init_Cond_Procedure
1667 along with usage in nodes.
1668 (Default_Init_Cond_Procedure): New routine.
1669 (Has_Default_Init_Cond): New routine and pragma Inline.
1670 (Has_Inherited_Default_Init_Cond): New routine and
1671 pragma Inline.
1672 (Is_Default_Init_Cond_Procedure): New routine and
1673 pragma Inline.
1674 (Set_Default_Init_Cond_Procedure): New routine.
1675 (Set_Has_Default_Init_Cond): New routine and pragma Inline.
1676 (Set_Has_Inherited_Default_Init_Cond): New routine and pragma Inline.
1677 (Set_Is_Default_Init_Cond_Procedure): New routine and pragma Inline.
1678 * exp_ch3.adb (Expand_N_Object_Declaration): New constant
1679 Next_N. Generate a call to the default initial condition procedure
1680 if the object's type is subject to the pragma. (Freeze_Type):
1681 Generate the body of the default initial condition procedure or
1682 inherit the spec from a parent type.
1683 * exp_ch7.adb Add with and use clause for Exp_Prag.
1684 (Expand_Pragma_Initial_Condition): Removed.
1685 * exp_prag.ads, exp_prag.adb (Expand_Pragma_Initial_Condition): New
1686 routine.
1687 * par-prag.adb (Prag): Pragma Default_Initial_Condition does
1688 not need special treatment by the parser.
1689 * sem_ch3.adb (Build_Derived_Record_Type): Propagate the
1690 attributes related to pragma Default_Initial_Condition to the
1691 derived type.
1692 (Process_Full_View): Propagate the attributes
1693 related to pragma Default_Initial_Condition to the full view.
1694 * sem_ch7.adb (Analyze_Package_Specification): Build the
1695 declaration of the default initial condition procedure for all
1696 types that qualify or inherit the one from the parent type.
1697 * sem_ch13.adb (Analyze_Aspect_Specifications):
1698 Add processing for aspect Default_Initial_Condition.
1699 (Check_Aspect_At_Freeze_Point): Aspect
1700 Default_Initial_Condition does not require delayed analysis.
1701 (Replace_Type_References_Generic): Moved to spec.
1702 * sem_ch13.ads (Replace_Type_References_Generic): Moved from body.
1703 * sem_prag.adb Add an entry in table Sif_Glags for
1704 Default_Initial_Condition.
1705 (Analyze_Pragma): Pragma
1706 Default_Initial_Condition is now part of assertion
1707 policy. Add processing for pragma Default_Initial_Condition.
1708 (Is_Valid_Assertion_Kind): Pragma Default_Initial_Condition is
1709 now recognized as a proper assertion policy.
1710 * sem_util.ads, sem_util.adb (Build_Default_Init_Cond_Call): New
1711 routine.
1712 (Build_Default_Init_Cond_Procedure_Body): New routine.
1713 (Build_Default_Init_Cond_Procedure_Declaration): New routine.
1714 (Inherit_Default_Init_Cond_Procedure): New routine.
1715 * snames.ads-tmpl Add new predefined name and pragma id for
1716 Default_Initial_Condition.
1717
bb304287
AC
17182014-08-04 Vincent Celier <celier@adacore.com>
1719
1720 * prj-dect.adb (Parse_Case_Construction): It is no longer
1721 an error if the variable for a case construction is not
1722 typed, only if the variable value is not a single string. Call
1723 Parse_Choice_List and End_Case_Construction with the new parameter
1724 to indicate that the variable is typed.
1725 * prj-strt.adb (End_Case_Construction): Only check the labels
1726 if the variable is typed. If the variable is not typed,
1727 issue a warning when there is no "when others" allternative.
1728 (Parse_Choice_List): Manage the labels only if the variable
1729 is typed.
1730 * prj-strt.ads (End_Case_Construction): New Boolean parameter
1731 String_Type.
1732 (Parse_Choice_List): Ditto.
1733
17342014-08-04 Ed Schonberg <schonberg@adacore.com>
1735
1736 * sem_ch5.adb: Additional fix to Check_Predicate_Use.
1737
17382014-08-04 Vincent Celier <celier@adacore.com>
1739
1740 * projects.texi: Update documentation of case constructions with
1741 variables that are not typed.
1742
17432014-08-04 Ed Schonberg <schonberg@adacore.com>
1744
1745 * sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries
1746 an Eliminated pragma, indicate that the wrapper is also to be
1747 eliminated, to prevent spurious errors when using gnatelim on
1748 programs that include box-initialization of equality operators
1749 (consequence of AI05-071)..
1750
17512014-08-04 Robert Dewar <dewar@adacore.com>
1752
1753 * checks.adb (Activate_Overflow_Check): Handle floating-point
1754 case correctly.
1755 * checks.ads (Activate_Overflow_Check): Clarify handling of
1756 floating-point cases.
1757 * exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check
1758 flag if we generate an explicit overflow check (for
1759 Check_Float_Overflow mode).
1760
7ed57189
AC
17612014-08-04 Robert Dewar <dewar@adacore.com>
1762
1763 * prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads,
1764 prj-attr.adb, prj-attr.ads: Minor reformatting.
1765
17662014-08-04 Yannick Moy <moy@adacore.com>
1767
1768 * expander.adb (Expand): Always perform special
1769 expansion in GNATprove mode, even when doing pre-analysis.
1770
17712014-08-04 Thomas Quinot <quinot@adacore.com>
1772
1773 * repinfo.adb (List_Scalar_Storage_Order): List bit order if
1774 not default. Also list bit order if SSO is specified. Do not
1775 assume that bit order is always equal to scalar storage order.
1776
17772014-08-04 Thomas Quinot <quinot@adacore.com>
1778
1779 * freeze.adb (Set_SSO_From_Default): Do not set scalar storage
1780 order to reverse SSO for a type that has an explicit native
1781 Bit_Order.
1782
17832014-08-04 Doug Rupp <rupp@adacore.com>
1784
1785 * cal.c: Macro check for VxWorks7.
1786 * init.c (getpid): Likewise.
1787 * mkdir.c (__gnat_mkdir): Likewise.
1788 * sysdep.c (__gnat_is_file_not_found_error): Likewise.
1789
17902014-08-04 Gary Dismukes <dismukes@adacore.com>
1791
1792 * exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation
1793 of an invariant check in the case where No_Initialization is set,
1794 since the object is uninitialized.
1795
17962014-08-04 Thomas Quinot <quinot@adacore.com>
1797
1798 * snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute
1799 name, in addition to a pragma name.
1800 * snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name,
1801 Is_Pragma_Name): Adjust accordingly.
1802 * sem_attr.ads, sem_attr.adb, exp_attr.adb
1803 (Attribute_Default_Scalar_Storage_Order): Add handling of new
1804 attribute.
1805 * gnat_rm.texi: Document the above.
1806
af6478c8
AC
18072014-08-04 Arnaud Charlet <charlet@adacore.com>
1808
1809 * exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer
1810 mode for now, to revert to previous behavior.
1811 * checks.adb: Revert previous change, no longer needed.
1812
18132014-08-04 Robert Dewar <dewar@adacore.com>
1814
1815 * gnat1drv.adb (Adjust_Global_Switches): Don't set
1816 Check_Float_Overflow if Machine_Oveflows_On_Target is True.
1817 * sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't
1818 set Check_Float_Overflow if Machine_Oveflows_On_Target is True.
1819 * switch-c.adb (Scan_Front_End_Switches): Don't set
1820 Check_Float_Overflow if Machine_Oveflows_On_Target is True.
1821
18222014-08-04 Vincent Celier <celier@adacore.com>
1823
1824 * prj-attr.adb: Add new default indications for
1825 attributes Object_Dir, Exec_Dir, Source_Dirs and Target.
1826 (Attribute_Default_Of): New function (Initialize): Set the
1827 default for those attributes that have one specified.
1828 * prj-attr.ads (Attribute_Data): New component Default.
1829 * prj-proc.adb (Expression): Take into account the new defaults
1830 for attributes Object_Dir, Exec_Dir and Source_Dirs.
1831 * prj-strt.adb (Attribute_Reference): Set the default for
1832 the attribute.
1833 * prj-tree.ads, prj-tree.adb (Default_Of): New function.
1834 (Set_Default_Of): New procedure.
1835 * prj.adb (The_Dot_String): New global Name_Id variable,
1836 initialized in procedure Initialize.
1837 (Dot_String): New function
1838 (Initialize): Initialize The_Dot_String.
1839 (Reset): Create the string list Shared.Dot_String_List.
1840 * prj.ads (Attribute_Default_Value): New enumeration type.
1841 (Project_Qualifier): Change enumeration value Dry to Abstract_Project.
1842 (Dot_String): New function.
1843 (Shared_Project_Tree_Data): New string list component Dot_String_List.
1844 * projects.texi: Document new defaults for attribute Object_Dir,
1845 Exec_Dir and Source_Dirs.
1846
e943fe8a
AC
18472014-08-04 Robert Dewar <dewar@adacore.com>
1848
1849 * sem_ch12.adb: Minor reformatting.
1850
18512014-08-04 Arnaud Charlet <charlet@adacore.com>
1852
1853 * exp_util.adb, checks.adb (Check_Float_Op_Overflow): Add special
1854 expansion in CodePeer_Mode.
1855 (Selected_Range_Checks): Add handling of overflow checks in
1856 CodePeer_Mode.
1857
29049f0b
AC
18582014-08-04 Robert Dewar <dewar@adacore.com>
1859
1860 * exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
1861 Remove special test for Float'First, no longer required.
1862 (Expand_N_Attribute_Reference, case Succ): Remove special test
1863 for Float'First, no longer required.
1864 * s-fatgen.adb (Pred): return infinity unchanged.
1865 (Succ): ditto.
1866
18672014-08-04 Claire Dross <dross@adacore.com>
1868
1869 * sem_ch12.adb (Analyze_Associations): Defaults should only be
1870 used if there is no explicit match.
1871 * exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
1872 Also check for pragma external_axiomatization on generic units.
1873
d26d790d
AC
18742014-08-04 Robert Dewar <dewar@adacore.com>
1875
1876 * checks.adb (Activate_Overflow_Check): Remove
1877 Check_Float_Overflow processing.
1878 (Apply_Scalar_Range_Check): Ditto.
1879 (Generate_Range_Check): Ditto.
1880 * exp_ch4.adb (Expand_N_Op_Add): Add call to
1881 Check_Float_Op_Overflow.
1882 (Expand_N_Op_Divide): ditto.
1883 (Expand_N_Op_Multiply): ditto.
1884 (Expand_N_Op_Subtract): ditto.
1885 * exp_util.ads, exp_util.adb (Check_Float_Op_Overflow): New procedure.
1886 * sem_attr.adb (Analyze_Attribute, case Pred): Make sure
1887 Do_Range_Check is set for floating-point case in -gnatc or
1888 GNATprove mode.
1889 (Analyze_Attribute, case Succ): Make sure
1890 Do_Range_Check is set for floating-point case in -gnatc or
1891 GNATprove mode.
1892 * sem_res.adb (Resolve_Type_Conversion): Make sure Do_Range_Check
1893 flag is set for real to integer conversion in GNATprove or
1894 -gnatc mode.
1895
18962014-08-04 Gary Dismukes <dismukes@adacore.com>
1897
1898 * sem_ch13.adb (Analyze_Aspect_Specifications): Resolve
1899 the expression of an Import or Export aspect as type Boolean
1900 and require it to be static. Add ??? comment. Also, set the
1901 Is_Exported flag when appropriate.
1902
dfaff97b
RD
19032014-08-04 Robert Dewar <dewar@adacore.com>
1904
1905 * exp_ch4.adb: Minor reformatting.
1906 * exp_attr.adb: Minor reformatting.
1907
8575023c
AC
19082014-08-04 Thomas Quinot <quinot@adacore.com>
1909
1910 * s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
1911 (Unaligned_Valid): Remove now unused subprogram.
1912 * exp_attr.adb (Expand_N_Attribute_Reference, case
1913 Attribute_Valid): If the prefix is in reverse SSO or potentially
1914 unaligned, copy it using a byte copy operation to a temporary
1915 variable.
1916 * einfo.adb: Minor comment fix.
1917
19182014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1919
1920 * freeze.adb (Freeze_Entity): Do not freeze formal subprograms.
1921
8616baee
RD
19222014-08-04 Robert Dewar <dewar@adacore.com>
1923
1924 * s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
1925 * s-fatgen.adb (Pred): Handle Float'First.
1926 (Succ): Handle Float'Last.
1927
98bf4cf4
AC
19282014-08-04 Ed Schonberg <schonberg@adacore.com>
1929
1930 * sem_util.adb (Is_Potentially_Unevaluated): If the original
1931 node of a parent node in the tree is a short-circuit operation,
1932 the node is potentially unevaluated.
1933
19342014-08-04 Robert Dewar <dewar@adacore.com>
1935
1936 * sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on
1937 conversion from a real type to an integer type.
1938
ce5ba43a
AC
19392014-08-04 Yannick Moy <moy@adacore.com>
1940
1941 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
1942 sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
1943 exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
1944 sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
1945 SPARK_05 instead of SPARK.
1946
19472014-08-04 Robert Dewar <dewar@adacore.com>
1948
1949 * sem.ads: Minor reformatting.
1950 * sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
1951 reformatting.
1952 (Analyze_Aspect_Specifications, case Convention): Put External_Name
1953 before Link_Name when constructing pragma.
1954
3dd7e28d
YM
19552014-08-04 Yannick Moy <moy@adacore.com>
1956
1957 * sem.adb, sem.ads (In_Default_Expr): Global flag that is set
1958 to True during analysis of a default component expression.
1959 (Semantics): Save and restore In_Default_Expr around analysis.
1960 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration):
1961 Call new wrapper Preanalyze_Default_Expression.
1962 (Preanalyze_Default_Expression): New wrapper on
1963 Preanalyze_Spec_Expression which sets and restores In_Default_Expr.
1964 * sem_res.adb (Resolve_Call): Mark calls inside default
1965 expressions as not inlined in GNATprove mode.
1966
6c56d9b8
AC
19672014-08-04 Robert Dewar <dewar@adacore.com>
1968
1969 * exp_ch4.adb: Minor reformatting.
1970
19712014-08-04 Olivier Hainque <hainque@adacore.com>
1972
1973 * link.c: remove const on __gnat_objlist_file_supported for AIX
1974
19752014-08-04 Robert Dewar <dewar@adacore.com>
1976
1977 * sem_util.ads: Minor addition of comment.
1978
19792014-08-04 Vincent Celier <celier@adacore.com>
1980
1981 * prj-dect.adb (Check_Package_Allowed): Allow package IDE in
1982 all projects, including aggregate and aggregate library projects.
1983
19842014-08-04 Yannick Moy <moy@adacore.com>
1985
1986 * back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode.
1987
19882014-08-04 Robert Dewar <dewar@adacore.com>
1989
1990 * sem_eval.adb (Test_In_Range): Always in range for
1991 Is_Known_Valid target type, where input type has smaller or
1992 equal size and does not have biased rep.
1993
19942014-08-04 Ed Schonberg <schonberg@adacore.com>
1995
1996 * sem_attr.adb (Eval_Attribute): Constrained is not treated as
1997 a static attribute, and the Static flag must not be set on it
1998 during resolution. It may be constant-folded during expansion,
1999 but if expansion is disabled it is not a static expression.
2000
ad5edba5
AC
20012014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2002
2003 * sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as
2004 referenced once resolution has taken place.
2005
20062014-08-04 Gary Dismukes <dismukes@adacore.com>
2007
2008 * exp_ch4.adb (Expand_N_Type_Conversion): Don't
2009 compare access levels in the case where the target type is the
2010 anonymous type of an access discriminant, since the level of
2011 such types is defined based on context. Add comment.
2012
b6621d10
AC
20132014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2014
2015 * sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
2016 cases related to equality. Remove the special processing
2017 for dispatching abstract subprograms as it is not needed.
2018 (Interpretation_Error): Add a specialized error message for
2019 predefined operators.
2020 (Is_Intrinsic_Equality): New routine.
2021 (Is_Suitable_Candidate): New routine.
2022
20232014-08-04 Gary Dismukes <dismukes@adacore.com>
2024
2025 * checks.adb: Minor comment reformatting.
2026
20272014-08-04 Ed Schonberg <schonberg@adacore.com>
2028
2029 * restrict.adb (Check_Restriction): For checked max_parameter
2030 restrictions reset Violated flag, so that subsequent violations
2031 are properly detected.
2032
20332014-08-04 Robert Dewar <dewar@adacore.com>
2034
2035 * sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
2036 mode.
2037 (Process_Discriminants): Fix bad test of GNATprove mode
2038
20392014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2040
2041 * sem_ch12.adb (Instantiate_Formal_Subprogram):
2042 Move variable to their own section. Propagate the source
2043 location of a formal parameter to the corresponding formal of
2044 the subprogram renaming declaration. Code reformatting.
2045
f5655e4a
AC
20462014-08-04 Arnaud Charlet <charlet@adacore.com>
2047
2048 * g-trasym-vms-ia64.adb, g-trasym-vms-alpha.adb: Removed.
2049
20502014-08-04 Ed Schonberg <schonberg@adacore.com>
2051
2052 * exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
2053 if error already detected. We may reach this point in spite of
2054 previous errors when compiling with -gnatq, to force all possible
2055 errors (this is the usual ACATS mode).
2056
20572014-08-04 Gary Dismukes <dismukes@adacore.com>
2058
2059 * checks.adb (Generate_Range_Check): For the case of converting
2060 a base type with a larger range to a smaller target subtype, only
2061 use unchecked conversions of bounds in the range check followed
2062 by conversion in the case where both types are discrete. In other
2063 cases, convert to the target base type and save in a temporary
2064 followed by the range check.
2065 (Convert_And_Check_Range): New procedure factoring code to save
2066 conversion to a temporary followed by a range check (called two
2067 places in Generate_Range_Check).
2068 * exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
2069 check-in, to generate range checks for conversions between
2070 any floating-point types rather than limiting it to matching
2071 base types.
2072
6e2830c3
TS
20732014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2074
2075 * gcc-interface/trans.c: Use hash_set instead of pointer_set.
2076
1696d58d
ES
20772014-08-01 Ed Schonberg <schonberg@adacore.com>
2078
2079 * restrict.adb (Update_Restrictions): For restrictions with a
2080 maximum parameter (e.g. number of protected entries in Ravenscar)
2081 do not compute the maximum of the violation over several objects,
2082 because the restriction is per-object.
2083 (Check_Restriction): After possible message, reset the value
2084 of of a checked max_parameter restriction to zero, to prevent
2085 cascaded errors.
2086 * sem_ch3.adb (Build_Derived_Private_Type): Use base of parent
2087 (sub)type to determine whether derived type should be on the
2088 list of private dependents of a type whose full view may become
2089 visible subsequently.
2090
9a30c7c4
AC
20912014-08-01 Olivier Hainque <hainque@adacore.com>
2092
2093 * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use
2094 $(CXX) instead of ../../xg++ to feed CXX.
2095 (CXX_LFLAGS): Remove. Now unused as the proper flags
2096 are expected to be included in the CXX variable.
2097
20982014-08-01 Pierre-Marie Derodat <derodat@adacore.com>
2099
2100 * gcc-interface/decl.c (elaborate_expression_1): Return the new
2101 variable when debug info is needed and the expression is not
2102 constant. Tag as external only new variables that are global.
2103 (gnat_to_gnu_entity): Call it after the GNU declaration is saved.
2104 * gcc-interface/trans.c (Attribute_to_gnu): Do not cache
2105 attributes for IN array parameters when their actual subtype
2106 needs debug info.
2107 (Compilation_Unit_to_gnu): Call it to process all remaining nodes.
2108 * gcc-interface/gigi.h (process_deferred_decl_context): New.
2109 * gcc-interface/utils.c (gnat_write_global_declarations): Do not
2110 emit debug info for ignored global declarations.
2111 (struct deferred_decl_context_node,
2112 add_deferred_decl_context, add_deferred_type_context,
2113 compute_deferred_decl_context, defer_or_set_type_context,
2114 deferred_decl_context_queue, get_debug_scope,
2115 get_global_context, process_deferred_decl_context): New.
2116 (gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT
2117 computation machinery to rely on the GNAT Scope attribute.
2118
21192014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2120
2121 * gcc-interface/utils2.c (build_simple_component_ref): Add guard.
2122
a43f6434
AC
21232014-08-01 Robert Dewar <dewar@adacore.com>
2124
2125 * sem_ch8.adb, opt.ads Minor comment updates.
2126
21272014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2128
2129 * exp_intr.adb (Expand_Unc_Deallocation): Request a renaming
2130 from the side effects removal machinery.
2131 * exp_util.adb (Duplicate_Subexpr): Add formal parameter
2132 Renaming_Req. Update the nested call to Remove_Side_Effects.
2133 (Duplicate_Subexpr_No_Checks): Add formal parameter
2134 Renaming_Req. Update the nested call to Remove_Side_Effects.
2135 (Duplicate_Subexpr_Move_Checks): Add formal parameter
2136 Renaming_Req. Update the nested call to Remove_Side_Effects.
2137 (Remove_Side_Effects): Add formal parameter Renaming_Req. Generate
2138 an object renaming declaration when the caller requests it.
2139 * exp_util.ads (Duplicate_Subexpr): Add formal
2140 parameter Renaming_Req. Update comment on usage.
2141 (Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req.
2142 (Duplicate_Subexpr_Move_Checks): Add formal parameter
2143 Renaming_Req.
2144
bdc193ba
AC
21452014-08-01 Bob Duff <duff@adacore.com>
2146
2147 * gnat_ugn.texi: Minor updates.
2148
21492014-08-01 Robert Dewar <dewar@adacore.com>
2150
2151 * atree.adb: Minor reformatting.
2152
21532014-08-01 Ed Schonberg <schonberg@adacore.com>
2154
2155 * exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a
2156 private extension, get stored constraint, if any, from full view.
2157
8bef7ba9
AC
21582014-08-01 Robert Dewar <dewar@adacore.com>
2159
2160 * opt.ads (No_Elab_Code_All_Pragma): New global variable.
2161 * sem_ch10.adb (Check_No_Elab_Code_All): New procedure
2162 (Analyze_Compilation_Unit): Call Check_No_Elab_Code_All
2163 (Analyze_Subunit_Context): Call Check_No_Elab_Code_All.
2164 * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
2165 Remove code for checking with's, now in sem_ch10.adb, set
2166 Opt.No_Elab_Code_All_Pragma.
2167
21682014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2169
2170 * sem_ch3.adb (Copy_And_Build): Copy the declaration for
2171 access types as well and adjust the subtype mark if there are
2172 no constraints.
2173
21742014-08-01 Robert Dewar <dewar@adacore.com>
2175
2176 * sem_eval.adb (Test_In_Range): Return Unknown if error posted.
2177
316e3a13
RD
21782014-08-01 Robert Dewar <dewar@adacore.com>
2179
2180 * sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups.
2181
7f1a5156
EB
21822014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2183
2184 * einfo.ads (Has_Private_Ancestor): Remove obsolete usage.
2185 * exp_ch4.adb (Expand_Composite_Equality): Add conversion
2186 of the actuals in the case of untagged record types too.
2187 * sem_ch3.adb (Build_Full_Derivation): New procedure to create the
2188 full derivation of a derived private type, extracted from...
2189 (Copy_And_Build): In the case of record types and most
2190 enumeration types, copy the original declaration. Build the
2191 full derivation according to the approach extracted from...
2192 (Build_Derived_Private_Type): ...here. Call Build_Full_Derivation
2193 to create the full derivation in all existing cases and also
2194 create it in the no-discriminants/discriminants case instead of
2195 deriving directly from the full view.
2196 (Is_Visible_Component): Remove obsolete code.
2197 * sem_aggr.adb (Resolve_Record_Aggregate): Likewise.
2198
5b2bf62c
AC
21992014-08-01 Arnaud Charlet <charlet@adacore.com>
2200
2201 * fe.h (GNAT_Mode): New.
2202 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
2203 reverse SSO in GNAT mode.
2204
7b536495
AC
22052014-08-01 Thomas Quinot <quinot@adacore.com>
2206
2207 * freeze.adb: Minor reformatting.
2208
22092014-08-01 Thomas Quinot <quinot@adacore.com>
2210
2211 * exp_ch3.adb (Default_Initialize_Object): Do not generate
2212 default initialization for an imported object.
2213
22142014-08-01 Olivier Hainque <hainque@adacore.com>
2215
2216 * seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr
2217 to the expected FARPROC type instead of void *.
2218 * adaint.c (f2t): Expect __time64_t * as second argument, in line with
2219 other datastructures.
2220 (__gnat_file_time_name_attr): Adjust accordingly.
2221 (__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR,
2222 in line with uses.
2223 (__gnat_check_OWNER_ACL): Declare AccessMode
2224 parameter as ACCESS_MODE instead of DWORD, in line with callers
2225 and uses.
2226 (__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode,
2227 unused on win32. Correct cast of "args" on call to spawnvp.
2228 (add_handle): Cast realloc calls into their destination types.
2229 (win32_wait): Remove declaration and initialization of unused variable.
2230 (__gnat_locate_exec_on_path): Cast alloca calls
2231 into their destination types.
2232 * initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into
2233 their destination types.
2234
22352014-08-01 Gary Dismukes <dismukes@adacore.com>
2236
2237 * exp_ch4.adb (Expand_N_Type_Conversion): Expand
2238 range checks for conversions between floating-point subtypes
2239 when the target and source types are the same.
2240
22412014-08-01 Robert Dewar <dewar@adacore.com>
2242
2243 * exp_aggr.adb: Minor reformatting.
2244
22452014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2246
2247 * sem_ch13.adb (Check_Indexing_Functions): Initialize
2248 Indexing_Found.
2249
22502014-08-01 Arnaud Charlet <charlet@adacore.com>
2251
2252 * gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the
2253 ALI file before we call the backend (so that gnat2why can append
2254 to it).
2255
22562014-08-01 Thomas Quinot <quinot@adacore.com>
2257
2258 * exp_pakd.adb (Expand_Bit_Packed_Element_Set,
2259 Expand_Packed_Element_Reference): Pass additional Rev_SSO
2260 parameter indicating whether the packed array type has reverse
2261 scalar storage order to the s-pack* Set/Get routines.
2262 * s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO
2263 indicating reverse scalar storage order.
2264
22652014-08-01 Robert Dewar <dewar@adacore.com>
2266
2267 * sem_ch3.adb (Check_Initialization): Set Do_Range_Check
2268 for initial component value in -gnatc or GNATprove mode.
2269 (Process_Discriminants): Same fix for default discriminant values.
2270 * sem_eval.adb (Test_In_Range): Improve accuracy of results by
2271 checking subtypes.
2272
22732014-08-01 Robert Dewar <dewar@adacore.com>
2274
2275 * sinfo.ads: Minor comment clarification.
2276
41d8ee1d
AC
22772014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2278
2279 * sem_ch13.adb (Analyze_Aspect_Specifications): Code
2280 reformatting. Store the generated pragma Import in the related
2281 subprogram as routine Wrap_Imported_Subprogram will need it later.
2282 * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of
2283 a private type with discriminants is considered to fall in the
2284 category of unconstrained or tagged items.
2285
22862014-08-01 Arnaud charlet <charlet@adacore.com>
2287
2288 * s-os_lib.adb (Open_Append): New functions to open a file for
2289 appending. This binds to the already existing (but not used)
2290 __gnat_open_append.
2291 * osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure
2292 to open a file for appending.
2293 * osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure
2294 to open the ALI file for appending.
2295
2feb1f84
AC
22962014-08-01 Robert Dewar <dewar@adacore.com>
2297
2298 * sem_ch8.adb: Minor reformatting.
2299
23002014-08-01 Yannick Moy <moy@adacore.com>
2301
2302 * sem_ch13.adb (Insert_Pragma): Add special case for precondition
2303 pragmas from aspects, which need to be inserted in proper order.
2304
23052014-08-01 Ed Schonberg <schonberg@adacore.com>
2306
2307 * exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants):
2308 Handle properly a type extension that constrains a discriminated
2309 derived type that renames other discriminants of an ancestor.
2310
23112014-08-01 Thomas Quinot <quinot@adacore.com>
2312
2313 * s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads,
2314 s-pack25.adb: Fix minor inconsistencies and typos.
2315
fc193526
HK
23162014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2317
2318 * sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize
2319 globals and move certain variables to the "local
2320 variable" section. Call Build_Class_Wide_Wrapper when
2321 renaming a default actual subprogram with a class-wide actual.
2322 (Build_Class_Wide_Wrapper): New routine.
2323 (Check_Class_Wide_Actual): Removed.
2324 (Find_Renamed_Entity): Code reformatting.
2325 (Has_Class_Wide_Actual): Alphabetize. Change the
2326 logic of the predicate as the renamed name may not necessarely
2327 denote the correct subprogram.
2328
4887624e
AC
23292014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2330
2331 * sem_ch7.adb: Fix minor oversight in condition.
2332
23332014-08-01 Bob Duff <duff@adacore.com>
2334
2335 * projects.texi: Minor documentation improvements.
2336
23372014-08-01 Robert Dewar <dewar@adacore.com>
2338
2339 * aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All.
2340 * gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect.
2341 * lib-load.adb: Initialize No_Elab_Code_All field.
2342 * lib-writ.adb: Initialize No_Elab_Code_All.
2343 * lib.ads, lib.adb: New field No_Elab_Code_All.
2344 * par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All.
2345 * restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no
2346 longer exists.
2347 * sem_ch10.adb (Analyze_Context): Processing for
2348 No_Elaboration_Code_All removed.
2349 (Generate_Parent_References): Moved to Sem_Util.
2350 * sem_prag.adb: Add processing for pragma No_Elaboration_Code_All.
2351 * sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from
2352 Sem_Ch10.
2353 * snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All.
2354 * targparm.adb: Minor comment updates Add comments on ignoring
2355 pragma No_Elaboration_Code_All.
2356
23572014-08-01 Nicolas Roche <roche@adacore.com>
2358
2359 * adaint.c (__gnat_set_close_on_exec): Ensure that
2360 we can unset "close_on_exec" flag.
2361
23622014-08-01 Ed Schonberg <schonberg@adacore.com>
2363
2364 * exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building
2365 the parameter specs of the wrapper program for a primitive operation
2366 of a synchronized type that implements an interface, copy the
2367 null_exclusion indicator as well.
2368
23692014-08-01 Robert Dewar <dewar@adacore.com>
2370
2371 * sem_eval.ads: Minor reformatting.
2372
625d8a9f
EB
23732014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2374
2375 * exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type
2376 to go down the chain of private derivations.
2377 * freeze.adb (Freeze_Entity): Fix typo in comment.
2378
38cea80d
ES
23792014-08-01 Ed Schonberg <schonberg@adacore.com>
2380
2381 * sem_ch3.adb (Access_Type_Declaration): If designated type is
2382 a limited view, create a master entity (as is already done for
2383 class-wide types) in case the full view designates a type that
2384 contains tasks.
2385 * sem_ch8.adb (Find_Selected_Component): If prefix is a dereference
2386 and the designated type is a limited view, use the non-limited
2387 view if available.
2388
1eb58520
AC
23892014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2390
2391 * gcc-interface/ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.
2392 (DECL_FUNCTION_STUB): Likewise.
2393 (SET_DECL_FUNCTION_STUB): Likewise.
2394 (DECL_PARM_ALT_TYPE): Likewise.
2395 (SET_DECL_PARM_ALT_TYPE): Likewise.
2396 (TYPE_VAX_FLOATING_POINT_P): Delete.
2397 (TYPE_DIGITS_VALUE): Likewise.
2398 (SET_TYPE_DIGITS_VALUE): Likewise.
2399 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_malloc32_decl.
2400 (malloc32_decl): Delete.
2401 (build_vms_descriptor): Likewise.
2402 (build_vms_descriptor32): Likewise.
2403 (fill_vms_descriptor): Likewise.
2404 (convert_vms_descriptor): Likewise.
2405 (TARGET_ABI_OPEN_VMS): Likewise.
2406 (TARGET_MALLOC64): Likewise.
2407 * gcc-interface/decl.c (add_parallel_type_for_packed_array): New.
2408 (gnat_to_gnu_entity): Call it to add the original type as a parallel
2409 type to the implementation type of a packed array type.
2410 <E_Procedure>: Remove now obsolete kludge.
2411 <E_Exception>: Delete obsolete comment.
2412 <object>: Small tweak.
2413 <E_Subprogram_Type>: Remove support for stub subprograms, as well as
2414 for the descriptor passing mechanism.
2415 (gnat_to_gnu_param): Likewise.
2416 * gcc-interface/misc.c (gnat_init_gcc_fp): Remove special case.
2417 (gnat_print_type): Adjust.
2418 * gcc-interface/trans.c (gigi): Remove obsolete initializations.
2419 (vms_builtin_establish_handler_decl): Delete.
2420 (gnat_vms_condition_handler_decl): Likewise.
2421 (establish_gnat_vms_condition_handler): Likewise.
2422 (build_function_stub): Likewise.
2423 (Subprogram_Body_to_gnu): Do not call above functions.
2424 (Call_to_gnu): Remove support for the descriptor passing mechanism.
2425 * gcc-interface/utils.c (make_descriptor_field): Delete.
2426 (build_vms_descriptor32): Likewise.
2427 (build_vms_descriptor): Likewise.
2428 (fill_vms_descriptor): Likewise.
2429 (convert_vms_descriptor64): Likewise.
2430 (convert_vms_descriptor32): Likewise.
2431 (convert_vms_descriptor): Likewise.
2432 * gcc-interface/utils.c (unchecked_convert): Likewise.
2433 * gcc-interface/utils2.c (maybe_wrap_malloc): Remove obsolete stuff.
2434
24352014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2436
2437 * gcc-interface/trans.c (gigi): Use gnat_to_gnu_type for the exception
2438 type and get_unpadded_type for the longest FP type.
2439 (Attribute_to_gnu) <Machine>: Compare the precision of the types.
2440 (convert_with_check): Adjust formatting and remove FIXME.
2441
24422014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2443
2444 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
2445 Do not convert the RM bounds to the base type.
2446 (E_Floating_Point_Subtype): Likewise.
2447 (E_Array_Subtype): Convert the bounds to the base type.
2448 * gcc-interface/trans.c (get_type_length): New function.
2449 (Attribute_to_gnu) <Range_Length>: Call it.
2450 <Length>: Likewise.
2451 (Loop_Statement_to_gnu): Convert the bounds to the base type.
2452 (gnat_to_gnu) <N_In>: Likewise.
2453 * gcc-interface/utils.c (make_type_from_size): Do not convert the RM
2454 bounds to the base type.
2455 (create_range_type): Likewise.
2456 (convert): Convert the bounds to the base type for biased types.
2457 * gcc-interface/utils2.c (compare_arrays): Convert the bounds to the
2458 base type.
2459
24602014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2461
2462 * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Remove
2463 incorrect implicit type derivation.
2464 * gcc-interface/utils.c (max_size) <tcc_reference>: Convert the bounds
2465 to the base type.
2466
24672014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2468
2469 * sem_attr.adb (Analyze_Attribute): Preanalyze and resolve the
2470 prefix of attribute Loop_Entry.
2471 * sem_prag.adb (Analyze_Pragma): Verify the placement of pragma
2472 Loop_Variant with respect to an enclosing loop (if any).
2473 (Contains_Loop_Entry): Update the parameter profile and all
2474 calls to this routine.
2475 * sem_res.adb (Resolve_Call): Code reformatting. Do not ask
2476 for the corresponding body before determining the nature of the
2477 ultimate alias's declarative node.
2478
24792014-08-01 Robert Dewar <dewar@adacore.com>
2480
2481 * gnat1drv.adb, sem_ch4.adb: Minor reformatting.
2482
24832014-08-01 Robert Dewar <dewar@adacore.com>
2484
2485 * sem_eval.adb (Rewrite_In_Raise_CE): Don't try to reuse inner
2486 constraint error node since it is a list member.
2487
24882014-08-01 Robert Dewar <dewar@adacore.com>
2489
2490 * sem_warn.adb: Minor reformatting.
2491
24922014-08-01 Eric Botcazou <ebotcazou@adacore.com>
2493
2494 * einfo.adb (Underlying_Type): Return the underlying full view
2495 of a private type if present.
2496 * freeze.adb (Freeze_Entity):
2497 Build a single freeze node for partial, full and underlying full
2498 views, if any.
2499 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Private_Type>: Add a
2500 missing guard before the access to the Underlying_Full_View.
2501 * gcc-interface/trans.c (process_freeze_entity): Deal with underlying
2502 full view if present.
2503 * gcc-interface/utils.c (make_dummy_type): Avoid superfluous work.
2504
ecda544d
ES
25052014-08-01 Ed Schonberg <schonberg@adacore.com>
2506
2507 * sem_res.adb (Resolve_Entry_Call): When an entry has
2508 preconditions, the entry call is wrapped in a procedure call
2509 that incorporates the precondition checks. To prevent a double
2510 expansion, with possible duplication of extra formals, that
2511 procedure call must only be pre-analyzed and resolved. Expansion
2512 takes place upon return to the caller Resolve_Call.
2513
10671e7a
AC
25142014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2515
2516 * sem_res.adb (Resolve_Call): Do not perform
2517 GNATprove-specific inlining while within a generic.
2518
25192014-08-01 Ed Schonberg <schonberg@adacore.com>
2520
2521 * sem_ch4.adb (Analyze_Case_Expression): Handle properly a
2522 case expression with incompatible alternatives, when the first
2523 alternative is overloaded.
2524
b80a2b4b
AC
25252014-08-01 Ed Schonberg <schonberg@adacore.com>
2526
2527 * sem_res.adb (Check_Parameterless_Call): Use Relocate_Node
2528 to create the name of the parameterless call, rather than
2529 New_Copy, to preserve the tree structure when the name is a
2530 complex expression, e.g. a selected component that denotes a
2531 protected operation, whose prefix is itself a selected component.
2532
25332014-08-01 Ed Schonberg <schonberg@adacore.com>
2534
2535 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use
2536 Unit_Declaration_Node to retrieve body when inlining, to handle
2537 properly subprogram child units.
2538
25392014-08-01 Robert Dewar <dewar@adacore.com>
2540
2541 * sem_attr.adb: Minor reformatting.
2542
4b259b2d
AC
25432014-08-01 Vincent Celier <celier@adacore.com>
2544
2545 * debug.adb: Minor documentation addition for -dn switch.
2546
25472014-08-01 Robert Dewar <dewar@adacore.com>
2548
2549 * sem_aggr.adb, exp_ch9.adb, sem_prag.adb, sem_util.adb,
2550 sem_attr.adb, sem_eval.ads, sem_cat.adb, sem_ch13.adb: Improve
2551 documentation of Is_Static_Expression vs Is_OK_Static_Expression.
2552 In several places, use the Is_OK version as suggested by the spec.
2553
25542014-08-01 Vincent Celier <celier@adacore.com>
2555
2556 * gnatcmd.adb: Revert last change which was not correct.
2557
25582014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2559
2560 * freeze.adb (Find_Constant): Ensure that the constant being
2561 inspected is still an object declaration (i.e. not a renaming).
2562
12c5f1ef
AC
25632014-08-01 Ed Schonberg <schonberg@adacore.com>
2564
2565 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): a)
2566 An attribute_reference to Loop_Entry denotes an iterator
2567 specification: its prefix is an object, as is the case for 'Old.
2568 b) If the domain of iteration is an expression whose type has
2569 the Iterable aspect defined, this is an iterator specification.
2570
25712014-08-01 Robert Dewar <dewar@adacore.com>
2572
2573 * gnatcmd.adb: Minor reformatting.
2574
25752014-08-01 Robert Dewar <dewar@adacore.com>
2576
2577 * atree.ads (Info_Messages): New counter.
2578 * err_vars.ads: Minor comment update.
2579 * errout.adb (Delete_Warning_And_Continuations): Deal
2580 with new Info_Messages counter.
2581 (Error_Msg_Internal): ditto.
2582 (Delete_Warning): ditto.
2583 (Initialize): ditto.
2584 (Write_Error_Summary): ditto.
2585 (Output_Messages): ditto.
2586 (To_Be_Removed): ditto.
2587 * erroutc.adb (Delete_Msg): Deal with Info_Messages counter.
2588 (Compilation_Errors): ditto.
2589 * errutil.adb (Error_Msg): Deal with Info_Messages counter.
2590 (Finalize): ditto.
2591 (Initialize): ditto.
2592 * sem_prag.adb (Analyze_Pragma): Minor comment addition.
2593 * gnat_ugn.texi: Document that -gnatwe does not affect info
2594 messages.
2595
511c5197
AC
25962014-08-01 Robert Dewar <dewar@adacore.com>
2597
2598 * debug.adb: Document debug switch -gnatd.Z.
2599 * sem.adb (Semantics): Force expansion on in no or configurable
2600 run time mode.
2601
26022014-08-01 Ed Schonberg <schonberg@adacore.com>
2603
2604 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): An
2605 unchecked conversion denotes an iterator specification. Such a
2606 conversion will be inserted in the context of an inlined call
2607 when needed, and its argument is always an object.
2608
a21d245c
AC
26092014-08-01 Robert Dewar <dewar@adacore.com>
2610
2611 * make.adb, makeutl.ads: Minor reformatting.
2612 * debug.adb, opt.ads: Clarify documentation of Front_End_Inlining and
2613 Back_End_Inlining.
2614
26152014-08-01 Tristan Gingold <gingold@adacore.com>
2616
2617 * gnatcmd.adb (GNATCmd): Set AAMP_On_Target using command name.
2618
0f345950
JM
26192014-08-01 Javier Miranda <miranda@adacore.com>
2620
2621 * gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of
2622 -gnatd.z.
2623 * debug.adb: Updating documentation.
2624 * exp_ch6.adb (Expand_Call): Remove assertion.
2625
b330e3c8
AC
26262014-08-01 Robert Dewar <dewar@adacore.com>
2627
2628 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb,
2629 sem_res.adb: Minor reformatting.
2630
26312014-08-01 Vincent Celier <celier@adacore.com>
2632
2633 * make.adb (Initialize): Set Keep_Temporary_Files to True when
2634 -dn is specified.
2635 * makeusg.adb: Add line for new switch --keep-temp-files.
2636 * makeutl.ads (Keep_Temp_Files_Option): New constant String.
2637 * opt.ads (Keep_Temporary_Files): Document that it is also used
2638 by gnatmake and gprbuild.
2639 * switch-m.adb: Recognize new switch --keep-temp-files.
2640
24de083f
AC
26412014-08-01 Tristan Gingold <gingold@adacore.com>
2642
2643 * sem_ch9.adb (Analyze_Task_Type_Declaration): Move code from ...
2644 * exp_ch9.adb (Make_Task_Create_Call): ... here.
2645
26462014-08-01 Vincent Celier <celier@adacore.com>
2647
2648 * gnat1drv.adb: Do not try to get the target parameters when
2649 invoked with -gnats.
2650
26512014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2652
2653 * exp_ch7.adb (Find_Last_Init): Nothing to do for an object
2654 declaration subject to No_Initialization.
2655
26562014-08-01 Ed Schonberg <schonberg@adacore.com>
2657
2658 * sem_aggr.adb (Resolve_Array_Aggregate): Reject choice that
2659 is a subtype with dynamic predicates, or a non-static subtype
2660 with predicates.
2661 * sem_ch3.adb (Analyze_Number_Declaration): Reject qualified
2662 expression if subtype has a dynamic predicate.
2663 (Constrain_Index): Reject subtype indication if subtype mark
2664 has predicates.
2665 (Inerit_Predicate_Flags): Inherit Has_Predicates as well.
2666 (Make_Index): If index is a subtype indication, itype inhereits
2667 predicate flags for subsequent testing.
2668 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): New
2669 procedure Check_Predicate_Use, to reject illegal uses of domains
2670 of iteration that have dynamic predicates.
2671 * sem_res.adb (Resolve_Slice): Reject slices given by a subtype
2672 indication to which a predicate applies.
2673 * sem_util.adb (Bad_Predicated_Subtype_Use): Add guard to
2674 prevent cascaded errors when subtype is invalid.
2675
73999267
AC
26762014-08-01 Robert Dewar <dewar@adacore.com>
2677
2678 * sem_ch10.adb: Minor reformatting.
2679
26802014-08-01 Ed Schonberg <schonberg@adacore.com>
2681
2682 * sem_ch6.adb (Same_Generic_Actual): Make function symmetric,
2683 because either type may be a subtype of the other.
2684
26852014-08-01 Vincent Celier <celier@adacore.com>
2686
2687 * makeusg.adb: Add documentation for debug switch -dn.
2688
26892014-08-01 Ed Schonberg <schonberg@adacore.com>
2690
2691 * sem_dim.adb (Process_Minus, Process_Divide): Label dimension
2692 expression with standard operator and type, for pretty-printing
2693 use, when in ASIS_Mode. When generating code dimensional analysis
2694 is not involved and dimension expressions are handled statically,
2695 and other operators are resolved in the usual way.
2696
26972014-08-01 Ed Schonberg <schonberg@adacore.com>
2698
2699 * sem_ch3.adb (Build_Derived_Record_Type): Remove setting of
2700 Parent_Subtype in ASIS mode, leads to several failures.
2701 * sem_ch4.adb (Analyze_Selected_Component): In an instance,
2702 if the prefix is a type extension, check whether component is
2703 declared in the parent type, possibly in a parent unit. Needed
2704 in ASIS mode when Parent_Subtype is not set.
2705
885e570a
AC
27062014-08-01 Robert Dewar <dewar@adacore.com>
2707
2708 * sem_prag.adb: Minor reformatting.
2709 * s-regpat.adb: Minor reformatting.
2710 * sem_ch3.adb (Analyze_Object_Declaration): Do not set
2711 Treat_As_Volatile on constants.
2712
27132014-08-01 Tristan Gingold <gingold@adacore.com>
2714
2715 * exp_ch9.adb (Make_Task_Create_Call): Improve error message.
2716
27172014-08-01 Ed Schonberg <schonberg@adacore.com>
2718
2719 * sem_ch10.adb (Analyze_Compilation_Unit): Do not place a
2720 warning on a with_clause created for the renaming of a parent
2721 unit in an explicit with_clause.
2722
8894aa20
AC
27232014-08-01 Ed Schonberg <schonberg@adacore.com>
2724
2725 * sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Import):
2726 Set Is_Imported flag at once, to simplify subsequent legality
2727 checks. Reject the aspect on an object whose declaration has an
2728 explicit initial value.
2729 * sem_prag.adb (Process_Import_Or_Interface): Use original node
2730 to check legality of an initial value for an imported entity.
2731 Set Is_Imported flag in case of error to prevent cascaded errors.
2732 Do not set the Is_Imported flag if the pragma comes from an
2733 aspect, because it is already done when analyzing the aspect.
2734
27352014-08-01 Emmanuel Briot <briot@adacore.com>
2736
2737 * g-regpat.adb (Parse): Add support for non-capturing parenthesis.
2738
7b4ebba5
AC
27392014-08-01 Robert Dewar <dewar@adacore.com>
2740
2741 * sem_ch7.adb, einfo.adb, einfo.ads, sem_ch13.adb: Minor change of
2742 identifier name.
2743
27442014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2745
2746 * sem_ch3.adb (Analyze_Object_Contract): Enable the volatility
2747 checks when the related variable comes from source.
2748 * sem_res.adb (Resolve_Actuals): Enable the volatility checks
2749 when the related actual parameter comes from source. Update comment.
2750 * freeze.adb (Freeze_Record_Type): Do not freeze the designated
2751 type of an array of pointers when the designated type is
2752 class-wide and its root type is the record being currently frozen.
2753
27542014-08-01 Ed Schonberg <schonberg@adacore.com>
2755
2756 * sem_ch5.adb (Analyze_Iterator_Specification): Preserve Ekind
2757 of renaming declaration created for domain of iteration.
2758 * sem_aggr.adb (Resolve_Array_Aggregate): Better placement
2759 for error messages on aggregates whose index subtypes have
2760 predicates. The new placement avoids posting messages on previous
2761 subtype declarations rather than on the aggregate itself.
2762 * sem_disp.adb (Is_Inherited_Public_Operation): New predicate for
2763 Add_Dispatching_Operation, to handle properly the overriding of
2764 the predefined operations on controlled types, when the partial
2765 view of a type is not visibly controlled.
2766
27672014-08-01 Ben Brosgol <brosgol@adacore.com>
2768
2769 * gnat_ugn.texi: Add tutorial on portable fixed-point types as an
2770 appendix.
2771
79859568
AC
27722014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2773
2774 * einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the
2775 assertion check as the attribute is defined for all entities.
2776 (Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion
2777 check as the attribute is defined for all entities.
2778 * einfo.ads Update the documentation of attribute
2779 Is_Hidden_Non_Overridden_Subprogram.
2780 * sem_ch7.adb (Install_Package_Entity): No need to check the
2781 entity kind of the Id.
2782 * sem_ch13.adb (Hide_Matching_Homograph): Update the comment on
2783 usage. Ensure that the homographs are of the same entity kind
2784 and not fully conformant.
2785 (Hide_Non_Overridden_Subprograms): Update the comment on usage.
2786
27872014-08-01 Robert Dewar <dewar@adacore.com>
2788
2789 * inline.adb: Minor code reorganization.
2790 * sem_ch12.adb, s-tasdeb.ads: Minor reformatting.
2791
3fe5cead
AC
27922014-08-01 Robert Dewar <dewar@adacore.com>
2793
2794 * inline.adb, s-os_lib.ads: Minor reformatting.
2795
27962014-08-01 Arnaud Charlet <charlet@adacore.com>
2797
2798 * s-tasdeb.ads, s-tasdeb.adb (Master_Hook, Master_Completed_Hook): New.
2799 * s-tassta.adb (Task_Wrapper, Vulnerable_Complete_Master): Call new
2800 hooks.
2801
39521a94
AC
28022014-08-01 Yannick Moy <moy@adacore.com>
2803
2804 * inline.adb (Cannot_Inline): Issue info message instead of
2805 warning for subprograms not inlined in GNATprove mode.
2806 * sem_res.adb (Resolve_Call): Take body into account for deciding
2807 whether subprogram can be inlined in GNATprove mode or not.
2808
28092014-08-01 Claire Dross <dross@adacore.com>
2810
2811 * exp_util.ads (Get_First_Parent_With_Ext_Axioms_For_Entity): Renaming
2812 of Get_First_Parent_With_External_Axiomatization_For_Entity for
2813 shorter.
2814 * sem_ch12.adb (Analyze_Associations): Only call Build_Wrapper
2815 for parameters of packages with external axiomatization.
2816
4d49c6e1
AC
28172014-08-01 Robert Dewar <dewar@adacore.com>
2818
2819 * sem_res.adb: Minor comment addition.
2820
28212014-08-01 Arnaud Charlet <charlet@adacore.com>
2822
2823 * s-crtl.ads, i-cstrea.ads, adaint.c, adaint.h, osint.adb,
2824 s-fileio.adb (__gnat_fopen, __gnat_freopen): Remove vms_form parameter,
2825 no longer used.
2826 * s-os_lib.ads: Minor reformatting.
2827
d18bbd25
AC
28282014-08-01 Arnaud Charlet <charlet@adacore.com>
2829
2830 * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Restore more
2831 completely previous code since only GCC back-ends are prepared
2832 to handle e.g. 'Machine attribute.
2833 * targparm.adb, targparm.ads: Remove remaining refs and
2834 handling of OpenVMS_On_Target, VAX_Float_On_Target and
2835 RTX_RTSS_Kernel_Module_On_Target.
2836 * hostparm.ads (OpenVMS, Max_Debug_Name_Length): Removed,
2837 no longer used.
2838
28392014-08-01 Robert Dewar <dewar@adacore.com>
2840
2841 * exp_dist.adb, exp_attr.adb: Minor reformatting.
2842 * sem_ch3.adb, mlib-tgt-specific-hpux.adb, a-direct.ads,
2843 a-synbar-posix.adb, exp_ch9.adb, sem_ch10.adb, sem_prag.adb,
2844 sem_ch12.adb, sem.ads, sem_res.adb, s-exctra.adb, s-soflin.ads,
2845 g-alveop.ads, sem_ch8.adb, vxaddr2line.adb, sem_cat.ads: Remove
2846 improper use of shall.
2847
37368818
RD
28482014-08-01 Robert Dewar <dewar@adacore.com>
2849
2850 * sem_aggr.adb, exp_atag.adb, layout.adb, nlists.adb, nlists.ads,
2851 exp_attr.adb, exp_ch9.adb, par-ch12.adb, exp_aggr.adb,
2852 exp_ch3.adb: Minor reformatting & code reorganization.
2853
e08add8e
AC
28542014-08-01 Robert Dewar <dewar@adacore.com>
2855
2856 * gnat_rm.texi: Remove VMS specific rules for pragma Ident.
2857 * Makefile.rtl, adaint.c, gnat_rm.texi, s-asthan.adb, s-asthan.ads,
2858 s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
2859 s-po32gl.adb, s-po32gl.ads, s-vaflop.adb, s-vaflop.ads, s-vmexta.adb,
2860 s-vmexta.ads, sem_vfpt.adb, sem_vfpt.ads, socket.c: Remove VMS specific
2861 code.
2862 * gcc-interface/decl.c, gcc-interface/Makefile.in,
2863 gcc-interface/Make-lang.in: Ditto. Also remove refs to rTX.
2864
28652014-08-01 Pascal Obry <obry@adacore.com>
2866
2867 * s-os_lib.ads: Rename File_Size to Large_File_Size.
2868
21c51f53
RD
28692014-08-01 Robert Dewar <dewar@adacore.com>
2870
2871 * a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
2872 a-numaux-darwin.adb, a-numaux-darwin.ads, a-numaux.ads,
2873 a-numaux-libc-x86.ads: Fix bad package header comments.
2874 * elists.ads, elists.adb (Append_New_Elmt): New procedure.
2875 * gnat_rm.texi, a-calend.adb, gnatcmd.adb, einfo.adb, einfo.ads,
2876 checks.adb, sem_prag.adb, sem_prag.ads, rtsfind.ads, freeze.adb,
2877 sem_util.adb, sem_attr.adb, exp_dbug.adb, exp_dbug.ads, gnat1drv.adb,
2878 targparm.adb, targparm.ads, exp_ch6.adb, switch-b.adb, s-shasto.ads,
2879 stand.ads, s-auxdec.ads, opt.adb, opt.ads, mlib-tgt.ads, s-fatgen.adb,
2880 s-fatgen.ads, system.ads, snames.ads-tmpl, s-stalib.ads,
2881 s-os_lib.adb: Remove VMS-specific code.
2882
78433fec
AC
28832014-08-01 Arnaud Charlet <charlet@adacore.com>
2884
2885 * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to
2886 previous state in CodePeer_Mode.
2887
09c954dc
AC
28882014-08-01 Robert Dewar <dewar@adacore.com>
2889
2890 * hostparm.ads: Put back definition of OpenVMS as False to aid
2891 the transition process.
2892 * sem_ch7.adb: Minor reformatting.
2893 * prj-env.adb: Minor code fix.
2894 * gnat_rm.texi: Complete previous change.
2895 * sem_ch3.adb: Minor reformatting.
2896 * sem_ch6.adb: Minor reformatting.
2897 * sem_elab.adb: Minor reformatting.
2898 * exp_strm.adb: Complete previous change.
2899
29002014-08-01 Vincent Celier <celier@adacore.com>
2901
2902 * sem_warn.adb (Warn_On_Unreferenced_Entity): Do not issue a
2903 warning when a constant is unreferenced and its type has pragma
2904 Unreferenced_Objects.
2905
29062014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
2907
2908 * einfo.adb: Flag2 is now known as
2909 Is_Hidden_Non_Overridden_Subprogram.
2910 (Is_Hidden_Non_Overridden_Subprogram): New routine.
2911 (Set_Is_Hidden_Non_Overridden_Subprogram): New routine.
2912 (Write_Entity_Fields): Output Flag2.
2913 * einfo.ads: New attribute Is_Hidden_Non_Overridden_Subprogram
2914 along with occurrences in entities.
2915 (Is_Hidden_Non_Overridden_Subprogram): New routine and pragma Inline.
2916 (Set_Is_Hidden_Non_Overridden_Subprogram): New routine
2917 and pragma Inline.
2918 * sem_ch7.adb (Install_Package_Entity): Do not enter implicitly
2919 declared non-overriden homographs into visibility.
2920 * sem_ch13.adb (Freeze_Entity_Checks): Hide all
2921 implicitly declared non-overriden homographs.
2922 (Hide_Non_Overridden_Subprograms): New routine.
2923
78f8727c
RD
29242014-08-01 Robert Dewar <dewar@adacore.com>
2925
2926 * snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove
2927 VMS-specific code.
2928 * prj-conf.adb: Minor reformatting.
2929 * xr_tabls.adb (Read_File): Restore code which was enabled on
2930 non VMS platforms before.
2931 * prj-env.adb (Initialize_Default_Project_Path): Ditto.
2932 * sem_ch5.adb: Minor reformatting.
2933 * lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb,
2934 sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb:
2935 Remove VMS-specific code.
2936
7a5b62b0
AC
29372014-08-01 Vincent Celier <celier@adacore.com>
2938
2939 * make.adb (Await_Compile): Remove loop that was only needed
2940 for VMS.
2941
29422014-08-01 Robert Dewar <dewar@adacore.com>
2943
2944 * a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb,
2945 a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb,
2946 a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb,
2947 einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb,
2948 exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb,
2949 fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads,
2950 g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
2951 g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb,
2952 krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb,
2953 mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb,
2954 osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb,
2955 prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb,
2956 rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads,
2957 s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads,
2958 s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb,
2959 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads,
2960 s-taspri-posix-noaltstack.ads, s-taspri-posix.ads,
2961 s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads,
2962 sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
2963 sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
2964 sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb,
2965 treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS
2966 specific code and comments.
2967
29682014-08-01 Ed Schonberg <schonberg@adacore.com>
2969
2970 * sem_ch5.adb (Analyze_Iterator_Specification): New procedure
2971 Check_Reverse_Iteration, to verify the legality of the Reverse
2972 indicator on various container types, and to detect illegal
2973 reverse iterations on containers that only supoort forward
2974 iteration.
2975
935a9145
AC
29762014-08-01 Vincent Celier <celier@adacore.com>
2977
2978 * gnatcmd.adb: Remove the VMS specific stuff. Integrate in
2979 procedure GNATCmd the relevant declarations from packages VMS_Cmds
2980 and VMS_Conv.
2981 * gnatcmd.ads: Update comments to remove any trace of VMS
2982
29832014-08-01 Ed Schonberg <schonberg@adacore.com>
2984
2985 * sem_ch12.adb: sem_ch12.adb (Build_Wrapper): Capture entity for
2986 defaulted actual that is an operator, before building wrapper
2987 for it in GNATprove mode. Restrict construction of wrapper to
2988 actuals that are operators.
2989
29902014-08-01 Vincent Celier <celier@adacore.com>
2991
2992 * vms_conv.adb, vms_conv.ads, vms_data.ads, vms_cmds.ads: Remove VMS
2993 specific packages no longer needed.
2994
29952014-08-01 Pascal Obry <obry@adacore.com>
2996
2997 * s-os_lib.ads (System.CRTL): Move with clause to body.
2998 (File_Size): New type.
2999 (File_Length64): Use it.
3000 (File_Length): Restore previous spec returning a Long_Integer.
3001 * s-os_lib.adb (System.CRTL): Move with clause here.
3002
30032014-08-01 Vincent Celier <celier@adacore.com>
3004
3005 * mlib-prj.adb: Update comments to remove any mention of VMS.
3006
24228312
AC
30072014-08-01 Arnaud Charlet <charlet@adacore.com>
3008
3009 * ug_words, xgnatugn.adb, gcc-interface/Make-lang.in: Remove
3010 xgnatugn.adb and ug_words.
3011
30122014-08-01 Eric Botcazou <ebotcazou@adacore.com>
3013
3014 * exp_attr.adb (Expand_N_Attribute_Reference): Check whether
3015 expansion can be avoid for Machine, Model and Rounding.
3016 (Is_Inline_Floating_Point_Attribute): Return true for Machine
3017 & Model, as well as Rounding if wrapped in a conversion to an
3018 integer type.
3019 * sem_res.adb (Simplify_Type_Conversion): Deal with Rounding as well.
3020 * gcc-interface/gigi.h (fp_arith_may_widen): Declare.
3021 * gcc-interface/utils.c (fp_arith_may_widen): New global variable.
3022 * gcc-interface/misc.c (enumerate_modes): Compute it.
3023 * gcc-interface/trans.c (FP_ARITH_MAY_WIDEN): Delete.
3024 (lvalue_required_for_attribute_p): Deal with Descriptor_Size,
3025 Machine and Model.
3026 (Attribute_to_gnu) <Attr_Model>: New case.
3027 <Attr_Machine>): Likewise.
3028 (convert_with_check): Test
3029 fp_arith_may_widen variable.
3030
30312014-08-01 Pascal Obry <obry@adacore.com>
3032
3033 * adaint.h (GNAT_FOPEN): New definition for Windows.
3034 (GNAT_OPEN): Likewise.
3035 (GNAT_STAT): Likewise.
3036 (GNAT_FSTAT): Likewise.
3037 (GNAT_LSTAT): Likewise.
3038 (GNAT_STRUCT_STAT): Likewise.
3039 * adaint.c (__gnat_stat): Fix computation of file size for
3040 Windows.
3041
30422014-08-01 Vincent Celier <celier@adacore.com>
3043
3044 * Makefile.rtl: Minor comment update.
3045
30462014-08-01 Vincent Celier <celier@adacore.com>
3047
3048 * Make-generated.in: Remove dependencies for vms-help.
3049
d77cfab2
AC
30502014-08-01 Gary Dismukes <dismukes@adacore.com>
3051
3052 * makeutl.ads, opt.ads: Minor grammar fixes.
3053 * makeutl.adb: Minor code reorganization.
3054
30552014-08-01 Arnaud Charlet <charlet@adacore.com>
3056
3057 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in,
3058 gnatsym.adb: Remove gnatsym (VMS only tool).
3059
30602014-08-01 Ben Brosgol <brosgol@adacore.com>
3061
3062 * gnat_ugn.texi, projects.texi, xgnatugn.adb: Removed all VMS
3063 conditionalization from gnat_ugn.texi and projects.texi, and updated
3064 (considerably simplified) xgnatugn.adb, to be removed soon.
3065
3849c246
VC
30662014-08-01 Vincent Celier <celier@adacore.com>
3067
3068 * debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
3069 * make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message
3070 instead of Debug.Debug_Flag_S.
3071 * makeutl.adb (Finish_Program, Fail_Program): Use Opt flag
3072 No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit
3073 error messages.
3074 * makeutl.ads (No_Exit_Message_Option): New constant string
3075 for switch --no-exit-message.
3076 * opt.ads (No_Exit_Message): New Boolean flag, defaulted to False.
3077 * switch-m.adb (Scan_Make_Switches): Recognize new switch
3078 --no-exit-message.
3079
16b10ccc
AC
30802014-08-01 Arnaud Charlet <charlet@adacore.com>
3081
3082 * exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
3083 * gcc-interface/Make-lang.in: Remove exp_vfpt.o
3084
30852014-08-01 Javier Miranda <miranda@adacore.com>
3086
3087 * inline.ads (Inlined_Calls, Backend_Calls,
3088 Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
3089 moved to inline.adb (Cannot_Inline): Update documentation.
3090 (Check_And_Build_Body_To_Inline): Renamed.
3091 (List_Inlining_Info): Subprogram moved here from package exp_ch6.
3092 * inline.adb (Check_Inlining_Restrictions): New local variable.
3093 (Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
3094 Backend_Not_Inlined_Subps): Declarations moved here
3095 from inline.ads (Number_Of_Statements): Removed.
3096 (Remove_Pragmas): Avoid duplicated version of this subprogram.
3097 (Build_Body_To_Inline): Code cleanup.
3098 (Build_Body_To_Inline.Has_Excluded_Statament): Removed.
3099 (Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
3100 (Check_Body_To_Inline): Removed.
3101 (Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
3102 (Has_Excluded_Declaration): No action if not
3103 Check_Inlining_Restrictions.
3104 (Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
3105 (Initialize): Initialize the lists of inlined calls and subprograms.
3106 (List_Inlining_Info): Subprogram moved here from package exp_ch6.
3107 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
3108 to Check_And_Build_Body_To_Inline since it has been renamed as
3109 Check_And_Split_Unconstrained_Function
3110 * exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
3111 package inline.
3112 * gnat1drv.adb Update call to Inline.List_Inlining_Info.
3113
31142014-08-01 Vincent Celier <celier@adacore.com>
3115
3116 * debug.adb: Add documentation for new debug switch -ds.
3117 * make.adb (List_Bad_Compilations): Do not issue any message
3118 when switch -ds is specified.
3119 * makeutl.adb (Fail_Program): Do not issue any message when
3120 -ds is specified.
3121 (Finish_Program): Ditto.
3122
31232014-08-01 Robert Dewar <dewar@adacore.com>
3124
3125 * s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
3126 s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
3127 s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
3128 indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
3129 indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
3130 s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
3131 s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
3132 s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
3133 s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
3134 s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
3135 s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
3136 s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
3137 g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
3138 s-tratas.ads: Minor fix to copyright notices.
3139
31402014-08-01 Eric Botcazou <ebotcazou@adacore.com>
3141
3142 * sinfo.ads: Remove long obsolete comment.
5e01ce12
ES
31432014-08-01 Ed Schonberg <schonberg@adacore.com>
3144
3145 * sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
3146 * sem_ch3.adb: Minor reformatting.
3147
8616f0a2
PO
31482014-08-01 Pascal Obry <obry@adacore.com>
3149
3150 * cstreams.c: Only enable large file support on know supported
3151 platforms. Add missing defines/includes.
3152
a6282852
ES
31532014-08-01 Ed Schonberg <schonberg@adacore.com>
3154
3155 * einfo.ads, einfo.adb New flags No_Predicate_On_Actual and
3156 No_Dynamic_Predicate_On_Actual, to enforce the generic contract
3157 on generic units that contain constructs that forbid subtypes
3158 with predicates.
3159 * sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype):
3160 Inherit flags indicating the presence of predicates in subtype
3161 declarations with and without constraints.
3162 (Inherit_Predicate_Flags): Utility for the above.
3163 * sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context,
3164 indicate that the actual cannot have predicates, and preserve
3165 warning. In an instance, report error if actual has predicates
3166 and the construct appears in a package declaration.
3167 * sem_ch12.adb (Diagnose_Predicated_Actual): Report error
3168 for an actual with predicates, if the corresponding formal
3169 carries No_Predicate_On_Actual or (in the case of a loop)
3170 No_Dynamic_Predicate_On_Actual.
3171 * sem_ch13.adb (Build_Predicate_Functions); Do not build a
3172 Static_Predicate function if the type is non-static (in the
3173 presence of previous errors),
3174 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag
3175 No_Dynamic_Predicate_On_Actual in a generic context, to enforce
3176 generic contract on actuals that cannot have predicates.
3177
0ef40c64
PO
31782014-08-01 Pascal Obry <obry@adacore.com>
3179
3180 * a-direct.adb (C_Size): Returns an int64.
3181 * osint.adb (System.CRTL): New with clause.
3182 (File_Length.Internal): Returns an int64.
3183 * s-os_lib.ads (File_Length): Returns an int64.
3184
ea0c8cfb
RD
31852014-08-01 Robert Dewar <dewar@adacore.com>
3186
3187 * gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb,
3188 mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb,
3189 osint.adb, krunch.adb: Minor reformatting.
3190
31912014-08-01 Robert Dewar <dewar@adacore.com>
3192
3193 * inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb,
3194 sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb,
3195 sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl:
3196 Remove VMS-specific code.
f1a85fe7 3197 * gcc-interface/decl.c, gcc-interface/trans.c: Ditto.
ea0c8cfb 3198
62883e6b
AC
31992014-08-01 Arnaud Charlet <charlet@adacore.com>
3200
3201 * binde.adb, bindgen.adb, butil.adb, clean.adb, gnatbind.adb,
3202 gnatchop.adb, gnatcmd.adb, gnatls.adb, gnatname.adb, krunch.adb,
3203 make.adb, makeutl.adb, memtrack.adb, mlib-prj.adb, mlib.adb,
3204 mlib.ads, tempdir.adb: Remove VMS handling.
3205
148c744a
PO
32062014-08-01 Pascal Obry <obry@adacore.com>
3207
3208 * adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
3209 (__gnat_named_file_length): Likewise.
3210 (__gnat_file_length_attr): Likewise.
3211 * a-direct.adb (C_Size): Use size_t as returned type.
3212 * osint.adb (File_Length): Adjust spec for Internal routine
3213 (returns size_t).
3214 * s-os_lib.adb (File_Length): Now returns a CRTL.size_t.
3215 (System.CRTL): With claused moved to spec.
3216 * s-os_lib.ads (System.CRTL): With clause moved to here.
3217
479f9059
PO
32182014-08-01 Pascal Obry <obry@adacore.com>
3219
3220 * adaint.h, adaint.c (__gnat_open): Added.
3221 * s-crtl.ads (open): Import __gnat_open for large file support.
3222
2b9fbec9
AC
32232014-08-01 Robert Dewar <dewar@adacore.com>
3224
3225 * sem_case.adb (Dup_Choice): Improve message for integer constants.
3226
32272014-08-01 Arnaud Charlet <charlet@adacore.com>
3228
3229 * gnatlink.adb: Remove special handling of VMS, RTX and JVM.
3230
32312014-08-01 Pascal Obry <obry@adacore.com>
3232
3233 * adaint.h (GNAT_OPEN): Defines as open64 where supported.
3234 * adaint.c (GNAT_OPEN): Uses new macro where needed.
3235
5cb7516d
EB
32362014-07-31 Eric Botcazou <ebotcazou@adacore.com>
3237
3238 * gcc-interface/utils.c (lookup_and_insert_pad_type): New function
53f3f4e3
EB
3239 extracted from...
3240 (maybe_pad_type): ...here. Call it to canonicalize the pad type.
5cb7516d
EB
3241 * gcc-interface/gigi.h: Update comment.
3242
6c26bac2
AC
32432014-07-31 Javier Miranda <miranda@adacore.com>
3244
3245 * debug.adb Remove documentation of -gnatd.k (no longer needed).
3246 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup.
3247 * inline.ads (Backend_Inlined_Subps): New
3248 Elist. (Backend_Not_Inlined_Subps): New Elist.
3249 (Has_Excluded_Declaration): Declaration previously located in
3250 * inline.adb (Has_Excluded_Statement): Declaration previously
3251 located in inline.adb
3252 * inline.adb (Has_Single_Return): Moved out of
3253 Build_Body_To_Inline to avoid having duplicated code.
3254 (Number_Of_Statements): New subprogram.
3255 (Register_Backend_Inlined_Subprogram): New subprogram.
3256 (Register_Backend_Not_Inlined_Subprogram): New subprogram.
3257 (Add_Inlined_Subprogram): Register backend inlined subprograms and
3258 also register subprograms that cannot be inlined by the backend.
3259 (Has_Excluded_Declaration): Moved out of Build_Body_To_Inline
3260 to avoid having duplicated code. Replace occurrences of
3261 Debug_Flag_Dot_K by Back_End_Inlining.
3262 * sem_res.adb (Resolve_Call): Code cleanup.
3263 * exp_ch6.adb (Expand_Call): Complete previous patch. Replace
3264 occurrence of Debug_Flag_Dot_K by Back_End_Inlining.
3265 (List_Inlining_Info): Add listing of subprograms passed to the
3266 backend and listing of subprograms that cannot be inlined by
3267 the backend.
3268 * sem_ch12.adb, sem_ch3.adb Replace occurrences of
3269 Debug_Flag_Dot_K by Back_End_Inlining.
3270
32712014-07-31 Robert Dewar <dewar@adacore.com>
3272
3273 * nlists.ads: Minor code fix (remove unwise Inline for
3274 List_Length).
3275
80211802
AC
32762014-07-31 Arnaud Charlet <charlet@adacore.com>
3277
3278 * einfo.adb: Remove VMS specific code.
3279 * exp_attr.adb: Remove VAX specific code.
3280 * set_targ.adb: Remove handling of VAX_Float.
3281 * sem_vfpt.adb: Remove references to Vax_Native.
3282 * sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native.
3283
32842014-07-31 Robert Dewar <dewar@adacore.com>
3285
3286 * sem_ch4.adb: Minor reformatting.
3287
3f1be5be
AC
32882014-07-31 Arnaud Charlet <charlet@adacore.com>
3289
3290 * gcc-interface/trans.c, gcc-interface/misc.c: Remove references
3291 to VMS. Misc clean ups.
6c26bac2 3292 * gcc-interface/Makefile.in (gnatlib-shared-vms): Remove.
3f1be5be 3293
ba0c6e47
RD
32942014-07-31 Robert Dewar <dewar@adacore.com>
3295
3296 * cstand.adb, einfo.adb, einfo.ads, errout.adb, exp_attr.adb,
3297 exp_prag.adb, frontend.adb, interfac.ads,
3298 par-prag.adb, s-auxdec.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads,
3299 s-fvaffl.ads, s-fvagfl.ads, s-vaflop.ads, sem_attr.adb, sem_attr.ads,
3300 sem_ch13.adb, sem_ch3.adb, sem_ch8.adb, sem_prag.adb, snames.adb-tmpl,
3301 snames.ads-tmpl: Remove obsolete VMS-specific code.
3302
f9648959
AC
33032014-07-31 Robert Dewar <dewar@adacore.com>
3304
3305 * sem_ch3.adb, sem_ch13.adb: Minor reformatting.
3306
33072014-07-31 Arnaud Charlet <charlet@adacore.com>
3308
3309 * a-intnam-linux.ads: Minor: update obsolete comments.
3310 * s-taasde.adb: Minor: fix comment header.
3311
33122014-07-31 Arnaud Charlet <charlet@adacore.com>
3313
3314 * s-auxdec-vms-ia64.adb, s-parame-vms-alpha.ads, s-asthan-vms-alpha.adb,
3315 s-tpopde-vms.adb, s-mastop-vms.adb, s-tpopde-vms.ads, s-taprop-vms.adb,
3316 mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, s-inmaop-vms.adb,
3317 g-enblsp-vms-alpha.adb, s-ransee-vms.adb, s-osprim-vms.adb,
3318 s-osprim-vms.ads, g-socthi-vms.adb, g-socthi-vms.ads, system-vms_64.ads,
3319 s-osinte-vms.adb, s-osinte-vms.ads, g-eacodu-vms.adb,
3320 s-vaflop-vms-alpha.adb, s-parame-vms-ia64.ads, a-dirval-vms.adb,
3321 a-caldel-vms.adb, mlib-tgt-specific-vms-alpha.adb, s-tasdeb-vms.adb,
3322 symbols-vms.adb, a-intnam-vms.ads, g-expect-vms.adb,
3323 symbols-processing-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
3324 s-traent-vms.adb, s-traent-vms.ads, i-cstrea-vms.adb, a-numaux-vms.ads,
3325 symbols-processing-vms-ia64.adb, s-interr-vms.adb, s-memory-vms_64.adb,
3326 s-memory-vms_64.ads, g-enblsp-vms-ia64.adb, s-taspri-vms.ads,
3327 s-auxdec-vms_64.ads, s-intman-vms.adb, s-intman-vms.ads,
3328 s-tpopsp-vms.adb, s-asthan-vms-ia64.adb, a-calend-vms.adb,
3329 a-calend-vms.ads, system-vms-ia64.ads, s-auxdec-vms-alpha.adb: Removed.
3330 * namet.h (Is_Non_Ada_Error): Remove.
3331
fd7215d7
AC
33322014-07-31 Robert Dewar <dewar@adacore.com>
3333
3334 * exp_util.adb, lib-writ.adb, sem_ch12.adb, s-direio.adb: Minor
3335 reformatting.
3336
33372014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3338
3339 * exp_attr.adb (Expand_Loop_Entry_Attribute): Update the comment
3340 which demonstrates the expansion of while loops subject to
3341 attribute 'Loop_Entry. The condition of a while loop along with
3342 related condition actions is now wrapped in a function. Instead
3343 of repeating the condition, the expansion now calls the function.
3344
33452014-07-31 Ed Schonberg <schonberg@adacore.com>
3346
3347 * sem_case.adb (Check_Against_Predicate): Correct off-by-one
3348 error when reporting of missing values in a case statement for
3349 a type with a static predicate.
3350 (Check_Choices): Reject a choice given by a subtype to which a
3351 Dynamic_Predicate applies.
3352 * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
3353 Has_Dynamic_Predicate_Aspect flag from parent.
3354
33552014-07-31 Ed Schonberg <schonberg@adacore.com>
3356
3357 * sem_ch13.adb (Analyze_Aspect_Specifications): A predicate
3358 cannot apply to a subtype of an incomplete type.
3359 (Is_Static_Choice): Treat an Others_Clause as static. The
3360 staticness of the expression and of the range are checked
3361 elsewhere.
3362
33632014-07-31 Pascal Obry <obry@adacore.com>
3364
3365 * adaint.h (__gnat_ftell64): Added.
3366 (__gnat_fseek64): Added.
3367 (__int64): Added.
3368 * cstreams.c (__int64): Removed.
3369
d1e0e148
AC
33702014-07-31 Pascal Obry <obry@adacore.com>
3371
3372 * a-stream.ads (Stream_Element_Offset): Now a signed 64bit type.
3373 * i-cstrea.ads, s-crtl.ads (fseek64): Offset is always a 64bit value.
3374 (ftell64): Always returns a 64bit value.
3375 * cstreams.c (int64): New definition.
3376 (_FILE_OFFSET_BITS): Set to 64 to enable 64bit offset support.
3377 (__gnat_ftell64): Always returns a 64bit value. The implemenation now
3378 uses ftello() on UNIX.
3379 (__gnat_fseek64): Offset is always a 64bit value. The
3380 implementation now uses fseeko() on UNIX.
3381 * a-ststio.adb, s-direio.adb (Set_Position): Simplify code,
3382 always use fseek64 to set the offset.
3383 (Size): Simplify code, always use fseek64/ftell64.
3384 * s-direio.ads (Count): Now an int64.
3385 * g-socket.ads (Vector_Element): Adjust definition for Length
3386 to be a size_t. This matches the C definition and avoid using
3387 a 64bit integer on 32bit platforms now that Count is always 64bit.
3388 * g-socthi-mingw.adb (Ada.Streams): Removed as not used anymore.
3389 (C_Recvmsg): Change some conversion to account for change in
3390 Vector_Element.
3391 (C_Sendmsg): Likewise.
3392
33932014-07-31 Robert Dewar <dewar@adacore.com>
3394
3395 * cstand.adb (Create_Standard): Remove handling of -gnatdm flag.
3396 * debug.adb: Remove documentation of -gnatdm flag.
3397 * gnat1drv.adb (Adjust_Global_Switches): Remove handling of
3398 -gnatdm flag.
3399
fce54763
AC
34002014-07-31 Arnaud Charlet <charlet@adacore.com>
3401
3402 * lib-writ.adb (Write_Unit_Information): Fix case where U =
3403 No_Unit.
3404
34052014-07-31 Claire Dross <dross@adacore.com>
3406
3407 * exp_util.adb, exp_util.ads
3408 (Get_First_Parent_With_External_Axiomatization_For_Entity):
3409 New routine to find the first parent of an entity with
3410 a pragma Annotate (GNATprove, External_Axiomatization).
3411 (Has_Annotate_Pragma_For_External_Axiomatization): New function
3412 to check if a package has a pragma Annotate (GNATprove,
3413 External_Axiomatization).
3414 * einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New
3415 flag on the entity for the declaration created for a formal
3416 subprogram in an instance. This is a renaming declaration,
3417 or in GNATprove_Mode the declaration of an expression function
3418 that captures the axiomatization of the actual.
3419 * sem_ch6.adb (Analyze_Expression_Function): For a
3420 Generic_Actual_Subprogram, place body immediately after the
3421 declaration because it may be used in a subsequent declaration
3422 in the instance.
3423 * sem_ch12.adb (Build_Wrapper): Add code to handle instances where
3424 the actual is a function, not an operator. Handle functions with
3425 one and two parameters and binary and unary operators.
3426
34272014-07-31 Pascal Obry <obry@adacore.com>
3428
3429 * cstreams.c (__gnat_is_regular_file_fd): Removed.
3430 * adaint.c (__gnat_is_regular_file_fd): Added.
3431
7f3d273a
AC
34322014-07-31 Robert Dewar <dewar@adacore.com>
3433
3434 * exp_strm.adb: Minor reformatting.
3435
34362014-07-31 Ed Schonberg <schonberg@adacore.com>
3437
3438 * sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to
3439 Analyze_Associations, to create a wrapper around operators that
3440 are actuals to formal subprograms. This is done in GNATProve
3441 mode in order to propagate the contracts of the operators to
3442 the body of the instance.
3443
f4510e5e
ES
34442014-07-31 Ed Schonberg <schonberg@adacore.com>
3445
3446 * sem_attr.adb (Analyze_Attribute, case 'Old): The reference is
3447 legal if within an aspect specification for a generic subprogram.
3448
d7a93e45
AC
34492014-07-31 Javier Miranda <miranda@adacore.com>
3450
3451 * gnat1drv.adb (Back_End_Inlining): Set to false if
3452 Suppress_All_Inlining is set.
3453 * debug.adb: Adding documentation for -gnatd.z.
3454 * inline.adb (Add_Inlined_Body): Extend the -gnatn2
3455 processing to -gnatn1 for calls to Inline_Always routines.
3456 (Add_Inlined_Subprogram): Remove previous patch.
3457
34582014-07-31 Ed Schonberg <schonberg@adacore.com>
3459
3460 * sem_ch13.adb (Check_One_Function): Apply properly the static
3461 semantic rules for indexing aspects and the functions they denote.
3462
16a569d2
AC
34632014-07-31 Javier Miranda <miranda@adacore.com>
3464
3465 * debug.adb: Complete documentation of -gnatd.z.
3466
34672014-07-31 Bob Duff <duff@adacore.com>
3468
3469 * gnat_ugn.texi: Minor doc fixes.
3470
34712014-07-31 Robert Dewar <dewar@adacore.com>
3472
3473 * sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing
3474 index value.
3475
34762014-07-31 Tristan Gingold <gingold@adacore.com>
3477
3478 * s-unstyp.ads (Packed_Byte): Make this type universal aliasing.
3479 (Packed_Bytes1): Make component aliased.
3480
34812014-07-31 Robert Dewar <dewar@adacore.com>
3482
3483 * s-unstyp.ads, s-fileio.adb: Minor reformatting.
3484
c5670cb4
RD
34852014-07-31 Robert Dewar <dewar@adacore.com>
3486
3487 * inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
3488 reformatting.
3489
c1b37eda
EB
34902014-07-31 Eric Botcazou <ebotcazou@adacore.com>
3491
3492 * gcc-interface/utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP
3493 on array references here, now done more selectively in trans.c.
3494
20bebd4c
DR
34952014-07-31 Doug Rupp <rupp@adacore.com>
3496
3497 * gcc-interface/misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0.
3498
f087ea44
AC
34992014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3500
3501 * sem_util.adb (Is_Effectively_Volatile): New routine.
3502
35032014-07-31 Fedor Rybin <frybin@adacore.com>
3504
3505 * gnat_ugn.texi: Document --test-duration option for gnattest.
3506
35072014-07-31 Javier Miranda <miranda@adacore.com>
384e3fb1 3508 Eric Botcazou <ebotcazou@adacore.com>
f087ea44
AC
3509
3510 * opt.ads (Back_End_Inlining): New variable which controls
3511 activation of inlining by back-end expansion.
3512 * gnat1drv.adb (Adjust_Global_Switches): Initialize Back_End_Inlining
3513 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build
3514 the body to be inlined by the frontend if Back_End_Inlining
3515 is enabled.
3516 * exp_ch6.adb (Register_Backend_Call): Moved to inline.adb.
3517 (Expand_Call): If backend inlining is enabled let the backend to
3518 handle inlined subprograms.
3519 * inline.ads (Register_Backend_Call): Moved here from exp_ch6
3520 * inline.adb (Register_Backend_Call): Moved here from exp_ch6.
3521 (Add_Inlined_Subprogram): Add subprograms when Back_End_Inlining is set.
3522 (Must_Inline): Do not return Inline_Call if Back_End_Inlining is
3523 enabled.
3524 * debug.adb Document -gnatd.z
3525 * fe.h Import Back_End_Inlining variable.
3526 * gcc-interface/utils.c (create_subprog_decl): If Back_End_Inlining is
3527 enabled then declare attribute "always inline"
384e3fb1
JM
3528 * gcc-interface/decl.c, gcc-interface/trans.c,
3529 gcc-interface/gigi.h: Add handling of Inline_Always pragma.
f087ea44
AC
3530
35312014-07-31 Robert Dewar <dewar@adacore.com>
3532
3533 * a-ngelfu.ads: Minor comment fix.
3534
d780e54f
AC
35352014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3536
3537 * freeze.adb (Freeze_Record_Type): Replace all calls to
3538 Is_SPARK_Volatile with Is_Effectively_Volatile and update
3539 related comments.
3540 * sem_ch3.adb (Analyze_Object_Contract, Process_Discriminants):
3541 Replace all calls to Is_SPARK_Volatile with
3542 Is_Effectively_Volatile and update related comments.
3543 * sem_ch5.adb (Analyze_Iterator_Specification,
3544 Analyze_Loop_Parameter_Specification): Replace all calls to
3545 Is_SPARK_Volatile with Is_Effectively_Volatile and update
3546 related comments.
3547 * sem_ch6.adb (Process_Formals): Replace all calls to
3548 Is_SPARK_Volatile with Is_Effectively_Volatile and update
3549 related comments.
3550 * sem_ch12.adb (Instantiate_Object): Replace the call to
3551 Is_SPARK_Volatile_Object with Is_Effectively_Volatile_Object
3552 and update related comment.
3553 * sem_prag.adb (Analyze_External_Property_In_Decl_Part,
3554 Analyze_Global_Item): Replace all calls to Is_SPARK_Volatile
3555 with Is_Effectively_Volatile and update related comments.
3556 * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Replace
3557 all calls to Is_SPARK_Volatile with Is_Effectively_Volatile and
3558 update related comments.
3559 * sem_util.adb (Has_Enabled_Property,
3560 Variable_Has_Enabled_Property): Replace all calls
3561 to Is_SPARK_Volatile with Is_Effectively_Volatile and
3562 update related comments.
3563 (Is_Effectively_Volatile): New routine.
3564 (Is_Effectively_Volatile_Object): New routine.
3565 (Is_SPARK_Volatile): Removed.
3566 (Is_SPARK_Volatile_Object): Removed.
3567 * sem_util.ads (Is_Effectively_Volatile): New routine.
3568 (Is_Effectively_Volatile_Object): New routine.
3569 (Is_SPARK_Volatile): Removed.
3570 (Is_SPARK_Volatile_Object): Removed.
3571
35722014-07-31 Pascal Obry <obry@adacore.com>
3573
3574 * s-fileio.adb (Open): Make sure a shared file gets inserted into
3575 the global list atomically. This ensures that the file descriptor
3576 won't be freed because another tasks is closing the file.
3577
16b5e0b7
RD
35782014-07-31 Robert Dewar <dewar@adacore.com>
3579
3580 * sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on
3581 generation of _FIRST and _LAST variables even in GNATprove_Mode.
3582 * gnat_ugn.texi: Minor editing.
3583 * sem_prag.adb (Ensure_Aggregate_Form): Make sure generated
3584 aggregate is marked Comes_From_Source if argument is CFS.
3585
f15749aa
AC
35862014-07-31 Pascal Obry <obry@adacore.com>
3587
3588 * s-fileio.adb: Remove obsolete comment.
3589
35902014-07-31 Vincent Celier <celier@adacore.com>
3591
3592 * a-strbou.ads ("=" (Bounded_String, Bounded_String): Add
3593 overriding keyword before function to avoid error when compiler
3594 is called with -gnatyO (check overriding indicators).
3595
35962014-07-31 Tucker Taft <taft@adacore.com>
3597
3598 * gnat_ugn.texi: Add a paragraph pointing the reader
3599 to the "plugins" example.
3600
36012014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3602
3603 * freeze.adb (Freeze_Expression): Document the
3604 purpose of the parent chain traversal.
3605
396eb900
AC
36062014-07-31 Robert Dewar <dewar@adacore.com>
3607
3608 * checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for
3609 unconstrained fpt ops.
3610
36112014-07-31 Pascal Obry <obry@adacore.com>
3612
3613 * s-fileio.adb (Open): Make sure a shared file gets inserted into
3614 the global list atomically. This ensures that the file descriptor
3615 won't be freed because another tasks is closing the file.
3616
e8cddc3b
AC
36172014-07-31 Vincent Celier <celier@adacore.com>
3618
3619 * projects.texi: Minor spelling error fix.
3620
36212014-07-31 Robert Dewar <dewar@adacore.com>
3622
3623 * gnat_rm.texi: Document No_Elaboration_Code_All restriction.
3624 * lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit
3625 information.
3626 * lib.ads, lib.adb (No_Elab_Code): New field in unit information.
3627 * restrict.adb (Process_Restriction_Synonyms): Add handling
3628 of No_Elaboration_Code_All.
3629 * restrict.ads (Process_Restriction_Synonyms): Now handles
3630 No_Elaboration_Code_All.
3631 * sem_ch10.adb (Analyze_Context): Enforce transitive with for
3632 No_Elaboration_Code_All.
3633 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
3634 Handle setting of No_Elab_Code in unit information. Handle
3635 No_Elaboration_Code_All.
3636 * snames.ads-tmpl (Name_No_Elaboration_Code): New name for
3637 pragma processing.
3638 (Name_No_Elaboration_Code_All): New name for pragma processing.
3639
36402014-07-31 Eric Botcazou <ebotcazou@adacore.com>
3641
3642 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
3643 types with a null range and use the Esize of the component
3644 instead of its RM_Size to identify appropriate values.
3645
36462014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3647
3648 * freeze.adb Add with and use clause for Aspects.
3649 (Freeze_Expression): Emit an error when a volatile constant lacks
3650 Boolean aspect Import.
3651 (Has_Boolean_Aspect_Import): New routine.
3652
f3296dd3
AC
36532014-07-31 Gary Dismukes <dismukes@adacore.com>
3654
3655 * exp_util.adb: Minor reformatting.
3656
36572014-07-31 Vincent Celier <celier@adacore.com>
3658
3659 * errutil.adb (Error_Msg): Make sure that all components of
3660 the error message object are initialized.
3661
36622014-07-31 Ed Schonberg <schonberg@adacore.com>
3663
3664 * sem_ch4.adb (Try_Container_Indexing): If the container type is
3665 class-wide, use specific type to locate iteration primitives.
3666 * sem_ch13.adb (Check_Indexing_Functions): Add legality checks for
3667 rules in RM 4.1.6 (Illegal_Indexing): New diagnostic procedure.
3668 Minor error message reformating.
3669 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly Iterator
3670 aspect for a derived type.
3671
36722014-07-31 Robert Dewar <dewar@adacore.com>
3673
3674 * debug.adb: Document debug flag d.X.
3675
3dddb11e
ES
36762014-07-31 Ed Schonberg <schonberg@adacore.com>
3677
3678 * sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
3679 * sem_util.adb (Find_Specific_Type): If type is untagged private,
3680 retrieve full view so that primitive operations can be located.
3681 * exp_disp.adb Move Find_Specific_Type to sem_util.
3682 * exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use
3683 Find_Specific_Type to locate primitive equality.
3684 * exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent
3685 type does not require initialization.
3686 * exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance
3687 body all visibility is established, and the enclosing package
3688 declarations must not be installed.
3689
9420f51f
YM
36902014-07-31 Yannick Moy <moy@adacore.com>
3691
3692 * sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs):
3693 Make subprogram public.
3694
022ed178
AC
36952014-07-31 Ed Schonberg <schonberg@adacore.com>
3696
3697 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): New
3698 predicate Discriminated_Size, to distinguish between private
3699 components that depend on discriminants from those whose size
3700 depends on some other non-static expression.
3701
37022014-07-31 Nicolas Setton <setton@adacore.com>
3703
3704 * g-exptty.adb (Close): Fix binding to Waitpid: use the
3705 tty version.
3706
9d827cd5
AC
37072014-07-31 Ed Schonberg <schonberg@adacore.com>
3708
3709 * sem_ch3.adb (Make_Index): Reject properly the use of 'Length
3710 in a discrete range, when 'range was probably intended.
3711
37122014-07-31 Robert Dewar <dewar@adacore.com>
3713
3714 * sem_warn.adb, sem_warn.ads (Has_Junk_Name): Moved from body to spec.
3715
9d2a2071
AC
37162014-07-31 Robert Dewar <dewar@adacore.com>
3717
3718 * frontend.adb: Minor reformatting.
3719 * sem.adb: Minor reformatting.
3720 * sem_ch6.adb (Analyze_Null_Procedure): Set proper sloc for
3721 identifiers on rewrite.
3722 * par.adb: Minor comment updates.
3723 * a-ngelfu.adb (Cos): Minor simplification.
3724 * par-ch13.adb (Get_Aspect_Specifications): Improve messages
3725 and recovery for bad aspect.
3726 * exp_ch3.adb: Code clean up.
3727 * sem_util.ads: Minor comment correction.
3728 * sem_ch13.adb (Check_Array_Type): Properly handle large types.
3729 * sem_ch3.adb: Code clean up.
3730 * binderr.ads: Minor comment correction.
3731
37322014-07-31 Ed Schonberg <schonberg@adacore.com>
3733
3734 * exp_disp.adb (Expand_Interface_Conversion): A call whose
3735 prefix is a static conversion to an interface type that is not
3736 class-wide is not dispatching.
3737
7bfff488
AC
37382014-07-31 Robert Dewar <dewar@adacore.com>
3739
3740 * inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb,
3741 s-traceb-mastop.adb: Minor reformatting.
3742
37432014-07-31 Ed Schonberg <schonberg@adacore.com>
3744
3745 * exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform
3746 expansion, to handle properly visibility of selected components
3747 in instance bodies.
3748
aa3efecd
AC
37492014-07-31 Robert Dewar <dewar@adacore.com>
3750
3751 * par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends.
3752 * par-ch2.adb (P_Pragma): Set Inside_Depends.
3753 * par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to
3754 Check_Unary_Plus_Or_Minus.
3755 * scans.ads (Inside_Depends): New flag.
3756 * scng.adb (Scan): Pass Inside_Depends to Check_Arrow.
3757 * style.ads: Add Inside_Depends parameter to Check_Arrow Add
3758 Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
3759 * styleg.adb (Check_Arrow): Handle Inside_Depends case.
3760 (Check_Unary_Plus_Or_Minus): Handle Inside_Depends case.
3761 * styleg.ads: Add Inside_Depends parameter to Check_Arrow Add.
3762 Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
3763
37642014-07-31 Javier Miranda <miranda@adacore.com>
3765
3766 * s-vaflop.adb Move the body of function T_To_G before
3767 T_To_D. Required for frontend inlining.
3768 * inline.adb (Has_Excluded_Contract): New subprogram used to
3769 check if a subprogram inlined by the frontend has contracts
3770 which cannot be inlined.
3771
37722014-07-31 Bob Duff <duff@adacore.com>
3773
3774 * s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb:
3775 (Call_Chain): Add 1 to number of frames to skip, to account for
3776 the fact that there's one more frame on the stack.
9697805c 3777 * gcc-interface/Makefile.in (s-traceb.o): Adjust rules.
aa3efecd 3778
b7c874a7
AC
37792014-07-31 Robert Dewar <dewar@adacore.com>
3780
3781 * checks.adb (Enable_Overflow_Check): More precise setting of
3782 Do_Overflow_Check flag for division.
3783
37842014-07-31 Eric Botcazou <ebotcazou@adacore.com>
3785
3786 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject packed
3787 array types with implementation type.
3788
37892014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3790
3791 * sem_ch10.adb (Process_State): Remove local variable Name. Add
3792 local variable Decl. Partially declare an abstract state by
3793 generating an entity and storing it in the state declaration.
3794 * sem_prag.adb (Create_Abstract_State): Fully declare a
3795 semi-declared abstract state.
3796
e1360f50
AC
37972014-07-31 Robert Dewar <dewar@adacore.com>
3798
3799 * prj-nmsc.adb: Minor reformatting.
3800
38012014-07-31 Bob Duff <duff@adacore.com>
3802
3803 * s-tasdeb.adb (System.Tasking.Debug): Remove
3804 all usage of the secondary stack from this package.
3805
33ca2867
AC
38062014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
3807
3808 * freeze.adb (Freeze_Expression): Update the loop in charge
3809 of finding a proper insertion place for freeze nodes to handle
3810 N_Expression_With_Actions nodes.
3811
0407af53
RD
38122014-07-31 Robert Dewar <dewar@adacore.com>
3813
3814 * sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor
3815 reformatting.
3816
3affd6d4
PO
38172014-07-31 Pascal Obry <obry@adacore.com>
3818
3819 * prj-nmsc.adb: Minor reformatting.
3820
972fb59e
AC
38212014-07-31 Ed Schonberg <schonberg@adacore.com>
3822
3823 * sem_util.adb (Has_Preelaborable_Initialization): Check that
3824 type is tagged before checking whether a user-defined Initialize
3825 procedure is present.
3826
38272014-07-31 Gary Dismukes <dismukes@adacore.com>
3828
3829 * a-ngelfu.ads (Sqrt): Augment postcondition.
3830
38312014-07-31 Pascal Obry <obry@adacore.com>
3832
3833 * prj-nmsc.adb (Check_Library_Attributes): An aggegate library
3834 directory and ALI directory must be different than all object
3835 and library directories of aggregated projects.
3836
38372014-07-31 Vincent Celier <celier@adacore.com>
3838
3839 * prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec
3840 to package body, as it is not called from outside. Remove argument
3841 Project_Tree, no longer used. When runtime cannot be found,
3842 call Raise_Invalid_Config instead of failing the program.
3843
c1c82472
RD
38442014-07-31 Robert Dewar <dewar@adacore.com>
3845
3846 * bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress
3847 (Overflow_Check).
3848 * gnatlink.adb (Process_Args): Remove generation of -gnato0,
3849 no longer needed.
3850
e95ad7ea
RD
38512014-07-31 Robert Dewar <dewar@adacore.com>
3852
3853 * gnat_ugn.texi: Document new switch -gnato0.
3854 * sem_ch3.ads: Minor reformatting.
3855 * gnatlink.adb (Process_Args): Compile bind file with -gnato0
3856 (we do not want overflow checks when incrementing elaboration
3857 counters).
3858 * einfo.ads: Minor reformatting.
3859
e9a79435
RD
38602014-07-31 Robert Dewar <dewar@adacore.com>
3861
3862 * exp_ch5.adb, freeze.adb, exp_ch3.adb: Minor comment correction.
3863 * s-arit64.adb: Minor reformatting.
3864
38652014-07-31 Robert Dewar <dewar@adacore.com>
3866
3867 * gnat1drv.adb (Adjust_Global_Switches): Default for overflow
3868 checking is enabled except in GNAT_Mode.
3869 * switch-c.adb (Scan_Front_End_Switches): Implement -gnato0
3870 (suppress overflow checks).
3871
7c0c194b
AC
38722014-07-31 Ed Schonberg <schonberg@adacore.com>
3873
3874 * exp_ch3.adb (Expand_Freeze_Record_Type): Do not build an
3875 invariant procedure for an internally generated subtype that is
3876 created for an object of a class-wide type.
3877
38782014-07-31 Vincent Celier <celier@adacore.com>
3879
3880 * prj-nmsc.adb, errutil.adb: Make code similar to Errout.
3881
38822014-07-31 Gary Dismukes <dismukes@adacore.com>
3883
3884 * gnat_rm.texi, sem_aux.ads, einfo.ads, sem_util.ads, sem_ch6.adb,
3885 exp_disp.adb: Minor reformatting.
3886
1fb63e89
RD
38872014-07-31 Robert Dewar <dewar@adacore.com>
3888
3889 * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, exp_ch9.adb,
3890 sem_ch7.adb, checks.adb, s-exctra.adb, exp_ch6.adb, exp_disp.adb,
3891 exp_dist.adb, sem_ch13.adb, exp_strm.adb, exp_ch3.adb: Minor
3892 reformatting.
3893
2fe258bf
AC
38942014-07-31 Robert Dewar <dewar@adacore.com>
3895
3896 * sem_ch13.adb: Minor reformatting.
3897
38982014-07-31 Ed Schonberg <schonberg@adacore.com>
3899
3900 * exp_ch3.adb (Build_Invariant_Checks): If the enclosing record
3901 is an unchecked_union, warn that invariants will not be checked
3902 on components that have them.
3903
39042014-07-31 Robert Dewar <dewar@adacore.com>
3905
3906 * freeze.adb (Freeze_Entity): Check for error of
3907 Type_Invariant'Class applied to a untagged type.
3908 * sem_ch6.adb (Analyze_Null_Procedure): Unconditionally rewrite
3909 as null body, so that we perform error checks even if expansion
3910 is off.
3911
3e50df4d
ES
39122014-07-31 Ed Schonberg <schonberg@adacore.com>
3913
3914 * sem_ch13.adb (Build_Invariant_Procedure): If body of procedure
3915 is already present, nothing to do.
3916 * exp_ch3.adb (Build_Component_Invariant_Call): For an access
3917 component, check whether the access type has an invariant before
3918 checking the designated type.
3919 (Build_Record_Invariant_Proc): Change suffix of generated
3920 name to prevent ambiguity when record type has invariants
3921 in addition to those of components, and two subprograms are
3922 constructed. Consistent with handling of array types.
3923 (Insert_Component_Invariant_Checks): Build invariant procedure
3924 body when one has not been created yet, in the case of composite
3925 types that are completions and whose full declarations carry
3926 invariants.
3927
0be7dcbb
AC
39282014-07-30 Thomas Quinot <quinot@adacore.com>
3929
3930 * gnat_rm.texi: Minor doc fixes.
3931
39322014-07-30 Robert Dewar <dewar@adacore.com>
3933
3934 * a-rbtgbo.adb, sem_ch13.adb: Minor reformatting.
3935
39362014-07-30 Vincent Celier <celier@adacore.com>
3937
3938 * errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing
3939 of error message.
3940 * prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the
3941 message to report that a directory cannot be created, to avoid
3942 processing of the directory path that may contains special
3943 insertion characters.
3944
a18e3d62
AC
39452014-07-30 Ed Schonberg <schonberg@adacore.com>
3946
3947 * a-crdlli.ads: Place declaration of Empty_List after full type
3948 declaration for Curosr, to prevent freezing error.
3949
39502014-07-30 Robert Dewar <dewar@adacore.com>
3951
3952 * get_targ.adb: Minor code reorganization.
3953 * prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor
3954 reformatting.
3955
39562014-07-30 Ed Schonberg <schonberg@adacore.com>
3957
3958 * a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error,
3959 not Program_Error, when attempting to remove an element not in
3960 the set. This is the given semantics for all set containers.
3961
39622014-07-30 Ed Schonberg <schonberg@adacore.com>
3963
0be7dcbb 3964 * a-rbtgbo.adb (Delete_Node_Sans_Free): If
a18e3d62
AC
3965 element is not present in tree return rather than violating
3966 an assertion. Constraint_Error will be raised in the caller if
3967 element is not in the container.
3968
1ebc2612
AC
39692014-07-30 Arnaud Charlet <charlet@adacore.com>
3970
3971 * set_targ.adb (Read_Target_Dependent_Values): New subprogram.
3972 (elab body): Add provision for default target config file.
3973 * get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram.
3974
39752014-07-30 Ed Schonberg <schonberg@adacore.com>
3976
3977 * a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error,
3978 when attempting to remove an element not in the set. This is
3979 the given semantics for all set containers.
3980 * a-cborse.adb (Delete): Attempt removal first, to check for
3981 tampering, before checking whether this is an attempt to
3982 delete a non-existing element, and in fthe latter case raise
3983 Constraint_Error.
3984
39852014-07-30 Vincent Celier <celier@adacore.com>
3986
3987 * prj-proc.adb (Recursive_Process): Do not create a new
3988 Project_Id if the project is already in the list of projects of
3989 the tree.
3990
39912014-07-30 Ed Schonberg <schonberg@adacore.com>
3992
3993 * sem_ch6.adb (Analyze_Function_Return): Reject a return expression
3994 whose type is an incomplete formal type.
3995 (Analyze_Return_Type): Reject a return type that is an untagged
3996 imcomplete formal type.
3997 (Process_Formals): Reject a formal parameter whose type is an
3998 untagged formal incomplete type.
3999 * sem_res.adb (Resolve_Actuals): Reject an actual whose type is
4000 an untagged formal incomplete type.
4001
45ec05e1
RD
40022014-07-30 Robert Dewar <dewar@adacore.com>
4003
4004 * gnat_ugn.texi: Minor spelling correction.
4005 * makeutl.adb: Minor code reorganization.
4006 * exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
4007
40082014-07-30 Robert Dewar <dewar@adacore.com>
4009
4010 * einfo.ads (Has_Unchecked_Union): Document that this is used
4011 to check for illegal Valid_Scalars attribute references.
4012 * exp_attr.adb (Build_Record_VS_Func): New function
4013 (Expand_N_Attribute_Reference, case Valid_Scalars): Call this
4014 function.
4015 * gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
4016 Unchecked_Union Add note on 'Valid_Scalars generating a lot
4017 of code.
4018 * sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
4019 error on attempt to apply Valid_Scalars to Unchecked_Union type.
4020
ad9560ea
AC
40212014-07-30 Steve Baird <baird@adacore.com>
4022
4023 * exp_ch4.adb (Expand_N_Indexed_Component): Disable optimized handling
4024 of A(I..J)(K) in CodePeer_Mode.
4025
40262014-07-30 Ben Brosgol <brosgol@adacore.com>
4027
4028 * gnat_ugn.texi: Fix typo.
4029
b3f5eef0
AC
40302014-07-30 Thomas Quinot <quinot@adacore.com>
4031
4032 * lib-writ.ads: document format change.
4033
40342014-07-30 Pascal Obry <obry@adacore.com>
4035
4036 * prj-util.adb (For_Interface_Sources): Do not
4037 include sources from withed externally built projects.
4038
40392014-07-30 Robert Dewar <dewar@adacore.com>
4040
4041 * lib.adb: Minor reformatting.
4042 * prj-util.adb: Minor reformatting.
4043
40442014-07-30 Ed Schonberg <schonberg@adacore.com>
4045
4046 * exp_aggr.adb (Build_Record_Aggr_Code): For an array component
4047 that depends on discriminants, and which is given by an others
4048 clause, create an explicit subtype with the discriminant values
4049 of the enclosing aggregate, because the backend cannot otherwise
4050 retrieve the actual bounds of the array.
4051
40522014-07-30 Fedor Rybin <frybin@adacore.com>
4053
4054 * gnat_ugn.texi: Improve gnattest documentation.
4055
40562014-07-30 Pascal Obry <obry@adacore.com>
4057
4058 * makeutl.adb (Insert_Project_Sources): Properly handle sources
4059 that are aggregated. We want to include sources not only part
4060 of libraries but also if part of an aggregated project from an
4061 aggregate library.
4062 * prj.adb (For_Project_And_Aggregated_Context): Properly check
4063 state of root project.
4064
9e5a6ee7
TQ
40652014-07-30 Thomas Quinot <quinot@adacore.com>
4066
4067 * lib-load.ads: Minor reformatting.
4068 * sinfo.ads (Library_Unit): Update comment.
4069 * lib.ads (Notes): Simplify. The Unit component in Notes_Entry
4070 is redundant. Instead used the pragma Node_Id directly as the
4071 element type.
4072
40732014-07-30 Thomas Quinot <quinot@adacore.com>
4074
4075 * lib.adb (Store_Note): Store only notes that do not come from
4076 an instance, and that are in the extended main source unit.
4077 * lib-writ (Write_Unit_Information): Annotations from subunits
4078 must be emitted along with those for the main unit, and they
4079 must carry a specific file name.
4080 * ali.ads (Notes_Record): Use a File_Name_Type instead of a
4081 Unit_Id for the source file containing the pragma, as in the
4082 case of annotations from subunits we might not have a readily
4083 available unit id.
4084 * ali.adb (Scan_ALI): Account for above change in data structure.
4085
3ea8f61e
AC
40862014-07-30 Vincent Celier <celier@adacore.com>
4087
4088 * makeutl.adb (Insert_Project_Sources): When the library project
4089 is an aggregate Stand-Alone Library, insert in the queue the
4090 Ada interface units, with Closure set to True;
4091
40922014-07-30 Eric Botcazou <ebotcazou@adacore.com>
4093
4094 * sem_util.adb: Fix minor typo.
4095 * makeutl.adb: Minor reformatting.
4096
41c79d60
AC
40972014-07-30 Robert Dewar <dewar@adacore.com>
4098
4099 * exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.
4100
41012014-07-30 Yannick Moy <moy@adacore.com>
4102
4103 * checks.ads: Fix typo in comment.
4104
41052014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
4106
4107 * sem_util.adb (Set_Debug_Info_Needed): For scalar types, recurse on
4108 entities that materialize range bounds, if any.
4109
41102014-07-30 Vincent Celier <celier@adacore.com>
4111
4112 * projects.texi: Minor spelling fix.
4113
8e888920
AC
41142014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
4115
4116 * checks.adb (Make_Bignum_Block): Use the new secondary stack
4117 build routines to manage the mark.
4118 * exp_ch7.adb (Create_Finalizer, Expand_Cleanup_Actions):
4119 Use the new secodary stack build routines to manage the mark.
4120 (Insert_Actions_In_Scope_Around): Add new formal parameter
4121 Manage_SS along with comment on its usage. Code and comment
4122 reformatting. Mark and release the secondary stack when the
4123 context warrants it.
4124 (Make_Transient_Block): Update the call
4125 to Insert_Actions_In_Scope_Around to account for parameter Manage_SS.
4126 (Wrap_Transient_Declaration): Remove local variable
4127 Uses_SS. Ensure that the secondary stack is marked and released
4128 when the related object declaration appears in a library level
4129 package or package body. Code and comment reformatting.
4130 * exp_util.ads, exp_util.adb (Build_SS_Mark_Call): New routine.
4131 (Build_SS_Release_Call): New routine.
4132
41332014-07-30 Steve Baird <baird@adacore.com>
4134
4135 * exp_attr.adb: Revert previous change, not needed after all.
4136
41372014-07-30 Vincent Celier <celier@adacore.com>
4138
4139 * makeutl.adb (Queue.Insert_Project_Sources): Insert with
4140 Closure => True for interfaces of Stand-Alone Libraries.
4141 * makeutl.ads (Source_Info (Format => Gprbuild)): Add new
4142 Boolean component Closure, defaulted to False.
4143
41442014-07-30 Yannick Moy <moy@adacore.com>
4145
4146 * sem_res.adb: Fix typo in error message.
4147
63a4aa43
AC
41482014-07-30 Robert Dewar <dewar@adacore.com>
4149
4150 * sem_ch3.adb (Process_Range_Expr_In_Decl): Use _FIRST/_LAST
4151 as name suffixes rather than L/H for subtype bounds.
4152 * tbuild.ads: Minor comment improvements and fixes
4153 (Make_External_Name): Document that suffix can start with an
4154 underscore.
4155
41562014-07-30 Bob Duff <duff@adacore.com>
4157
4158 * gnat_ugn.texi: Document --rep-clauses switch.
4159
33c9f9af
AC
41602014-07-30 Ed Schonberg <schonberg@adacore.com>
4161
4162 * sem_ch13.adb (Analyze_Aspect_Specifications): Default_Value and
4163 Default_Component_Value can only be specified for scalar type or
4164 arrays of scalar types respectively. This legality check must
4165 be performed at the point the aspect is analyzed, in order to
4166 reject aspect specifications that apply to a partial view.
4167
41682014-07-30 Thomas Quinot <quinot@adacore.com>
4169
4170 * freeze.adb: Minor reformatting.
4171
41722014-07-30 Robert Dewar <dewar@adacore.com>
4173
4174 * exp_attr.adb (Expand_Attribute, case First/Last): Don't expand in
4175 codepeer mode.
4176
18c56840
ES
41772014-07-30 Ed Schonberg <schonberg@adacore.com>
4178
4179 * freeze.adb (Check_Expression_Function): At the freeze point
4180 of an expression function, verify that the expression in the
4181 function does not contain references to any deferred constants
4182 that have no completion yet.
4183 (Freeze_Expression, Freeze_Before): call
4184 Check_Expression_Function.
4185 * a-ciorse.ads: Add Reference_Control_Type to detect tampering.
4186 * a-ciorse.adb: Add Adjust and Finalize routines for
4187 Reference_Control_Type. Use it in the construction of Reference
4188 and Constant_Reference values.
4189
41a58113
RD
41902014-07-30 Robert Dewar <dewar@adacore.com>
4191
4192 * exp_aggr.adb: Update comments.
4193 * a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor
4194 reformatting.
4195
41962014-07-30 Robert Dewar <dewar@adacore.com>
4197
4198 * cstand.adb (New_Standard_Entity): New version takes name
4199 string to call Make_Name.
4200 (Create_Standard): Use this routine to set name before setting other
4201 fields.
4202
42032014-07-30 Robert Dewar <dewar@adacore.com>
4204
4205 * exp_attr.adb (Expand_Attribute, case First): Rewrite simple
4206 entity reference.
4207 (Expand_Attribute, case Last): Ditto.
4208 * exp_ch3.adb (Constrain_Index): New calling sequence for
4209 Process_Range_Expr_In_Decl.
4210 (Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one
4211 problematical case.
4212 * sem_ch3.adb (Constrain_Index): New calling sequence for
4213 Process_Range_Expr_In_Decl.
4214 (Set_Scalar_Range_For_Subtype): ditto.
4215 (Process_Range_Expr_In_Decl): Create constants to hold bounds for
4216 subtype.
4217 * sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter.
4218 * sem_eval.adb (Compile_Time_Compare): Make sure we use base
4219 types if we are not assuming no invalid values.
4220
2b4c962d
AC
42212014-07-30 Robert Dewar <dewar@adacore.com>
4222
4223 * clean.adb: Minor reformatting.
4224 * opt.ads: Minor fix to incorrect comment.
4225
42262014-07-30 Ed Schonberg <schonberg@adacore.com>
4227
4228 * a-chtgbo.ads, a-chtgbo.adb (Delete_Node_At_Index): New
4229 subprogram, used by bounded hashed sets, to delete a node at
4230 a given index, whose element may have been improperly updated
4231 through a Reference_Preserving key.
4232 * a-cbhase.ads: Add Reference_Control_Type to package Generic_Keys.
4233 * a-cbhase.adb: Add Adjust and Finalize routines for
4234 Reference_Control_Type.
4235 (Delete, Insert): Raise Program_Error, not Constraint_Error,
4236 when operation is illegal.
4237 (Reference_Preserving_Key): Build aggregate for Reference_Control_Type
4238 * a-cmbutr.ads: Add Reference_Control_Type to detect tampering. Add
4239 private with_clause for Ada.Finalization.
4240 * a-cbmutr.adb: Add Adjust and Finalize routines for
4241 Reference_Control_Type. Use it in the construction of Reference
4242 and Constant_Reference values.
4243
c98b8253
AC
42442014-07-30 Robert Dewar <dewar@adacore.com>
4245
4246 * sem_ch3.adb, sem_ch3.ads: Minor code reorganization.
4247
42482014-07-30 Pascal Obry <obry@adacore.com>
4249
4250 * clean.adb (Clean_Project): Properly check for directory
4251 existence before trying to enter it.
4252
2e471ec7
RD
42532014-07-30 Robert Dewar <dewar@adacore.com>
4254
4255 * sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting.
4256
43174f15
AC
42572014-07-30 Robert Dewar <dewar@adacore.com>
4258
4259 * par-ch5.adb (P_Sequence_Of_Statements): Properly handle
4260 missing semicolon after name.
4261
42622014-07-30 Pascal Obry <obry@adacore.com>
4263
4264 * prj.ads (Gprinstall_Flags): New constant.
4265 * prj-nmsc.adb (Check_Library_Attributes): Do not fails for
4266 missing library dir if Directories_Must_Exist_In_Projects
4267 is false.
4268
734e72dd
BD
42692014-07-30 Bob Duff <duff@adacore.com>
4270
4271 * a-except-2005.adb, a-except.adb: Remove obsolete comments.
4272 * s-traceb.ads: Updagte comments.
4273
d6e8719d
RD
42742014-07-30 Robert Dewar <dewar@adacore.com>
4275
4276 * checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads,
4277 a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads,
4278 a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor
4279 reformatting.
4280
6b6bce61
AC
42812014-07-30 Ed Schonberg <schonberg@adacore.com>
4282
4283 * a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New
4284 subprogram, used by all versions of hashed sets, to delete a node
4285 whose element has been improperly updated through a Reference_
4286 Preserving key.
4287 * a-cohase.adb: Remove Delete_Node, use new common procedure
4288 Delete_Node_At_Index.
4289 * a-cihase.ads: Add Reference_Control_Type to package Generic_Keys.
4290 * a-cihase.adb: Add Adjust and Finalize routines for
4291 Reference_Control_Type.
4292 (Reference_Preserving_Key): Build aggregate for
4293 Reference_Control_Type
4294
42952014-07-30 Yannick Moy <moy@adacore.com>
4296
4297 * checks.adb, checks.ads (Determine_Range_R): New procedure to
4298 determine the possible range of a floating-point expression.
4299
43002014-07-30 Ed Schonberg <schonberg@adacore.com>
4301
4302 * a-cborse.ads: Add Reference_Control_Type to package Generic_Keys.
4303 * a-cborse.adb: Add Adjust and Finalize routines for
4304 Reference_Control_Type.
4305 (Reference_Preserving_Key): Build aggregate for
4306 Reference_Control_Type.
4307 (Delete): Check for tampering, and raise Program_Error (not
4308 Constraint_Error) when attempting to delete an element not in
4309 the set.
4310 (Insert): Ditto.
4311
43122014-07-30 Bob Duff <duff@adacore.com>
4313
4314 * a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb,
4315 * a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb:
4316 Exception_Information is used to produce useful debugging
4317 information for the programmer. However, it was also used to
4318 implement the stream attributes for type Exception_Occurrence. The
4319 latter requires a stable and portable interface, which meant
4320 that we couldn't include a symbolic traceback. A separate set of
4321 routines was used to provide symbolic tracebacks under program
4322 control (i.e. not automatically). The goal of this ticket is
4323 to provide such automatic tracebacks, so the change here is to
4324 split the two functionalities: Exception_Information gives the
4325 maximally useful information for debugging (i.e. it now includes
4326 a symbolic traceback when a decorator is set, and it can be
4327 improved freely in the future without disturbing streaming).
4328 Untailored_Exception_Information always uses hexadecimal addresses
4329 in the traceback, has a stable and portable output, and is now
4330 used for streaming.
4331
43322014-07-30 Eric Botcazou <ebotcazou@adacore.com>
4333
4334 * exp_aggr.adb (Expand_Array_Aggregate): Add missing test
4335 on the target of the assignment to find out whether it
4336 can be directly done by the back-end.
4337 * exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test.
4338
facfa165
RD
43392014-07-30 Robert Dewar <dewar@adacore.com>
4340
4341 * inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads,
4342 a-tasatt.adb: Minor reformatting.
4343
43442014-07-30 Robert Dewar <dewar@adacore.com>
4345
4346 * exp_ch4.adb: Minor reformatting.
4347
29ad9ea5
AC
43482014-07-30 Ed Schonberg <schonberg@adacore.com>
4349
4350 * a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
4351 Reference_Control_Type to generic package, to keep additional
4352 information for Reference_Types that manipulate keys. Add Adjust and
4353 Finalize procedures for this type.
4354 (Finalize): When finalizing a reference_preserving_key, verify
4355 that the key of the new value is equivalent to the key of the
4356 original element, raise Program_Error otherwise.
4357 (Insert): Detect tampering.
4358 (Reference_Preserving_Key): Build proper Reference_Control_Type,
4359 and update Busy and Lock bits to detect tampering.
4360 * a-cohase.ads: Keep with-clause private.
4361
43622014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
4363
4364 * exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
4365 of an equality are of an Unchecked_Union type and lack inferable
4366 discriminants.
4367
995683a6
AC
43682014-07-30 Bob Duff <duff@adacore.com>
4369
4370 * g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl,
4371 g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move
4372 GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System
4373 hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so
4374 we can call them from the runtimes. Leave renamings in place under GNAT.
4375
43762014-07-30 Yannick Moy <moy@adacore.com>
4377
4378 * inline.adb (Check_And_Build_Body_To_Inline): Include code for
4379 inlining in GNATprove mode.
4380
43812014-07-30 Ed Schonberg <schonberg@adacore.com>
4382
4383 * a-cohase.adb, a-cohase.ads (Generic_Keys): Add a
4384 Reference_Control_Type to generic package, to keep additional
4385 information for Reference_Types that manipulate keys. Add Adjust and
4386 Finalize procedures for this type.
4387 (Delete_Node): New procedure called when finalizing a
4388 Reference_Control_Type, to remove a node whose element has been
4389 improperly updated through a Reference.
4390 (Insert): Detect tampering.
4391 (Reference_Preserving_Key): Build proper Reference_Control_Type,
4392 and update Busy and Lock bits to detect tampering.
4393
43942014-07-30 Bob Duff <duff@adacore.com>
4395
4396 * exp_intr.ads: Minor comment fix.
4397
793c5f05
AC
43982014-07-30 Gary Dismukes <dismukes@adacore.com>
4399
4400 * exp_prag.adb, a-tags.ads: Minor typo fixes.
4401
44022014-07-30 Bob Duff <duff@adacore.com>
4403
4404 * a-excach.adb, a-excach-cert.adb, a-except-2005.ads,
4405 a-except.ads, g-traceb.adb, memtrack.adb,
4406 s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
4407 Cleanup: Make the three versions of System.Traceback.Call_Chain
4408 have the same interface. Use an array for the Traceback parameter
4409 instead of an Address. This will enable reduction in code
4410 duplication.
4411
44122014-07-30 Pat Rogers <rogers@adacore.com>
4413
4414 * gnat_ugn.texi: Corrected minor textual error in description
4415 of switch -gnatwl.
4416
44172014-07-30 Bob Duff <duff@adacore.com>
4418
4419 * Makefile.rtl: Sort file names.
4420
44212014-07-30 Arnaud Charlet <charlet@adacore.com>
4422
4423 * a-tasatt.adb: Complete previous change: kill spurious warning
4424 on e.g. sparc, and make sure we only use the fast path when the
4425 alignment is compatible.
4426
44272014-07-30 Yannick Moy <moy@adacore.com>
4428
4429 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as
4430 coming from source.
4431
1eb31e60
YM
44322014-07-30 Yannick Moy <moy@adacore.com>
4433
4434 * inline.adb (Build_Body_To_Inline): Issue more precise messages
4435 for declarations that prevent inlining.
4436 (Cannot_Inline): Change usual start of message to refer to contextual
4437 analysis in GNATprove mode.
4438 * sem_res.adb (Resolve_Call): Change usual start of message to
4439 refer to contextual analysis in GNATprove mode, when inlining
4440 not possible.
4441
eb1ee757
AC
44422014-07-30 Robert Dewar <dewar@adacore.com>
4443
4444 * sem_res.adb, sem_ch6.adb: Minor code reorganization.
4445 * inline.adb: Minor reformatting.
4446
44472014-07-30 Javier Miranda <miranda@adacore.com>
4448
4449 * a-tags.ads: Add comments.
4450
2178830b
AC
44512014-07-30 Pat Rogers <rogers@adacore.com>
4452
4453 * gnat_rm.texi: Minor word error.
4454
44552014-07-30 Ed Schonberg <schonberg@adacore.com>
4456
4457 * exp_prag.adb (Expand_Old): Insert declarationss of temporaries
4458 created to capture the value of the prefix of 'Old at the
4459 beginning of the current declarative part, to prevent data flow
4460 anomalies in the postcondition procedure that will follow.
4461
44622014-07-30 Yannick Moy <moy@adacore.com>
4463
4464 * debug.adb: Retire debug flag -gnatdQ.
4465 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode
4466 on decl, not on body. Ignore predicate functions.
4467 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of
4468 debug flag -gnatdQ. Correctly analyze SPARK_Mode on decl and
4469 body when generating a decl for a body on which SPARK_Mode aspect
4470 is given.
4471 * sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for
4472 attaching pragma to entity, to account for declaration not coming
4473 from source.
4474 * sem_res.adb (Resolve_Call): Issue warning and flag subprogram
4475 as not always inlined in GNATprove mode, when called in an
4476 assertion context.
4477
d3e16619
AC
44782014-07-30 Vincent Celier <celier@adacore.com>
4479
4480 * debug.adb: Minor comment update.
4481
44822014-07-30 Robert Dewar <dewar@adacore.com>
4483
4484 * s-tasuti.adb, s-tassta.adb: Minor reformatting.
4485 * sprint.adb (Sprint_Node): Handle N_Contract case.
4486 * exp_prag.adb: Minor reformatting.
4487 * freeze.adb (Freeze_Entity): Check useless postcondition for
4488 No_Return subprogram.
4489 * sem_prag.adb: Minor reformatting.
4490
44912014-07-30 Javier Miranda <miranda@adacore.com>
4492
4493 * a-tags.ads: Complete comments about performance.
4494
44952014-07-30 Fedor Rybin <frybin@adacore.com>
4496
4497 * gnat_ugn.texi: Adding description for --exit-status option to
4498 gnattest section. Fixing index entry of --passed-tests option
4499 in gnattest section.
4500
45012014-07-30 Javier Miranda <miranda@adacore.com>
4502
4503 * Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb,
4504 rtsfind.ads: Remove references to package Interfaces.CPP since this
4505 package is no longer needed.
4506
fccaf220
BD
45072014-07-30 Bob Duff <duff@adacore.com>
4508
4509 * s-taasde.adb (Timer_Queue): Don't use a
4510 build-in-place function call to initialize the Timer_Queue.
4511 * s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads:
4512 Turn off polling in these units, because otherwise we get
4513 elaboration circularities with Ada.Exceptions when the -gnatP
4514 switch is used.
4515 * s-tassta.adb (Create_Task): Make sure independent tasks
4516 are created with Parent = Environment_Task. This was not true,
4517 for example, in s-interr.adb, when Interrupt_Manager does "new
4518 Server_Task"; the Server_Task had Parent = Interrupt_Manager,
4519 which is wrong because the master is determined by the access
4520 type, which is at library level.
4521 * s-tasuti.adb (Make_Independent): Avoid setting Parent; it is
4522 now set correctly by Create_Task.
4523 (Make_Passive): Remove the workaround for the race condition in
4524 Make_Independent.
4525 * frontend.adb (Frontend): Revert to previous method of detecting
4526 temporary configuration pragma files, recognizing such files by
4527 ".tmp" in the name. This is more general than detecting pragmas
4528 Source_File_Name_Project, because it allows any tool to use
4529 this naming convention, no matter the content of the file.
4530 * gnat_ugn.texi: Document this naming convention.
4531
3aac5551
RD
45322014-07-30 Robert Dewar <dewar@adacore.com>
4533
4534 * exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads,
4535 inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb,
4536 s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads,
4537 s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting.
4538 * a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8
4539 conversion.
4540
274d2584
ES
45412014-07-30 Ed Schonberg <schonberg@adacore.com>
4542
4543 * sem_ch5.adb: Improve error recovery.
4544 * inline.adb (Build_Body_To_Inline): Set Full_Analysis to false
4545 before analyzing the body, so that in GNATprove mode there is
4546 no light expansion. Whatever expansion is required by SPARK will
4547 be performed when analysing the inlined code.
4548
2afa8fdd
AC
45492014-07-30 Bob Duff <duff@adacore.com>
4550
4551 * s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
4552
45532014-07-30 Ed Schonberg <schonberg@adacore.com>
4554
4555 * sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
4556 verify that it is not hidden by an inner implicit declaration.
4557
8071b771
AC
45582014-07-30 Thomas Quinot <quinot@adacore.com>
4559
4560 * sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
4561 * sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects.
4562 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where
4563 the call returns an unconstrained type: in this case there is
4564 already a transient scope, and we should not establish a new one.
4565 * exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If
4566 True, also insert cleanup actions in the tree.
4567 (Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around
4568 with Clean set True.
4569
45702014-07-30 Arnaud Charlet <charlet@adacore.com>
4571
4572 * s-taskin.ads (Direct_Index, Direct_Index_Range,
4573 Direct_Attribute_Element, Direct_Attribute_Array,
4574 Direct_Index_Vector, Direct_Attributes, Is_Defined,
4575 Indirect_Attributes): Removed. (Atomic_Address,
4576 Attribute_Array, Attributes): New.
4577 * s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes,
4578 Finalize_Attributes_Link, Initialize_Attributes_Link): Removed.
4579 (Finalize_Attributes): Reimplement.
4580 * s-tassta.adb (Create_Task): Remove call to
4581 Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task):
4582 Replace Finalize_Attributes_Link by Finalize_Attributes.
4583 * a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb:
4584 Reimplement from scratch, using a simpler and more efficient
4585 implementation.
4586 * s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment.
4587 * s-parame.ads, s-parame-hpux.ads,
4588 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads,
4589 * s-parame-vxworks.ads (Max_Attribute_Count): New, replace
4590 Default_Attribute_Count.
4591
4bd4bb7f
AC
45922014-07-30 Olivier Hainque <hainque@adacore.com>
4593
4594 * vxworks-ppc-link.spec: New file. Extra link
4595 instructions for ppc-vxworks.
4596 * vxworks-crtbe-link.spec: Likewise, for ZCX related support.
4597 * system-vxworks-ppc.ads: Adjust linker options to use spec files.
4598 * system-vxworks-arm.ads: Likewise.
4599 * gcc-interface/Makefile.in: Enable .spec files.
4600
46012014-07-30 Ed Schonberg <schonberg@adacore.com>
4602
4603 * sem_aggr.adb: Minor comment reformatting.
4604
46052014-07-30 Robert Dewar <dewar@adacore.com>
4606
4607 * sem_util.ads, sem_util.adb (Is_Junk_Name): Removed.
4608 * sem_warn.adb (Has_Junk_Name): New function
4609 (Check_References): Use Has_Junk_Name to delete junk warnings
4610 (Check_Unset_Reference): ditto.
4611 (Warn_On_Unreferenced_Entity): ditto.
4612 (Warn_On_Useless_Assignment): ditto.
4613
46142014-07-30 Ed Schonberg <schonberg@adacore.com>
4615
4616 * checks.adb (Insert_Valid_Check): Do not check for the packed
4617 array type of a prefix that is an access type.
4618
46192014-07-30 Ed Schonberg <schonberg@adacore.com>
4620
4621 * sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute
4622 Unconstrained_Array even if prefix is not frozen yet, as can
4623 occur with a private subtype used as a generic actual.
4624
46252014-07-30 Gary Dismukes <dismukes@adacore.com>
4626
4627 * sem_attr.adb: Minor reformatting.
4628
46292014-07-30 Pat Rogers <rogers@adacore.com>
4630
4631 * gnat_rm.texi: Corrected minor wording error in description
4632 of No_Exception_Registration.
4633
46342014-07-30 Yannick Moy <moy@adacore.com>
4635
4636 * einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove
4637 mode. Realphabetize two subprograms.
4638 * inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode.
4639 (Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id.
4640 (Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove
4641 mode.
4642 (Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode.
4643 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use
4644 Is_Inline in GNATprove mode.
4645 (Analyze_Subprogram_Specification):
4646 Set Is_Inlined_Always at subprogram entity creation.
4647 * sem_res.adb (Resolve_Call): Do not deal with inlining during
4648 pre-analysis. Issue warning on call to possibly inlined
4649 subprogram when body not seen.
4650
46512014-07-30 Yannick Moy <moy@adacore.com>
4652
4653 * lib-xref.adb (Generate_Reference): Add special
4654 case for compiler-generated formals in GNATprove mode.
4655
480156b2
AC
46562014-07-30 Yannick Moy <moy@adacore.com>
4657
4658 * sem_ch6.adb: Add comments.
4659
46602014-07-30 Thomas Quinot <quinot@adacore.com>
4661
4662 * s-os_lib.ads (GM_Time_Of): Clarify documentation.
4663
46642014-07-30 Robert Dewar <dewar@adacore.com>
4665
4666 * sem_aggr.adb, sem_res.adb: Minor reformatting.
4667
46682014-07-30 Thomas Quinot <quinot@adacore.com>
4669
4670 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
4671 Bit_Order): Set Reverse_Bit_Order on the base type of the
4672 specified first subtype.
4673
36428cc4
AC
46742014-07-30 Ed Schonberg <schonberg@adacore.com>
4675
4676 * inline.adb (Expand_Inlined_Call): Use a renaming declaration
4677 to capture the value of actuals of a limited type rather than
4678 an object declaration, to prevent spurious errors when analyzing
4679 the inlined body.
4680
46812014-07-30 Ed Schonberg <schonberg@adacore.com>
4682
4683 * sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body
4684 as an instance, and inhibit semantic checks on already analyzed
4685 code to prevent spurious errors.
4686
46872014-07-30 Arnaud Charlet <charlet@adacore.com>
4688
4689 * a-exctra.ads ("="): New function, to restore compatibility.
4690
46912014-07-30 Pascal Obry <obry@adacore.com>
4692
4693 * adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime
4694 routine to use the OS dst setting.
4695
46962014-07-30 Pat Rogers <rogers@adacore.com>
4697
4698 * gnat_ugn.texi: Minor correction to description of -gnatw.K.
4699
47002014-07-30 Ed Schonberg <schonberg@adacore.com>
4701
4702 * sem_util.adb (Wrong_Type): Disable some checks equally within
4703 instances and within inlined bodies, to suppress spurious type
4704 errors on already analyzed code.
4705 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression
4706 is legal in an inlined body, juts as it is in an instance body.
4707
47082014-07-30 Ed Schonberg <schonberg@adacore.com>
4709
4710 * sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined
4711 body the operand of an unchecked conversion may be a literal, in
4712 which case its type is the target type of the conversion. This
4713 is in contrast to conversions in other contexts, where the
4714 operand cannot be a literal and must be resolvable independent
4715 of the context.
4716
e8fa3dcd
PMR
47172014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
4718
4719 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a
4720 mere scalar constant instead of a reference for a renaming of
4721 scalar literal.
4722 * gcc-interface/utils.c (renaming_from_generic_instantiation_p): New.
4723 * gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New.
4724
7b2888e6
AC
47252014-07-30 Robert Dewar <dewar@adacore.com>
4726
4727 * s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb,
4728 g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb,
4729 g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb,
4730 s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb,
4731 g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb,
4732 s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting
4733 & code reorganization.
4734
47352014-07-30 Bob Duff <duff@adacore.com>
4736
4737 * s-tassta.adb, sem_util.ads: Minor reformatting.
4738
47392014-07-30 Yannick Moy <moy@adacore.com>
4740
4741 * inline.adb (Build_Body_To_Inline): Detect when
4742 subprogram has multiple returns, or not a single last return
4743 statement, in GNATprove mode.
4744 (Cannot_Inline): Simplify logic to handle case of GNATprove
4745 inlining first.
4746
47472014-07-30 Ed Schonberg <schonberg@adacore.com>
4748
4749 * sem_ch6.adb: Stubs are not subject to inlining.
4750
b0c5fdda
AC
47512014-07-30 Bob Duff <duff@adacore.com>
4752
4753 * s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this
4754 from a procedure to a function, so that it can more easily be
4755 called before the "begin" of a task.
4756 * s-taasde.ads (Delay_Block): Make this type immutably limited,
4757 so we can use a build-in-place function call to initialize
4758 Timer_Queue in the body.
4759 * a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb,
4760 * s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb,
4761 * s-interr-vms.adb, s-taasde.adb: Each independent task now calls
4762 Make_Independent before reaching its "begin", to avoid race
4763 conditions. This causes the activating task to wait until after
4764 Make_Independent is complete before proceeding. In addition,
4765 we initialize data structures used by independent tasks before
4766 activating those tasks, to avoid possible use of uninitialized data.
4767 * s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads:
4768 Minor comment fixes.
4769
47702014-07-30 Bob Duff <duff@adacore.com>
4771
4772 * a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move
4773 the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to
4774 System.Traceback_Entries (s-traent.ads and s-traent-vms.ads). Add
4775 subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback.
4776 * g-debpoo.adb: Refer to Tracebacks_Array in its new home.
4777
47782014-07-30 Arnaud Charlet <charlet@adacore.com>
4779
4780 * a-tasatt.adb: Remove old comments.
4781
52c1498c
YM
47822014-07-30 Yannick Moy <moy@adacore.com>
4783
4784 * einfo.ads (Is_Inlined): Document new use in GNATprove mode.
4785 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add comments
4786 to explain rationale for inlining or not in GNATprove mode.
4787 (Expand_Inlined_Call): In GNATprove mode, set Is_Inlined flag
4788 to False when inlining is not possible.
4789 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Is_Inlined
4790 flag to indicate that subprogram is fully inlined. To be reversed
4791 if inlining problem is found.
4792 * sem_res.adb (Resolve_Call): Set Is_Inlined flag to False when
4793 call in potentially unevaluated context.
4794
e5c4e2bc
AC
47952014-07-30 Jose Ruiz <ruiz@adacore.com>
4796
4797 * s-tarest.adb, s-tarest.ads: Fix comments.
4798
47992014-07-30 Robert Dewar <dewar@adacore.com>
4800
4801 * exp_attr.adb, checks.adb, sem_util.adb, sem_util.ads, sem_attr.adb:
4802 Change No_Scalar_Parts predicate to Scalar_Part_Present and
4803 invert sense of test. This avoids the "not No_xxx" situation
4804 which is always ugly.
4805
48062014-07-30 Ed Schonberg <schonberg@adacore.com>
4807
4808 * inline.adb (Expand_Inlined_Call): When generating code for
4809 an internal subprogram the expansion uses the location of the
4810 call, so that gdb can skip over it. In GNATprove mode we want to
4811 preserve slocs of original subprogram when expanding an inlined
4812 call, to obtain better warnings, even though subprogram appears
4813 not to come from source if it is the inlining of a subprogram
4814 body without a previous spec.
4815
48162014-07-30 Eric Botcazou <ebotcazou@adacore.com>
4817
4818 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
4819 types with atomic components.
4820
48212014-07-30 Thomas Quinot <quinot@adacore.com>
4822
4823 * Make-generated.in: Remove now unnecessary targets after s-oscons
4824 reorg.
4825
48262014-07-30 Yannick Moy <moy@adacore.com>
4827
4828 * sem_res.adb (Resolve_Call): Use ultimate alias
4829 of callee when available.
4830
48312014-07-30 Ed Schonberg <schonberg@adacore.com>
4832
4833 * sem_ch6.adb (Analyze_Expression_Function): To check whether
4834 an expression function is a completion, use the specification of
4835 the previous declaration, not its entity, which may be internally
4836 generated in an inlined context.
4837
93a87598
AC
48382014-07-30 Doug Rupp <rupp@adacore.com>
4839
4840 * adaint.c (__gnat_tmp_name) [__ANDROID__]: Default to putting
4841 temp files in /cache directory unless overridden by TMPDIR.
4842
48432014-07-30 Jose Ruiz <ruiz@adacore.com>
4844
4845 * s-tassta.adb, s-tarest.adb (Initialize, Create_Task,
4846 Create_Restricted_Task): Remove redundant check. Number_Of_CPUs returns
4847 type CPU, so it can never be greater than CPU_Range'Last.
4848
48492014-07-30 Bob Duff <duff@adacore.com>
4850
4851 * s-taskin.ads: Minor comment fix.
4852
48532014-07-30 Thomas Quinot <quinot@adacore.com>
4854
4855 * g-socket.adb: Remove now useless WITH, USE, and USE TYPE
4856 clauses.
4857
48582014-07-30 Yannick Moy <moy@adacore.com>
4859
4860 * debug.adb: Free debug flag dQ used for frontend inlining in
4861 GNATprove mode..
4862 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove test of
4863 debug flag..
4864
48652014-07-30 Thomas Quinot <quinot@adacore.com>
4866
4867 * Make-generated.in: Remove generation of s-oscons.ads, only
4868 generate the xoscons utility, in runtime-agnostic rules.
4869 * gcc-interface/Makefile.in: Clean up rules. Remove VMS parts,
4870 no longer supported.
4871
1399d355
AC
48722014-07-30 Bob Duff <duff@adacore.com>
4873
4874 * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New
4875 parameter Chain to be used in the allocator case.
4876 (Make_Build_In_Place_Call_In_Allocator): If the allocated object
4877 has tasks, wrap the code in a block that will activate them,
4878 including the usual finalization code to kill them off in case
4879 of exception or abort.
4880
48812014-07-30 Robert Dewar <dewar@adacore.com>
4882
4883 * treepr.adb, treepr.ads; Reorganize documentation for new pp routines
4884 Remove renamings (don't work for gdb).
4885 (par): New synonym for p (avoid gdb ambiguities).
4886 * inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
4887
6be44a9a
BD
48882014-07-30 Bob Duff <duff@adacore.com>
4889
4890 * exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment
4891 fixes.
4892 * treepr.ads, treepr.adb (ppp): Make this debugging routine
4893 accept any type covered by Union_Id.
4894
ac072cb2
AC
48952014-07-30 Robert Dewar <dewar@adacore.com>
4896
4897 * sem_ch4.adb (Analyze_If_Expression): Resolve condition before
4898 analyzing branches.
4899 * sem_eval.adb (Out_Of_Range): Check for statically unevaluated
4900 expression case.
4901
49022014-07-30 Robert Dewar <dewar@adacore.com>
4903
4904 * sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use
4905 of predicate aspect on entity other than a type.
4906
49072014-07-30 Ed Schonberg <schonberg@adacore.com>
4908
4909 * sem_ch6.adb (Body_Has_Contract): New predicate to determine
4910 when a subprogram body without a previous spec cannot be inlined
4911 in GNATprove mode, because it includes aspects or pragmas that
4912 generate a SPARK contract clause.
4913 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram
4914 instance cannot be inlined.
4915
cc6f5d75
AC
49162014-07-30 Robert Dewar <dewar@adacore.com>
4917
4918 * debug.adb: Document that d7 suppresses compilation time output.
4919 * errout.adb (Write_Header): Include compilation time in
4920 header output.
4921 * exp_intr.adb (Expand_Intrinsic_Call): Add
4922 Compilation_Date/Compilation_Time (Expand_Source_Info): Expand
4923 Compilation_Date/Compilation_Time.
4924 * g-souinf.ads (Compilation_Date): New function
4925 (Compilation_Time): New function.
4926 * gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time.
4927 * gnat_rm.texi (Compilation_Date): New function
4928 (Compilation_Time): New function.
4929 * opt.ads (Compilation_Time): New variable.
4930 * s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function.
4931 * sem_intr.adb (Compilation_Date): New function.
4932 (Compilation_Time): New function.
4933 * snames.ads-tmpl (Name_Compilation_Date): New entry.
4934 (Name_Compilation_Time): New entry.
4935
49362014-07-30 Yannick Moy <moy@adacore.com>
4937
4938 * inline.adb: Add comment.
4939
49402014-07-30 Ed Schonberg <schonberg@adacore.com>
4941
4942 * par-ch4.adb (Is_Parameterless_Attribute): 'Result is a
4943 parameterless attribute, and a postondition can mention an
4944 indexed component or a slice whose prefix is an attribute
4945 reference F'Result.
4946
49472014-07-30 Robert Dewar <dewar@adacore.com>
4948
4949 * sprint.adb (Sprint_Node_Actual, case Object_Declaration):
4950 Avoid bomb when printing package Standard.
4951
49522014-07-30 Ed Schonberg <schonberg@adacore.com>
4953
4954 * sem_elab.adb (Check_Internal_Call_Continue): If an elaboration
4955 entity is created at this point, ensure that the name of the
4956 flag is unique, because the subprogram may be overloaded and
4957 other homonyms may also have elaboration flags created on the fly.
4958
49592014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
4960
4961 * sem_attr.adb (Analyze_Array_Component_Update): New routine.
4962 (Analyze_Attribute): Major cleanup of attribute
4963 'Update. The logic is now split into two distinct routines
4964 depending on the type of the prefix. The use of <> is now illegal
4965 in attribute 'Update.
4966 (Analyze_Record_Component_Update): New routine.
4967 (Check_Component_Reference): Removed.
4968 (Resolve_Attribute): Remove the return statement and ??? comment
4969 following the processing for attribute 'Update. As a result,
4970 the attribute now freezes its prefix.
4971
49722014-07-30 Javier Miranda <miranda@adacore.com>
4973
4974 * exp_ch4.adb (Apply_Accessibility_Check): Do
4975 not call Base_Address() in VM targets.
4976
43478196
YM
49772014-07-30 Yannick Moy <moy@adacore.com>
4978
4979 * gnat1drv.adb (Adjust_Global_Switches): Set
4980 Ineffective_Inline_Warnings to True in GNATprove mode.
4981 * inline.adb (Cannot_Inline): Prepare new semantics for GNATprove
4982 mode of inlining.
4983 * opt.ads (Ineffective_Inline_Warnings): Add comment that
4984 describes use in GNATprove mode.
4985 * sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore
4986 pragma when applied to the special body created for inlining.
4987
662c2ad4
RD
49882014-07-30 Robert Dewar <dewar@adacore.com>
4989
4990 * inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb:
4991 Minor reformatting.
4992
4e6768ab
AC
49932014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
4994
4995 * aspects.ads Add a comment explaining why SPARK 2014 aspects are
4996 not delayed. Update the delay status of most SPARK 2014 aspects.
4997 * sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls
4998 to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert
4999 to Decorate and Insert_Pragma. Add various comments concerning
5000 the delay status of several SPARK 2014 aspects. The insertion
5001 of Refined_State now uses routine Insert_After_SPARK_Mode.
5002 (Decorate): New routine.
5003 (Decorate_Aspect_And_Pragma): Removed.
5004 (Insert_Delayed_Pragma): Removed.
5005 (Insert_Pragma): New routine.
5006
50072014-07-30 Ed Schonberg <schonberg@adacore.com>
5008
5009 * inline.adb (Expand_Inlined_Call): In GNATprove mode, emit
5010 only a warning, not an error on an attempt to inline a recursive
5011 subprogram.
5012
b6c8e5be
AC
50132014-07-30 Robert Dewar <dewar@adacore.com>
5014
5015 * g-forstr.adb: Minor code reorganization (use J rather than I
5016 as a variable name).
5017 * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb,
5018 g-forstr.ads: Minor reformatting.
5019
50202014-07-30 Eric Botcazou <ebotcazou@adacore.com>
5021
5022 * sprint.adb (Set_Debug_Sloc): Also reset the end location if
5023 we are debugging the generated code.
5024
50252014-07-30 Yannick Moy <moy@adacore.com>
5026
5027 * sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that
5028 returns True for source pointer for an inlined body.
5029
50302014-07-30 Javier Miranda <miranda@adacore.com>
5031
5032 * exp_ch4.adb (Apply_Accessibility_Check): Add
5033 missing calls to Base_Address().
5034
50352014-07-30 Ed Schonberg <schonberg@adacore.com>
5036
5037 * sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove
5038 mode, subprogram bodies without a previous declaration are also
5039 candidates for front-end inlining.
5040
2f6f8285
AC
50412014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
5042
5043 * aspects.ads Aspects Async_Readers, Async_Writers,
5044 Effective_Reads and Effective_Writes do not need to be delayed.
5045 * sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the
5046 optional Boolean expression when generating the corresponding
5047 pragma for an external property aspect.
5048 * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove
5049 local constant Obj. Add local constant Obj_Id. Reimplement the
5050 check which ensures that the related variable is in fact volatile.
5051 (Analyze_Pragma): Reimplement the analysis of external property pragmas.
5052 * sem_util.adb (Is_Enabled): New routine.
5053 (Variable_Has_Enabled_Property): Reimplement the detection of
5054 an enabled external property.
5055
50562014-07-30 Sergey Rybin <rybin@adacore.com frybin>
5057
5058 * gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits
5059 for body stubs.
5060
50612014-07-30 Pascal Obry <obry@adacore.com>
5062
5063 * g-forstr.adb, g-forstr.ads: New.
5064 * gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit
5065 GNAT.Formatted_String.
5066
ac43e11e
AC
50672014-07-30 Eric Botcazou <ebotcazou@adacore.com>
5068
5069 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate.
5070 (Expand_Array_Aggregate): Also enable in-place expansion for
5071 code generated by the compiler. For an object declaration,
5072 set the kind of the object in addition to its type. If an
5073 in-place assignment is to be generated and it can be directly
5074 done by the back-end, do not expand the aggregate.
5075 * fe.h (Is_Others_Aggregate): Declare.
5076 * gcc-interface/trans.c
5077 (gnat_to_gnu) <N_Assignment_Statement>: Add support for an
5078 aggregate with a single Others choice on the RHS by means of
5079 __builtin_memset. Tidy up.
5080
50812014-07-30 Ed Schonberg <schonberg@adacore.com>
5082
5083 * gnat_rm.texi: minor reformatting.
5084
50852014-07-30 Yannick Moy <moy@adacore.com>
5086
5087 * sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline
5088 in SPARK_Mode Off.
5089
eb16ddf8
AC
50902014-07-30 Robert Dewar <dewar@adacore.com>
5091
5092 * gnat_rm.texi: Document additional implementation-defined use
5093 of Constrained.
5094
66288b9c
RD
50952014-07-30 Robert Dewar <dewar@adacore.com>
5096
5097 * prj-proc.adb, prj-strt.adb: Update comments.
5098
12e4e81e
AC
50992014-07-30 Gary Dismukes <dismukes@adacore.com>
5100
5101 * sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting.
5102
51032014-07-30 Vincent Celier <celier@adacore.com>
5104
5105 * prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean
5106 parameter No_Extending, defaulted to False. When No_Extending
5107 is True, do not look for an extending project.
5108 (Expression): For a variable reference that is not for the current
5109 project, get its Id calling Imported_Or_Extended_Project_From
5110 with No_Extending set to True.
5111 * prj-strt.adb (Parse_Variable_Reference): If a referenced
5112 variable is not found in the current project, check if it is
5113 defined in one of the projects it extends.
5114
79185f5f
AC
51152014-07-30 Robert Dewar <dewar@adacore.com>
5116
5117 * sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for
5118 some additional cases of internally generated routines.
5119
51202014-07-30 Ed Schonberg <schonberg@adacore.com>
5121
5122 * sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS,
5123 if the compilation unit is a subunit, extend optional processing
5124 to all subunits of the current one. This allows gnatstub to
5125 supress generation of spurious bodies.
5126
ec622246
HK
51272014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
5128
5129 * a-cbmutr.adb (Insert_Child): Use local variable First to keep
5130 track of the initial element's index within the tree.
5131
36a66365
AC
51322014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5133
5134 * a-cbmutr.adb (Allocate_Node): Remove the two parameter version.
5135 (Insert_Child): Add local variable First. Capture the index of the
5136 first node being created to ensure correct cursor construction
5137 later on. Use the three parameter version of Allocate_Node
5138 when creating multiple children as this method allows aspect
5139 Default_Value to take effect (if applicable).
5140
51412014-07-29 Eric Botcazou <ebotcazou@adacore.com>
5142
5143 * exp_aggr.adb (Safe_Slice_Assignment): Remove.
5144 (Expand_Array_Aggregate): For a safe slice assignment, just set
5145 the target and use the common code path.
5146
b8e6830b
AC
51472014-07-29 Robert Dewar <dewar@adacore.com>
5148
5149 * sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert
5150 predicate No_Predicate_Test_On_Arguments, new name is
5151 Predicate_Tests_On_Arguments (with the opposite sense).
5152
51532014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5154
5155 * sem_attr.adb (Resolve_Attribute): Clean up the code for
5156 attribute 'Access. Do not generate an elaboration flag for a
5157 stand alone expression function. The expression of an expression
5158 function is now frozen when the expression function appears as
5159 the prefix of attribute 'Access.
5160 * sem_ch6.adb (Analyze_Expression_Function): Remove local
5161 variable New_Decl and update all references to it after the
5162 rewriting has taken place. Establish the linkages between the
5163 generated spec and body.
5164
094cf333
AC
51652014-07-29 Robert Dewar <dewar@adacore.com>
5166
5167 * sem_prag.adb (ip, rv): Prevent from being optimized away.
5168 * gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found.
5169 * s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor
5170 reformatting.
5171
51722014-07-29 Vincent Celier <celier@adacore.com>
5173
5174 * prj-pp.adb: Minor comment update.
5175 * frontend.adb: If a target dependency info file has been read
5176 through switch -gnateT= add it to the dependencies of the source
5177 being compiled.
5178
38564f81
AC
51792014-07-29 Robert Dewar <dewar@adacore.com>
5180
5181 * sem_ch3.adb, prj.adb: Minor reformatting.
5182
51832014-07-29 Vincent Celier <celier@adacore.com>
5184
5185 * prj-pp.adb (Pretty_Print.Output_Project_File): New
5186 procedure to output project file names between quotes without
5187 concatenation, even if the line is too long.
5188 (Pretty_Print): Use Output_Project_File for project being extended and
5189 project imported.
5190
5f6fb720
AC
51912014-07-29 Vincent Celier <celier@adacore.com>
5192
5193 * gnat_ugn.texi: Document that configuration pragmas files are
5194 added to the dependencies, unless they contain only pragmas
5195 Source_File_Name_Project.
5196
51972014-07-29 Robert Dewar <dewar@adacore.com>
5198
5199 * frontend.adb: Minor reformatting.
5200
52012014-07-29 Robert Dewar <dewar@adacore.com>
5202
5203 * exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting
5204 (Expand_Actuals): Make sure predicate checks are properly applied
5205 for the case of OUT or IN OUT parameters.
5206 * sem_res.adb: Minor reformatting (Resolve_Actuals): Skip
5207 predicate tests on arguments for Finalize
5208 * sem_util.adb (No_Predicate_Test_On_Arguments): Returns True
5209 if predicate tests on subprogram arguments should be skipped.
5210 * sem_util.ads (No_Predicate_Test_On_Arguments): New function
5211
52122014-07-29 Ed Schonberg <schonberg@adacore.com>
5213
5214 * sem_ch3.adb (Analyze_Object_Declaration): If there is an address
5215 clause for the object and the expression is an aggregate, defer
5216 resolution and expansion of the aggregate until the freeze point
5217 of the entity.
5218 * sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if
5219 the parent node is an N_Reference generated during expansion.
5220
52212014-07-29 Vincent Celier <celier@adacore.com>
5222
5223 * prj.adb (Add_To_Buffer): Effectively double the size of the buffer.
5224
fc27e20e
RD
52252014-07-29 Robert Dewar <dewar@adacore.com>
5226
5227 * frontend.adb, inline.adb, sem_util.adb, sem_res.adb,
5228 prepcomp.ads: Minor reformatting and code clean up.
5229 * exp_ch6.adb (Expand_Actuals): Generate predicate test
5230 unconditionally for case of OUT or IN OUT actual (before this
5231 was generated only for certain subcases, which is wrong, the
5232 test is always needed).
5233
f3691f46
ES
52342014-07-29 Ed Schonberg <schonberg@adacore.com>
5235
5236 * sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
5237 * sem_ch4.adb (Analyze_Allocator): Defer resolution of expression
5238 until context type is available.
5239 * sem_res.adb (Resolve_Allocator): In the case of a qualified
5240 expression, complete resolution of expression.
5241 (Check_Aliased_Parameter): New procedure within Resolve_Actuals,
5242 to apply Ada2012 checks on aliased formals, as well as
5243 accesibility checks when the context of the call is an allocator
5244 or a qualified expression.
5245 * sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants):
5246 Moved here from sem_ch3.
5247 (Object_Access_Level): Handle properly aliased formals and
5248 aggregates.
5249 * exp_ch6.adb (Expand_Call): Remove check on aliased parameters,
5250 now properly performed in sem_res (Resolve_Actuals,
5251 Check_Aliased_Parameter).
5252
2d180af1
YM
52532014-07-29 Yannick Moy <moy@adacore.com>
5254
5255 * debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now.
5256 * inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New
5257 function to decide when a subprogram can be inlined in GNATprove mode.
5258 (Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a
5259 condition for possible inlining.
5260 * sem_ch10.adb (Analyze_Compilation_Unit): Remove special case
5261 for Inline_Always in GNATprove mode.
5262 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined
5263 body for subprograms in GNATprove mode, under debug flag -gnatdQ.
5264 * sem_prag.adb Minor change in comments.
5265 * sem_res.adb (Resolve_Call): Only perform GNATprove inlining
5266 inside subprograms marked as SPARK_Mode On.
5267 * sinfo.ads: Minor typo fix.
5268
5ae24312
AC
52692014-07-29 Vincent Celier <celier@adacore.com>
5270
5271 * frontend.adb: Add dependency on gnat.adc when taken into account
5272 and on non-temporary configuration pragmas files specified in
5273 switches -gnatec.
5274 * prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add
5275 dependencies on configuration pragmas files.
5276
52772014-07-29 Pat Rogers <rogers@adacore.com>
5278
5279 * gnat_ugn.texi: Minor clarification to the explanation for the
5280 GNATtest -v switch.
5281
3c04da40
RD
52822014-07-29 Robert Dewar <dewar@adacore.com>
5283
5284 * types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with
5285 documentation that explains the need for this extended range
5286 (use by C_Pass_By_Copy).
5287
09176aea
AC
52882014-07-29 Robert Dewar <dewar@adacore.com>
5289
5290 * gnat_rm.texi, sem_prag.adb: Minor reformatting.
5291
52922014-07-29 Sergey Rybin <rybin@adacore.com frybin>
5293
5294 * gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
5295 complexity metrics.
5296
52972014-07-29 Thomas Quinot <quinot@adacore.com>
5298
5299 PR ada/60652
5300 * s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
5301 CRTSCTS to be visible.
5302
53032014-07-29 Bob Duff <duff@adacore.com>
5304
5305 * g-trasym.adb, g-trasym.ads: Code cleanup.
5306
1b4ada8f
DR
53072014-07-29 Doug Rupp <rupp@adacore.com>
5308
5309 * sigtramp-vxworks.c: Minor reformatting.
5310
155562cb
AC
53112014-07-29 Ed Schonberg <schonberg@adacore.com>
5312
5313 * gnat_rm.texi: No doc needed for Ada2012 aspect
5314 Implicit_dereference.
5315
53162014-07-29 Robert Dewar <dewar@adacore.com>
5317
5318 * sem_attr.adb (Attribute_12): New array
5319 (Analyze_Attribute): Check impl-defined Ada 2012 attributes.
5320 (Check_Ada_2012_Attribute): Removed.
5321
53222014-07-29 Doug Rupp <rupp@adacore.com>
5323
5324 * init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM,
5325 PPC, and e500.
5326 * sigtramp-vxworks.c: New file.
5327 * sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files.
5328
ad8bd3f4
ES
53292014-07-29 Ed Schonberg <schonberg@adacore.com>
5330
5331 * lib-xref.adb (Output_Refs, Check_Type_Reference): For a
5332 derived array type, add information about component type, which
5333 was previously missing in ali file.
5334 * gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free.
5335
422e02cf
AC
53362014-07-29 Thomas Quinot <quinot@adacore.com>
5337
5338 * sem_ch3.adb (Constrain_Corresponding_Record): For the case
5339 of the subtype created for a record component, do not mark
5340 the subtype as frozen. For one thing, this is anomalous (in
5341 particular, the base type might not itself be frozen yet);
5342 furthermore, proper freezing of the subtype must happen in any
5343 case. So, we just mark the subtype as requiring delayed freezing
5344 (and we'll actually freeze it when generating the init_proc of
5345 the enclosing record).
5346 Also change the name of the constrained record subtype (append a
5347 'C' so that it is clearly different from the unconstrained record
5348 type, "related_idV") to make debugging easier.
5349 (Process_Full_View): When creating a full subtype for a pending
5350 private subtype, re-establish the scope of the private subtype
5351 so that we get proper visibility on outer discriminants.
5352 * exp_ch3.adb (Build_Init_Statements): Freeze any component
5353 subtype that is not frozen yet.
5354
53552014-07-29 Vincent Celier <celier@adacore.com>
5356
5357 * prj-proc.adb (Recursive_Process): Always initialize the
5358 environment when the project is an aggregate project, even when
5359 it is not the root tree.
0677a1c7
RD
53602014-07-29 Robert Dewar <dewar@adacore.com>
5361
5362 * exp_ch5.adb, exp_ch9.adb: Minor comment additions.
5363 * gnat_rm.texi: Complete list of implementation aspects.
5364 * aspects.ads: Minor comment clarification.
5365
a2cc9797
AC
53662014-07-29 Ed Schonberg <schonberg@adacore.com>
5367
5368 * exp_ch5.adb (Expand_N_Assignment_Statement): If the target type
5369 is a null-excluding access type, do not generate a constraint
5370 check if Suppress_Assignment_Checks is set on assignment node.
5371 * exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out
5372 parameter of a null-excluding access type, there is access check
5373 on entry, so set Suppress_Assignment_Checks on generated statement
5374 that assigns actual to parameter block.
5375 * sinfo.ads: Document additional use of Suppress_Assignment_Checks.
5376
effdbb7d
AC
53772014-07-29 Robert Dewar <dewar@adacore.com>
5378
5379 * gnat_rm.texi: Change theta to @ in documentation of aspect
5380 Dimension_System.
5381
53822014-07-29 Robert Dewar <dewar@adacore.com>
5383
5384 * sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn
5385 are now on pragma.
5386 * sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting
5387 of Uneval_Old_*
5388 * sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags
5389 * sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node.
5390
53912014-07-29 Javier Miranda <miranda@adacore.com>
5392
5393 * types.ads Update documentation on how to add new reason codes
5394 for exceptions.
5395 (RT_Exception_Code): Keep values ordered by their
5396 reason code. Required by the .NET backend.
5397 (RT_CE_Exceptions): Subtype declaration removed.
5398 (RT_PE_Exceptions): Subtype declaration removed.
5399 (RT_SE_Exceptions): Subtype declaration removed.
5400 (Kind): New mapping table of RT_Exception_Codes.
5401 * exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the
5402 new mapping table.
5403 * tbuild.adb (Make_Raise_Storage_Error): Updated to use the new
5404 mapping table. (Make_Raise_Program_Error): Updated to use the
5405 new mapping table.
5406 (Make_Raise_Storage_Error): Updated to use the new mapping table.
5407 * a-except.adb Keep Rcheck_CE_xxx entities ordered according to
5408 their reason code.
5409
09d67391
AC
54102014-07-29 Thomas Quinot <quinot@adacore.com>
5411
5412 * gnat_rm.texi: Document internal attributes used for PolyORB/DSA
5413 distributed stubs generation.
5414 * exp_ch3.adb: Minor reformatting.
5415
54162014-07-29 Yannick Moy <moy@adacore.com>
5417
5418 * sinfo.ads: Document constraint between frontend and GNATprove.
5419
c93af807
RD
54202014-07-29 Robert Dewar <dewar@adacore.com>
5421
5422 * a-except.adb: Minor comment clarification.
5423
54242014-07-29 Robert Dewar <dewar@adacore.com>
5425
5426 * gnat_rm.texi: Complete list of implementation attributes.
5427 * snames.ads-tmpl: Clean up list of impl-defined attributes.
5428
f9e333ab
AC
54292014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5430
5431 * freeze.adb (Freeze_Record_Type): Perform various
5432 volatility-related checks.
5433
54342014-07-29 Robert Dewar <dewar@adacore.com>
5435
5436 * sem_ch3.adb, sem_eval.adb: Minor reformatting.
5437
54382014-07-29 Ed Schonberg <schonberg@adacore.com>
5439
5440 * sem_attr.adb: sem_attr.adb (Access_Attribute): Handle properly
5441 the case where the attribute reference appears in a nested scope
5442 from that of the subprogram prefix.
5443 * sem_attr.adb: Minor reformatting.
5444
54452014-07-29 Robert Dewar <dewar@adacore.com>
5446
5447 * gnat_ugn.texi: Clarify documentation of Initialize_Scalar
5448 initialization options.
5449
87e69720
AC
54502014-07-29 Robert Dewar <dewar@adacore.com>
5451
5452 * sinfo.ads: Minor comment addition.
5453
54542014-07-29 Bob Duff <duff@adacore.com>
5455
5456 * sem_eval.adb, sem_ch13.adb: Minor reformatting.
5457
113a9fb6
AC
54582014-07-29 Doug Rupp <rupp@adacore.com>
5459
5460 * init.c: Complete previous change.
5461
54622014-07-29 Robert Dewar <dewar@adacore.com>
5463
5464 * exp_ch4.adb (Expand_N_If_Expression): Deal with unconstrained
5465 array case.
5466
54672014-07-29 Ed Schonberg <schonberg@adacore.com>
5468
5469 * sem_attr.adb (Access_Attribute): If the prefix is a subprogram
5470 and the completion will appear in the same declarative part,
5471 create elaboration flag.
5472 * exp_util.adb (Set_Elaboration_Flag): If the subprogram body
5473 is a completion of a declaration in the same declarative part,
5474 and the subprogram has had its address taken, add elaboration
5475 check inside the subprogram body, to detect elaboration errors
5476 that may occur through indirect calls.
5477
3808a9c7
AC
54782014-07-29 Doug Rupp <rupp@adacore.com>
5479
5480 * sigtramp-armvxw.c: Enhance to handle RTP trampolining.
5481 * init.c: Remove guard on sigtramp for ARM VxWorks RTP.
5482
54832014-07-29 Vincent Celier <celier@adacore.com>
5484
5485 * switch-c.adb (Scan_Front_End_Switches): Do not fail when two
5486 runtime directorie specified with two switches --RTS= designate
5487 the same directory, even when there are no literarily the same.
5488
54892014-07-29 Robert Dewar <dewar@adacore.com>
5490
5491 * gnat_ugn.texi: Minor documentation clarification.
5492 * switch-c.adb: Minor reformatting.
5493
24d14b91
AC
54942014-07-29 Robert Dewar <dewar@adacore.com>
5495
5496 * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
5497 Fix incorrect RTE call which caused bomb if pragma was in
5498 configuration pragma file.
5499
55002014-07-29 Jerome Lambourg <lambourg@adacore.com>
5501
5502 * expect.c (__gnat_expect_poll): Fix typo in previous change.
5503 * g-expect.adb: Update comments.
5504
55052014-07-29 Arnaud Charlet <charlet@adacore.com>
5506
5507 * s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
5508 (Default_Attribute_Count): Bump to 16 on native platforms.
5509
55102014-07-29 Ed Schonberg <schonberg@adacore.com>
5511
5512 * sem_res.adb: Add guard to front-end inlining for SPARK.
5513
b94b6c56
RD
55142014-07-29 Robert Dewar <dewar@adacore.com>
5515
5516 * sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
5517 Minor reformatting.
5518
ecad37f3
ES
55192014-07-29 Ed Schonberg <schonberg@adacore.com>
5520
5521 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to
5522 inline in GNATprove mode when subprogran is marked Inline_Always.
5523 * sem_res.adb (Resolve_Call): Expand call in place in GNATProve
5524 mode if body to inline is available.
5525 * sem_prag.adb (Analyze_Pragma, case Inline_Always): Make pragma
5526 effective in GNATprove mode.
5527 * sem_ch10.adb (Analyze_Compilation_Unit): Call
5528 Check_Package_Body_For_Inlining in GNATprove mode, so that body
5529 containing subprograms with Inline_Always can be available before
5530 calls to them.
5531
1773d80b
AC
55322014-07-29 Ed Schonberg <schonberg@adacore.com>
5533
5534 * inline.ads, inline.adb, sem_ch10.adb: Rename Check_Body_For_Inlining
5535 to Check_Package_Body_For_Inlining, to prevent confusion with other
5536 inlining subprograms.
5537
55382014-07-29 Robert Dewar <dewar@adacore.com>
5539
5540 * opt.ads: Minor comment update.
5541 * sem_attr.adb (Uneval_Old_Msg): Deal with case of aspect, where
5542 we want setting of Uneval_Old at time of encountering the aspect.
5543 * sem_ch13.adb (Analyze_Aspect_Specifications): Capture setting
5544 of Opt.Uneval_Old.
5545 * sinfo.adb (Uneval_Old_Accept): New function (Uneval_Old_Warn):
5546 New function (Set_Uneval_Old_Accept): New procedure.
5547 (Set_Uneval_Old_Warn): New procedure.
5548 * sinfo.ads: Uneval_Old_Accept: New flag Uneval_Old_Warn: New flag.
5549
3f80a182
AC
55502014-07-29 Robert Dewar <dewar@adacore.com>
5551
5552 * sinfo.ads, inline.adb, inline.ads, sem_ch6.adb: Minor reformatting.
5553 * snames.ads-tmpl: Minor reformatting.
5554 * xsnamest.adb (XSnamesT): Remove special casing of Name_Error
5555 to give <Error>. Not clear why this was there, but the compiler
5556 sources do not reference Name_Error, and this interfered with
5557 the circuits for pragma Unevaluated_Use_Of_Old.
5558
55592014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5560
5561 * sem_prag.adb (Process_Atomic_Shared_Volatile): Allow volatile
5562 types in SPARK 2014 (again).
5563 * sem_res.adb (Is_OK_Volatile_Context): New routine.
5564 (Resolve_Entity_Name): Ensure that a volatile object with
5565 enabled properties Async_Writers or Effectire_Reads appears in
5566 a non-interfering context.
5567
540d8610
ES
55682014-07-29 Ed Schonberg <schonberg@adacore.com>
5569
5570 * sem_ch6.adb: Move Build_Body_To_Inline,
5571 Check_And_Buid_Body_To_Inline, and Cannot_Inline to package Inline.
5572 * exp_ch6.adb: Mode Expand_Inlined_Body to package Inline.
5573 * inline.ads, inline.adb: Package now contains subprograms that
5574 implement front-end inlining. No functional changes, no test
5575 needed.
5576
b973629e
AC
55772014-07-29 Robert Dewar <dewar@adacore.com>
5578
5579 * exp_dbug.adb, g-expect.adb, sem_elab.adb: Minor typo fix.
5580
55812014-07-29 Ed Schonberg <schonberg@adacore.com>
5582
5583 * sem_ch6.adb (Analyze_Return_Type): Reject a return type that
5584 is a limited view when the context is a package body, because
5585 there is no subsequent place at which the non-limited view may
5586 become visible.
5587 (Process_Formals): Ditto.
5588 * sinfo.ads, par-ch3.adb: Minor reformatting.
5589
a7737c19
AC
55902014-07-29 Jerome Lambourg <lambourg@adacore.com>
5591
5592 * expect.c (__gnat_expect_poll): New parameter dead_process
5593 used to return the dead process among the array of file
5594 descriptors. The Windows, VMS and HPUX implementations now
5595 properly report the dead process via this parameter. Other unixes
5596 don't need it.
5597 * g-expect.adb (Poll): Adapt to the C profile.
5598 (Expect_Internal): Use the new parameter to properly close the
5599 File Descriptor. This then can be properly reported by the
5600 function First_Dead_Process as is expected.
5601
56022014-07-29 Robert Dewar <dewar@adacore.com>
5603
5604 * gnat_ugn.texi: Minor clarification of -gnatQ switch.
5605
ab01e614
AC
56062014-07-29 Robert Dewar <dewar@adacore.com>
5607
5608 * einfo.adb (Derived_Type_Link): New function
5609 (Set_Derived_Type_Link): New procedure.
5610 (Write_Field31_Name): Output Derived_Type_Link.
5611 * einfo.ads: New field Derived_Type_Link.
5612 * exp_ch6.adb (Expand_Call): Warn if change of representation
5613 needed on call.
5614 * sem_ch13.adb: Minor addition of ??? comment.
5615 (Rep_Item_Too_Late): Warn on case that is legal but could cause an
5616 expensive implicit conversion.
5617 * sem_ch3.adb (Build_Derived_Type): Set Derived_Type_Link if needed.
5618
56192014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5620
5621 * exp_ch3.adb (Build_Init_Procedure): Renamed Local_DF_Id
5622 to DF_Id. Add new local variable DF_Call. Do not perform any
5623 elaboration-related checks on the call to the partial finalization
5624 routine within an init proc to avoid generating bogus elaboration
5625 warnings on expansion-related code.
5626 * sem_elab.adb (Check_A_Call): Move constant Access_Case to
5627 the top level of the routine. Ensure that Output_Calls takes
5628 into account flags -gnatel and -gnatwl when emitting warnings
5629 or info messages.
5630 (Check_Internal_Call_Continue): Update the call to Output_Calls.
5631 (Elab_Warning): Moved to the top level of routine Check_A_Call.
5632 (Emit): New routines.
5633 (Output_Calls): Add new formal parameter Check_Elab_Flag along with a
5634 comment on usage. Output all warnings or info messages only when the
5635 caller context demands it and the proper elaboration flag is set.
5636
56372014-07-29 Yannick Moy <moy@adacore.com>
5638
5639 * sem_attr.adb (Analyze_Attribute/Attribute_Old):
5640 Check rule about Old appearing in potentially unevaluated
5641 expression everywhere, not only in Post.
5642
56432014-07-29 Arnaud Charlet <charlet@adacore.com>
5644
5645 * sem_prag.adb: Update comment.
5646 * a-except.adb, a-except-2005.adb: Minor editing.
5647
56482014-07-29 Pierre-Marie Derodat <derodat@adacore.com>
5649
5650 * exp_dbug.adb (Debug_Renaming_Declaration):
5651 Do not create renaming entities for renamings of non-packed
5652 objects and for exceptions.
5653
a8b346d2
RD
56542014-07-29 Robert Dewar <dewar@adacore.com>
5655
5656 * sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb,
5657 sem_ch6.adb, par-ch3.adb: Minor reformatting.
5658
84c0a895
AC
56592014-07-29 Ed Schonberg <schonberg@adacore.com>
5660
5661 * sem_ch6.adb (Check_Return_Subtype_Indication): Reject a return
5662 subtype indication in an extended return statement when the
5663 return value is an ancestor of the return type of the function,
5664 and that return type is a null record extension.
5665
56662014-07-29 Thomas Quinot <quinot@adacore.com>
5667
5668 * sem_ch13.adb (Rep_Item_Too_Late): Specialize/clarify error
5669 message produced for the case of a type-related representation
5670 item that is made illegal by 13.10(1).
5671 * gnat_rm.texi (Scalar_Storage_Order): Minor change in
5672 documentation.
5673
7a2c2277
AC
56742014-07-29 Robert Dewar <dewar@adacore.com>
5675
5676 * gnat_ugn.texi: Add section on Wide_Wide_Character encodings.
5677 * erroutc.adb (Output_Error_Msgs): Take wide characters into
5678 account in computing position of error flags.
5679 * sinput.adb (Get_Column_Number): Take wide characters into
5680 account.
5681
56822014-07-29 Ed Schonberg <schonberg@adacore.com>
5683
5684 * par-ch3.adb (P_Access_Type_Definition): The subtype indication
5685 in an access type definition can carry a null_exclusion indicator.
5686 * sem_ch3.adb (Access_Type_Declaration): If the subtype indication
5687 carries a null_exclusion indicator, verify that the subtype
5688 indication denotes an access type, and create a null-excluding
5689 subtype for it.
5690 * sinfo.ads, sinfo.adb: New attribute Null_Excluding_Subtype,
5691 defined on N_Access_To_Object_Definition to indicate that the
5692 subtype indication carries a null_exclusion indicator.
5693
56942014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5695
5696 * exp_ch6.adb (Add_Extra_Actual): Do not construct
5697 the extra actual by name, generate a reference instead.
5698
56992014-07-29 Arnaud Charlet <charlet@adacore.com>
5700
5701 * sem_prag.adb (Analyze_Pragma): Do not crash analyzing
5702 Allow_Integer_Address if already set.
5703 * a-except-2005.adb (Rcheck_PE_Stream_Operation_Not_Allowed):
5704 Fix order, for consistency with Rmsg_xx declarations.
5705
28e18b4f
AC
57062014-07-29 Ed Schonberg <schonberg@adacore.com>
5707
5708 * sem_ch4.adb (Complete_Object_Operation): If the type of the
5709 candidate subprogram is a limited view, use non-limited view
5710 when available.
5711
57122014-07-29 Robert Dewar <dewar@adacore.com>
5713
5714 * sem_ch13.adb: Minor change in RM reference.
5715 * sem_mech.ads: Minor reformatting.
5716 * einfo.ads: Minor comment fix.
5717 * types.ads: Minor correction to range given for Mechanism_Type.
5718 * exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not
5719 check predicate on way out for OUT or IN OUT parameters.
5720 * par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword
5721 better (P_Range_Constraint): Corresponding fix.
5722 * checks.ads: Minor comment clarification.
5723
57242014-07-29 Gary Dismukes <dismukes@adacore.com>
5725
5726 * sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile
5727 and Treat_As_Volatile flags based on whether the renamed object
5728 is a volatile object.
5729
f8c79ade
AC
57302014-07-29 Olivier Hainque <hainque@adacore.com>
5731
5732 * g-debpoo.adb
5733 (Default_Alignment): Rename as Storage_Alignment. This is not
5734 a "default" that can be overriden. Augment comment to clarify
5735 intent and document why we need to manage alignment padding.
5736 (Header_Offset): Set to Header'Object_Size instead of 'Size
5737 rounded up to Storage_Alignment. Storage_Alignment on the
5738 allocation header is not required by our internals so was
5739 overkill. 'Object_Size is enough to ensure proper alignment
5740 of the header address when substracted from a storage address
5741 aligned on Storage_Alignment.
5742 (Minimum_Allocation): Rename as Extra_Allocation, conveying that
5743 this is always added on top of the incoming allocation requests.
5744 (Align): New function, to perform alignment rounding operations.
5745 (Allocate): Add comments on the Storage_Address computation
5746 scheme and adjust so that the alignment padding applies to that
5747 (Storage_Address) only.
5748
57492014-07-29 Robert Dewar <dewar@adacore.com>
5750
5751 * exp_ch3.adb (Default_Initialize_Object): Remove incorrect
5752 pragma Unreferenced.
5753 * cstand.adb (Create_Standard): Use E_Array_Type for standard
5754 string types. Make sure index of Any_String/Any_Array is in a list.
5755 * errout.adb: Minor reformatting.
5756
b329a739
AC
57572014-07-29 Robert Dewar <dewar@adacore.com>
5758
5759 * gnat_ugn.texi: Clean up and correct documentation of warnings.
5760 * usage.adb: Minor corrections to make sure warnings are properly
5761 documented.
5762 * warnsw.adb (Set_Warning_Switch): Remove redundant return statement.
5763 (WA_Warnings): Add Warn_On_Suspicious_Modulus_Value.
5764
57652014-07-29 Ed Schonberg <schonberg@adacore.com>
5766
5767 * exp_ch3.adb (Expand_N_Object_Declaration): The dummy block
5768 created to match internal sequence numbers between compilations
5769 with/without abort must have its type properly set.
5770
220d1fd9
AC
57712014-07-29 Robert Dewar <dewar@adacore.com>
5772
5773 * ali.adb (Initialize_ALI): Initialize SSO_Default_Specified
5774 (Scan_ALI): Set SSO_Default in ALIs_Record (Scan_ALI): Set
5775 SSO_Default_Specified.
5776 * ali.ads (ALIs_Record): Add field SSO_Default
5777 (SSO_Default_Specified): New global switch.
5778 * bcheck.adb (Check_Consistent_SSO_Default): New procedure
5779 (Check_Configuration_Consistency): Call this procedure
5780 * einfo.adb (SSO_Set_High_By_Default): New
5781 function (SSO_Set_Low_By_Default): New function
5782 (Set_SSO_Set_High_By_Default): New procedure
5783 (Set_SSO_Set_Low_By_Default): New procedure (Write_Entity_Flags):
5784 List new flags
5785 * einfo.ads (SSO_Set_Low_By_Default): New flag
5786 (SSO_Set_High_By_Default): New flag
5787 * freeze.adb (Set_SSO_From_Default): New procedure
5788 (Freeze_Array_Type): Call Set_SSO_From_Default
5789 (Freeze_Record_Type): Call Set_SSO_From_Default
5790 * gnat_rm.texi: Document pragma Default_Scalar_Storage_Order
5791 * lib-writ.adb (Write_ALI): Set OL/OH in P line as needed
5792 * lib-writ.ads: Add OL/OH parameters to P line
5793 * opt.adb: Set Default_SSO, Default_SSO_Config as appropriate
5794 * opt.ads (Default_SSO): New global switch (Default_SSO_Config):
5795 New global switch
5796 * repinfo.adb (List_Scalar_Storage_Order): List SSO when it is
5797 set by default using pragma Default_Scalar_Storage_Order.
5798 * sem.ads (Scope_Stack_Entry): Add component Save_Default_SSO
5799 * sem_ch13.adb (Inherit_Delayed_Rep_Aspects):
5800 Clear SSO defaults when explicit SSO is inherited.
5801 (Analyze_Attribute_Definition_Clause): Clear SSO defaults when
5802 explicit SSO is specified.
5803 (Inherit_Aspects_At_Freeze_Point):
5804 Clear SSO default when inheriting SSO.
5805 * sem_ch3.adb (Set_Default_SSO): New procedure
5806 (Analyze_Private_Extension_Declaration): Set defualt SSO
5807 (Array_Type_Declaration): ditto (Build_Derived_Array_Type): ditto
5808 (Build_Derived_Private_Type): ditto (Build_Derived_Record_Type):
5809 ditto (Build_Derived_Type): ditto (Make_Class_Wide_Type): ditto
5810 (Record_Type_Declaration): ditto
5811 * sem_ch8.adb (Pop_Scope): Restore Default_SSO (Push_Scope):
5812 Save Default_SSO
5813 * sem_prag.adb (Analyze_Pragma, case
5814 Default_Scalar_Storage_Order): Set Default_SSO
5815
58162014-07-29 Ed Schonberg <schonberg@adacore.com>
5817
5818 * sem_ch6.adb (Valid_Operator_Definition): Verify that
5819 all parameter have mode IN. This check must be done here for
5820 subprogram instantiations that have operator names, because their
5821 analysis does not follow the same path as that for subprogram
5822 declarations.
5823
a08bf2de
RD
58242014-07-29 Robert Dewar <dewar@adacore.com>
5825
5826 * freeze.adb (Freeze_Entity, Concurrent_Type case): Add a guard
5827 to make sure that the Etype of a component of the corresponding
5828 record type is present before trying to freeze it.
5829 * sem_ch5.adb: Minor reformatting.
5830
b8b2d982
AC
58312014-07-29 Robert Dewar <dewar@adacore.com>
5832
5833 * exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb,
5834 a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed,
5835 and then use it when a stream operation is used from a library generic
5836 when the restriction (No_Streams) is active.
5837
58382014-07-29 Thomas Quinot <quinot@adacore.com>
5839
5840 * projects.texi: Fix minor typo.
5841
58422014-07-29 Yannick Moy <moy@adacore.com>
5843
5844 * sem_attr.adb (Analyze_Attribute): Fix generation of warning.
5845
58462014-07-29 Arnaud Charlet <charlet@adacore.com>
5847
5848 * sem_ch5.adb (Check_Unreachable_Code): Do not remove code in
5849 CodePeer mode.
5850
58512014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5852
5853 * exp_ch7.adb (Find_Last_Init): Add local variable
5854 Deep_Init_Found. Check the statement immediately following the
5855 declaration if [Deep_]Initialization was not found.
5856
58572014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5858
5859 * exp_util.adb (Is_Aliased): It appears that
5860 'reference-d and renamed objects still play some role in Boolean
5861 expression with actions and cannot be finalized immediately.
5862
58632014-07-29 Ed Schonberg <schonberg@adacore.com>
5864
5865 * exp_dbug.adb (Qualify_Needed): For debugging purposes,
5866 Loop names are not part of the full qualification of entity names.
5867
02bb0765
AC
58682014-07-29 Robert Dewar <dewar@adacore.com>
5869
5870 * einfo.adb (Has_Protected): Test base type.
5871 * sem_ch4.adb (Analyze_Allocator): Reorganize code to make sure
5872 that we always properly check No_Protected_Type_Allocators.
5873
58742014-07-29 Ed Schonberg <schonberg@adacore.com>
5875
5876 * sem_util.ads, sem_util.adb (Defining_Entity): Now applies to
5877 loop declarations as well.
5878 * exp_ch5.adb (Expand_Loop_Statement): Apply Qualify_Entity_Names
5879 to an iterator loop, because it may contain local renaming
5880 declarations that require debugging information.
5881
58822014-07-29 Robert Dewar <dewar@adacore.com>
5883
5884 * sem_util.ads, exp_util.adb, sem_attr.adb: Minor reformatting.
5885
fc3a3f3b
RD
58862014-07-29 Robert Dewar <dewar@adacore.com>
5887
5888 * einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
5889 (Set_Static_Real_Or_String_Predicate): New procedure
5890 * sem_ch13.adb (Build_Predicate_Functions): Accomodate static
5891 string predicates (Is_Predicate_Static): Handle static string
5892 predicates.
5893 * sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
5894 New procedure (Check_Expression_Against_Static_Predicate):
5895 Deal with static string predicates, now fully implemented
5896 (Eval_Relational_Op): Allow string equality/inequality as static
5897 if not comes from source.
5898
60f908dd
RD
58992014-07-29 Robert Dewar <dewar@adacore.com>
5900
5901 * sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb,
5902 einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb,
5903 sem_eval.ads, sem_ch13.adb: General cleanup of static predicate
5904 handling. Change name of Discrete_Predicate to
5905 Discrete_Static_Predicate, and replace testing of the presence of this
5906 field by testing the flag Has_Static_Expression.
5907
96e90ac1
RD
59082014-07-29 Robert Dewar <dewar@adacore.com>
5909
5910 * gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
5911 * opt.adb: Handle Uneval_Old.
5912 * opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
5913 * par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
5914 * sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
5915 * sem_attr.adb (Uneval_Old_Msg): New procedure.
5916 * sem_ch8.adb (Push_Scope): Save Uneval_Old.
5917 (Pop_Scope): Restore Uneval_Old.
5918 * sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
5919 Implemented.
5920 * snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
5921 Add entries for Name_Warn, Name_Allow.
5922
edab6088
RD
59232014-07-29 Robert Dewar <dewar@adacore.com>
5924
5925 * sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range
5926 to Is_OK_Static_Range.
5927 * sem_attr.adb (Eval_Attribute): Make sure we properly flag
5928 static attributes (Eval_Attribute, case Size): Handle size of
5929 zero properly (Eval_Attribute, case Value_Size): Handle size of
5930 zero properly.
5931 * sem_ch13.adb: Minor reformatting.
5932 * sem_ch3.adb (Process_Range_Expr_In_Decl): Change
5933 Is_Static_Range to Is_OK_Static_Range.
5934 * sem_eval.adb (Eval_Case_Expression): Total rewrite, was
5935 wrong in several ways (Is_Static_Range): Moved here from spec
5936 (Is_Static_Subtype): Moved here from spec Change some incorrect
5937 Is_Static_Subtype calls to Is_OK_Static_Subtype.
5938 * sem_eval.ads: Add comments to section on
5939 Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range):
5940 Add clarifying comments (Is_Static_Range): Moved to body
5941 (Is_Statically_Unevaluated): New function.
5942 * sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change
5943 Is_Static_Range to Is_OK_Static_Range.
5944 * sinfo.ads: Additional commments for Is_Static_Expression noting
5945 that clients should almost always use Is_OK_Static_Expression
5946 instead. Many other changes throughout front end units to obey
5947 this rule.
5948 * tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression
5949 for enumeration literal.
5950 * exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb,
5951 lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads,
5952 sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb,
5953 exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb:
5954 Replace all occurrences of Is_Static_Expression by
5955 Is_OK_Static_Expression.
5956
c5c780e6
HK
59572014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5958
5959 * exp_ch4.adb (Process_Transient_Object): Remove constant
5960 In_Cond_Expr, use its initialization expression in place.
5961 * exp_ch7.adb (Process_Declarations): There is no need to check
5962 that a transient object being hooked is controlled as it would
5963 not have been hooked in the first place.
5964 * exp_util.adb (Is_Aliased): 'Reference-d or renamed transient
5965 objects are not considered aliased when the related context is
5966 a Boolean expression_with_actions.
5967 (Requires_Cleanup_Actions): There is no need to check that a transient
5968 object being hooked is controlled as it would not have been hooked in
5969 the first place.
5970
e2bc5465
AC
59712014-07-29 Robert Dewar <dewar@adacore.com>
5972
5973 * errout.adb: Minor reformatting.
5974
59752014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
5976
5977 * exp_ch3.adb (Default_Initialize_Object): Add new variables
5978 Abrt_Blk and Dummy. Generate a dummy temporary when aborts are
5979 not allowed to ensure the symmetrical generation of symbols.
5980 * exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr
5981 and E_Decl. Add new variables Decl and Dummy. Generate a dummy
5982 temporary when aborts are not allowed to ensure symmertrical
5983 generation of symbols.
5984 * exp_intr.adb (Expand_Unc_Deallocation): Add new variable
5985 Dummy. Generate a dummy temporary when aborts are not allowed
5986 to ensure symmertrical generation of symbols.
5987
59882014-07-29 Ed Schonberg <schonberg@adacore.com>
5989
5990 * exp_dbug.adb (Debug_Renaming_Declaration): For an object
5991 renaming, indicate that the renamed entity itself needs debug
5992 information. This is necessary if that entity is a temporary,
5993 e.g. part of the expansion of an explicit dereference in an
5994 iterator.
5995
414c6563
AC
59962014-07-29 Thomas Quinot <quinot@adacore.com>
5997
5998 * errout.adb (Set_Error_Posted): When propagating flag to
5999 an enclosing named association, also propagate to the parent
6000 of that node, so that named and positional associations are
6001 treated consistently.
6002
60032014-07-29 Ed Schonberg <schonberg@adacore.com>
6004
6005 * sem_attr.adb (Resolve_Attribute, case 'Update): Set
6006 Do_Range_Check properly on array component expressions that
6007 have a scalar type. In GNATprove mode, only checks on scalar
6008 components must be marked by the front-end.
6009
60102014-07-29 Ed Schonberg <schonberg@adacore.com>
6011
6012 * sem_res.adb (Resolve_Type_Conversion): If the type of the
6013 expression is a limited view, use the non-limited view when
6014 available.
6015
60162014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
6017
6018 * exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
6019 case statement as coming from a conditional expression.
6020 (Expand_N_If_Expression): Mark the generated if statement as
6021 coming from a conditional expression.
6022 * exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled
6023 objects found in case statement alternatives when the case
6024 statement is actually a case expression.
6025 (Expand_N_If_Statement):
6026 Do not process controlled objects found in an if statement when
6027 the if statement is actually an if expression.
6028 * sinfo.adb (From_Conditional_Expression): New routine.
6029 (Set_From_Conditional_Expression): New routine.
6030 * sinfo.ads Add new semantic flag From_Conditional_Expression and
6031 update related nodes.
6032 (From_Conditional_Expression): New routine along with pragma Inline.
6033 (Set_From_Conditional_Expression): New routine along with pragma Inline.
6034
0382062b
AC
60352014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
6036
6037 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove
6038 formal parameter Obj_Id and update the comment on usage. Renamed
6039 Obj_Typ to Func_Typ and update all occurrences.
6040 (Find_Last_Init): Remove formal parameter Decl and update the comment
6041 on usage.
6042 Remove local constants Obj_Id and Obj_Typ. Remove local variables
6043 Init_Typ and Is_Conc. Remove the extraction of the initialization type.
6044 (Find_Last_Init_In_Block): Remove formal parameter
6045 Init_Typ and update the comment on usage.
6046 (Is_Init_Call): Remove formal parameter Init_Typ and update the comment
6047 on usage. Check whether the procedure call is an initialization
6048 procedure of either the object type or the initialization type.
6049 (Is_Init_Proc_Of): New routine.
6050 (Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this
6051 routine. Add new variable Init_Typ. Add circuitry to extract the object
6052 type as well as the initialization type.
6053
60542014-07-29 Robert Dewar <dewar@adacore.com>
6055
6056 * sem_case.adb: Minor reformatting.
6057 * sem_aux.ads: Minor reformatting.
6058
60592014-07-29 Ed Schonberg <schonberg@adacore.com>
6060
6061 * sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent
6062 pointer on these fields, even though they are semantic, because
6063 subsequent analysis and expansion of action nades may require
6064 exploring the tree, for example to locate a node to be wrapped
6065 when a function with controlled result is called.
6066
60672014-07-29 Claire Dross <dross@adacore.com>
6068
6069 * sem_aux.adb (Get_Binary_Nkind): Use case on
6070 Name_Id instead of an intermediate string.
6071 (Get_Unary_Nkind): Use case on Name_Id instead of an intermediate
6072 string.
6073
60742014-07-29 Sergey Rybin <rybin@adacore.com frybin>
6075
6076 * gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note
6077 about processing sources with preprocessor directives.
6078
037e5573
ML
60792014-07-24 Martin Liska <mliska@suse.cz>
6080
04db0548 6081 * gcc-interface/trans.c (finalize_nrv): Adjust function call.
037e5573
ML
6082 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Likewise.
6083 (gnat_write_global_declarations): Likewise.
6084
a9bc2242
DW
60852014-07-19 David Wohlferd <dw@LimeGreenSocks.com>
6086
6087 * gnat_rm.texi: Clean up for makeinfo 5.2.
6088
c6d27333
DW
60892014-07-19 David Wohlferd <dw@LimeGreenSocks.com>
6090
6091 * gnat_rm.texi (Machine Code Insertions): Clean up.
6092
4b03d946
AC
60932014-07-18 Robert Dewar <dewar@adacore.com>
6094
6095 * exp_ch7.adb: Minor reformatting.
6096
60972014-07-18 Claire Dross <dross@adacore.com>
6098
6099 * sem_aux.ads (Get_Binary_Nkind): New function that returns
6100 the Node_Kind value of an entity defining a binary operator.
6101 (Get_Unary_Nkind): New function that returns the Node_Kind value
6102 of an entity defining a unary operator.
6103
61042014-07-18 Pascal Obry <obry@adacore.com>
6105
6106 * sysdep.c: comment update.
6107 * adaint.c (__gnat_fputwc): Use wchar_t on a limited set of
6108 platforms where it is known to be supported.
6109
61102014-07-18 Thomas Quinot <quinot@adacore.com>
6111
6112 * sem_dist.adb (Process_Remote_AST_Declaration): Need
6113 to set Fat_Type's Ekind in order to be able to use its
6114 Corresponding_Remote_Type attribute.
6115
4ac2bbbd
AC
61162014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6117
6118 * einfo.adb Last_Aggregate_Assignment is now Node 30.
6119 (Last_Aggregate_Assignment): Include
6120 constants in the assertion. Update the underlying node.
6121 (Set_Last_Aggregate_Assignment): Include constants in the
6122 assertion. Update the underlying node. (Write_Field11_Name):
6123 Remove the entry for Last_Aggregate_Assignment.
6124 (Write_Field30_Name): Add an entry for Last_Aggregate_Assignment.
6125 * einfo.ads Update the node designation and usage of attribute
6126 Last_Aggregate_Assignment.
6127 * exp_aggr.adb (Expand_Array_Aggregate): Store the last
6128 assignment statement used to initialize a controlled object.
6129 (Late_Expansion): Store the last assignment statement used to
6130 initialize a controlled record or an array of controlled objects.
6131 * exp_ch3.adb (Expand_N_Object_Declaration): Default
6132 initialization of objects is now performed in a separate routine.
6133 (Default_Initialize_Object): New routine.
6134 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Add formal parameter
6135 Obj_Id. Update the comment on usage.
6136 (Find_Last_Init): Remove formal parameter Typ. Update comment on usage.
6137 Reimplement the logic. (Find_Last_Init_In_Block): New routine.
6138 (Is_Init_Call): Add formal parameter Init_Typ. Update the
6139 comment on usage. Account for the type init proc when trying
6140 to determine whether a statement is an initialization call.
6141 (Make_Adjust_Call): Rename formal parameter For_Parent to
6142 Skip_Self. Update all occurrences of For_Parent. Account for
6143 non-tagged types. Update the call to Make_Call.
6144 (Make_Call): Rename formal parameter For_Parent to Skip_Self. Update
6145 comment on usage. Update all occurrences of For_Parent.
6146 (Make_Final_Call): Rename formal parameter For_Parent to
6147 Skip_Self. Update all occurrences of For_Parent. Account
6148 for non-tagged types. Update the call to Make_Call.
6149 (Process_Object_Declaration): Most variables and constants are
6150 now local to the routine.
6151 * exp_ch7.ads (Make_Adjust_Call): Rename formal parameter
6152 For_Parent to Skip_Self. Update the comment on usage.
6153 (Make_Final_Call): Rename formal parameter For_Parent to
6154 Skip_Self. Update the comment on usage.
6155
61562014-07-18 Ed Schonberg <schonberg@adacore.com>
6157
6158 * sem_ch9.adb (Analyze_Requeue): The entry being referenced
6159 can be a procedure that is implemented by entry, and have a
6160 formal that is a synchronized interface. It does not have to
6161 be declared as a protected operation.
6162
676fa397
AC
61632014-07-18 Robert Dewar <dewar@adacore.com>
6164
2941bf7d
AC
6165 * gnat_rm.texi: Remove mention of obsolete attributes
6166 Max[_Interrupt]_Priority, which have never been implemented
6167 (or at the very least were removed long ago if they ever were
6168 implemented. Add documentation of Max[_Interrupt]_Priority
6169 constants in package System.
6170 * ttypes.ads: Document actual handling of package System,
6171 rather than a historical fantasy version. Remove mention of
6172 non-existent attributes Max[_Interrupt]_Priority.
6173
61742014-07-18 Pascal Obry <obry@adacore.com>
6175
6176 * a-witeio.adb (Put): No 16-bit character output when text
6177 translation is disabled.
6178 * i-cstrea.ads: Code clean up.
04db0548 6179
2941bf7d
AC
61802014-07-18 Robert Dewar <dewar@adacore.com>
6181
676fa397
AC
6182 * gnat_rm.texi: Document that Wchar_T_Size and Word_Size are
6183 static attributes.
6184
61852014-07-18 Arnaud Charlet <charlet@adacore.com>
6186
6187 * a-witeio.adb, initialize.c: Update comments. Minor clean ups.
6188
61892014-07-18 Pascal Obry <obry@adacore.com>
6190
6191 * adaint.c: Do not include wchar.h on VxWorks.
6192 * mingw32.h: Remove obsolete definition.
6193
cd077efd
PO
61942014-07-18 Pascal Obry <obry@adacore.com>
6195
6196 * a-textio.adb, a-witeio.adb, a-ztexio.adb: Use C_Streams Default_Text.
6197 * i-cstrea.ads (Content_Encoding): Moved here, add convention C.
6198 * s-ficobl.ads (Content_Encoding): Moved to C_Streams.
6199 * s-fileio.adb (Open): Adjust to use Content_Encoding from C_Streams.
6200
18f2c460
PO
62012014-07-18 Pascal Obry <obry@adacore.com>
6202
6203 * a-textio.adb: Rename Is_Text_File to Text_Encoding.
6204 * a-ztexio.adb: Likewise.
6205 * a-witeio.adb: Likewise.
6206 (Open): Pass file's translation mode to set_text_mode.
6207 * s-ficobl.ads (Content_Encoding): New type.
6208 (Text_Content_Encoding): New subtype.
6209 (AFCB): Rename Is_Text_File to Text_Encoding.
6210 * s-fileio.adb (Open): Handles new text_translation
6211 values. Remove Is_Text_File which is equivalent to Text_Encoding
6212 in Text_Content_Encoding.
6213 * adaint.h (__gnat_set_mode): New routine.
6214 * sysdep.c (__gnat_set_wide_text_mode): Removed.
6215 (__gnat_set_mode): New routine.
6216
1a4cb227
AC
62172014-07-18 Arnaud Charlet <charlet@adacore.com>
6218
6219 * gcc-interface/decl.c, gcc-interface/trans.c,
6220 gcc-interface/utils.c (Is_Packed_Array_Type): Renamed
6221 Is_Packed_Array_Impl_Type.
6222
c74afd84
AC
62232014-07-18 Gary Dismukes <dismukes@adacore.com>
6224
6225 * sem_util.adb: Minor typo correction.
6226
62272014-07-18 Ben Brosgol <brosgol@adacore.com>
6228
6229 * gnat_rm.texi: Complete previous change.
6230
62312014-07-18 Pascal Obry <obry@adacore.com>
6232
6233 * s-fileio.adb: Minor style fix.
6234
62352014-07-18 Ed Schonberg <schonberg@adacore.com>
6236
6237 * sem_ch13.adb (Analyze_Aspect_Specifications): Detect improper
6238 specification of stream attributes for subtypes that are not
6239 first subtypes, to prevent malformed rep_item chains in the case
6240 of such illegal specifications for discriminated private subtypes.
6241 (Check_Overloaded_Name): Verify that the name is an entity name
6242 before other checks.
6243
62442014-07-18 Pascal Obry <obry@adacore.com>
6245
6246 * adaint.c (__gnat_fputwc) Do not disable on cross-build.
6247
50ea6357
AC
62482014-07-18 Robert Dewar <dewar@adacore.com>
6249
6250 * sem_prag.adb, sem_attr.adb,
6251 sem_aggr.adb, sinfo.ads, sem_eval.ads: Minor reformatting.
6252
62532014-07-18 Pascal Obry <obry@adacore.com>
6254
6255 * sysdep.c (__gnat_wide_text_translation_required): Removed from here.
6256 * initialize.c (__gnat_wide_text_translation_required): Defined here.
6257
62582014-07-18 Pascal Obry <obry@adacore.com>
6259
6260 * adaint.c (__gnat_fputwc): New routine.
6261 * s-crtl.ads (fputwc): Now imported as __gnat_fputwc.
6262
62632014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6264
6265 * einfo.adb: Flag 270 is now used as Stores_Attribute_Old_Prefix.
6266 (Set_Stores_Attribute_Old_Prefix): New routine.
6267 (Stores_Attribute_Old_Prefix): New routine.
6268 (Write_Entity_Flags):
6269 Output flag Stores_Attribute_Old_Prefix.
6270 * einfo.ads Add new flag Stores_Attribute_Old_Prefix along with
6271 comment on usage.
6272 (Set_Stores_Attribute_Old_Prefix): New routine
6273 along with pragma Inline.
6274 (Stores_Attribute_Old_Prefix): New
6275 routine along with pragma Inline.
6276 * exp_attr.adb (Expand_N_Attribute_Reference): Mark the generated
6277 constant which captures the result of attribute 'Old's prefix.
6278 * sem_util.adb (In_Assertion_Expression_Pragma): Recognize a
6279 relocated expression which acted as a prefix of attribute 'Old.
6280
62812014-07-18 Bob Duff <duff@adacore.com>
6282
6283 * s-spsufi.adb (Finalize_And_Deallocate): Set Subpool.Owner to
6284 null before dispatching to Deallocate_Subpool.
6285 * s-stposu.ads (Default_Subpool_For_Pool): Change mode of
6286 parameter of Default_Subpool_For_Pool to 'in out'.
6287 * s-stposu.adb (Set_Pool_Of_Subpool): Use raise expression. Add
6288 a message to the raise.
6289 * sem_util.adb: Minor reformatting.
6290
c624298a
AC
62912014-07-18 Robert Dewar <dewar@adacore.com>
6292
6293 * sem_util.adb (Check_Expression_Against_Static_Predicate):
6294 Mark expression as non-static if it fails static predicate check,
6295 and issue additional warning.
6296
62972014-07-18 Pascal Obry <obry@adacore.com>
6298
6299 * a-witeio.adb (Put): Control translation based on
6300 wide_text_translation_required.
6301 * adaint.c (CurrentCCSEncoding): New variable.
6302 * initialize.c (__gnat_initialize): On Windows initialize
6303 CurrentCCSEncoding based on values in GNAT_CCS_ENCODING
6304 environment variable.
6305 * mingw32.h (CurrentCCSEncoding): New external.
6306 (__gnat_wide_text_translation_required): Likewise.
6307 * sysdep.c (wide_text_translation_required): New variable.
6308 (__gnat_set_wide_text_mode): Set mode based on CurrentCCSEncoding.
6309
63102014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6311
6312 * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
6313 variable Refined_States. Add global variable Matched_Items.
6314 (Check_Dependency_Clause): Account for dependency
6315 clauses utilizing states with visible null refinements.
6316 (Is_Null_Refined_State): New routine.
6317 (Match_Items): Record each successfully matched item of pragma Depends.
6318 (Record_Item): New routine.
6319
63202014-07-18 Ed Schonberg <schonberg@adacore.com>
6321
6322 * sem_attr.adb (Analyze_Attribute, case 'Update): Set
6323 Do_Range_Check flag on a dynamic index expression used in a
6324 component association in the argument of Update.
6325
63262014-07-18 Gary Dismukes <dismukes@adacore.com>
6327
6328 * einfo.ads, sem_eval.ads, sem_ch13.adb: Minor reformatting.
6329
63302014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6331
6332 * exp_ch6.adb (Expand_Simple_Function_Return): Redo the marking
6333 of enclosing blocks, loops and the enclosing function using a
6334 parent-based traversal.
6335 * exp_util.adb (Wrap_Statements_In_Block): Suppress the secondary
6336 stack reclamation if the iterator loop contains a return statement
6337 that uses the stack.
6338 * sem_ch5.adb (Analyze_Loop_Statement): There is no need to
6339 patch up the scope stack as the secondary stack management now
6340 takes into account the enclosing function of the iterator loop.
6341
ee4eee0a
AC
63422014-07-18 Robert Dewar <dewar@adacore.com>
6343
6344 * sem_ch3.adb, g-memdum.ads, i-cstrea.ads: Minor reformatting.
6345
63462014-07-18 Robert Dewar <dewar@adacore.com>
6347
6348 * einfo.adb (Has_Static_Predicate): New function.
6349 (Set_Has_Static_Predicate): New procedure.
6350 * einfo.ads (Has_Static_Predicate): New flag.
6351 * sem_ch13.adb (Is_Predicate_Static): New function
6352 (Build_Predicate_Functions): Use Is_Predicate_Static to reorganize
6353 (Add_Call): Minor change in Sloc of generated expression
6354 (Add_Predicates): Remove setting of Static_Pred, no longer used.
6355 * sem_ch4.adb (Has_Static_Predicate): Removed this function,
6356 replace by use of the entity flag Has_Static_Predicate_Aspect.
6357 * sem_eval.adb (Eval_Static_Predicate_Check): Check real case
6358 and issue warning that predicate is not checked for now.
6359 * sem_eval.ads (Eval_Static_Predicate_Check): Fix comments in
6360 spec.
6361 * sem_util.adb (Check_Expression_Against_Static_Predicate):
6362 Carry out check for any case where there is a static predicate,
6363 and output appropriate message.
6364 * sinfo.ads: Minor comment corrections.
6365
63662014-07-18 Ed Schonberg <schonberg@adacore.com>
6367
6368 * exp_ch3.adb (Expand_Freeze_Record_Type): If the type is derived
6369 from an untagged private type whose full view is tagged, the type
6370 is marked tagged for layout reasons, but it has no dispatch table,
6371 so Set_All_DT_Position must not be called.
6372 * exp_ch13.adb: If the freeze node is for a type internal to a
6373 record declaration, as is the case for a class-wide subtype
6374 of a parent component, the relevant scope is the scope of the
6375 enclosing record.
6376
3b8481cb
AC
63772014-07-18 Thomas Quinot <quinot@adacore.com>
6378
6379 * g-memdum.adb, g-memdum.ads: Code clean ups.
6380
63812014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6382
6383 * sem_prag.adb (Check_Dependency_Clause):
6384 Update the comment on usage. Reimplement the mechanism which
6385 attempts to match a single clause of Depends against one or
6386 more clauses of Refined_Depends.
6387 (Input_Match): Removed.
6388 (Inputs_Match): Removed.
6389 (Is_Self_Referential): Removed.
6390 (Normalize_Clause): Update the call to Split_Multiple_Outputs.
6391 (Normalize_Outputs): Rename variable Split to New_Claue and update
6392 all its occurrences.
6393 (Report_Extra_Clauses): Update the comment on usage.
6394 (Split_Multiple_Outputs): Renamed to Normalize_Outputs.
6395
63962014-07-18 Gary Dismukes <dismukes@adacore.com>
6397
6398 * i-cstrea.ads: Minor reformatting.
6399
64002014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6401
6402 * exp_util.adb (Wrap_Statements_In_Block): Propagate both
6403 secondary stack-related flags to the generated block.
6404 * sem_ch5.adb (Analyze_Loop_Statement): Update the scope chain
6405 once the loop is relocated in a block.
6406
daff5ab7
AC
64072014-07-18 Robert Dewar <dewar@adacore.com>
6408
6409 * repinfo.ads: Add documentation on handling of back annotation
6410 for dynamic case.
6411
64122014-07-18 Ed Schonberg <schonberg@adacore.com>
6413
6414 * sinfo.ads, sinfo.adb (Incomplete_View): New semantic attribute
6415 of full type declaration, denotes previous declaration for
6416 incomplete view of the type.
6417 * sem_ch3.adb (Analyze_Full_Type_Declaration): Set Incomplete_View
6418 of declaration if one is present.
6419 (Replace_Type): When constructing the signature of an inherited
6420 operation, handle properly the case where the operation has a
6421 formal whose type is an incomplete view.
6422 * sem_util.adb (Collect_Primitive_Operations): Handle properly
6423 the case of an operation declared after an incomplete declaration
6424 for a type T and before the full declaration of T.
6425
64262014-07-18 Pascal Obry <obry@adacore.com>
6427
6428 * i-cstrea.ads: Add documentation for set_wide_text_mode.
6429
c45e5332
AC
64302014-07-18 Robert Dewar <dewar@adacore.com>
6431
6432 * a-witeio.adb: Minor code reorganization.
6433 * i-cstrea.ads: Add comment.
6434
64352014-07-18 Thomas Quinot <quinot@adacore.com>
6436
6437 * s-oscons-tmplt.c (NAME_MAX): Minor cleaup and comment
6438 clarifications.
6439
adc1de25
AC
64402014-07-18 Robert Dewar <dewar@adacore.com>
6441
6442 * g-memdum.adb, g-memdum.ads, exp_strm.adb: Minor reformatting.
6443
64442014-07-18 Pascal Obry <obry@adacore.com>
6445
6446 * s-crtl.ads, i-cstrea.ads (fputwc): New routine.
6447 * a-witeio.adb (Put): On platforms where there is translation
6448 done by the OS output the raw text.
6449 (New_Line): Use Put above to properly handle the LM wide characters.
6450
6128aad4
AC
64512014-07-18 Thomas Quinot <quinot@adacore.com>
6452
6453 * g-memdum.adb, g-memdum.ads (Dump): New parameter Prefix, defaulted
6454 to Absolute_Address.
6455
64562014-07-18 Eric Botcazou <ebotcazou@adacore.com>
6457
6458 * opt.ads (Suppress_Back_Annotation): Remove as unused.
6459 * fe.h (Back_Annotate_Rep_Info): Likewise.
6460 (Global_Discard_Names): Likewise.
6461
623267dc
AC
64622014-07-18 Robert Dewar <dewar@adacore.com>
6463
6464 * sem_ch13.adb (Is_Type_Ref): Check that type name is not
6465 parenthesized.
6466
64672014-07-18 Vincent Celier <celier@adacore.com>
6468
6469 * s-osinte-vms.ads: Fix style errors.
6470
64712014-07-18 Thomas Quinot <quinot@adacore.com>
6472
6473 * s-oscons-tmplt.c (_POSIX_SOURCE): Define in order to get
6474 NAME_MAX and PATH_MAX.
6475
64762014-07-18 Bob Duff <duff@adacore.com>
6477
6478 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function,
6479 Build_Record_Or_Elementary_Output_Procedure): For Input and
6480 Output attributes, do not read/write the discriminants if they
6481 have default values; that will be done by Read/Write.
6482
8ca597af
RD
64832014-07-18 Robert Dewar <dewar@adacore.com>
6484
6485 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, layout.adb, sem_type.adb,
6486 exp_util.adb, exp_attr.adb, einfo.adb, einfo.ads, exp_pakd.adb,
6487 checks.adb, exp_pakd.ads, freeze.adb, sem_util.adb, exp_dbug.adb,
6488 exp_dbug.ads, exp_ch4.adb, sem_ch8.adb, exp_aggr.adb, sem_eval.adb,
6489 sem_ch13.adb: Change name Packed_Array_Type to Packed_Array_Impl_Type.
6490
5aa0548d
AC
64912014-07-18 Robert Dewar <dewar@adacore.com>
6492
6493 * lib-writ.adb, makeutl.adb, ali.ads: Minor reformatting.
6494
64952014-07-18 Vincent Celier <celier@adacore.com>
6496
6497 * lib-writ.ads: Update documentation about the D lines.
6498
8b034336
AC
64992014-07-18 Ed Schonberg <schonberg@adacore.com>
6500
6501 * sem_ch13.adb (Replace_Type_References_Generic): Use type entity
6502 as a parameter, rather than its Chars field, in order to locate
6503 freeze node of type. If the predicate or invariant has references
6504 to types other than the one to which the contract applies, these
6505 types must be frozen, and the corresponding predicate functions
6506 created, before that freeze node.
6507
65082014-07-18 Robert Dewar <dewar@adacore.com>
6509
6510 * freeze.adb, einfo.ads, einfo.adb: Minor code reorganization.
6511 * par_sco.adb: Minor reformatting.
6512
65132014-07-18 Gary Dismukes <dismukes@adacore.com>
6514
6515 * exp_ch4.adb (Real_Range_Check): Turn off
6516 the Do_Range_Check flag on the conversion's current Expression
6517 argument rather than on the originally captured Operand node,
6518 as Expression may reflect a rewriting (as in conversions to a
6519 fixed-point type).
6520
65212014-07-18 Vincent Celier <celier@adacore.com>
6522
6523 * ali.adb (Scan_ALI): Set Sdep_Record.Unit_Name, when the unit
6524 is not a subunit.
6525 * ali.ads (Sdep_Record): New component Unit_Name.
6526 * lib-writ.adb (Write_ALI): Write the unit name in D lines.
6527 * makeutl.adb (Check_Source_Info_In_ALI): Return False if a
6528 dependent unit is in a project and the source file name is not
6529 one of its sources.
6530
47a98b97
BD
65312014-07-18 Bob Duff <duff@adacore.com>
6532
6533 * s-addima.ads: Minor: add comment.
6534
e191e5ae
TQ
65352014-07-18 Thomas Quinot <quinot@adacore.com>
6536
6537 * freeze.adb (Check_Component_Storage_Order): Fix enforcement
6538 of nesting rules for composites with different SSOs.
6539
65402014-07-18 Thomas Quinot <quinot@adacore.com>
6541
6542 * par_sco.adb (Is_Logical_Operator): An If_Expression is not
6543 a proper logical operator.
6544 (Has_Decision): An If_Expression indicates the presence of a decision
6545 although it is not a logical operator.
6546
783d035b
AC
65472014-07-18 Robert Dewar <dewar@adacore.com>
6548
6549 * gnat_ugn.texi: Remove note that -gnatR not allowed with -gnatc.
6550 * switch-c.adb: Remove prohibition of -gnatR and -gnatc together.
6551
65522014-07-18 Eric Botcazou <ebotcazou@adacore.com>
6553
6554 * sem_ch13.adb (Kill_Rep_Clause): Clear Comes_From_Source flag
6555 on the null statement.
6556
65572014-07-18 Thomas Quinot <quinot@adacore.com>
6558
6559 * adaint.c: Minor comment rewording.
6560 * socket.c: Define macros _REENTRANT and _THREAD_SAFE so that
6561 use of errno in this file is thread safe.
6562
39678b1c
AC
65632014-07-18 Arnaud Charlet <charlet@adacore.com>
6564
6565 * gnat_ugn.texi: Doc clarification.
6566 * sem_ch13.adb (Kill_Rep_Clause): Use Replace not Rewrite.
6567 * sem_ch13.ads: Minor comment update.
6568
65692014-07-18 Robert Dewar <dewar@adacore.com>
6570
6571 * repinfo.ads: Minor comment fix.
6572
65732014-07-18 Robert Dewar <dewar@adacore.com>
6574
6575 * par-prag.adb: Add dummy entry for Default_Scalar_Storage_Order.
6576 * sem_prag.adb: Add dummy implementation of
6577 Default_Scalar_Storage_Order.
6578 * snames.ads-tmpl: Add dummy entry for
6579 Default_Scalar_Storage_Order pragma.
6580
65812014-07-18 Robert Dewar <dewar@adacore.com>
6582
6583 * opt.adb (Tree_Read): Read Address_Is_Private,
6584 Ignore_Rep_Clauses, Ignore_Style_Check_Pragmas, Multiple_Unit_Index.
6585 (Tree_Write): Corresponding writes
6586 * opt.ads: Minor comment reformatting and fixes.
6587 * tree_io.ads: Increment ASIS_Version_Number.
6588
cf28c974
RD
65892014-07-18 Robert Dewar <dewar@adacore.com>
6590
6591 * sem_attr.adb, s-os_lib.ads, prj-tree.adb: Minor reformatting.
6592 * types.h: Fix typo.
6593
65942014-07-18 Robert Dewar <dewar@adacore.com>
6595
6596 * freeze.adb (Check_Address_Clause): Use Kill_Rep_Clause (no
6597 functional change).
6598 * gnat_ugn.texi: Document that -gnatI removes rep clauses from
6599 ASIS trees.
6600 * sem_ch13.adb (Kill_Rep_Clause): New procedure
6601 (Analyze_Attribute_Definition_Clause): Use
6602 Kill_Rep_Clause. This is just a cleanup, no functional effect.
6603 (Analyze_Enumeration_Representation_Clause):
6604 Use Kill_Rep_Clause. This means that enum rep
6605 clauses are now properly removed from -gnatct trees.
6606 (Analyze_Record_Representation_Clause): Same change.
6607 * sem_ch13.ads (Kill_Rep_Clause): New procedure.
6608
c3d01e19
PO
66092014-07-18 Pascal Obry <obry@adacore.com>
6610
6611 * s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an
6612 OS_Time from time parts.
6613 * adaint.h, adaint.c (__gnat_to_os_time): New routine.
6614
6907542d
AC
66152014-07-18 Ed Schonberg <schonberg@adacore.com>
6616
6617 * sem_ch4.adb (Try_Container_Indexing): Refine previous patch for
6618 indexing over containers that are derived types: check whether
6619 signature of found operation has the correct first parameter
6620 before retrieving directly a primitive operation.
6621
66222014-07-18 Ed Schonberg <schonberg@adacore.com>
6623
6624 * sem_attr.adb (Analyze_Attribute, case 'Update): Set
6625 Do_Range_Check flag on dynamic bounds of a range used in a
6626 component association in the argument of Update.
6627
66282014-07-18 Thomas Quinot <quinot@adacore.com>
6629
6630 * adaint.c: #define _REENTRANT and _THREAD_SAFE in order for
6631 accesses to errno(3) to be thread safe.
6632
66332014-07-18 Vincent Celier <celier@adacore.com>
6634
6635 * prj-tree.adb (Imported_Or_Extended_Project_Of): For each non
6636 limited imported project that is an extending project, return
6637 a project being extended if it has the expected name.
6638
66392014-07-18 Pascal Obry <obry@adacore.com>
6640
6641 * s-os_lib.ads, s-os_lib.adb (Set_File_Last_Modify_Time_Stamp): New
6642 routine to set the last modification time stamp for the given file.
6643 * gnatchop.adb (File_Time_Stamp): Removed.
6644 (Write_Unit): Use
6645 Set_File_Last_Modify_Time_Stamp instead of ad-hoc implementation.
6646
3f433bc0
ES
66472014-07-18 Ed Schonberg <schonberg@adacore.com>
6648
6649 * sem_aggr.adb (Aggregate_Constraint_Checks): Moved to sem_util.
6650 * sem_util.ads, sem_util.adb (Aggregate_Constraint_Checks):
6651 Moved here, so it can be shared with the resolution of 'Update,
6652 whose argument shares some features with aggregates.
6653 * sem_attr.adb (Resolve_Attribute, case 'Update): Apply
6654 Aggregate_Constraint_Checks with the expression of each
6655 association, so that the Do_Range_Check flag is set when needed.
6656
66572014-07-18 Ed Schonberg <schonberg@adacore.com>
6658
6659 * sem_ch4.adb (Try_Container_Indexing): If the container
6660 type is a derived type, the value of the inherited aspect is
6661 the Reference operation declared for the parent type. However,
6662 Reference is also a primitive operation of the new type, and
6663 the inherited operation has a different signature. We retrieve
6664 the right one from the list of primitive operations of the
6665 derived type.
6666
0439c912
AC
66672014-07-18 Vincent Celier <celier@adacore.com>
6668
6669 * debug.adb: Update comment.
6670
66712014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6672
6673 * exp_util.adb (Needs_Finalization): There is no reason why a
6674 C type should not benefit from finalization actions.
6675
66762014-07-18 Thomas Quinot <quinot@adacore.com>
6677
6678 * s-oscons-tmplt.c (NAME_MAX): Fix definition for Solaris
6679 (FILENAME_MAX): Remove unneeded definition.
6680
5b89faaf
RD
66812014-07-18 Robert Dewar <dewar@adacore.com>
6682
6683 * exp_attr.adb, debug.adb: Update comments.
6684
c7a7f405
AC
66852014-07-18 Vincent Celier <celier@adacore.com>
6686
6687 * par-ch4.adb (Simple_Expression): Add missing style check
6688 for binary adding operators.
6689 (Term): Add missing style check for multiplying operators.
6690
66912014-07-18 Robert Dewar <dewar@adacore.com>
6692
6693 * impunit.adb: Minor comment correction.
6694 * widechar.adb, s-wchcon.ads: Minor comment corrections.
6695
baa571ab
AC
66962014-07-18 Robert Dewar <dewar@adacore.com>
6697
6698 * sem_ch13.adb (Build_Discrete_Static_Predicate): New name
6699 for Build_Static_Predicate (Build_Predicate_Functions):
6700 Don't try to build discrete predicate for real type.
6701 (Build_Predicate_Functions): Report attempt to use
6702 Static_Predicate function on real type as unimplemented.
6703 * sem_util.adb (Check_Expression_Against_Static_Predicate):
6704 Add guard to prevent blow up on predicate for real type.
6705
67062014-07-18 Ed Schonberg <schonberg@adacore.com>
6707
6708 * einfo.adb (Set_Static_Predicate): Simplify assertion to handle
6709 properly static predicate on enumeration types and modular types
6710 (not subtypes).
6711
67122014-07-18 Pierre-Marie Derodat <derodat@adacore.com>
6713
6714 * scos.ads (SCO_Unit_Table_Entry): Add a field to keep track of
6715 the corresponding source file index.
6716 * get_scos.ads (Get_SCOs): Add a default value for it.
6717 * par_sco.adb (SCO_Record): Fill the corresponding value.
6718 * scos.h: New.
6719
67202014-07-18 Vincent Celier <celier@adacore.com>
6721
6722 * a-strunb-shared.adb, s-auxdec.ads, s-rannum.adb, atree.ads,
6723 urealp.adb, vms_data.ads, lib.ads, s-auxdec-vms_64.ads: Minor
6724 reformatting.
6725 * gnat_ugn.texi: Add documentation for new gnatmem switch -t.
6726
67272014-07-18 Thomas Quinot <quinot@adacore.com>
6728
6729 * g-sercom.ads (Set): document possible data loss.
6730
67312014-07-18 Ed Schonberg <schonberg@adacore.com>
6732
6733 * exp_attr.adb (Expand_N_Attribute_Reference, cases Input,
6734 Output, Read, Write): If the restriction No_Streams is active,
6735 replace each occurrence of a stream attribute by an explicit
6736 Raise statement.
6737
fc999c5d
RD
67382014-07-18 Robert Dewar <dewar@adacore.com>
6739
6740 * par_sco.adb, a-reatim.ads, exp_attr.adb, sem_util.adb: Minor
6741 reformatting.
6742
67432014-07-18 Robert Dewar <dewar@adacore.com>
6744
6745 * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): New flag and
6746 function.
6747 (Set_Has_Out_Or_In_Out_Parameter): New procedure.
6748 * sem_ch6.adb (Set_Formal_Mode): Set Has_Out_Or_In_Out_Parameter flag.
6749 * sem_res.adb (Resolve_Call): Error if call of Ada 2012 function
6750 with OUT or IN OUT from earlier Ada mode (e.g. Ada 2005)
6751
b3b26ace
AC
67522014-07-18 Robert Dewar <dewar@adacore.com>
6753
6754 * bcheck.adb (Check_Consistent_Restrictions):
6755 Remove obsolete code checking for violation of
6756 No_Standard_Allocators_After_Elaboration (main program)
6757 * bindgen.adb (Gen_Adainit): Handle
6758 No_Standard_Allocators_After_Elaboration
6759 (Gen_Output_File_Ada): ditto.
6760 * exp_ch4.adb (Expand_N_Allocator): Handle
6761 No_Standard_Allocators_After_Elaboration.
6762 * Makefile.rtl: Add entry for s-elaall
6763 * rtsfind.ads: Add entry for Check_Standard_Allocator.
6764 * s-elaall.ads, s-elaall.adb: New files.
6765 * sem_ch4.adb (Analyze_Allocator): Handle
6766 No_Standard_Allocators_After_Elaboration.
6767
67682014-07-18 Robert Dewar <dewar@adacore.com>
6769
6770 * lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb,
6771 ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses.
6772 Remove AB parameter from ali files and all uses.
6773 Remove Allocator_In_Body and all uses.
6774
67752014-07-18 Robert Dewar <dewar@adacore.com>
6776
6777 * g-expect-vms.adb: Add comment.
6778
67792014-07-18 Thomas Quinot <quinot@adacore.com>
6780
6781 * par_sco.adb (Is_Logical_Operation): return True for
6782 N_If_Expression.
6783
67842014-07-18 Ed Schonberg <schonberg@adacore.com>
6785
6786 * sem_attr.adb (Resolve_Attribute, case 'Update): Do full
6787 analysis and resolution of each choice in the associations within
6788 the argument of Update, because they may be variable names.
6789
67902014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6791
6792 * exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition
6793 actions before the generated if statement.
6794
67952014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
6796
6797 * gnat_ugn.texi Enhance the documentation of
6798 switches -gnateA and -gnateV.
6799
68002014-07-18 Ed Schonberg <schonberg@adacore.com>
6801
6802 * sem_util.adb (Build_Default_Subtype): Add missing condition
6803 so that code matches description: use the full view of the base
6804 only if the base is private and the subtype is not.
6805
6782b1ef
AC
68062014-07-17 Gary Dismukes <dismukes@adacore.com>
6807
6808 * exp_disp.adb: Minor reformatting.
6809 * exp_disp.adb: Minor code reorganization.
6810
68112014-07-17 Thomas Quinot <quinot@adacore.com>
6812
6813 * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not
6814 require an explicit SSO attribute definition clause on a composite type
6815 just because one of its components has one.
6816
68172014-07-17 Robert Dewar <dewar@adacore.com>
6818
6819 * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite
6820 attribute out of existence if the enclosing pragma is ignored.
6821 * sem_util.adb: Minor reformatting.
6822
68232014-07-17 Ed Schonberg <schonberg@adacore.com>
6824
6825 * exp_aggr.adb (Expand_Array_Aggregate): Handle properly an
6826 array aggregate expanded into assignments when it appears as a
6827 local declaration in an inlined body.
6828
68292014-07-17 Doug Rupp <rupp@adacore.com>
6830
6831 * init.c [__ANDROID__]: Modify for ZCX.
6832 * exp_aggr.adb: Minor reformatting
6833 * sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments.
6834
68352014-07-17 Robert Dewar <dewar@adacore.com>
6836
6837 * a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads,
6838 exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi,
6839 scng.adb: Remove incorrect usage "allow to" and "allows to".
6840
68412014-07-17 Robert Dewar <dewar@adacore.com>
6842
6843 * exp_dist.adb: Minor reformatting.
6844
6ccdd977
AC
68452014-07-17 Bob Duff <duff@adacore.com>
6846
6847 * gnat_ugn.texi: Improve documentation of Unrestricted_Access.
6848
68492014-07-17 Robert Dewar <dewar@adacore.com>
6850
6851 * sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam
6852 (Add_Invariants): Set Nam to Name_Type_Invariant if from aspect.
6853
68542014-07-17 Thomas Quinot <quinot@adacore.com>
6855
6856 * exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a
6857 non-bit-packed array, propagate Reverse_Storage_Order to the
6858 packed array type.
6859
68602014-07-17 Javier Miranda <miranda@adacore.com>
6861
6862 * exp_disp.adb: Fix comment.
6863 * exp_pakd.adb: Minor reformatting.
6864
d8941160
RD
68652014-07-17 Robert Dewar <dewar@adacore.com>
6866
6867 * bindgen.adb (Gen_Elab_Calls): Skip reference to elab
6868 entity if none exists (Gen_Elab_Calls): Complain if clash with
6869 No_Multiple_Elaboration.
6870 * s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration.
6871 * sem_util.adb (Build_Elaboration_Entity): Skip building entity
6872 if not needed.
6873 * gnat_rm.texi: Document restriction No_Multiple_Elaboration.
6874 * sem_ch4.adb: Minor comment updates.
6875
bf561f2b
AC
68762014-07-17 Ed Schonberg <schonberg@adacore.com>
6877
6878 * exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type
6879 of function call for later use when shared passive objects
6880 are involved.
6881
68822014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
6883
6884 * par-ch13.adb (Get_Aspect_Specifications):
6885 Catch a case where the argument of SPARK aspect Refined_State
6886 is not properly parenthesized.
6887
68882014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
6889
6890 * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend
6891 the lifetime of a reference to an Ada 2012 container element.
6892 (Is_Element_Reference): New routine.
6893
68942014-07-17 Robert Dewar <dewar@adacore.com>
6895
6896 * ali.ads: Minor comment fix.
6897 * lib-writ.adb: Minor reformatting.
6898
68992014-07-17 Ed Schonberg <schonberg@adacore.com>
6900
6901 * sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit
6902 in ASIS mode, load another subunit only if it a subunit of the
6903 current one, not a sibling that has been reached through the
6904 analysis of an ancestor. This allows the construction of the
6905 ASIS tree for the subunit even when sibling subunits have errors.
6906
69072014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
6908
6909 * sem_ch3.adb (Analyze_Declarations): Remove the guard which
6910 prevents the analysis of various contracts when the associated
6911 construct is erroneous.
6912 * sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the
6913 SPARK_Pragma of an illegal or a partially decorated construct.
6914
8a5e4b2a
AC
69152014-07-17 Robert Dewar <dewar@adacore.com>
6916
6917 * s-imguns.ads: Minor reformatting.
6918
69192014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
6920
6921 * exp_ch7.adb (Build_Finalization_Master): Move all local
6922 variables to the proper code section. When looking for an existing
6923 finalization master, inspect the ultimate ancestor type of the
6924 full view.
6925 * sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine.
6926
52d9ba4d
AC
69272014-07-17 Robert Dewar <dewar@adacore.com>
6928
6929 * aspects.ads, aspects.adb: Add entries for aspect Annotate.
6930 * gnat_rm.texi: Document Entity argument for pragma Annotate and
6931 Annotate aspect.
6932 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing
6933 for Annotate aspect.
6934 * sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional
6935 Entity argument at end.
6936 * sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect.
6937
69382014-07-17 Tristan Gingold <gingold@adacore.com>
6939
6940 * s-imguns.ads: Fix minor typo.
6941
69422014-07-17 Thomas Quinot <quinot@adacore.com>
6943
6944 * sprint.adb: Minor reformatting.
6945
b16ffa33
AC
69462014-07-17 Robert Dewar <dewar@adacore.com>
6947
6948 * sprint.adb (Write_Itype): Print proper header for string
6949 literal subtype.
6950
69512014-07-17 Steve Baird <baird@adacore.com>
6952
6953 * sinfo.ads, sem_scil.ads: Improve comments, minor reformatting.
6954
7b966a95
AC
69552014-07-17 Vincent Celier <celier@adacore.com>
6956
6957 * gnatbind.adb: Change in message "try ... for more information".
6958
69592014-07-17 Robert Dewar <dewar@adacore.com>
6960
6961 * sprint.adb: Code clean up.
6962
69632014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
6964
6965 * exp_ch7.adb (Find_Last_Init): Relocate local variables to
6966 the relevant code section. Add new local constant Obj_Id. When
6967 a limited controlled object is initialized by a function call,
6968 the build-in-place object access function call acts as the last
6969 initialization statement.
6970 * exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine.
6971 (Is_Secondary_Stack_BIP_Func_Call): Code reformatting.
6972 * exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine.
6973
69742014-07-17 Ed Schonberg <schonberg@adacore.com>
6975
6976 * sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms,
6977 propagate intrinsic flag to renamed entity, to allow e.g. renaming
6978 of Unchecked_Conversion.
6979 * sem_ch3.adb (Analyze_Declarations): Do not analyze contracts
6980 if the declaration has errors.
6981
69822014-07-17 Ed Schonberg <schonberg@adacore.com>
6983
6984 * a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether
6985 container is busy before checking whether capacity allows for
6986 a further insertion. Insertion in a busy container that is full
6987 raises Program_Error rather than Capacity_Error. Previous to that
6988 patch which exception was raised varied among container types.
6989
44ccf4b4
AC
69902014-07-17 Robert Dewar <dewar@adacore.com>
6991
6992 * g-comlin.ads, g-comlin.adb: Minor clean up.
6993
69942014-07-17 Bob Duff <duff@adacore.com>
6995
6996 * gnat_ugn.texi: Update gnatpp doc.
6997
bb012790
AC
69982014-07-17 Robert Dewar <dewar@adacore.com>
6999
7000 * gnat_rm.texi: Document new restriction No_Long_Long_Integers.
7001 * exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
7002 could do this by actually expanding a real generic.
7003 * a-tags.ads: Add comments about performance.
7004 * sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
7005 Print Etype of defining identifier, rather than the object
7006 definition. More information.
7007
70082014-07-17 Thomas Quinot <quinot@adacore.com>
7009
7010 * exp_dist.adb: Minor documentation clarification.
7011
70122014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
7013
7014 * exp_util.adb (Is_Aliased): Revert previous change.
7015
70162014-07-17 Vincent Celier <celier@adacore.com>
7017
7018 * g-comlin.adb (Try_Help): New procedure.
7019 (Getopt): Use new procedure Try_Help.
7020 * g-comlin.ads (Try_Help): New procedure.
7021
70222014-07-17 Bob Duff <duff@adacore.com>
7023
7024 * gnat_ugn.texi: Minor update.
7025
ee10c0ec
RD
70262014-07-17 Robert Dewar <dewar@adacore.com>
7027
7028 * gnat_rm.texi: Improve documentation of Unrestricted_Access.
7029 * sinfo.ads: Document restriction on aggregates (must expand to
7030 assignments if one or more assignments needs expansion, e.g. for
7031 controlled types).
7032 * sem_ch13.adb: All warning messages regarding bit order should
7033 be info: messages.
7034 * gnat_ugn.texi: Minor correction of missing @ on @code
7035
70362014-07-17 Robert Dewar <dewar@adacore.com>
7037
7038 * restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
7039 * s-rident.ads (Partition_Boolean_Restrictions): Add
7040 No_Long_Long_Integer.
7041 * sem_ch3.adb (Modular_Type_Declaration): Size must be <=
7042 Long_Integer'Size if restriction No_Long_Long_Integer is active.
7043 (Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
7044 as the implicit base type for a signed integer type declaration
7045 if restriction No_Long_Long_Integer is active.
7046 * sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
7047 No_Long_Long_Integer.
7048
e80f0cb0
RD
70492014-07-17 Robert Dewar <dewar@adacore.com>
7050
7051 * sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
7052 einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
7053 repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
7054 sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
7055 treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.
7056
2bd67690
RD
70572014-07-17 Robert Dewar <dewar@adacore.com>
7058
7059 * debug.adb: Remove -gnatdQ.
7060 * exp_disp.adb: Remove -gnatdQ.
7061 * a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
7062 a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
7063 rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
7064 a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
7065 sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
7066 a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.
7067
59f4d038
RD
70682014-07-17 Robert Dewar <dewar@adacore.com>
7069
7070 * back_end.adb: Minor reformatting and comment additions.
7071 * checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
7072 function.
7073 * exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
7074 (Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
7075 * gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
7076 * gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
7077 * snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
7078 * types.ads (Duplicated_Tag_Checks_Suppressed): New check.
7079
26d5fb62
AC
70802014-07-17 Robert Dewar <dewar@adacore.com>
7081
7082 * gnat_rm.texi: Minor comment updates.
7083
70842014-07-17 Ed Schonberg <schonberg@adacore.com>
7085
7086 * sem_util.adb (Make_Explicit_Dereference): If the expression
7087 being dereferenced is a generalized indexing, reset the overloaded
7088 flag on the generalized indexing call, consistent with the
7089 resetting of the flag on the original indexed component.
7090
70912014-07-17 Robert Dewar <dewar@adacore.com>
7092
7093 * gnat_ugn.texi: Document advise not to mix -gnatV? and
7094 optimization.
7095
70962014-07-17 Robert Dewar <dewar@adacore.com>
7097
7098 * checks.adb (Insert_Valid_Check): Don't insist on a name
7099 for the prefix when we make calls to Force_Evaluation and
7100 Duplicate_Subexpr_No_Checks.
7101 * exp_util.adb (Is_Volatile_Reference): Handle all cases properly
7102 (Remove_Side_Effects): Handle all volatile references right
7103 (Side_Effect_Free): Volatile reference is never side effect free
7104 * sinfo.ads (N_Attribute_Reference): Add comments explaining
7105 that in the tree, the prefix can be a general expression.
7106
71072014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
7108
7109 * sem_ch6.adb (Analyze_Subprogram_Body_Contract,
7110 Analyze_Subprogram_Contract): Add comments on SPARK_Mode save/restore.
7111 * sem_ch7.adb (Analyze_Package_Body_Contract,
7112 Analyze_Package_Contract): Add comments on SPARK_Mode save/restore.
7113
71142014-07-17 Robert Dewar <dewar@adacore.com>
7115
7116 * exp_ch7.ads, exp_util.ads: Document Insert_Action_After,
7117 Store_After_Actions_In_Scope.
7118
c61ef416
AC
71192014-07-17 Robert Dewar <dewar@adacore.com>
7120
7121 * sem_aux.ads: Minor comment addition.
7122
71232014-07-17 Ed Schonberg <schonberg@adacore.com>
7124
7125 * sem_res.adb (Make_Call_Into_Operator): If the call is already
7126 a rewriting of an operator node, there are no actuals to be
7127 propagated from original node to rewritten node when in ASIS mode.
7128
71292014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
7130
7131 * sem_ch6.adb (Analyze_Subprogram_Body_Contract,
7132 Analyze_Subprogram_Contract): Add new local variable Mode. Save
7133 and restore the SPARK mode of the related construct in a
7134 stack-like fashion.
7135 * sem_ch7.adb (Analyze_Package_Body_Contract,
7136 Analyze_Package_Contract): Add new local variable Mode. Save and
7137 restore the SPARK mode of the related construct in a stack-like fashion.
7138 * sem_util.adb Remove with and use clause for Opt.
7139 (Restore_SPARK_Mode): New routine.
7140 (Save_SPARK_Mode_And_Set): New routine.
7141 * sem_util.ads Add with and use clause for Opt.
7142 (Restore_SPARK_Mode): New routine.
7143 (Save_SPARK_Mode_And_Set): New routine.
7144
71452014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
7146
7147 * exp_util.adb (Is_Aliased): Transient objects
7148 within an expression with actions cannot be considered aliased.
7149
36295779
AC
71502014-07-17 Thomas Quinot <quinot@adacore.com>
7151
7152 * sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
7153 introduce a new list (cleanup actions) for each (transient) scope.
7154 * sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
7155 N_Block_Statement
7156 * exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
7157 * exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
7158 processing for Store_xxx_Actions_In_Scope.
7159 (Build_Cleanup_Statements): Allow for a list of additional
7160 cleanup statements to be passed by the caller.
7161 (Expand_Cleanup_Actions): Take custom cleanup actions associated
7162 with an N_Block_Statement into account.
7163 (Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
7164 reorganization (refactoring only, no behaviour change).
7165 (Make_Transient_Block): Add assertion to ensure that the current
7166 scope is indeed a block (namely, the entity for the transient
7167 block being constructed syntactically, which has already been
7168 established as a scope). If cleanup actions are present in the
7169 transient scope, transfer them now to the transient block.
7170 * exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
7171 called function while it is still present as the name in a call
7172 in the tree. This may not be the case later on if the call is
7173 rewritten into a transient block.
7174 * exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
7175 inserted after calling a protected operation on a shared passive
7176 protected must be performed in a block finalizer, not just
7177 inserted in the tree, so that they are executed even in case of
7178 a normal (RETURN) or abnormal (exception) transfer of control
7179 outside of the current scope.
7180 * exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
7181 * sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
7182 Scope_Stack_Entry reorganization.
7183
71842014-07-17 Thomas Quinot <quinot@adacore.com>
7185
7186 * exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
7187 call for types that do not have an explicit attribute definition
7188 clause for External_Tag, as their default tag may clash with an
7189 explicit tag defined for some other type.
7190
71912014-07-17 Hristian Kirtchev <kirtchev@adacore.com>
7192
7193 * exp_util.adb (Is_Controlled_Function_Call): Recognize a
7194 controlled function call with multiple actual parameters that
7195 appears in Object.Operation form.
7196
71972014-07-17 Thomas Quinot <quinot@adacore.com>
7198
7199 * einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
7200 entity flag.
7201 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
7202 External_Tag): No need to set entity flag.
7203 * sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
7204 Reimplement correctly in terms of Has_Rep_Item.
7205
f65c67d3
TQ
72062014-07-17 Thomas Quinot <quinot@adacore.com>
7207
7208 * exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
7209 Start examining the tree at the node passed to
7210 Establish_Transient_Scope (not its parent).
7211 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
7212 The access type for the variable storing the reference to
7213 the call must be declared and frozen prior to establishing a
7214 transient scope.
7215 * exp_ch9.adb: Minor reformatting.
7216
a1d3851b
AC
72172014-07-17 Pascal Obry <obry@adacore.com>
7218
7219 * s-os_lib.ads: Minor comment update.
7220
72212014-07-17 Tristan Gingold <gingold@adacore.com>
7222
7223 * sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings. Fix some
7224 indentation.
7225 * socket.c: Remove #warning to avoid warning.
7226 * expect.c: Indent some preprocessor directives to clarify
7227 nested if. Do not use wait.h on PikeOS. Add ATTRIBUTE_UNUSED
7228 to remove warnings.
7229 * env.c: Fix indentation. Port to PikeOS.
7230 * gsocket.h: Port to PikeOS. Remove #warning.
7231 * terminals.c: Port to PikeOS. Fix indentation of the stubs.
7232 Add ATTRIBUTE_UNUSED to stubs arguments. Fix return statement
7233 of stubbed __gnat_setup_parent_communication.
7234 * adaint.c: Port to PikeOS. Reindent some preprocessor
7235 directives to clarify nested if. Fix indentation. Add missing
7236 ATTRIBUTE_UNUSED.
7237
72382014-07-17 Robert Dewar <dewar@adacore.com>
7239
7240 * sem_attr.adb: Minor reformatting.
7241
d2d8b2a7
AC
72422014-07-17 Robert Dewar <dewar@adacore.com>
7243
7244 * exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting.
7245
72462014-07-17 Ed Schonberg <schonberg@adacore.com>
7247
7248 * sem_case.adb (Check_Choice_Set): If the case expression is the
7249 expression in a predicate, do not recheck coverage against itself,
7250 to prevent spurious errors.
7251 * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that
7252 expression comes from an aspect specification, to prevent spurious
7253 errors when expression is a case expression in a predicate.
7254
72552014-07-17 Pascal Obry <obry@adacore.com>
7256
7257 * adaint.c, adaint.h (__gnat_set_executable): Add mode parameter.
7258 * s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter.
7259
72602014-07-17 Vincent Celier <celier@adacore.com>
7261
7262 * gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb,
7263 gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output
7264 the usage for an erroneous invocation of a gnat tool.
7265
9dc30a5f
AC
72662014-07-16 Vincent Celier <celier@adacore.com>
7267
7268 * gnatls.adb: Get the target parameters only if -nostdinc was
7269 not specified.
7270
72712014-07-16 Ed Schonberg <schonberg@adacore.com>
7272
7273 * checks.adb (Insert_Valid_Check): If the expression is a packed
7274 component of a modular type of the right size the data is always
7275 valid. This os particularly useful if the component is part of
7276 a volatile variable.
7277
72782014-07-16 Robert Dewar <dewar@adacore.com>
7279
7280 * gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting
7281
72822014-07-16 Thomas Quinot <quinot@adacore.com>
7283
7284 * exp_ch7.ads: Minor documentation fix.
7285
2ffcbaa5
AC
72862014-07-16 Ed Schonberg <schonberg@adacore.com>
7287
7288 * sem_ch3.adb (Find_Type_Name): Diagnose properly
7289 a private extension completion that is an interface definition
7290 with an interface list.
7291
72922014-07-16 Arnaud Charlet <charlet@adacore.com>
7293
7294 * gnatls.adb (Gnatls): Code clean ups.
7295
72962014-07-16 Thomas Quinot <quinot@adacore.com>
7297
7298 * sinfo.ads, sinfo.adb (N_Compound_Statement): New node kind.
7299 * sem.adb (Analyze): Handle N_Compound_Statement.
7300 * sprint.adb (Sprint_Node_Actual): Ditto.
7301 * sem_ch5.ads, sem_ch5.adb (Analyze_Compound_Statement): New
7302 procedure to handle N_Compound_Statement.
7303 * exp_aggr.adb (Collect_Initialization_Statements):
7304 Use a proper compound statement node, instead of a bogus
7305 expression-with-actions with a NULL statement as its expression,
7306 to wrap collected initialization statements.
7307 * freeze.ads, freeze.adb
7308 (Explode_Initialization_Compound_Statement): New public procedure,
7309 lifted from Freeze_Entity.
7310 (Freeze_Entity): When freezing
7311 an object with captured initialization statements and without
7312 delayed freezing, explode compount statement.
7313 * sem_ch4.adb (Analyze_Expression_With_Actions): Remove special
7314 case that used to handle bogus EWAs with NULL statement as
7315 the expression.
7316 * exp_ch13.adb (Expand_N_Freeze_Entity): For an object with
7317 delayed freezing and captured initialization statements, explode
7318 compound statement.
7319
76241f8f
AC
73202014-07-16 Gary Dismukes <dismukes@adacore.com>
7321
7322 * g-rewdat.adb, g-rewdat.ads: Minor reformatting.
7323
73242014-07-16 Doug Rupp <rupp@adacore.com>
7325
7326 * s-interr-hwint.adb: Casing error on parameter.
7327
73282014-07-16 Pascal Obry <obry@adacore.com>
7329
7330 * Makefile.rtl: Add g-rewdat.o dependencies in
7331 GNATRTL_NONTASKING_OBJS.
7332
73332014-07-16 Ed Schonberg <schonberg@adacore.com>
7334
7335 * sem_case.adb: Code clean up.
7336
36f6df66
AC
73372014-07-16 Vincent Celier <celier@adacore.com>
7338
7339 * make.adb: Do not read gnat.adc when gnatmake is invoked
7340 with -gnatA.
7341
73422014-07-16 Pascal Obry <obry@adacore.com>
7343
7344 * gnat_rm.texi, impunit.adb, g-rewdat.adb, g-rewdat.ads: Initial
7345 implementation of GNAT.Rewrite_Data.
7346
c624a26b
AC
73472014-07-16 Vincent Celier <celier@adacore.com>
7348
7349 * gnatls.adb (Normalize): New function.
7350 (Gnatls): Get the target parameters. On targets other than VMS,
7351 normalize the path names in the source search path, the object search
7352 path and the project search path.
7353
73542014-07-16 Ed Schonberg <schonberg@adacore.com>
7355
7356 * sem_case.adb: Avoid self-checking of case expressions in
7357 dynamic predicates.
7358
73592014-07-16 Robert Dewar <dewar@adacore.com>
7360
7361 * gnat_rm.texi: Document effect of Suppress_Initialization on tags and
7362 discriminants.
7363
ff1f1705
AC
73642014-07-16 Eric Botcazou <ebotcazou@adacore.com>
7365
7366 * switch-b.adb (Scan_Binder_Switches): Add missing guard.
7367
73682014-07-16 Ben Brosgol <brosgol@adacore.com>
7369
7370 * gnat_ugn.texi: Fix typo.
7371
73722014-07-16 Ed Schonberg <schonberg@adacore.com>
7373
7374 * exp_ch4.adb (Expand_N_Case_Expression): Do not expand case
7375 expression if it is the specification of a subtype predicate:
7376 it will be expanded when the return statement is analyzed, or
7377 when a static predicate is transformed into a static expression
7378 for evaluation by the front-end.
7379 * sem_ch13.adb (Get_RList): If the expression for a static
7380 predicate is a case expression, extract the alternatives of the
7381 branches with a True value to create the required statically
7382 evaluable expression.
7383
73842014-07-16 Thomas Quinot <quinot@adacore.com>
7385
7386 * exp_prag.adb (Expand_Pragma_Check): Use the location of the
7387 expression, not the location of the aspect, for all generated
7388 code, so that in particular the call to raise_assert_failure
7389 gets the sloc of the associated condition.
7390 * exp_ch6.adb
7391 (Expand_Subprogram_Contract.Build_Postconditions_Procedure):
7392 Set an explicit End_Label on the handled sequence of statements
7393 for the _Postconditions procedure so that the implicit return
7394 statement does not erroneously get associated with code generated
7395 for the last condition in postconditions.
7396
73972014-07-16 Thomas Quinot <quinot@adacore.com>
7398
7399 * ug_words: Fix name of VMS synonym for -gnatw.z (SIZE_ALIGNMENT,
7400 not SIZE_ALIGN) and -gnatw.Z (NOSIZE_ALIGNMENT, not NOSIZE_ALIGN).
7401 * vms_data.ads: Add missing spaces in VMS synonyms for -gnatw.z /
7402 -gnatw.Z.
7403
3f1bc2cf
AC
74042014-07-16 Robert Dewar <dewar@adacore.com>
7405
7406 * sem_ch3.adb, sem_prag.adb, sem_util.adb, sem_res.adb, sem_ch13.adb:
7407 Minor code reorganization (use Is_Access_Type, not in Access_Kind).
7408 * exp_ch3.adb: Minor code reorganization, use Is_Access_Type,
7409 not in Access_Kind.
7410 * par-ch4.adb (At_Start_Of_Attribute): New function
7411 (P_Simple_Expression): Better msg for bad attribute prefix.
7412 * scans.ads: Minor reformatting.
7413
74142014-07-16 Ed Schonberg <schonberg@adacore.com>
7415
7416 * sem_attr.adb (Resolve_Attribute, case 'Update): If choice is a
7417 static constant, check that in belongs to the corresponding index
7418 subtype, to produce the proer warning when expansion is disabled.
7419
74202014-07-16 Robert Dewar <dewar@adacore.com>
7421
7422 * freeze.adb (Freeze_Entity): Warn on incompatible size/alignment.
7423 * gnat_ugn.texi: Document -gnatw.z and -gnatw.Z.
7424 * ug_words: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for -gnatw.z/-gnatw.Z
7425 * usage.adb: Add lines for -gnatw.z/-gnatw.Z.
7426 * vms_data.ads: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for
7427 -gnatw.z/-gnatw.Z
7428 * warnsw.adb: Set Warn_On_Size_Alignment appropriately.
7429 * warnsw.ads (Warn_On_Size_Alignment): New flag Minor
7430 reformatting.
7431
b07b7ace
AC
74322014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
7433
7434 * exp_ch7.adb (Process_Declarations): Reinstate the check on
7435 a hook object to ensure that the related transient declaration
7436 is finalizable.
7437 * exp_util.adb (Is_Aliased): Do not consider expresison with
7438 actions as a special context.
7439 (Requires_Cleanup_Actions): Reinstate the check on a hook object to
7440 ensure that the related transient declaration is finalizable.
7441
74422014-07-16 Robert Dewar <dewar@adacore.com>
7443
7444 * checks.ads, checks.adb (Allocation_Checks_Suppressed): New function.
7445 * snames.ads-tmpl: Add Allocation_Check to list of check names.
7446 * types.ads: Add Allocation_Check to list of check names.
7447
74482014-07-16 Thomas Quinot <quinot@adacore.com>
7449
7450 * sem_util.adb (Enter_Name): replace bogus test for presence of
7451 Corresponding_Remote_Type with correct test on Ekind.
7452 * sem_res.adb (Valid_Conversion): ditto; also clarify validity
7453 of calls to Corresponding_ Remote_Type (documentation fix).
7454
74552014-07-16 Robert Dewar <dewar@adacore.com>
7456
7457 * gnat_rm.texi: Document illegal case of Unrestricted_Access.
7458 * sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix
7459 where it applies.
7460 (Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use.
7461 * sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag.
7462
904aac81
AC
74632014-07-16 Robert Dewar <dewar@adacore.com>
7464
7465 * gnat_ugn.texi: Document binder switch -Ra.
7466 * gnatbind.adb (List_Closure_Display): Implement -Ra switch
7467 (List_Closure_All).
7468 * opt.ads (List_Closure_All): New switch.
7469 * switch-b.adb (Scan_Binder_Switches): Recognize -Ra to set
7470 List_Closure_All.
7471
74722014-07-16 Ben Brosgol <brosgol@adacore.com>
7473
7474 * gnat_rm.texi: Minor edits, to make case consistent in names
7475 of types and fields.
7476
3bd783ec
AC
74772014-07-16 Robert Dewar <dewar@adacore.com>
7478
7479 * gnat_rm.texi: Document erroneous mixing of thin pointers and
7480 unrestricted access
7481 * gnat_ugn.texi: Add note on size of access types about thin
7482 pointers and the use of attribute Unrestricted_Access.
7483
74842014-07-16 Ed Schonberg <schonberg@adacore.com>
7485
7486 * a-cbdlli.ads, a-cbdlli.adb, a-cbhama.ads, a-cbhama.adb,
7487 * a-cbhase.ads, a-cbhase.adb, a-cborma.ads, a-cborma.adb,
7488 * a-cborse.ads, a-cborse.adb, a-cobove.ads a-cobove.adb: Add Control
7489 machinery to detect tampering on bounded vectors.
7490
800b8653
RD
74912014-07-16 Robert Dewar <dewar@adacore.com>
7492
7493 * gnat_rm.texi: Document that leading/trailing asterisks are
7494 now implied for the pattern match string for pragma Warnings
7495 and Warning_As_Error.
7496 * sem_prag.adb (Acquire_Warning_Match_String): New procedure.
7497 (Analyze_Pragma, case Warning_As_Error): Call
7498 Acquire_Warning_Match_String.
7499 (Analyze_Pragma, case Warnings): Call Acquire_Warning_Match_String.
7500
350f5d3b
AC
75012014-07-16 Bob Duff <duff@adacore.com>
7502
7503 * gnat_ugn.texi: Document need for project file
7504 for --incremental switch for gnat2xml.
7505
75062014-07-16 Robert Dewar <dewar@adacore.com>
7507
7508 * gnat_rm.texi: Fix example of non-packable components in packed
7509 records section.
7510
75112014-07-16 Robert Dewar <dewar@adacore.com>
7512
7513 * s-tpoben.adb, s-tasren.adb, s-interr.adb, s-interr-hwint.adb,
7514 s-shasto.adb, s-interr-vms.adb, s-interr-sigaction.adb: Avoid use of
7515 upper case in exception messages.
7516
ea70f3d0
RD
75172014-07-16 Robert Dewar <dewar@adacore.com>
7518
7519 * snames.ads-tmpl, sem_attr.adb, exp_attr.adb: Same_Storage attribute
7520 is renamed Has_Same_Storage.
7521 * gnat_rm.texi: Document missing SPARK pragmas and attributes.
7522 * sem_prag.adb: Minor comment fix (use LOCAL_NAME in syntax
7523 descriptions).
7524
9ab5d86b
RD
75252014-07-16 Robert Dewar <dewar@adacore.com>
7526
7527 * exp_util.adb, sem_attr.adb, exp_ch4.adb, a-cohase.ads,
7528 a-coinho-shared.adb, a-coinho-shared.ads: Minor reformatting.
7529
75302014-07-16 Robert Dewar <dewar@adacore.com>
7531
7532 * gnat_ugn.texi: Add note that integrated
7533 preprocessing cannot be applied to configuration pragma files.
7534
6cade1b0
AC
75352014-07-16 Yannick Moy <moy@adacore.com>
7536
7537 * sem_attr.adb (Analyze_Attribute/cases Pred
7538 and Succ): Always enable range check on fixed-point types if
7539 not suppressed for the type.
7540
75412014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
7542
7543 * sem_util.adb (State_Has_Enabled_Property):
7544 Account for an external property denoted by an others choice.
7545
e59243fa
AC
75462014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
7547
7548 * exp_ch4.ads, exp_ch4.adb (Find_Hook_Context): Relocated to Exp_Util.
7549 * exp_ch7.adb (Process_Declarations): There is no need to check
7550 that a transient object being hooked is controlled as it would
7551 not have been hooked in the first place.
7552 * exp_ch9.adb Remove with and use clause for Exp_Ch4.
7553 * exp_util.adb (Find_Hook_Context): Relocated from Exp_Ch4.
7554 (Is_Aliased): A renaming of a transient controlled object is
7555 not considered aliasing when it occurs within an expression
7556 with actions.
7557 (Requires_Cleanup_Actions): There is no need to
7558 check that a transient object being hooked is controlled as it
7559 would not have been hooked in the first place.
7560 * exp_util.ads (Find_Hook_Context): Relocated from Exp_Ch4.
7561
75622014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
7563
7564 * sem_ch13.adb (Insert_After_SPARK_Mode): Moved to
7565 the outer level of routine Analyze_Aspect_Specifications. Ensure
7566 that the corresponding pragmas of aspects Initial_Condition and
7567 Initializes are inserted after pragma SPARK_Mode.
7568
75692014-07-16 Ed Schonberg <schonberg@adacore.com>
7570
7571 * sem_attr.adb (Analyze_Attribute, case 'Update): Handle
7572 properly a choice list with more than one choice, where each
7573 is an aggregate denoting a sequence of array indices for a
7574 multidimentional array. For SPARK use.
7575
8942b30c
AC
75762014-07-16 Vadim Godunko <godunko@adacore.com>
7577
7578 * a-coinho-shared.adb (Adjust): Create
7579 copy of internal shared object and element when source container
7580 is locked.
7581 (Copy): Likewise.
7582 (Query_Element): Likewise.
7583 (Update_Element): Likewise.
7584 (Constant_Reference): Likewise. Raise Constraint_Error on attempt
7585 to get reference for empty holder.
7586 (Reference): Likewise.
7587
75882014-07-16 Thomas Quinot <quinot@adacore.com>
7589
7590 * exp_ch4.adb (Find_Hook_Context): New subprogram, extracted
7591 from Process_Transient_Oject.
7592 * exp_ch4.ads: Ditto.
7593 * exp_ch9.adb (Build_Class_Wide_Master): Insert the _master
7594 declaration as an action on the topmost enclosing expression,
7595 not on a possibly conditional subexpreession.
7596
d6f824bf
VG
75972014-07-16 Vadim Godunko <godunko@adacore.com>
7598
7599 * a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads:
7600 Fix parameter mode of Update_Element.
7601
ab476638
AC
76022014-07-16 Robert Dewar <dewar@adacore.com>
7603
7604 * a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor
7605 reformatting.
7606
76072014-07-16 Ed Schonberg <schonberg@adacore.com>
7608
7609 * a-cohase.ads: Type Iterator must be controlled, so that the
7610 tampering bit is properly set through an iteration.
7611 * a-cohase.adb: Add Finalize operation for type Iterator.
7612
3a859cff
ES
76132014-07-16 Ed Schonberg <schonberg@adacore.com>
7614
7615 * a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for
7616 tampering checks.
7617
88c90b68
ES
76182014-07-16 Ed Schonberg <schonberg@adacore.com>
7619
7620 * a-coinho-shared.adb: Fix spurious accessibility check.
7621
56363ffd
JH
76222014-06-15 Jan Hubicka <hubicka@ucw.cz>
7623
9495e947 7624 * gcc-interface/utils.c (process_attributes): Use set_decl_tls_model.
56363ffd 7625
ab938b41
BE
76262014-06-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
7627
7628 PR ada/61505
7629 * gnat_rm.texi: Fix errors with makeinfo 5.1.
7630
56444a32
AC
76312014-06-14 Arnaud Charlet <charlet@adacore.com>
7632
7633 PR ada/61505
9495e947 7634 * gnat_rm.texi: Attempt to fix error with makeinfo 5.1.
56444a32 7635
783da331
AC
76362014-06-13 Yannick Moy <moy@adacore.com>
7637
9495e947 7638 * exp_attr.adb: Fix typo in comment.
783da331
AC
7639 * gnat1drv.adb (Adjust_Global_Switches): Force float overflow
7640 checking in GNATprove_Mode.
7641
76422014-06-13 Ed Schonberg <schonberg@adacore.com>
7643
7644 * a-coinho-shared.adb, a-coinho-shared.ads: Update shared version.
7645
129bbe43
RD
76462014-06-13 Robert Dewar <dewar@adacore.com>
7647
7648 * sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor
7649 reformatting.
7650
aca670a0
AC
76512014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
7652
7653 * sem_prag.adb (Analyze_Pragma): Add local
7654 variable Missing_Parentheses. Emit an error when a state
7655 declaration with options appears without parentheses. Add a
7656 guard to prevent a bogus error when a state declaration may be
7657 interpreted as an option if a previous declaration with options
7658 was not parenthesized.
7659
76602014-06-13 Robert Dewar <dewar@adacore.com>
7661
7662 * checks.adb: Validate_Alignment_Check_Warnings: New procedure
7663 (Apply_Address_Clause_Check): Make Aligment_Warnings table entry.
7664 * checks.ads (Alignment_Warnings_Record): New type.
7665 (Alignment_Warnings): New table
7666 (Validate_Alignment_Check_Warnings): New procedure.
7667 * errout.adb (Delete_Warning_And_Continuations): New procedure
7668 (Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle
7669 Warnings_Treated_As_Errors (Finalize): Minor reformatting
7670 * errout.ads (Warning_Msg): New variable
7671 (Delete_Warning_And_Continuations): New procedure
7672 * erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count.
7673 * gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure.
7674
76752014-06-13 Ed Schonberg <schonberg@adacore.com>
7676
7677 * a-coinho.adb, a-coinho.ads: Add Reference machinery.
7678
d2adb45e
AC
76792014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
7680
7681 * errout.adb (SPARK_Msg_N): New routine.
7682 (SPARK_Msg_NE): New routine.
7683 * errout.ads Add a section on SPARK-related error routines.
7684 (SPARK_Msg_N): New routine.
7685 (SPARK_Msg_NE): New routine.
7686 * sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that
7687 pragma Abstract_State is always inserted after SPARK_Mode.
7688 (Insert_After_SPARK_Mode): New routine.
7689 * sem_prag.adb (Analyze_Abstract_State,
7690 Analyze_Constituent, Analyze_External_Property,
7691 Analyze_External_Property_In_Decl_Part, Analyze_Global_Item,
7692 Analyze_Global_List, Analyze_Initialization_Item,
7693 Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item,
7694 Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of,
7695 Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part,
7696 Analyze_Refined_Global_In_Decl_Part,
7697 Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause,
7698 Check_Aspect_Specification_Order, Check_Constituent_Usage,
7699 Check_Declaration_Order, Check_Dependency_Clause,
7700 Check_Duplicate_Mode, Check_Duplicate_Option,
7701 Check_Duplicate_Property, Check_External_Properties,
7702 Check_External_Property, Check_Function_Return,
7703 Check_Matching_Constituent, Check_Matching_State,
7704 Check_Mode_Restriction_In_Enclosing_Context,
7705 Check_Mode_Restriction_In_Function, Check_Refined_Global_Item,
7706 Check_State_And_Constituent_Use, Create_Or_Modify_Clause,
7707 Has_Extra_Parentheses, Inconsistent_Mode_Error,
7708 Match_Error, Propagate_Part_Of, Report_Extra_Clauses,
7709 Report_Extra_Constituents_In_List, Report_Extra_Inputs,
7710 Report_Unrefined_States, Report_Unused_Constituents,
7711 Report_Unused_States, Role_Error, Usage_Error):
7712 Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls
7713 to report semantic errors only when SPARK_Mode is on.
7714 (Analyze_Depends_In_Decl_Part): Do not check the syntax of
7715 pragma Depends explicitly, this is now done by the analysis.
7716 (Analyze_Global_In_Decl_List): Do not check the syntax of
7717 pragma Global explicitly, this is now done by the analysis.
7718 (Analyze_Initializes_In_Decl_Part): Do not check the syntax of
7719 pragma Initializes explicitly, this is now done by the analysis.
7720 (Analyze_Part_Of): Do not check the syntax of the encapsulating
7721 state, this is now done by the analysis.
7722 (Analyze_Pragma): Do
7723 not check the syntax of a state declaration, this is now done
7724 by the analysis.
7725 (Analyze_Refined_Depends_In_Decl_Part): Do not
7726 check the syntax of pragma Refined_Depends explicitly, this is now
7727 done by the analysis.
7728 (Analyze_Refined_Global_In_Decl_Part): Do
7729 not check the syntax of pragma Refined_Global explicitly, this is
7730 now done by the analysis.
7731 (Analyze_Refined_State_In_Decl_Part):
7732 Do not check the syntax of pragma Refined_State explicitly, this
7733 is now done by the analysis.
7734 (Check_Dependence_List_Syntax): Removed.
7735 (Check_Global_List_Syntax): Removed.
7736 (Check_Initialization_List_Syntax): Removed.
7737 (Check_Item_Syntax): Removed.
7738 (Check_Missing_Part_Of): Do not consider items from an instance.
7739 (Check_Refinement_List_Syntax): Removed.
7740 (Check_State_Declaration_Syntax): Removed.
7741 (Collect_Global_List): Do not raise Program_Error when the input is
7742 malformed.
7743 (Process_Global_List): Do not raise Program_Error when the input
7744 is malformed.
7745 * sem_ch13.adb: Minor reformatting.
9495e947 7746
d2adb45e
AC
77472014-06-13 Ed Schonberg <schonberg@adacore.com>
7748
7749 * sem_ch3.adb (Find_Type_Name): Diagnose a private type completion
7750 that is an interface definition with an interface list.
7751 (Process_Full_View): Move error message on missmatched interfaces
7752 between views to the declaration of full view, for clarity.
7753 * sem_ch9.adb (Check_Interfaces): Move error message to full view,
7754 for clarity.
7755
80298c3b
AC
77562014-06-13 Robert Dewar <dewar@adacore.com>
7757
7758 * exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change
7759 reason to Overflow.
7760
77612014-06-13 Robert Dewar <dewar@adacore.com>
7762
7763 * makeutl.adb: Minor reformatting.
7764
77652014-06-13 Gail Schenker <schenker@adacore.com>
7766
7767 * debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and
7768 associated flag (d.z), no longer needed.
7769
77702014-06-13 Ed Schonberg <schonberg@adacore.com>
7771
7772 * sem_ch13.adb (Analyze_Aspect_Specifications): For Import and
7773 Export aspects, do not check whether a corresponding Convention
7774 aspect has been specified. Convention is optional in Ada2012,
7775 and defaults to Convention_Ada.
7776
0083dd66
AC
77772014-06-13 Eric Botcazou <ebotcazou@adacore.com>
7778
7779 * checks.adb (Apply_Address_Clause_Check): Only issue the new
7780 warning if the propagation warning is issued.
7781
77822014-06-13 Thomas Quinot <quinot@adacore.com>
7783
7784 * exp_ch4.adb: Minor reformatting.
7785
77862014-06-13 Robert Dewar <dewar@adacore.com>
7787
7788 * exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
7789 Handle float range check case (Expand_N_Attribute_Reference,
7790 case Succ): Handle float range check case.
7791 * sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
7792 range check case.
7793
77942014-06-13 Vincent Celier <celier@adacore.com>
7795
7796 * makeutl.ads (Compute_Builder_Switches): Change name of
7797 parameter Root_Environment to Env.
7798 * prj-conf.adb (Check_Switches): Call Locate_Runtime with the
7799 Env parameter of procedure Get_Or_Create_Configuration_File.
7800 (Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
7801 of new parameter Env.
7802 * prj-conf.ads (Locate_Runtime): New parameter Env of type
7803 Prj.Tree.Environment.
7804
78052014-06-13 Robert Dewar <dewar@adacore.com>
7806
7807 * gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.
7808
890f1954
RD
78092014-06-13 Robert Dewar <dewar@adacore.com>
7810
7811 * exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor
7812 reformatting.
7813 * sem_attr.adb: Minor code reformatting and simplification.
7814 * checks.adb: Fix minor typo.
7815
4de10025
AC
78162014-06-13 Emmanuel Briot <briot@adacore.com>
7817
7818 * g-comlin.adb (Get_Argument): fix expansion
7819 of command line arguments (e.g. "*.adb") when using a custom
7820 parser. The parser was not passed to the recursive call, and
7821 thus we were trying to do the expansion on the default command
7822 line parser.
7823
78242014-06-13 Thomas Quinot <quinot@adacore.com>
7825
7826 * exp_ch9.adb: Minor reformatting.
7827
78282014-06-13 Ed Schonberg <schonberg@adacore.com>
7829
7830 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Old):
7831 To determine whether the attribute should be expanded, examine
7832 whether the enclosing postcondition pragma is to be checked,
7833 rather than using the internal flag Assertions_Enabled.
7834
17a35641
AC
78352014-06-13 Ben Brosgol <brosgol@adacore.com>
7836
7837 * gnat_rm.texi: Minor fixes.
7838 * gnat_ugn.texi: Added a missing "@itemize".
7839
78402014-06-13 Robert Dewar <dewar@adacore.com>
7841
7842 * debug.adb: Remove -gnatd.1 flag documentation.
7843 * layout.adb (Layout_Type): Remove special handling of size
7844 for anonymous access type.
7845 * sem_ch3.adb (Replace_Type): Remove special handling of size
7846 for anonymous access type.
7847
19634e40
RD
78482014-06-13 Robert Dewar <dewar@adacore.com>
7849
7850 * debug.adb: Document debug flag -gnatd.1.
7851 * layout.adb (Layout_Type): Size change for anonymous access
7852 types under -gnatd.1.
7853 * sem_ch3.adb (Replace_Type): Size change for anonymous access
7854 types under -gnatd.1.
7855
446ebdbb
AC
78562014-06-13 Robert Dewar <dewar@adacore.com>
7857
7858 * layout.adb (Layout_Type): Anonymous access types designating
7859 unconstrained arrays are always thin pointers.
7860 * sem_ch3.adb (Replace_Type): Anonymous access types designating
7861 unconstrained arrays are always thin pointers.
7862
78632014-06-13 Ed Schonberg <schonberg@adacore.com>
7864
7865 * sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call
7866 to resolve the prefix of an attribute that is an entity name
7867 and may be a parameterless call. Minor code reorganization.
7868
c86cf714
RD
78692014-06-13 Robert Dewar <dewar@adacore.com>
7870
7871 * lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
7872 Removed.
7873 * opt.ads (Compiler_Unit): New flag.
7874 * par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
7875 for null statement sequence (not allowed in compiler unit).
7876 * par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
7877 parsing.
7878 * restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
7879 calling sequence.
7880 * sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
7881 Check_Compiler_Unit.
7882 * sem_ch6.adb (Analyze_Extended_Return_Statement): Call
7883 Check_Compiler_Unit (this construct is not allowed in compiler
7884 units).
7885 * sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
7886 Set Opt.Compiler_Unit.
7887
65ede005
AC
78882014-06-13 Geert Bosch <bosch@adacore.com>
7889
7890 * gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
7891 s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
7892 s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.
7893
78942014-06-13 Robert Dewar <dewar@adacore.com>
7895
7896 * s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.
7897
c00b86e2
HK
78982014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
7899
7900 * freeze.adb (Freeze_Entity): Remove the check concerning volatile
7901 types in SPARK as it is poorly placed and poorly formulated. The
7902 check was flagging ALL volatile entities as illegal in SPARK.
7903 * sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile
7904 types as illegal in SPARK.
7905
e3a325f2
AC
79062014-06-13 Robert Dewar <dewar@adacore.com>
7907
7908 * sem_cat.adb: Minor reformatting.
7909
79102014-06-13 Yannick Moy <moy@adacore.com>
7911
7912 * sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo.
7913
79142014-06-13 Arnaud Charlet <charlet@adacore.com>
7915
7916 * gnat_rm.texi: Add detail on SPARK_05 restriction.
7917
79182014-06-13 Bob Duff <duff@adacore.com>
7919
7920 * s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links):
7921 Add assertions requiring the secondary stack to be initialized.
7922 * s-solita.ads (Init_Tasking_Soft_Links): Comment.
7923 * s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the
7924 secondary stack is initialized before calling Init_Tasking_Soft_Links,
7925 by adding pragmas Elaborate_Body.
7926
79272014-06-13 Thomas Quinot <quinot@adacore.com>
7928
7929 * sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary
7930 kludge disabling new legality check.
7931
aa611332
AC
79322014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
7933
7934 * freeze.adb (Freeze_Record_Type): Remove checks related to SPARK
7935 volatile types.
7936 (Freeze_Type): Volatile types are now illegal in SPARK.
7937
79382014-06-13 Robert Dewar <dewar@adacore.com>
7939
7940 * aspects.ads, aspects.adb: Add aspect Thread_Local_Storage.
7941 * gnat_rm.texi: Document aspect Thread_Local_Storage.
7942
79432014-06-13 Ed Schonberg <schonberg@adacore.com>
7944
7945 * sem_cat.adb (Validate_Static_Object_Name): A constant whose
7946 value is a temporary that renames an aggregate is legal in a
7947 preelaborated unit. Illegalities, if any will be detected in
7948 the aggregate components.
7949
79502014-06-13 Ed Schonberg <schonberg@adacore.com>
7951
7952 * einfo.ads: Minor reformatting an comment expansion.
7953
5af638c8
AC
79542014-06-13 Robert Dewar <dewar@adacore.com>
7955
7956 * back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to
7957 Tbuild.
7958 * tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from
7959 Back_End.
7960 * gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild
7961 * sem_warn.adb: Minor reformatting.
7962
79632014-06-13 Doug Rupp <rupp@adacore.com>
7964
7965 * adaint.c (__gnat_open_new_temp) [VMS]: Open binary
7966 files with rfm=udf.
7967
7f2c8954
AC
79682014-06-13 Yannick Moy <moy@adacore.com>
7969
7970 * sem_warn.adb (Check_Unset_References): Take
7971 case of Refined_Post into account in Within_Postcondition check.
7972
79732014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
7974
7975 * freeze.adb (Freeze_Record_Type): Volatile types are not allowed in
7976 SPARK.
7977
79782014-06-13 Yannick Moy <moy@adacore.com>
7979
7980 * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import,
7981 Aspect_Export): Consider that variables may be set outside the program.
7982
28bc3323
AC
79832014-06-13 Robert Dewar <dewar@adacore.com>
7984
7985 * back_end.adb (Make_Id): New function.
7986 (Make_SC): New function.
7987 (Set_RND): New procedure.
7988 * back_end.ads (Make_Id): New function.
7989 (Make_SC): New function.
7990 (Set_RND): New procedure.
7991 * einfo.ads: Minor comment updates.
7992 * frontend.adb: Move Atree.Initialize call to Gnat1drv.
7993 * gnat1drv.adb (Gnat1drv): New calling sequence for
7994 Get_Target_Parameters.
7995 (Gnat1drv): Move Atree.Initialize here from Frontend.
7996 * targparm.adb (Get_Target_Parameters): New calling
7997 sequence (Get_Target_Parameters): Handle pragma Restriction
7998 (No_Dependence,..)
7999 * targparm.ads (Get_Target_Parameters): New calling sequence.
8000
80012014-06-13 Gary Dismukes <dismukes@adacore.com>
8002
8003 * sem_prag.adb (Process_Import_Or_Interface): Exit the homonym
8004 loop if the pragma does not come from source, so that an implicit
8005 pragma Import only applies to the first declaration, avoiding
8006 possible conflicts with earlier explicit and implicit declarations
8007 due to multiple Provide_Shift_Operators pragmas.
8008 (Set_Imported): Remove previous fix that bypassed pragma duplication
8009 error.
8010 * gnat_rm.texi: Change 'equivalent' to 'similar' in description
8011 of Provide_Shift_Operators.
8012
0ab75824 80132014-06-12 Jan Hubicka <hubicka@ucw.cz>
f961457f 8014
0ab75824
JH
8015 * gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Pass
8016 string pointer directly to set_decl_section_name.
f961457f 8017
f8c59c05
AC
80182014-06-11 Robert Dewar <dewar@adacore.com>
8019
8020 * sem_ch13.adb: Minor reformatting.
8021
80222014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8023
8024 * sem_prag.adb (Check_Clause_Syntax): Add new
8025 local variable Outputs. Account for the case where multiple
8026 output items appear as an aggregate.
8027
80282014-06-11 Robert Dewar <dewar@adacore.com>
8029
8030 * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
8031 with ?j? not ??.
8032
80332014-06-11 Ed Schonberg <schonberg@adacore.com>
8034
8035 * einfo.ads: Minor reformatting.
8036
80372014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8038
8039 * a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
8040 new variable First_Node. Update the position after all insertions have
8041 taken place to First_Node.
8042
80432014-06-11 Robert Dewar <dewar@adacore.com>
8044
8045 * debug.adb: Remove debug flag -gnatd.1, no longer needed.
8046 * layout.adb (Layout_Type): Remove test of -gnatd.1.
8047
80482014-06-11 Robert Dewar <dewar@adacore.com>
8049
8050 * sem_ch13.adb: Minor reformatting.
8051
80522014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8053
8054 * sem_prag.adb (Check_Clause_Syntax): Add new
8055 local variable Outputs. Account for the case where multiple
8056 output items appear as an aggregate.
8057
80582014-06-11 Robert Dewar <dewar@adacore.com>
8059
8060 * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
8061 with ?j? not ??.
8062
80632014-06-11 Ed Schonberg <schonberg@adacore.com>
8064
8065 * einfo.ads: Minor reformatting.
8066
80672014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8068
8069 * a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
8070 new variable First_Node. Update the position after all insertions have
8071 taken place to First_Node.
8072
80732014-06-11 Robert Dewar <dewar@adacore.com>
8074
8075 * debug.adb: Remove debug flag -gnatd.1, no longer needed.
8076 * layout.adb (Layout_Type): Remove test of -gnatd.1.
8077
3e65bfab
AC
80782014-06-11 Thomas Quinot <quinot@adacore.com>
8079
8080 * freeze.ads: Minor reformatting.
8081 * checks.adb (Determine_Range): Do not attempt to determine
8082 the range of a deferred constant whose full view has not been
8083 seen yet.
8084 * sem_res.adb (Resolve): Remove undesirable guard against
8085 resolving expressions from expression functions.
8086
80872014-06-11 Robert Dewar <dewar@adacore.com>
8088
8089 * debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous
8090 access types.
8091 * layout.adb (Layout_Type): Make anonymous access types for
8092 subprogram formal types and return types always thin. For now
8093 only enabled if -gnatd.1 set.
8094
80952014-06-11 Ed Schonberg <schonberg@adacore.com>
8096
8097 * sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
8098 rule for stream attributes of interface types (RM 13.13.2 (38/3)):
8099 subprogram must be a null procedure.
8100
40f4dbbe
AC
81012014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8102
8103 * sem_prag.adb (Analyze_Input_Item): Allow formal
8104 parameters to appear as input_items in an initialization_list
8105 of pragma Initializes. Encapsulation now applies to states and
8106 variables only (as it should). Add RM references to key errors.
8107 * sem_prag.adb (Set_Imported): Suppress errors
8108 about preceding Imports when the pragma does not come from source,
8109 which can happen through use of pragma Provide_Shift_Operators.
8110
81112014-06-11 Thomas Quinot <quinot@adacore.com>
8112
8113 * sem_ch3.adb: Minor reformatting.
8114 * einfo.ads (Full_View): Minor comment update.
8115
81162014-06-11 Robert Dewar <dewar@adacore.com>
8117
8118 * einfo.adb (Is_Independent): New flag.
8119 * einfo.ads (Is_Independent): New flag.
8120 (Has_Independent_Components): Clean up and fix comments.
8121 * sem_prag.adb (Fix_Error): Deal with changing argument
8122 [of] to entity [for].
8123 (Analyze_Pragma, case Independent): Set Is_Independent flag
8124 (Analyze_Pragma, case Independent_Components): Set Is_Independent flag
8125 in all components of specified record.
8126
81272014-06-11 Thomas Quinot <quinot@adacore.com>
8128
8129 * sem_ch12.adb (Analyze_Formal_Decimal_Fixed_Point_Type):
8130 Set proper Etype on bounds of dummy type created for analysis
8131 of the generic.
8132
81332014-06-11 Robert Dewar <dewar@adacore.com>
8134
8135 * debug.adb: Minor comment fix (add missing section of dot
8136 numeric flags).
8137
e9daba51
AC
81382014-06-11 Robert Dewar <dewar@adacore.com>
8139
8140 * gnat_rm.texi, switch-c.adb, sem_prag.adb, a-tgdico.ads, par-prag.adb,
8141 opt.ads, a-finali.ads, snames.ads-tmpl: Remove all traces of
8142 pragma/aspects Pure_05 Pure_12 Preelaborate_05.
8143 * errout.adb (Output_Messages): Avoid duplicate output for
8144 library level instance.
8145 * sem_elab.adb (Is_Call_Of_Generic_Formal): Moved to outer level
8146 (Check_Elab_Call): Add call to Is_Call_Of_Generic_Formal
8147 * exp_ch4.adb (Expand_N_Op_Expon): New interface for Exp_Modular.
8148 * s-expmod.ads, s-expmod.adb (Exp_Modular): Change interface to
8149 accomodate largest modulus value.
8150 * gnat_ugn.texi: Minor updates.
8151
81522014-06-11 Ed Schonberg <schonberg@adacore.com>
8153
8154 * sem_ch12.adb (Instantiate_Package_Body): Do not attempt to
8155 load body of generic package or its parent, if body is optional
8156 and the unit does not require a body.
8157
f852ffee
RD
81582014-06-11 Robert Dewar <dewar@adacore.com>
8159
8160 * gnat_rm.texi: Document System.Unsigned_Types.
8161 * impunit.adb: System.Unsigned_Types (s-unstyp.ads) is user accessible.
8162 * s-unstyp.ads: Update comments (this is now user available unit).
8163
9926efec
AC
81642014-06-11 Robert Dewar <dewar@adacore.com>
8165
8166 * make.adb, sem_res.adb: Minor reformatting.
8167
81682014-06-11 Thomas Quinot <quinot@adacore.com>
8169
8170 * a-astaco.ads, a-tags.ads, s-excdeb.ads, a-tgdico.ads, a-stmaco.ads,
8171 a-except-2005.ads, s-except.ads, a-taside.ads, a-dynpri.ads,
8172 a-chahan.ads, a-sytaco.ads, s-stalib.ads, a-strmap.ads: Change pragmas
8173 Preelaborate_05 to just Preelaborate in runtime units, and similarly
8174 change Pure_05 to just Pure.
8175
dda38714
AC
81762014-06-11 Ed Schonberg <schonberg@adacore.com>
8177
8178 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not attempt
8179 analysis if error has been posted on subprogram body.
8180
81812014-06-11 Ed Schonberg <schonberg@adacore.com>
8182
8183 * sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
8184 rule given in RM 13.1 (8/1) for operational attributes to stream
8185 attributes: the attribute must apply to a first subtype. Fixes
8186 missing errors in ACATS test bdd2004.
8187
81882014-06-11 Robert Dewar <dewar@adacore.com>
8189
8190 * exp_ch3.adb (Build_Record_Init_Proc): Don't build for variant
8191 record type if restriction No_Implicit_Conditionals is active.
8192 (Expand_N_Object_Declaration): Don't allow default initialization
8193 for variant record type if restriction No_Implicit_Condition is active.
8194 (Build_Variant_Record_Equality): Don't build for variant
8195 record type if restriction No_Implicit_Conditionals is active.
8196 * exp_ch4.adb (Expand_N_Op_Eq): Error if variant records with
8197 No_Implicit_Conditionals.
8198 * sem_aux.ads, sem_aux.adb (Has_Variant_Part): New function.
8199
82002014-06-11 Ramon Fernandez <fernandez@adacore.com>
8201
8202 * i-cstrin.ads: Update comments.
8203
82042014-06-11 Ed Schonberg <schonberg@adacore.com>
8205
8206 * sem_res.adb (Resolve_Selected_Component): Handle properly a
8207 selected component whose prefix is overloaded, when none of the
8208 interpretations matches the expected type.
8209
82102014-06-11 Bob Duff <duff@adacore.com>
8211
8212 * make.adb (Wait_For_Available_Slot): Give a more
8213 informative error message; if the ALI file is not found, print
8214 the full path of what it's looking for.
8215
810241a5
AC
82162014-06-11 Sergey Rybin <rybin@adacore.com frybin>
8217
8218 * gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par>
8219 option to specify the result file encoding.
8220
82212014-06-11 Robert Dewar <dewar@adacore.com>
8222
8223 * errout.ads, sem_ch12.adb: Minor reformatting.
8224 * debug.adb, erroutc.adb: Remove -gnatd.q debug switch.
8225 * lib-xref.adb: Minor reformatting.
8226 * restrict.adb: Minor code reorganization (put routines in
8227 alpha order).
8228
2c8d828a
AC
82292014-06-11 Yannick Moy <moy@adacore.com>
8230
8231 * einfo.ads: Minor typo in comment
8232
82332014-06-11 Ed Schonberg <schonberg@adacore.com>
8234
8235 * sinfo.ads, sinfo.adb: New attribute Uninitialized_Variable, for
8236 formal private types and private type extensions, to indicate
8237 variable in a generic unit whose uninitialized use suggest that
8238 actual type should be fully initialized.
8239 Needs_Initialized_Actual: removed, functionaity replaced by
8240 the above.
8241 * lib-xref.adb (Generate_Reference): Generate a reference for
8242 variables of a formal type when the unit is not the main unit,
8243 to enable appropriate warnings in an instance.
8244 * sem_ch12.adb (Check_Ininialized_Type): Improve warning on use
8245 of variable in a generic unit that suggests that actual type
8246 should be full initialized.
8247 * sem_warn.adb; (May_Need_Initialized_Actual): Make into procedure
8248 and do not emot warning, which now only appears in an instance.
8249
82502014-06-11 Eric Botcazou <ebotcazou@adacore.com>
8251
8252 * gnat_ugn.texi: Fix minor typo.
8253
82542014-06-11 Hristian Kirtchev <kirtchev@adacore.com>
8255
8256 * sem_ch3.adb Add with and use clause for Sem_Ch10.
8257 (Analyze_Declarations): Code reformatting. Analyze the contract
8258 of a subprogram body stub at the end of the declarative region.
8259 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Spec_Id is
8260 now a variable. Do not process the body if its contract is not
8261 available. Account for subprogram body stubs when extracting
8262 the corresponding spec.
8263 * sem_ch6.ads (Analyze_Subprogram_Contract): Update the comment
8264 on usage.
8265 * sem_ch10.ads, sem_ch10.adb (Analyze_Subprogram_Body_Stub_Contract):
8266 New routine.
8267 * sem_prag.adb (Analyze_Depends_In_Decl_Part):
8268 Account for subprogram body stubs when extracting the
8269 corresponding spec.
8270 (Analyze_Global_In_Decl_List):
8271 Account for subprogram body stubs when extracting the
8272 corresponding spec.
8273 (Analyze_Refined_Depends_In_Decl_Part):
8274 Use Find_Related_Subprogram_Or_Body to retrieve the declaration
8275 of the related body. Spec_Is now a variable. Account for
8276 subprogram body stubs when extracting the corresponding spec.
8277 (Analyze_Refined_Global_In_Decl_Part): Use
8278 Find_Related_Subprogram_Or_Body to retrieve the declaration
8279 of the related body. Spec_Is now a variable. Account for
8280 subprogram body stubs when extracting the corresponding spec.
8281 (Collect_Subprogram_Inputs_Output): Account for subprogram body
8282 stubs when extracting the corresponding spec.
8283
82842014-06-11 Vincent Celier <celier@adacore.com>
8285
8286 * gnatcmd.adb (Process_Link): Do not invoke gnatlink with
8287 -lgnarl or -lgnat.
8288
b785e0b8
AC
82892014-06-11 Robert Dewar <dewar@adacore.com>
8290
8291 * debug.adb: Add debug flag -gnatd.q.
8292 * erroutc.adb (Prescan_Message): Bomb if untagged warning with
8293 -gnatd.q set.
8294 * styleg.adb (Check_Xtra_Parens): Message should be a style
8295 message.
8296 * sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
8297 par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
8298 sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
8299 sem_ch13.adb, lib-xref.adb: Add remaining warning tags.
8300
83012014-06-11 Ben Brosgol <brosgol@adacore.com>
8302
8303 * gnat_rm.texi: Revised chapter on Implementation Defined
8304 Characteristics.
8305
2e57f88b
AC
83062014-06-11 Geert Bosch <bosch@adacore.com>
8307
8308 * s-exctab.adb: avoid race conditions in exception registration.
8309
83102014-06-11 Robert Dewar <dewar@adacore.com>
8311
8312 * errout.adb (Warn_Insertion): New function.
8313 (Error_Msg): Use Warn_Insertion and Prescan_Message.
8314 (Error_Msg_Internal): Set Info field of error object.
8315 (Error_Msg_NEL): Use Prescan_Message.
8316 (Set_Msg_Text): Don't store info: at start of message.
8317 (Skip_Msg_Insertion_Warning): New name for Set_Msg_Insertion_Warning.
8318 (Skip_Msg_Insertion_Warning): Now just skips warning insertion.
8319 * errout.ads: Document new ?$? and >$> insertion sequences
8320 Document use of "(style)" and "info: "
8321 * erroutc.adb (dmsg): Print several missing fields
8322 (Get_Warning_Tag): Handle -gnatel case (?$?) (Output_Msg_Text):
8323 Deal with new tagging of info messages
8324 * erroutc.ads: Is_Info_Msg: New global (Error_Msg_Object):
8325 Add field Info (Prescan_Message): New procedure, this procedure
8326 replaces the old Test_Style_Warning_Serious_Unconditional_Msg
8327 * errutil.adb, exp_util.adb, par-ch7.adb, sem_ch13.adb, sem_ch7.adb,
8328 sem_elab.adb: Follow new rules for info message (info belongs
8329 only at the start of a message, and only in the first message,
8330 not in any of the continuations).
8331 * gnat_ugn.texi: Document full set of warning tags.
8332
c230ed0b
AC
83332014-06-11 Gary Dismukes <dismukes@adacore.com>
8334
8335 * sem_util.adb: Minor typo fix.
8336
83372014-06-11 Ed Schonberg <schonberg@adacore.com>
8338
8339 * sem_warn.adb (Check_References): Do not emit spurious warnings
8340 on uninitialzed variable of a formal private type if variable
8341 is not read.
8342
af0e1429 83432014-06-09 Jan Hubicka <hubicka@ucw.cz>
24d047a3 8344
af0e1429
JH
8345 * gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Use
8346 set_decl_section_name accessor.
24d047a3 8347
f6a7cffc
TS
83482014-05-22 Thomas Schwinge <thomas@codesourcery.com>
8349
8350 * gcc-interface/utils.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
8351 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
8352 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
8353
0688dac8
RD
83542014-05-21 Robert Dewar <dewar@adacore.com>
8355
8356 * layout.adb: Minor reformatting.
8357 * sem_prag.adb (Analyze_Pragma, case Inspection_Point): Call
8358 dummy procedure ip.
8359
83602014-05-21 Robert Dewar <dewar@adacore.com>
8361
8362 * restrict.ads (Implementation_Restriction): Add entry for
8363 No_Fixed_IO.
8364 * rtsfind.ads: Add entries for Fixed_IO and Decimal_IO in
8365 Ada.[Wide_[Wide_]Text_IO.
8366 * s-rident.ads (Restriction_Id): Add entry for No_Fixed_IO.
8367 * sem_attr.adb (Analyze_Attribute): Disallow fixed point types
8368 for Img, Image, Value, Wide_Image, Wide_Value, Wide_Wide_Image,
8369 Wide_Wide_Value if restriction No_Fixed_IO is set.
8370 * sem_util.adb (Set_Entity_Checks): Check restriction No_Fixed_IO.
8371
ee6208f2
AC
83722014-05-21 Robert Dewar <dewar@adacore.com>
8373
8374 * gnatcmd.adb: Minor error msg changes (no upper case letter
8375 at start).
8376 * sem_ch12.adb, sem_ch5.adb, sem_res.adb, sem_util.adb: Minor
8377 reformatting.
8378
83792014-05-21 Robert Dewar <dewar@adacore.com>
8380
8381 * debug.adb: Debug flag -gnatd.G inhibits static elab tracing
8382 via generic formals.
8383 * sem_elab.adb (Is_Call_Of_Generic_Formal): Return False if
8384 -gnatd.G is set.
8385
83862014-05-21 Thomas Quinot <quinot@adacore.com>
8387
8388 * exp_pakd.adb (Revert_Storage_Order): Renamed from Byte_Swap to
8389 more accurately describe that this subprogram needs to come into
8390 play also in cases where no byte swapping is involved, because
8391 it also takes care of some required shifts (left-justification
8392 of values).
8393
83942014-05-21 Thomas Quinot <quinot@adacore.com>
8395
8396 * freeze.adb (Check_Component_Storage_Order): Indicate whether
8397 a Scalar_Storage_Order attribute definition is present for the
8398 component's type.
8399 (Freeze_Record_Type): Suppress junk warnings
8400 about purportedly junk Bit_Order / Scalar_Storage_Order attribute
8401 definitions.
8402
84032014-05-21 Robert Dewar <dewar@adacore.com>
8404
8405 * sem_ch8.adb (Analyze_Subprogram_Renaming): Put back call
8406 to Kill_Elaboration_Checks.
8407
84082014-05-21 Gary Dismukes <dismukes@adacore.com>
8409
8410 * layout.adb (Assoc_Add): Suppress the optimization of the (E
8411 - C1) + C2 case, when the expression type is unsigned and C1 <
8412 C2, to avoid creating a negative literal when folding.
8413
ea26c8e4
HK
84142014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
8415
8416 * freeze.adb (Freeze_Record_Type): Update the use of
8417 Is_SPARK_Volatile.
8418 * sem_ch3.adb (Analyze_Object_Contract): Update the use of
8419 Is_SPARK_Volatile.
8420 (Process_Discriminants): Update the use of Is_SPARK_Volatile.
8421 * sem_ch5.adb (Analyze_Iterator_Specification): Update the use
8422 of Is_SPARK_Volatile.
8423 (Analyze_Loop_Parameter_Specification):
8424 Update the use of Is_SPARK_Volatile.
8425 * sem_ch6.adb (Process_Formals): Catch an illegal use of an IN
8426 formal parameter when its type is volatile.
8427 * sem_prag.adb (Analyze_Global_Item): Update the use of
8428 Is_SPARK_Volatile.
8429 * sem_res.adb (Resolve_Entity_Name): Correct the guard which
8430 determines whether an entity is a volatile source SPARK object.
8431 * sem_util.adb (Has_Enabled_Property): Accout for external
8432 properties being set on objects other than abstract states
8433 and variables. An example would be a formal parameter.
8434 (Is_SPARK_Volatile): New routine.
8435 (Is_SPARK_Volatile_Object):
8436 Remove the entity-specific tests. Call routine Is_SPARK_Volatile
8437 when checking entities and/or types.
8438 * sem_util.ads (Is_SPARK_Volatile): New routine.
8439
65529f74
AC
84402014-05-21 Robert Dewar <dewar@adacore.com>
8441
8442 * sem_warn.adb: Minor fix to warning messages (use ?? instead
8443 of ?).
8444
84452014-05-21 Vincent Celier <celier@adacore.com>
8446
8447 * gnatcmd.adb (GNATCmd): For platforms other than VMS, recognize
8448 switch --version and --help.
8449
84502014-05-21 Robert Dewar <dewar@adacore.com>
8451
8452 * sem_elab.adb (Is_Call_Of_Generic_Formal): New function.
8453
84542014-05-21 Ed Schonberg <schonberg@adacore.com>
8455
8456 * sem_ch5.adb (Analyze_Iterator_Specification): Set type of
8457 iterator variable when the domain of iteration is a formal
8458 container and this is an element iterator.
8459
84602014-05-21 Bob Duff <duff@adacore.com>
8461
8462 * sem_ch12.adb: Minor reformatting.
8463
d3289ba2
RD
84642014-05-21 Robert Dewar <dewar@adacore.com>
8465
8466 * sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting.
8467
c8a3028c
AC
84682014-05-21 Robert Dewar <dewar@adacore.com>
8469
8470 * sem_elab.adb: Minor reformatting.
8471 * s-taprop.ads: Minor comment fix.
8472 * sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to
8473 Kill_Elaboration_Checks.
8474 * errout.adb, erroutc.adb: Minor reformatting.
8475
84762014-05-21 Thomas Quinot <quinot@adacore.com>
8477
8478 * exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte
8479 component. No byte swapping occurs, but this procedure also takes
8480 care of appropriately justifying the argument.
8481
84822014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
8483
8484 * sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub):
8485 New routine.
8486 (Analyze_Subprogram_Body_Helper): Move the
8487 analysis of aspect specifications and the processing of the
8488 subprogram body contract after inlining has taken place.
8489 (Diagnose_Misplaced_Aspect_Specifications): Removed.
8490
84912014-05-21 Javier Miranda <miranda@adacore.com>
8492
8493 * sem_ch3.adb (Build_Derived_Record_Type): Revert previous change.
8494
84952014-05-21 Robert Dewar <dewar@adacore.com>
8496
8497 * sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not
8498 continuations any more.
8499
85002014-05-21 Ed Schonberg <schonberg@adacore.com>
8501
8502 * sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual,
8503 present in formal_Private_Definitions and on private extension
8504 declarations of a formal derived type. Set when the use of the
8505 formal type in a generic suggests that the actual should be a
8506 fully initialized type.
8507 * sem_warn.adb (May_Need_Initialized_Actual): new subprogram
8508 to indicate that an entity of a generic type has default
8509 initialization, and that the corresponing actual type in any
8510 subsequent instantiation should be fully initialized.
8511 * sem_ch12.adb (Check_Initialized_Type): new subprogram,
8512 to emit a warning if the actual for a generic type on which
8513 Needs_Initialized_Actual is set is not a fully initialized type.
8514
23e28b42
AC
85152014-05-21 Robert Dewar <dewar@adacore.com>
8516
8517 * sem_elab.adb, prj-dect.adb: Minor reformatting.
8518
85192014-05-21 Robert Dewar <dewar@adacore.com>
8520
8521 * erroutc.ads: Minor comment addition.
8522
85232014-05-21 Robert Dewar <dewar@adacore.com>
8524
8525 * errout.ads: Add documentation for use of >*> tag.
8526 * restrict.adb: Make sure we use >*> tag for restriction warnings.
8527
85282014-05-21 Gary Dismukes <dismukes@adacore.com>
8529
8530 * debug.adb: Add case of illegal overriding_indicator for a
8531 protected subprogram body to description of -gnatd.E switch.
8532 * sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
8533 for cases of giving overriding_indicators on protected subprogram
8534 bodies, but change this to a warning if -gnatd.E is enabled. No
8535 longer give a style warning about missing indicators on protected
8536 subprogram bodies.
8537
b7b92f15
AC
85382014-05-21 Robert Dewar <dewar@adacore.com>
8539
8540 * prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb,
8541 sem_elab.ads: Minor reformatting.
8542 * erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag
8543 parameter optional.
8544
85452014-05-21 Pascal Obry <obry@adacore.com>
8546
8547 * prj-dect.adb: Allow package Install in aggregate project.
8548
0df5ae93
AC
85492014-05-21 Robert Dewar <dewar@adacore.com>
8550
8551 * sem_ch13.adb (Analyze_Aspect_Specifications):
8552 Insert_Delayed_Pragma is now used for the case of Attach_Handler.
8553 * sem_prag.adb: Minor comment improvements.
8554
85552014-05-21 Ed Schonberg <schonberg@adacore.com>
8556
8557 * sem_ch12.adb (Install_Body): When checking whether freezing of
8558 instantiation must be delayed, verify that the common enclosing
8559 subprogram to generic and instance is in fact an overloadable
8560 entity.
8561
85622014-05-21 Vincent Celier <celier@adacore.com>
8563
8564 * makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all
8565 mains with the same name and fail if there is more than one.
8566 * prj.ads, prj.adb (Find_All_Sources): New function
8567
9db78a42
RD
85682014-05-21 Robert Dewar <dewar@adacore.com>
8569
8570 * sem_ch13.adb: Minor reformatting.
8571 * lib-xref-spark_specific.adb, sem_util.adb: Minor reformatting.
8572 * sem_prag.adb: Minor error message improvement.
8573
63b5225b
YM
85742014-05-21 Yannick Moy <moy@adacore.com>
8575
8576 * lib-xref-spark_specific.adb, lib-xref.ads, lib-xref.adb
8577 (Enclosing_Subprogram_Or_Package): Only return a library-level
8578 package.
8579
a8a89b74
JM
85802014-05-21 Javier Miranda <miranda@adacore.com>
8581
8582 * sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base
8583 to the full view of the parent type when processing a derived type
8584 which is the full view of a private type not defined in a generic
8585 unit which is derived from a private type with discriminants
8586 whose full view is a non-tagged record type.
8587
601bb6b3
AC
85882014-05-21 Javier Miranda <miranda@adacore.com>
8589
8590 * exp_ch4.adb (Expand_Allocator_Expression.Apply_Accessibility_Check):
8591 Complete previous patch.
8592
85932014-05-21 Thomas Quinot <quinot@adacore.com>
8594
95bc61b2 8595 PR ada/9535
601bb6b3
AC
8596 * g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
8597 Provide a behaviour more consistent with underlying datagram
8598 socket: do not attempt to loop over Send_Socket/Receive_Socket
8599 iterating along the buffer.
8600
86012014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
8602
8603 * freeze.adb (Freeze_Record_Type): Ensure that a discriminated
8604 or a tagged type is not labelled as volatile. Ensure that a
8605 non-volatile type has no volatile components.
8606 * sem_ch3.adb (Analyze_Object_Contract): Add local constant
8607 Obj_Typ. Code reformatting. Ensure that a discriminated or
8608 tagged object is not labelled as volatile.
8609 * sem_prag.adb (Process_Atomic_Shared_Volatile): Ensure that
8610 pragma Volatile applies to a full type declaration or an object
8611 declaration when SPARK mode is on.
8612
86132014-05-21 Sergey Rybin <rybin@adacore.com frybin>
8614
8615 * gnat_ugn.texi: For ASIS tools, reword the paragraph about
8616 providing options needed for compiling the argument source for
8617 the situation when a project file can be used as a tool parameter.
8618
86192014-05-21 Gary Dismukes <dismukes@adacore.com>
8620
8621 * gnat_rm.texi: Minor typo fix.
8622
da574a86
AC
86232014-05-21 Robert Dewar <dewar@adacore.com>
8624
8625 * stand.adb (Tree_Read): Read missing entities.
8626 (Tree_Write): Write missing entities.
8627
86282014-05-21 Ben Brosgol <brosgol@adacore.com>
8629
8630 * gnat_ugn.texi: Wordsmithing edits to Coupling Metrics Control
8631 section in gnatmetric chapter.
8632
86332014-05-21 Robert Dewar <dewar@adacore.com>
8634
8635 * exp_ch6.adb (Expand_Actuals): Spec moved here, since not used
8636 outside Exp_Ch6 (Expand_Actuals): Deal with proper insertion of
8637 post-call copy write back (see detailed comment in code).
8638 * exp_ch6.ads (Expand_Actuals): Moved to body, not used outside
8639 Exp_Ch6.
8640 * tbuild.ads: Minor reformatting.
8641
86422014-05-21 Robert Dewar <dewar@adacore.com>
8643
8644 * stand.ads: Add warning about adding new entities and
8645 Tree_Read/Tree_Write.
8646
86472014-05-21 Robert Dewar <dewar@adacore.com>
8648
8649 * sem_util.adb (Set_Entity_With_Checks): Don't complain about
8650 references to restricted entities within the units in which they
8651 are declared.
8652
86532014-05-21 Robert Dewar <dewar@adacore.com>
8654
8655 * gnat1drv.adb (Check_Bad_Body): Use Source_File_Is_Body to
8656 simplify the needed test, and also deal with failure to catch
8657 situations with non-standard names.
8658 * sinput-l.ads, sinput-l.adb (Source_File_Is_No_Body): New function
8659 (Source_File_Is_Subunit): Removed, no longer used.
8660
86612014-05-21 Javier Miranda <miranda@adacore.com>
8662
8663 * exp_ch4.adb
8664 (Expand_Allocator_Expression.Apply_Accessibility_Check): for a
8665 renaming of an access to interface object there is no need to
8666 generate extra code to reference the tag.
8667
77a40ec1
AC
86682014-05-21 Robert Dewar <dewar@adacore.com>
8669
8670 * errout.adb, erroutc.adb, erroutc.ads: Allow warning tag in pragma
8671 Warnings (Off, string).
8672
86732014-05-21 Robert Dewar <dewar@adacore.com>
8674
8675 * osint.adb: Fix three error messages to say invalid instead
8676 of erroneous.
8677 * par-ch4.adb, exp_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
8678 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_dim.adb, sem_res.adb,
8679 sem_util.adb, sem_util.ads: Fix incorrect use of erroneous in comments.
8680
86812014-05-21 Ed Schonberg <schonberg@adacore.com>
8682
8683 * freeze.adb, sem_ch13.adb, sem_ch13.ads, sem_ch9.adb,
8684 sem_ch9.ads: Move discriminant manipulation routines for analysis of
8685 aspect specifications from sem_ch9 to sem_ch13, where they belong.
8686
17cf9038
AC
86872014-05-21 Robert Dewar <dewar@adacore.com>
8688
8689 * gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings).
8690 Clearly document -gnatyg (GNAT style switches).
8691 * usage.adb: Add line line for -gnatw.g (GNAT warnings) More
8692 detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is
8693 available for VMS after all.
8694 * warnsw.adb: Reorganize to eliminate duplicated code
8695 (Restore_Warnings): Add a couple of missing entries
8696 (Save_Warnings): Add a couple of missing entries.
8697 * warnsw.ads: Add missing entries to Warning_Record (not clear
8698 what the impact is).
8699
87002014-05-21 Robert Dewar <dewar@adacore.com>
8701
8702 * errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction
8703 warning) case.
8704 * errout.ads: Document ?*? (restriction warning) insertion.
8705 * erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction
8706 warning) case.
8707 * erroutc.ads: Document use of * for restriction warning tag.
8708 * restrict.adb (Restriction_Msg): Tag with ?*? instead of ??.
8709
87102014-05-21 Ed Schonberg <schonberg@adacore.com>
8711
8712 * sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not
8713 make discriminants immediately visible when analyzing an aspect
8714 of a subtype declaration.
8715 (Uninstall_Discriminants): Do not apply to the entity in a
8716 subtype declaration.
8717
31382249
AC
87182014-05-21 Ed Schonberg <schonberg@adacore.com>
8719
8720 * sem_util.adb: Code clean up.
8721
87222014-05-21 Eric Botcazou <ebotcazou@adacore.com>
8723
8724 * gnat_ugn.texi: Document -Werror.
8725
6413dd81
AC
87262014-05-21 Bob Duff <duff@adacore.com>
8727
8728 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object):
8729 This was returning False if the Object is a constant view. Fix
8730 it to return True in that case, because it might be a view of
8731 a variable.
8732 (Has_Discriminant_Dependent_Constraint): Fix latent
8733 bug; this function was crashing when passed a discriminant.
8734
87352014-05-21 Robert Dewar <dewar@adacore.com>
8736
8737 * gnat_ugn.texi: Remove misplaced section that is now obsolete.
8738 * s-arit64.adb: Minor code reorganization.
8739 * sem_prag.adb: Minor comment fix (remove erroneous use of the
8740 term erroneous).
8741
87422014-05-21 Robert Dewar <dewar@adacore.com>
8743
8744 * g-table.adb, g-dyntab.adb (Reallocate): Fix possible overflow in
8745 computing new table size.
8746
2735b82d
AC
87472014-05-21 Robert Dewar <dewar@adacore.com>
8748
8749 * einfo.ads: Minor reformatting.
8750 * ceinfo.adb: Deal with slight format change of einfo.ads.
8751
87522014-05-21 Ed Schonberg <schonberg@adacore.com>
8753
8754 * sem_prag.adb (Analyze_Part_Of): Further work on the proper
8755 implementation of the SPARK 2014 rule concerning private child
8756 units (LRM 7.2.6).
8757
87582014-05-21 Vincent Celier <celier@adacore.com>
8759
8760 * makeusg.adb: Add switch -d to usage.
8761
87622014-05-21 Ed Schonberg <schonberg@adacore.com>
8763
8764 * sem_util.adb (Find_Actual): If an actual that is the prefix
8765 of an enclosing prefixed call has been rewritten, use Nkind
8766 and Sloc to identify the corresponding formal, when handling
8767 deferred references.
8768
87692014-05-21 Robert Dewar <dewar@adacore.com>
8770
8771 * debug.adb: Document -gnatd.z switch.
8772 * sem_eval.adb (Why_Non_Static): Test -gnatd.z switch.
8773
149604e4
RD
87742014-05-21 Robert Dewar <dewar@adacore.com>
8775
8776 * einfo.ads (Can_Never_Be_Null): Minor comment update.
8777 * sem_prag.adb (Check_Arg_Is_Task_Dispatching_Policy): Minor
8778 error message change.
8779 * s-arit64.adb ("abs"): New function. Use expression functions
8780 for the simple conversions and arithmetic.
8781
40e63ada
EB
87822014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8783
8784 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
8785 set function_start_locus.
8786
dd25fe0a
EB
87872014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8788
8789 * utils.c (gnat_write_global_declarations): Adjust the flags put on
8790 dummy_global.
8791
4aecc2f8
EB
87922014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8793
8794 * gcc-interface/decl.c (change_qualified_type): New static function.
8795 (gnat_to_gnu_entity): Use it throughout to add qualifiers on types.
8796 <E_Array_Type>: Set TYPE_VOLATILE on the array type directly.
8797 <E_Array_Subtype>: Likewise.
8798 Do not set flags on an UNCONSTRAINED_ARRAY_TYPE directly.
8799 (gnat_to_gnu_component_type): Likewise.
8800 (gnat_to_gnu_param): Likewise.
8801
08b8b90c
EB
88022014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8803
8804 * fe.h (Set_Present_Expr): Move around.
8805 (End_Location): New macro.
8806 * gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location.
8807
43a4dd82
EB
88082014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8809
8810 * gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in
8811 lieu of more verbose construct.
8812 * gcc-interface/trans.c (Call_to_gnu): Likewise.
8813 (gnat_to_gnu): Likewise. Remove obsolete code.
8814
f9d7d7c1
EB
88152014-05-18 Eric Botcazou <ebotcazou@adacore.com>
8816
8817 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Do not
8818 consider that regular packed arrays can never be superflat.
8819
766090c2
TS
88202014-05-17 Trevor Saunders <tsaunders@mozilla.com>
8821
8822 * gcc-interface/ada-tree.h: Remove usage of variable_size gty
8823 annotation.
8824 * gcc-interface/decl.c (annotate_value): Adjust.
8825 * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
8826 (push_range_check_info): Likewise.
8827 (Loop_Statement_to_gnu): Likewise.
8828 (Subprogram_Body_to_gnu): Likewise.
8829 (Compilation_Unit_to_gnu): Likewise.
8830 (start_stmt_group): Likewise.
8831 * gcc-interface/utils.c (init_gnat_utils): Likewise.
8832 (gnat_pushlevel): Likewise.
8833 (maybe_pad_type): Likewise.
8834
0263d678
EB
88352014-05-14 Eric Botcazou <ebotcazou@adacore.com>
8836
8837 * seh_init.c: Fix copyright year.
8838
d40aeed8
BE
88392014-05-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
8840
d40aeed8
BE
8841 * seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__
8842 are defined. Move include windows.h before system.h.
8843 * s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile
8844 also when __CYGWIN__ is defined. Include windef.h before winbase.h.
8845
8b9aec86
RS
88462014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
8847
0263d678
EB
8848 * gcc-interface/decl.c (gnat_to_gnu_entity): Convert integer_one_node
8849 to the appropriate type.
8b9aec86
RS
8850 * gcc-interface/trans.c (gnat_to_gnu): Likewise.
8851 (pos_to_constructor): Likewise.
8852
f0035dca
EB
88532014-05-13 Eric Botcazou <ebotcazou@adacore.com>
8854
8855 * gcc-interface/decl.c (annotate_value): Fix thinko in latest change.
8856
1d60af08
KZ
88572014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
8858 Mike Stump <mikestump@comcast.net>
8859 Richard Sandiford <rdsandiford@googlemail.com>
8860
8861 * gcc-interface/cuintp.c (UI_From_gnu): Use wide-int interfaces.
8862 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_SIGN.
8863 (annotate_value): Use wide-int interfaces.
8864 * gcc-interface/utils.c (get_nonnull_operand): Use tree_fits_uhwi_p.
8865
bc76a4d5
RH
88662014-04-28 Richard Henderson <rth@redhat.com>
8867
8868 * gcc-interface/Makefile.in: Support aarch64-linux.
8869
93582885
EB
88702014-04-28 Eric Botcazou <ebotcazou@adacore.com>
8871
8872 * exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
8873 add 'Suffix' parameter and adjust comment.
8874 (Get_External_Name_With_Suffix): Delete.
8875 * exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
8876 (Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
8877 'Suffix' parameter.
8878 (Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
8879 Call Get_External_Name instead of Get_External_Name_With_Suffix.
8880 (Get_Secondary_DT_External_Name): Likewise.
8881 * exp_cg.adb (Write_Call_Info): Likewise.
8882 * exp_disp.adb (Export_DT): Likewise.
8883 (Import_DT): Likewise.
8884 * comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
8885 parameter with False default.
8886 * comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
8887 * types.h (Fat_Pointer): Rename into...
8888 (String_Pointer): ...this. Add comment on interfacing rules.
8889 * fe.h (Compiler_Abort): Adjust for above renaming.
8890 (Error_Msg_N): Likewise.
8891 (Error_Msg_NE): Likewise.
8892 (Get_External_Name): Likewise. Add third parameter.
8893 (Get_External_Name_With_Suffix): Delete.
8894 * gcc-interface/decl.c (STDCALL_PREFIX): Define.
8895 (create_concat_name): Adjust call to Get_External_Name, remove call to
8896 Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
8897 * gcc-interface/trans.c (post_error): Likewise.
8898 (post_error_ne): Likewise.
8899 * gcc-interface/misc.c (internal_error_function): Likewise.
8900
22869a37
RB
89012014-04-28 Richard Biener <rguenther@suse.de>
8902
8903 PR middle-end/60092
8904 * gcc-interface/utils.c: Define flag_isoc11.
8905
9e3f7c4b
EB
89062014-04-26 Eric Botcazou <ebotcazou@adacore.com>
8907
8908 * gnatvsn.ads (Library_Version): Bump to 4.10.
8909
8f78ecdb
EB
89102014-04-23 Eric Botcazou <ebotcazou@adacore.com>
8911
8912 Revert
8913 2014-04-22 Richard Henderson <rth@redhat.com>
8914
8915 * gcc-interface/Makefile.in: Support aarch64-linux.
8916
8917 2014-04-22 Eric Botcazou <ebotcazou@adacore.com>
8918
8919 * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
8920 (Error_Msg_N): Likewise.
8921 (Error_Msg_NE): Likewise.
8922 (Get_External_Name_With_Suffix): Likewise.
8923 * types.h (Fat_Pointer): Delete.
8924 (String_Pointer): New type.
8925 (DECLARE_STRING_POINTER): New macro.
8926 * gcc-interface/decl.c (create_concat_name): Adjust.
8927 * gcc-interface/trans.c (post_error): Likewise.
8928 (post_error_ne): Likewise.
8929 * gcc-interface/misc.c (internal_error_function): Likewise.
8930
19a0be3d
RH
89312014-04-22 Richard Henderson <rth@redhat.com>
8932
4a980bdc
RH
8933 * gcc-interface/Makefile.in: Support aarch64-linux.
8934
19a0be3d
RH
8935 * init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
8936 (__gnat_alternate_stack): Enable for all linux except ia64.
8937
b6918051
EB
89382014-04-22 Eric Botcazou <ebotcazou@adacore.com>
8939
8940 * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
8941 (Error_Msg_N): Likewise.
8942 (Error_Msg_NE): Likewise.
8943 (Get_External_Name_With_Suffix): Likewise.
8944 * types.h (Fat_Pointer): Delete.
8945 (String_Pointer): New type.
8946 (DECLARE_STRING_POINTER): New macro.
8947 * gcc-interface/decl.c (create_concat_name): Adjust.
8948 * gcc-interface/trans.c (post_error): Likewise.
8949 (post_error_ne): Likewise.
8950 * gcc-interface/misc.c (internal_error_function): Likewise.
8951
e297e2ea 89522014-04-15 Eric Botcazou <ebotcazou@adacore.com>
53f3f4e3 8953 Pierre-Marie de Rodat <derodat@adacore.com>
e297e2ea
EB
8954
8955 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
8956 scalar constant instead of a reference for renaming of scalar literal.
8957 Do not create a new object for constant renaming except for a function
8958 call. Make sure a VAR_DECL is created for the renaming pointer.
8959 * gcc-interface/trans.c (constant_decl_with_initializer_p): New.
8960 (fold_constant_decl_in_expr): New function.
8961 (Identifier_to_gnu): Use constant_decl_with_initializer_p.
8962 For a constant renaming, try to fold a constant DECL in the result.
8963 (lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
8964 (Identifier_to_gnu): Reference the renamed object of constant renaming
8965 pointers directly.
e297e2ea
EB
8966 * gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
8967 invalidate constant renaming pointers.
8968
e63b36bd
EB
89692014-04-15 Eric Botcazou <ebotcazou@adacore.com>
8970
8971 * gcc-interface/utils.c (type_for_vector_element_p): New predicate.
8972 (build_vector_type_for_size): New function.
8973 (build_vector_type_for_array): Likewise.
8974 (unchecked_convert): Build an intermediate vector type to convert
8975 from a generic array type to a vector type.
8976 (handle_vector_size_attribute): Reimplement.
8977 (handle_vector_type_attribute): Likewise.
8978
bd6a077a
EB
89792014-04-15 Eric Botcazou <ebotcazou@adacore.com>
8980
8981 * gcc-interface/decl.c (prepend_one_attribute_pragma): Call
8982 Is_OK_Static_Expression in lieu of Is_Static_Expression to
8983 detect valid arguments.
8984
718c4601
EB
89852014-04-15 Eric Botcazou <ebotcazou@adacore.com>
8986
8987 * gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.
8988
9dba4b55
PC
89892014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
8990
d6d215ac
EB
8991 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_IDENTIFIER.
8992 (components_to_record): Likewise.
8993 * gcc-interface/utils.c (make_aligning_type): Likewise.
8994 (maybe_pad_type): Likewise.
8995 (finish_record_type): Likewise.
8996 (rest_of_record_type_compilation): Likewise.
9dba4b55 8997
3418f5e9
EB
89982014-04-14 Eric Botcazou <ebotcazou@adacore.com>
8999
9000 * snames.ads-tmpl (Name_Ivdep): New pragma-related name.
9001 * sem_prag.adb (Analyze_Pragma) <Pragma_Loop_Optimize>: Add support
9002 for Ivdep hint.
9003 * gnat_rm.texi (Implementation Defined Pragmas): Document new Ivdep
9004 hint for Loop_Optimize.
9005 * gnat_ugn.texi (Vectorization of loops): Mention new Ivdep hint.
9006 * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
9007 with new Ivdep hint.
9008 * gcc-interface/ada-tree.h (LOOP_STMT_IVDEP): New macro.
9009 * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
9010 with new Ivdep hint.
d6d215ac 9011 (gnat_gimplify_stmt) <LOOP_STMT>: Propagate loop hints.
3418f5e9 9012
4116e7d0 90132014-04-14 Eric Botcazou <ebotcazou@adacore.com>
53f3f4e3 9014 Robert Dewar <dewar@adacore.com>
4116e7d0
EB
9015
9016 * opt.ads (Suppress_Back_Annotation): Remove as unused.
9017 * fe.h (Back_Annotate_Rep_Info): Likewise.
9018 (Global_Discard_Names): Likewise.
9019 (List_Representation_Info): Declare.
9020 * types.h (Uint_Minus_1): Likewise.
9021 * repinfo.ads: Document back-annotation change.
9022 * gcc-interface/gigi.h (init_gnat_decl): Declare.
9023 (destroy_gnat_decl): Likewise.
9024 * gcc-interface/decl.c (annotate_value): Do not create the cache of
9025 annotated values here but...
9026 <CALL_EXPR>: Only inline the call if -gnatR3 is specified or we are
9027 in ASIS mode.
9028 (init_gnat_decl): ...here instead. New function.
9029 (destroy_gnat_decl): Likewise.
9030 * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_decl.
9031 * gcc-interface/utils.c (init_gnat_utils): Minor reformatting.
9032
cb27986c
EB
90332014-04-14 Eric Botcazou <ebotcazou@adacore.com>
9034
9035 * gcc-interface/decl.c (create_field_decl_from): Finalize non-constant
9036 offset for the field, if any.
9037
ebe0249e 90382014-04-09 Eric Botcazou <ebotcazou@adacore.com>
d6d215ac 9039 Svante Signell <svante.signell@gmail.com>
ebe0249e
EB
9040
9041 PR ada/54040
9042 PR ada/59346
9043 * s-osinte-x32.adb: New file.
9044 * s-linux.ads (Time): New section.
9045 * s-linux-alpha.ads (Time): Likewise.
9046 * s-linux-android.ads (Time: Likewise.
9047 * s-linux-hppa.ads (Time): Likewise.
9048 * s-linux-mipsel.ads (Time): Likewise.
9049 * s-linux-sparc.ads (Time): Likewise.
9050 * s-linux-x32.ads (Time): Likewise.
9051 * s-osprim-x32.ads (timespec): Adjust.
7056f58f
EB
9052 (Clock): Likewise.
9053 (To_Timespec): Likewise.
ebe0249e
EB
9054 * s-osinte-linux.ads (Time): Define local subtypes for those defined
9055 in System.Linux.
9056 * s-taprop-linux.adb (Monotonic_Clock): Do not define timeval.
9057 * s-osinte-hpux.ads (timespec): Revert POSIX breakage.
9058 * s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
9059 * s-osinte-solaris-posix.ads (timespec): Likewise.
9060 * s-osinte-posix.adb (To_Timespec): Likewise.
9061 * gcc-interface/Makefile.in (x32/Linux): Use s-osinte-x32.adb.
9062
f3d6c7cb
EB
90632014-04-08 Eric Botcazou <ebotcazou@adacore.com>
9064
9065 PR ada/60411
9066 * gcc-interface/Makefile.in (arm% linux-android): Switch to EHABI.
9067 * s-linux-android.ads: New file.
9068 * s-intman-android.adb: Likewise.
303a0cea 9069 * s-osinte-android.ads: Adjust.
55f31857 9070 * sigtramp-armdroid.c: Likewise.
edb2b1b1 9071 * sigtramp.h: Add Android support.
f3d6c7cb 9072
aabc3aff
EB
90732014-04-07 Eric Botcazou <ebotcazou@adacore.com>
9074
9075 * gcc-interface/Makefile.in (alpha-vms): Add missing line.
9076
368348ab
EB
90772014-03-30 Eric Botcazou <ebotcazou@adacore.com>
9078
9079 PR ada/60703
9080 * system-linux-alpha.ads: Adjust for Ada 2005.
9081 * system-linux-mips.ads: Likewise.
9082 * system-linux-mips64el.ads: Likewise.
9083 * system-linux-mipsel.ads: Likewise.
9084 * system-linux-s390.ads: Likewise.
9085 * system-linux-s390x.ads: Likewise.
9086 * system-linux-sparc.ads: Likewise.
9087 * system-linux-sparcv9.ads: Likewise.
9088 * system-rtems.ads: Likewise.
9089 * system-vxworks-arm.ads: Likewise.
9090
ab684dae
AS
90912014-03-16 Andreas Schwab <schwab@linux-m68k.org>
9092
9093 PR ada/39172
9094 * gcc-interface/Makefile.in (target_cpu_default): Revert
9095 2013-10-11 change.
9096
00c5acd3
EB
90972014-03-13 Eric Botcazou <ebotcazou@adacore.com>
9098
9099 PR ada/51483
9100 * cstand.adb (Register_Float_Type): Add 'precision' parameter and use
9101 it to set the RM size. Use directly 'size' for the Esize.
9102 (Create_Back_End_Float_Types): Adjust call to above.
9103 * get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
9104 * set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
9105 (Write_Target_Dependent_Values): Adjust comment.
9106 * set_targ.adb (Register_Float_Type): Add 'precision' parameter and
9107 deal with it.
9108 (Write_Target_Dependent_Values): Write the precision in lieu of size.
9109 (Initialization): Read the precision in lieu of size and compute the
9110 size from the precision and the alignment.
9111 * gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
9112 * gcc-interface/misc.c (enumerate_modes): Likewise. Do not register
9113 types for vector modes, pass the size in addition to the precision.
9114
8f241ff5
EB
91152014-03-10 Eric Botcazou <ebotcazou@adacore.com>
9116
9117 * gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo.
9118
a92a6b88
DR
91192014-03-07 Doug Rupp <rupp@adacore.com>
9120
9121 PR ada/60411
9122 * system-linux-armel.ads (Backend_Overflow_Checks): Set to True.
9123 (Support_64_Bit_Divides): Removed, no longer used.
9124 (ZCX_By_Default): Enabled.
9125
3af78158
DR
91262014-02-25 Doug Rupp <rupp@adacore.com>
9127
9128 * gcc-interface/Makefile.in (arm-linux):
9129 (EH_MECHANISM): Use ARM unwinder (-arm)
9130 (LIBGNAT_TARGET_PAIRS: Override defaults with a-exexpr-gcc.adb and
9131 s-excmac-arm.ads.
9132 (EXTRA_LIBGNAT_OBJS): Add raise-gcc.o
9133 (EXTRA_GNATRTL_NONTASKING_OBJS): Add g-cppexc.o s-excmac.o.
9134 (arm-wrs-vxworks): Add EH_MECHANISM=-gcc for kernel mode.
9135 (EXTRA_LIBGNAT_OBJS): Add sigtramp-armvxw.o
9136 Add dependencies for sigtramp-armvxw.o.
9137
2749b01b
EB
91382014-02-25 Eric Botcazou <ebotcazou@adacore.com>
9139
9140 * gcc-interface/trans.c (Pragma_to_gnu): Deal with Warning_As_Error.
9141
e7ba564f
RD
91422014-02-25 Robert Dewar <dewar@adacore.com>
9143
9144 * rtsfind.adb (Is_RTE): Protect against entity with no scope
9145 field (previously this call blew up on the Standard entity).
9146 * sem_attr.adb (Analyze_Attribute, case Access): Remove
9147 test for No_Abort_Statements, this is now handled in
9148 Set_Entity_With_Checks.
9149 * exp_ch6.adb, sem_ch10.adb, sem_ch4.adb, sem_ch8.adb, sem_res.adb:
9150 Change name Set_Entity_With_Style_Check => Set_Entity_With_Checks.
9151 * sem_util.ads, sem_util.adb: Change name Set_Entity_With_Style_Check =>
9152 Set_Entity_With_Checks.
9153 (Set_Entity_With_Checks): Add checks for No_Dynamic_Attachment,
9154 Add checks for No_Abort_Statements.
9155
91562014-02-25 Robert Dewar <dewar@adacore.com>
9157
9158 * exp_ch9.adb (Expand_Entry_Barrier): Add comment that call to
9159 Check_Restriction is OK.
9160
2886a495
ES
91612014-02-25 Ed Schonberg <schonberg@adacore.com>
9162
9163 * sem_ch3.adb (Process_Full_View): Better error message when
9164 the full view of a private type without discriminants is an
9165 unconstrained type.
9166 * sem_ch7.adb (Uninstall_Declarations): Ditto.
9167
fb12497d
AC
91682014-02-25 Eric Botcazou <ebotcazou@adacore.com>
9169
9170 * sigtramp-armvxw.c: Also restore r0.
9171
91722014-02-25 Robert Dewar <dewar@adacore.com>
9173
9174 * errout.adb (Error_Msg_Internal): Warning_Msg_Char set
9175 unconditionally (Set_Msg_Insertion_Warning): Warning_Msg_Char
9176 set unconditionally.
9177 * erroutc.adb (Get_Warning_Tag): Does not give a leading space
9178 any more (Output_Msg_Text): Rewritten with new convention on
9179 output of warnings that are treated as errors.
9180 * erroutc.ads (Error_Msg_Object): Warn_Chr is always set even
9181 if Warn is False.
9182 * gnat_rm.texi: Updates to documentation on pragma
9183 Warning_As_Error.
9184 * warnsw.adb (Set_Dot_Warning_Switch): -gnatw.e should not
9185 set Warning_Doc_Switch.
9186 * lib-writ.ads: Add documentation note on ALI file generation
9187 for C.
9188 * exp_ch6.adb (Expand_Call): Remove check for No_Abort_Statements
9189 (belongs in Sem).
9190 * sem_attr.adb (Resolve_Attribute, case Access):
9191 Abort_Task'Access violates the No_Abort_Statements restriction.
9192 * sem_res.adb (Resolve_Call): Check restriction
9193 No_Abort_Statements for call to Abort_Task or a renaming of it.
9194
0c3985a9
AC
91952014-02-25 Robert Dewar <dewar@adacore.com>
9196
9197 * sem_ch3.adb (Array_Type_Declaration): Check for case of using
9198 type name as index.
9199 * lib.ads: Minor reformatting.
9200 * einfo.ads: Minor reformatting.
9201
92022014-02-25 Doug Rupp <rupp@adacore.com>
9203
9204 * sem_mech.adb (Set_Mechanisms): For convention Fortran on VMS
9205 use Short_Descriptor(S) as the argument passing mechanism.
9206
92072014-02-25 Eric Botcazou <ebotcazou@adacore.com>
9208
9209 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Also include r0.
9210
92112014-02-25 Robert Dewar <dewar@adacore.com>
9212
9213 * atree.ads (Warnings_Treated_As_Errors): New variable.
9214 * errout.adb (Error_Msg_Internal): Set Warn_Err flag in
9215 error object (Initialize): Initialize Warnings_As_Errors_Count
9216 (Write_Error_Summary): Include count of warnings treated as errors.
9217 * erroutc.adb (Warning_Treated_As_Error): New function.
9218 (Matches): Function moved to outer level of package.
9219 * erroutc.ads (Error_Msg_Object): Add Warn_Err flag.
9220 (Warning_Treated_As_Error): New function.
9221 * gnat_rm.texi: Document pragma Treat_Warning_As_Error.
9222 * opt.adb: Add handling of Warnings_As_Errors_Count[_Config].
9223 * opt.ads (Config_Switches_Type): Add entry for
9224 Warnings_As_Errors_Count.
9225 (Warnings_As_Errors_Count): New variable.
9226 (Warnings_As_Errors): New array.
9227 * par-prag.adb: Add dummy entry for Warning_As_Error.
9228 * sem_prag.adb (Analyze_Pragma): Implement new pragma
9229 Warning_As_Error.
9230 * snames.ads-tmpl: Add entries for Warning_As_Error pragma.
9231
5acb4d29
AC
92322014-02-25 Eric Botcazou <ebotcazou@adacore.com>
9233
9234 * sigtramp.h: Fix minor inaccuracy.
9235
92362014-02-25 Ben Brosgol <brosgol@adacore.com>
9237
9238 * gnat_ugn.texi: Added description of kill command.
9239
92402014-02-25 Robert Dewar <dewar@adacore.com>
9241
9242 * gnat_rm.texi (Address_Clauses): Add a section discussing the
9243 problem of address clauses causing unexpected initialization,
9244 including the effect of Initialize_Scalars.
9245
80c2c202
AC
92462014-02-25 Robert Dewar <dewar@adacore.com>
9247
9248 * errout.adb: Various changes for better msgs for anonmous access
9249 subprogram types.
9250 * erroutc.ads, erroutc.adb (Buffer_Ends_With): Version with character
9251 argument.
9252 (Buffer_Remove): Version with character argument.
9253 * sem_attr.adb (Resolve_Attribute, case Access): Better handling
9254 of mismatching conventions for access-to-subprogram case.
9255 * sem_prag.adb (Set_Convention_From_Pragma): Deal with anonymous
9256 access types in record.
9257 * sem_util.ads, sem_util.adb (Set_Convention): Handle anonymous access
9258 types, including in records.
9259
92602014-02-25 Doug Rupp <rupp@adacore.com>
9261
9262 * sigtramp-ppcvxw.c, sigtramp.h, sigtramp-armvxw.c: Comment
9263 enhancements and corrections.
9264
92652014-02-25 Robert Dewar <dewar@adacore.com>
9266
9267 * gnat_rm.texi: New section "Conventions and Anonymous Access Types"
9268
9972d439
RD
92692014-02-25 Robert Dewar <dewar@adacore.com>
9270
9271 * gnat_rm.texi: First set of documentation additions for
9272 predefined RM units.
9273 * checks.adb: Minor reformatting.
9274 * sem_elab.adb (Check_Task_Activation): Minor fix to error
9275 message.
9276 * sem_util.adb: Minor reformatting.
9277
592574f5
AC
92782014-02-25 Arnaud Charlet <charlet@adacore.com>
9279
9280 * usage.adb (Usage): Add help on -gnateC.
9281 * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC.
9282 * opt.ads (Generate_CodePeer_Messages): New flag.
9283 * gnat_ugn.texi: Document new switch -gnateC.
9284
92852014-02-25 Ben Brosgol <brosgol@adacore.com>
9286
9287 * gnat_rm.texi: Corrected minor typos in Implementation Defined
9288 Aspects.
9289 * opt.ads: Minor reformatting.
9290
fe2194df
RD
92912014-02-25 Robert Dewar <dewar@adacore.com>
9292
9293 * binde.adb: Change messages to mention -gnatel instead of -gnatwl.
9294 * gnat_ugn.texi: Update documentation of -gnatwl Add documentation
9295 of -gnatel/-gnateL.
9296 * opt.ads (Warn_Info_Messages): New flag.
9297 * sem_elab.adb: Use Elab_Warnings, Elab_Info_Messages to control
9298 messages.
9299 * sem_prag.adb: Use Elab_Warnings, Elab_Info_Messages to control
9300 messages.
9301 * switch-m.ad, switch-c.adb: Recognize new -gnatel/EL switches.
9302 * usage.adb: Add documentation of -gnatel/-gnateL Update
9303 documentation of -gnatwl/-gnatwL.
9304 * warnsw.adb: New handling of Elab_Warnings, Elab_Info_Messages
9305 * warnsw.ads (Elab_Info_Messages): New field in Warning_Record
9306
4c51ff88
AC
93072014-02-25 Robert Dewar <dewar@adacore.com>
9308
9309 * einfo.ads, einfo.adb (Has_Shift_Operator): New flag.
9310 * gnat_rm.texi: Document pragma Provide_Shift_Operators.
9311 * interfac.ads: Minor code reorganization (add pragma
9312 Compiler_Unit_Warning).
9313 * par-prag.adb: Add dummy entry for Provide_Shift_Operators.
9314 * sem_ch3.adb (Build_Derived_Numeric_Type): Copy
9315 Has_Shift_Operator flag.
9316 * sem_intr.adb (Check_Intrinsic_Subprogram): Make sure
9317 Check_Shift is always called (Check_Shift): Set Has_Shift_Operator.
9318 * sem_prag.adb: Implement pragma Provide_Shift_Operators.
9319 * snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators
9320 Add entry for Name_Amount.
9321 * checks.adb (Selected_Range_Checks): When checking for a null
9322 range, make sure we use the base type, and not the subtype for
9323 deciding a range is null.
9324 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
9325 for suspicious loop bound which is outside the range of the
9326 loop subtype.
9327 * gnat_ugn.texi: Add documentation section "Determining the
9328 Chosen Elaboration Order"
9329 * sem_ch13.adb (UC_Entry): Add field Act_Unit
9330 (Validate_Unchecked_Conversion): Store Act_Unit
9331 (Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit
9332 * treepr.adb: Minor reformatting.
9333
93342014-02-25 Arnaud Charlet <charlet@adacore.com>
9335
9336 * usage.adb: Minor: fix typo.
9337
0355e3eb
AC
93382014-02-25 Robert Dewar <dewar@adacore.com>
9339
9340 * lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi,
9341 s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads,
9342 s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads,
9343 s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads,
9344 g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb,
9345 s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads,
9346 a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb,
9347 s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads,
9348 a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb,
9349 s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads,
9350 a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb,
9351 s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads,
9352 s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma
9353 Compiler_Unit_Warning, change Compiler_Unit everywhere to
9354 Compiler_Unit_Warning.
9355
93562014-02-25 Sergey Rybin <rybin@adacore.com frybin>
9357
9358 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize
9359 in ASIS mode aggregates that are used as aspect definitions.
9360
e917e3b8
AC
93612014-02-25 Robert Dewar <dewar@adacore.com>
9362
9363 * exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor
9364 reformatting.
9365
93662014-02-25 Ed Schonberg <schonberg@adacore.com>
9367
9368 * freeze.adb (Freeze_Entity): If the return type of a function
9369 is a limited view, and the non-limited view has not been seen yet,
9370 defer freezing to some later point.
9371
93722014-02-25 Robert Dewar <dewar@adacore.com>
9373
9374 * sem_ch3.adb: Minor reformatting.
9375
93762014-02-25 Robert Dewar <dewar@adacore.com>
9377
9378 * s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads,
9379 s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb,
9380 s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb,
9381 s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb,
9382 s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb,
9383 s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb,
9384 s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9385 s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads,
9386 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb,
9387 s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb,
9388 s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads,
9389 s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads,
9390 s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb,
9391 s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb,
9392 snames.ads-tmpl: Change Compiler_Unit everywhere to
9393 Compiler_Unit_Warning.
9394
5f24a82a
HK
93952014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
9396
9397 * exp_ch6.adb (Add_Or_Save_Precondition): New routine.
9398 (Collect_Body_Postconditions_In_Decls): New routine.
9399 (Collect_Body_Postconditions_Of_Kind): Factor out code. Handle
9400 postcondition aspects or pragmas that appear on a subprogram
9401 body stub.
9402 (Collect_Spec_Preconditions): Factor out code. Handle
9403 precondition aspects or pragmas that appear on a subprogram
9404 body stub.
9405 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The analysis of
9406 aspects that apply to a subprogram body stub is no longer delayed,
9407 the aspects are analyzed on the spot.
9408 (SPARK_Aspect_Error):
9409 Aspects that apply to a subprogram declaration cannot appear in
9410 a subunit.
9411 * sem_ch10.adb Remove with and use clause for Sem_Ch13.
9412 (Analyze_Proper_Body): Add local variable Comp_Unit. Unum
9413 is now a local variable. Code cleanup. Analysis related to
9414 the aspects of a subprogram body stub is now carried out by
9415 Analyze_Subprogram_Body_Helper. Do not propagate the aspects
9416 and/or pragmas of a subprogram body stub to the proper body
9417 as this is no longer needed. Do not analyze the aspects of a
9418 subprogram stub when the corresponding source unit is missing.
9419 (Analyze_Protected_Body_Stub): Flag the illegal use of aspects
9420 on a stub.
9421 (Analyze_Task_Body_Stub): Flag the illegal use of
9422 aspects on a stub.
9423 (Optional_Subunit): Add local variable Unum.
9424 * sem_ch13.adb (Insert_Delayed_Pragma): Do not analyze a generated
9425 pragma when it applies to a subprogram body stub.
9426 * sem_prag.adb (Analyze_Pragma): Pragmas Contract_Cases,
9427 Depends and Global can now apply to a subprogram body stub as
9428 long as it acts as its own spec.
9429 (Analyze_Refined_Pragma):
9430 Code reformatting. Refinement pragmas cannot apply to a subunit.
9431
7edfb4c6
HK
94322014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
9433
9434 * einfo.ads Update the usage of flag
9435 Uses_Sec_Stack. Uses_Sec_Stack now applies to E_Loop entities.
9436 * exp_ch5.adb (Expand_Iterator_Loop): The temporary for a cursor
9437 now starts with the letter 'C'. This makes reading expanded
9438 code easier.
9439 * exp_ch7.adb (Establish_Transient_Scope): Add local variable
9440 Iter_Loop. Signal that an Ada 2012 iterator loop requires
9441 secondary stack management when creating a transient scope for
9442 an element reference.
9443 * exp_util.adb (Process_Statements_For_Controlled_Objects):
9444 When wrapping the statements of a loop, pass the E_Loop entity
9445 to the wrapping machinery.
9446 (Wrap_Statements_In_Block): Add
9447 formal parameter Scop along with comment on usage. Add local
9448 variables Block_Id, Block_Nod and Iter_Loop. Mark the generated
9449 block as requiring secondary stack management when the block is
9450 created inside an Ada 2012 iterator loop. This ensures that any
9451 reference objects are reclaimed on each iteration of the loop.
9452 * sem_ch5.adb (Analyze_Loop_Statement): Mark the generated block
9453 tasked with the handling of container iterators as requiring
9454 secondary stack management. This ensures that iterators are
9455 reclaimed when the loop terminates or is exited in any fashion.
9456 * sem_util.adb (Add_Block_Identifier): New routine.
9457 (Find_Enclosing_Iterator_Loop): New routine.
9458 * sem_util.ads (Add_Block_Identifier): New routine.
9459 (Find_Enclosing_Iterator_Loop): New routine.
9460
bbe9779c
AC
94612014-02-25 Robert Dewar <dewar@adacore.com>
9462
9463 * sinfo.ads: Minor reformatting.
9464
94652014-02-25 Tristan Gingold <gingold@adacore.com>
9466
9467 * s-expllu.ads, s-expuns.ads, s-expmod.ads: Minor comment fix.
9468
94692014-02-25 Pascal Obry <obry@adacore.com>
9470
9471 * sinput-l.adb, osint.adb, osint.ads: Add Prep_Suffix to factorize code.
9472
1ae8beef
AC
94732014-02-25 Tristan Gingold <gingold@adacore.com>
9474
9475 * sem_ch10.adb: Minor comment fix.
9476
94772014-02-25 Bob Duff <duff@adacore.com>
9478
9479 * s-tasdeb.adb: Misc cleanup of this package,
9480 including printing addresses in hexadecimal.
9481 (Write): Fix minor bug when taking 'Address of an empty string.
9482
94832014-02-25 Ed Schonberg <schonberg@adacore.com>
9484
9485 * sem_prag.adb (Analyze_Part_Of): Reject state refinement in a
9486 public child unit when it does not refer to the abstract state
9487 of a public ancestor.
9488
ca11219d
AC
94892014-02-25 Yannick Moy <moy@adacore.com>
9490
9491 * sem_prag.adb (Analyze_Pragma/Pragma_Validity_Checks): Ignore pragma
9492 Validity_Checks in GNATprove and CodePeer modes.
9493
94942014-02-25 Pascal Obry <obry@adacore.com>
9495
9496 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package Install's
9497 Artifacts attribute.
9498
6e32b1ab
AC
94992014-02-25 Yannick Moy <moy@adacore.com>
9500
9501 * sem_prag.adb: Minor reformatting to get consistent messages.
9502
95032014-02-25 Robert Dewar <dewar@adacore.com>
9504
9505 * checks.adb: Minor reformatting.
9506 * sinfo.ads (Do_Range_Check): Document that this flag is never
9507 passed to the back end.
9508
f9966234
AC
95092014-02-25 Yannick Moy <moy@adacore.com>
9510
9511 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem_attr.adb,
9512 sem_ch6.adb: Remove useless references to SPARK RM in error messages.
9513
95142014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
9515
9516 * sem_res.adb (Appears_In_Check): New routine.
9517 (Resolve_Entity_Name): Remove local variables Prev and
9518 Usage_OK. Par is now a constant. Remove the parent chain traversal
9519 as the placement of a volatile object with enabled property
9520 Async_Writers and/or Effective_Reads must appear immediately
9521 within a legal construct.
9522
95232014-02-25 Hristian Kirtchev <kirtchev@adacore.com>
9524
9525 * checks.adb (Apply_Selected_Range_Checks):
9526 Alphabetize local constants and variables. Add comments.
9527 Always insert a range check that requires runtime evaluation into
9528 the tree.
9529
a6abfd78
AC
95302014-02-25 Robert Dewar <dewar@adacore.com>
9531
9532 * sem_attr.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting.
9533
95342014-02-25 Bob Duff <duff@adacore.com>
9535
9536 * s-tassta.adb (Finalize_Global_Tasks): Limit the number of loop
9537 iterations while waiting for independent tasks to terminate;
9538 if an independent task does not terminate, we do not want to
9539 hang here. In that case, the thread will be terminated when the
9540 process exits.
9541 * s-taprop-linux.adb (Abort_Task): Fix Assert to allow for ESRCH.
9542
95432014-02-25 Ed Schonberg <schonberg@adacore.com>
9544
9545 * sem_prag.adb (Check_SPARK_Aspect_For_ASIS): New subprogram,
9546 used to perform pre-analysis of the expression for SPARK
9547 aspects that have a non-standard syntax, such as GLobal and
9548 Initializes. The procedure applies to the original expression
9549 in an aspect specification, prior to the analysis of the
9550 corresponding pragma, in order to provide semantic information
9551 for ASIS navigation purposes.
9552 (Analyze_Global_In_Decl_List, Analyze_Initializes_In_Decl_Part):
9553 Call new subprogram.
9554
64e86d00
AC
95552014-02-25 Yannick Moy <moy@adacore.com>
9556
9557 * sem_prag.adb: Remove obsolete reference to SPARK RM in error message.
9558
95592014-02-25 Doug Rupp <rupp@adacore.com>
9560
9561 * init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM.
9562 (__gnat_adjust_context_for_raise): Bump the PC by 2.
9563
95642014-02-25 Ed Schonberg <schonberg@adacore.com>
9565
9566 * par-ch3.adb (P_Basic_Declarative_Items): In the case of a
9567 misplaced IS, add a statement sequence to improper body only if
9568 one has not been parsed already.
9569
95702014-02-25 Ed Schonberg <schonberg@adacore.com>
9571
9572 * sem_attr.adb (Analyze_Attribute, case 'Update): Check for
9573 mismatch when multidimensional array is updated with a single
9574 index.
9575
3684d1fc
YM
95762014-02-25 Yannick Moy <moy@adacore.com>
9577
9578 * sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads,
9579 sem_ch6.adb: Mark most references to SPARK RM in error messages
9580 for removal.
9581
b2afe274
AC
95822014-02-24 Ed Schonberg <schonberg@adacore.com>
9583
9584 * par-ch3.adb (P_Basic_Declarative_Items): If an improper body
9585 appears in a list of basic declarations, complete the tree with
9586 an empty statement list, to prevent cascaded errors and crashes
9587 if semantic analysis is attempted.
9588
b5eccd0c
AC
95892014-02-24 Thomas Quinot <quinot@adacore.com>
9590
9591 * g-sercom-mingw.adb (Open): Fix incorrect test for error return
9592 value.
9593 * erroutc.adb: Minor reformatting.
9594
95952014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9596
9597 * sem_prag.adb (Check_Clause_Syntax): Account
9598 for a solitary input item in a dependency list.
9599
96002014-02-24 Yannick Moy <moy@adacore.com>
9601
9602 * gnat1drv.adb (Adjust_Global_Switches): Do not
9603 use validity checks at all in GNATprove_Mode.
9604
f34b5d88
RD
96052014-02-24 Robert Dewar <dewar@adacore.com>
9606
9607 * g-sercom-mingw.adb, g-sercom-linux.adb, sem_prag.adb, freeze.adb,
9608 atree.adb, atree.ads: Minor reformatting.
9609
2dade097
HK
96102014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9611
9612 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce
9613 global and dependence refinement when SPARK_Mode is off.
9614 * sem_ch7.adb (Analyze_Package_Body_Contract): Do not enforce
9615 state refinement when SPARK_Mode is off.
9616 * sem_ch13.adb (Analyze_Aspect_Specifications): Add local
9617 variable Decl. Insert the generated pragma for Refined_State
9618 after a potential pragma SPARK_Mode.
9619 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add local
9620 constant Deps. Remove local variable Expr. Check the syntax
9621 of pragma Depends when SPARK_Mode is off. Factor out the
9622 processing for extra parenthesis around individual clauses.
9623 (Analyze_Global_In_Decl_List): Items is now a constant. Check
9624 the syntax of pragma Global when SPARK_Mode is off.
9625 (Analyze_Initializes_In_Decl_Part): Check the syntax of pragma
9626 Initializes when SPARK_Mode is off.
9627 (Analyze_Part_Of): Check
9628 the syntax of the encapsulating state when SPARK_Mode is off.
9629 (Analyze_Pragma): Check the syntax of pragma Abstract_State when
9630 SPARK_Mode is off. Move the declaration order check with respect
9631 to pragma Initializes to the end of the processing. Do not verify
9632 the declaration order for pragma Initial_Condition when SPARK_Mode
9633 is off. Do not complain about a useless package refinement when
9634 SPARK_Mode is off.
9635 (Analyze_Refined_Depends_In_Decl_Part): Refs
9636 is now a constant. Check the syntax of pragma Refined_Depends
9637 when SPARK_Mode is off.
9638 (Analyze_Refined_Global_In_Decl_Part):
9639 Check the syntax of pragma Refined_Global when SPARK_Mode is off.
9640 (Analyze_Refined_State_In_Decl_Part): Check the syntax of pragma
9641 Refined_State when SPARK_Mode is off.
9642 (Check_Dependence_List_Syntax): New routine.
9643 (Check_Global_List_Syntax): New routine.
9644 (Check_Initialization_List_Syntax): New routine.
9645 (Check_Item_Syntax): New routine.
9646 (Check_State_Declaration_Syntax): New routine.
9647 (Check_Refinement_List_Syntax): New routine.
9648 (Has_Extra_Parentheses): Moved to the top level of Sem_Prag.
9649
158d55fa
AC
96502014-02-24 Robert Dewar <dewar@adacore.com>
9651
9652 * a-tags.adb, s-os_lib.adb: Minor reformatting.
9653
96542014-02-24 Thomas Quinot <quinot@adacore.com>
9655
9656 * g-sercom-mingw.adb, g-sercom-linux.adb (Raise_Error): Include
9657 strerror message, not just numeric errno value.
9658
96592014-02-24 Doug Rupp <rupp@adacore.com>
9660
9661 * raise-gcc.c (exception_class_eq): Make endian neutral.
9662
96632014-02-24 Ed Schonberg <schonberg@adacore.com>
9664
9665 * atree.ads, atree,adb (Copy_Separate_Tree): Remove Syntax_Only
9666 flag, and reset Etype and Analyzed attributes unconditionally
9667 when copying a tree that may be partly analyzed.
9668 * freeze.adb: Change calls to Copy_Separate_Tree accordingly.
9669 * sem_ch6.adb (Check_Inline_Pragma): If the Inline pragma appears
9670 within a subprogram body and applies to it, remove it from the
9671 body before making a copy of it, to prevent spurious errors when
9672 analyzing the copied body.
9673
f1a3590e
AC
96742014-02-24 Thomas Quinot <quinot@adacore.com>
9675
9676 * s-os_lib.adb (Errno_Message): Do not depend on Integer'Image.
9677 * s-oscons-tmplt.c: On VxWorks, include adaint.h only after
9678 vxWorks.h has been included. Also ensure that file attributes
9679 related definitions are output even in cases where socket support
9680 is not enabled.
9681 * a-tags.adb: Code clean up.
9682 * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote
9683 instead of -I to add the main ada source directory to the header
9684 search path, in order to avoid conflict between our own "types.h"
9685 and VxWork's <types.h>.
9686
96872014-02-24 Robert Dewar <dewar@adacore.com>
9688
9689 * atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter.
9690 * debug.adb: Remove documentation of -gnatd.X, no longer used.
9691 * freeze.adb (Wrap_Imported_Subprogram): Fixed and activated.
9692
96932014-02-24 Bob Duff <duff@adacore.com>
9694
9695 * gnat_ugn.texi: Improve documentation of gnatpp.
9696
47752af2
TQ
96972014-02-24 Thomas Quinot <quinot@adacore.com>
9698
9699 * g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads,
9700 g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb,
9701 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
9702 g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not
9703 a chars_ptr, because on Windows this is a renaming of
9704 Socket_Error_Message.
9705
1b31321b
AC
97062014-02-24 Robert Dewar <dewar@adacore.com>
9707
9708 * a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb,
9709 s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb,
9710 a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code
9711 reorganization.
9712
97132014-02-24 Thomas Quinot <quinot@adacore.com>
9714
9715 * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure
9716 that the source directory containing s-oscons-tmplt.c is on the
9717 include path, so that all internal header files are available.
9718
28108618
ES
97192014-02-24 Ed Schonberg <schonberg@adacore.com>
9720
9721 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the
9722 domain of iteration is an attribute reference 'Old, this is an
9723 Ada 2012 iterator and the loop must be rewritten as such.
9724
3e5b1f32
TQ
97252014-02-24 Thomas Quinot <quinot@adacore.com>
9726
9727 * s-fileio.adb (Errno_Message): Remove, use shared version from
9728 s-os_lib instead.
9729 * s-crtrun.ads, Makefile.rtl: Remove now unused unit.
9730 * g-stseme (Socket_Error_Message): Reimplement in terms of new
9731 s-os_lib function.
9732 * g-socthi.ads, g-socthi.adb: Change profile of
9733 Socket_Error_Message to return String to allow the above.
9734 * g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads,
9735 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
9736 * g-socthi-vxworks.ads: Update to account for the above profile
9737 change.
9738 * a-tags.adb: Use strlen builtin binding provided by s-crtl.
9739 * s-crtl.ads (strncpy): New procedure.
9740 * s-os_lib.adb (Copy_Attributes): Import just once (strncpy):
9741 Use import from s-crtl.
9742 * a-envvar.adb, osint.adb: Use imports of C runtime functions
9743 from s-crtl instead of re-importing locally.
9744
c6d2191a
AC
97452014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9746
9747 * sem_prag.adb (Analyze_Global_Item): Emit the
9748 variable related checks concerning volatile objects only when
9749 SPARK_Mode is on.
9750
97512014-02-24 Robert Dewar <dewar@adacore.com>
9752
9753 * sem_ch5.adb (Analyze_Iterator_Specification): use
9754 Error_Msg_Ada_2012_Feature.
9755
97562014-02-24 Jose Ruiz <ruiz@adacore.com>
9757
9758 * s-rident.ads (Profile_Info): For Ravenscar, the restrictions
9759 No_Local_Timing_Events and No_Specific_Termination_Handlers
9760 must be set, according to the Ravenscar profile definition
9761 in D.13(6/3).
9762
97632014-02-24 Ed Schonberg <schonberg@adacore.com>
9764
9765 * sem_ch6.adb (Analyze_Expression_Function): If this is a
9766 completion, freeze return type and its designated type if needed.
9767
97682014-02-24 Thomas Quinot <quinot@adacore.com>
9769
9770 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
9771 'Address): When moving initialization statements to a freeze
9772 entity, keep them under a single node (i.e. do not unwrap
9773 expressions with actions), and set the Initialization_Statements
9774 attribute again so that processing of a later pragma Import can
9775 still remove them.
9776
97772014-02-24 Claire Dross <dross@adacore.com>
9778
9779 * a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads,
9780 a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads,
9781 a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename
9782 Left/Right to First_To_Previous/Current_To_Last.
9783
97842014-02-24 Thomas Quinot <quinot@adacore.com>
9785
9786 * adaint.h (struct file_attributes): New component "error"
9787 (__gnat_error_attributes): Accessor for the above.
9788 * adaint.c (__gnat_error_attributes): New subprogram
9789 (__gnat_stat): Fix returned value (expect errno value)
9790 (__gnat_stat_to_attr): Add management of error component (set to
9791 stat errno value, except for missing files where it is set to 0,
9792 and exists is set to 0).
9793 * osint.ads (File_Attributes_Size): Update per change above,
9794 also clarify documentation.
9795 * s-filatt.ads: New file, binding to file attributes related
9796 functions.
9797 * Makefile.rtl (s-filatt): New runtime unit.
9798 * s-crtl.ads (strlen): Expose binding to GCC builtin (falls back
9799 to library function if not available on target).
9800 * s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram.
9801 * s-oscons-tmplt.c (SIZEOF_struct_file_attributes,
9802 SIZEOF_struct_dirent_alloc): New constants.
9803 * Make-generated.in (s-oscons.ads): Now requires adaint.h.
9804 * a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes.
9805 Perform appropriate error checking if stat fails (do not just
9806 ignore existing files if stat fails)
9807 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
9808 dependencies.
9809
ec77b144
HK
98102014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9811
9812 * sem_prag.adb (Analyze_Global_Item): Move the check concerning
9813 the use of volatile objects as global items in a function to
9814 the variable related checks section.
9815 * sem_util.adb (Async_Readers_Enabled): Directly call
9816 Has_Enabled_Property.
9817 (Async_Writers_Enabled): Directly call Has_Enabled_Property.
9818 (Effective_Reads_Enabled): Directly call Has_Enabled_Property.
9819 (Effective_Writes_Enabled): Directly call Has_Enabled_Property.
9820 (Has_Enabled_Property): Rename formal parameter State_Id to Item_Id.
9821 Update the comment on usage. State_Has_Enabled_Property how handles
9822 the original logic of the routine. Add processing for variables.
9823 (State_Has_Enabled_Property): New routine.
9824 (Variable_Has_Enabled_Property): New routine.
9825
32bba3c9
AC
98262014-02-24 Robert Dewar <dewar@adacore.com>
9827
9828 * sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb:
9829 Minor reformatting.
9830 * atree.ads, atree.adb (Node35): New function.
9831 (Set_Node35): New procedure.
9832 * debug.adb: Define new debug flag -gnatd.X.
9833 * einfo.ads, einfo.adb (Import_Pragma): New field.
9834 * freeze.adb (Wrap_Imported_Procedure): New procedure (not
9835 really active yet, has to be activated with -gnatd.X.
9836 * sem_prag.adb (Set_Imported): Set new Import_Pragma
9837 field (Set_Imported): Don't set Is_Public (see
9838 Freeze.Wrap_Imported_Subprogram)
9839 * par-ch3.adb (P_Component_List): Handle unexpected null component.
9840
98412014-02-24 Yannick Moy <moy@adacore.com>
9842
9843 * sem_ch3.adb: Correct reference to SPARK RM in error messages.
9844 * gnat_rm.texi: Correct documentation of attribute Update.
9845
98462014-02-24 Ed Schonberg <schonberg@adacore.com>
9847
9848 * sem_ch5.adb (Analyze_Iterator_Specification): Reject container
9849 iterator in older versions of Ada.
9850
97027f64
GD
98512014-02-24 Gary Dismukes <dismukes@adacore.com>
9852
9853 * sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb,
9854 par-ch12.adb: Change spelling 'parametrization' to 'parameterization'.
9855
5f50020a
ES
98562014-02-24 Ed Schonberg <schonberg@adacore.com>
9857
9858 * sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
9859 indexed_components that are instances of Ada 2012 container
9860 indexing operations. Analysis and resolution of such nodes
9861 is performed on the attribute, and the original source is
9862 preserved for ASIS operations. If expansion is enabled, the
9863 indexed component is replaced by the value of this attribute,
9864 which is in a call to an Indexing aspect, in most case wrapped
9865 in a dereference operation.
9866 * sem_ch4.adb (Analyze_Indexed_Component): Create
9867 Generalized_Indexing attribute when appropriate.
9868 (Analyze_Call): If prefix is not overloadable and has an indexing
9869 aspect, transform into an indexed component so it can be analyzed
9870 as a potential container indexing.
9871 (Analyze_Expression): If node is an indexed component with a
9872 Generalized_ Indexing, do not re-analyze.
9873 * sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
9874 of an indexed_component that has been transformed into a container
9875 indexing operation.
9876 (Resolve_Indexed_Component): Call the above when required.
9877 (Resolve): Do not insert an explicit dereference operation on
9878 an indexed_component whose type has an implicit dereference:
9879 the operation is inserted when resolving the related
9880 Generalized_Indexing.
9881
ec4e8e9a
AC
98822014-02-24 Olivier Ramonat <ramonat@adacore.com>
9883
9884 * gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development
9885 Environment.
9886
98872014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9888
9889 * sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in
9890 error messages.
9891 (Inconsistent_Mode_Error): Remove leading spaces in error messages.
9892 Merge the expected and available mode errors.
9893 (Report_Unused_Constituents): Remove leading spaces in error messages.
9894 (Report_Unused_States): Remove leading spaces in error messages.
9895
e19137bc
AC
98962014-02-24 Thomas Quinot <quinot@adacore.com>
9897
9898 * par_sco.adb (Traverse_One): Refine categorization of statement
9899 SCOs.
9900
99012014-02-24 Robert Dewar <dewar@adacore.com>
9902
9903 * aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012,
9904 Pure_05, Pure_12 and Preelaborate_05.
9905 * gnat_rm.texi: Update accordingly.
9906 * sem_prag.adb: Document one argument form of Ada_05/Ada_2005
9907 pragmas Document one argument form of Ada_12/Ada_2012 pragmas
9908 Recognize one argument form of these pragmas only in GNAT mode
9909 (-gnatg).
9910
1037b0f4
AC
99112014-02-24 Ed Schonberg <schonberg@adacore.com>
9912
9913 * s-dimmks.ads: Replace symbol for temperature, previously the
9914 Greek letter Theta, by the ASCII @ sign.
9915 * s-diflio.ads: ditto.
9916
99172014-02-24 Robert Dewar <dewar@adacore.com>
9918
9919 * exp_ch4.adb: Minor code reorganization (use OR for boolean
9920 variables).
9921 * sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting.
9922
99232014-02-24 Ben Brosgol <brosgol@adacore.com>
9924
9925 * gnat_ugn.texi, projects.texi: Added the necessary conditionalization
9926 so that references to gnatmem and ASIS tools do not appear in the FSF
9927 edition of the GNAT User's Guide.
9928
ebb6b0bd
AC
99292014-02-24 Yannick Moy <moy@adacore.com>
9930
9931 * freeze.adb (Freeze_Entity): Do not issue warning
9932 for pre/post being ignored on imported subprogram in GNATprove
9933 mode.
9934
99352014-02-24 Robert Dewar <dewar@adacore.com>
9936
9937 * exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
9938 stand.ads, sem_eval.adb: Minor reformatting.
9939
99402014-02-24 Yannick Moy <moy@adacore.com>
9941
9942 * sem_prag.adb: Minor rewording in error message.
9943
99442014-02-24 Johannes Kanig <kanig@adacore.com>
9945
9946 * exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
9947 GNATprove_mode, gnat2why doesn't need nor use these types.
9948
99492014-02-24 Gary Dismukes <dismukes@adacore.com>
9950
9951 * exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
9952 target, in the case of signed integer exponentiation that uses a
9953 run-time routine, always select the Exp_* versions, since overflow
9954 checking is automatically done by AAMP arithmetic instructions.
9955
99562014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9957
9958 * sem_ch13.adb (Analyze_Aspect_Specifications):
9959 When the related context is a package instace, insert pragma
9960 Abstract_State after all internally-generated renamings related
9961 to the instance "header".
9962
99632014-02-24 Ed Schonberg <schonberg@adacore.com>
9964
9965 * sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
9966 subprograms.
9967 * sem_disp.adb (Check_Dispatching_Context): A non-dispatching
9968 call to an abstract subprogram is legal if it appears in a
9969 pre/postcondition of another abstract operation.
9970
c97d7285
AC
99712014-02-24 Sergey Rybin <rybin@adacore.com frybin>
9972
9973 * gnat_ugn.texi: Misc updates.
9974
99752014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
9976
9977 * exp_prag.adb (Expand_Old): Set the type of the generated temporary.
9978
99792014-02-24 Gary Dismukes <dismukes@adacore.com>
9980
9981 * layout.adb (Layout_Variant_Record): Instantiate
9982 Generic_Check_Choices and call Check_Choices before calling
9983 Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
9984 set to prevent generating incorrect discriminant-checking
9985 functions for 'others' variants (functions that unconditionally
9986 return True rather than accounting for the values covered by the
9987 'others' choice).
9988 * sem_eval.ads (Subtypes_Statically_Compatible): Add formal
9989 Formal_Derived_Matching.
9990 (Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
9991 * sem_eval.adb (Subtypes_Statically_Compatible): Pass new
9992 Formal_Derived_Matching formal to Subtypes_Statically_Match.
9993 (Subtypes_Statically_Match): Suppress the Object_Size matching
9994 test in the case where Formal_Derived_Matching is True.
9995 * sem_ch12.adb (Validate_Derived_Type_Instance): Pass
9996 True for Formal_Derived_Matching_Formal on the call to
9997 Subtypes_Statically_Compatible.
9998
9fbb94f2
EB
99992014-02-23 Eric Botcazou <ebotcazou@adacore.com>
10000
10001 * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Robustify.
10002
086de490
EB
100032014-02-23 Eric Botcazou <ebotcazou@adacore.com>
10004
10005 * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting.
10006 Look through a conversion between original and packable version to get
10007 the base object.
10008 (build_component_ref): Rework comment and fix formatting.
10009
350b83cc
AC
100102014-02-20 Sergey Rybin <rybin@adacore.com frybin>
10011
10012 * gnat_ugn.texi, vms_data.ads (gnatelim): Add description of
10013 project-specific options.
10014
100152014-02-20 Ed Schonberg <schonberg@adacore.com>
10016
10017 * a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error,
10018 not Constraint_Error.
10019 * a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto.
10020 * sem_ch5.adb: Code clean up.
10021
8880426d
AC
100222014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
10023
10024 * sem_prag.adb (Usage_Error): Remove local
10025 constant Typ. Remove the specialized diagnostics for unconstrained
10026 or tagged items as those are not part of the explicit input set
10027 of the related subprogram and should not be flagged.
10028
100292014-02-20 Ed Schonberg <schonberg@adacore.com>
10030
10031 * sem_attr.adb: Add guard to preserve all errors.
10032
100332014-02-20 Vincent Celier <celier@adacore.com>
10034
10035 * switch-m.adb (Normalize_Compiler_Switches): Take into account
10036 switches that are recorded in ALI files: -gnateA, -gnateE,
10037 -gnateF, -gnateinn, -gnateu, -gnateV and -gnateY.
10038
100392014-02-20 Ed Schonberg <schonberg@adacore.com>
10040
10041 * sem_ch5.adb (Analyze_Iterator_Specification): Check legality
10042 of an element iterator form over a formal container with an
10043 Iterable aspect.
10044 * exp_ch5.adb (Build_Formal_Container_Iteration): Utility
10045 to create declaration and loop statements for both forms of
10046 container iterators.
10047 (Expand_Formal_Container_Element_Iterator): New procedure
10048 to handle loops of the form "for E of C" when C is a formal
10049 container.
10050 (Expand_Formal_Container_Iterator): Code cleanup.
10051
46de64ca
AC
100522014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
10053
10054 * sem_prag.adb (Add_Item_To_Name_Buffer): New routine.
10055 (Analyze_Contract_Case): Remove the use of
10056 "may". Replace "aspect Contract_Cases" to avoid categorization
10057 of aspect vs pragma.
10058 (Analyze_External_Property_In_Decl_Part): Remove the use of "formal".
10059 (Analyze_Global_Item): Remove
10060 the use of "formal", specify the subprogram. Split the
10061 error message about a state with visible refinement into
10062 two. Remove the use of "global" from "volatile global item".
10063 (Analyze_Initialization_Item): Ensure that the SPARK RM reference
10064 is on one line.
10065 (Analyze_Input_Output): Update the call to
10066 Check_Mode. Specify the duplicated item. Reword the error
10067 message concerning an input of a null output list. Use "\"
10068 for error message continuation.
10069 (Analyze_Part_Of): Remove
10070 the use of "may". Use "\" for error message continuation.
10071 (Analyze_Refined_Depends_In_Decl_Part): Update the error
10072 message concerning a useless refinement to match the format
10073 of Refined_Global.
10074 (Analyze_Refined_Global_In_Decl_Part): Reword the error message
10075 concerning a useless refinement.
10076 (Analyze_Refinement_Clause): Use "\" for error message continuation.
10077 (Check_Constituent_Usage): Use "\" for error message continuation.
10078 (Check_Dependency_Clause): Use "\" for error message continuation.
10079 (Check_Matching_Constituent): Use "\" for error message continuation.
10080 (Check_Missing_Part_Of): Use "\" for error message continuation.
10081 (Check_Mode): Renamed to
10082 Check_Role. Update the comment on usage. Redo the error reporting
10083 to use Role_Error.
10084 (Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error
10085 message continuation.
10086 (Find_Mode): Renamed to Find_Role. Update the parameter profile along
10087 with comment on usage. Update all occurrences of Is_Input and Is_Output.
10088 (Inconsistent_Mode_Error): Use "\" for error message continuation.
10089 (Input_Match): Use "\" for error message continuation.
10090 (Role_Error): New routine.
10091 (Set_Convention_From_Pragma): Use "\" for error message continuation.
10092 (Usage_Error): Add local variable Error_Msg. Build specialized error
10093 message showcasing the offending item kind. Redo the diagnostics for
10094 unconstrained types.
10095
100962014-02-20 Ed Schonberg <schonberg@adacore.com>
10097
10098 * exp_util.adb (Is_Iterated_Container): Use high-level primitives
10099 to determine whether a type is a container type, rather than
10100 examining only its type declaration, so that subtypes and derived
10101 types are handled properly.
10102
101032014-02-20 Sergey Rybin <rybin@adacore.com frybin>
10104
10105 * gnat_ugn.texi: gnatmetric: add description of project-specific
10106 options.
10107
101082014-02-20 Ed Schonberg <schonberg@adacore.com>
10109
10110 * sem_attr.adb (Analyze_Attribute, case 'Update): Verify that
10111 all choices in an association for a record type have the same
10112 type, as is done for record aggregates.
10113
3e586e10
AC
101142014-02-20 Robert Dewar <dewar@adacore.com>
10115
10116 * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma
10117 Unmodified rather than Warnings (Off). Make comments
10118 uniform in the four affected units.
10119
101202014-02-20 Robert Dewar <dewar@adacore.com>
10121
10122 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
10123 Object_Size): For non-scalar types allow any value that is a
10124 multiple of 8.
10125 * gnat_rm.texi: Document Object_Size for composites more clearly.
10126
101272014-02-20 Yannick Moy <moy@adacore.com>
10128
10129 * sem_util.ads, sem_util.adb (Default_Initialization): Remove function.
10130
101312014-02-20 Ed Schonberg <schonberg@adacore.com>
10132
10133 * stand.ads: Raise_Type: new predefined entity, used as the type
10134 of a Raise_Expression prior to resolution.
10135 * cstand.adb: Build entity for Raise_Type.
10136 * sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the
10137 initial type of the node.
10138 * sem_type.adb (Covers): Raise_Type is compatible with all
10139 other types.
10140 * sem_res.adb (Resolve): Remove special handling of Any_Type on
10141 Raise_Expression nodes.
10142 (Resolve_Raise_Expression): Signal ambiguity if the type of the
10143 context is still Raise_Type.
10144
7f568bfa
AC
101452014-02-20 Robert Dewar <dewar@adacore.com>
10146
10147 * sem_ch12.adb (Validate_Access_Type_Instance): Add message if
10148 mismatching predicates.
10149 * sem_ch6.adb (Check_Conformance): Give better messages on
10150 predicate mismatch.
10151 * sem_eval.adb (Predicates_Match): Move to spec.
10152 * sem_eval.ads (Predicates_Match): Moved here from body.
10153
101542014-02-20 Ed Schonberg <schonberg@adacore.com>
10155
10156 * a-cbmutr.adb: Use default value in Insert_Child.
10157
308aab0b
AC
101582014-02-20 Vincent Celier <celier@adacore.com>
10159
10160 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call
10161 Stringt.Initialize in all project aware tools.
10162
101632014-02-20 Doug Rupp <rupp@adacore.com>
10164
10165 * gnat_ugn.texi: Document gnatbind -X option.
10166 * vms_data.ads: Minor warnings documentation reformatting.
10167
101682014-02-20 Ed Schonberg <schonberg@adacore.com>
10169
10170 * exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant
10171 procedure for a base type.
10172
101732014-02-20 Robert Dewar <dewar@adacore.com>
10174
10175 * sem_ch4.adb (Analyze_Case_Expression): Get type from first
10176 expression with type info.
10177 * sem_ch13.adb: Minor reformatting.
10178 * sem_eval.adb (Subtypes_Statically_Match): Make sure we return
10179 False if predicates do not match on the two types.
10180
101812014-02-20 Arnaud Charlet <charlet@adacore.com>
10182
10183 * sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]):
10184 In Relaxed_RM_Semantics mode, allow any static integer value,
10185 for compatibility with other compilers.
10186
0f361206
AC
101872014-02-20 Vincent Celier <celier@adacore.com>
10188
10189 * errutil.adb (Initialize): Properly initialize entry in table
10190 Warnings when warnings are suppressed.
10191
101922014-02-20 Robert Dewar <dewar@adacore.com>
10193
10194 * s-os_lib.ads: Add warning about non-portability of Rename_File.
10195 * sem_util.ads, sem_util.adb (Is_Junk_Name): New function.
10196 * sem_warn.adb: Use Is_Junk_Name to suppress some warnings.
10197 * gnat_ugn.texi: Document no warnings on junk variable names.
10198 * layout.adb: Minor code reorganization (use Ekind_In).
10199 * stringt.adb: Move initialization of Null_String_Id to Initialize
10200 routine.
10201
102022014-02-20 Ed Schonberg <schonberg@adacore.com>
10203
10204 * sem_ch13.adb: Initialize optional Element_Id.
10205
c0cdbd39
AC
102062014-02-20 Robert Dewar <dewar@adacore.com>
10207
10208 * s-os_lib.ads (Rename_File): Minor commment addition.
10209
102102014-02-20 Thomas Quinot <quinot@adacore.com>
10211
10212 * einfo.ads: Minor reformatting.
10213
102142014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
10215
10216 * aspects.adb (Exchange_Aspects): New routine.
10217 * aspects.ads (Exchange_Aspects): New routine.
10218 * atree.adb (Rewrite): Do not check whether the save node has
10219 aspects as it never will, instead check the node about to be clobbered.
10220 * einfo.adb (Write_Field25_Name): Abstract_States can appear in
10221 entities of generic packages.
10222 * sem_ch6.adb (Analyze_Expression_Function): Fix the parent
10223 pointer of an aspect specification list after rewriting takes place.
10224 * sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect
10225 specifications of the generic template and the copy used for analysis.
10226 * sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap
10227 the aspect specifications of the generic template and the
10228 copy used for analysis.
10229 (Analyze_Package_Instantiation): Propagate the aspect specifications
10230 from the generic template to the instantiation.
10231 (Build_Instance_Compilation_Unit_Nodes): Propagate the aspect
10232 specifications from the generic template to the instantiation.
10233 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects
10234 Abstract_State, Initializes and Initial_Condition when they
10235 apply to a package instantiation.
10236
102372014-02-20 Robert Dewar <dewar@adacore.com>
10238
10239 * stringt.adb: Add call to Initialize in package initialization.
10240
fe4552f4
AC
102412014-02-20 Robert Dewar <dewar@adacore.com>
10242
10243 * a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb,
10244 a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb,
10245 a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
10246 a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor
10247 reformatting.
10248
102492014-02-20 Bob Duff <duff@adacore.com>
10250
10251 * s-os_lib.ads: Minor: Remove incorrect comment.
10252
102532014-02-20 Robert Dewar <dewar@adacore.com>
10254
10255 * sem_elab.adb (Check_Elab_Assign): Clearer warning message.
10256
102572014-02-20 Ed Schonberg <schonberg@adacore.com>
10258
10259 * a-cborma.adb (Assign): When creating a node without a specified
10260 element, insert an uninitialized element in the map, because
10261 the instance may provide an element type with a default
10262 initialization, e.g a scalar with a Default_Value aspect.
10263 * a-cbhama.adb (Assign_Key): Remove useless Allocate procedure.
10264 (Insert): In the version without explicit element, provide an
10265 uninitialized element, as above.
10266 * a-cbdlli.adb (Append): In the version without explicit element,
10267 provide an uninitalized element, as above.
10268 (Allocate): Remove unused version.
10269
3730c4a0
AC
102702014-02-20 Robert Dewar <dewar@adacore.com>
10271
10272 * sem_elab.adb: Minor code reorganization (use Nkind_In).
10273 * stringt.adb: Remove temporary pragma Warnings (Off).
10274 * stringt.ads: Add pragma Elaborate_Body to ensure initialization
10275 of Null_String_Id.
10276
102772014-02-20 Matthew Heaney <heaney@adacore.com>
10278
10279 * a-chtgbk.adb (Replace): Use correct offset when calculating bucket
10280 index.
10281
0c7e0c32
AC
102822014-02-20 Ed Schonberg <schonberg@adacore.com>
10283
10284 * sem_ch5.adb (Analyze_Iterator_Specification): Initialize
10285 properly the cursor type for subsequent volatile testing in SPARK
10286 mode, when domain is a formal container with an Iterabe aspect.
10287
102882014-02-20 Robert Dewar <dewar@adacore.com>
10289
10290 * errout.adb (Set_Warnings_Mode_Off): Add Reason argument.
10291 (Set_Specific_Warning_Off): Add Reason argument.
10292 * errout.ads (Set_Warnings_Mode_Off): Add Reason argument.
10293 (Set_Specific_Warning_Off): Add Reason argument.
10294 * erroutc.adb (Warnings_Entry): Add Reason field
10295 (Specific_Warning_Entry): Add Reason field.
10296 (Warnings_Suppressed): return String_Id for Reason.
10297 (Warning_Specifically_Suppressed): return String_Id for Reason.
10298 * erroutc.ads (Warnings_Entry): Add Reason field.
10299 (Specific_Warning_Entry): Add Reason field.
10300 (Set_Specific_Warning_Off): Add Reason argument.
10301 (Set_Warnings_Mode_Off): Add Reason argument.
10302 (Warnings_Suppressed): return String_Id for Reason.
10303 (Warning_Specifically_Suppressed): return String_Id for Reason.
10304 * errutil.adb (Warnings_Suppressed): returns String_Id for Reason
10305 (Warning_Specifically_Suppressed): returns String_Id for Reason
10306 * gnat_rm.texi: Document that Warning parameter is string literal
10307 or a concatenation of string literals.
10308 * par-prag.adb: New handling for Reason argument.
10309 * sem_prag.adb (Analyze_Pragma, case Warning): New handling
10310 for Reason argument.
10311 * sem_util.ads, sem_util.adb (Get_Reason_String): New procedure.
10312 * sem_warn.ads (Warnings_Off_Entry): Add reason field.
10313 * stringt.adb: Set Null_String_Id.
10314 * stringt.ads (Null_String_Id): New constant.
10315
e4494292
RD
103162014-02-20 Robert Dewar <dewar@adacore.com>
10317
10318 * einfo.ads: Minor comment addition: Etype of package is
10319 Standard_Void_Type.
10320 * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb,
10321 exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb,
10322 exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb,
10323 exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb,
10324 freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb,
10325 sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10326 sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb,
10327 sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To.
10328 Replace all calls with calls to New_Occurrence_Of.
10329
103302014-02-20 Robert Dewar <dewar@adacore.com>
10331
10332 * par-util.adb (Ignore, case of right paren): Make this a
10333 serious error.
10334
d7cb47b4
AC
103352014-02-19 Robert Dewar <dewar@adacore.com>
10336
10337 * sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting.
10338 * debug.adb: Remove -gnatd.X switch, no longer used.
10339 * styleg.adb (Check_Then): Remove check of -gnatd.X, check is
10340 now always made.
10341
103422014-02-19 Bob Duff <duff@adacore.com>
10343
10344 * g-socket.ads: Minor: Correct some comments.
10345
53f697ee
AC
103462014-02-19 Ed Schonberg <schonberg@adacore.com>
10347
10348 * sem_ch5.adb: Inhibit iterator rewriting in ASIS mode.
10349
103502014-02-19 Arnaud Charlet <charlet@adacore.com>
10351
10352 * sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate
10353 an error on out of range priorities if Relaxed_RM_Semantics.
10354 * sem_prag.adb (Analyze_Pragma): Ditto.
10355
103562014-02-19 Bob Duff <duff@adacore.com>
10357
10358 * sem_attr.adb (Resolve_Attribute): Detect the case of F'Access
10359 where F denotes the renaming of an enumeration literal, and
10360 issue a specialized error message.
10361
47fb6ca8
AC
103622014-02-19 Matthew Heaney <heaney@adacore.com>
10363
10364 * a-chtgop.ads (Checked_Index): New operation.
10365 (Next): Changed mode of hash table.
10366 * a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering
10367 (Generic_Read, Reserve_Capacity): Ditto.
10368 (Generic_Equal): Detect tampering.
10369 (Next): Changed mode of hash table, detect tampering.
10370 * a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New
10371 operation.
10372 (Find): Changed mode of hash table.
10373 * a-chtgke.adb (Checked_Equivalent_Keys): New operation
10374 (Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect
10375 tampering.
10376 (Find): Changed mode of hash table, check for tampering.
10377 (Generic_Replace_Element): Check for tampering.
10378 * a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation.
10379 * a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New
10380 operation (Delete_Key_Sans_Free, Generic_Conditional_Insert):
10381 Detect tampering.
10382 (Find, Generic_Replace_Element): Check for tampering.
10383 * a-chtgbo.ads (Checked_Index): New operation.
10384 * a-chtgbo.adb (Checked_Index): New operation
10385 (Delete_Node_Sans_Free, Generic_Equal): Detect tampering.
10386 (Generic_Read, Next): Ditto.
10387 * a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash
10388 table (Difference, Intersection): Use variable view of
10389 source, detect tampering (Find, Is_Subset, Overlap): Use
10390 variable view of container (Symmetric_Difference, Union):
10391 Detect tampering (Vet): Use Checked_Index to detect tampering
10392 (Constant_Reference, Element, Find): Use variable view of
10393 container.
10394 (Update_Element_Preserving_Key): Detect tampering.
10395 * a-cbhase.adb (Difference, Find, Is_In): Use variable view
10396 of container.
10397 (Is_Subset): Ditto.
10398 (Equivalent_Sets, Overlap): Use Node's Next component.
10399 (Vet): Use Checked_Index to detect tampering.
10400 (Constant_Reference, Element, Find): Use variable view of container.
10401 (Update_Element_Preserving_Key): Detect tampering.
10402 * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference,
10403 Element, Find): Use variable view of container.
10404 (Reference): Rename hash table component.
10405 (Vet): Use Checked_Index to detect tampering.
10406
104072014-02-19 Arnaud Charlet <charlet@adacore.com>
10408
10409 * adabkend.adb (Scan_Compiler_Arguments): Add missing handling
10410 of -nostdinc.
10411
104122014-02-19 Thomas Quinot <quinot@adacore.com>
10413
10414 * tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard
10415 against calls without Def_Id.
10416
104172014-02-19 Claire Dross <dross@adacore.com>
10418
10419 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
10420 a-cofove.ads: Add global annotations to subprograms.
10421
104222014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10423
10424 * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove
10425 constants Errors, Pack_Id and Pack_Init. Remove variable Vars.
10426 Initial_Condition no longer requires the presence of pragma
10427 Initialized. Do not try to diagnose whether all variables mentioned in
10428 pragma Initializes also appear in Initial_Condition.
10429 (Collect_Variables): Removed.
10430 (Match_Variable): Removed.
10431 (Match_Variables): Removed.
10432 (Report_Unused_Variables): Removed.
10433
104342014-02-19 Thomas Quinot <quinot@adacore.com>
10435
10436 * gnat_rm.texi (pragma Stream_Convert): Minor rewording.
10437
13f39091
AC
104382014-02-19 Robert Dewar <dewar@adacore.com>
10439
10440 * sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor
10441 reformatting.
10442
104432014-02-19 Vincent Celier <celier@adacore.com>
10444
10445 * prj-part.adb (Parse_Single_Project): Use the fully resolved
10446 project path, with all symbolic links resolved, to check if the
10447 same project is imported with a different unresolved path.
10448 * prj-tree.ads (Project_Name_And_Node): Component Canonical_Path
10449 changed to Resolved_Path to reflect that all symbolic links
10450 are resolved.
10451
110e2969
AC
104522014-02-19 Ed Schonberg <schonberg@adacore.com>
10453
10454 * sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util
10455 from sem_ch13, for use elsewhere.
10456 * sem_ch13.adb (Get_Cursor_Type): Moved to sem_util.
10457 * sem_ch5.adb (Analyze_Iterator_Specification): Set properly the
10458 cursor type on the loop variable when the iteration is over o
10459 formal container.
10460
104612014-02-19 Vincent Celier <celier@adacore.com>
10462
10463 * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration
10464 for an empty Target (Check_Target): Never fail when an empty
10465 target is declared in the configuration project.
10466
104672014-02-19 Ed Schonberg <schonberg@adacore.com>
10468
10469 * sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if
10470 the pragma comes fron a predicate aspect and the context is a
10471 record declaration within the scope that declares the type.
10472
104732014-02-19 Robert Dewar <dewar@adacore.com>
10474
10475 * gnat_rm.texi: Minor clarifications.
10476 * expander.adb, sem_aggr.adb: Add comments.
10477
ffdeb702
AC
104782014-02-19 Ed Schonberg <schonberg@adacore.com>
10479
10480 * sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that
10481 applies to a subprogram body, the name is the current scope,
10482 rather than being declared in the current scope.
10483 (Analyze_Pragma, case No_Return): Handle properly a No_Return
10484 aspect applied to a subprogram body.
10485
104862014-02-19 Ed Schonberg <schonberg@adacore.com>
10487
10488 * sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution
10489 of overloaded subprograms, and fix bug in handling of primitive
10490 operation Element.
10491
104922014-02-19 Pascal Obry <obry@adacore.com>
10493
10494 * s-os_lib.adb: Minor reformatting.
10495
104962014-02-19 Yannick Moy <moy@adacore.com>
10497
10498 * expander.adb (Expand): Do nothing inside generics.
10499 * sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside
10500 generics.
10501
105022014-02-19 Yannick Moy <moy@adacore.com>
10503
10504 * exp_ch2.adb: Remove useless 'with' of unit Uintp.
10505
edbd98c4
AC
105062014-02-19 Robert Dewar <dewar@adacore.com>
10507
10508 * sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting
10509 * a-sequio.adb: Remove useless pragma Extensions_Allowed (no
10510 longer needed).
10511
105122014-02-19 Claire Dross <dross@adacore.com>
10513
10514 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
10515 a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers.
10516
476b301a
AC
105172014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10518
10519 * sem_ch3.adb (Analyze_Declarations): Analyze
10520 a package contract at the end of the private declarations (if
10521 applicable), otherwise analyze it and the end of the visible
10522 declarations.
10523
105242014-02-19 Ed Schonberg <schonberg@adacore.com>
10525
10526 * style.adb (Missing_Overriding): If subprogram is an
10527 instantiation, place warning on the instance node itself,
10528 without mention of the original generic. Do not emit message
10529 if explicit Ada version is older than the introduction of the
10530 overriding indicator.
10531
a6ce7e76
AC
105322014-02-19 Yannick Moy <moy@adacore.com>
10533
10534 * gnat_rm.texi: Doc clarifications.
10535
105362014-02-19 Yannick Moy <moy@adacore.com>
10537
10538 * exp_util.adb (Remove_Side_Effects): Do not remove side-effects
10539 inside a generic.
10540
105412014-02-19 Ed Schonberg <schonberg@adacore.com>
10542
10543 * sem_ch13.adb (Get_Cursor_Type): Obtain cursor type from
10544 specified First primitive, rather than by name.
10545 (Validate_Iterable_Aspect, Resolve_Iterable_Operation): Use it,
10546 and extend error checking for missing primitives and incorrect
10547 signatures.
10548
105492014-02-19 Ed Schonberg <schonberg@adacore.com>
10550
10551 * sem_ch3.adb (Check_Pragma_Implemented): Detect additional
10552 errors when a Synchronization aspect on an overriding protected
10553 operation does not match the given aspect on the overridden
10554 operation of an ancestor interface.
10555
105562014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10557
10558 * sem_prag.adb (Check_Loop_Pragma_Grouping): New routine.
10559 (Check_Loop_Pragma_Placement): Update
10560 comment on usage. Remove local variables Orig_Stmt and
10561 Within_Same_Sequence. Check that the current Loop_Invariant or
10562 Loop_Variant pragma is grouped together with other such pragmas.
10563 (Is_Loop_Pragma): New routine.
10564 (Prev_In_Loop): Removed.
10565
0b7f0f0e
AC
105662014-02-19 Robert Dewar <dewar@adacore.com>
10567
10568 * par-ch6.adb (P_Return): For extended return, end column lines
10569 up with RETURN.
10570 * par.adb: Minor documentation clarification.
10571
105722014-02-19 Yannick Moy <moy@adacore.com>
10573
10574 * sem_prag.adb (Check_Loop_Pragma_Placement): Add check
10575 that Loop_Invariant and Loop_Variant appear consecutively.
10576 * gnat_rm.texi Update documentation of Loop_Invariant and
10577 Loop_Variant pragmas.
10578
105792014-02-19 Robert Dewar <dewar@adacore.com>
10580
10581 * debug.adb: Document -gnatd.X.
10582 * par-ch5.adb (P_If_Statement): Always check THEN, even if not
10583 first token
10584 (Check_Then_Column): Ditto.
10585 * styleg.adb (Check_Then): Allow THEN on line after IF.
10586 (Check_Then): Check THEN placement under control of -gnatd.X
10587 * styleg.ads (Check_Then): Now called even if THEN is not first
10588 token on line.
10589 * stylesw.ads (Style_Check_If_Then_Layout): Document new
10590 relaxed rules.
10591 * gnat_ugn.texi: For -gnatyi, THEN can now be on line after IF.
10592
105932014-02-19 Robert Dewar <dewar@adacore.com>
10594
10595 * a-cfhama.adb, a-cfhase.adb, a-cforse.adb, a-cofove.adb, a-ngcefu.adb,
10596 a-teioed.adb, a-wtedit.adb, a-ztedit.adb, exp_ch5.adb, inline.adb,
10597 prj-pp.adb, prj-tree.adb, sem_ch12.adb, sem_ch8.adb,
10598 vms_conv.adb: Fix bad layout of IF statements
10599
e7cff5af
RD
106002014-02-19 Robert Dewar <dewar@adacore.com>
10601
10602 * exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF.
10603
a767d69b
AC
106042014-02-19 Robert Dewar <dewar@adacore.com>
10605
10606 * exp_util.adb: Update comments.
10607
106082014-02-19 Doug Rupp <rupp@adacore.com>
10609
10610 * bindgen.adb (Gen_Adainit) [VMS] New global Float_Format.
10611 * init.c (__gl_float_format): [VMS] New global.
10612 (__gnat_set_features): Call FP_CONTROL to set FPSR for the float
10613 representation in effect.
10614
106152014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10616
10617 * exp_ch6.adb Add with and use clause for Exp_Prag.
10618 (Expand_Contract_Cases): Relocated to Exp_Prag.
10619 * exp_ch6.ads (Expand_Contract_Cases): Relocated to Exp_Prag.
10620 * exp_prag.adb Add with and use clauses for Checks and Validsw.
10621 (Expand_Contract_Cases): Relocated from Exp_Ch6. Update the
10622 structure of the expanded code to showcase the evaluation of
10623 attribute 'Old prefixes. Add local variable Old_Evals. Expand
10624 any attribute 'Old references found within a consequence. Add
10625 circuitry to evaluate the prefixes of attribute 'Old that
10626 belong to a selected consequence.
10627 (Expand_Old_In_Consequence): New routine.
10628 * exp_prag.ads (Expand_Contract_Cases): Relocated from Exp_Ch6.
10629 * sem_attr.adb (Check_Use_In_Contract_Cases): Warn that a
10630 potentially unevaluated prefix is always evaluated.
10631
adb252d8
AC
106322014-02-19 Robert Dewar <dewar@adacore.com>
10633
10634 * exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration
10635 (Expand_Min_Max_Attribute): Use Matching_Standard_Type.
10636 * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special
10637 handling for the case of Modify_Tree_For_C, this approach did
10638 not work.
10639 * exp_util.adb (Matching_Standard_Type): New function
10640 (Side_Effect_Free): New top level functions (from
10641 Remove_Side_Effects).
10642 * exp_util.ads (Side_Effect_Free): New top level functions
10643 (moved from body).
10644 * sinfo.ads: Minor comment updates.
10645
106462014-02-19 Ed Schonberg <schonberg@adacore.com>
10647
10648 * exp_ch6.adb (Expand_Simple_Function_Return): If return
10649 type is unconstrained and uses the secondary stack, mark the
10650 enclosing function accordingly, to ensure that the value is not
10651 prematurely removed.
10652
106532014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10654
10655 * par.adb Alphabetize the routines in Par.Sync.
10656 (Resync_Past_Malformed_Aspect): New routine.
10657 * par-ch13.adb (Get_Aspect_Specifications): Alphabetize local
10658 variables. Code and comment reformatting. Detect missing
10659 parentheses on aspects [Refined_]Global and [Refined_]Depends
10660 with a non-null definition.
10661 * par-sync.adb: Alphabetize all routines in this separate unit.
10662 (Resync_Past_Malformed_Aspect): New routine.
10663
a0367005
RD
106642014-02-19 Robert Dewar <dewar@adacore.com>
10665
10666 * sem_eval.ads, sem_eval.adb (Subtypes_Statically_Match): Return False
10667 if Esize values do not match.
10668
e03f7ccf
AC
106692014-02-19 Yannick Moy <moy@adacore.com>
10670
10671 * sinfo.ads: Minor comment update.
10672
106732014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10674
10675 * atree.ads: Minor reformatting (change Entity_Info to Einfo).
10676
106772014-02-19 Thomas Quinot <quinot@adacore.com>
10678
10679 * exp_ch7.adb (Find_Node_To_Be_Wrapped): An assignment statement
10680 that has the No_Ctrl_Actions flag is a suitable node to be
10681 wrapped if the assigned expression has no finalization actions.
10682 * sem_eval.adb (Eval_Entity_Name): For a compile time known
10683 boolean value, mark the corresponding condition SCO as constant.
10684
106852014-02-19 Robert Dewar <dewar@adacore.com>
10686
10687 * exp_util.adb: Minor reformatting.
10688 * exp_util.ads (Matching_Standard_Type): New function.
10689 * exp_ch7.adb: Minor reformatting.
10690
106912014-02-19 Ed Schonberg <schonberg@adacore.com>
10692
10693 * sem_ch13.adb (Get_Cursor_Type): Use scope of iterable type
10694 to find declaration for Cursor, to handle properly the case of
10695 a discriminated iterable type.
10696
106972014-02-19 Vincent Celier <celier@adacore.com>
10698
10699 * gnatcmd.adb (GNATCmd): Always replace the object dirs of
10700 imported library projects with the library ALI dirs, when setting
10701 the object paths.
10702 * prj-env.ads (Ada_Objects_Path): Correct comments about
10703 argument Including_Libraries.
10704
4877d85f
AC
107052014-02-19 Gary Dismukes <dismukes@adacore.com>
10706
10707 * gnat_rm.texi: Minor spelling fixes.
10708
107092014-02-19 Doug Rupp <rupp@adacore.com>
10710
10711 * init.c: Remove unneeded code.
10712 * fe.h (Float_Format): New macro
10713 * gcc-interface/trans.c (gigi): On VMS, set vms_float_format.
10714
f660fba6
AC
107152014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10716
10717 * sem_prag.adb (Check_Refined_Global_Item):
10718 A state or variable acts as a constituent only it is part of an
10719 encapsulating state and the state has visible refinement.
10720
107212014-02-19 Ed Schonberg <schonberg@adacore.com>
10722
10723 * sem_ch6.adb (Analyze_Subprogram_Contract): Do not warn on a
10724 postcondition for a function when the expression does not mention
10725 'Result but the function has in-out parameters.
10726
107272014-02-19 Robert Dewar <dewar@adacore.com>
10728
10729 * gnat_rm.texi: Add documentation on Value_Size forcing biased
10730 representation.
10731
b4f149c2
AC
107322014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10733
10734 * lib-xref.ads Remove the small table of letter and symbol usage as we
10735 already have one.
10736
107372014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10738
10739 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Emit specific error
10740 messages depending on the offending misplaced aspect specifications.
10741 (Diagnose_Misplaced_Aspect_Specifications): New routine.
10742
107432014-02-19 Ed Schonberg <schonberg@adacore.com>
10744
10745 * sem_ch13.adb (Get_Cursor): Utility to retrieve cursor type
10746 for iterable aspect primitives.
10747 (Resolve_Iterable_Operation): Use expected signature of iterable
10748 aspect to resolve primitive when overloading is present.
10749 (Validate_Iterable_Aspect, Analyze_Aspects_At_Freeze_Point): use it.
10750 (Check_Signature): Removed.
10751
ddd2bec5
AC
107522014-02-19 Yannick Moy <moy@adacore.com>
10753
10754 * sem_ch10.adb (Analyze_Proper_Body): Issue error on missing
10755 subunit in GNATprove_Mode.
10756 * sinfo.ads (GNATprove_Mode): Document error issued in GNATprove_Mode.
10757
107582014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10759
10760 * lib-xref.ads Alphabetize the contents of table
10761 Xref_Entity_Letters. Add an entry in table Xref_Entity_Letters
10762 for E_Abstract_State. List all letters and symbols in use.
10763 * sem_prag.adb (Analyze_Abstract_State): Update all calls
10764 to Create_Abstract_State to reflect the new signature.
10765 (Create_Abstract_State): Change subprogram profile and update
10766 the comment on usage. Use the proper location of the state
10767 declaration when creating a new abstract state entity. Do not
10768 generate an external name, but simply reuse the name coming from
10769 the state declaration.
10770
3a845e07
RD
107712014-02-19 Robert Dewar <dewar@adacore.com>
10772
10773 * exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure
10774 declarations get properly inserted in Modify_Tree_For_C mode.
10775 * sinfo.ads: Minor comment addition.
10776
82d4f390
RD
107772014-02-19 Robert Dewar <dewar@adacore.com>
10778
10779 * par-ch9.adb, exp_ch5.adb, sem_ch5.adb, exp_attr.adb, sem_util.adb,
10780 sem_util.ads, sem_ch13.adb, sem_ch13.ads: Minor reformatting.
10781
dd2bf554
ES
107822014-02-19 Ed Schonberg <schonberg@adacore.com>
10783
10784 * style.adb (Missing_Overriding): Warning does not apply in
10785 language versions prior to Ada 2005.
10786 * snames.ads-tmpl: Add Name_Iterable and Attribute_Iterable.
10787 * sem_attr.adb: Add Attribute_Iterable where needed.
10788 * exp_attr.adb: ditto.
10789 * exp_ch5.adb (Expand_Formal_Container_Loop): New procedure to
10790 handle loops and quantified expressions over types that have an
10791 iterable aspect. Called from Expand_Iterator_Loop.
10792 * sem_ch5.adb (Analyze_Iterator_Specification): Recognize types
10793 with Iterable aspect.
10794 * sem_ch13.adb (Validate_Iterable_Aspect): Verify that the
10795 subprograms specified in the Iterable aspect have the proper
10796 signature involving container and cursor.
10797 (Check_Aspect_At_Freeze_Point): Analyze value of iterable aspect.
10798 * sem_ch13.ads (Validate_Iterable_Aspect): New subprogram.
10799 * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive):
10800 New procedure to retrieve one of the primitives First, Last,
10801 or Has_Element, from the value of the iterable aspect of a
10802 formal container.
10803 (Is_Container_Element): Predicate to recognize expressions
10804 that denote an element of one of the predefined containers,
10805 for possible optimization. This subprogram is not currently
10806 used, pending ARG discussions on the legality of the proposed
10807 optimization. Worth preserving for eventual use.
10808 (Is_Iterator): Recognize formal container types.
10809 * aspects.ads, aspects.adb: Add Aspect_Iterable where needed.
10810
e0f63680
AC
108112014-02-19 Robert Dewar <dewar@adacore.com>
10812
10813 * exp_attr.adb (Expand_Min_Max_Attribute): New procedure
10814 (Expand_N_Attribute_Reference): Use this procedure for Min and Max.
10815 * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object
10816 declarations from list of actions.
10817 * output.ads, output.adb (Delete_Last_Char): New procedure.
10818 * sinfo.ads: Document handling of Mod and expression with actions
10819 in Modify_Tree_For_C mode.
10820
108212014-02-19 Ed Schonberg <schonberg@adacore.com>
10822
10823 * par-ch9.adb (P_Task): Add a null statement to produce a
10824 well-formed task body when due to a previous syntax error the
10825 statement list is empty.
10826
108272014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
10828
10829 * sem_prag.adb (Check_Dependency_Clause): Account
10830 for the case where a state with a non-null refinement matches a
10831 null output list. Comment reformatting.
10832 (Inputs_Match): Copy a solitary input to avoid an assertion failure
10833 when trying to match the same input in multiple clauses.
10834
108352014-02-19 Gary Dismukes <dismukes@adacore.com>
10836
10837 * sem_attr.adb: Minor typo fix.
10838
2c9f8c0a
AC
108392014-02-18 Robert Dewar <dewar@adacore.com>
10840
10841 * cstand.adb (Build_Signed_Integer_Type): Minor change of formal
10842 from Int to Nat (Build_Unsigned_Integer_Type): New procedure
10843 (Create_Standard): Create new unsigned types.
10844 * exp_ch4.adb (Expand_N_Op_Mod): Expand mod in Modify_Tree_For_C
10845 mode (Expand_N_Reference): Removed, problematic and not needed
10846 for now.
10847 * exp_ch4.ads (Expand_N_Reference): Removed, problematic and
10848 not needed for now.
10849 * exp_util.ads, exp_util.adb (Power_Of_Two): New function.
10850 * expander.adb: Remove call to Expand_N_Reference (problematic,
10851 and not needed now).
10852 * sem_aux.ads, sem_aux.adb (Corresponding_Unsigned_Type): New function.
10853 * stand.adb: Read and write unsigned type entities.
10854 * stand.ads: Add new unsigned types.
10855
108562014-02-18 Hristian Kirtchev <kirtchev@adacore.com>
10857
10858 * sem_ch4.adb (Analyze_Call): Do not mark a function call
10859 as being inside an assertion expression as the flag is now removed.
10860 (Check_Ghost_Subprogram_Call): Do not query the
10861 In_Assertion_Expression flag as it is now removed, instead use
10862 a predicate function.
10863 * sem_elab.adb (Check_Internal_Call_Continue): Do not query the
10864 In_Assertion_Expression flag as it is now removed, instead use
10865 a predicate function.
10866 * sem_prag.ads: Add new table Assertion_Expression_Pragma.
10867 * sem_util.adb Add with and use clause for Sem_Prag.
10868 (In_Assertion_Expression_Pragma): New routine.
10869 * sem_util.ads (In_Assertion_Expression_Pragma): New routine.
10870 * sinfo.adb (In_Assertion_Expression): Removed.
10871 (Set_In_Assertion_Expression): Removed.
10872 * sinfo.ads Remove flag In_Assertion_Expression along with its
10873 use in nodes.
10874 (In_Assertion_Expression): Removed along with
10875 pragma Inline. (Set_In_Assertion_Expression): Removed along
10876 with pragma Inline.
10877
108782014-02-18 Sergey Rybin <rybin@adacore.com frybin>
10879
10880 * gnat_ugn.texi: gnatpp section: add note that '-j' cannot be
10881 used together with '-r', '-rf' or '-rnb' options.
10882
108832014-02-18 Hristian Kirtchev <kirtchev@adacore.com>
10884
10885 * sem_attr.adb (Analyze_Attribute): Comment
10886 and code reformatting. Use separate routines to check the
10887 legality of attribute 'Old in certain pragmas. Verify
10888 the use of 'Old, 'Result and locally declared entities
10889 within the prefix of 'Old.
10890 (Check_References_In_Prefix): New routine.
10891 (Check_Use_In_Contract_Cases): New routine.
10892 (Check_Use_In_Test_Case): New routine.
10893
3b821fe9
VC
108942014-02-18 Vincent Celier <celier@adacore.com>
10895
10896 * sem_aux.adb (Is_By_Reference_Type): For each components of
10897 a record type, check also if the component is volatile as it
10898 may have an aspect that makes it volatile. If it is, then the
10899 record type is a by reference type.
10900
365c8496
RD
109012014-02-18 Robert Dewar <dewar@adacore.com>
10902
10903 * exp_attr.adb: Minor reformatting.
10904 * exp_ch4.ads, exp_ch4.adb (Expand_N_Reference): New procedure.
10905 * exp_util.adb (Remove_Side_Effects): Add conditional expressions
10906 as another case where we don't generate N_Reference nodes for
10907 primitive types.
10908 * expander.adb (Expand): Add call to Expand_N_Reference.
10909
aa9b151a
AC
109102014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
10911
10912 * sem_prag.adb (Analyze_Refined_Pragma): Remove
10913 local variable Pack_Spec. Refinement pragmas may now apply to
10914 bodies of both visible and private subprograms.
10915
109162014-02-06 Robert Dewar <dewar@adacore.com>
10917
10918 * exp_attr.adb (Expand_Loop_Entry_Attribute):
10919 Minor change (Attr => N) (Expand_Pred_Succ): New name
10920 Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case
10921 Max): Expand into if expression if Modify_Tree_For_C mode.
10922 (Expand_N_Attribute_Reference, case Min): ditto
10923 * sinfo.ads: Modify_Tree_For_C takes care of expanding Min and
10924 Max attributes.
10925
109262014-02-06 Ed Schonberg <schonberg@adacore.com>
10927
10928 * sem_ch3.adb (Analyze_Object_Declaration): Do not generate
10929 predicate check if this is an internal declaration with
10930 No_Initialization set, as for an expanded aggregate component.
10931
109322014-02-06 Doug Rupp <rupp@adacore.com>
10933
10934 * init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal
10935 conditions with severity of "SUCCESS" or "INFORMATIONAL".
10936
85d6bf87
AC
109372014-02-06 Yannick Moy <moy@adacore.com>
10938
10939 * sem_prag.adb (Analyze_Pragma): Analyze pragma
10940 Debug rewritten node before rewriting it as a null statement in
10941 GNATprove mode.
10942
109432014-02-06 Robert Dewar <dewar@adacore.com>
10944
10945 * sem_attr.adb (Min_Max): New procedure.
10946 (Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New
10947 procedure.
10948
c3b266d6
AC
109492014-02-06 Sergey Rybin <rybin@adacore.com frybin>
10950
10951 * gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for
10952 gnatmetric/gnatpp.
10953
109542014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
10955
10956 * sem_prag.adb (Analyze_Abstract_State): Update
10957 all calls to Create_Abstract_State to pass the proper state
10958 "declaration".
10959 (Create_Abstract_State): Add new formal parameter
10960 State_Decl along with comment on usage. Establish a link between
10961 the abstract state entity and the state declaration.
10962
428684fd
RD
109632014-02-06 Robert Dewar <dewar@adacore.com>
10964
10965 * sem_attr.adb (Analyze_Attribute, case Max): Check for improper
10966 comparison of unordered enumeration type.
10967 (Analyze_Attribute, case Max): Check for improper comparison of
10968 unordered enumeration type.
10969 * sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to
10970 sem_util.adb.
10971 * sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference):
10972 Moved here from Sem_Res.
10973
8c35b40a
AC
109742014-02-06 Robert Dewar <dewar@adacore.com>
10975
10976 * sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor
10977 reformatting.
10978
109792014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
10980
10981 * sem_ch6.adb (Process_Formals): Error message reformatting.
10982
79b49b87
HK
109832014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
10984
10985 * sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
10986 variable Spec. Do not inherit the null indicator from the
10987 subprogram body when generating the spec.
10988
4446a13f
AC
109892014-02-06 Robert Dewar <dewar@adacore.com>
10990
10991 * casing.adb (Determine_Casing): Consider SPARK_Mode to be
10992 mixed case.
10993
109942014-02-06 Ed Schonberg <schonberg@adacore.com>
10995
10996 * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false
10997 when the function has a foreign convention, but not if only the
10998 limited return type has such a convention.
10999
110002014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11001
11002 * sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local
11003 variable Spec. Comment reformatting. Use Copy_Separate_Tree
11004 rather than New_Copy_Tree when building the corresponding
11005 subprogram declaration.
11006
110072014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11008
11009 * sem_prag.adb (Analyze_Global_Item): Remove
11010 the mode-related checks on abstract states with enabled external
11011 properties.
11012 (Property_Error): Removed.
11013
110142014-02-06 Javier Miranda <miranda@adacore.com>
11015
11016 * lib-xref.adb (Generate_Reference): When
11017 generating the reference to the first private entity take care
11018 of handling swapped entities.
11019
e09a5598
AC
110202014-02-06 Sergey Rybin <rybin@adacore.com frybin>
11021
11022 * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
11023 gnatmetric.
11024
110252014-02-06 Robert Dewar <dewar@adacore.com>
11026
11027 * exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater
11028 than the word size when operating in Modify_Tree_For_C mode.
11029 * sinfo.ads: Add documentation section on Modify_Tree_For_C mode.
11030
110312014-02-06 Robert Dewar <dewar@adacore.com>
11032
11033 * erroutc.adb (Warning_Specifically_Suppressed.Matches):
11034 compare is case insensitive.
11035 * gnat_rm.texi: Document that string compare for Warnings Off
11036 is now case insensitive.
11037
5216b599
AC
110382014-02-06 Eric Botcazou <ebotcazou@adacore.com>
11039
11040 * gnat_rm.texi: Small wording tweak.
11041
110422014-02-06 Pascal Obry <obry@adacore.com>
11043
11044 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns
11045 and Included_Artifact_Patterns attribute definitions.
11046
110472014-02-06 Yannick Moy <moy@adacore.com>
11048
11049 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
11050 SPARK_Mode pragma component for all subprograms, including stubs.
11051
110522014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11053
11054 * sem_ch10.adb (Analyze_Package_Body_Stub): Maintain
11055 the configuration options of the enclosing context in a
11056 stack-like fasion.
11057 (Analyze_Subprogram_Body_Stub): Maintain the
11058 configuration options of the enclosing context in a stack-like
11059 fashion.
11060
110612014-02-06 Robert Dewar <dewar@adacore.com>
11062
11063 * debug.adb: -gnatd.u sets Modify_Tree_For C
11064 * exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out
11065 if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto.
11066 (Expand_N_Op_Arithmetic_Right_Shift): ditto.
11067 * exp_intr.adb (Expand_Shift): Call expander so we do
11068 Modify_Tree_For_C expansions.
11069 * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
11070 if -gnatd.u set.
11071
110722014-02-06 Fedor Rybin <frybin@adacore.com>
11073
11074 * prj-proc.ads (Tree_Loaded_Callback): new type Callback used
11075 after the phase 1 of the processing of each aggregated project
11076 to get access to project trees of aggregated projects.
11077 (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded
11078 If specified, On_New_Tree_Loaded is called after each aggregated
11079 project has been processed succesfully.
11080 (Process): new parameter On_New_Tree_Loaded.
11081 * prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded
11082 callback added after processing of each aggregated project.
11083 (Recursive_Process): new parameter On_New_Tree_Loaded.
11084 (Process): new parameter On_New_Tree_Loaded.
11085 (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded.
11086 * prj-conf.ads (Parse_Project_And_Apply_Config): new parameter
11087 On_New_Tree_Loaded.
11088 * prj-conf.adb (Parse_Project_And_Apply_Config): new parameter
11089 On_New_Tree_Loaded.
11090
110912014-02-06 Bob Duff <duff@adacore.com>
11092
11093 * gnat_ugn.texi: Implement --insert-blank-lines and
11094 --preserve-blank-lines switches.
11095
8c7ff9a0
AC
110962014-02-06 Sergey Rybin <rybin@adacore.com frybin>
11097
11098 * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
11099 gnatelim.
11100
111012014-02-06 Eric Botcazou <ebotcazou@adacore.com>
11102
11103 * gnat_rm.texi (Pragma Optimize_Alignment): Document the effect
11104 of the pragma on individual objects.
11105
111062014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11107
11108 * einfo.adb Node29 is now used as BIP_Initialization_Call.
11109 (BIP_Initialization_Call): New routine.
11110 (Set_BIP_Initialization_Call): New routine.
11111 (Write_Field29_Name): Add an entry for constants and variables.
11112 * einfo.ads Add new attribute BIP_Initialization_Call and update
11113 its usage in nodes.
11114 (BIP_Initialization_Call): New routine along with pragma Inline.
11115 (Set_BIP_Initialization_Call): New routine along with pragma Inline.
11116 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
11117 Add local declaration Res_Decl. Capture the build-in-place
11118 initialization call when the related object declaration has
11119 created a transient block.
11120 * exp_ch7.adb (Process_Transient_Objects): Add local variable
11121 Fin_Insrt. Recognize a scenario where an object declaration acts
11122 as a transient context and is initialized by a build-in-place
11123 function call.
11124
a0367a97
AC
111252014-02-06 Pascal Obry <obry@adacore.com>
11126
11127 * prj-util.adb (For_Interface_Sources): Fix handling of required
11128 bodies for aggregate libs.
11129
111302014-02-06 Robert Dewar <dewar@adacore.com>
11131
11132 * nlists.ads: Minor comment clarifications.
11133
111342014-02-06 Robert Dewar <dewar@adacore.com>
11135
11136 * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
11137 if gnatd.V set.
11138 * opt.ads (Modify_Tree_For_C): New flag.
11139 * output.ads, output.adb (Last_Char): New function.
11140
111412014-02-06 Pascal Obry <obry@adacore.com>
11142
11143 * projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add
11144 share/gpr for cross-builds.
11145
155b4fcc
RD
111462014-02-06 Robert Dewar <dewar@adacore.com>
11147
11148 * exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb:
11149 Minor reformatting and code clean ups.
11150
49d8d177
PO
111512014-02-06 Pascal Obry <obry@adacore.com>
11152
11153 * prj-util.adb (For_Interface_Sources): Skip non compilable languages.
11154 * prj.ads: Minor typo fix in comment.
11155
8e1e62e3
AC
111562014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11157
11158 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add
11159 local variable Expr. Flag clauses with extra parenthesis as this
11160 is not allowed by the syntax of the pragma. Code reformatting.
11161
111622014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11163
11164 * exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize
11165 variables. Rename variabme Tnn to Temp. Do not create a temporary
11166 if assertions are disabled. Find enclosing routine _Postconditions
11167 and insert the temporary that captures the value of the prefix
11168 before the routine.
11169 * exp_ch6.adb (Build_Postconditions_Procedure):
11170 Insert the generated _Postconditions routine
11171 before the first source declaration of the related
11172 subprogram.
11173 (Insert_After_Last_Declaration): Removed.
11174 (Insert_Before_First_Source_Declaration): New routine.
11175
111762014-02-06 Ed Schonberg <schonberg@adacore.com>
11177
11178 * exp_util.adb, exp_util.ads (Within_Internal_Subprogram):
11179 Utility to determine whether current expansion is for the body
11180 of a predefined primitive operation.
11181 (Make_Predicate_Check): Use Within_Internal_Subpgram
11182 * checks.adb (Apply_Predicate_Check): Use
11183 Within_Internal_Subprogram
11184 * sem_ch13.adb (Freeze_Entity_Checks): Ditto.
11185
111862014-02-06 Pascal Obry <obry@adacore.com>
11187
11188 * prj.ads, prj-util.adb: Minor reformatting.
11189
cbee4f74
AC
111902014-02-06 Ed Schonberg <schonberg@adacore.com>
11191
11192 * exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item):
11193 Take into account the Split_PPC flag to ensure that conjuncts
11194 in a composite postcondition aspect are tested in source order.
11195
111962014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11197
11198 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal
11199 use of SPARK_Mode.
11200 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag
11201 illegal use of SPARK_Mode.
11202 (Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode.
11203 * sem_prag.adb (Analyze_Pragma): Code reformatting.
11204 * sem_util.adb Add with and use clause for Aspects.
11205 (Check_SPARK_Mode_In_Generic): New routine.
11206 * sem_util.ads (Check_SPARK_Mode_In_Generic): New routine.
11207
112082014-02-06 Thomas Quinot <quinot@adacore.com>
11209
11210 * a-calend.adb (Formatting_Operations.Split): Ensure that
11211 Time_Error is raised for invalid time values.
11212
e2ef0ff6
AC
112132014-02-06 Arnaud Charlet <charlet@adacore.com>
11214
11215 * sem_prag.adb (Analyze_Pragma): Rewrite as a null statement
11216 in GNATprove_Mode.
11217
112182014-02-06 Robert Dewar <dewar@adacore.com>
11219
11220 * einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag.
11221 * exp_ch3.adb (Build_Dcheck_Function): Set
11222 Is_Discriminant_Check_Function.
11223
112242014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11225
11226 * exp_ch7.adb (Is_Subprogram_Call): Inspect
11227 the original tree in certain cases where a construct has been
11228 factored out and replaced by a reference to a temporary.
11229
112302014-02-06 Ed Schonberg <schonberg@adacore.com>
11231
11232 * sem_ch3.adb (Process_Full_View): Fix typo in the order of
11233 parameters when propagating predicate function to full view.
11234 (Find_Type_Of_Object): Freeze base type of object type to catch
11235 premature use of discriminated private type without a full view.
11236
97779c34
AC
112372014-02-06 Robert Dewar <dewar@adacore.com>
11238
11239 * sprint.adb: Minor reformatting.
11240
112412014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11242
11243 * exp_ch4.adb (Process_Transient_Object): Add local variable
11244 Temp_Ins. When the transient object is initialized by an
11245 aggregate, the hook must capture the object after the last
11246 component assignment takes place.
11247 * exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to
11248 routine Is_Subprogram_Call.
11249 (Is_Subprogram_Call): Inspect an
11250 aggregate that has been heavily expanded for subprogram calls.
11251 (Process_Transient_Objects): Add local variables Expr, Ptr_Id
11252 and Temp_Ins. Remove the nested declare block and adjust the
11253 indentation. When the transient object is initialized by an
11254 aggregate, the hook must capture the object after the last
11255 component assignment takes place.
11256
112572014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11258
11259 * sem_prag.adb (Analyze_Global_Item): Detect illegal uses of
11260 external states with enabled properties that do not match the
11261 global mode.
11262 (Property_Error): New routine.
11263 * sem_res.adb (Property_Error): New routine.
11264 (Resolve_Actuals): Detect illegal uses of external variables with
11265 enabled properties in procedure calls that do not match the mode of
11266 the corresponding formal parameter.
11267
112682014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
11269
11270 * sem_util.adb (Has_Enabled_Property): Rename
11271 formal parameter Prop_Nam to Property. Update the comment on usage
11272 and all occurrences in the body. Add local variable Prop_Nam. When
11273 inspecting a property with an expression, the property name
11274 appears as the first choice of the component association.
11275
3e247e58
RD
112762014-02-04 Robert Dewar <dewar@adacore.com>
11277
11278 * exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting.
11279
2db5b47e
AC
112802014-02-04 Gary Dismukes <dismukes@adacore.com>
11281
11282 * sem_aggr.adb: Change "runtime" to "run time" in warning message,
11283 for consistency with other messages.
11284
112852014-02-04 Ed Schonberg <schonberg@adacore.com>
11286
11287 * exp_ch5.adb (Expand_Iterator_Loop): For a container element
11288 iterator, indicate that the element is a constant if the container
11289 type does not have a variable indexing aspect.
11290 * sem_ch8.adb (Analyze_Object_Renaming): If the entity is already
11291 marked as constant, do not reset its Ekind, to ensure that
11292 container elements in an element loop are not modified if the
11293 container (e.g. a hashed set) only has a constant indexing aspect.
11294
112952014-02-04 Arnaud Charlet <charlet@adacore.com>
11296
11297 * g-souinf.ads: Subprograms in this unit are actually not pure.
11298 * freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics.
11299 * einfo.ads (Is_Pure): Update doc to match implementation.
11300
5a521b8a
AC
113012014-02-04 Gary Dismukes <dismukes@adacore.com>
11302
11303 * exp_ch13.adb: Minor spelling fix.
11304
113052014-02-04 Robert Dewar <dewar@adacore.com>
11306
11307 * opt.ads: Minor comment update.
11308
113092014-02-04 Robert Dewar <dewar@adacore.com>
11310
11311 * exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite
11312 instead of Replace.
11313
113142014-02-04 Ed Schonberg <schonberg@adacore.com>
11315
11316 * sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings
11317 on null expressions if component type is non-null, when the
11318 corresponding association covers an empty range of index values.
11319
81bd8c90
AC
113202014-02-04 Robert Dewar <dewar@adacore.com>
11321
11322 * sinfo.ads: Further comments on N_Expression_With_Actions node.
11323
113242014-02-04 Hristian Kirtchev <kirtchev@adacore.com>
11325
11326 * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
11327 variables Out_Items and Ref_Global. Remove local constant
11328 Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7
11329 and D8. Remove the useless collection of global items as this
11330 was a leftover from an earlier version of the routine. Move
11331 several routines out to avoid deep nesting and indentation.
11332 (Inputs_Match): Add formal parameter Dep_Clause. Rename formal
11333 parameter Do_Checks to Post_Errors. Update the comment on usage.
11334 (Is_Matching_Input): Renamed to Input_Match. Add formal parameters
11335 Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks
11336 to Post_Errors. Update the comment on usage. Account for the
11337 case where a self referential state may have a null input_list.
11338 (Is_Self_Referential): New routine.
11339
113402014-02-04 Ed Schonberg <schonberg@adacore.com>
11341
11342 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the
11343 entity renames an expression, as in the case of an object of
11344 an unconstrained type initialized by a function call, defer the
11345 rewriting of the expression to the expander.
11346 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11347 'Alignment): If the entity renames an expression, introduce
11348 temporary to capture value, and rewrite original declaration to
11349 use temporary.
11350
ebdaa81b
AC
113512014-02-04 Gary Dismukes <dismukes@adacore.com>
11352
11353 * g-comlin.adb: Minor typo fix.
11354
113552014-02-04 Ed Schonberg <schonberg@adacore.com>
11356
11357 * freeze.adb (Freeze_All): Types derived from a formal
11358 access_to_classwide type do not have a finalization master.
11359
113602014-02-04 Robert Dewar <dewar@adacore.com>
11361
11362 * sprint.adb: Minor reformatting.
11363
113642014-02-04 Robert Dewar <dewar@adacore.com>
11365
11366 * exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
11367 cases where Actions is a null list.
11368 * sinfo.ads (N_Expression_With_Actions): Actions can be
11369 temporarily empty during semantic analysis, but must be non-empty
11370 in the final expanded tree.
11371
d66f9f0b
AC
113722014-01-31 Robert Dewar <dewar@adacore.com>
11373
11374 * exp_ch9.adb: Minor reformatting.
11375
113762014-01-31 Emmanuel Briot <briot@adacore.com>
11377
11378 * g-comlin.adb (Set_Command_Line): Take the switches
11379 configuration from the Command_Line_Config.
11380
113812014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
11382
11383 * sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed
11384 refinement clause.
11385
113862014-01-31 Vincent Celier <celier@adacore.com>
11387
11388 * projects.texi: Add more documentation about others used as an
11389 index in indexed attributes.
11390
f3920a13
AC
113912014-01-31 Robert Dewar <dewar@adacore.com>
11392
11393 * gnat_ugn.texi: Minor update.
11394 * gnat_rm.texi: Add example to Restriction_Warnings documentation.
11395 * exp_util.adb: Minor reformatting.
11396
113972014-01-31 Ed Schonberg <schonberg@adacore.com>
11398
11399 * exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier
11400 depends on data that is not private to the protected object,
11401 and potentially modifiable in unsynchronized fashion.
11402
31d922e3
AC
114032014-01-31 Yannick Moy <moy@adacore.com>
11404
11405 * erroutc.adb (Validate_Specific_Warnings): Remove special case for
11406 GNATprove_Mode.
11407
114082014-01-31 Robert Dewar <dewar@adacore.com>
11409
11410 * prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute
11411 for Unknown_Package.
11412 * sem_ch6.adb, sem_attr.adb: Minor comment addition.
11413
114142014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
11415
11416 * exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite
11417 the logic that generates a runtime check to determine the
11418 controlled status of the object about to be allocated or
11419 deallocated. Class-wide types now always use a runtime check
11420 even if they appear as generic actuals.
11421 (Find_Object): Detect
11422 a special case that involves interface class-wide types because
11423 the object appears as a complex expression.
11424
5b6f12c7
AC
114252014-01-31 Ed Schonberg <schonberg@adacore.com>
11426
11427 * sem_ch6.adb (Process_Formals): In Ada2012 mode, place
11428 subprogram with an incomplete untagged formals on the list of
11429 private dependents, to verify that the type is properly completed
11430 in the private part.
11431 * sem_attr.adb: Code clean up.
11432
114332014-01-31 Robert Dewar <dewar@adacore.com>
11434
11435 * exp_ch6.adb: Minor reformatting.
11436
114372014-01-31 Vincent Celier <celier@adacore.com>
11438
11439 * prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute
11440 when Pkg is unknown.
11441
d950f051
AC
114422014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
11443
11444 * sem_res.adb (Resolve_Entity_Name): Comment
11445 reformatting. Allow volatile objects in various generated checks.
11446
114472014-01-31 Ed Schonberg <schonberg@adacore.com>
11448
11449 * sem_attr.adb (Analyze_Attribute, case 'Update): For a record
11450 component association, set the etype of the identifier, for
11451 SPARK use.
11452
114532014-01-31 Ed Schonberg <schonberg@adacore.com>
11454
11455 * exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not
11456 declared in a package, not checks can apply to the subprogram.
11457
74c10109
AC
114582014-01-31 Robert Dewar <dewar@adacore.com>
11459
11460 * erroutc.adb (Validate_Specific_Warnings): Warnings are
11461 controlled -gnatw.W.
11462 * gnat_ugn.texi: Document new warnings controlled by -gnatw.w.
11463 * opt.ads (Warn_On_Warnings_Off): Now controls more cases.
11464
114652014-01-31 Arnaud Charlet <charlet@adacore.com>
11466
11467 * exp_disp.adb: Update comments.
11468
114692014-01-31 Yannick Moy <moy@adacore.com>
11470
11471 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
11472 Save_Global_References): Guard access to expression in aspect.
11473
114742014-01-31 Yannick Moy <moy@adacore.com>
11475
11476 * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode):
11477 Issue an error when the pragma is applied to a generic unit,
11478 a generic declaration, or inside a generic.
11479
114802014-01-31 Yannick Moy <moy@adacore.com>
11481
11482 * sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming
11483 entity.
11484
bdfb8ec4
AC
114852014-01-31 Robert Dewar <dewar@adacore.com>
11486
11487 * exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor
11488 reformatting.
11489
114902014-01-31 Tristan Gingold <gingold@adacore.com>
11491
11492 * exp_disp.adb: Add a historic note.
11493
114942014-01-31 Robert Dewar <dewar@adacore.com>
11495
11496 * sem_warn.adb (Warn_On_Useless_Assignments): Add call to
11497 Process_Deferred_References.
11498
114992014-01-31 Yannick Moy <moy@adacore.com>
11500
11501 * erroutc.adb (Validate_Specific_Warnings): Do not issue a message for
11502 ineffective pragma Warnings(Off) in GNATprove_Mode.
11503
5b0e6852
BD
115042014-01-31 Bob Duff <duff@adacore.com>
11505
11506 * s-taskin.ads: Minor comment fix.
11507 * s-tassta.adb (Abort_Dependents): Don't abort all dependents;
11508 just direct dependents. If this is actually an abort, each task
11509 will take care of aborting its dependents, so all dependents will
11510 get aborted, as before. However, when this is called the second
11511 time from Vulnerable_Complete_Master "for convenience" (i.e. to
11512 kill off tasks waiting at terminate alternatives), aborting
11513 indirect dependents is wrong, because it causes some unrelated
11514 tasks to get aborted.
11515
a54ffd6c
AC
115162014-01-31 Robert Dewar <dewar@adacore.com>
11517
11518 * sem_ch4.adb: Minor reformatting.
11519
115202014-01-31 Robert Dewar <dewar@adacore.com>
11521
11522 * exp_ch2.adb: New calling sequence for Is_LHS.
11523 * frontend.adb: Add call to Process_Deferred_References.
11524 * lib-xref.ads, lib-xref.adb (Process_Deferred_References): New.
11525 (Deferred_References): New table.
11526 * sem_ch8.adb (Find_Direct_Name): Make deferred reference table
11527 entries.
11528 (Find_Expanded_Name): Ditto.
11529 * sem_res.adb: New calling sequence for Is_LHS.
11530 * sem_util.ads, sem_util.adb (Is_LHS): New calling sequence.
11531 * sem_warn.adb: Call Process_Deferred_References before issuing
11532 warnings.
11533
115342014-01-31 Tristan Gingold <gingold@adacore.com>
11535
11536 * exp_util.adb (Corresponding_Runtime_Package): Restrict the
11537 use of System_Tasking_Protected_Objects_Single_Entry.
11538 * exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter
11539 of Protected_Single_Entry_Call.
11540 (Expand_N_Timed_Entry_Call): Remove single_entry case.
11541 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove
11542 single_entry case.
11543 (Make_Disp_Timed_Select_Body): Likewise.
11544 * rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove.
11545 * s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove
11546 Self_Id parameter.
11547 (Wakeup_Entry_Caller): Remove Self_ID and New_State parameters.
11548 (Wait_For_Completion_With_Timeout): Remove.
11549 (Protected_Single_Entry_Call): Remove Mode parameter
11550 (always Simple_Call).
11551 (Service_Entry): Remove Self_Id constant (not used anymore).
11552 (Timed_Protected_Single_Entry_Call): Remove.
11553 * s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove.
11554 (Protected_Single_Entry_Call): Remove Mode parameter.
11555
4f7c83ca
AC
115562014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11557
11558 * einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post.
11559 * einfo.ads (Get_Pragma): Update the comment on special pragmas
11560 handled by this routine.
11561 * sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post
11562 to the contract of the related subprogram body.
11563 * sem_util.adb (Add_Contract_Item): Handle the insertion of
11564 pragma Refined_Post into the contract of a subprogram body.
11565 * sinfo.ads Update the documentation of node N_Contract.
11566 * sem_res.adb (Resolve_Entity_Name): Add a guard
11567 to detect abstract states and variables only when checking the
11568 SPARK 2014 rules concerning volatile object placement.
11569
115702014-01-29 Ed Schonberg <schonberg@adacore.com>
11571
11572 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance,
11573 null is compatible with any access type.
11574
385e1a99
HK
115752014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11576
11577 * sem_util.adb (Find_Placement_In_State_Space): Assume that the default
11578 placement is not in a package.
11579
159a5104
AC
115802014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11581
11582 * sem_util.adb (Has_Enabled_Property): Compare the character field of
11583 the sole property.
11584
115852014-01-29 Robert Dewar <dewar@adacore.com>
11586
11587 * sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb,
11588 vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb,
11589 sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting.
11590
87e9b935
RD
115912014-01-29 Robert Dewar <dewar@adacore.com>
11592
11593 * sem_util.ads, sem_util.adb (In_Pragma_Expression): New function.
11594 * sem_warn.adb (Check_References): Suppress warnings if inside
11595 Initial_Condition pragma.
11596
98b5d298
HK
115972014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11598
11599 * sem_prag.adb (Check_Missing_Part_Of): List all values of
11600 State_Space_Kind for readability reasons. Do not emit an error on
11601 a private item when the enclosing package lacks aspect/pragma
11602 Abstract_State. Do not emit an error on a private package
11603 instantiation when the corresponding generic template lacks
11604 visible state.
11605 (Has_Visible_State): New routine.
11606 * sem_util.adb (Find_Placement_In_State_Space): The visible
11607 declarations of any kind of child units in general act as proper
11608 placement location.
11609
a90bd866
RD
116102014-01-29 Robert Dewar <dewar@adacore.com>
11611
11612 * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
11613 ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
11614 a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
11615 a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
11616 atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
11617 a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
11618 cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
11619 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
11620 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
11621 exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
11622 freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
11623 gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
11624 krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
11625 live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
11626 par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
11627 par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
11628 par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
11629 rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
11630 s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
11631 sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
11632 sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
11633 sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
11634 sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
11635 sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
11636 s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
11637 sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
11638 s-regpat.adb, s-secsta.adb, s-stalib.ads,
11639 s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
11640 s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
11641 s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
11642 system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
11643 urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.
11644
0d66cee5
AC
116452014-01-29 Robert Dewar <dewar@adacore.com>
11646
11647 * expander.adb: Minor reformatting.
11648
116492014-01-29 Javier Miranda <miranda@adacore.com>
11650
11651 * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to
11652 previous patch.
11653
b7cb4a61
AC
116542014-01-29 Javier Miranda <miranda@adacore.com>
11655
11656 * exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code
11657 that checks if an interface types defines the predefined "="
11658 function because the compiler was erroneously not generating the
11659 predefined "=" primitive as soon as the name of some interface
11660 primitive is "=" (formals were not checked).
11661
116622014-01-29 Ed Schonberg <schonberg@adacore.com>
11663
11664 * expander.adb (Expander): In GNATprove mode, do not process
11665 transient scopes: they are in general not created in this mode,
11666 and an attempt to examine them will lead to constraint errors when
11667 processing configuration pragmas that have analyzable expressions.
11668
35d4d899
VC
116692014-01-29 Vincent Celier <celier@adacore.com>
11670
11671 * clean.adb (Gnatclean): Fail if main project is an aggregate
11672 project or if there is an aggregate library project in the
11673 project tree.
11674 * gnatcmd.adb: Fail if the main project is an aggregate project
11675 or if there is an aggegate library project in the project tree.
11676 * make.adb (Initialize): : Fail if main project is an aggregate
11677 project or if there is an aggregate library project in the
11678 project tree.
11679 * makeutl.ads (Aggregate_Libraries_In): New Boolean function.
11680 * prj-makr.adb (Initialize): Fail if the main project is an
11681 aggregate project or an aggregate library project.
11682
88de755d
VC
116832014-01-29 Vincent Celier <celier@adacore.com>
11684
11685 * prj-part.adb (Check_Import_Aggregate): New procedure
11686 to check if an imported project is an aggregate project.
11687 (Parse_Single_Project): Call Check_Import_Aggregate
11688 * projects.texi: Document that aggregate projects cannot be
11689 extended or imported.
11690
d0e69402
RD
116912014-01-29 Robert Dewar <dewar@adacore.com>
11692
11693 * exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor
11694 reformatting and code clean up.
11695 * gnat_ugn.texi: Add documentation section on Atomic Variables
11696 and Optimization.
11697
5627964c
AC
116982014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11699
11700 * einfo.adb Flag264 is now unused.
11701 (Has_Body_References): Removed.
11702 (Set_Has_Body_References): Removed.
11703 (Write_Entity_Flags): Remove the output for flag Has_Body_References.
11704 * einfo.ads Update the comment on usage of attribute
11705 Body_References. Remove attribute Has_Body_References and its
11706 usage in nodes.
11707 (Has_Body_References): Removed along with pragma Inline.
11708 (Set_Has_Body_References): Removed along with pragma Inline.
11709 * sem_prag.adb (Analyze_Global_Item): Move the call to
11710 Record_Possible_Body_Reference in the state related checks
11711 section. Add a comment intended function.
11712 (Analyze_Input_Output): Move the call to Record_Possible_Body_Reference
11713 in the state related checks section. Add a comment intended function.
11714 (Analyze_Refinement_Clause): Cleanup the illegal body reference
11715 reporting. Add a comment on timing of error reporting.
11716 (Record_Possible_Body_Reference): Reimplement the routine.
11717
117182014-01-29 Vincent Celier <celier@adacore.com>
11719
11720 * makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for
11721 unit-based languages.
11722 (Mains.Complete_Mains.Do_Complete): Use the source file project
11723 tree when calling Find_File_Add_Extension. Use the correct
11724 project name when reporting an error.
11725
d7af5ea5
HK
117262014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
11727
11728 * aspects.adb Add an entry for aspect Part_Of in table
11729 Canonical_Aspect.
11730 * aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id,
11731 Aspect_Argument, Aspect_Names and Aspect_Delay.
11732 * atree.h Define Elist9.
11733 * atree.adb (Elist9): New routine.
11734 (Set_Elist9): New routine.
11735 * atree.ads (Elist9): New routine.
11736 (Set_Elist9): New routine.
11737 * einfo.adb Add Part_Of_Constituents and Encapsulating_State to
11738 the list of node usage. Remove Refined_State from the list of
11739 node usage.
11740 (Encapsulating_State): New routine.
11741 (Get_Pragma):
11742 Handle pragma Part_Of; (Part_Of_Constituents): New routine.
11743 (Refined_State): Removed.
11744 (Set_Encapsulating_State): New routine.
11745 (Set_Part_Of_Constituents): New routine.
11746 (Set_Refined_State): Removed.
11747 (Write_Field9_Name): Add an entry
11748 for Part_Of_Constituents (Write_Field10_Name): Add an entry for
11749 Encapsulating_State. Remove the entry for Refined_State.
11750 * einfo.ads Add new attributes Encapsulating_State
11751 and Part_Of_Constituents alond with their usage in
11752 entities. Remove attribute Refined_State along with its
11753 usage in entities.
11754 (Encapsulating_State): New routine and
11755 pragma Inline. (Get_Pragma): Update the comment on usage.
11756 (Part_Of_Constituents): New routine and pragma Inline.
11757 (Refined_State): Removed along with pragma Inline.
11758 (Set_Encapsulating_State): New routine and pragma Inline.
11759 (Set_Part_Of_Constituents): New routine and pragma Inline.
11760 (Set_Refined_State): Removed along with pragma Inline.
11761 * par-prag.adb Pragma Part_Of does not need any special processing
11762 by the parser.
11763 * sem_ch3.adb (Analyze_Declarations): Remove local variables
11764 Body_Id and Prag. Call separate routines to analyze the
11765 contract of a package [body].
11766 (Analyze_Object_Contract):
11767 Update the comment on usage. Remove local variables
11768 Items and Nam. Use Get_Pragma rather than traversing the
11769 classification list. Verify whether the lack of indicator
11770 Part_Of agrees with the placement of the variable in state space.
11771 (Analyze_Object_Declaration): Initialize the encapsulating state
11772 of a variable. (Requires_State_Refinement): Moved to sem_util.
11773 * sem_ch7.adb (Analyze_Package_Body_Contract): New routine.
11774 (Analyze_Package_Contract): New routine.
11775 * sem_ch7.ads (Analyze_Package_Body_Contract): New routine.
11776 (Analyze_Package_Contract): New routine.
11777 * sem_ch10.adb (Decorate_State): Initialize the encapsulating
11778 state and Part_Of constituents.
11779 * sem_ch13.adb (Analyze_Aspect_Specifications):
11780 Add processing for aspect Part_Of. Update all
11781 calls to Decorate_Delayed_Aspect_And_Pragma.
11782 (Check_Aspect_At_Freeze_Point): Aspect Part_Of does
11783 not need any special processing at freeze time.
11784 (Decorate_Delayed_Aspect_And_Pragma): Renamed to
11785 Decorate_Aspect_And_Pragma. Add formal parameter Delayed and
11786 update the associated comment.
11787 * sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags.
11788 (Analyze_Abstract_State): Add new global variable State_Id. Remove
11789 local constants Errors and Loc. Remove local variables Is_Null
11790 and State_Nam. Create the entity of the abstract state on the
11791 spot, before all remaining checks are performed. Verify that a
11792 missing Part_Of option agrees with the placement of the abstract
11793 state within the state space.
11794 (Analyze_Depends_In_Decl_Part):
11795 Add new global variables Constits_Seen and States_Seen. Check
11796 that a state and a corresponding constituent do not appear
11797 in pragma [Refined_]Depends.
11798 (Analyze_Global_In_Decl_Part):
11799 Add new global variables Constits_Seen and States_Seen. Check
11800 that a state and a corresponding constituent do not appear
11801 in pragma [Refined_]Global.
11802 (Analyze_Global_Item):
11803 Remove the now obsolete code that deals with Part_Of.
11804 Add the entity of the global item to the list of processed
11805 items. (Analyze_Initializes_In_Decl_Part): Add new global
11806 variables Constits_Seen and States_Seen. Check that a state
11807 and a corresponding constituent do not appear in pragma
11808 Initializes.
11809 (Analyze_Initialization_Item): Add the entity
11810 of the initialization item to the list of processed items.
11811 (Analyze_Input_Item): Add the entity of the initialization
11812 item to the list of processed items.
11813 (Analyze_Input_Output):
11814 Remove the now obsolete code that deals with Part_Of. Add the
11815 entity of the input/output to the list of processed items.
11816 (Analyze_Part_Of): New routine.
11817 (Analyze_Part_Of_Option): Remove
11818 local constant Par_State. Add local constant Encaps and local
11819 variables Encaps_Id and Legal. Use Analyze_Part of to analyze
11820 the option. Turn the related state into a Part_Of constituent
11821 if the option is legal.
11822 (Analyze_Pragma): Add processing
11823 for pragma Part_Of.
11824 (Analyze_Refined_State_In_Decl_Part):
11825 Remove global constants Pack_Body and Spec_Id. Remove
11826 global variables Abstr_States and Hidden_States. Add new
11827 global variables Available_States, Body_Id, Body_States and
11828 Spec_Id. Add new local constant Body_Decl. Reimplement the
11829 logic that extracts the states available for refinement from
11830 the related package and the body hidden states of the said
11831 package.
11832 (Analyze_Refinement_Clause): Add local variable Part_Of_Constits.
11833 (Check_Applicable_Policy): Alphabetize body.
11834 (Check_Dependency_Clause): Replace Refined_State
11835 with Encapsulating_State.
11836 (Check_Matching_Constituent):
11837 Reimplement the logic that determines whether an item is a valid
11838 / invalid constituent of the current refined state. Return when
11839 a construct does not denote a valid abstract state. Extract the
11840 list of Part_Of constituents for further analysis. Check that all
11841 Part_Of constituents of a state have been used in its refinement.
11842 (Check_Matching_State): Update the comment on usage. Operate
11843 on the list of available states.
11844 (Check_Missing_Part_Of): New routine.
11845 (Check_Refined_Global_Item): Replace Refined_State
11846 with Encapsulating_State.
11847 (Check_State_And_Constituent_Use): New routine.
11848 (Create_Abstract_State): New routine.
11849 (Is_Matching_Input): Replace Refined_State with Encapsulating_State.
11850 (Is_Part_Of): Removed.
11851 (Collect_Body_States): New routine.
11852 (Collect_Constituent): Replace Refined_State with Encapsulating_State.
11853 (Collect_Hidden_States): Removed.
11854 (Report_Unrefined_States): Change the profile of the procedure along
11855 with the comment on usage.
11856 (Report_Unused_Constituents): New routine.
11857 (Report_Unused_Hidden_States): Removed.
11858 (Report_Unused_States): New routine.
11859 * sem_prag.ads (Check_Missing_Part_Of): New routine.
11860 * sem_util.adb (Add_Contract_Item): Pragma Part_Of can now
11861 appear in the classification pragmas of a package instantiation
11862 or a variable.
11863 (Find_Placement_In_State_Space): New routine.
11864 (Is_Child): Removed.
11865 (Is_Child_Or_Sibling): Remove formal
11866 parameter Private_Child. Remove the private child checks.
11867 (Requires_State_Refinement): Moved from sem_ch3.
11868 * sem_util.ads Add new type State_Space_Kind along with
11869 comment on its usage and values.
11870 (Add_Contract_Item): Update the comment on usage.
11871 (Find_Body_Discriminal): Alphabetize spec.
11872 (Find_Placement_In_State_Space): New routine.
11873 (Is_Child_Or_Sibling): Remove formal parameter Private_Child
11874 and update the comment on usage.
11875 (Requires_State_Refinement): Moved from sem_ch3.
11876 * sinfo.ads: Update the documentation of N_Contract.
11877 * snames.ads-tmpl The predefined name for Part_Of is now used
11878 to denote a pragma. Add Pragma_Id for Part_Of.
11879
0830210c
AC
118802014-01-29 Emmanuel Briot <briot@adacore.com>
11881
11882 * s-regexp.adb (Create_Secondary_Table): Automatically grow the state
11883 machine as needed.
11884 (Dump): New subprogram.
11885
118862014-01-29 Tristan Gingold <gingold@adacore.com>
11887
11888 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add
11889 Expand_Entry_Declaration to factorize code.
11890
1ae70618
ES
118912014-01-29 Ed Schonberg <schonberg@adacore.com>
11892
11893 * checks.adb: minor clarification.
11894 * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit
11895 search for primitive operations to the entities that immediately
11896 follow the type declaration.
11897
cca7f107
AC
118982014-01-29 Tristan Gingold <gingold@adacore.com>
11899
11900 * exp_ch9.adb (Build_Protected_Entry): Do not call
11901 Complete_Entry_Body anymore.
11902 * rtsfind.ads (RE_Complete_Single_Entry_Body): Remove.
11903 * s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove.
11904
119052014-01-29 Pierre-Marie Derodat <derodat@adacore.com>
11906
11907 * s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty
11908 string when the Name input bigger than allowed. Adapt the function
11909 specification.
11910
119112014-01-29 Ed Schonberg <schonberg@adacore.com>
11912
11913 * checks.adb (Install_Null_Excluding_Check): Do not emit warning
11914 if expression is within a case_expression of if_expression.
11915
443dd772
RD
119162014-01-29 Robert Dewar <dewar@adacore.com>
11917
11918 * exp_ch9.adb, inline.ads: Minor reformatting.
11919
4043fd0b
AC
119202014-01-29 Tristan Gingold <gingold@adacore.com>
11921
11922 * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions.
11923
119242014-01-29 Yannick Moy <moy@adacore.com>
11925
11926 * inline.ads (Pending_Body_Info): Add SPARK_Mode and
11927 SPARK_Mode_Pragma components to be able to analyze generic
11928 instance.
11929 * sem_ch12.adb (Analyze_Package_Instantiation,
11930 Inline_Instance_Body, Need_Subprogram_Instance_Body,
11931 Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation
11932 for future analysis of the instance.
11933 (Instantiate_Package_Body,
11934 Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode
11935 from instantiation to analyze the instance.
11936
cf3e6845
AC
119372014-01-29 Robert Dewar <dewar@adacore.com>
11938
11939 * sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code
11940 reorganization.
11941
119422014-01-29 Yannick Moy <moy@adacore.com>
11943
11944 * gnat_rm.texi: Update description of SPARK_Mode pragma.
11945
119462014-01-29 Tristan Gingold <gingold@adacore.com>
11947
11948 * exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries.
11949
f90d14ac
AC
119502014-01-29 Thomas Quinot <quinot@adacore.com>
11951
11952 * sem_ch4.adb (Find_Component_In_Instance): Update comment.
11953
119542014-01-29 Ed Schonberg <schonberg@adacore.com>
11955
11956 * exp_util.adb (Build_Task_Image_Prefix): Indicate that the
11957 resulting string is an internal entity. and thus requires no
11958 initialization. This is relevant when Initialize_ Scalars is
11959 enabled, because the resultant spurious initialization may lead to
11960 secondary stack anomalies that produce a mangled name for a task.
11961
119622014-01-29 Yannick Moy <moy@adacore.com>
11963
11964 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode
11965 not inherited from spec anymore. Check consistency
11966 rules after processing of declarations.
11967 * sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited
11968 from spec anymore. Check consistency rules after processing of
11969 declarations.
11970 (Analyze_Package_Declaration): Set SPARK_Mode only for non-generic
11971 packages.
11972 * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new
11973 consistency rules.
11974
b1d12996
AC
119752014-01-27 Robert Dewar <dewar@adacore.com>
11976
11977 * sem_res.adb (Resolve_Comparison_Op): Add type name/location
11978 to unordered msg.
11979 (Resolve_Range): Add type name/location to unordered msg.
11980
119812014-01-27 Claire Dross <dross@adacore.com>
11982
11983 * a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
11984 Capacity) is only called with Capacity >= Length (Source) and
11985 Capacity in Capacity_Range.
11986 * a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
11987 a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
11988 is only called with Capacity >= Source.Capacity. Raise Capacity_Error
11989 in the code is this is not the case.
11990
119912014-01-27 Thomas Quinot <quinot@adacore.com>
11992
11993 * sem_ch4.adb (Analyze_Selected_Component): Fix handling of
11994 selected component in an instance where the component of the
11995 actual is not visibile at instantiation.
11996
fcadacf7
ES
119972014-01-27 Ed Schonberg <schonberg@adacore.com>
11998
11999 * sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
12000 has a dynamic predicate, generate freeze node for Actual_Subtype
12001 at once, because the declaration of the corresponding predicate
12002 function will make reference to it.
12003
8b4230c8
AC
120042014-01-27 Tristan Gingold <gingold@adacore.com>
12005
12006 * exp_ch7.adb, exp_ch9.adb: Adjust comments.
12007
120082014-01-27 Robert Dewar <dewar@adacore.com>
12009
12010 * exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
12011 for 2**X optimization.
12012
120132014-01-27 Ed Schonberg <schonberg@adacore.com>
12014
12015 * a-suenst.adb: strings.utf_encoding.strings (Decode): Check
12016 explicitly whether value is in range of Character, because the
12017 library is typically compiled with range checks disabled, and
12018 we cannot rely on the implicit check on the argument of 'Val.
12019
120202014-01-27 Vincent Celier <celier@adacore.com>
12021
12022 * a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
12023 not the Target to itself.
12024
120252014-01-27 Robert Dewar <dewar@adacore.com>
12026
12027 * vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
12028 changes to avoid incorrect use of unordered enum types.
12029
120302014-01-27 Thomas Quinot <quinot@adacore.com>
12031
12032 * sem_ch4.adb: Minor reformatting.
12033
29077c18
AC
120342014-01-27 Robert Dewar <dewar@adacore.com>
12035
12036 * scn.adb (Check_End_Of_Line): Removed.
12037 (Error_Long_Line): Removed.
12038 (Determine_License): Use versions of above routines from Scanner.
12039 * scng.adb (Check_End_Of_Line): Moved to spec.
12040 (Error_Long_Line): Removed, no longer used.
12041 * scng.ads (Check_End_Of_Line): Moved here from body.
12042
120432014-01-27 Tristan Gingold <gingold@adacore.com>
12044
12045 * exp_ch7.adb (Build_Cleanup_Statements): Call
12046 Build_Protected_Subprogram_Call_Cleanup to insert the cleanup
12047 for protected body.
12048 * exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise.
12049 Remove Service_Name variable.
12050 (Build_Protected_SUbprogam_Call_Cleanup): New procedure that
12051 factorize code from the above subprograms.
12052 * exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure.
12053
2757c5bf
AC
120542014-01-27 Hristian Kirtchev <kirtchev@adacore.com>
12055
12056 * einfo.adb (Has_Option): Reimplemented.
12057 * sem_prag.adb (Analyze_Refinement_Clause): Add global
12058 variables AR_Constit, AW_Constit, ER_Constit, EW_Constit,
12059 External_Constit_Seen and State. Add local variables Body_Ref,
12060 Body_Ref_Elmt and Extra_State. Reimplement part of the logic to
12061 avoid a cumbersome while pool. Verify the legality of an external
12062 state and relevant properties.
12063 (Check_External_Property): New routine.
12064 (Check_Matching_State): Remove parameter profile
12065 and update comment on usage.
12066 (Collect_Constituent): Store the
12067 relevant external property of a constituent.
12068 * sem_util.adb (Async_Readers_Enabled): Update the call to
12069 Has_Enabled_Property.
12070 (Async_Writers_Enabled): Update the call to Has_Enabled_Property.
12071 (Effective_Reads_Enabled): Update the call to Has_Enabled_Property.
12072 (Effective_Writes_Enabled): Update the call to Has_Enabled_Property.
12073 (Has_Enabled_Property): Rename formal parameter Extern to State_Id.
12074 Update comment on usage. Reimplement the logic to recognize the various
12075 formats of properties.
12076
120772014-01-27 Ed Schonberg <schonberg@adacore.com>
12078
12079 * par-ch5.adb: Minor reformatting.
12080
120812014-01-27 Tristan Gingold <gingold@adacore.com>
12082
12083 * s-tposen.ads: Harmonize style and comments.
12084
120852014-01-27 Vincent Celier <celier@adacore.com>
12086
12087 * projects.texi: Document that shared library projects, by
12088 default, cannot import projects that are not shared library
12089 projects.
12090
120912014-01-27 Robert Dewar <dewar@adacore.com>
12092
12093 * sem_ch8.adb (Find_Selected_Component): Use Replace instead
12094 of Rewrite.
12095
120962014-01-27 Ed Schonberg <schonberg@adacore.com>
12097
12098 * a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if
12099 any other exception is raised.
12100 (Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is
12101 still necessary to perform a conversion in order to remove overlong
12102 encodings.
12103
00ba7be8
AC
121042014-01-27 Robert Dewar <dewar@adacore.com>
12105
12106 * exp_smem.adb: Minor reformatting.
12107
121082014-01-27 Thomas Quinot <quinot@adacore.com>
12109
12110 * a-calfor.ads: Fix incorrect reference to operator "-" in comment.
12111
121122014-01-27 Ed Schonberg <schonberg@adacore.com>
12113
12114 * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate
12115 nodes for operands to the original node for the call, to preserve
12116 Original_Node pointers within the resolved operands, given that
12117 they may have been rewritten as well. Previous approach copied
12118 the operands into a new tree and lost those pointers.
12119
121202014-01-27 Claire Dross <dross@adacore.com>
12121
12122
12123 * a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API.
12124
121252014-01-27 Ed Schonberg <schonberg@adacore.com>
12126
12127 * sem_util.adb (Check_Internal_Protected_Use): A call through
12128 an anonymous access parameter of the current protected function
12129 is not a potential modification of the current object.
12130
121312014-01-27 Ed Schonberg <schonberg@adacore.com>
12132
12133 * a-cobove.adb (Reserve_Capacity): Procedure raises
12134 Capacity_Error, not Constraint_Error, when request cannot be
12135 satisfied.
12136
121372014-01-27 Vincent Celier <celier@adacore.com>
12138
12139 * a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target,
12140 not the Target to itself.
12141
121422014-01-27 Ed Schonberg <schonberg@adacore.com>
12143
12144 * exp_ch4.adb (Expand_Concatenate): If the target of the
12145 concatenation is a library-level entity, always use the off-line
12146 version of concatenation, regardless of optimization level. This
12147 is space-efficient, and prevents linking problems when some
12148 units are compiled with different optimization levels.
12149
121502014-01-27 Ed Schonberg <schonberg@adacore.com>
12151
12152 * sem_ch5.adb: Code clean up.
12153
121542014-01-27 Ed Schonberg <schonberg@adacore.com>
12155
12156 * par-ch5.adb (P_Iterator_Specification): Improve error recovery
12157 when an array or container iterator includes a subtype indication,
12158 which is only legal in an element iterator.
12159
8fdafe44
AC
121602014-01-27 Thomas Quinot <quinot@adacore.com>
12161
12162 * exp_ch7.adb: Minor reformatting.
12163
121642014-01-27 Robert Dewar <dewar@adacore.com>
12165
12166 * opt.adb (SPARK_Mode): Default for library units is None rather
12167 than Off.
12168 * opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is
12169 no longer ordered.
12170 * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO
12171 possibility.
12172 * snames.ads-tmpl (Name_Auto): Removed, no longer used.
12173
121742014-01-27 Robert Dewar <dewar@adacore.com>
12175
12176 * par-ch5.adb (P_Sequence_Of_Statements): Make entry in
12177 Suspicious_Labels table if we have identifier; followed by loop
12178 or block.
12179 * par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table.
12180 * par.adb (Suspicious_Labels): New table.
12181
121822014-01-27 Robert Dewar <dewar@adacore.com>
12183
12184 * exp_aggr.adb (Check_Bounds): Reason is range check, not
12185 length check.
12186
121872014-01-27 Yannick Moy <moy@adacore.com>
12188
12189 * get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for
12190 reference.
12191 * lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless
12192 function now.
12193 (Add_SPARK_Xrefs): Include references to constants.
12194 * spark_xrefs.ads Document new character 'c' for references to
12195 constants.
12196
121972014-01-27 Thomas Quinot <quinot@adacore.com>
12198
12199 * exp_smem.adb (Add_Write_After): For a function call, insert write as
12200 an after action in a transient scope.
12201
b3a69993
AC
122022014-01-27 Thomas Quinot <quinot@adacore.com>
12203
12204 * exp_smem.adb (Expand_Shared_Passive_Variable): For a reference
12205 to a shared variable as an OUT formal in a call to an init proc,
12206 the 'Read call must be emitted after, not before, the call.
12207
122082014-01-27 Robert Dewar <dewar@adacore.com>
12209
12210 * gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma.
12211
f1bd0415
AC
122122014-01-27 Robert Dewar <dewar@adacore.com>
12213
12214 * a-wichha.adb (Character_Set_Version): Change to output proper
12215 value.
12216
122172014-01-27 Hristian Kirtchev <kirtchev@adacore.com>
12218
12219 * einfo.adb (Is_Input_Only_State): Removed.
12220 (Is_Non_Volatile_State): Removed.
12221 (Is_Output_State): Removed.
12222 * einfo.ads (Is_Input_Only_State): Remove attribute and
12223 subprogram. Update related entity.
12224 (Is_Non_Volatile_State):
12225 Remove attribute and subprogram. Update related entity.
12226 (Is_Output_State): Removed attribute and subprogram. Update
12227 related entity.
12228 * exp_ch6.adb (Expand_Subprogram_Contract): Update comment on
12229 generated code.
12230 * sem_ch3.adb (Analyze_Declarations): Analyze the contract of
12231 an object, not just variables.
12232 (Analyze_Object_Contract): New routine.
12233 (Analyze_Variable_Contract): Removed.
12234 (Process_Discriminants): Detect an illegal use of volatile
12235 discriminant in SPARK mode.
12236 * sem_ch5.adb (Analyze_Iterator_Specification):
12237 Detect an illegal use of volatile loop variable.
12238 (Analyze_Loop_Parameter_Specification): Detect an illegal use
12239 of volatile loop variable.
12240 * sem_ch6.adb (Process_Formals): Update the volatile object
12241 detection. Detect an illegal formal of mode IN OUT or OUT in
12242 SPARK mode. Enhance the error messages with references.
12243 * sem_ch12.adb (Instantiate_Object): Update the volatile object
12244 detection. Enhance the error messages with references.
12245 * sem_prag.adb (Analyze_Abstract_State): Enhance the error
12246 messages with references.
12247 (Analyze_Contract_Case): Enhance the error messages with references.
12248 (Analyze_External_Property): Call Check_Duplicate_Property to process
12249 an external property.
12250 (Analyze_External_Property_In_Decl_Part): New routine.
12251 (Analyze_External_State_In_Decl_Part): Removed.
12252 (Analyze_Global_Item): Detect an illegal
12253 use of a volatile constant. Detect an illegal use
12254 of a variable with enabled Effective_Reads. Enhance
12255 the error messages with references. Remove obsolete
12256 checks concerning Input_Only and Output_Only states.
12257 (Analyze_Initialization_Item): Enhance the error messages
12258 with references.
12259 (Analyze_Initializes_In_Decl_Part): Do not
12260 collect the states and variables when the initialization list
12261 is null.
12262 (Analyze_Input_Item): Enhance the error messages with references.
12263 (Analyze_Input_Output): Enhance the error messages with references.
12264 (Analyze_Pragma): Enhance the error messages with references.
12265 (Analyze_Refinement_Clause): Code reformatting.
12266 (Analyze_Refined_Depends_In_Decl_Part):
12267 Rename global variable Global to Reg_Global and update all
12268 occurrences. Add local variables D7 and D8. Update the error
12269 messages with references. Update the call to Collect_Global_Items.
12270 (Analyze_Refined_Global_In_Decl_Part): Add local variables
12271 Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update
12272 the call to Collect_Global_Items. Account for a Proof_In state
12273 in null / useless refinement checks. Verify the coverage of
12274 Proof_In states.
12275 (Check_Dependency_Clause): Remove local variable
12276 Out_Constits. Remove the retrieval and removal of constituents
12277 for an Output_Only state. Remove the reporting of unused
12278 Output_Only state constituents.
12279 (Check_Duplicate_Mode): Enhance
12280 the error message with a reference.
12281 (Check_Duplicate_Property): New routine.
12282 (Check_Duplicate_Option): Enhance the error message with a reference.
12283 (Check_External_Properties): Enhance the error message with a reference.
12284 (Check_Function_Return): Enhance the error message with a reference.
12285 (Check_In_Out_States): Update
12286 comment on usage. Add a specialized error message for Proof_In
12287 constituents. Enhance the error message with a reference.
12288 (Check_Input_States): Update comment on usage. Account for
12289 possible Proof_In constituents. Enhance the error message
12290 with a areference.
12291 (Check_Matching_Constituent): Enhance the error message with a
12292 reference.
12293 (Check_Matching_State): Enchance the error message with a reference.
12294 (Check_Mode): Add local variable From_Global. Update the call to
12295 Find_Mode. Emit more precise error messages concerning extra items
12296 (Check_Mode_Restriction_In_Enclosing_Context): Consider
12297 pragma Refined_Global. Enhance the error message with a
12298 reference.
12299 (Check_Mode_Restriction_In_Function): Enhance the error message with
12300 a reference.
12301 (Check_Output_States): Update comment on usage. Add local variable
12302 Posted. Account for possible Proof_In constituents. Produce a detailed
12303 list of missing constituents.
12304 (Check_Proof_In_States): New routine.
12305 (Check_Refined_Global_Item): Handle Proof_In
12306 constituents. Enchance the error message with a reference.
12307 (Collect_Global_Items): Add formal parameters Proof_In_Items
12308 and Has_Proof_In_State. Update the comment on usage. Account
12309 for Proof_In items.
12310 (Create_Or_Modify_Clause): Enchance
12311 the error message with a reference.
12312 (Find_Mode): Add
12313 formal parameter From_Global. Update the comment on usage.
12314 Detect when the mode is governed by pragma [Refined_]Global.
12315 (Output_Constituents): Removed.
12316 (Report_Extra_Constituents):
12317 Report extra Proof_In constituents.
12318 (Report_Unused_Constituents): Removed.
12319 (Usage_Error): Code reformatting. Enhance the error
12320 messages with reference.
12321 * sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine.
12322 (Analyze_External_State_In_Decl_Part): Removed.
12323 * sem_res.adb (Resolve_Actuals): Update the volatile object
12324 detection. Enhance the error message with a reference.
12325 (Resolve_Entity_Name): Update the volatile object
12326 detection. Enhance the error message with a reference.
12327 * sem_util.adb (Is_Refined_State): Add a guard to avoid a crash.
12328 (Is_SPARK_Volatile_Object): New routine.
12329 (Has_Volatile_Component): New routine.
12330 * sem_util.ads (Is_Delegate): Alphabetized.
12331 (Is_SPARK_Volatile_Object): New routine.
12332 (Has_Volatile_Component): New routine.
12333 * snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only.
12334
123352014-01-27 Ed Schonberg <schonberg@adacore.com>
12336
12337 * sem_attr.adb: Resolve fully prefix of 'Update.
12338
48b08b18
AC
123392014-01-27 Ben Brosgol <brosgol@adacore.com>
12340
12341 * gnat_rm.texi: Minor clarifications.
12342
123432014-01-27 Robert Dewar <dewar@adacore.com>
12344
12345 * sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining
12346 about call that is generated as part of an Initial_Condition
12347 check.
12348 * sem_prag.adb: Minor spelling correction.
12349
1b8b4638
RD
123502014-01-27 Robert Dewar <dewar@adacore.com>
12351
12352 * sem_prag.adb (Set_Convention_From_Pragma): Check that
12353 convention Ghost can only apply to functions.
12354 * einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment.
12355
42959b0c
RD
123562014-01-27 Robert Dewar <dewar@adacore.com>
12357
12358 * gnat_ugn.texi: Add Short_Enums to documentation of
12359 -gnatet/-gnateT.
12360
123612014-01-27 Robert Dewar <dewar@adacore.com>
12362
12363 * sem_prag.adb (Analyze_Input_Item): Correct check for input
12364 item in same package.
12365 * sem_util.ads, sem_util.adb (Within_Scope): New function.
12366
87e9c2a2
AC
123672014-01-26 Arnaud Charlet <charlet@adacore.com>
12368
12369 * a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb,
12370 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
12371 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb,
12372 system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer
12373 maintained.
12374
54dce195
EB
123752014-01-25 Eric Botcazou <ebotcazou@adacore.com>
12376
12377 * gcc-interface/Makefile.in: Fix oversight.
12378
88293f03
EB
123792014-01-25 Eric Botcazou <ebotcazou@adacore.com>
12380
12381 * gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the
12382 conversion from a thin pointer with a shifted value.
12383 * gcc-interface/utils2.c (gnat_build_constructor): Propagate the
12384 read-only flag from the values onto the result.
12385 (gnat_invariant_expr): Accept read-only CONSTRUCTORs.
12386
ae56e442
TG
123872014-01-25 Tristan Gingold <gingold@adacore.com>
12388
12389 * gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable
12390 for E_Variable with a pragma Linker_Section.
12391
3a70ba74
RD
123922014-01-25 Robert Dewar <dewar@adacore.com>
12393
12394 * gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter
12395 with Default_Value aspect is passed in by copy.
12396
c51f5910
AC
123972014-01-24 Eric Botcazou <ebotcazou@adacore.com>
12398
12399 * set_targ.adb: Set Short_Enums.
12400 * gcc-interface/lang.opt (fshort-enums): New option.
12401 * gcc-interface/misc.c (gnat_handle_option): Handle it.
12402 (gnat_post_options): Do not modify the global settings.
12403
124042014-01-24 Robert Dewar <dewar@adacore.com>
12405
12406 * g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic
12407 function.
12408 (Random_Decimal_Fixed): New generic function.
12409 * s-rannum.ads: Minor comment clarifications.
12410
f27ad2b2
RD
124112014-01-24 Robert Dewar <dewar@adacore.com>
12412
12413 * back_end.adb: Remove Short_Enums handling (handled in
12414 Ttypes/Get_Targ now) Minor added comments.
12415 * freeze.adb: Change name Short_Enums_On_Target to
12416 Target_Short_Enums.
12417 * get_targ.ads, get_targ.adb (Get_Short_Enums): New function.
12418 * opt.ads: Minor comment updates.
12419 * sem_ch13.adb: Change name Short_Enums_On_Target to
12420 Target_Short_Enums.
12421 * set_targ.adb: Set Short_Enums from gcc back end.
12422 * set_targ.ads (Short_Enums): New variable.
12423 * targparm.ads, targparm.adb: Remove Short_Enums entries (handled in
12424 Ttypes/Get_Targ now).
12425 * ttypes.ads (Target_Short_Enums): New constant boolean switch
12426
dd6ab508
PO
124272014-01-24 Pascal Obry <obry@adacore.com>
12428
12429 * g-sercom-mingw.adb: Fix serial port name for port number > 10.
12430
e6d5d940
GD
124312014-01-24 Gary Dismukes <dismukes@adacore.com>
12432
12433 * exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
12434 comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
12435 stripped off.
12436
ab986406
AC
124372014-01-24 Robert Dewar <dewar@adacore.com>
12438
12439 * sinfo.ads, make.adb, prj-env.adb: Minor reformatting.
12440
124412014-01-24 Vincent Celier <celier@adacore.com>
12442
12443 * prj.adb (Add_Aggregated_Project): Do not add a project in
12444 the list if it is already there.
12445
124462014-01-24 Yannick Moy <moy@adacore.com>
12447
12448 * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package):
12449 Correct the search for a subrogram declaration to which a pragma is
12450 attached.
12451
124522014-01-24 Bob Duff <duff@adacore.com>
12453
12454 * gnat_ugn.texi: Document --decimal-grouping and
12455 --based-grouping switches in gnatpp.
12456
979b94ea
AC
124572014-01-24 Ed Schonberg <schonberg@adacore.com>
12458
12459 * sinfo.ads: Documentation update.
12460
124612014-01-24 Ed Schonberg <schonberg@adacore.com>
12462
12463 * sem_ch3.adb (Constant_Redeclaration): New declaration is
12464 illegal if previous one has an initial expression that is an
12465 aggregate expanded into assignments.
12466
124672014-01-24 Ed Schonberg <schonberg@adacore.com>
12468
12469 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small
12470 code reorganization to remove spurious warning on a loop with
12471 an array element iterator that has a null range.
12472
124732014-01-24 Vincent Celier <celier@adacore.com>
12474
12475 * make.adb (Binding_Phase): When setting the Ada paths, use
12476 the library ALI dir, not the object dir in libraries.
12477
124782014-01-24 Yannick Moy <moy@adacore.com>
12479
12480 * sinfo.ads: Add documentation of check flag fields.
12481
124822014-01-24 Ed Schonberg <schonberg@adacore.com>
12483
12484 * sem_res.adb (Resolve_Actuals): If an actual is a view
12485 conversion of a discriminated object, and the formal type is
12486 discriminated and constrained, apply a discriminant check to
12487 the object itself.
12488
8edc33fa
RD
124892014-01-24 Robert Dewar <dewar@adacore.com>
12490
12491 * prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups.
12492
ad4e3362
ES
124932014-01-24 Ed Schonberg <schonberg@adacore.com>
12494
12495 * sem_ch3.adb (Analyze_Declarations): At the end of an
12496 appropriate declarative part, call Freeze_All from the first
12497 declaration in the scope, not from the first unfrozen one. This
12498 is necessary to apply visibility checks to entities with delayed
12499 aspects. Otherwise, in the presence of instantiations and cleanups
12500 that they may generate, the delayed aspects may be analyzed too
12501 late and produce spurious visibility errors.
12502 * sem_attr.adb: Place etype on range.
12503 * sem_ch6.adb: Documentation expression functions.
12504
d0ef7921
AC
125052014-01-24 Robert Dewar <dewar@adacore.com>
12506
12507 * exp_ch7.adb: Minor change of Indices to Indexes (preferred
12508 terminology in compiler).
12509
125102014-01-24 Robert Dewar <dewar@adacore.com>
12511
12512 * scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM
12513 categories, now that Ada 95 supports raise expressions.
12514
125152014-01-24 Robert Dewar <dewar@adacore.com>
12516
12517 * freeze.adb (Freeze_Enumeration_Type): Use new target parameter
12518 Short_Enums_On_Target.
12519 * sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target
12520 into account.
12521 * targparm.ads, targparm.adb: Add new target parameter Short_Enums.
12522
125232014-01-24 Ed Schonberg <schonberg@adacore.com>
12524
12525 * sem_ch5.adb (Analyze_Iterator_Specification): If subtype
12526 indication is given explicity, check that it matches the array
12527 component type or the container element type of the domain
12528 of iteration.
12529
125302014-01-24 Tristan Gingold <gingold@adacore.com>
12531
12532 * back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target.
bff2d234
TG
12533 * gcc-interface/misc.c (flag_short_enums): Declare.
12534 (gnat_post_options): Set it.
d0ef7921
AC
12535
125362014-01-24 Vincent Celier <celier@adacore.com>
12537
12538 * prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs
12539 to cache the result when Including_Libraries is False.
12540 * prj-env.ads (Ada_Objects_Path): Update documentation
12541 * prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs
12542 (Get_Object_Directory): Return the Library_Ali_Dir only when
12543 when Including_Libraries is True.
12544 * prj.ads (Get_Object_Directory): Fix and complete documentation
12545 (Project_Data): New component Ada_Objects_Path_No_Libs
12546
162c21d9
AC
125472014-01-24 Robert Dewar <dewar@adacore.com>
12548
12549 * checks.adb (Expr_Known_Valid): Result of fpt operator never
12550 considered valid.
12551
125522014-01-24 Eric Botcazou <ebotcazou@adacore.com>
12553
12554 * back_end.adb: Minor fix in comment.
12555
125562014-01-24 Javier Miranda <miranda@adacore.com>
12557
12558 * sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration
12559 required to report the error in case of task types.
12560
125612014-01-24 Ed Schonberg <schonberg@adacore.com>
12562
12563 * sem_attr.adb: Additional index checking.
12564
08cd7c2f
AC
125652014-01-24 Ed Schonberg <schonberg@adacore.com>
12566
12567 * sem_attr.adb (Analyze_Attribute, case 'Update): Analyze
12568 expressions in each component association, and for records note
12569 the entity in each association choice, for subsequent resolution.
12570 (Resolve_Attribute, case 'Update): Complete resolution of
12571 expressions in each component association.
12572
125732014-01-24 Robert Dewar <dewar@adacore.com>
12574
12575 * sem.adb (Sem): Avoid premature reference to Current_Sem_Unit
12576 (this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong,
12577 leading to wrong handling of SPARK_Mode for library units).
12578
125792014-01-24 Robert Dewar <dewar@adacore.com>
12580
12581 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode
12582 on generic instances (do not consider them to be internally
12583 generated)
12584
125852014-01-24 Doug Rupp <rupp@adacore.com>
12586
12587 * s-osinte-android.ads (pthread_sigmask): Import sigprocmask
12588 vice pthread_sigmask.
12589
125902014-01-24 Vincent Celier <celier@adacore.com>
12591
12592 * prj.adb (Debug_Output (Str, Str2)): Output if verbosity is
12593 not default.
12594
125952014-01-24 Vincent Celier <celier@adacore.com>
12596
12597 * prj-ext.adb (Add): Do not output anything when Silent is True,
12598 whatever the verbosity. When Source is From_External_Attribute,
12599 set the corresponding environment variable if it is not already set.
12600 * prj-ext.ads (Add): New Boolean parameter Silent, defaulted
12601 to False
12602 * prj-proc.adb (Process_Expression_For_Associative_Array):
12603 For attribute External, call Prj.Ext.Add with Silent set to
12604 True for the child environment, to avoid useless output in non
12605 default verbosity.
12606
126072014-01-24 Ed Schonberg <schonberg@adacore.com>
12608
12609 * sem_res.adb (Set_Slice_Subtype): Handle properly a discrete
12610 range given by a subtype indication, and force evaluation of
12611 the bounds, as for a simple range.
12612 * exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation
12613 of bounds of slice for various kinds of discrete ranges.
12614 (Evaluate_Name, Evaluate_Subtype_From_Expr): use
12615 Evaluate_Slice_Bounds.
12616
126172014-01-24 Bob Duff <duff@adacore.com>
12618
12619 * s-taskin.ads (Activator): Make this Atomic, because
12620 Activation_Is_Complete reads it, and that can be called
12621 from any task. Previously, this component was only
12622 modified by the activator before activation, and by
12623 Self after activation.
12624 * a-taside.ads, a-taside.adb (Environment_Task,
12625 Activation_Is_Complete): Implement these missing functions.
12626
7610fee8
AC
126272014-01-24 Doug Rupp <rupp@adacore.com>
12628
12629 * init.c: Add a handler section for Android.
12630
126312014-01-24 Arnaud Charlet <charlet@adacore.com>
12632
12633 * i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types.
12634
126352014-01-24 Ed Schonberg <schonberg@adacore.com>
12636
12637 * sem_ch4.adb (Operator_Check): If one operand is a
12638 Raise_Expression, set its type to that of the other operand.
12639 * sem_res.adb (Resolve_Raise_Expression): new procedure.
12640 (Resolve_Actuals): For an actual that is a Raise_Expression,
12641 set the type to that of the formal.
12642 * sem_type.adb (Find_Unique_Type): If one of the operands is a
12643 Raise_Expression, return type of the other operand.
12644
126452014-01-24 Ed Schonberg <schonberg@adacore.com>
12646
12647 * sem_aggr.adb (Resolve_Record_Aggregate): If a scalar
12648 component of the record has a type with a default aspect, and
12649 the corresponding aggregate component is initiaized with a box,
12650 use the default value in the rewritten aggregate.
12651
126522014-01-24 Tristan Gingold <gingold@adacore.com>
12653
12654 * s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb,
12655 s-interr-sigaction.adb,
12656 s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter.
12657 * exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter
12658 to the call to Install_Restricted_Handlers.
12659
126602014-01-24 Emmanuel Briot <briot@adacore.com>
12661
12662 * prj-nmsc.adb (Check_File): Add protection when the source is
12663 not fully initialized.
12664
4a854847
AC
126652014-01-24 Ed Schonberg <schonberg@adacore.com>
12666
12667 * sem_util.adb (Is_Post_State): In a postcondition, a selected
12668 component that denotes an implicit dereference is a reference
12669 to the post state of the subprogram.
12670
126712014-01-24 Robert Dewar <dewar@adacore.com>
12672
12673 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF
12674 for generated subprograms.
12675 (Analyze_Subprogram_Specification): Ditto.
12676
126772014-01-24 Vincent Celier <celier@adacore.com>
12678
12679 * prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden
12680 attributes in package Builder of aggregate and aggregate library
12681 projects.
12682 * prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate):
12683 Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated):
12684 Remove parameters. Change error message from "... externally
12685 build library ..." to "... externally built project ...".
12686 (Process_Naming_Scheme.Check): Do not do any check in aggregate
12687 project, as attribute Library_Dir and Library_Name have already
12688 been detected as forbidden.
12689
126902014-01-24 Vincent Celier <celier@adacore.com>
12691
12692 * prj-env.adb (Find_Project): If cached project path is not in
12693 project directory, look in current directory first and use cached
12694 project path only if project is not found in project directory.
12695
a6ae518f
RD
126962014-01-24 Robert Dewar <dewar@adacore.com>
12697
12698 * sem_util.adb, lib-xref.adb: Correct false positive warnings.
12699
0bd38d94
AC
127002014-01-24 Vincent Celier <celier@adacore.com>
12701
12702 * projects.texi: Document that aggregate projects are only
12703 supported by gprbuild, but not by gnatmake. Document that the
12704 only attribute Switches in package Binder of aggregate projects
12705 will be ignored if its index is not others. Document that
12706 attribute Global_Config_File is allowed in package Binder of
12707 aggregate projects.
12708
127092014-01-24 Robert Dewar <dewar@adacore.com>
12710
12711 * sem_prag.adb: Minor code reorganization.
12712 * sem_util.adb: Minor fix of potential latent bug in Is_LHS.
12713
0567ae8d
AC
127142014-01-24 Pascal Obry <obry@adacore.com>
12715
12716 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
12717 attribute definition.
12718
127192014-01-24 Vincent Celier <celier@adacore.com>
12720
12721 * makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
12722 in the Queue the same source (same path, same multi-source index)
12723 from the same project file, to avoid compiling several times
12724 the same source.
12725
127262014-01-24 Eric Botcazou <ebotcazou@adacore.com>
12727
12728 * einfo.ads (First_Rep_Item): Remove obsolete stuff.
12729 (Has_Gigi_Rep_Item): Likewise.
12730 * sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
12731 Has_Gigi_Rep_Item for objects.
12732 * gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
12733 (prepend_one_attribute): ...this.
12734 (prepend_one_attribute_pragma): New function extracted from...
12735 (prepend_attributes): ...here. Swap the parameters for consistency.
12736 (gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
12737 prepend_attributes.
12738 <object>: Deal with a pragma Linker_Section on a constant
12739 or variable. <E_Function>: Deal with a pragma Linker_Section
12740 on a subprogram.
12741 (get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.
12742
127432014-01-24 Vincent Celier <celier@adacore.com>
12744
12745 * opt.ads: Minor comment update.
12746
4437ea95
AC
127472014-01-24 Robert Dewar <dewar@adacore.com>
12748
12749 * sem_prag.adb (Analyze_Input_Output): Add missing error check
12750 for junk operand.
12751 * sem_util.adb (Is_Refined_State): Add defense against junk
12752 tree from error.
12753
127542014-01-24 Pascal Obry <obry@adacore.com>
12755
12756 * projects.texi: Removes Build_Slaves attribute documentation.
12757
ea0f1fc8
AC
127582014-01-23 Robert Dewar <dewar@adacore.com>
12759
12760 * opt.adb (Register_Opt_Config_Switches): Save SPARK_Mode_Pragma
12761 setting.
12762
127632014-01-23 Ed Schonberg <schonberg@adacore.com>
12764
12765 * sem_util.adb (Is_Potentially_Unevaluated): Predicate only
12766 applies to expressions that come from source.
12767 * sem_attr.adb (Analyze_Attribute, case 'Old): Improve error
12768 message.
12769 (Analyze_Attribute, case 'Loop_Entry): Apply SPARK 2014 legality
12770 rule regarding potentially unevaluated expressions, to prefix
12771 of attribute.
12772
19992053
AC
127732014-01-23 Ed Schonberg <schonberg@adacore.com>
12774
12775 * exp_util.adb (Make_Invqriant_Call): If type of expression is
12776 a private extension, get invariant from base type.
12777
127782014-01-23 Robert Dewar <dewar@adacore.com>
12779
12780 * sem_util.adb, sem_attr.adb: Minor reformatting.
12781
127822014-01-23 Robert Dewar <dewar@adacore.com>
12783
12784 * opt.adb (Save_Opt_Config_Switches): Save SPARK_Mode_Pragma
12785 (Restore_Opt_Config_Switches): Restore SPARK_Mode_Pragma.
12786 * sem.adb (Semantics): Remove save/restore of
12787 SPARK_Mode[_Pragma]. Not needed since already done in
12788 Save/Restore_Opt_Config_Switches.
12789
127902014-01-23 Robert Dewar <dewar@adacore.com>
12791
12792 * gnat_rm.texi, einfo.adb, einfo.ads, sem_prag.adb, gnat_ugn.texi,
12793 freeze.adb, repinfo.adb, aspects.adb, aspects.ads, sem_ch13.adb:
12794 Linker_Section enhancements.
12795
c733429f
AC
127962014-01-23 Tristan Gingold <gingold@adacore.com>
12797
12798 * gnat_rm.texi: Minor editing.
12799
128002014-01-23 Robert Dewar <dewar@adacore.com>
12801
12802 * opt.adb (Set_Opt_Config_Switches): Reset SPARK mode for
12803 with'ed internal units.
12804 * sem.adb (Semantics): Save and restore SPARK_Mode[_Pragma].
12805
128062014-01-23 Javier Miranda <miranda@adacore.com>
12807
12808 * lib-xref.adb (Generate_Reference): As part of processing the
12809 "end-of-spec" reference generate an extra reference to the first
12810 private entity of the package.
12811 * xr_tabls.adb (Add_Reference): No action needed for the extra
12812 'E' reference associated; similar to the processing of the
12813 'e' reference.
12814
128152014-01-23 Bob Duff <duff@adacore.com>
12816
12817 * gnat_ugn.texi: Change "--&pp off" to "--!pp off".
12818
128192014-01-23 Ed Schonberg <schonberg@adacore.com>
12820
12821 * sem_util.ads, sem_util.adb (Is_Potentially_Unevaluated): new
12822 predicate to implement rule given in 6.1.1 (20/3).
12823 * sem_attr.adb (Analyze_Attribute, case 'Old): Reject prefix of
12824 'Old in a postcondition, if it is potentially unevaluated and
12825 it is not an entity name.
12826
8bdc02c2
BD
128272014-01-23 Bob Duff <duff@adacore.com>
12828
12829 * gnat_ugn.texi: Document the new "--&pp off" feature of gnatpp.
12830
e949ee22
AC
128312014-01-23 Robert Dewar <dewar@adacore.com>
12832
12833 * gnatlink.adb (Gnatlink): Fix problem of generating bad name
12834 msg on VMS.
12835
128362014-01-23 Bob Duff <duff@adacore.com>
12837
12838 * g-dynhta.ads: Minor comment fix.
12839
128402014-01-23 Yannick Moy <moy@adacore.com>
12841
12842 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Inherit SPARK_Mode
12843 from spec on body only when not already inherited on spec. Set
12844 SPARK_Mode from context on body without previous spec. *
12845 * sem_prag.adb (Analyze_Pragma): Check placement of pragma on
12846 library-level entities. Correct retrieval of entity from
12847 declaration, for cases where the declaration is not a unit.
12848 * sem_ch12.adb (Instantiate_Object): Avoid
12849 calling Is_Volatile_Object on an empty node.
12850
545d3e65
RD
128512014-01-23 Robert Dewar <dewar@adacore.com>
12852
12853 * gnatlink.adb (Gnatlink): Check for suspicious executable file
12854 names on windows.
12855
128562014-01-23 Robert Dewar <dewar@adacore.com>
12857
12858 * a-ngelfu.ads: Remove bad uses of AND which should be AND THEN.
12859 * sem_res.adb (Check_No_Direct_Boolean_Operators): Don't give
12860 style errors in instances.
12861 * g-dynhta.ads (Static_HTable): Comment updates.
12862
cc55f9be
VC
128632014-01-23 Vincent Celier <celier@adacore.com>
12864
12865 * prj-conf.adb (Get_Or_Create_Configuration_File): Do not attempt
12866 to find a configuration project file when Config_File_Name is
12867 No_Configuration_File.
12868 * prj-conf.ads (No_Configuration_File): New constant String.
12869 * prj-pars.adb (Parse): Call Get_Or_Create_Configuration_File
12870 with Config_File_Name set to No_Configuration_File, so that
12871 no existing configuration project file will be used, and the
12872 configuration project will be only created in memory when
12873 Add_Default_GNAT_Naming_Scheme is called.
12874 * projects.texi: Minor reformatting.
12875
225a0c5c
VC
128762014-01-23 Vincent Celier <celier@adacore.com>
12877
12878 * prj-conf.adb (Get_Or_Create_Configuration_File): Never parse
12879 a config project file if On_Load_Config is not null.
12880 * prj-pars.adb: Minor comment changes.
12881
89253742
ES
128822014-01-23 Ed Schonberg <schonberg@adacore.com>
12883
12884 * lib-xref.adb (Output_References): Output progenitors of
12885 synchronized tagged types, for source navigation.
12886
53c53f6d
AC
128872014-01-23 Robert Dewar <dewar@adacore.com>
12888
12889 * exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb,
12890 expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads,
12891 sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info.
12892
128932014-01-23 Emmanuel Briot <briot@adacore.com>
12894
12895 * prj-conf.adb (Get_Or_Create_Configuration_File): call
12896 On_Load_Config later.
12897
128982014-01-23 Hristian Kirtchev <kirtchev@adacore.com>
12899
12900 * sem_ch3.adb (Analyze_Declarations): Do not
12901 generate the spec of the late primitive in ASIS mode. Add two
12902 comments to explain the special cases when the expansion is
12903 not performed.
12904
129052014-01-23 Robert Dewar <dewar@adacore.com>
12906
12907 * sem_util.adb (Note_Possible_Modification): Fix error of
12908 misbehaving for implicit dereference cases in -gnatc mode.
12909
129102014-01-23 Emmanuel Briot <briot@adacore.com>
12911
12912 * prj-pars.adb: Minor reformatting.
12913
3b8056a5
AC
129142014-01-22 Ed Schonberg <schonberg@adacore.com>
12915
12916 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram
12917 body generated for an expression function within a protected body
12918 needs a set of renaming declarations if the expression function
12919 comes from source.
12920
129212014-01-22 Ed Schonberg <schonberg@adacore.com>
12922
12923 * lib-xref.adb (Get_Type_Reference): In semantics-only mode,
12924 list interface progenitor of a tagged concurrent type, for better
12925 source navigation.
12926
129272014-01-22 Robert Dewar <dewar@adacore.com>
12928
12929 * lib.adb (In_Extended_Main_Code_Unit): Return False for
12930 Standard_Location.
12931 (In_Extended_Main_Source_Unit): Return False for Standard_Location.
12932 * lib.ads (In_Extended_Main_Code_Unit): Add documentation on
12933 treatment of Slocs No_Location and Standard_Location.
12934 * restrict.adb (Check_Restriction_No_Dependence): Explicitly
12935 check for entity with Standard_Location Sloc, rather than relying
12936 on Lib routines to do that.
12937 * sem_res.adb (Resolve_Call): Implement SPARK_05 restriction
12938 that a call cannot occur before a later occuring body within
12939 the same unit.
12940
fba9ebfc
AC
129412014-01-22 Thomas Quinot <quinot@adacore.com>
12942
12943 * rtsfind.adb: Update comment.
12944
129452014-01-22 Hristian Kirtchev <kirtchev@adacore.com>
12946
12947 * sem_aux.ads, sem_aux.adb (Is_Body): New routine.
12948 * sem_ch3.adb (Analyze_Declarations): Add local variable
12949 Body_Seen. Generate the spec of a late controlled
12950 primitive body that is about to freeze its related type.
12951 (Handle_Late_Controlled_Primitive): New routine.
12952
129532014-01-22 Robert Dewar <dewar@adacore.com>
12954
12955 * a-stream.adb: Minor reformatting.
12956
129572014-01-22 Ed Schonberg <schonberg@adacore.com>
12958
12959 * sem_ch8.adb (From_Actual_Package): Introduce a recursive
12960 sub-procedure Declared_In_Actual to handle properly the visibility
12961 of actuals in actual packages, that are themselves actuals to a
12962 actual package of the current instance. This mimics properly the
12963 visibility of formals of formal packages declared with a box,
12964 within the corresponding generic unit.
12965
129662014-01-22 Robert Dewar <dewar@adacore.com>
12967
12968 * checks.adb: Do not assume that a volatile variable is valid.
12969
129702014-01-22 Thomas Quinot <quinot@adacore.com>
12971
12972 * g-catiio.ads (Image, Value): Clarify that these functions
12973 operate in the local time zone. Minor documentation update.
12974
129752014-01-22 Thomas Quinot <quinot@adacore.com>
12976
12977 * csets.adb, csets.ads, opt.ads: Minor documentation fixes.
12978
b2834fbd
AC
129792014-01-22 Robert Dewar <dewar@adacore.com>
12980
12981 * sem_aux.adb, sem_aux.ads, sem_ch3.adb (Has_Unconstrained_Elements):
12982 Moved to sem_aux.adb.
12983
129842014-01-22 Robert Dewar <dewar@adacore.com>
12985
12986 * vms_data.ads: Minor reformatting.
12987
129882014-01-22 Robert Dewar <dewar@adacore.com>
12989
12990 * debug.adb: Document messages affected by -gnatd.E including
12991 the new ones that relate to late definition of equality.
12992 * sem_ch6.adb (Check_Untagged_Equality): In Ada 2012 mode, if
12993 debug flag -gnatd.E is set, then generate warnings rather than
12994 errors.
12995 (Check_Untagged_Equality): In earlier versions of Ada,
12996 generate warnings if Warn_On_Ada_2012_Incompatibility flag is set.
12997
129982014-01-22 Robert Dewar <dewar@adacore.com>
12999
13000 * sem_prag.adb (Usage_Error): Output additional messages for
13001 unconstrained OUT parameters lacking an input dependency.
13002
130032014-01-22 Robert Dewar <dewar@adacore.com>
13004
13005 * sem_ch4.adb: Minor reformatting.
13006
130072014-01-22 Robert Dewar <dewar@adacore.com>
13008
13009 * restrict.ads: Minor reformatting.
13010 * sem_res.adb (Resolve_Call): Check for SPARK_05 restriction that
13011 forbids a call from within a subprogram to the same subprogram.
13012
130132014-01-22 Thomas Quinot <quinot@adacore.com>
13014
13015 * a-stream.ads (Read_SEA, Write_SEA): New subprograms, optimized
13016 stream attributes for Stream_Element_Array.
13017 * a-stream.adb (Read_SEA, Write_SEA): Bodies for the above.
13018 * rtsfind.adb (Check_CRT): Do not reject a reference to an entity
13019 defined in the current scope.
13020
d4129bfa
AC
130212014-01-22 Robert Dewar <dewar@adacore.com>
13022
13023 * debug.adb, exp_ch4.adb, erroutc.adb: Minor reformatting.
13024
130252014-01-22 Thomas Quinot <quinot@adacore.com>
13026
13027 * sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting.
13028
130292014-01-22 Thomas Quinot <quinot@adacore.com>
13030
13031 * sem_ch3.adb (Analyze_Object_Declaration): For a constant
13032 declaration initialized with a function call, whose type
13033 has variable size, need to remove side effects so that the
13034 initialization expression becomes a dereference of a temporary
13035 reference to the function result.
13036
b6f36bf8
YM
130372014-01-22 Yannick Moy <moy@adacore.com>
13038
13039 * errout.adb (Initialize): Remove trick to add dummy entry
13040 in Warnings table.
13041 * erroutc.adb (Set_Warnings_Mode_Off,
13042 Set_Warnings_Mode_On): Do nothing if warnings are suppressed by
13043 command line switch.
13044 * opt.ads (Warning_Mode): Document behavior
13045 wrt pragma Warnings, in normal mode and in GNATprove_Mode.
13046
113a62d9
RD
130472014-01-22 Robert Dewar <dewar@adacore.com>
13048
13049 * sem_ch3.adb, errout.adb, erroutc.adb: Minor reformatting.
13050
130512014-01-22 Robert Dewar <dewar@adacore.com>
13052
13053 * sem_ch13.adb (Check_Pool_Size_Clash): New procedure
13054 (Analyze_Attribute_Definition_Clause, case Storage_Pool): call
13055 Check_Pool_Size_Clash (Analyze_Attribute_Definition_Clause,
13056 case Storage_Size): call Check_Pool_Size_Clash.
13057
f5f6d8d7
AC
130582014-01-22 Robert Dewar <dewar@adacore.com>
13059
13060 * sem_ch3.adb, exp_util.adb, sem_dim.adb, sem_elab.adb, sem_ch8.adb,
13061 sem_eval.ads: Minor reformatting.
13062
130632014-01-22 Thomas Quinot <quinot@adacore.com>
13064
13065 * sem_eval.adb (Compile_Time_Known_Bounds): Return False for
13066 Any_Composite to prevent cascaded errors.
13067
130682014-01-22 Yannick Moy <moy@adacore.com>
13069
13070 * errout.adb (Initialize): Do not insert special entry in Warnings
13071 table in GNATprove_Mode.
13072 * erroutc.adb (Set_Warnings_Mode_On): Add info in Warnings table in
13073 GNATprove_Mode.
13074 * gnat1drv.adb (Adjust_Global_Switches): Do not suppress frontend
13075 warnings anymore.
13076
2e70d415
AC
130772014-01-22 Robert Dewar <dewar@adacore.com>
13078
13079 * sem_prag.adb (Analyze_Initializes_In_Decl_Part): Handle null
13080 initializes case.
13081
130822014-01-22 Robert Dewar <dewar@adacore.com>
13083
13084 * snames.ads-tmpl: Update header.
13085
130862014-01-22 Thomas Quinot <quinot@adacore.com>
13087
13088 * exp_util.adb (Insert_Actions): When inserting actions on a
13089 short circuit operator that has already been analyzed, do not park
13090 actions in node; instead introduce an N_Expression_With_Actions
13091 and insert actions immediately.
13092 Add guard for unexpected case of climbing up through statement
13093 in Actions list of an N_Expression_With_Actions.
13094 * sem_elab.adb (Insert_Elab_Check): Remove complex
13095 specialized circuitry for the case where the context is already
13096 analyzed, as it is not needed and introduces irregularities in
13097 finalization. Instead rely on the above change to Insert_Actions
13098 to ensure that late insertion on short circuit operators works
13099 as expected.
13100
131012014-01-22 Ed Schonberg <schonberg@adacore.com>
13102
13103 * sem_ch4.adb (Operator_Check): Improve error message when an
13104 operand of concatenation is an access type.
13105
131062014-01-22 Thomas Quinot <quinot@adacore.com>
13107
13108 * sem_dim.adb (Analyze_Dimension_Identifier): Add guard against
13109 cascaded error.
13110
131112014-01-22 Ed Schonberg <schonberg@adacore.com>
13112
13113 * sem_ch8.adb (Find_Selected_Component): Handle properly the case
13114 of an expanded name in a proper body, whose prefix is a package
13115 in the context of the proper body, when there is a homonym of
13116 the package declared in the parent unit.
13117
1250f802
RD
131182014-01-22 Robert Dewar <dewar@adacore.com>
13119
13120 * sem_warn.adb (Check_Use_Clause): Don't give no entities used
13121 msg if errors found.
13122 (Check_One_Unit): Same change.
13123
131242014-01-22 Robert Dewar <dewar@adacore.com>
13125
13126 * ug_words: Add missing/wrong entries for VMS warning switches.
13127 * sem_prag.adb (Check_Duplicate_Pragma): Avoid flagging parent type.
13128
54533a0b
AC
131292014-01-22 Jerome Guitton <guitton@adacore.com>
13130
13131 * mlib-tgt-specific-vxworks.adb (Get_Target_Suffix): Replace xscale by
13132 arm.
13133
131342014-01-22 Robert Dewar <dewar@adacore.com>
13135
13136 * gnat_rm.texi, gnat_ugn.texi: Document passive task optimization
13137
3044bbe4
EB
131382014-01-22 Eric Botcazou <ebotcazou@adacore.com>
13139
13140 * gcc-interface/Makefile.in: Minor fixes.
13141
71affc54
AC
131422014-01-21 Robert Dewar <dewar@adacore.com>
13143
13144 * par-ch4.adb (P_If_Expression): Rewritten to improve error recovery.
13145 * par-ch5.adb (P_Condition): New version with expression prescanned.
13146 * par.adb (P_Condition): New version with expression prescanned.
13147
131482014-01-21 Robert Dewar <dewar@adacore.com>
13149
13150 * gnat_rm.texi: Document that Allow_Integer_Address is ignored
13151 if Address is not a private type.
13152 * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
13153 Ignore pragma if System.Address is not a private type.
13154
131552014-01-21 Arnaud Charlet <charlet@adacore.com>
13156
13157 * namet.ads (Name_Len): Initialize to 0 to avoid accessing an
13158 uninitialized value.
13159
ef1c0511
AC
131602014-01-21 Thomas Quinot <quinot@adacore.com>
13161
13162 * gnat_rm.texi (Scalar_Storage_Order): Update documentation.
13163
131642014-01-21 Ed Schonberg <schonberg@adacore.com>
13165
13166 * sem_ch12.adb (Set_Instance_Env): In Ada 2012 mode, preserve
13167 the value of Assertions_Enabled flag when compiling an instance of
13168 an internal unit. This facilitates the use of pre/postconditions
13169 in generic internal units, such as the new elementary function
13170 libraries.
13171
131722014-01-21 Robert Dewar <dewar@adacore.com>
13173
13174 * exp_aggr.adb: Minor reformatting.
13175 * sem_attr.adb: Minor reformatting.
13176 * sem_res.adb: Minor comment addition.
13177 * einfo.adb: Minor comment updates.
13178 * freeze.adb: Minor reformatting and code reorganization.
13179
131802014-01-21 Ed Schonberg <schonberg@adacore.com>
13181
13182 * par-ch4.adb (P_If_Expression): Handle more gracefully an
13183 elsif clause that does not have an else part.
13184
637a41a5
AC
131852014-01-21 Robert Dewar <dewar@adacore.com>
13186
13187 * checks.adb, sem_util.ads, sem_ch4.adb: Minor reformatting.
13188 * gcc-interface/Makefile.in: clean up target pairs.
13189
131902014-01-21 Pascal Obry <obry@adacore.com>
13191
13192 * projects.texi: Minor typo fix.
13193
131942014-01-21 Thomas Quinot <quinot@adacore.com>
13195
13196 * freeze.adb (Check_Component_Storage_Order): If a record type
13197 has an explicit Scalar_Storage_Order attribute definition clause,
13198 reject any component that itself is of a composite type and does
13199 not have one.
13200
132012014-01-21 Ed Schonberg <schonberg@adacore.com>
13202
13203 * sem_ch10.adb (Generate_Parent_Reference): Make public so it
13204 can be used to generate proper cross-reference information for
13205 the parent units of proper bodies.
13206
132072014-01-21 Thomas Quinot <quinot@adacore.com>
13208
13209 * exp_pakd.adb (Expand_Packed_Element_Set,
13210 Expand_Packed_Element_Reference): No byte swapping required in
13211 the front-end for the case of a reverse storage order array,
13212 as this is now handled uniformly in the back-end. However we
13213 still need to swap back an extracted element if it is itself a
13214 nested composite with reverse storage order.
13215
497716fe
AC
132162014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
13217
13218 * sem_prag.adb (Analyze_External_Property): Add processing for "others".
13219 (Analyze_Pragma): Update the grammar of pragma Abstract_State to
13220 include "others".
13221
132222014-01-21 Arnaud Charlet <charlet@adacore.com>
13223
13224 * gnat_ugn.texi: Minor updates.
13225
fb1fdf7d
AC
132262014-01-21 Thomas Quinot <quinot@adacore.com>
13227
13228 * exp_pakd.adb: Update comment, minor reformatting.
13229
132302014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
13231
13232 * sem_ch3.adb (Analyze_Variable_Contract): Trigger the volatile
13233 object check when SPARK_Mode is on.
13234 * sem_ch6.adb (Process_Formals): Trigger the volatile object
13235 check when SPARK_Mode is on.
13236 * sem_ch12.adb (Instantiate_Object): Trigger the volatile object
13237 check when SPARK_Mode is on.
13238 * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
13239 corresponding pragma of aspect SPARK_Mode in the visible
13240 declarations of a package declaration.
13241 * sem_prag.adb (Analyze_Pragma): Trigger the volatile object
13242 check when SPARK_Mode is on.
13243 * sem_res.adb (Resolve_Actuals): Trigger the volatile object
13244 check when SPARK_Mode is on.
13245 (Resolve_Entity_Name): Trigger
13246 the volatile object check when SPARK_Mode is on.
13247
84f80f5b
AC
132482014-01-21 Robert Dewar <dewar@adacore.com>
13249
13250 * sem_ch3.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_res.adb,
13251 sem_ch6.adb, a-except-2005.adb: Minor reformatting.
13252
132532014-01-21 Ed Schonberg <schonberg@adacore.com>
13254
13255 * exp_ch3.adb (Expand_N_Object_Declaration): When a class-wide
13256 object is declared, it is rewritten as a renaming of an dynamic
13257 expression that wraps the initial value. The renaming declaration
13258 is first given an internal name, to prevent collisions with the
13259 entity already declared, and then the name is modified to reflect
13260 the original one. the modification of the name must preserve
13261 the source location of the original, to prevent spurious errors
13262 when compiling with style checks if the declaration involves
13263 more than one entity.
13264
6c3c671e
AC
132652014-01-21 Hristian Kirtchev <kirtchev@adacore.com>
13266
13267 * aspects.adb Add entries for Async_Readers, Async_Writers,
13268 Effective_Reads and Effective_Writes in table Canonical_Aspect.
13269 * aspects.ads Add entries for Async_Readers, Async_Writers,
13270 Effective_Reads and Effective_Writes in tables Aspect_Id,
13271 Aspect_Names, Aspect_Delay and Implementation_Defined_Aspect.
13272 * atree.adb (Ekind_In): New version with 8 parameters.
13273 (Node34): New routine.
13274 (Set_Node34): New routine.
13275 * atree.ads (Ekind_In): New version with 8 parameters.
13276 (Node34): New routine.
13277 (Set_Node34): New routine.
13278 * einfo.adb Contract is now Node34.
13279 (Contract): Update the assertion and node usage.
13280 (Get_Pragma): Include pragmas Async_Readers, Async_Writers,
13281 Effective_Reads and Effective_Writes.
13282 (Set_Contract): Update the assertion and node usage.
13283 (Write_Field24_Name): Remove the output for a contract.
13284 (Write_Field34_Name): Add output for a contract.
13285 * einfo.ads Contract is now Node34. Update the comment on
13286 attribute usage and related node structures.
13287 (Get_Pragma): Update the comment on usage.
13288 * par-prag.adb (Prag): Pragmas Async_Readers, Async_Writers,
13289 Effective_Reads and Effective_Writes do not require special
13290 processing by the parser.
13291 * sem_ch3.adb (Analyze_Variable_Contract): New routine.
13292 (Analyze_Declarations): Analyze the contract of a variable at
13293 the end of the declarative region.
13294 (Analyze_Object_Declaration): Create a contract for a variable.
13295 * sem_ch6.adb (Analyze_Subprogram_Contract): Update the retrieval
13296 of classification pragmas.
13297 (Process_Formals): Detect an illegal
13298 use of a volatile object as a formal in a function.
13299 * sem_ch12.adb (Instantiate_Object): Detect an illegal use of
13300 a volatile object as an actual in generic instantiation.
13301 * sem_prag.adb Add entries for Async_Readers, Async_Writers,
13302 Effective_Reads and Effective_Writes in table Sig_Flags.
13303 (Analyze_External_State_In_Decl_Part): New routine.
13304 (Analyze_Global_Item): Detect an illegal use of a volatile object
13305 as a global item of a function.
13306 (Analyze_Pragma): Reimplement
13307 pragma Abstract_State. Add support for pragmas Async_Readers,
13308 Async_Writers, Effective_Reads and Effective_Writes.
13309 (Check_External_Properties): New routine.
13310 * sem_prag.ads (Analyze_External_State_In_Decl_Part): New routine.
13311 (Check_External_Properties): New routine.
13312 * sem_res.adb (Resolve_Actuals): Detect an illegal use of a
13313 volatile object as an actual in a call.
13314 (Resolve_Entity_Name):
13315 Add local variables Par, Prev and Usage_OK. Detect illegal
13316 contexts of volatile objects.
13317 * sem_util.adb (Add_Contract_Item): Add support for
13318 pragmas associated with the contract of a variable.
13319 (Async_Readers_Enabled): New routine.
13320 (Async_Writers_Enabled): New routine.
13321 (Effective_Reads_Enabled): New routine.
13322 (Effective_Writes_Enabled): New routine.
13323 (Has_Enabled_Property):
13324 New routine.
13325 (Is_Unchecked_Conversion_Instance): New routine.
13326 (Is_Volatile_Object): Add support for entities that may denote
13327 a volatile object.
13328 * sem_util.ads (Add_Contract_Item): Update the
13329 comment on usage.
13330 (Async_Readers_Enabled): New routine.
13331 (Async_Writers_Enabled): New routine.
13332 (Effective_Reads_Enabled): New routine.
13333 (Effective_Writes_Enabled): New routine.
13334 (Is_Unchecked_Conversion_Instance): New routine.
13335 * sinfo.ads Update the comment on the structure of N_Contract.
13336 * snames.ads-tmpl Add predefined names for Async_Readers,
13337 Async_Writers, Effective_Reads and Effective_Writes. Add
13338 pragma ids for Async_Readers, Async_Writers, Effective_Reads
13339 and Effective_Writes.
13340
133412014-01-21 Robert Dewar <dewar@adacore.com>
13342
13343 * exp_ch4.adb (Eval_Op_Expon): Use CRT_Safe_Compile_Time_Known_Value
13344 * sem_eval.adb (Compile_Time_Known_Value): Remove special
13345 handling of CRT mode (CRT_Safe_Compile_Time_Known_Value): New
13346 function (Eval_Op_Expon): Add CRT_Safe in call to Test_Foldable
13347 (Test_Foldable): Add CRT_Safe parameter
13348 * sem_eval.ads (Compile_Time_Known_Value): Remove special
13349 handling of CRT mode.
13350 (CRT_Safe_Compile_Time_Known_Value): New function.
13351
084c2203
RD
133522014-01-21 Robert Dewar <dewar@adacore.com>
13353
13354 * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Fix problem
13355 with pragma or aspect that applies to package spec or subprogram
13356 spec.
13357
579847c2
AC
133582014-01-21 Robert Dewar <dewar@adacore.com>
13359
13360 * exp_aggr.adb: Minor reformatting.
13361
133622014-01-21 Johannes Kanig <kanig@adacore.com>
13363
13364 * gnat1drv.adb (Gnat1drv) remove obsolete reference to -gnatd.H.
13365
133662014-01-21 Bob Duff <duff@adacore.com>
13367
13368 * gnat_ugn.texi: Document the "checks" attribute in gnat2xml.
13369
133702014-01-21 Steve Baird <baird@adacore.com>
13371
13372 * gnat_rm.texi: Improve description of SPARK_Mode pragma.
13373
133742014-01-21 Vincent Celier <celier@adacore.com>
13375
13376 * prj-part.adb (Parse_Single_Project): Accept to extend a project
13377 if it has only be imported by an project being extended. When a
13378 project that has only been imported by a project being extended
13379 is imported by another project that is not being extended,
13380 reset the previous indication, so that it will be an error if
13381 this project is extended later.
13382 * prj-tree.adb (Create_Project): Include component From_Extended
13383 in table Projects_HT
13384 * prj-tree.ads (Project_Name_And_Node): New Boolean component
13385 From_Extended
13386
133872014-01-21 Robert Dewar <dewar@adacore.com>
13388
13389 * atree.ads, atree.adb: Add Node33 and Set_Node33.
13390 * einfo.ads, einfo.adb (SPARK_Pragma): New field (SPARK_Aux_Pragma):
13391 New field (SPARK_Pragma_Inherited): New flag
13392 (SPARK_Aux_Pragma_Inherited): New flag (SPARK_Mode_Pragmas):
13393 Removed.
13394 * lib.ads, lib.adb: Remove SPARK_Mode_Pragma, no longer used.
13395 * opt.ads (SPARK_Mode_Pragma): New global variable.
13396 * sem.ads: Add Save_SPARK_Mode_Pragma field to Scope_Stack_Entry.
13397 * sem_ch3.adb: Use new SPARK_Mode data structures.
13398 * sem_ch6.adb: Set SPARK_Mode fields in subprogram specs and bodies.
13399 * sem_ch7.adb: Set SPARK_Mode fields in package spec and body entities.
13400 * sem_ch8.adb (Push_Scope): Save SPARK_Mode_Pragma.
13401 (Pop_Scope): Restore SPARK_Mode_Pragma.
13402 * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Rewrite for
13403 new data structures.
13404
134052014-01-21 Arnaud Charlet <charlet@adacore.com>
13406
13407 * back_end.adb: Undo previous change, not needed. Minor reformatting.
13408
376e7d14
AC
134092014-01-21 Thomas Quinot <quinot@adacore.com>
13410
13411 * exp_ch5.adb: Fix comment.
13412 * switch-c.adb: Minor comment update.
13413 * exp_ch3.adb: Minor reformatting.
13414
134152014-01-21 Arnaud Charlet <charlet@adacore.com>
13416
13417 * back_end.adb (Scan_Compiler_Arguments): Do not store object
13418 filename in gnatprove mode.
13419
134202014-01-21 Thomas Quinot <quinot@adacore.com>
13421
13422 * sinfo.ads (No_Ctrl_Actions): Clarify documentation (flag also
13423 suppresses usage of primitive _assign for tagged types).
13424 * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Set
13425 No_Ctrl_Actions for a tagged type that does not require
13426 finalization, as we want to disable usage of _assign (which
13427 may cause undesirable discriminant checks on an uninitialized,
13428 invalid target).
13429
134302014-01-21 Ed Schonberg <schonberg@adacore.com>
13431
13432 * sem_prag.adb: Reject invariant'class on completion.
13433
8d81fb4e
AC
134342014-01-21 Javier Miranda <miranda@adacore.com>
13435
13436 * exp_ch3.adb (Build_Init_Procedure): For
13437 derivations of interfaces, do not move the the initialization
13438 of the _parent field since such assignment is not generated.
13439
134402014-01-21 Ed Schonberg <schonberg@adacore.com>
13441
13442 * sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity
13443 with the operator it renames if we are within an expression of
13444 a pre/postcondition, because the expression will be reanalyzed
13445 at a later point, and the analysis of the renaming may affect
13446 the visibility of the operator when in an instance.
13447
134482014-01-21 Robert Dewar <dewar@adacore.com>
13449
13450 * sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1.
13451 Add this flag to type conversion nodes and assignment nodes.
13452 * treepr.adb: Deal properly with Flag 1,2,3.
13453 * treeprs.adt: Minor comment update.
13454
134552014-01-21 Robert Dewar <dewar@adacore.com>
13456
13457 * sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT
13458 parameter.
13459 * sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT
13460 parameter, completely rewrite spec.
13461
134622014-01-21 Ed Schonberg <schonberg@adacore.com>
13463
13464 * sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram
13465 instance that is inlined, it may have been rewritten as a wrapper
13466 package. In that case the unit that must be made visible is the
13467 related instance of the package.
13468
134692014-01-21 Arnaud Charlet <charlet@adacore.com>
13470
13471 * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine
13472 previous change in codepeer mode.
13473
6b6041ec
AC
134742014-01-21 Arnaud Charlet <charlet@adacore.com>
13475
13476 * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Always add
13477 call to Abort_Undefer, as expected by the runtime.
13478 * s-tasren.adb (Local_Complete_Rendezvous): Replace
13479 Defer_Abort_Nestable by Defer_Abort, since we do not expect abort to be
13480 deferred at this point. Update comments.
13481
134822014-01-21 Thomas Quinot <quinot@adacore.com>
13483
13484 * exp_ch4.adb, exp_ch5.adb, checks.adb: Minor reformatting.
13485
134862014-01-21 Arnaud Charlet <charlet@adacore.com>
13487
13488 * switch-c.adb, usage.adb, gnat_ugn.texi: Mark -gnates as internal,
13489 remove from doc.
13490
77a2f3df
RD
134912014-01-21 Robert Dewar <dewar@adacore.com>
13492
13493 * switch-c.adb, usage.adb, atree.adb, atree.ads: Minor reformatting.
13494
5f0c4d67
AC
134952014-01-21 Thomas Quinot <quinot@adacore.com>
13496
13497 * atree.adb, atree.ads (Num_Extension_Nodes): Switch to Node_Id, since
13498 this is value is used in Node_Id arithmetic operations.
13499 (Copy_Node, Exchange_Entities): Use loops indexed by Num_Extension_Nodes
13500 instead of hard-coded unrolled code.
13501
135022014-01-21 Yannick Moy <moy@adacore.com>
13503
13504 * gnat1drv.adb: Minor code cleanup, removing useless code.
13505
135062014-01-21 Arnaud Charlet <charlet@adacore.com>
13507
13508 * opt.ads (SPARK_Switches_File_Name): New.
13509 * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnates=xxx *
13510 * usage.adb (Usage): Document -gnates, in gnatprove mode only.
13511 * gnat_ugn.texi: Document -gnates.
13512
135132014-01-21 Yannick Moy <moy@adacore.com>
13514
13515 * errout.adb (Special_Msg_Delete): Update comment. Remove
13516 special case for GNATprove which should not ignore mismatch
13517 in sizes for representation clauses.
13518 * sem_prag.adb (Analyze_Pragma): Remove special case for GNATprove
13519 which should not ignore pragma Pack.
13520
135212014-01-21 Ed Schonberg <schonberg@adacore.com>
13522
13523 * sem_ch4.adb: Code clean up.
13524
135252014-01-21 Steve Baird <baird@adacore.com>
13526
13527 * gnat_rm.texi: Improve GNAT RM description of SPARK_Mode pragma.
13528
4bcf6815
AC
135292014-01-21 Robert Dewar <dewar@adacore.com>
13530
13531 * gcc-interface/gigi.h: Get Flags array address.
13532 * gcc-interface/trans.c: Acquire Flags array address.
13533 * atree.adb: Add support for Flags array and Flag0,1,2,3.
13534 * atree.ads: Add support for Flags array and Flag0,1,2,3.
13535 * atree.h: Add support for Flags array and Flag0,1,2,3.
13536 * back_end.adb: Pass Flags array address to gigi.
13537
135382014-01-21 Ed Schonberg <schonberg@adacore.com>
13539
13540 * sem_ch8.adb (Attribute_Renaming): Transfer original attribute
13541 reference to generated body so that legality checks on stream
13542 attributes are properly applied. If type is tagged and already
13543 frozen, insert generated body at the point of the renaming
13544 declaration.
13545
135462014-01-21 Ed Schonberg <schonberg@adacore.com>
13547
13548 * sem_ch12.adb: Code clean up.
13549 * sem_ch8.adb: Minor reformatting
13550
43417b90
AC
135512014-01-20 Robert Dewar <dewar@adacore.com>
13552
13553 * checks.adb: Check SPARK_Mode instead of GNATProve_Mode for
13554 converting warnings on inevitable exceptions to errors.
13555 * exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
13556 converting warnings on inevitable exceptions to errors.
13557 * opt.adb (SPARK_Mode_Config): Handled like other config flags
13558 * opt.ads (SPARK_Mode_Type): Moved here from types (renamed from
13559 SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove
13560 SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config):
13561 New flag (Config_Switches_Type): Add SPARK_Mode field
13562 * sem.adb: Minor code reorganization (remove unnecessary with)
13563 * sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field
13564 * sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for
13565 converting warnings on inevitable exceptions to errors.
13566 * sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for
13567 converting warnings on inevitable exceptions to errors.
13568 * sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for
13569 converting warnings on inevitable exceptions to errors.
13570 * sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
13571 converting warnings on inevitable exceptions to errors.
13572 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode
13573 from spec if needed
13574 * sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode
13575 from spec if needed
13576 * sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope):
13577 Restore SPARK_Mode
13578 * sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for
13579 converting warnings on inevitable exceptions to errors.
13580 * sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function
13581 (Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name
13582 of Get_SPARK_Mode_Id
13583 * sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function
13584 * sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for
13585 converting warnings on inevitable exceptions to errors.
13586 * sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for
13587 converting warnings on inevitable exceptions to errors.
13588 * types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed
13589 SPARK_Mode_Type
13590
135912014-01-20 Ed Schonberg <schonberg@adacore.com>
13592
13593 * sem_ch13.adb: Add semantic information to rewritten type
13594 reference.
13595
135962014-01-20 Ed Schonberg <schonberg@adacore.com>
13597
13598 * exp_ch5.adb (Expand_N_Assignment_Statement): If both sides
13599 are of a type with unknown discriminants, convert both to the
13600 underlying view of the type, so that the proper constraint check
13601 can be applied to the right-hand side.
13602
136032014-01-20 Robert Dewar <dewar@adacore.com>
13604
13605 * atree.adb (Copy_Node): Fix failure to copy last component
13606 (Exchange_Entities): Fix failure to exchange last entity
13607
136082014-01-20 Ed Schonberg <schonberg@adacore.com>
13609
13610 * sem_ch12.adb: Code clean up.
13611
e4deba8e
RD
136122014-01-20 Robert Dewar <dewar@adacore.com>
13613
13614 * gnat_rm.texi, sem_ch4.adb: Minor reformatting.
13615
a736f6e6
AC
136162014-01-20 Ed Schonberg <schonberg@adacore.com>
13617
13618 * sem_ch4.adb (Analyze_Quantified_Expression): If after
13619 pre-analysis the loop parameter specification has been
13620 rewritten as a iterator specification, propagate the change to
13621 the quantified expression, for ASIS navigtion needs.
13622
136232014-01-20 Vincent Celier <celier@adacore.com>
13624
13625 * par-ch10.adb: Minor error message change: escape [ and ].
13626
4a28b181
AC
136272014-01-20 Robert Dewar <dewar@adacore.com>
13628
13629 * checks.adb: Make warnings on exceptions into errors in GNATprove mode.
13630 * errout.adb: Implement [ and ] insertion characters.
13631 * errout.ads: Document new [ and ] insertion characters.
13632 * sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor
13633 addition of ??? comment.
13634 * lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting
13635 * exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb,
13636 sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb:
13637 Make warnings on exceptions into errors in GNATprove mode.
13638 * sem_dim.adb: Minor reformatting throughout Quote [ and ]
13639 in error messages.
13640
136412014-01-20 Ed Schonberg <schonberg@adacore.com>
13642
13643 * sem_ch13.adb: Code clean up.
13644
b465ef6f
AC
136452014-01-20 Robert Dewar <dewar@adacore.com>
13646
13647 * errout.ads, errout.adb: Implement >? >x? >X? sequences in error
13648 messages.
13649 * sem_ch6.adb (Check_Statement_Sequence): Missing return is an
13650 error in GNATprove mode.
13651
136522014-01-20 Ed Schonberg <schonberg@adacore.com>
13653
13654 * par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute
13655 reference 'Old takes no parameters, and thus can appear as a
13656 prefix of a slice.
13657
136582014-01-20 Eric Botcazou <ebotcazou@adacore.com>
13659
13660 * exp_aggr.adb: Fix minor typos.
13661
a6152428
AC
136622014-01-20 Ed Schonberg <schonberg@adacore.com>
13663
13664 * sem_attr.adb (Analyze_Attribute, case 'Constrained): In an
13665 instance the attribute is legal, and its value is determined
13666 statically if the type has no discriminants. This choice is
13667 more useful than rechecking the legality rule in the instance,
13668 is consistent with older usage, and is also consistent with all
13669 existing tests.
13670
136712014-01-20 Arnaud Charlet <charlet@adacore.com>
13672
13673 * sem_cat.adb (Validate_Static_Object_Name): Change error into
13674 warning in Relaxed_Semantic_Mode.
13675
e19fd0bd
AC
136762014-01-20 Ed Schonberg <schonberg@adacore.com>
13677
13678 * sem_attr.adb: Code and comments cleanup.
13679
136802014-01-20 Yannick Moy <moy@adacore.com>
13681
13682 * debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V *
13683 * errout.adb (Compilation_Errors): Remove special handling in
13684 GNATprove mode.
13685 * gnat1drv.adb (Adjust_Global_Switches): Remove handling of the
13686 removed debug flags.
13687 * gnat_rm.texi: Initial documentation for Abstract_State, Depends,
13688 Global, Initial_Condition, Initializes and Refined_State pragmas and
13689 aspects.
13690 * opt.ads (Frame_Condition_Mode, Formal_Extensions,
13691 SPARK_Strict_Mode): Remove global flags.
13692 * sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state
13693 always performed now, on packages declaring a null state.
13694 (Signed_Integer_Type_Declaration): Remove ill-designed attempt
13695 at providing pedantic mode for bounds of integer types.
13696 * sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious
13697 "some" quantified expression now issued under control of -gnatw.t,
13698 like the other warning on unused bound variable.
13699 * sem_prag.adb (Check_Precondition_Postcondition): Remove useless test
13700 on removed flag.
13701 (Analyze_Pragma): Remove tests for SPARK 2014
13702 pragmas, not officially allowed by GNAT.
13703
58827738
AC
137042014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13705
13706 * sem_prag.adb (Analyze_Pragma): Ensure that
13707 the sole argument of pragmas Abstract_State, Contract_Cases,
13708 Depends, Global and Initializes in in aggregate form.
13709 (Analyze_Refined_Pragma): Ensure that the sole argument of
13710 pragmas Refined_Depends, Refined_Global and Refined_State is in
13711 aggregate form.
13712 (Ensure_Aggregate_Form): New routine.
13713
137142014-01-20 Doug Rupp <rupp@adacore.com>
13715
13716 * sem_attr.adb (Analyze_Attribute): case
13717 Attribute_Constrained => treat all prefixes as legal for Declib
13718 compatibility.
13719
9559eccf
AC
137202014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13721
13722 * sem_prag.adb (Check_Mode): Reimplement the routine.
13723 (Find_Mode): New routine.
13724
137252014-01-20 Robert Dewar <dewar@adacore.com>
13726
13727 * sem_ch4.adb (Operator_Check): Handle additional
13728 Allow_Integer_Address cases.
13729
7dbd3de9
RD
137302014-01-20 Robert Dewar <dewar@adacore.com>
13731
13732 * gnat_rm.texi (Allow_Integer_Address): Remove note about not
13733 allowed if address is non-private, no longer true.
13734 * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
13735 Remove check for address being private, causes difficulty when
13736 pragma used in gnat.adc file and is not needed, since we guard
13737 this in Address_Integer_Convert_OK.
13738 * exp_ch7.adb: Minor reformatting.
13739 * sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode.
13740
137412014-01-20 Robert Dewar <dewar@adacore.com>
13742
13743 * checks.adb (Apply_Range_Check): Remove gnatprove special
13744 casing of exponentiation.
13745 * sem_res.adb (Resolve_Op_Expon): Apply range check to right
13746 operand for integer case to check range against Natural.
13747
061828e3
AC
137482014-01-20 Robert Dewar <dewar@adacore.com>
13749
13750 * s-tataat.adb: Minor reformatting.
13751
137522014-01-20 Robert Dewar <dewar@adacore.com>
13753
13754 * einfo.adb (Is_Descendent_Of_Address): Now applies to all
13755 entities, and also fix documentation to remove mention of visible
13756 integer type, since this is not what the implementation does.
13757 * einfo.ads (Is_Descendent_Of_Address): Now applies to all
13758 entities, and also fix documentation to remove mention of visible
13759 integer type, since this is not what the implementation does.
13760 * gnat_rm.texi: Minor clarification of Allow_Integer_Address
13761 function.
13762 * sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
13763 case for parameter type check.
13764 * sem_res.adb (Resolve): Use new function
13765 Address_Integer_Convert_OK.
13766 * sem_type.adb: Minor code reorganization (use Ekind_In) Minor
13767 reformatting throughout.
13768 * sem_util.adb (Address_Integer_Convert_OK): New function.
13769 * sem_util.ads: Minor reformatting (put specs in alpha order)
13770 (Address_Integer_Convert_OK): New function.
13771
137722014-01-20 Thomas Quinot <quinot@adacore.com>
13773
13774 * exp_ch7.adb (Wrap_Transient_Expression):
13775 Insertion extra conditional expression only if
13776 Opt.Suppress_Control_Flow_Optimizations is set.
13777
ff4e28eb
AC
137782014-01-20 Arnaud Charlet <charlet@adacore.com>
13779
13780 * s-tataat.adb (Initialize_Attributes): Abort might already be
13781 deferred in Create_Task.
13782
137832014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13784
13785 * checks.adb (Apply_Scalar_Range_Check): Flag
13786 the exponent as requiring a range check when the expression is
13787 an exponentiation.
13788
a1efcc17
AC
137892014-01-20 Fedor Rybin <frybin@adacore.com>
13790
13791 * gnat_ugn.texi: Documenting --passed-tests option for gnattest.
13792
137932014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13794
13795 * sem_util.adb (Default_Initialization): New routine.
13796 * sem_util.ads: Add new type Default_Initialization_Kind.
13797 (Default_Initialization): New routine.
13798
137992014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13800
13801 * sem_prag.adb (Check_Mode): Correct all error
13802 message logic dealing with in/in out parameters that may appear
13803 as inputs or have a self reference.
13804
6fd0a72a
AC
138052014-01-20 Robert Dewar <dewar@adacore.com>
13806
13807 * exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting.
13808 * sem_res.adb (Resolve): Fix error causing infinite loop for
13809 integer used as address. Allow addresses as integers.
13810
138112014-01-20 Arnaud Charlet <charlet@adacore.com>
13812
13813 * s-osinte-linux.ads (struct_sigaction): Fix rep clause.
13814
138152014-01-20 Bob Duff <duff@adacore.com>
13816
13817 * par-ch8.adb (P_Use_Type_Clause): Detect syntax
13818 error when "use all" is not followed by "type".
13819
3b4598a7
AC
138202014-01-20 Bob Duff <duff@adacore.com>
13821
13822 * exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort
13823 followed by free.
13824
138252014-01-20 Ed Schonberg <schonberg@adacore.com>
13826
13827 * checks.adb (Apply_Address_Clause_Check): If there is an
13828 alignment check on the expression in an address clause, and there
13829 is no local exception propagation, add an additional explanatory
13830 message to clarify the cause of previous warning.
13831
4058ddcc
AC
138322014-01-20 Robert Dewar <dewar@adacore.com>
13833
13834 * exp_ch7.adb: Minor reformatting.
13835 * opt.ads: Minor comment updates.
13836 * sem.adb: Minor name change Is_Main_Unit =>
13837 Is_Main_Unit_Or_Main_Unit_Spec.
13838 * sem_ch6.adb: Minor reformatting and code reorganization.
13839
138402014-01-20 Bob Duff <duff@adacore.com>
13841
13842 * gnat_ugn.texi: Update gnatpp switches.
13843
138442014-01-20 Thomas Quinot <quinot@adacore.com>
13845
13846 * exp_ch9.adb: Minor comment edit.
13847
d8a764c4
AC
138482014-01-20 Robert Dewar <dewar@adacore.com>
13849
13850 * gnat_rm.texi: Document that Allow_Integer_Address is permitted
13851 only if System.Address is a private type.
13852 * opt.ads (Allow_Integer_Address): No longer set by -gnates.
13853 * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
13854 Allowed only if type System.Address is private, since otherwise
13855 it makes no sense.
13856 * sem_res.adb: Fix failure to properly Analyze unchecked
13857 conversions that were introduced by Allow_Integer_Address.
13858 * switch-c.adb: Remove -gnates switch.
13859 * usage.adb: Remove -gnates switch.
13860 * gnat_ugn.texi: Remove documentation of -gnates flag.
13861
138622014-01-20 Ed Schonberg <schonberg@adacore.com>
13863
13864 * sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and
13865 resolve expression to perform proper name capture.
13866
138672014-01-20 Ed Schonberg <schonberg@adacore.com>
13868
13869 * sem.adb (Semantics): When saving/restoring configuration
13870 switches, the spec of a pre- defined unit that is the main unit
13871 must be treated as a predefined unit as well.
13872
138732014-01-20 Thomas Quinot <quinot@adacore.com>
13874
13875 * exp_ch7.adb (Wrap_Transient_Expression): For a Boolean
13876 expression, insert an extra conditional expression when saving
13877 the value of the expression, for the benefit of control flow
13878 graph based coverage analysis.
13879 * exp_ch3.adb: Minor reformatting.
13880
818b578d
AC
138812014-01-20 Robert Dewar <dewar@adacore.com>
13882
13883 * gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
13884 * gnat_rm.texi: Document pragma Allow_Integer_Address.
13885 * gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
13886 * opt.ads: New flag Allow_Integer_Address.
13887 * par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
13888 * sem_ch5.adb: Minor reformatting.
13889 * sem_prag.adb: Implement pragma Allow_Integer_Address.
13890 * sem_res.adb (Resolve): Allow integer address value if
13891 switch set.
13892 * sem_util.adb: Minor reformatting.
13893 * snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
13894 * switch-c.adb: Recognize flag -gnates.
13895 * usage.adb: Document flag -gnates.
13896
138972014-01-20 Thomas Quinot <quinot@adacore.com>
13898
13899 * s-tadeca.adb: Fix minor typos in comment.
13900
c2e54001
AC
139012014-01-20 Pascal Obry <obry@adacore.com>
13902
13903 * s-win32.ads (FreeLibrary): New import.
13904
139052014-01-20 Robert Dewar <dewar@adacore.com>
13906
13907 * sem_res.adb, sem_cat.adb: Minor reformatting.
13908 * sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
13909 assigning to OUT parameters for the current subprogram scope.
13910 * exp_ch4.adb: Minor reformatting.
13911
139122014-01-20 Ed Schonberg <schonberg@adacore.com>
13913
13914 * exp_ch4.adb (Process_Transient_Object,
13915 Find_Enclosing_Contexts): If the top-level if-expression that
13916 generated the transient object is an actual in a call, the proper
13917 Hook_Context is a construct enclosing the call.
13918 * einfo.ads: Indicate that Related_Expression is used to link a
13919 loop variable to the container expression over which the loop
13920 takes place.
13921 (Analyze_Iterator_Specification): Set the Related_Expression of
13922 the loop variable in a container element iterator.
13923 (Note_Possible_Modification): If the variable is the loop
13924 variable in a container element iterator, indicate that the
13925 enclosing container is also modified.
13926
139272014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13928
13929 * aspects.adb (Move_Or_Merge_Aspects): Reimplemented.
13930
90b51aaf
AC
139312014-01-20 Robert Dewar <dewar@adacore.com>
13932
13933 * s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
13934 Minor reformatting and code clean up.
13935
139362014-01-20 Arnaud Charlet <charlet@adacore.com>
13937
13938 * sem_cat.adb (Validate_Object_Declaration): Relax semantics
13939 of objects of private type if Relaxed_RM_Semantics.
13940
2838fa93
AC
139412014-01-20 Claire Dross <dross@adacore.com>
13942
13943 * a-cofove.ads (Vector): Capacity discriminant
13944 should be in range of the index.
13945
139462014-01-20 Thomas Quinot <quinot@adacore.com>
13947
13948 * a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
13949 Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
13950 possible difference between epoch of Ada.Calendar clock and Ada
13951 real-time/tasking clock.
13952 * s-taprop-posix.adb: Minor comment fix.
13953
139542014-01-20 Doug Rupp <rupp@adacore.com>
13955
13956 * sysdep.c [vxworks]: Remove Vxworks version noise for RTP.
13957
139582014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
13959
13960 * exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
13961 checks on the prefix of attribute 'Old.
13962 * sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
13963 generation of validity checks on a range that belongs to the
13964 iteration scheme of a quantified expression.
13965 * sem_ch5.adb (One_Bound): Suppress the generation of validity
13966 checks on a bound that belongs to the iteration scheme of a
13967 quantified expression, generate the check in all other cases.
13968
139692014-01-20 Bob Duff <duff@adacore.com>
13970
13971 * gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.
13972
139732014-01-20 Ed Schonberg <schonberg@adacore.com>
13974
13975 * sem_res.adb (Resolve): When compiling a predefined unit, ignore
13976 interpretations that do not come from other predefined units,
13977 to prevent spurious ambiguities in the presence of user-defined
13978 operators in the context of (an instance of) a predefined unit.
13979
1e569204
AC
139802014-01-20 Robert Dewar <dewar@adacore.com>
13981
13982 * gnat_rm.texi: Document that Loop_Variant is included in
13983 Statement_Assertions.
13984 * sem_prag.adb (Check_Kind): Add Loop_Variant to
13985 Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
13986 to Statement_Assertions.
13987
139882014-01-20 Doug Rupp <rupp@adacore.com>
13989
13990 * sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
13991 for errno ENOENT from RTP on NFS mounted file system.
13992
0969e96d
AC
139932014-01-20 Ed Schonberg <schonberg@adacore.com>
13994
13995 * sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
13996 examine code that does not come from source. The check does not
13997 apply to code generated for constraint checks, and such code may
13998 generate spurious error messages when compiled with expansion
13999 disabled (as in a generic unit) because side effects may not
14000 have been removed.
14001 2) Make error messages more explicit: indicate the component
14002 of the construct whose value is indeterminate because of a
14003 call to a function with in-out parameter in another component,
14004 when there is no mandated order of execution between the two
14005 components (actuals, aggregate components, alternatives).
14006
140072014-01-20 Robert Dewar <dewar@adacore.com>
14008
14009 * gnat_rm.texi: Minor cleanup.
14010
36eef04a
AC
140112014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14012
14013 * sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
14014 can now apply to a refined postcondition.
14015 * sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
14016 variable Result_Seen. Add variables Case_Prag, Post_Prag,
14017 Seen_In_Case and Seen_In_Post. Update the mechanism that detects
14018 whether postconditions and/or constract-cases mention attribute
14019 'Result and introduce a post-state when applied to functions.
14020 (Check_Result_And_Post_State): Removed.
14021 * sem_prag.adb (Analyze_Pragma): Add local variable
14022 Result_Seen. Verify that the expression of pragma Refined_Post
14023 mentions attribute 'Result and introduces a post-state.
14024 * sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.
14025
140262014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14027
14028 * exp_ch7.adb (Is_Subprogram_Call): New routine.
14029 (Process_Transient_Objects): Make variable Must_Hook global with
14030 respect to all locally declared subprograms. Search the context
14031 for at least one subprogram call.
14032 (Requires_Hooking): Removed.
14033
140342014-01-20 Claire Dross <dross@adacore.com>
14035
14036 * a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
14037 * a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
14038 External_Axiomatization);
14039
65441a1e
RD
140402014-01-20 Robert Dewar <dewar@adacore.com>
14041
14042 * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
14043 Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
14044 * sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
14045 Allow Loop_Entry to be used in these pragmas if they appear in
14046 an appropriate context.
14047 (Placement_Error): Specialize error
14048 message for pragma Assert[_And_Cut] or pragma Assume containing
14049 Loop_Entry attribute.
14050 * a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
14051 * s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
14052 and code clean ups.
14053
800da977
AC
140542014-01-20 Robert Dewar <dewar@adacore.com>
14055
14056 * gnat1drv.adb: Minor comment update.
14057
140582014-01-20 Tristan Gingold <gingold@adacore.com>
14059
14060 * raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
14061 variables, comment out unused code.
14062 * a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
14063 * s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
14064 * s-excmac-arm.ads: New file.
14065
140662014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14067
14068 * exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
14069 Drange and Index_Typ. Remove the circuitry which creates a
14070 range check to compare the index type of the array against the
14071 discrete_range.
14072 * sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
14073 the circuitry which creates a range check to handle a
14074 discrete_range denoted by a subtype indication.
14075
140762014-01-20 Pierre-Marie Derodat <derodat@adacore.com>
14077
14078 * sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
14079 nodes to get the original sloc range.
14080
140812014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14082
14083 * sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
14084 entity of a [library level] package.
14085
51b0e05a
AC
140862014-01-20 Tristan Gingold <gingold@adacore.com>
14087
14088 * raise-gcc.c (exception_class_eq): New function.
14089 (is_handled_by): Use it to compare exception classes.
14090 (PERSONALITY_STORAGE): Define. (continue_unwind): New function to
14091 be called to return URC_CONTINUE_UNWIND.
14092 (personality_body): New function, extracted from PERSONALITY_ROUTINE.
14093 (PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.
14094
140952014-01-20 Robert Dewar <dewar@adacore.com>
14096
14097 * opt.ads: Minor comment update.
14098
5ff90f08
AC
140992014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14100
14101 * exp_ch4.adb (Expand_N_Slice): Relocate some variables and
14102 constants to the "Local variables" area. Add new constant D. Add
14103 new variables Drange and Index_Typ. Rename Pfx to Rep and Ptp
14104 to Pref_Typ and update all occurrences. Add circuitry to extract
14105 the discrete_range and the index type and build a range check.
14106
141072014-01-20 Arnaud Charlet <charlet@adacore.com>
14108
14109 * gnat1drv.adb (Adjust_Global_Switches): Enable
14110 Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
14111 is set.
14112
141132014-01-20 Thomas Quinot <quinot@adacore.com>
14114
14115 * sem_ch5.adb, sem_ch4.adb: Minor reformatting.
14116
141172014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14118
14119 * sem_ch13.adb (Analyze_Aspect_Specifications):
14120 When aspect SPARK_Mode appears on a package body, insert the
14121 generated pragma at the top of the body declarations.
14122
1f0b1e48
RD
141232014-01-20 Robert Dewar <dewar@adacore.com>
14124
14125 * sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
14126 checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
14127 expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
14128 sem_ch8.adb, exp_dist.adb: Minor reformatting.
14129
c093d3cc
AC
141302014-01-20 Yannick Moy <moy@adacore.com>
14131
14132 * gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
14133 mode.
14134
141352014-01-20 Pascal Obry <obry@adacore.com>
14136
14137 * g-arrspl.ads (Slice_Set): New definition (will use a copy on
14138 write scheme).
14139 * g-arrspl.adb: Adapt all routine to this new implementation.
14140 (Set): Copy the Slice_Set definition before reusing it.
14141
0bd75e44
AC
141422014-01-20 Arnaud Charlet <charlet@adacore.com>
14143
14144 * sem_prag.adb (Process_Import_Or_Interface): In
14145 Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
14146 (Analyze_Pragma): Ditto for pragma Export.
14147 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
14148 Import style.
14149
aca90db9
AC
141502014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14151
14152 * einfo.ads: E_Abstract_State is now part of the entities that
14153 can be overloaded. Update type Overloadable_Kind to reflect the
14154 inclusion of abstract states.
14155 * sem_ch6.adb (New_Overloaded_Entity): A function can now
14156 overload an abstract state.
14157 * sem_prag.adb (Analyze_Constituent): Handle the overloading
14158 of states by functions. Use Entity_Of to obtain the entity of
14159 a constituent. (Analyze_Global_Item): Handle the overloading of
14160 states by functions.
14161 (Analyze_Initialization_Item): Handle the
14162 overloading of states by functions. Use Entity_Of to obtain the
14163 entity of an item.
14164 (Analyze_Input_Item): Handle the overloading
14165 of states by functions. Use Entity_Of to obtain the entity of an item.
14166 (Analyze_Input_Output): Handle the overloading of states by functions.
14167 (Analyze_Refinement_Clause): Handle the overloading
14168 of states by functions. Use Entity_Of to obtain the entity of an item.
14169 (Appears_In): Use Entity_Of to obtain the entity of an element.
14170 (Check_Usage): Use Entity_Of to obtain the entity of
14171 an item. Add a guard to prevent a crash due to a previous error.
14172 (Resolve_State): New routine.
14173
141742014-01-20 Yannick Moy <moy@adacore.com>
14175
14176 * spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
14177 opt.ads: Minor comments updates.
14178
dc726757
HK
141792014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
14180
14181 * einfo.adb (Non_Limited_View): Applies to abstract states.
14182 (Set_From_Limited_With): Applies to abstract states.
14183 (Set_Non_Limited_View): Applies to abstract states.
14184 (Write_Field17): Output the non-limited view of an abstract state.
14185 * einfo.ads: Update the comment on usage and occurrences in
14186 nodes for attributes From_Limited_With and Non_Limited_View.
14187 * sem_aux.adb (Available_View): This routine can now handle
14188 abstract states.
14189 * sem_aux.ads (Available_View): This routine can now handle
14190 abstract states. Update the comment on usage.
14191 * sem_ch8.adb (Find_Expanded_Name): Handle abstract views
14192 of states and variables.
14193 (In_Pragmas_Depends_Or_Global): New routine.
14194 * sem_ch10.adb (Build_Limited_Views): Implement
14195 abstract (limited) views of variables and states.
14196 (Build_Shadow_Entity): This routine is now a procedure. Add
14197 formal parameter Shadow. Update the comment on usage. Add
14198 context-specific decoration for states and variables.
14199 (Decorate_State): New routine. (Decorate_Variable): New routine.
14200 (Find_And_Process_States): New routine.
14201 (Process_Declarations): Renamed to Process_Declarations_And_States.
14202 (Process_Declarations_And_States): Add formal parameters
14203 Pack and Create_Abstract_Views. Update the comment on usage.
14204 (Process_States): New routine.
14205 * sem_prag.adb (Check_Dependency_Clause): Handle abstract
14206 views of states and variables. Match the abstract view of a state
14207 against its corresponding non-abstract view.
14208 (Is_Matching_Input):
14209 Handle abstract views of states and variables. Match the abstract
14210 view of a state against its corresponding non-abstract view.
14211 (Process_Global_Item): Handle abstract views of states and
14212 variables.
14213
3a5de596
BD
142142014-01-20 Bob Duff <duff@adacore.com>
14215
14216 * sem_ch10.adb (Expand_With_Clause): Don't
14217 recurse on the prefix if the current with-ed name refers to a
14218 package that renames its own parent, eg "package P.Q renames P;".
14219
4460a9bc
YM
142202014-01-20 Yannick Moy <moy@adacore.com>
14221
14222 * exp_spark.adb (Expand_SPARK_Call): Remove procedure.
14223 * opt.adb, opt.ads (Full_Expander_Active): Remove function.
14224 * checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
14225 * sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
14226 * sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
14227 Expander_Active.
14228
142292014-01-20 Yannick Moy <moy@adacore.com>
14230
14231 * sinfo.ads Update documentation of GNATprove mode.
14232
f5da7a97
YM
142332014-01-20 Yannick Moy <moy@adacore.com>
14234
14235 * adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
14236 * exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
14237 * sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
14238 * sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
14239 GNATprove_Mode.
14240 * sem_ch13.adb: Remove blank.
14241 * exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
14242 subprograms by alias for renamings, not for inherited primitive
14243 operations.
14244 * exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
14245 in GNATprove mode.
14246 (Remove_Side_Effects): Apply the removal in
14247 GNATprove mode, for the full analysis of expressions.
14248 * expander.adb (Expand): Call the light SPARK expansion in GNATprove
14249 mode.
14250 (Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
14251 save/restore actions for Expander_Active flag in GNATprove mode,
14252 similar to what is done in ASIS mode.
14253 * frontend.adb (Frontend): Generic bodies are instantiated in
14254 GNATprove mode.
14255 * gnat1drv.adb (Adjust_Global_Switches): Set operating
14256 mode to Check_Semantics in GNATprove mode, although a light
14257 expansion is still performed.
14258 (Gnat1drv): Set Back_End_Mode to
14259 Declarations_Only in GNATprove mode, and later on special case
14260 the GNATprove mode to continue analysis anyway.
14261 * lib-writ.adb (Write_ALI): Always generate ALI files in
14262 GNATprove mode.
14263 * opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
14264 Expander_Active.
14265 (SPARK_Mode): Renamed as GNATprove_Mode.
14266 * sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
14267 tree in GNATprove_Mode.
14268 * sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
14269 body in GNATprove mode.
14270 (Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
14271 mode.
14272 * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
14273 Make sure side effects are removed in GNATprove mode.
14274
fd6e497e
EB
142752014-01-20 Eric Botcazou <ebotcazou@adacore.com>
14276
14277 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
14278 for aliased objects with an unconstrained nominal subtype.
14279 * gcc-interface/trans.c (Call_to_gnu): Likewise.
14280 (gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
14281 <case N_Op_Minus>: Remove useless code.
14282 (Exception_Handler_to_gnu_zcx): Minor tweaks.
14283
44e9e3ec
EB
142842014-01-20 Eric Botcazou <ebotcazou@adacore.com>
14285
14286 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
14287 Tidy up. For a subtype with discriminants and variant part, if a
14288 variant is statically selected and the fields all have a constant
14289 position, put them in order of increasing position. Likewise if
14290 no variant part but representation clause is present.
14291 * gcc-interface/utils.c (make_packable_type): Robustify.
14292 (maybe_pad_type): Use local variable and tidy up condition. If no
14293 alignment is specified, use the original one.
14294 (create_type_stub_decl): Minor tweak.
14295 (convert) <case VECTOR_CST>: Fix typo.
14296 <case CONSTRUCTOR>: Deal with padding types around the same type.
14297 Do not punt on missing fields.
14298 (unchecked_convert): Call finish_record_type to lay out the special
14299 record types made for conversions from/to problematic integer types.
14300 Bump the alignment of CONSTRUCTORs before converting them to a more
14301 aligned type.
14302
59f5c969
EB
143032014-01-20 Eric Botcazou <ebotcazou@adacore.com>
14304
14305 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
14306 obsolete code for type_annotate_only mode, simplify code and slightly
14307 improve wording of comments.
14308
2323a580
EB
143092014-01-12 Eric Botcazou <ebotcazou@adacore.com>
14310
14311 PR ada/59772
14312 * gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type
14313 as intermediate type.
14314 (UI_To_gnu): Likewise.
14315
517c399e
EB
143162014-01-03 Eric Botcazou <ebotcazou@adacore.com>
14317
14318 * gnatvsn.ads (Current_Year): Bump to 2014.
14319
98db73df 143202014-01-02 Tobias Burnus <burnus@net-b.de>
00f96dc9 14321
98db73df 14322 * gnat_ugn.texi: Bump @copying's copyright year.
ad41bd84 14323\f
98db73df 14324Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
14325
14326Copying and distribution of this file, with or without modification,
14327are permitted in any medium without royalty provided the copyright
14328notice and this notice are preserved.