Minor fix
[gcc.git] / gcc / ada / ChangeLog
1 2015-02-23 Thomas Schwinge <thomas@codesourcery.com>
2
3 * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of
4 arguments parameter.
5 (DEF_FUNCTION_TYPE_VAR_12): Likewise.
6
7 2015-02-22 Arnaud Charlet <charlet@adacore.com>
8
9 * doc/Makefile: postprocess texinfo files to update @dircategory
10 and update texi files under gcc/ada.
11 * gnat_ugn.texi, gnat_rm.texi: Regenerated.
12
13 2015-02-22 Arnaud Charlet <charlet@adacore.com>
14
15 * doc/gnat_ugn/project-manager-figure.png,
16 doc/gnat_ugn/rtlibrary-structure.png: New.
17
18 2015-02-22 Tom de Vries <tom@codesourcery.com>
19
20 PR ada/65100
21 * gnat-style.texi (@subsection Loop Statements): Replace @noindent by
22 @item, and fix warning '@itemize has text but no @item'.
23
24 2015-02-20 Ed Schonberg <schonberg@adacore.com>
25
26 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
27 legally applies to an abstract subprogram declaration.
28 * freeze.adb: Minor comment addition.
29
30 2015-02-20 Robert Dewar <dewar@adacore.com>
31
32 * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.
33 * erroutc.adb (Set_Msg_Str): Replace _xxx.
34 (Pre/Post/Type_Invariant) by xxx'Class.
35 * erroutc.ads (Set_Msg_Str): Replace _xxx.
36 (Pre/Post/Type_Invariant) by xxx'Class.
37 * sem_prag.adb (Fix_Error): Remove special casing of
38 Name_uType_Invariant.
39 (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of
40 Name_uPre and Name_uPost in aspect case (done in Errout now).
41
42 2015-02-20 Robert Dewar <dewar@adacore.com>
43
44 * g-alveop.adb: Minor style fixes.
45
46 2015-02-20 Robert Dewar <dewar@adacore.com>
47
48 * freeze.adb (Warn_Overlay): Guard against blow up with address
49 clause.
50
51 2015-02-20 Bob Duff <duff@adacore.com>
52
53 * exp_attr.adb (May_Be_External_Call): Remove this. There is no need
54 for the compiler to guess whether the call is internal or external --
55 it is always external.
56 (Expand_Access_To_Protected_Op): For P'Access, where P
57 is a protected subprogram, always create a pointer to the
58 External_Subprogram.
59
60 2015-02-20 Robert Dewar <dewar@adacore.com>
61
62 * a-dispat.adb, a-stcoed.ads: Minor reformatting.
63
64 2015-02-20 Robert Dewar <dewar@adacore.com>
65
66 * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static
67 predicate for non-static subtype.
68 (Build_Predicate_Functions): Do not assume subtype associated with a
69 static predicate must be static.
70
71 2015-02-20 Robert Dewar <dewar@adacore.com>
72
73 * errout.adb (Set_Msg_Node): Better handling of internal names
74 (Set_Msg_Node): Kill message when we cannot eliminate internal name.
75 * errout.ads: Document additional case of message deletion.
76 * namet.adb (Is_Internal_Name): Refined to consider wide
77 strings in brackets notation and character literals not to be
78 internal names.
79 * sem_ch8.adb (Find_Selected_Component): Give additional error
80 when selector name is a subprogram whose first parameter has
81 the same type as the prefix, but that type is untagged.
82
83 2015-02-20 Robert Dewar <dewar@adacore.com>
84
85 * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
86
87 2015-02-20 Tristan Gingold <gingold@adacore.com>
88
89 * opt.ads (GNAT_Mode_Config): New variable.
90 * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config
91 to set Assertions_Enabled.
92 * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config
93 for -gnatg.
94
95 2015-02-20 Robert Dewar <dewar@adacore.com>
96
97 * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional
98 comment regarding the handling of unterminated fixed-point
99 constants.
100 * s-valuns.ads (Scan_Raw_Unsigned): Add comments
101 corresponding to those previously added for
102 System.Val_LLU.Scan_Raw_Long_Long_Unsigned.
103
104 2015-02-20 Olivier Hainque <hainque@adacore.com>
105
106 * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups.
107
108 2015-02-20 Robert Dewar <dewar@adacore.com>
109
110 * sem_prag.adb: Minor comment clarification.
111
112 2015-02-20 Olivier Hainque <hainque@adacore.com>
113
114 * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove.
115 * g-alleve.ads, g-alleva.adb (vcfux): Likewise.
116 * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions.
117 (vec_ctf): Now renamings as well.
118
119 2015-02-20 Robert Dewar <dewar@adacore.com>
120
121 * switch-c.adb, bindgen.adb: Minor reformatting.
122
123 2015-02-20 Ed Schonberg <schonberg@adacore.com>
124
125 * sem_prag.adb (Analyze_Pragma, case Type_Invariant):
126 Invariant'class is allowed on an abstract type.
127
128 2015-02-20 Ed Schonberg <schonberg@adacore.com>
129
130 * sem_ch3.adb (Access_Definition): If the access definition is
131 for a protected component and defines an access to protected
132 subprogram, do not create an itype reference for it because a
133 full type declaration will be built in order to generate the
134 proper equivalent type.
135 (Analyze_Subtype_Declaration): Add information of incomplete
136 subtypes, for Ada 2012 extended uses of incomplete types.
137
138 2015-02-20 Gary Dismukes <dismukes@adacore.com>
139
140 * sem_res.adb: Minor reformatting.
141
142 2015-02-20 Vincent Celier <celier@adacore.com>
143
144 * switch-c.adb (Scan_Front_End_Switches): When comparing runtime
145 path name for several switches --RTS, use the normalized path
146 names.
147
148 2015-02-20 Vincent Celier <celier@adacore.com>
149
150 * bindgen.adb: Minor reformatting and code reorganization.
151
152 2015-02-20 Jose Ruiz <ruiz@adacore.com>
153
154 * a-stcoed.ads: Add spec for this package (Unimplemented_Unit).
155 * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as
156 defined by Ada 2012.
157
158 2015-02-20 Arnaud Charlet <charlet@adacore.com>
159
160 * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove
161 obsolete references to RTX, nucleus, VMS.
162
163 2015-02-20 Ed Schonberg <schonberg@adacore.com>
164
165 * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
166 aspect, use name that mentions Class explicitly, rather than
167 compiler-internal name.
168
169 2015-02-20 Robert Dewar <dewar@adacore.com>
170
171 * debug.adb: Add documentation for -gnatd.2 (allow statements
172 in decl sequences).
173 * par-ch3.adb (P_Identifier_Declarations): Handle
174 statement appearing where declaration expected more cleanly.
175 (Statement_When_Declaration_Expected): Implement debug flag
176 -gnatd.2.
177
178 2015-02-20 Jose Ruiz <ruiz@adacore.com>
179
180 * a-dinopr.ads: Add spec for this package (Unimplemented_Unit).
181 * a-dispat.ads (Yield): Include procedure added in Ada 2012.
182 * a-dispat.adb (Yield): Implement procedure added in Ada 2012.
183 * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as
184 defined by Ada 2005.
185 * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities):
186 This is the correct name for the dispatching policy (FIFO was
187 missing).
188
189 2015-02-20 Javier Miranda <miranda@adacore.com>
190
191 * sem_res.adb (Resolve_Type_Conversion): If the type of the
192 operand is the limited-view of a class-wide type then recover
193 the class-wide type of the non-limited view.
194
195 2015-02-20 Arnaud Charlet <charlet@adacore.com>
196
197 * gcc-interface/Makefile.in: Remove references to nucleus.
198 * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
199 extern_flag to true for Inline_Always subprograms with
200 Intrinsic convention.
201
202 2015-02-20 Yannick Moy <moy@adacore.com>
203
204 * sem_prag.ads: Minor typo in comment.
205
206 2015-02-20 Pascal Obry <obry@adacore.com>
207
208 * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode.
209
210 2015-02-20 Vincent Celier <celier@adacore.com>
211
212 * makeutl.adb (Get_Directories.Add_Dir): Add a directory only
213 if it exists.
214
215 2015-02-20 Robert Dewar <dewar@adacore.com>
216
217 * sem_eval.ads: Minor reformatting.
218
219 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
220
221 * freeze.adb (Size_Known): Do not set the packed size for
222 independent type or component.
223 (Freeze_Array_Type): Check for Independent[_Components] with packing
224 or explicit component size clause.
225 * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation
226 of independence pragmas only for non-GCC back-ends.
227 * sem_ch13.adb (Initialize): Likewise for the initialization.
228 * sem_prag.adb (Record_Independence_Check): New procedure to record an
229 independence check in the table.
230 (Analyze_Pragma): Use it throughout instead of doing it manually.
231 * gcc-interface/decl.c (gnat_to_gnu_field): Add support for
232 independent type or component.
233
234 2015-02-20 Thomas Quinot <quinot@adacore.com>
235
236 * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of
237 struct direct and readdir. This is required for NFS filesystems
238 mounted from servers that use 64-bit cookies.
239
240 2015-02-20 Ed Schonberg <schonberg@adacore.com>
241
242 * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram
243 Build_Subprogram_Renaming, to create renaming of subprogram
244 instance in the the declaration of the wrapper package rather
245 than in its body, so that it is available for analysis of aspects
246 propagated from generic to instantiation.
247 (Check_Mismatch): An actual for a formal package that is an
248 incomplete type matches a formal type that is incomplete.
249 (Instantiate_Package_Body): Move code that builds subprogram
250 renaming to Analyze_Subprogram_Instantiation.
251 (Instantiate_Type): The generated subtype is a limited view if
252 the actual is a limited view.
253 (Load_Parent_Of_Generic): Retrieve instance declaration from
254 its new position within wrapper package.
255
256 2015-02-20 Arnaud Charlet <charlet@adacore.com>
257
258 * s-parame-vxworks.adb, s-os_lib.ads: Update comments.
259
260 2015-02-20 Robert Dewar <dewar@adacore.com>
261
262 * s-osinte-vxworks.ads (To_Timespec): Add comment about the
263 issue of negative arguments.
264
265 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
266
267 * gnat1drv.adb: Minor consistency fix.
268
269 2015-02-20 Pascal Obry <obry@adacore.com>
270
271 * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all
272 paths.
273
274 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
275
276 * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram
277 renamings.
278 * exp_ch6.adb (Expand_Call): Use back-end inlining
279 instead of expansion for simple subprogram renamings.
280
281 2015-02-20 Robert Dewar <dewar@adacore.com>
282
283 * exp_util.adb: Minor reformatting.
284
285 2015-02-20 Vincent Celier <celier@adacore.com>
286
287 * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS=
288 is specified several times with different values that indicates
289 the same runtime directory.
290
291 2015-02-20 Ed Schonberg <schonberg@adacore.com>
292
293 * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to
294 handle properly illegal uses of attributes on prefixes on an
295 incomplete type, both when the type of the prefix is locally
296 incomplete, and when it is a limited view of a type whose
297 non-limited view is not available.
298 (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for
299 'Address and others.
300
301 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
302
303 * exp_ch6.adb: Fix minor typo in comment.
304
305 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
306
307 * sinfo.ads: Add comment.
308
309 2015-02-20 Olivier Hainque <hainque@adacore.com>
310
311 * opt.ads: Replace Opt.Suppress_All_Inlining by two separate
312 flags controlling the actual FE inlining out of pragma Inline
313 and pragma Inline_Always.
314 * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
315 on -fno-inline, which disables all inlining in compilers with
316 an Ada back-end and without back-end inlining support.
317 * back_end.adb (Scan_Back_End_Switches): Set the Inline related
318 flag to True on -fno-inline and leave Inline_Always alone for
319 gcc back-ends.
320 * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
321 names of the Opt flags it sets.
322 * gnat1drv.adb (Adjust_Global_Switches): Remove test on
323 Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
324 * sem_prag.adb (Make_Inline): Remove early return conditioned
325 on Opt.Suppress_All_Inlining.
326 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
327 disable the calls to Build_Body_To_Inline otherwise triggered
328 by pragma Inline or Inline_Always. This will prevent actual
329 front-end inlining of the subprogram on calls.
330
331 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
332
333 * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the
334 Abort_Undefer_Direct function.
335 * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
336 * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
337 * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise.
338 * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to
339 Add_Inlined_Body.
340 * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body.
341 Remove call to Register_Backend_Call and move code resetting
342 Needs_Debug_Info on inlined subprograms to...
343 * inline.ads (Add_Inlined_Body): Add N parameter.
344 (Register_Backend_Call): Delete.
345 * inline.adb (Add_Inlined_Body): ...here and simplify.
346 Register the call with Backend_Calls directly.
347 (Register_Backend_Call): Delete.
348 * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline.
349
350 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
351
352 * s-stalib.ads: Fix typo.
353
354 2015-02-20 Ed Schonberg <schonberg@adacore.com>
355
356 * exp_ch3.adb (Default_Initialize_Object): If the object has a
357 delayed freeze, the actions associated with default initialization
358 must be part of the freeze actions, rather that being inserted
359 directly after the object declaration.
360
361 2015-02-20 Robert Dewar <dewar@adacore.com>
362
363 * lib-load.adb: Minor comment update.
364
365 2015-02-20 Vincent Celier <celier@adacore.com>
366
367 * prj-proc.adb (Process_Case_Construction): When there are
368 incomplete withed projects and the case variable is unknown,
369 skip the case construction.
370
371 2015-02-20 Ed Schonberg <schonberg@adacore.com>
372
373 * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks
374 when an actual is a view conversion, either because the call is
375 to an inherited operation, or because the actual is an explicit
376 type conversion to an ancestor type. Fixes ACATS 4.0D: C732001
377
378 2015-02-20 Robert Dewar <dewar@adacore.com>
379
380 * einfo.ads: Minor comment updates Fix missing pragma Inline
381 for Set_Partial_View_Has_Unknown_Discr.
382 * einfo.adb (Write_Entity_Flags): Add missing entry for
383 Partial_View_Has_Unknown_Discr.
384 * sem_ch3.adb: Minor reformatting.
385
386 2015-02-20 Vincent Celier <celier@adacore.com>
387
388 * opt.ads: Minor cleanup: remove mention of gprmake.
389 * s-stalib.ads (Abort_Undefer_Direct): Do not inline.
390 * s-tataat.adb: Do not call System.Tasking.Self but directly
391 System.Task_Primitives.Operations.Self.
392
393 2015-02-20 Arnaud Charlet <charlet@adacore.com>
394
395 * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from
396 sphinx in the doc directory.
397 * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn
398
399 2015-02-20 Robert Dewar <dewar@adacore.com>
400
401 * sem_res.adb: Minor reformatting.
402 * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when
403 building spec.
404 * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean
405 aspects from circuitry setting delay required to false if the
406 argument is an integer literal.
407
408 2015-02-20 Ed Schonberg <schonberg@adacore.com>
409
410 * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr): New flag
411 on type entities, to enforce AI12-0133: default initialization
412 of types whose partial view has unknown discriminants does not
413 get an invariant check, because clients of the unit can never
414 declare objects of such types.
415 * sem_ch3.adb (Find_Type_Name); Set new flag
416 Partial_View_Has_Unknown_Discr when needed.
417 * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress
418 generation of invariant call on default-initialized object.
419
420 2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
421
422 * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding
423 if the parameter either is passed by reference or if the alignment
424 would be lowered.
425
426 2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
427
428 * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to
429 detect primitive operations of tagged and untagged types.
430
431 2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
432
433 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
434 sets in presence of derivation for subprogram types.
435
436 2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
437
438 * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
439 present in the same context as the declaration.
440
441 2015-02-07 Jakub Jelinek <jakub@redhat.com>
442
443 PR middle-end/64340
444 * gcc-interface/trans.c (gigi): Recreate optimization_default_node
445 and optimization_current_node after tweaking global_options.
446
447 2015-02-05 Robert Dewar <dewar@adacore.com>
448
449 * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
450 prj-nmsc.adb: Minor reformatting.
451
452 2015-02-05 Ed Schonberg <schonberg@adacore.com>
453
454 * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
455 of a protected type may not be available, so to check conformance
456 with an interface type, examine the interface list in the type
457 declaration directly.
458 (Write_Overloads): Improve information for indirect calls,
459 for debugger use.
460
461 2015-02-05 Ed Schonberg <schonberg@adacore.com>
462
463 * exp_ch3.adb (Make_Tag_Assignment): Do not perform this
464 expansion activity in ASIS mode.
465
466 2015-02-05 Javier Miranda <miranda@adacore.com>
467
468 * errout.adb (Error_Msg_PT): Add missing error.
469 * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
470 RM rule. Code cleanup.
471 * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
472 anonymous access types. Found working on the tests. Code cleanup.
473
474 2015-02-05 Vincent Celier <celier@adacore.com>
475
476 * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
477 when there are incomplete withs.
478 * prj-nmsc.adb (Process_Naming): Do not try to get the value
479 of an element when it is nil.
480 (Check_Naming): Do not check a nil suffix for illegality
481 * prj-proc.adb (Expression): Do not process an empty term.
482 * prj-strt.adb (Attribute_Reference): If attribute cannot be
483 found, parse a possible index to avoid cascading errors.
484
485 2015-02-05 Ed Schonberg <schonberg@adacore.com>
486
487 * sem_aux.adb (Is_Derived_Type): A subprogram_type generated
488 for an access_to_subprogram declaration is not a derived type.
489
490 2015-02-05 Robert Dewar <dewar@adacore.com>
491
492 * errout.adb (Error_Msg_Internal): For non-serious error set
493 Fatal_Error to Ignored.
494 * lib-load.adb (Load_Unit): Minor comment updates.
495 * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
496 setting from with'ed unit to with'ing unit.
497 * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
498 of ambiguity.
499
500 2015-02-05 Yannick Moy <moy@adacore.com>
501
502 * sem_prag.adb, par-prag.adb: Minor code clean up.
503
504 2015-02-05 Yannick Moy <moy@adacore.com>
505
506 * par-prag.adb (Pragma_Warnings): Update for extended form
507 of pragma Warnings. The "one" argument case may now have 2 or
508 3 arguments.
509 * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
510 extended form of pragma Warnings. Pragma with tool name is either
511 rewritten as null or as an equivalent form without tool name,
512 before reanalysis.
513 * snames.ads-tmpl (Name_Gnatprove): New name.
514
515 2015-02-05 Robert Dewar <dewar@adacore.com>
516
517 * sem_ch13.adb (Add_Invariants): Don't assume invariant is
518 standard Boolean.
519 * sem_prag.adb (Analyze_Pragma, case Check): Don't assume
520 condition is standard Boolean, it can be non-standard derived
521 Boolean.
522
523 2015-02-05 Robert Dewar <dewar@adacore.com>
524
525 * checks.adb (Enable_Range_Check): Disconnect attempted
526 optimization for the case of range check for subscript of
527 unconstrained array.
528
529 2015-02-05 Robert Dewar <dewar@adacore.com>
530
531 * par-ch13.adb (With_Present): New function
532 (Aspect_Specifications_Present): Handle WHEN in place of WITH
533 (Get_Aspect_Specifications): Comment update.
534 * par.adb: Comment updates.
535
536 2015-02-05 Robert Dewar <dewar@adacore.com>
537
538 * errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
539 * frontend.adb (Frontend): New setting of Fatal_Error.
540 * lib-load.adb (Create_Dummy_Package_Unit): New setting of
541 Fatal_Error.
542 (Load_Main_Source): New setting of Fatal_Error
543 (Load_Unit): New setting of Fatal_Error.
544 * lib-writ.adb (Add_Preprocessing_Dependency): New setting of
545 Fatal_Error.
546 (Ensure_System_Dependency): New setting of Fatal_Error.
547 * lib.adb (Fatal_Error): New setting of Fatal_Error
548 (Set_Fatal_Error): New setting of Fatal_Error.
549 * lib.ads: New definition of Fatal_Error and associated routines.
550 * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
551 * par-load.adb (Load): New setting of Fatal_Error.
552 * rtsfind.adb (Load_RTU): New setting of Fatal_Error.
553 * sem_ch10.adb (Analyze_Compilation_Unit): New setting of
554 Fatal_Error.
555 (Optional_Subunit): New setting of Fatal_Error.
556 (Analyze_Proper_Body): New setting of Fatal_Error.
557 (Load_Needed_Body): New setting of Fatal_Error.
558
559 2015-02-05 Ed Schonberg <schonberg@adacore.com>
560
561 * sem_res.adb (Resolve_Call): If the function being called has
562 out parameters do not check for language version if the function
563 comes from a predefined unit, as those are always compiled in
564 Ada 2012 mode.
565
566 2015-02-05 Ed Schonberg <schonberg@adacore.com>
567
568 * sem_ch3.adb (Process_Full_View): Verify that the full view
569 of a type extension must carry an explicit limited keyword if
570 the partial view does (RM 7.3 (10.1)).
571
572 2015-02-05 Robert Dewar <dewar@adacore.com>
573
574 * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
575 sem_warn.ads: Minor reformatting.
576 * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
577 deleted by -gnatI.
578 * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
579 error for abstract type.
580
581 2015-02-05 Yannick Moy <moy@adacore.com>
582
583 * opt.ads (Warn_On_Suspicious_Contract): Update comment
584 describing use.
585 * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
586 suspicious uses of 'Update.
587 * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
588 function issues warning on suspicious uses of 'Update.
589 * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
590 package spec and body as SPARK_Mode Off.
591
592 2015-02-05 Robert Dewar <dewar@adacore.com>
593
594 * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
595 (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
596 (Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
597 * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
598 for exported entity.
599
600 2015-02-05 Hristian Kirtchev <kirtchev@adacore.com>
601
602 * sem_prag.adb (Check_Pragma_Conformance): Add
603 local variable Arg. Ensure that all errors are associated with
604 the pragma if it appears without an argument. Add comments on
605 various cases.
606
607 2015-02-05 Robert Dewar <dewar@adacore.com>
608
609 * lib-xref.adb: Minor reformatting.
610
611 2015-02-05 Tristan Gingold <gingold@adacore.com>
612
613 PR ada/64349da/64349
614 * env.c: Fix thinko: handle Darwin case before default one.
615
616 2015-01-30 Robert Dewar <dewar@adacore.com>
617
618 * a-assert.adb: Minor reformatting.
619 * sem_ch13.adb: Minor comment clarification.
620 * types.ads: Minor comment update.
621 * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
622 when we have a predicate that is nothing but an inherited dynamic
623 predicate.
624
625 2015-01-30 Jerome Guitton <guitton@adacore.com>
626
627 * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
628 include cert link spec.
629
630 2015-01-30 Robert Dewar <dewar@adacore.com>
631
632 * einfo.ads: Minor comment fix.
633 * freeze.adb (Freeze_Profile): Add test for suspicious import
634 in pure unit.
635 * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
636 use in Pure unit is now moved to Freeze (to properly catch
637 Pure_Function exemption).
638
639 2015-01-30 Bob Duff <duff@adacore.com>
640
641 * sem_res.ads: Minor comment fix.
642 * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
643 check both operands of an operator.
644
645 2015-01-30 Yannick Moy <moy@adacore.com>
646
647 * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
648 policy for Pre to Ignore.
649 (Assert): Add precondition.
650
651 2015-01-30 Robert Dewar <dewar@adacore.com>
652
653 * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
654 Pure unit.
655 * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
656 documentation for some special cases of invalid attempts at
657 based integers.
658
659 2015-01-30 Gary Dismukes <dismukes@adacore.com>
660
661 * errout.ads: Minor reformatting.
662
663 2015-01-30 Yannick Moy <moy@adacore.com>
664
665 * inline.adb (Process_Formals): Use the sloc of
666 the inlined node instead of the sloc of the actual parameter,
667 when replacing formal parameters by the actual one.
668
669 2015-01-30 Arnaud Charlet <charlet@adacore.com>
670
671 * g-expect.adb (Get_Command_Output): Use infinite timeout when
672 calling Expect.
673
674 2015-01-30 Ed Schonberg <schonberg@adacore.com>
675
676 * sem_ch12.adb (Analyze_Associations): If an in-parameter is
677 defaulted in an instantiation, add an entry in the list of actuals
678 to indicate the default value of the formal (as is already done
679 for defaulted subprograms).
680
681 2015-01-30 Javier Miranda <miranda@adacore.com>
682
683 * errout.adb (Error_Msg_PT): Minor error phrasing update.
684
685 2015-01-30 Robert Dewar <dewar@adacore.com>
686
687 * sem_warn.adb (Warn_On_Known_Condition): Improve error message
688 for object case.
689
690 2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com>
691
692 * exp_dbug.adb (Get_Encoded_Name): When
693 -fgnat-encodings=minimal, do not generate names for biased types.
694
695 2015-01-30 Tristan Gingold <gingold@adacore.com>
696
697 PR ada/64349
698 * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
699
700 2015-01-30 Gary Dismukes <dismukes@adacore.com>
701
702 * freeze.adb: Minor reformatting.
703
704 2015-01-30 Javier Miranda <miranda@adacore.com>
705
706 * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
707 improve its documentation.
708 * errout.adb (Error_Msg_PT): Improve the error message.
709 * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
710 (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
711 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
712
713 2015-01-30 Robert Dewar <dewar@adacore.com>
714
715 * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
716 message for False case.
717
718 2015-01-30 Doug Rupp <rupp@adacore.com>
719
720 * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
721 * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
722 kernel.
723
724 2015-01-30 Gary Dismukes <dismukes@adacore.com>
725
726 * sem_attr.adb (Declared_Within_Generic_Unit):
727 New function to test whether an entity is declared within the
728 declarative region of a given generic unit.
729 (Resolve_Attribute): For checking legality of subprogram'Access within
730 a generic unit, call new Boolean function Declared_Within_Generic_Unit
731 instead of simply comparing the results of Enclosing_Generic_Unit on
732 the prefix and access type. Correct minor comment typos.
733
734 2015-01-30 Robert Dewar <dewar@adacore.com>
735
736 * freeze.adb, exp_util.ads: Update comment.
737 * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
738 * sem_util.adb: Minor: fix typo.
739
740 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
741
742 * sem_attr.adb (Analyze_Attribute): Ensure that
743 the check concerning Refined_Post takes precedence over the
744 other cases.
745
746 2015-01-30 Gary Dismukes <dismukes@adacore.com>
747
748 * sem_prag.adb: Minor typo fixes and reformatting.
749
750 2015-01-30 Yannick Moy <moy@adacore.com>
751
752 * sem_attr.adb: Code clean up.
753
754 2015-01-30 Robert Dewar <dewar@adacore.com>
755
756 * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
757 * ali.ads (Unit_Record): Add new field Serious_Errors.
758 * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
759 attribute in U line.
760 * lib-writ.ads: New attribute SE (serious erors) in unit line.
761
762 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
763
764 * einfo.adb Update the usage of attributes Entry_Bodies_Array,
765 Lit_Indexes, Scale_Value, Storage_Size_Variable,
766 String_Literal_Low_Bound along associated routines and
767 Write_FieldX_Name.
768 (Pending_Access_Types): New routine.
769 (Set_Pending_Access_Types): New routine.
770 (Write_Field15_Name): Add an entry for Pending_Access_Types.
771 * einfo.ads Add new attribute Pending_Access_Types along
772 with usage in nodes. Update the usage of attributes
773 Entry_Bodies_Array, Lit_Indexes, Scale_Value,
774 Storage_Size_Variable, String_Literal_Low_Bound.
775 (Pending_Access_Types): New routine along with pragma Inline.
776 (Set_Pending_Access_Types): New routine along with pragma Inline.
777 * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
778 Ins_Node. Determine the insertion node for anonynous access type
779 that acts as a component type of an array. Update the call to
780 Build_Finalization_Master.
781 (Expand_Freeze_Record_Type): Update
782 the calls to Build_Finalization_Master.
783 (Freeze_Type): Remove
784 local variable RACW_Seen. Factor out the code that deals with
785 remote access-to-class-wide types. Create a finalization master
786 when the designated type contains a private component. Fully
787 initialize all pending access types.
788 (Process_RACW_Types): New routine.
789 (Process_Pending_Access_Types): New routine.
790 * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
791 needs to set primitive Finalize_Address.
792 (Expand_N_Allocator): Allocation no longer sets primitive
793 Finalize_Address.
794 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
795 Update the call to Build_Finalization_Master.
796 (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
797 needs to set primitive Finalize_Address.
798 * exp_ch7.adb (Add_Pending_Access_Type): New routine.
799 (Build_Finalization_Master): New parameter profile. Associate
800 primitive Finalize_Address with the finalization master if the
801 designated type has been frozen, otherwise treat the access
802 type as pending. Simplify the insertion of the master and
803 related initialization code.
804 (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
805 abstract types.
806 (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
807 Simplify the implementation.
808 * exp_ch7.ads (Build_Finalization_Master): New parameter profile
809 along with comment on usage.
810 (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
811 the comment on usage.
812 * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
813 Finalize_Address to retrieve the primitive.
814 (Finalize_Address): New routine.
815 (Find_Finalize_Address): Removed.
816 * exp_util.ads (Finalize_Address): New routine.
817 * freeze.adb (Freeze_All): Remove the generation of finalization
818 masters.
819 * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
820 pending access types from the partial to the full view.
821
822 2015-01-30 Robert Dewar <dewar@adacore.com>
823
824 * sem_disp.adb: Minor reformatting.
825 * sem_disp.ads: Documentation update.
826
827 2015-01-30 Ed Schonberg <schonberg@adacore.com>
828
829 * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
830 or a function call, return True if type is class-wide.
831 * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
832 Apply RM 4.5.7 (17/3): all or none of the dependent expression
833 of a conditional expression must be dynamically tagged.
834
835 2015-01-30 Ed Schonberg <schonberg@adacore.com>
836
837 * sem_ch6.adb (Analyze_Function_Return): In an extended return
838 statement, apply accessibility check to result object when there
839 is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
840
841 2015-01-30 Robert Dewar <dewar@adacore.com>
842
843 * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
844 Boolean for case where ELSE is omitted.
845 * sem_res.adb: Minor reformatting.
846
847 2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
848
849 Fix build under cygwin/64.
850 * adaint.h: Add check for __CYGWIN__.
851 * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
852
853 2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
854
855 PR ada/64640
856 * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
857 * mingw32.h: Don't include <tchar.h> under cygwin.
858 (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
859
860 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
861
862 * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
863 (DEF_FUNCTION_TYPE_VAR_12): New macros.
864
865 2015-01-09 Michael Collison <michael.collison@linaro.org>
866
867 * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
868 vec.h, double-int.h, input.h, alias.h, symtab.h,
869 fold-const.h, wide-int.h, and inchash.h due to
870 flattening of tree.h.
871 * gcc-interface/decl.c: Ditto.
872 * gcc-interface/misc.c: Ditto.
873 * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
874 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
875 fold-const.h, wide-int.h, and inchash.h due to
876 flattening of tree.h.
877 * gcc-interface/trans.c: Include hash-set.h, machmode.h,
878 vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
879 fold-const.h, wide-int.h, inchash.h due to
880 flattening of tree.h.
881 * gcc-interface/utils.c: Include hash-set.h, machmode.h,
882 vec.h, double-int.h, input.h, alias.h, symtab.h,
883 fold-const.h, wide-int.h, and inchash.h due to
884 flattening of tree.h.
885 * gcc-interface/utils2.c: Ditto.
886
887 2015-01-07 Robert Dewar <dewar@adacore.com>
888
889 * sem_warn.adb (Check_One_Unit): Don't give unused entities
890 warning for a package which is used as a generic parameter.
891
892 2015-01-07 Bob Duff <duff@adacore.com>
893
894 * usage.adb (Usage): Correct documentation of
895 -gnatw.f switches.
896
897 2015-01-07 Robert Dewar <dewar@adacore.com>
898
899 * s-fileio.adb: Minor reformatting.
900
901 2015-01-07 Ed Schonberg <schonberg@adacore.com>
902
903 * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
904 access to subprogram, replace its formals with new entities when
905 building the object declaration, both if actual is present and
906 when it is defaulted.
907
908 2015-01-07 Ed Schonberg <schonberg@adacore.com>
909
910 * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
911 conversion and type of expression has invariant, apply invariant
912 check on expression.
913
914 2015-01-07 Ed Schonberg <schonberg@adacore.com>
915
916 * sem_ch3.adb (Create_Constrained_Components): A call to
917 Gather_Components may detect an error if an inherited discriminant
918 that controls a variant is non-static.
919 * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
920 Gather_Components may report an error if an inherited discriminant
921 in a variant in non-static.
922 * sem_util.adb (Gather_Components): If a non-static discriminant
923 is inherited do not report error here, but let caller handle it.
924 (Find_Actual): Small optimization.
925
926 2015-01-07 Bob Duff <duff@adacore.com>
927
928 * usage.adb (Usage): Document -gnatw.f switch.
929
930 2015-01-07 Ed Schonberg <schonberg@adacore.com>
931
932 * sem_ch12.adb: Code clean up and minor reformatting.
933
934 2015-01-07 Robert Dewar <dewar@adacore.com>
935
936 * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
937 Raise_Accessibility_Error call.
938 * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
939 on handling of invalid digits in based constants.
940 * s-fatgen.ads: Minor reformatting.
941 * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
942 Avoid noting bogus modification for Valid test.
943 * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
944 * einfo.ads: Minor reformatting.
945 * sem_warn.adb: Minor comment clarification.
946 * sem_ch12.adb: Minor reformatting.
947
948 2015-01-07 Ed Schonberg <schonberg@adacore.com>
949
950 * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
951 over static predicates when the loop parameter specification
952 carries a Reverse indicator.
953
954 2015-01-07 Ed Schonberg <schonberg@adacore.com>
955
956 * sem_ch12.adb (Instantiate_Object): If formal has a default,
957 actual is missing and formal has an anonymous access type, copy
958 access definition in full so that tree for instance is properly
959 formatted for ASIS use.
960
961 2015-01-07 Bob Duff <duff@adacore.com>
962
963 * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
964 for P'Access, where P is a subprogram in the same package as
965 the P'Access, and the P'Access is evaluated at elaboration
966 time, and occurs before the body of P. For example, "X : T :=
967 P'Access;" would allow a subsequent call to X.all to be an
968 access-before-elaboration error; hence the warning. This warning
969 is enabled by the -gnatw.f switch.
970 * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
971 * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
972 * gnat_ugn.texi: Document the new warning.
973
974 2015-01-07 Johannes Kanig <kanig@adacore.com>
975
976 * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
977 cross ref files.
978
979 2015-01-07 Robert Dewar <dewar@adacore.com>
980
981 * s-taprop-linux.adb, clean.adb: Minor reformatting.
982
983 2015-01-07 Arnaud Charlet <charlet@adacore.com>
984
985 * s-tassta.adb: Relax some overzealous assertions.
986
987 2015-01-07 Ed Schonberg <schonberg@adacore.com>
988
989 * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
990 view of a type is legal when context is a thunk generated for
991 operation inherited from an interface.
992 * exp_ch6.adb (Expand_Simple_Function_Return): If context is
993 a thunk and return type is an incomplete type do not continue
994 expansion; thunk will be fully elaborated when generating code.
995
996 2015-01-07 Doug Rupp <rupp@adacore.com>
997
998 * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
999 (QueryPerformanceFrequency): New imported procedure.
1000 * s-taprop-mingw.adb (RT_Resolution): Call above and return
1001 resolution vice a hardcoded value.
1002 * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
1003 resolution vice a hardcoded value.
1004 * s-linux-android.ads (clockid_t): New subtype.
1005 * s-osinte-aix.ads (clock_getres): New imported subprogram.
1006 * s-osinte-android.ads (clock_getres): Likewise.
1007 * s-osinte-freebsd.ads (clock_getres): Likewise.
1008 * s-osinte-solaris-posix.ads (clock_getres): Likewise.
1009 * s-osinte-darwin.ads (clock_getres): New subprogram.
1010 * s-osinte-darwin.adb (clock_getres): New subprogram.
1011 * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
1012 * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
1013 calculate resolution vice hard coded value.
1014
1015 2015-01-07 Ed Schonberg <schonberg@adacore.com>
1016
1017 * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
1018 limited view, use non-limited view when available to create
1019 equivalent record type.
1020
1021 2015-01-07 Vincent Celier <celier@adacore.com>
1022
1023 * gnatcmd.adb: Remove command Sync and any data and processing
1024 related to this command. Remove project processing for gnatstack.
1025 * prj-attr.adb: Remove package Synchonize and its attributes.
1026
1027 2015-01-07 Vincent Celier <celier@adacore.com>
1028
1029 * clean.adb: Minor error message change.
1030
1031 2015-01-07 Tristan Gingold <gingold@adacore.com>
1032
1033 PR ada/64349
1034 * env.c (__gnat_environ): Adjust for darwin9/darwin10.
1035
1036 2015-01-07 Javier Miranda <miranda@adacore.com>
1037
1038 * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
1039 protect the frontend against never ending recursion caused by
1040 circularities in the sources.
1041
1042 2015-01-07 Robert Dewar <dewar@adacore.com>
1043
1044 * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
1045 exp_ch3.adb: Minor reformatting.
1046
1047 2015-01-07 Doug Rupp <rupp@adacore.com>
1048
1049 * s-linux.ads (clockid_t): New subtype.
1050 * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
1051 (clockid_t): New subtype.
1052 (clock_getres): Import system call.
1053 * s-taprop-linux.adb (System.OS_Constants): With and rename.
1054 (RT_Resolution): Remove
1055 hardcoded value and call clock_getres.
1056 * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
1057 s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
1058
1059 2015-01-07 Robert Dewar <dewar@adacore.com>
1060
1061 * sem_warn.adb (Check_One_Unit): Guard against context item
1062 with no Entity field.
1063
1064 2015-01-07 Vincent Celier <celier@adacore.com>
1065
1066 * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
1067 * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
1068
1069 2015-01-07 Vincent Celier <celier@adacore.com>
1070
1071 * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
1072 errors/warnings in the first parsing of the project files,
1073 to display the warnings when there is no errors.
1074
1075 2015-01-07 Tristan Gingold <gingold@adacore.com>
1076
1077 * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
1078
1079 2015-01-07 Doug Rupp <rupp@adacore.com>
1080
1081 * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
1082 value from Int_Lock as parameter to Int_Unlock.
1083 * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
1084 * s-vxwext.ads (Int_Unlock): Likewise.
1085 * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
1086 * s-vxwext-kernel.ads (Int_Unlock): Likewise.
1087 * s-vxwext-rtp.adb (Int_Unlock): Likewise.
1088 * s-vxwext-rtp.ads (Int_Unlock): Likewise.
1089
1090 2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com>
1091
1092 * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
1093 keep ___XP suffixes
1094
1095 2015-01-07 Tristan Gingold <gingold@adacore.com>
1096
1097 * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
1098 handle overlap.
1099
1100 2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
1101
1102 * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
1103 automatically set No_Strict_Aliasing on access types.
1104 * fe.h (No_Strict_Aliasing_CP): Declare.
1105 * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
1106 No_Strict_Aliasing_CP is set.
1107
1108 2015-01-07 Johannes Kanig <kanig@adacore.com>
1109
1110 * sem_ch8.adb (Analyze_Subprogram_Renaming) do
1111 not build function wrapper in gnatprove mode when the package
1112 is externally axiomatized.
1113
1114 2015-01-07 Jose Ruiz <ruiz@adacore.com>
1115
1116 * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
1117 intermediate computations when the parameters have different signs.
1118
1119 2015-01-07 Javier Miranda <miranda@adacore.com>
1120
1121 * exp_ch3.adb (Build_Init_Procedure): For derived types,
1122 improve the code which takes care of identifying and moving to
1123 the beginning of the init-proc the call to the init-proc of the
1124 parent type.
1125
1126 2015-01-07 Olivier Hainque <hainque@adacore.com>
1127
1128 * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
1129 Elaborate the expression as part of the same stmt group as the actions.
1130
1131 2015-01-07 Robert Dewar <dewar@adacore.com>
1132
1133 * sem_ch3.adb: Minor error message change.
1134
1135 2015-01-07 Ed Schonberg <schonberg@adacore.com>
1136
1137 * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
1138 Following AI05-028, the pragam applies legally to any composite type.
1139
1140 2015-01-07 Arnaud Charlet <charlet@adacore.com>
1141
1142 * s-osinte-vxworks.adb, s-osinte-vxworks.ads
1143 (sigwait, sigwaitinfo): Removed, not needed after all on any
1144 VxWorks configurations.
1145
1146 2015-01-07 Robert Dewar <dewar@adacore.com>
1147
1148 * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
1149
1150 2015-01-07 Javier Miranda <miranda@adacore.com>
1151
1152 * exp_disp.adb (Expand_Interface_Conversion): Adding missing
1153 generation of accessibility check.
1154
1155 2015-01-07 Ed Schonberg <schonberg@adacore.com>
1156
1157 * sem_ch3.adb (Derived_Type_Declaration): In the case of an
1158 illegal completion from a class- wide type, set etype of the
1159 derived type properly to prevent cascaded errors.
1160
1161 2015-01-07 Robert Dewar <dewar@adacore.com>
1162
1163 * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
1164 reformatting.
1165
1166 2015-01-07 Robert Dewar <dewar@adacore.com>
1167
1168 * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
1169 New procedure.
1170 (OK_No_Use_Of_Entity_Name): New function.
1171 (Set_Restriction_No_Use_Of_Entity): New procedure.
1172 * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
1173 New procedure.
1174 (OK_No_Use_Of_Entity_Name): New function.
1175 (Set_Restriction_No_Use_Of_Entity): New procedure.
1176 * sem_ch8.adb (Find_Direct_Name): Add check for violation of
1177 No_Use_Of_Entity.
1178 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1179 Add processing for new restriction No_Use_Of_Entity.
1180
1181 2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
1182
1183 * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
1184 component type as to Has_Atomic_Components type. Remove useless
1185 test on Is_Aliased component type.
1186
1187 2015-01-07 Hristian Kirtchev <kirtchev@adacore.com>
1188
1189 * alloc.ads Alphabetize several declarations. Add constants
1190 Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
1191 * atree.adb Add with and use clauses for Opt.
1192 (Allocate_Initialize_Node): Mark a node as ignored Ghost
1193 if it is created in an ignored Ghost region.
1194 (Ekind_In): New variant.
1195 (Is_Ignored_Ghost_Node): New routine.
1196 (Set_Is_Ignored_Ghost_Node): New routine.
1197 * atree.adb Aplhabetize several subprograms declarations. Flag
1198 Spare0 is now known as Is_Ignored_Ghost_Node.
1199 (Ekind_In): New variant.
1200 (Is_Ignored_Ghost_Node): New routine.
1201 (Set_Is_Ignored_Ghost_Node): New routine.
1202 * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
1203 (Contains_Ignored_Ghost_Code): New routine.
1204 (Set_Contains_Ignored_Ghost_Code): New routine.
1205 (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
1206 It is now possible to set this property on an unanalyzed entity.
1207 (Write_Entity_Flags): Output the status of flag
1208 Contains_Ignored_Ghost_Code.
1209 * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
1210 usage in nodes.
1211 (Contains_Ignored_Ghost_Code): New routine
1212 along with pragma Inline.
1213 (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
1214 * exp_ch3.adb Add with and use clauses for Ghost.
1215 (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
1216 Set the Ghost_Mode in effect.
1217 (Restore_Globals): New routine.
1218 * exp_ch7.adb (Process_Declarations): Do not process a context
1219 that invoves an ignored Ghost entity.
1220 * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
1221 construct that has been rewritten as a null statement.
1222 * exp_disp.adb Add with and use clauses for Ghost.
1223 (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
1224 the Ghost_Mode in effect.
1225 (Restore_Globals): New routine.
1226 * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
1227 does not require any clean up. Add two missing cases that deal
1228 with block statements.
1229 * freeze.adb Add with and use clauses for Ghost.
1230 (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
1231 Set the Ghost_Mode in effect.
1232 (Restore_Globals): New routine.
1233 * frontend.adb Add with and use clauses for Ghost. Remove any
1234 ignored Ghost code from all units that qualify.
1235 * ghost.adb New unit.
1236 * ghost.ads New unit.
1237 * gnat1drv.adb Add with clause for Ghost. Initialize and lock
1238 the table in package Ghost.
1239 * lib.ads: Alphabetize several subprogram declarations.
1240 * lib-xref.adb (Output_References): Do not generate reference
1241 information for ignored Ghost entities.
1242 * opt.ads Add new type Ghost_Mode_Type and new global variable
1243 Ghost_Mode.
1244 * rtsfind.adb (Load_RTU): Provide a clean environment when
1245 loading a runtime unit.
1246 * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
1247 entry/exit as the node may set a different mode.
1248 (Do_Analyze):
1249 Capture/restore the value of Ghost_Mode on entry/exit as the
1250 unit may be withed from a unit with a different Ghost mode.
1251 * sem_ch3.adb Add with and use clauses for Ghost.
1252 (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
1253 Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
1254 Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
1255 the entity as Ghost when there is a Ghost_Mode in effect.
1256 (Array_Type_Declaration): The implicit base type inherits the
1257 "ghostness" from the array type.
1258 (Derive_Subprogram): The
1259 alias inherits the "ghostness" from the parent subprogram.
1260 (Make_Implicit_Base): The implicit base type inherits the
1261 "ghostness" from the parent type.
1262 * sem_ch5.adb Add with and use clauses for Ghost.
1263 (Analyze_Assignment): Set the Ghost_Mode in effect.
1264 * sem_ch6.adb Add with and use clauses for Ghost.
1265 (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
1266 Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
1267 Set the Ghost_Mode in effect. Mark the entity as Ghost when
1268 there is a Ghost_Mode in effect.
1269 * sem_ch7.adb Add with and use clauses for Ghost.
1270 (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
1271 Analyze_Private_Type_Declaration): Set the Ghost_Mode in
1272 effect. Mark the entity as Ghost when there is a Ghost_Mode
1273 in effect.
1274 * sem_ch8.adb Add with and use clauses for Ghost.
1275 (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1276 Analyze_Object_Renaming, Analyze_Package_Renaming,
1277 Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
1278 the entity as Ghost when there is a Ghost_Mode in effect.
1279 (Find_Type): Check the Ghost context of a type.
1280 * sem_ch11.adb Add with and use clauses for Ghost.
1281 (Analyze_Exception_Declaration): Set the Ghost_Mode in
1282 effect. Mark the entity as Ghost when there is a Ghost_Mode
1283 in effect.
1284 * sem_ch12.adb Add with and use clauses for Ghost.
1285 (Analyze_Generic_Package_Declaration,
1286 Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
1287 Mark the entity as Ghost when there is a Ghost_Mode in effect.
1288 * sem_prag.adb Add with and use clauses for Ghost.
1289 (Analyze_Pragma): Ghost-related checks are triggered when there
1290 is a Ghost mode in effect.
1291 (Create_Abstract_State): Mark the
1292 entity as Ghost when there is a Ghost_Mode in effect.
1293 * sem_res.adb Add with and use clauses for Ghost.
1294 (Check_Ghost_Context): Removed.
1295 * sem_util.adb (Check_Ghost_Completion): Removed.
1296 (Check_Ghost_Derivation): Removed.
1297 (Incomplete_Or_Partial_View):
1298 Add a guard in case the entity has not been analyzed yet
1299 and does carry a scope.
1300 (Is_Declaration): New routine.
1301 (Is_Ghost_Entity): Removed.
1302 (Is_Ghost_Statement_Or_Pragma):
1303 Removed.
1304 (Is_Subject_To_Ghost): Removed.
1305 (Set_Is_Ghost_Entity):
1306 Removed.
1307 (Within_Ghost_Scope): Removed.
1308 * sem_util.adb (Check_Ghost_Completion): Removed.
1309 (Check_Ghost_Derivation): Removed.
1310 (Is_Declaration): New routine.
1311 (Is_Ghost_Entity): Removed.
1312 (Is_Ghost_Statement_Or_Pragma): Removed.
1313 (Is_Subject_To_Ghost): Removed.
1314 (Set_Is_Ghost_Entity): Removed.
1315 (Within_Ghost_Scope): Removed.
1316 * sinfo.ads Add a section on Ghost mode.
1317 * treepr.adb (Print_Header_Flag): New routine.
1318 (Print_Node_Header): Factor out code. Output flag
1319 Is_Ignored_Ghost_Node.
1320 * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
1321
1322 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
1323
1324 * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
1325 true test and unreachable 'else' arm.
1326
1327 2015-01-06 Vincent Celier <celier@adacore.com>
1328
1329 * prj-conf.adb (Check_Target): Improve error message when
1330 there are mismatched targets between the on in the configuration
1331 project file and the specified one, either in the main project
1332 file or in the --target= switch.
1333
1334 2015-01-06 Pascal Obry <obry@adacore.com>
1335
1336 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
1337 Install_Name attribute definitions.
1338
1339 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1340
1341 * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
1342 generated Import pragma for the internal imported procedure does
1343 not come from an aspect, so that Is_Imported can be properly
1344 set for it.
1345
1346 2015-01-06 Gary Dismukes <dismukes@adacore.com>
1347
1348 * sem_ch12.adb (Might_Inline_Subp): Record whether
1349 any subprograms in the generic package are marked with
1350 pragma Inline_Always (setting flag Has_Inline_Always).
1351 (Analyze_Package_Instantiation): Add test of Has_Inline_Always
1352 alongside existing test of Front_End_Inlining as alternative
1353 conditions for setting Inline_Now. Also add test of
1354 Has_Inline_Always along with Front_End_Inlining test as an
1355 alternative condition for setting Needs_Body to False.
1356
1357 2015-01-06 Tristan Gingold <gingold@adacore.com>
1358
1359 * i-cpoint.adb (Copy_Array): Handle overlap.
1360
1361 2015-01-06 Pascal Obry <obry@adacore.com>
1362
1363 * bindgen.adb: Minor style fix.
1364
1365 2015-01-06 Robert Dewar <dewar@adacore.com>
1366
1367 * sem_util.ads, sem_util.adb: Minor reformatting.
1368
1369 2015-01-06 Vincent Celier <celier@adacore.com>
1370
1371 * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
1372 with flags before parsing the projects.
1373 * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
1374 * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
1375 to True in the flags, when Ignore_Missing_With is True and an
1376 imported project cannot be found.
1377 * prj-proc.adb (Expression): When there are incomplete withs and
1378 a variable or attribute is not found, set the variable/attribute
1379 to unknown.
1380 * prj.ads (Processing_Flags): New flag Incomplete_Withs,
1381 defaulted to False.
1382
1383 2015-01-06 Vasiliy Fofanov <fofanov@adacore.com>
1384
1385 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
1386 prj-err.adb: Add new switch --no-command-line.
1387
1388 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1389
1390 * sem_ch12.adb: Sloc of wrapper is that of instantiation.
1391
1392 2015-01-06 Robert Dewar <dewar@adacore.com>
1393
1394 * sem_ch11.adb: Minor reformatting.
1395
1396 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1397
1398 * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
1399 Build_Array_Aggr_Code, used to initialized components covered
1400 by a box association. If the component type is scalar and has
1401 a default aspect, use it to initialize such components.
1402
1403 2015-01-06 Pascal Obry <obry@adacore.com>
1404
1405 * rtinit.c (__gnat_runtime_initialize): Add a parameter to
1406 control the setup of the exception handler.
1407 * initialize.c: Remove unused declaration.
1408 * bindgen.adb: Always call __gnat_runtime_initialize and pass
1409 whether the exeception handler must be set or not.
1410
1411 2015-01-06 Thomas Quinot <quinot@adacore.com>
1412
1413 * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
1414 order to native from default, make sure to also adjust bit order.
1415 * exp_aggr.adb: Minor reformatting.
1416
1417 2015-01-06 Robert Dewar <dewar@adacore.com>
1418
1419 * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
1420 s-valrea.adb, s-valrea.ads: Add some additional guards for
1421 Str'Last = Positive'Last.
1422
1423 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1424
1425 * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
1426 subprograms.
1427
1428 2015-01-06 Javier Miranda <miranda@adacore.com>
1429
1430 * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
1431
1432 2015-01-06 Thomas Quinot <quinot@adacore.com>
1433
1434 * sem_util.ads: Minor reformatting.
1435 * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
1436 (In_RCI_Declaration) Return to old name, as proper checking of
1437 entity being in the visible part depends on entity kind and must
1438 be done by the caller.
1439
1440 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1441
1442 * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
1443 for operators in SPARK.
1444
1445 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1446
1447 * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
1448 expression in an others association before making copies for
1449 separate resolution and accessibility checks. This ensures that
1450 the type of the expression is available to ASIS in all cases,
1451 in particular if the expression is itself an aggregate.
1452
1453 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
1454
1455 * einfo.ads (Has_Independent_Components): Document extended
1456 usage.
1457 * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
1458 (Set_Has_Independent_Components): Adjust assertion.
1459 * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
1460 for pragma Atomic_Components. Set Has_Independent_Components
1461 on the object instead of the type for an object declaration with
1462 pragma Independent_Components.
1463
1464 2015-01-06 Olivier Hainque <hainque@adacore.com>
1465
1466 * set_targ.adb (Read_Target_Dependent_Values): Set
1467 Long_Double_Index when "long double" is read.
1468 (elaboration code): Register_Back_End_Types only when not reading from
1469 config files. Doing otherwise is pointless and error prone.
1470
1471 2015-01-06 Robert Dewar <dewar@adacore.com>
1472
1473 * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
1474
1475 2015-01-06 Robert Dewar <dewar@adacore.com>
1476
1477 * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
1478 Str'Last = Positive'Last.
1479
1480 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1481
1482 * sem_ch6.adb (Matches_Limited_View): Handle properly the case
1483 where the non-limited type is a generic actual and appears as
1484 a subtype of the non-limited view of the other.
1485 * freeze.adb (Build_Renamed_Body): If the return type of the
1486 declaration that is being completed is a limited view and the
1487 non-limited view is available, use it in the specification of
1488 the generated body.
1489
1490 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1491
1492 * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
1493 incomplete view, the type of the classwide type common to both
1494 views is the type being declared.
1495
1496 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
1497
1498 * einfo.ads (Is_Independent): Further document extended usage.
1499
1500 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
1501
1502 * einfo.ads (Is_Independent): Document extended usage.
1503 * einfo.adb (Is_Independent): Remove obsolete assertion.
1504 (Set_Is_Independent): Likewise.
1505 * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
1506 (Process_Atomic_Independent_Shared_Volatile): ...this.
1507 Deal with pragma Independent here.
1508 (Analyze_Pragma): Adjust
1509 to above renaming and also invoke it for pragma Independent.
1510 Adjust comment for Independent_Components.
1511
1512 2015-01-06 Robert Dewar <dewar@adacore.com>
1513
1514 * snames.ads-tmpl: Remove entries for attribute Enum_Image.
1515 * exp_attr.adb: Remove reference to Attribute_Enum_Image.
1516
1517 2015-01-06 Robert Dewar <dewar@adacore.com>
1518
1519 * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
1520 = Positive'Last.
1521 * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
1522 Str'Last = Positive'Last.
1523
1524 2015-01-06 Robert Dewar <dewar@adacore.com>
1525
1526 * sem_prag.adb (Process_Inline): Remove redundant construct
1527 warning (-gnatw.r) for an ineffective pragma Inline.
1528
1529 2015-01-06 Robert Dewar <dewar@adacore.com>
1530
1531 * s-valint.adb: Fix typo in last checkin.
1532 * s-valuns.adb (Value_Unsigned): More efficient fix for
1533 Positive'Last case.
1534 * sem_attr.adb (Analyze_Attribute): Minor reformatting
1535 (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
1536
1537 2015-01-06 Robert Dewar <dewar@adacore.com>
1538
1539 * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
1540 Str'Last = Positive'Last
1541
1542 2015-01-06 Thomas Quinot <quinot@adacore.com>
1543
1544 * xoscons.adb: Display exception information and return non-zero
1545 exit status in top level exception handler.
1546
1547 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1548
1549 * sem_ch8.adb: Code clean up.
1550
1551 2015-01-06 Tristan Gingold <gingold@adacore.com>
1552
1553 * targparm.ads: Remove obsolete comment.
1554
1555 2015-01-06 Olivier Hainque <hainque@adacore.com>
1556
1557 * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
1558 constructing a ref to variable, update inner_const_flag from the
1559 variable TREE_READONLY attribute.
1560 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
1561 definition.
1562 (get_target_float_size): Remove.
1563 (get_target_double_size): Remove.
1564 (get_target_long_double_size): Remove.
1565
1566 2015-01-06 Pascal Obry <obry@adacore.com>
1567
1568 * adaint.c (ProcListEvt): Set to NULL.
1569 * rtinit.c: New file.
1570 (__gnat_rt_init_count): New reference counter set to 0.
1571 (__gnat_runtime_initialize): Move code here from __gnat_initialize when
1572 this code is actually needed for the runtime initialization. This
1573 routine returns immediately if the initialization has already been done.
1574 * final.c: Revert previous change.
1575 * rtfinal.c: New file.
1576 (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
1577 section and event. The default version of this routine is empty (except
1578 for the reference counting code). This routine returns immediately if
1579 some others libraries are referencing the runtime.
1580 * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
1581 remove circuitry to initialize the signal handler as this is
1582 now done by the runtime initialization routine.
1583 (Gen_Adafinal): Generate call to Runtime_Finalize.
1584 * gnat_ugn.texi: Update documentation about concurrency and
1585 initialization/finalization of the run-time.
1586 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
1587 references to rtfinal.o and rtinit.o
1588
1589 2015-01-06 Robert Dewar <dewar@adacore.com>
1590
1591 * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
1592 for Enum_Image.
1593 * sem_attr.adb: Implement Enum_Image attribute.
1594 * snames.ads-tmpl: Add entries for Enum_Image attribute.
1595
1596 2015-01-06 Robert Dewar <dewar@adacore.com>
1597
1598 * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
1599 * restrict.ads (No_Use_Of_Entity): New table.
1600 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1601 Ignore No_Use_Of_Entity (will be processed in parser).
1602 * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
1603
1604 2015-01-06 Vincent Celier <celier@adacore.com>
1605
1606 * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
1607 to check for an extended project, if a project does not have
1608 yet a project declaration.
1609
1610 2015-01-06 Pierre-Marie Derodat <derodat@adacore.com>
1611
1612 * scos.ads: Update documentation about the SCO table build
1613 process and about table records format.
1614 * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
1615 (SCO_Record_Filtered): New procedure.
1616 (Set_SCO_Logical_Operator): New procedure.
1617 (dsco): Update documentation.
1618 * par_sco.adb: Update library-level comments.
1619 (SCO_Generation_State_Type): New type.
1620 (SCO_Generation_State): New variable.
1621 (SCO_Raw_Table): New package instanciation.
1622 (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
1623 ("<"): New.
1624 (Tristate): New type.
1625 (Is_Logical_Operator): Return Tristate and update documentation.
1626 (Has_Decision): Update call to Is_Logical_Operator and complete
1627 documentation.
1628 (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
1629 comment, add an assertion for state checking and change
1630 references to SCO_Table into SCO_Raw_Table.
1631 (dsco): Refactor to dump the raw and the filtered tables.
1632 (Process_Decisions.Output_Decision_Operand): Handle putative
1633 short-circuit operators.
1634 (Process_Decisions.Output_Element): Update references
1635 to Set_Table_Entry and to Condition_Pragma_Hash_Table.
1636 (Process_Decisions.Process_Decision_Operand): Update call
1637 to Is_Logical_Operator.
1638 (Process_Decisions.Process_Node): Handle putative short-circuit
1639 operators and change references to
1640 SCO_Table into SCO_Raw_Table.
1641 (SCO_Output): Add an assertion
1642 for state checking and remove code that used to stamp out SCO entries.
1643 (SCO_Pragma_Disabled): Change reference to SCO_Table
1644 into SCO_Raw_Table.
1645 (SCO_Record): Rename to SCO_Record_Raw,
1646 add an assertion for state checking and change references
1647 to SCO_Table into SCO_Raw_Table.
1648 (Set_SCO_Condition): Add an assertion for state checking, update
1649 references to Condition_Pragma_Hash_Table and change references to
1650 SCO_Table into SCO_Raw_Table.
1651 (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
1652 change references to SCO_Table into SCO_Raw_Table.
1653 (Set_SCO_Logical_Operator): New procedure.
1654 (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
1655 references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
1656 (SCO_Record_Fildered): New procedure.
1657 * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
1658 * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
1659 output SCOs.
1660 * par-load.adb (Load): Update reference to SCO_Record.
1661 * par.adb (Par): Update reference to SCO_Record.
1662 * put_scos.adb (Put_SCOs): Add an assertion to check that no
1663 putative SCO condition reaches this end.
1664 * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
1665 * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
1666 when corresponding to an "and"/"or" operator affected by the
1667 Short_Circuit_And_Or pragma.
1668
1669 2015-01-06 Robert Dewar <dewar@adacore.com>
1670
1671 * sem_ch8.adb (Analyze_Use_Package): Give more specific error
1672 msg for attempted USE of generic subprogram or subprogram.
1673
1674 2015-01-06 Robert Dewar <dewar@adacore.com>
1675
1676 * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
1677 s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
1678 a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
1679
1680 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1681
1682 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
1683 that specify stream subprograms, if the prefix is a class-wide
1684 type then the generated attribute definition clause must apply
1685 to the same class-wide type.
1686 (Default_Iterator): An iterator defined by an aspect of some
1687 container type T must have a first parameter of type T, T'class,
1688 or an access to such (from code reading RM 5.5.1 (2/3)).
1689
1690 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1691
1692 * gnat1drv.adb: Minor: complete previous change.
1693
1694 2015-01-06 Olivier Hainque <hainque@adacore.com>
1695
1696 * set_targ.ads (C_Type_For): New function. Return the name of
1697 a C type supported by the back-end and suitable as a basis to
1698 construct the standard Ada floating point type identified by
1699 the T parameter. This is used as a common ground to feed both
1700 ttypes values and the GNAT tree nodes for the standard floating
1701 point types.
1702 * set_targ.adb (Long_Double_Index): The index at which "long
1703 double" gets registered in the FPT_Mode_Table. This is useful to
1704 know whether we have a "long double" available at all and get at
1705 it's characteristics without having to search the FPT_Mode_Table
1706 when we need to decide which C type should be used as the
1707 basis for Long_Long_Float in Ada.
1708 (Register_Float_Type): Fill Long_Double_Index.
1709 (FPT_Mode_Index_For): New function. Return the index in
1710 FPT_Mode_Table that designates the entry corresponding to the
1711 provided C type name.
1712 (FPT_Mode_Index_For): New function. Return the index in
1713 FPT_Mode_Table that designates the entry for a back-end type
1714 suitable as a basis to construct the standard Ada floating point
1715 type identified by the input T parameter.
1716 (elaboration code): Register_Back_End_Types unconditionally,
1717 so C_Type_For can operate regardless of -gnateT. Do it
1718 early so we can query it for the floating point sizes, via
1719 FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
1720 Long_Double_Size from the FPT_Mode_Table, as cstand will do.
1721 * cstand.adb (Create_Float_Types): Use C_Type_For to determine
1722 which C type should be used as the basis for the construction
1723 of the Standard Ada floating point types.
1724 * get_targ.ads (Get_Float_Size, Get_Double_Size,
1725 Get_Long_Double_Size): Remove.
1726 * get_targ.adb: Likewise.
1727
1728 2015-01-06 Thomas Quinot <quinot@adacore.com>
1729
1730 * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
1731 parameter and rename to...
1732 (In_RCI_Visible_Declarations): Fix handling of private part of nested
1733 package.
1734 (Validate_RCI_Subprogram_Declaration): Reject illegal function
1735 returning anonymous access in RCI unit.
1736
1737 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1738
1739 * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
1740 function wrapper may be a homonym of another local declaration.
1741 * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
1742 build function and operator wrappers after the actual subprogram
1743 has been resolved, and replace the standard renaming declaration
1744 with the declaration of wrapper.
1745 * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
1746 make public for use elsewhere.
1747 * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
1748 rewrite, now that actual is fully resolved when wrapper is
1749 constructed.
1750
1751 2015-01-06 Javier Miranda <miranda@adacore.com>
1752
1753 * exp_disp.adb: Revert previous change.
1754
1755 2015-01-06 Robert Dewar <dewar@adacore.com>
1756
1757 * exp_util.adb: Change name Name_Table_Boolean to
1758 Name_Table_Boolean1.
1759 * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
1760 Introduce Name_Table_Boolean2/3.
1761 * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
1762 Introduce Name_Table_Boolean2/3.
1763 * par-ch13.adb: Change name Name_Table_Boolean to
1764 Name_Table_Boolean1.
1765
1766 2015-01-06 Bob Duff <duff@adacore.com>
1767
1768 * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
1769
1770 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1771
1772 * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
1773 others choice that covers multiple components, analyze each
1774 copy with the type of the component even in compile-only mode,
1775 to detect potential accessibility errors.
1776
1777 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1778
1779 * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
1780 (Resolve_Actuals): An effectively volatile out
1781 parameter cannot act as an in or in out actual in a call.
1782 (Resolve_Entity_Name): An effectively volatile out parameter
1783 cannot be read.
1784
1785 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1786
1787 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
1788 the expansion of an expression function it may be pre-analyzed
1789 if a 'access attribute is applied to the function, in which case
1790 last_entity may have been assigned already.
1791
1792 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1793
1794 * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
1795 type and actual has the corresponding full view, there is no
1796 error, but a case of use of incomplete type in a predicate or
1797 invariant expression.
1798
1799 2015-01-06 Vincent Celier <celier@adacore.com>
1800
1801 * makeutl.adb (Insert_No_Roots): Make sure that the same source
1802 in two different project tree is checked in both trees, if they
1803 are sources of two different projects, extended or not.
1804
1805 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1806
1807 * gnat1drv.adb: Minor code clean up.
1808 (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
1809
1810 2015-01-06 Bob Duff <duff@adacore.com>
1811
1812 * osint.adb (Read_Source_File): Don't print out
1813 file name unless T = Source.
1814
1815 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1816
1817 * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
1818 recognize improper uses of constant_reference types as actuals
1819 for in-out parameters.
1820 (Check_Function_Call): Do not collect identifiers if function
1821 name is missing because of previous error.
1822
1823 2015-01-06 Robert Dewar <dewar@adacore.com>
1824
1825 * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
1826 ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
1827 Minor change of name Name_Table_Info => Name_Table_Int.
1828
1829 2015-01-06 Robert Dewar <dewar@adacore.com>
1830
1831 * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
1832 in previous checkin.
1833 * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
1834 of bounds.
1835 * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
1836
1837 2015-01-06 Vincent Celier <celier@adacore.com>
1838
1839 * a-strsup.adb (Times (Natural;String;Positive)): Raise
1840 Length_Error, not Index_Error, when the result is too long.
1841
1842 2015-01-06 Thomas Quinot <quinot@adacore.com>
1843
1844 * a-direct.adb (Create_Path): Minor error handling and
1845 performance improvement.
1846
1847 2015-01-06 Robert Dewar <dewar@adacore.com>
1848
1849 * checks.ads, sem_ch12.adb: Minor reformatting.
1850 * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
1851 zero check for fixed-point case if Backend_Divide_Checks_On_Target
1852 is False.
1853
1854 2015-01-06 Robert Dewar <dewar@adacore.com>
1855
1856 * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
1857 Do not set restriction No_Elaboration_Code unless the pragma
1858 appears in the main unit).
1859
1860 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1861
1862 * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
1863 that with clause has already been analyzed before checking kind
1864 of with_clause.
1865
1866 2015-01-06 Robert Dewar <dewar@adacore.com>
1867
1868 * exp_strm.adb (Build_Elementary_Input_Call): Return base type
1869 (as required by RM).
1870
1871 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1872
1873 * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
1874
1875 2015-01-06 Robert Dewar <dewar@adacore.com>
1876
1877 * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
1878 for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
1879
1880 2015-01-06 Javier Miranda <miranda@adacore.com>
1881
1882 * exp_disp.adb (Expand_Interface_Conversion): No displacement
1883 of the pointer to the object needed when the type of the operand
1884 is not an interface type and the interface is one of its parent
1885 types (since they share the primary dispatch table).
1886
1887 2015-01-06 Vincent Celier <celier@adacore.com>
1888
1889 * prj-env.adb: Minor comment update.
1890
1891 2015-01-06 Javier Miranda <miranda@adacore.com>
1892
1893 * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
1894 access types whose target type is an interface type to operands
1895 that are access types; required to report an error when the
1896 operand is not an access type.
1897
1898 2015-01-06 Bob Duff <duff@adacore.com>
1899
1900 * a-cfinve.adb (Copy): Set the discriminant to the Length when
1901 Capacity = 0.
1902 * a-cofove.ads (Capacity): Add a postcondition.
1903 * a-cfinve.ads (Capacity): Add a postcondition.
1904 (Reserve_Capacity): Correct the postcondition in the case where
1905 Capacity = 0; that means "Capacity => Length (Container)".
1906 * a-cofove.adb (Elems[c]): Add a comment
1907 explaining the dangers and how to avoid them.
1908
1909 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1910
1911 * sem_ch12.adb: Code clean up.
1912
1913 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1914
1915 * gnatvsn.ads: Bump copyright year.
1916
1917 2015-01-06 Robert Dewar <dewar@adacore.com>
1918
1919 * s-taskin.ads, s-traces.ads: Minor reformatting.
1920 * exp_util.adb: Minor typo fix.
1921
1922 2015-01-06 Vincent Celier <celier@adacore.com>
1923
1924 * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
1925 with the runtime name.
1926 * prj-env.adb (Initialize_Default_Project_Path): When both
1927 Target_Name and Runtime_Name are not empty string, add to the
1928 project path the two directories .../lib/gnat and .../share/gpr
1929 related to the runtime.
1930 * prj-env.ads (Initialize_Default_Project_Path): New String
1931 parameter Runtime_Name, defaulted to the empty string.
1932
1933 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1934
1935 * frontend.adb: Guard against the case where a configuration
1936 pragma may be split into multiple pragmas and the original
1937 rewritten as a null statement.
1938 * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
1939 pragma using Insert_Before rather than Insert_Action. This
1940 takes care of the configuration pragma case where Insert_Action
1941 would fail.
1942
1943 2015-01-06 Bob Duff <duff@adacore.com>
1944
1945 * a-coboho.ads (Element_Access): Add "pragma
1946 No_Strict_Aliasing (Element_Access);". This is needed because
1947 we are unchecked-converting from Address to Element_Access.
1948 * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
1949 result to be 1.
1950
1951 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1952
1953 * sem_res.adb (Resolve_Actuals): Remove the
1954 restriction which prohibits volatile actual parameters with
1955 enabled external propery Async_Writers to act appear in procedure
1956 calls where the corresponding formal is of mode OUT.
1957
1958 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1959
1960 * gnat_ugn.texi: Bump @copying's copyright year.
1961
1962 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
1963
1964 PR ada/64492
1965 * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
1966
1967 2015-01-04 Uros Bizjak <ubizjak@gmail.com>
1968
1969 * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
1970 of unchecked asprintf.
1971
1972 \f
1973 Copyright (C) 2015 Free Software Foundation, Inc.
1974
1975 Copying and distribution of this file, with or without modification,
1976 are permitted in any medium without royalty provided the copyright
1977 notice and this notice are preserved.