[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
1 2015-02-05 Hristian Kirtchev <kirtchev@adacore.com>
2
3 * sem_prag.adb (Check_Pragma_Conformance): Add
4 local variable Arg. Ensure that all errors are associated with
5 the pragma if it appears without an argument. Add comments on
6 various cases.
7
8 2015-02-05 Robert Dewar <dewar@adacore.com>
9
10 * lib-xref.adb: Minor reformatting.
11
12 2015-02-05 Tristan Gingold <gingold@adacore.com>
13
14 PR ada/64349da/64349
15 * env.c: Fix thinko: handle Darwin case before default one.
16
17 2015-01-30 Robert Dewar <dewar@adacore.com>
18
19 * a-assert.adb: Minor reformatting.
20 * sem_ch13.adb: Minor comment clarification.
21 * types.ads: Minor comment update.
22 * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
23 when we have a predicate that is nothing but an inherited dynamic
24 predicate.
25
26 2015-01-30 Jerome Guitton <guitton@adacore.com>
27
28 * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
29 include cert link spec.
30
31 2015-01-30 Robert Dewar <dewar@adacore.com>
32
33 * einfo.ads: Minor comment fix.
34 * freeze.adb (Freeze_Profile): Add test for suspicious import
35 in pure unit.
36 * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
37 use in Pure unit is now moved to Freeze (to properly catch
38 Pure_Function exemption).
39
40 2015-01-30 Bob Duff <duff@adacore.com>
41
42 * sem_res.ads: Minor comment fix.
43 * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
44 check both operands of an operator.
45
46 2015-01-30 Yannick Moy <moy@adacore.com>
47
48 * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
49 policy for Pre to Ignore.
50 (Assert): Add precondition.
51
52 2015-01-30 Robert Dewar <dewar@adacore.com>
53
54 * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
55 Pure unit.
56 * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
57 documentation for some special cases of invalid attempts at
58 based integers.
59
60 2015-01-30 Gary Dismukes <dismukes@adacore.com>
61
62 * errout.ads: Minor reformatting.
63
64 2015-01-30 Yannick Moy <moy@adacore.com>
65
66 * inline.adb (Process_Formals): Use the sloc of
67 the inlined node instead of the sloc of the actual parameter,
68 when replacing formal parameters by the actual one.
69
70 2015-01-30 Arnaud Charlet <charlet@adacore.com>
71
72 * g-expect.adb (Get_Command_Output): Use infinite timeout when
73 calling Expect.
74
75 2015-01-30 Ed Schonberg <schonberg@adacore.com>
76
77 * sem_ch12.adb (Analyze_Associations): If an in-parameter is
78 defaulted in an instantiation, add an entry in the list of actuals
79 to indicate the default value of the formal (as is already done
80 for defaulted subprograms).
81
82 2015-01-30 Javier Miranda <miranda@adacore.com>
83
84 * errout.adb (Error_Msg_PT): Minor error phrasing update.
85
86 2015-01-30 Robert Dewar <dewar@adacore.com>
87
88 * sem_warn.adb (Warn_On_Known_Condition): Improve error message
89 for object case.
90
91 2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com>
92
93 * exp_dbug.adb (Get_Encoded_Name): When
94 -fgnat-encodings=minimal, do not generate names for biased types.
95
96 2015-01-30 Tristan Gingold <gingold@adacore.com>
97
98 PR ada/64349
99 * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
100
101 2015-01-30 Gary Dismukes <dismukes@adacore.com>
102
103 * freeze.adb: Minor reformatting.
104
105 2015-01-30 Javier Miranda <miranda@adacore.com>
106
107 * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
108 improve its documentation.
109 * errout.adb (Error_Msg_PT): Improve the error message.
110 * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
111 (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
112 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
113
114 2015-01-30 Robert Dewar <dewar@adacore.com>
115
116 * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
117 message for False case.
118
119 2015-01-30 Doug Rupp <rupp@adacore.com>
120
121 * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
122 * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
123 kernel.
124
125 2015-01-30 Gary Dismukes <dismukes@adacore.com>
126
127 * sem_attr.adb (Declared_Within_Generic_Unit):
128 New function to test whether an entity is declared within the
129 declarative region of a given generic unit.
130 (Resolve_Attribute): For checking legality of subprogram'Access within
131 a generic unit, call new Boolean function Declared_Within_Generic_Unit
132 instead of simply comparing the results of Enclosing_Generic_Unit on
133 the prefix and access type. Correct minor comment typos.
134
135 2015-01-30 Robert Dewar <dewar@adacore.com>
136
137 * freeze.adb, exp_util.ads: Update comment.
138 * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
139 * sem_util.adb: Minor: fix typo.
140
141 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
142
143 * sem_attr.adb (Analyze_Attribute): Ensure that
144 the check concerning Refined_Post takes precedence over the
145 other cases.
146
147 2015-01-30 Gary Dismukes <dismukes@adacore.com>
148
149 * sem_prag.adb: Minor typo fixes and reformatting.
150
151 2015-01-30 Yannick Moy <moy@adacore.com>
152
153 * sem_attr.adb: Code clean up.
154
155 2015-01-30 Robert Dewar <dewar@adacore.com>
156
157 * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
158 * ali.ads (Unit_Record): Add new field Serious_Errors.
159 * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
160 attribute in U line.
161 * lib-writ.ads: New attribute SE (serious erors) in unit line.
162
163 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
164
165 * einfo.adb Update the usage of attributes Entry_Bodies_Array,
166 Lit_Indexes, Scale_Value, Storage_Size_Variable,
167 String_Literal_Low_Bound along associated routines and
168 Write_FieldX_Name.
169 (Pending_Access_Types): New routine.
170 (Set_Pending_Access_Types): New routine.
171 (Write_Field15_Name): Add an entry for Pending_Access_Types.
172 * einfo.ads Add new attribute Pending_Access_Types along
173 with usage in nodes. Update the usage of attributes
174 Entry_Bodies_Array, Lit_Indexes, Scale_Value,
175 Storage_Size_Variable, String_Literal_Low_Bound.
176 (Pending_Access_Types): New routine along with pragma Inline.
177 (Set_Pending_Access_Types): New routine along with pragma Inline.
178 * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
179 Ins_Node. Determine the insertion node for anonynous access type
180 that acts as a component type of an array. Update the call to
181 Build_Finalization_Master.
182 (Expand_Freeze_Record_Type): Update
183 the calls to Build_Finalization_Master.
184 (Freeze_Type): Remove
185 local variable RACW_Seen. Factor out the code that deals with
186 remote access-to-class-wide types. Create a finalization master
187 when the designated type contains a private component. Fully
188 initialize all pending access types.
189 (Process_RACW_Types): New routine.
190 (Process_Pending_Access_Types): New routine.
191 * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
192 needs to set primitive Finalize_Address.
193 (Expand_N_Allocator): Allocation no longer sets primitive
194 Finalize_Address.
195 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
196 Update the call to Build_Finalization_Master.
197 (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
198 needs to set primitive Finalize_Address.
199 * exp_ch7.adb (Add_Pending_Access_Type): New routine.
200 (Build_Finalization_Master): New parameter profile. Associate
201 primitive Finalize_Address with the finalization master if the
202 designated type has been frozen, otherwise treat the access
203 type as pending. Simplify the insertion of the master and
204 related initialization code.
205 (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
206 abstract types.
207 (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
208 Simplify the implementation.
209 * exp_ch7.ads (Build_Finalization_Master): New parameter profile
210 along with comment on usage.
211 (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
212 the comment on usage.
213 * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
214 Finalize_Address to retrieve the primitive.
215 (Finalize_Address): New routine.
216 (Find_Finalize_Address): Removed.
217 * exp_util.ads (Finalize_Address): New routine.
218 * freeze.adb (Freeze_All): Remove the generation of finalization
219 masters.
220 * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
221 pending access types from the partial to the full view.
222
223 2015-01-30 Robert Dewar <dewar@adacore.com>
224
225 * sem_disp.adb: Minor reformatting.
226 * sem_disp.ads: Documentation update.
227
228 2015-01-30 Ed Schonberg <schonberg@adacore.com>
229
230 * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
231 or a function call, return True if type is class-wide.
232 * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
233 Apply RM 4.5.7 (17/3): all or none of the dependent expression
234 of a conditional expression must be dynamically tagged.
235
236 2015-01-30 Ed Schonberg <schonberg@adacore.com>
237
238 * sem_ch6.adb (Analyze_Function_Return): In an extended return
239 statement, apply accessibility check to result object when there
240 is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
241
242 2015-01-30 Robert Dewar <dewar@adacore.com>
243
244 * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
245 Boolean for case where ELSE is omitted.
246 * sem_res.adb: Minor reformatting.
247
248 2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
249
250 Fix build under cygwin/64.
251 * adaint.h: Add check for __CYGWIN__.
252 * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
253
254 2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
255
256 PR ada/64640
257 * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
258 * mingw32.h: Don't include <tchar.h> under cygwin.
259 (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
260
261 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
262
263 * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
264 (DEF_FUNCTION_TYPE_VAR_12): New macros.
265
266 2015-01-09 Michael Collison <michael.collison@linaro.org>
267
268 * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
269 vec.h, double-int.h, input.h, alias.h, symtab.h,
270 fold-const.h, wide-int.h, and inchash.h due to
271 flattening of tree.h.
272 * gcc-interface/decl.c: Ditto.
273 * gcc-interface/misc.c: Ditto.
274 * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
275 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
276 fold-const.h, wide-int.h, and inchash.h due to
277 flattening of tree.h.
278 * gcc-interface/trans.c: Include hash-set.h, machmode.h,
279 vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
280 fold-const.h, wide-int.h, inchash.h due to
281 flattening of tree.h.
282 * gcc-interface/utils.c: Include hash-set.h, machmode.h,
283 vec.h, double-int.h, input.h, alias.h, symtab.h,
284 fold-const.h, wide-int.h, and inchash.h due to
285 flattening of tree.h.
286 * gcc-interface/utils2.c: Ditto.
287
288 2015-01-07 Robert Dewar <dewar@adacore.com>
289
290 * sem_warn.adb (Check_One_Unit): Don't give unused entities
291 warning for a package which is used as a generic parameter.
292
293 2015-01-07 Bob Duff <duff@adacore.com>
294
295 * usage.adb (Usage): Correct documentation of
296 -gnatw.f switches.
297
298 2015-01-07 Robert Dewar <dewar@adacore.com>
299
300 * s-fileio.adb: Minor reformatting.
301
302 2015-01-07 Ed Schonberg <schonberg@adacore.com>
303
304 * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
305 access to subprogram, replace its formals with new entities when
306 building the object declaration, both if actual is present and
307 when it is defaulted.
308
309 2015-01-07 Ed Schonberg <schonberg@adacore.com>
310
311 * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
312 conversion and type of expression has invariant, apply invariant
313 check on expression.
314
315 2015-01-07 Ed Schonberg <schonberg@adacore.com>
316
317 * sem_ch3.adb (Create_Constrained_Components): A call to
318 Gather_Components may detect an error if an inherited discriminant
319 that controls a variant is non-static.
320 * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
321 Gather_Components may report an error if an inherited discriminant
322 in a variant in non-static.
323 * sem_util.adb (Gather_Components): If a non-static discriminant
324 is inherited do not report error here, but let caller handle it.
325 (Find_Actual): Small optimization.
326
327 2015-01-07 Bob Duff <duff@adacore.com>
328
329 * usage.adb (Usage): Document -gnatw.f switch.
330
331 2015-01-07 Ed Schonberg <schonberg@adacore.com>
332
333 * sem_ch12.adb: Code clean up and minor reformatting.
334
335 2015-01-07 Robert Dewar <dewar@adacore.com>
336
337 * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
338 Raise_Accessibility_Error call.
339 * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
340 on handling of invalid digits in based constants.
341 * s-fatgen.ads: Minor reformatting.
342 * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
343 Avoid noting bogus modification for Valid test.
344 * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
345 * einfo.ads: Minor reformatting.
346 * sem_warn.adb: Minor comment clarification.
347 * sem_ch12.adb: Minor reformatting.
348
349 2015-01-07 Ed Schonberg <schonberg@adacore.com>
350
351 * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
352 over static predicates when the loop parameter specification
353 carries a Reverse indicator.
354
355 2015-01-07 Ed Schonberg <schonberg@adacore.com>
356
357 * sem_ch12.adb (Instantiate_Object): If formal has a default,
358 actual is missing and formal has an anonymous access type, copy
359 access definition in full so that tree for instance is properly
360 formatted for ASIS use.
361
362 2015-01-07 Bob Duff <duff@adacore.com>
363
364 * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
365 for P'Access, where P is a subprogram in the same package as
366 the P'Access, and the P'Access is evaluated at elaboration
367 time, and occurs before the body of P. For example, "X : T :=
368 P'Access;" would allow a subsequent call to X.all to be an
369 access-before-elaboration error; hence the warning. This warning
370 is enabled by the -gnatw.f switch.
371 * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
372 * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
373 * gnat_ugn.texi: Document the new warning.
374
375 2015-01-07 Johannes Kanig <kanig@adacore.com>
376
377 * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
378 cross ref files.
379
380 2015-01-07 Robert Dewar <dewar@adacore.com>
381
382 * s-taprop-linux.adb, clean.adb: Minor reformatting.
383
384 2015-01-07 Arnaud Charlet <charlet@adacore.com>
385
386 * s-tassta.adb: Relax some overzealous assertions.
387
388 2015-01-07 Ed Schonberg <schonberg@adacore.com>
389
390 * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
391 view of a type is legal when context is a thunk generated for
392 operation inherited from an interface.
393 * exp_ch6.adb (Expand_Simple_Function_Return): If context is
394 a thunk and return type is an incomplete type do not continue
395 expansion; thunk will be fully elaborated when generating code.
396
397 2015-01-07 Doug Rupp <rupp@adacore.com>
398
399 * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
400 (QueryPerformanceFrequency): New imported procedure.
401 * s-taprop-mingw.adb (RT_Resolution): Call above and return
402 resolution vice a hardcoded value.
403 * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
404 resolution vice a hardcoded value.
405 * s-linux-android.ads (clockid_t): New subtype.
406 * s-osinte-aix.ads (clock_getres): New imported subprogram.
407 * s-osinte-android.ads (clock_getres): Likewise.
408 * s-osinte-freebsd.ads (clock_getres): Likewise.
409 * s-osinte-solaris-posix.ads (clock_getres): Likewise.
410 * s-osinte-darwin.ads (clock_getres): New subprogram.
411 * s-osinte-darwin.adb (clock_getres): New subprogram.
412 * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
413 * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
414 calculate resolution vice hard coded value.
415
416 2015-01-07 Ed Schonberg <schonberg@adacore.com>
417
418 * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
419 limited view, use non-limited view when available to create
420 equivalent record type.
421
422 2015-01-07 Vincent Celier <celier@adacore.com>
423
424 * gnatcmd.adb: Remove command Sync and any data and processing
425 related to this command. Remove project processing for gnatstack.
426 * prj-attr.adb: Remove package Synchonize and its attributes.
427
428 2015-01-07 Vincent Celier <celier@adacore.com>
429
430 * clean.adb: Minor error message change.
431
432 2015-01-07 Tristan Gingold <gingold@adacore.com>
433
434 PR ada/64349
435 * env.c (__gnat_environ): Adjust for darwin9/darwin10.
436
437 2015-01-07 Javier Miranda <miranda@adacore.com>
438
439 * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
440 protect the frontend against never ending recursion caused by
441 circularities in the sources.
442
443 2015-01-07 Robert Dewar <dewar@adacore.com>
444
445 * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
446 exp_ch3.adb: Minor reformatting.
447
448 2015-01-07 Doug Rupp <rupp@adacore.com>
449
450 * s-linux.ads (clockid_t): New subtype.
451 * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
452 (clockid_t): New subtype.
453 (clock_getres): Import system call.
454 * s-taprop-linux.adb (System.OS_Constants): With and rename.
455 (RT_Resolution): Remove
456 hardcoded value and call clock_getres.
457 * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
458 s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
459
460 2015-01-07 Robert Dewar <dewar@adacore.com>
461
462 * sem_warn.adb (Check_One_Unit): Guard against context item
463 with no Entity field.
464
465 2015-01-07 Vincent Celier <celier@adacore.com>
466
467 * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
468 * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
469
470 2015-01-07 Vincent Celier <celier@adacore.com>
471
472 * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
473 errors/warnings in the first parsing of the project files,
474 to display the warnings when there is no errors.
475
476 2015-01-07 Tristan Gingold <gingold@adacore.com>
477
478 * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
479
480 2015-01-07 Doug Rupp <rupp@adacore.com>
481
482 * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
483 value from Int_Lock as parameter to Int_Unlock.
484 * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
485 * s-vxwext.ads (Int_Unlock): Likewise.
486 * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
487 * s-vxwext-kernel.ads (Int_Unlock): Likewise.
488 * s-vxwext-rtp.adb (Int_Unlock): Likewise.
489 * s-vxwext-rtp.ads (Int_Unlock): Likewise.
490
491 2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com>
492
493 * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
494 keep ___XP suffixes
495
496 2015-01-07 Tristan Gingold <gingold@adacore.com>
497
498 * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
499 handle overlap.
500
501 2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
502
503 * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
504 automatically set No_Strict_Aliasing on access types.
505 * fe.h (No_Strict_Aliasing_CP): Declare.
506 * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
507 No_Strict_Aliasing_CP is set.
508
509 2015-01-07 Johannes Kanig <kanig@adacore.com>
510
511 * sem_ch8.adb (Analyze_Subprogram_Renaming) do
512 not build function wrapper in gnatprove mode when the package
513 is externally axiomatized.
514
515 2015-01-07 Jose Ruiz <ruiz@adacore.com>
516
517 * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
518 intermediate computations when the parameters have different signs.
519
520 2015-01-07 Javier Miranda <miranda@adacore.com>
521
522 * exp_ch3.adb (Build_Init_Procedure): For derived types,
523 improve the code which takes care of identifying and moving to
524 the beginning of the init-proc the call to the init-proc of the
525 parent type.
526
527 2015-01-07 Olivier Hainque <hainque@adacore.com>
528
529 * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
530 Elaborate the expression as part of the same stmt group as the actions.
531
532 2015-01-07 Robert Dewar <dewar@adacore.com>
533
534 * sem_ch3.adb: Minor error message change.
535
536 2015-01-07 Ed Schonberg <schonberg@adacore.com>
537
538 * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
539 Following AI05-028, the pragam applies legally to any composite type.
540
541 2015-01-07 Arnaud Charlet <charlet@adacore.com>
542
543 * s-osinte-vxworks.adb, s-osinte-vxworks.ads
544 (sigwait, sigwaitinfo): Removed, not needed after all on any
545 VxWorks configurations.
546
547 2015-01-07 Robert Dewar <dewar@adacore.com>
548
549 * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
550
551 2015-01-07 Javier Miranda <miranda@adacore.com>
552
553 * exp_disp.adb (Expand_Interface_Conversion): Adding missing
554 generation of accessibility check.
555
556 2015-01-07 Ed Schonberg <schonberg@adacore.com>
557
558 * sem_ch3.adb (Derived_Type_Declaration): In the case of an
559 illegal completion from a class- wide type, set etype of the
560 derived type properly to prevent cascaded errors.
561
562 2015-01-07 Robert Dewar <dewar@adacore.com>
563
564 * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
565 reformatting.
566
567 2015-01-07 Robert Dewar <dewar@adacore.com>
568
569 * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
570 New procedure.
571 (OK_No_Use_Of_Entity_Name): New function.
572 (Set_Restriction_No_Use_Of_Entity): New procedure.
573 * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
574 New procedure.
575 (OK_No_Use_Of_Entity_Name): New function.
576 (Set_Restriction_No_Use_Of_Entity): New procedure.
577 * sem_ch8.adb (Find_Direct_Name): Add check for violation of
578 No_Use_Of_Entity.
579 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
580 Add processing for new restriction No_Use_Of_Entity.
581
582 2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
583
584 * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
585 component type as to Has_Atomic_Components type. Remove useless
586 test on Is_Aliased component type.
587
588 2015-01-07 Hristian Kirtchev <kirtchev@adacore.com>
589
590 * alloc.ads Alphabetize several declarations. Add constants
591 Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
592 * atree.adb Add with and use clauses for Opt.
593 (Allocate_Initialize_Node): Mark a node as ignored Ghost
594 if it is created in an ignored Ghost region.
595 (Ekind_In): New variant.
596 (Is_Ignored_Ghost_Node): New routine.
597 (Set_Is_Ignored_Ghost_Node): New routine.
598 * atree.adb Aplhabetize several subprograms declarations. Flag
599 Spare0 is now known as Is_Ignored_Ghost_Node.
600 (Ekind_In): New variant.
601 (Is_Ignored_Ghost_Node): New routine.
602 (Set_Is_Ignored_Ghost_Node): New routine.
603 * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
604 (Contains_Ignored_Ghost_Code): New routine.
605 (Set_Contains_Ignored_Ghost_Code): New routine.
606 (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
607 It is now possible to set this property on an unanalyzed entity.
608 (Write_Entity_Flags): Output the status of flag
609 Contains_Ignored_Ghost_Code.
610 * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
611 usage in nodes.
612 (Contains_Ignored_Ghost_Code): New routine
613 along with pragma Inline.
614 (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
615 * exp_ch3.adb Add with and use clauses for Ghost.
616 (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
617 Set the Ghost_Mode in effect.
618 (Restore_Globals): New routine.
619 * exp_ch7.adb (Process_Declarations): Do not process a context
620 that invoves an ignored Ghost entity.
621 * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
622 construct that has been rewritten as a null statement.
623 * exp_disp.adb Add with and use clauses for Ghost.
624 (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
625 the Ghost_Mode in effect.
626 (Restore_Globals): New routine.
627 * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
628 does not require any clean up. Add two missing cases that deal
629 with block statements.
630 * freeze.adb Add with and use clauses for Ghost.
631 (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
632 Set the Ghost_Mode in effect.
633 (Restore_Globals): New routine.
634 * frontend.adb Add with and use clauses for Ghost. Remove any
635 ignored Ghost code from all units that qualify.
636 * ghost.adb New unit.
637 * ghost.ads New unit.
638 * gnat1drv.adb Add with clause for Ghost. Initialize and lock
639 the table in package Ghost.
640 * lib.ads: Alphabetize several subprogram declarations.
641 * lib-xref.adb (Output_References): Do not generate reference
642 information for ignored Ghost entities.
643 * opt.ads Add new type Ghost_Mode_Type and new global variable
644 Ghost_Mode.
645 * rtsfind.adb (Load_RTU): Provide a clean environment when
646 loading a runtime unit.
647 * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
648 entry/exit as the node may set a different mode.
649 (Do_Analyze):
650 Capture/restore the value of Ghost_Mode on entry/exit as the
651 unit may be withed from a unit with a different Ghost mode.
652 * sem_ch3.adb Add with and use clauses for Ghost.
653 (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
654 Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
655 Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
656 the entity as Ghost when there is a Ghost_Mode in effect.
657 (Array_Type_Declaration): The implicit base type inherits the
658 "ghostness" from the array type.
659 (Derive_Subprogram): The
660 alias inherits the "ghostness" from the parent subprogram.
661 (Make_Implicit_Base): The implicit base type inherits the
662 "ghostness" from the parent type.
663 * sem_ch5.adb Add with and use clauses for Ghost.
664 (Analyze_Assignment): Set the Ghost_Mode in effect.
665 * sem_ch6.adb Add with and use clauses for Ghost.
666 (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
667 Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
668 Set the Ghost_Mode in effect. Mark the entity as Ghost when
669 there is a Ghost_Mode in effect.
670 * sem_ch7.adb Add with and use clauses for Ghost.
671 (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
672 Analyze_Private_Type_Declaration): Set the Ghost_Mode in
673 effect. Mark the entity as Ghost when there is a Ghost_Mode
674 in effect.
675 * sem_ch8.adb Add with and use clauses for Ghost.
676 (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
677 Analyze_Object_Renaming, Analyze_Package_Renaming,
678 Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
679 the entity as Ghost when there is a Ghost_Mode in effect.
680 (Find_Type): Check the Ghost context of a type.
681 * sem_ch11.adb Add with and use clauses for Ghost.
682 (Analyze_Exception_Declaration): Set the Ghost_Mode in
683 effect. Mark the entity as Ghost when there is a Ghost_Mode
684 in effect.
685 * sem_ch12.adb Add with and use clauses for Ghost.
686 (Analyze_Generic_Package_Declaration,
687 Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
688 Mark the entity as Ghost when there is a Ghost_Mode in effect.
689 * sem_prag.adb Add with and use clauses for Ghost.
690 (Analyze_Pragma): Ghost-related checks are triggered when there
691 is a Ghost mode in effect.
692 (Create_Abstract_State): Mark the
693 entity as Ghost when there is a Ghost_Mode in effect.
694 * sem_res.adb Add with and use clauses for Ghost.
695 (Check_Ghost_Context): Removed.
696 * sem_util.adb (Check_Ghost_Completion): Removed.
697 (Check_Ghost_Derivation): Removed.
698 (Incomplete_Or_Partial_View):
699 Add a guard in case the entity has not been analyzed yet
700 and does carry a scope.
701 (Is_Declaration): New routine.
702 (Is_Ghost_Entity): Removed.
703 (Is_Ghost_Statement_Or_Pragma):
704 Removed.
705 (Is_Subject_To_Ghost): Removed.
706 (Set_Is_Ghost_Entity):
707 Removed.
708 (Within_Ghost_Scope): Removed.
709 * sem_util.adb (Check_Ghost_Completion): Removed.
710 (Check_Ghost_Derivation): Removed.
711 (Is_Declaration): New routine.
712 (Is_Ghost_Entity): Removed.
713 (Is_Ghost_Statement_Or_Pragma): Removed.
714 (Is_Subject_To_Ghost): Removed.
715 (Set_Is_Ghost_Entity): Removed.
716 (Within_Ghost_Scope): Removed.
717 * sinfo.ads Add a section on Ghost mode.
718 * treepr.adb (Print_Header_Flag): New routine.
719 (Print_Node_Header): Factor out code. Output flag
720 Is_Ignored_Ghost_Node.
721 * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
722
723 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
724
725 * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
726 true test and unreachable 'else' arm.
727
728 2015-01-06 Vincent Celier <celier@adacore.com>
729
730 * prj-conf.adb (Check_Target): Improve error message when
731 there are mismatched targets between the on in the configuration
732 project file and the specified one, either in the main project
733 file or in the --target= switch.
734
735 2015-01-06 Pascal Obry <obry@adacore.com>
736
737 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
738 Install_Name attribute definitions.
739
740 2015-01-06 Ed Schonberg <schonberg@adacore.com>
741
742 * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
743 generated Import pragma for the internal imported procedure does
744 not come from an aspect, so that Is_Imported can be properly
745 set for it.
746
747 2015-01-06 Gary Dismukes <dismukes@adacore.com>
748
749 * sem_ch12.adb (Might_Inline_Subp): Record whether
750 any subprograms in the generic package are marked with
751 pragma Inline_Always (setting flag Has_Inline_Always).
752 (Analyze_Package_Instantiation): Add test of Has_Inline_Always
753 alongside existing test of Front_End_Inlining as alternative
754 conditions for setting Inline_Now. Also add test of
755 Has_Inline_Always along with Front_End_Inlining test as an
756 alternative condition for setting Needs_Body to False.
757
758 2015-01-06 Tristan Gingold <gingold@adacore.com>
759
760 * i-cpoint.adb (Copy_Array): Handle overlap.
761
762 2015-01-06 Pascal Obry <obry@adacore.com>
763
764 * bindgen.adb: Minor style fix.
765
766 2015-01-06 Robert Dewar <dewar@adacore.com>
767
768 * sem_util.ads, sem_util.adb: Minor reformatting.
769
770 2015-01-06 Vincent Celier <celier@adacore.com>
771
772 * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
773 with flags before parsing the projects.
774 * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
775 * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
776 to True in the flags, when Ignore_Missing_With is True and an
777 imported project cannot be found.
778 * prj-proc.adb (Expression): When there are incomplete withs and
779 a variable or attribute is not found, set the variable/attribute
780 to unknown.
781 * prj.ads (Processing_Flags): New flag Incomplete_Withs,
782 defaulted to False.
783
784 2015-01-06 Vasiliy Fofanov <fofanov@adacore.com>
785
786 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
787 prj-err.adb: Add new switch --no-command-line.
788
789 2015-01-06 Ed Schonberg <schonberg@adacore.com>
790
791 * sem_ch12.adb: Sloc of wrapper is that of instantiation.
792
793 2015-01-06 Robert Dewar <dewar@adacore.com>
794
795 * sem_ch11.adb: Minor reformatting.
796
797 2015-01-06 Ed Schonberg <schonberg@adacore.com>
798
799 * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
800 Build_Array_Aggr_Code, used to initialized components covered
801 by a box association. If the component type is scalar and has
802 a default aspect, use it to initialize such components.
803
804 2015-01-06 Pascal Obry <obry@adacore.com>
805
806 * rtinit.c (__gnat_runtime_initialize): Add a parameter to
807 control the setup of the exception handler.
808 * initialize.c: Remove unused declaration.
809 * bindgen.adb: Always call __gnat_runtime_initialize and pass
810 whether the exeception handler must be set or not.
811
812 2015-01-06 Thomas Quinot <quinot@adacore.com>
813
814 * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
815 order to native from default, make sure to also adjust bit order.
816 * exp_aggr.adb: Minor reformatting.
817
818 2015-01-06 Robert Dewar <dewar@adacore.com>
819
820 * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
821 s-valrea.adb, s-valrea.ads: Add some additional guards for
822 Str'Last = Positive'Last.
823
824 2015-01-06 Ed Schonberg <schonberg@adacore.com>
825
826 * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
827 subprograms.
828
829 2015-01-06 Javier Miranda <miranda@adacore.com>
830
831 * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
832
833 2015-01-06 Thomas Quinot <quinot@adacore.com>
834
835 * sem_util.ads: Minor reformatting.
836 * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
837 (In_RCI_Declaration) Return to old name, as proper checking of
838 entity being in the visible part depends on entity kind and must
839 be done by the caller.
840
841 2015-01-06 Ed Schonberg <schonberg@adacore.com>
842
843 * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
844 for operators in SPARK.
845
846 2015-01-06 Ed Schonberg <schonberg@adacore.com>
847
848 * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
849 expression in an others association before making copies for
850 separate resolution and accessibility checks. This ensures that
851 the type of the expression is available to ASIS in all cases,
852 in particular if the expression is itself an aggregate.
853
854 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
855
856 * einfo.ads (Has_Independent_Components): Document extended
857 usage.
858 * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
859 (Set_Has_Independent_Components): Adjust assertion.
860 * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
861 for pragma Atomic_Components. Set Has_Independent_Components
862 on the object instead of the type for an object declaration with
863 pragma Independent_Components.
864
865 2015-01-06 Olivier Hainque <hainque@adacore.com>
866
867 * set_targ.adb (Read_Target_Dependent_Values): Set
868 Long_Double_Index when "long double" is read.
869 (elaboration code): Register_Back_End_Types only when not reading from
870 config files. Doing otherwise is pointless and error prone.
871
872 2015-01-06 Robert Dewar <dewar@adacore.com>
873
874 * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
875
876 2015-01-06 Robert Dewar <dewar@adacore.com>
877
878 * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
879 Str'Last = Positive'Last.
880
881 2015-01-06 Ed Schonberg <schonberg@adacore.com>
882
883 * sem_ch6.adb (Matches_Limited_View): Handle properly the case
884 where the non-limited type is a generic actual and appears as
885 a subtype of the non-limited view of the other.
886 * freeze.adb (Build_Renamed_Body): If the return type of the
887 declaration that is being completed is a limited view and the
888 non-limited view is available, use it in the specification of
889 the generated body.
890
891 2015-01-06 Ed Schonberg <schonberg@adacore.com>
892
893 * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
894 incomplete view, the type of the classwide type common to both
895 views is the type being declared.
896
897 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
898
899 * einfo.ads (Is_Independent): Further document extended usage.
900
901 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
902
903 * einfo.ads (Is_Independent): Document extended usage.
904 * einfo.adb (Is_Independent): Remove obsolete assertion.
905 (Set_Is_Independent): Likewise.
906 * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
907 (Process_Atomic_Independent_Shared_Volatile): ...this.
908 Deal with pragma Independent here.
909 (Analyze_Pragma): Adjust
910 to above renaming and also invoke it for pragma Independent.
911 Adjust comment for Independent_Components.
912
913 2015-01-06 Robert Dewar <dewar@adacore.com>
914
915 * snames.ads-tmpl: Remove entries for attribute Enum_Image.
916 * exp_attr.adb: Remove reference to Attribute_Enum_Image.
917
918 2015-01-06 Robert Dewar <dewar@adacore.com>
919
920 * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
921 = Positive'Last.
922 * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
923 Str'Last = Positive'Last.
924
925 2015-01-06 Robert Dewar <dewar@adacore.com>
926
927 * sem_prag.adb (Process_Inline): Remove redundant construct
928 warning (-gnatw.r) for an ineffective pragma Inline.
929
930 2015-01-06 Robert Dewar <dewar@adacore.com>
931
932 * s-valint.adb: Fix typo in last checkin.
933 * s-valuns.adb (Value_Unsigned): More efficient fix for
934 Positive'Last case.
935 * sem_attr.adb (Analyze_Attribute): Minor reformatting
936 (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
937
938 2015-01-06 Robert Dewar <dewar@adacore.com>
939
940 * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
941 Str'Last = Positive'Last
942
943 2015-01-06 Thomas Quinot <quinot@adacore.com>
944
945 * xoscons.adb: Display exception information and return non-zero
946 exit status in top level exception handler.
947
948 2015-01-06 Ed Schonberg <schonberg@adacore.com>
949
950 * sem_ch8.adb: Code clean up.
951
952 2015-01-06 Tristan Gingold <gingold@adacore.com>
953
954 * targparm.ads: Remove obsolete comment.
955
956 2015-01-06 Olivier Hainque <hainque@adacore.com>
957
958 * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
959 constructing a ref to variable, update inner_const_flag from the
960 variable TREE_READONLY attribute.
961 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
962 definition.
963 (get_target_float_size): Remove.
964 (get_target_double_size): Remove.
965 (get_target_long_double_size): Remove.
966
967 2015-01-06 Pascal Obry <obry@adacore.com>
968
969 * adaint.c (ProcListEvt): Set to NULL.
970 * rtinit.c: New file.
971 (__gnat_rt_init_count): New reference counter set to 0.
972 (__gnat_runtime_initialize): Move code here from __gnat_initialize when
973 this code is actually needed for the runtime initialization. This
974 routine returns immediately if the initialization has already been done.
975 * final.c: Revert previous change.
976 * rtfinal.c: New file.
977 (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
978 section and event. The default version of this routine is empty (except
979 for the reference counting code). This routine returns immediately if
980 some others libraries are referencing the runtime.
981 * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
982 remove circuitry to initialize the signal handler as this is
983 now done by the runtime initialization routine.
984 (Gen_Adafinal): Generate call to Runtime_Finalize.
985 * gnat_ugn.texi: Update documentation about concurrency and
986 initialization/finalization of the run-time.
987 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
988 references to rtfinal.o and rtinit.o
989
990 2015-01-06 Robert Dewar <dewar@adacore.com>
991
992 * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
993 for Enum_Image.
994 * sem_attr.adb: Implement Enum_Image attribute.
995 * snames.ads-tmpl: Add entries for Enum_Image attribute.
996
997 2015-01-06 Robert Dewar <dewar@adacore.com>
998
999 * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
1000 * restrict.ads (No_Use_Of_Entity): New table.
1001 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1002 Ignore No_Use_Of_Entity (will be processed in parser).
1003 * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
1004
1005 2015-01-06 Vincent Celier <celier@adacore.com>
1006
1007 * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
1008 to check for an extended project, if a project does not have
1009 yet a project declaration.
1010
1011 2015-01-06 Pierre-Marie Derodat <derodat@adacore.com>
1012
1013 * scos.ads: Update documentation about the SCO table build
1014 process and about table records format.
1015 * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
1016 (SCO_Record_Filtered): New procedure.
1017 (Set_SCO_Logical_Operator): New procedure.
1018 (dsco): Update documentation.
1019 * par_sco.adb: Update library-level comments.
1020 (SCO_Generation_State_Type): New type.
1021 (SCO_Generation_State): New variable.
1022 (SCO_Raw_Table): New package instanciation.
1023 (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
1024 ("<"): New.
1025 (Tristate): New type.
1026 (Is_Logical_Operator): Return Tristate and update documentation.
1027 (Has_Decision): Update call to Is_Logical_Operator and complete
1028 documentation.
1029 (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
1030 comment, add an assertion for state checking and change
1031 references to SCO_Table into SCO_Raw_Table.
1032 (dsco): Refactor to dump the raw and the filtered tables.
1033 (Process_Decisions.Output_Decision_Operand): Handle putative
1034 short-circuit operators.
1035 (Process_Decisions.Output_Element): Update references
1036 to Set_Table_Entry and to Condition_Pragma_Hash_Table.
1037 (Process_Decisions.Process_Decision_Operand): Update call
1038 to Is_Logical_Operator.
1039 (Process_Decisions.Process_Node): Handle putative short-circuit
1040 operators and change references to
1041 SCO_Table into SCO_Raw_Table.
1042 (SCO_Output): Add an assertion
1043 for state checking and remove code that used to stamp out SCO entries.
1044 (SCO_Pragma_Disabled): Change reference to SCO_Table
1045 into SCO_Raw_Table.
1046 (SCO_Record): Rename to SCO_Record_Raw,
1047 add an assertion for state checking and change references
1048 to SCO_Table into SCO_Raw_Table.
1049 (Set_SCO_Condition): Add an assertion for state checking, update
1050 references to Condition_Pragma_Hash_Table and change references to
1051 SCO_Table into SCO_Raw_Table.
1052 (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
1053 change references to SCO_Table into SCO_Raw_Table.
1054 (Set_SCO_Logical_Operator): New procedure.
1055 (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
1056 references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
1057 (SCO_Record_Fildered): New procedure.
1058 * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
1059 * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
1060 output SCOs.
1061 * par-load.adb (Load): Update reference to SCO_Record.
1062 * par.adb (Par): Update reference to SCO_Record.
1063 * put_scos.adb (Put_SCOs): Add an assertion to check that no
1064 putative SCO condition reaches this end.
1065 * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
1066 * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
1067 when corresponding to an "and"/"or" operator affected by the
1068 Short_Circuit_And_Or pragma.
1069
1070 2015-01-06 Robert Dewar <dewar@adacore.com>
1071
1072 * sem_ch8.adb (Analyze_Use_Package): Give more specific error
1073 msg for attempted USE of generic subprogram or subprogram.
1074
1075 2015-01-06 Robert Dewar <dewar@adacore.com>
1076
1077 * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
1078 s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
1079 a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
1080
1081 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1082
1083 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
1084 that specify stream subprograms, if the prefix is a class-wide
1085 type then the generated attribute definition clause must apply
1086 to the same class-wide type.
1087 (Default_Iterator): An iterator defined by an aspect of some
1088 container type T must have a first parameter of type T, T'class,
1089 or an access to such (from code reading RM 5.5.1 (2/3)).
1090
1091 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1092
1093 * gnat1drv.adb: Minor: complete previous change.
1094
1095 2015-01-06 Olivier Hainque <hainque@adacore.com>
1096
1097 * set_targ.ads (C_Type_For): New function. Return the name of
1098 a C type supported by the back-end and suitable as a basis to
1099 construct the standard Ada floating point type identified by
1100 the T parameter. This is used as a common ground to feed both
1101 ttypes values and the GNAT tree nodes for the standard floating
1102 point types.
1103 * set_targ.adb (Long_Double_Index): The index at which "long
1104 double" gets registered in the FPT_Mode_Table. This is useful to
1105 know whether we have a "long double" available at all and get at
1106 it's characteristics without having to search the FPT_Mode_Table
1107 when we need to decide which C type should be used as the
1108 basis for Long_Long_Float in Ada.
1109 (Register_Float_Type): Fill Long_Double_Index.
1110 (FPT_Mode_Index_For): New function. Return the index in
1111 FPT_Mode_Table that designates the entry corresponding to the
1112 provided C type name.
1113 (FPT_Mode_Index_For): New function. Return the index in
1114 FPT_Mode_Table that designates the entry for a back-end type
1115 suitable as a basis to construct the standard Ada floating point
1116 type identified by the input T parameter.
1117 (elaboration code): Register_Back_End_Types unconditionally,
1118 so C_Type_For can operate regardless of -gnateT. Do it
1119 early so we can query it for the floating point sizes, via
1120 FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
1121 Long_Double_Size from the FPT_Mode_Table, as cstand will do.
1122 * cstand.adb (Create_Float_Types): Use C_Type_For to determine
1123 which C type should be used as the basis for the construction
1124 of the Standard Ada floating point types.
1125 * get_targ.ads (Get_Float_Size, Get_Double_Size,
1126 Get_Long_Double_Size): Remove.
1127 * get_targ.adb: Likewise.
1128
1129 2015-01-06 Thomas Quinot <quinot@adacore.com>
1130
1131 * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
1132 parameter and rename to...
1133 (In_RCI_Visible_Declarations): Fix handling of private part of nested
1134 package.
1135 (Validate_RCI_Subprogram_Declaration): Reject illegal function
1136 returning anonymous access in RCI unit.
1137
1138 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1139
1140 * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
1141 function wrapper may be a homonym of another local declaration.
1142 * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
1143 build function and operator wrappers after the actual subprogram
1144 has been resolved, and replace the standard renaming declaration
1145 with the declaration of wrapper.
1146 * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
1147 make public for use elsewhere.
1148 * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
1149 rewrite, now that actual is fully resolved when wrapper is
1150 constructed.
1151
1152 2015-01-06 Javier Miranda <miranda@adacore.com>
1153
1154 * exp_disp.adb: Revert previous change.
1155
1156 2015-01-06 Robert Dewar <dewar@adacore.com>
1157
1158 * exp_util.adb: Change name Name_Table_Boolean to
1159 Name_Table_Boolean1.
1160 * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
1161 Introduce Name_Table_Boolean2/3.
1162 * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
1163 Introduce Name_Table_Boolean2/3.
1164 * par-ch13.adb: Change name Name_Table_Boolean to
1165 Name_Table_Boolean1.
1166
1167 2015-01-06 Bob Duff <duff@adacore.com>
1168
1169 * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
1170
1171 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1172
1173 * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
1174 others choice that covers multiple components, analyze each
1175 copy with the type of the component even in compile-only mode,
1176 to detect potential accessibility errors.
1177
1178 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1179
1180 * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
1181 (Resolve_Actuals): An effectively volatile out
1182 parameter cannot act as an in or in out actual in a call.
1183 (Resolve_Entity_Name): An effectively volatile out parameter
1184 cannot be read.
1185
1186 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1187
1188 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
1189 the expansion of an expression function it may be pre-analyzed
1190 if a 'access attribute is applied to the function, in which case
1191 last_entity may have been assigned already.
1192
1193 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1194
1195 * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
1196 type and actual has the corresponding full view, there is no
1197 error, but a case of use of incomplete type in a predicate or
1198 invariant expression.
1199
1200 2015-01-06 Vincent Celier <celier@adacore.com>
1201
1202 * makeutl.adb (Insert_No_Roots): Make sure that the same source
1203 in two different project tree is checked in both trees, if they
1204 are sources of two different projects, extended or not.
1205
1206 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1207
1208 * gnat1drv.adb: Minor code clean up.
1209 (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
1210
1211 2015-01-06 Bob Duff <duff@adacore.com>
1212
1213 * osint.adb (Read_Source_File): Don't print out
1214 file name unless T = Source.
1215
1216 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1217
1218 * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
1219 recognize improper uses of constant_reference types as actuals
1220 for in-out parameters.
1221 (Check_Function_Call): Do not collect identifiers if function
1222 name is missing because of previous error.
1223
1224 2015-01-06 Robert Dewar <dewar@adacore.com>
1225
1226 * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
1227 ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
1228 Minor change of name Name_Table_Info => Name_Table_Int.
1229
1230 2015-01-06 Robert Dewar <dewar@adacore.com>
1231
1232 * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
1233 in previous checkin.
1234 * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
1235 of bounds.
1236 * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
1237
1238 2015-01-06 Vincent Celier <celier@adacore.com>
1239
1240 * a-strsup.adb (Times (Natural;String;Positive)): Raise
1241 Length_Error, not Index_Error, when the result is too long.
1242
1243 2015-01-06 Thomas Quinot <quinot@adacore.com>
1244
1245 * a-direct.adb (Create_Path): Minor error handling and
1246 performance improvement.
1247
1248 2015-01-06 Robert Dewar <dewar@adacore.com>
1249
1250 * checks.ads, sem_ch12.adb: Minor reformatting.
1251 * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
1252 zero check for fixed-point case if Backend_Divide_Checks_On_Target
1253 is False.
1254
1255 2015-01-06 Robert Dewar <dewar@adacore.com>
1256
1257 * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
1258 Do not set restriction No_Elaboration_Code unless the pragma
1259 appears in the main unit).
1260
1261 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1262
1263 * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
1264 that with clause has already been analyzed before checking kind
1265 of with_clause.
1266
1267 2015-01-06 Robert Dewar <dewar@adacore.com>
1268
1269 * exp_strm.adb (Build_Elementary_Input_Call): Return base type
1270 (as required by RM).
1271
1272 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1273
1274 * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
1275
1276 2015-01-06 Robert Dewar <dewar@adacore.com>
1277
1278 * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
1279 for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
1280
1281 2015-01-06 Javier Miranda <miranda@adacore.com>
1282
1283 * exp_disp.adb (Expand_Interface_Conversion): No displacement
1284 of the pointer to the object needed when the type of the operand
1285 is not an interface type and the interface is one of its parent
1286 types (since they share the primary dispatch table).
1287
1288 2015-01-06 Vincent Celier <celier@adacore.com>
1289
1290 * prj-env.adb: Minor comment update.
1291
1292 2015-01-06 Javier Miranda <miranda@adacore.com>
1293
1294 * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
1295 access types whose target type is an interface type to operands
1296 that are access types; required to report an error when the
1297 operand is not an access type.
1298
1299 2015-01-06 Bob Duff <duff@adacore.com>
1300
1301 * a-cfinve.adb (Copy): Set the discriminant to the Length when
1302 Capacity = 0.
1303 * a-cofove.ads (Capacity): Add a postcondition.
1304 * a-cfinve.ads (Capacity): Add a postcondition.
1305 (Reserve_Capacity): Correct the postcondition in the case where
1306 Capacity = 0; that means "Capacity => Length (Container)".
1307 * a-cofove.adb (Elems[c]): Add a comment
1308 explaining the dangers and how to avoid them.
1309
1310 2015-01-06 Ed Schonberg <schonberg@adacore.com>
1311
1312 * sem_ch12.adb: Code clean up.
1313
1314 2015-01-06 Arnaud Charlet <charlet@adacore.com>
1315
1316 * gnatvsn.ads: Bump copyright year.
1317
1318 2015-01-06 Robert Dewar <dewar@adacore.com>
1319
1320 * s-taskin.ads, s-traces.ads: Minor reformatting.
1321 * exp_util.adb: Minor typo fix.
1322
1323 2015-01-06 Vincent Celier <celier@adacore.com>
1324
1325 * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
1326 with the runtime name.
1327 * prj-env.adb (Initialize_Default_Project_Path): When both
1328 Target_Name and Runtime_Name are not empty string, add to the
1329 project path the two directories .../lib/gnat and .../share/gpr
1330 related to the runtime.
1331 * prj-env.ads (Initialize_Default_Project_Path): New String
1332 parameter Runtime_Name, defaulted to the empty string.
1333
1334 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1335
1336 * frontend.adb: Guard against the case where a configuration
1337 pragma may be split into multiple pragmas and the original
1338 rewritten as a null statement.
1339 * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
1340 pragma using Insert_Before rather than Insert_Action. This
1341 takes care of the configuration pragma case where Insert_Action
1342 would fail.
1343
1344 2015-01-06 Bob Duff <duff@adacore.com>
1345
1346 * a-coboho.ads (Element_Access): Add "pragma
1347 No_Strict_Aliasing (Element_Access);". This is needed because
1348 we are unchecked-converting from Address to Element_Access.
1349 * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
1350 result to be 1.
1351
1352 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
1353
1354 * sem_res.adb (Resolve_Actuals): Remove the
1355 restriction which prohibits volatile actual parameters with
1356 enabled external propery Async_Writers to act appear in procedure
1357 calls where the corresponding formal is of mode OUT.
1358
1359 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1360
1361 * gnat_ugn.texi: Bump @copying's copyright year.
1362
1363 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
1364
1365 PR ada/64492
1366 * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
1367
1368 2015-01-04 Uros Bizjak <ubizjak@gmail.com>
1369
1370 * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
1371 of unchecked asprintf.
1372
1373 \f
1374 Copyright (C) 2015 Free Software Foundation, Inc.
1375
1376 Copying and distribution of this file, with or without modification,
1377 are permitted in any medium without royalty provided the copyright
1378 notice and this notice are preserved.