]>
Commit | Line | Data |
---|---|---|
6cbfce7e AC |
1 | 2017-04-27 Claire Dross <dross@adacore.com> |
2 | ||
3 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to | |
4 | modifications in functional containers. | |
5 | * a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat | |
6 | to improve readablity. Subprograms are separated between basic | |
7 | operations, constructors and properties. Universally quantified | |
8 | formulas in contracts are factorized in independant functions | |
9 | with a name and a comment. Names of parameters are improved. | |
10 | ||
11 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
12 | ||
13 | * exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix. | |
14 | ||
15 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
16 | ||
17 | * sem_res.adb (Resolve_Type_Conversion): Do not | |
18 | install a predicate check here since this is already done during | |
19 | the expansion phase. Verify whether the operand satisfies the | |
20 | static predicate (if any) of the target type. | |
21 | * sem_ch3.adb (Analyze_Object_Declaration): Do | |
22 | not install a predicate check if the object is initialized by | |
23 | means of a type conversion because the conversion is subjected | |
24 | to the same check. | |
25 | ||
26 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
27 | ||
28 | * raise.c (__gnat_builtin_longjmp): Remove. | |
29 | (__gnat_bracktrace): | |
30 | Add a dummy definition for the compiler (__gnat_eh_personality, | |
31 | __gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19, | |
32 | __gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30, | |
33 | __gnat_rcheck_31, __gnat_rcheck_32): Likewise. | |
34 | * a-exexpr.adb: Renamed from a-exexpr-gcc.adb | |
35 | * a-except.ads, a-except.adb: Renamed from a-except-2005.ads | |
36 | and a-except-2005.adb. | |
37 | * raise-gcc.c: Allow build in compiler, compiled as a C++ | |
38 | file. | |
39 | (__gnat_Unwind_ForcedUnwind): Adjust prototype. | |
40 | (db): Constify msg_format. | |
41 | (get_call_site_action_for): Don't use void arithmetic. | |
42 | * system.ads (Frontend_Exceptions): Set to False. | |
43 | (ZCX_By_Default): Set to True. | |
44 | (GCC_ZC_Support): Set to True. | |
45 | * gcc-interface/Makefile.in: No more variants for a-exexpr.adb and | |
46 | a-except.ad[sb]. | |
47 | * gcc-interface/Make-lang.in: Add support for backend zcx exceptions | |
48 | in gnat1 and gnatbind. | |
49 | * gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o, | |
50 | s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o | |
51 | * s-excmac.ads, s-excmac.adb: Copy of variants. | |
52 | * a-except.o: Adjust preequisites. | |
53 | Add handling of s-excmac-arm.adb and s-excmac-gcc.adb. | |
54 | ||
55 | 2017-04-27 Claire Dross <dross@adacore.com> | |
56 | ||
57 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to | |
58 | modifications in functional containers. | |
59 | * a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat | |
60 | to improve readablity. Subprograms are separated between basic | |
61 | operations, constructors and properties. Universally quantified | |
62 | formulas in contracts are factorized in independant functions | |
63 | with a name and a comment. Names of parameters are improved. | |
64 | ||
65 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
66 | ||
67 | * exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix. | |
68 | ||
69 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
70 | ||
71 | * sem_res.adb (Resolve_Type_Conversion): Do not | |
72 | install a predicate check here since this is already done during | |
73 | the expansion phase. Verify whether the operand satisfies the | |
74 | static predicate (if any) of the target type. | |
75 | * sem_ch3.adb (Analyze_Object_Declaration): Do | |
76 | not install a predicate check if the object is initialized by | |
77 | means of a type conversion because the conversion is subjected | |
78 | to the same check. | |
79 | ||
80 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
81 | ||
82 | * a-except.ads, a-except.adb, a-exexpr.adb: Removed (will be | |
83 | replaced by their variants). | |
84 | ||
e77e2429 AC |
85 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
86 | ||
87 | * exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb, | |
88 | cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb, | |
89 | a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting. | |
90 | ||
91 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
92 | ||
93 | * s-excmac-gcc.ads, s-excmac-gcc.adb, | |
94 | s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in | |
95 | Ada95. | |
96 | ||
97 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
98 | ||
99 | * exp_ch7.adb (Establish_Transient_Scope): Rewrite | |
100 | the loop which detects potential enclosing transient scopes. The | |
101 | loop now terminates much earlier as transient scopes are bounded | |
102 | by packages and subprograms. | |
103 | ||
104 | 2017-04-27 Claire Dross <dross@adacore.com> | |
105 | ||
106 | * a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to | |
107 | allow the use of regular equality over elements in contracts. | |
108 | (Cursor): Type is now public so that it can be used in | |
109 | model functions. | |
110 | (Formal_Model): Ghost package containing | |
111 | model functions that are used in subprogram contracts. | |
112 | (Current_To_Last): Removed, model functions should be used | |
113 | instead. | |
114 | (First_To_Previous): Removed, model functions should | |
115 | be used instead. | |
116 | (Strict_Equal): Removed, model functions | |
117 | should be used instead. | |
118 | (Append): Default parameter value | |
119 | replaced by new wrapper to allow more precise contracts. | |
120 | (Insert): Default parameter value replaced by new wrapper to | |
121 | allow more precise contracts. | |
122 | (Delete): Default parameter | |
123 | value replaced by new wrapper to allow more precise contracts. | |
124 | (Prepend): Default parameter value replaced by new wrapper to | |
125 | allow more precise contracts. | |
126 | (Delete_First): Default parameter | |
127 | value replaced by new wrapper to allow more precise contracts. | |
128 | (Delete_Last): Default parameter value replaced by new wrapper | |
129 | to allow more precise contracts. | |
130 | ||
131 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
132 | ||
133 | * exp_spark.adb (Expand_SPARK): Perform specialized expansion | |
134 | for object declarations. | |
135 | (Expand_SPARK_N_Object_Declaration): New routine. | |
136 | * sem_elab.adb (Check_A_Call): Include calls to the | |
137 | Default_Initial_Condition procedure of a type under the SPARK | |
138 | elaboration checks umbrella. | |
139 | ||
7a71a7c4 AC |
140 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
141 | ||
142 | * sem.adb (Analyze): Diagnose an illegal iterated component | |
143 | association. | |
144 | * sem_util.ads, sem_util.adb | |
145 | (Diagnose_Iterated_Component_Association): New routine. | |
146 | ||
147 | 2017-04-27 Bob Duff <duff@adacore.com> | |
148 | ||
149 | * adaint.c (__gnat_get_current_dir): Return 0 in length if | |
150 | getcwd fails. | |
151 | * a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise | |
152 | exception if getcwd failed. | |
153 | ||
154 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
155 | ||
156 | * exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost | |
157 | entities with special prefix. | |
158 | ||
159 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
160 | ||
161 | * debug.adb Change the documentation of switch -gnatd.s. | |
162 | * exp_ch7.adb (Make_Transient_Block): Transient blocks do not need | |
163 | to manage the secondary stack when an enclosing scope already | |
164 | performs this functionality (aka relaxed management). Switch | |
165 | -gnatd.s may be used to force strict management in which case | |
166 | the block will manage the secondary stack unconditionally. Add | |
167 | a guard to stop the traversal when encountering a package or a | |
168 | subprogram scope. | |
169 | ||
170 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
171 | ||
172 | * sem_res.adb (Resolve_Call): Refine further the handling of | |
173 | limited views of return types in function calls. If the function | |
174 | that returns a limited view appears in the current unit, | |
175 | we do not replace its type by the non-limited view because | |
176 | this transformation is performed int the back-end. However, | |
177 | the type of the call itself must be the non-limited view, to | |
178 | prevent spurious resolution errors. | |
179 | ||
180 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
181 | ||
182 | * einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds): | |
183 | Removed, proposed implementation using generics for class-wide | |
184 | preconditions proved impractical. | |
185 | (Class_Wide_Clone): New attribute of subprogram. Designates | |
186 | subprogram created for primitive operations with class-wide | |
187 | pre/postconditions that contain calls to other primitives. The | |
188 | clone holds the body of the original primitive, but the | |
189 | pre/postonditions do not apply to it. The original body is | |
190 | rewritten as a wrapper for a call to the clone. | |
191 | (Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If | |
192 | the flag is set, no code for the corresponding pre/postconditions | |
193 | is inserted into its body. | |
194 | ||
195 | 2017-04-27 Bob Duff <duff@adacore.com> | |
196 | ||
197 | * exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore | |
198 | Scalar_Storage_Order if -gnatI is given. | |
199 | * sem_prag.adb (Analyze_Pragma): Ignore | |
200 | Default_Scalar_Storage_Order if -gnatI is given. | |
201 | ||
394fa9f5 CD |
202 | 2017-04-27 Claire Dross <dross@adacore.com> |
203 | ||
204 | * a-cofuba.ads (Add): Take as an additional input parameter | |
205 | the position where the element should be inserted. | |
206 | (Remove): New function that removes an element from the container. | |
207 | * a-cofuma.ads (Add): Adapt to the new API of Base.Add. | |
208 | * a-cofuse.ads (Add): Adapt to the new API of Base.Add. | |
209 | (Remove): New function that removes an element from a set. | |
210 | * a-cofuve.ads (Add): Adapt to the new API of Base.Add. | |
211 | (Remove): New function that removes an element from a sequence. | |
212 | (Insert): New function that adds anywhere in a sequence. | |
213 | ||
11775988 AC |
214 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
215 | ||
216 | * checks.adb (Generate_Range_Check): Revert previous change. | |
217 | ||
218 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
219 | ||
220 | * sem_util.adb: Minor reformatting/rewording. | |
221 | ||
222 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
223 | ||
224 | * lib-xref.adb (Generate_Reference): The use | |
225 | of attribute 'Result is not considered a violation of pragma | |
226 | Unreferenced. | |
227 | ||
228 | 2017-04-27 Justin Squirek <squirek@adacore.com> | |
229 | ||
230 | * cstand.adb (Create_Standard): Correctly set | |
231 | Directly_Designated_Type for Any_Access. | |
232 | * sem_type.adb (Covers): Minor grammar fixes. | |
233 | ||
234 | 2017-04-27 Bob Duff <duff@adacore.com> | |
235 | ||
236 | * sem_attr.adb: Minor cleanup. | |
237 | ||
238 | 2017-04-27 Claire Dross <dross@adacore.com> | |
239 | ||
240 | * a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New | |
241 | private child of Ada.Containers used to implement all functional | |
242 | containers. | |
243 | * a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New | |
244 | child of Ada.Containers. It provides functional indefinite unbounded | |
245 | maps which can be used as high level models for specification | |
246 | of data structures. | |
247 | * a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New | |
248 | child of Ada.Containers. It provides functional indefinite unbounded | |
249 | sets which can be used as high level models for specification | |
250 | of data structures. | |
251 | * a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New | |
252 | child of Ada.Containers. It provides functional indefinite unbounded | |
253 | vectors which can be used as high level models for specification | |
254 | of data structures. | |
255 | * Makefile.rtl: Add new packages. | |
256 | * impunit.adb: Add new packages. | |
257 | ||
f32eb591 AC |
258 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> |
259 | ||
260 | * sem_ch4.adb: Minor reformatting. | |
261 | ||
262 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
263 | ||
264 | * sem_ch12.adb (Analyze_Associations): minor reformatting. | |
265 | (Check_Fixed_Point_Actual): Do not emit a warning on a fixed | |
266 | point type actual that has user-defined arithmetic primitives, | |
267 | when there is a previous actual for a formal package that defines | |
268 | a fixed-point type with the parent user-defined operator. | |
269 | ||
270 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
271 | ||
272 | * checks.adb (Generate_Range_Check): Reinstate part of previous change. | |
273 | * sem_attr.adb (Resolve_Attribute): Generate a range check when | |
274 | the component type allows range checks. | |
275 | ||
276 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
277 | ||
278 | * sem_aux.adb (Is_Generic_Formal): Use original node to locate | |
279 | corresponding declaration, because formal derived types are | |
280 | rewritten as private extensions. | |
281 | ||
282 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
283 | ||
284 | * sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check | |
285 | dimensions of operands if node has been analyzed already, because | |
286 | previous analysis and dimension checking will have removed the | |
287 | dimension information from the operands. | |
288 | ||
289 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
290 | ||
291 | * debug.adb: Document the use of switch -gnatd.s. | |
292 | * einfo.ads Update the documentation on attribute | |
293 | Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove | |
294 | the uses of these attributes from certain entities. | |
295 | * exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry | |
296 | which determines whether the block should continue to manage | |
297 | the secondary stack. | |
298 | (Manages_Sec_Stack): New routine. | |
299 | ||
300 | 2017-04-27 Bob Duff <duff@adacore.com> | |
301 | ||
302 | * atree.ads: Minor edit. | |
303 | ||
304 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
305 | ||
306 | * sinfo.ads: Update the section on Ghost mode. Add | |
307 | a section on SPARK mode. Update the placement of section on | |
308 | expression functions. | |
309 | ||
310 | 2017-04-27 Bob Duff <duff@adacore.com> | |
311 | ||
312 | * sinput.adb (Get_Source_File_Index): Don't | |
313 | assert that S is in the right range in the case where this is | |
314 | a .dg file under construction. | |
315 | ||
316 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
317 | ||
318 | * sem_util.adb (Check_Result_And_Post_State): | |
319 | Handle more precisely each conjunct in expressions formed by | |
320 | and'ing sub-expressions. | |
321 | ||
0c3ef0cc GD |
322 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> |
323 | ||
324 | * exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting. | |
325 | ||
9c533e7d AC |
326 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
327 | ||
328 | * gnat_rm.texi, gnat_ugn.texi, | |
329 | doc/gnat_ugn/building_executable_programs_with_gnat.rst, | |
330 | doc/gnat_ugn/platform_specific_information.rst, | |
331 | doc/gnat_ugn/gnat_and_program_execution.rst, | |
332 | doc/gnat_ugn/gnat_utility_programs.rst, | |
333 | doc/gnat_ugn/the_gnat_compilation_model.rst, | |
334 | doc/gnat_rm/implementation_defined_attributes.rst, | |
335 | doc/gnat_rm/the_gnat_library.rst, | |
336 | doc/gnat_rm/implementation_defined_pragmas.rst, | |
337 | doc/gnat_rm/representation_clauses_and_pragmas.rst, | |
338 | doc/gnat_rm/implementation_of_specific_ada_features.rst, | |
339 | doc/gnat_rm/implementation_defined_aspects.rst, | |
340 | doc/gnat_rm/implementation_defined_characteristics.rst: Update | |
341 | documentation. | |
342 | ||
211e7410 AC |
343 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
344 | ||
345 | * exp_ch4.adb (Expand_N_Case_Expression): Emit error message when | |
346 | generating C code on complex case expressions. | |
347 | ||
348 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
349 | ||
350 | * sem_prag.adb (Analyze_Pragma): Generate a warning instead | |
351 | of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode. | |
352 | * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use | |
353 | Ada_2012 instead of Ada_2005 to be compatible with the above | |
354 | change. | |
355 | * bindgen.adb: Silence new warning on pragma Ada_95. | |
356 | ||
357 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
358 | ||
359 | * checks.adb (Generate_Range_Check): Revert part of previous change. | |
360 | ||
361 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
362 | ||
363 | * sem_ch4.adb (Try_Container_Indexing): Handle properly a | |
364 | container indexing operation that appears as a an actual in a | |
365 | parameter association in a procedure call. | |
366 | ||
367 | 2017-04-25 Olivier Ramonat <ramonat@adacore.com> | |
368 | ||
369 | * prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads: | |
370 | Fix spelling mistakes. | |
371 | ||
372 | 2017-04-25 Bob Duff <duff@adacore.com> | |
373 | ||
374 | * types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb, | |
375 | * sinput-p.adb: Use regular fat pointers, with bounds checking, | |
376 | for source buffers. Fix misc obscure bugs. | |
377 | * sinput.ads, sinput.adb: Use regular fat pointers, with bounds | |
378 | checking, for source buffers. Modify representation clause for | |
379 | Source_File_Record as appropriate. Move Source_File_Index_Table | |
380 | from spec to body, because it is not used outside the body. | |
381 | Move Set_Source_File_Index_Table into the private part, because | |
382 | it is used only in the body and in children. Use trickery to | |
383 | modify the dope in the generic instantiation case. It's ugly, | |
384 | but not as ugly as the previous method. Fix documentation. | |
385 | Remove obsolete code. | |
386 | * fname-sf.adb, targparm.adb: Fix misc out-of-bounds | |
387 | indexing in source buffers. | |
388 | * fmap.adb: Avoid conversions from one string type to another. | |
389 | Remove a use of global name buffer. | |
390 | * osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment | |
391 | fixes. | |
392 | ||
e0666fc6 AC |
393 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
394 | ||
395 | * exp_util.adb, exp_ch4.adb: Minor reformatting. | |
396 | ||
397 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
398 | ||
399 | * checks.adb: Code clean up in various routines. | |
400 | (Generate_Range_Check): Do not generate a range check when the | |
401 | expander is not active or when index/range checks are suppressed | |
402 | on the target type. | |
403 | (Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze): | |
404 | Remove variants that include a Supress parameter. These routines | |
405 | are never used, and were introduced before the current scope-based | |
406 | check suppression method. | |
407 | ||
408 | 2017-04-25 Vasiliy Fofanov <fofanov@adacore.com> | |
409 | ||
410 | * prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific | |
411 | code and some subprogram calls that are now noop. | |
412 | ||
e44e8a5e AC |
413 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
414 | ||
415 | * exp_ch4.adb (Expand_N_Case_Expression): Take | |
416 | Minimize_Expression_With_Actions into account when possible. | |
417 | ||
bf604a5e AC |
418 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
419 | ||
420 | * exp_util.adb (Known_Non_Null): Moved to Sem_Util. | |
421 | (Known_Null): Moved to Sem_Util. | |
422 | * exp_util.ads (Known_Non_Null): Moved to Sem_Util. | |
423 | (Known_Null): Moved to Sem_Util. | |
424 | * sem_util.adb Add new enumeration type Null_Status_Kind. | |
425 | (Known_Non_Null): Moved from Exp_Util. Most of the logic in | |
426 | this routine is now carried out by Null_Status. | |
427 | (Known_Null): Moved from Exp_Util. Most of the logic in this routine | |
428 | is now carried out by Null_Status. | |
429 | (Null_Status): New routine. | |
430 | * sem_util.ads (Known_Non_Null): Moved from Exp_Util. | |
431 | (Known_Null): Moved from Exp_Util. | |
432 | ||
433 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
434 | ||
435 | * sem_ch6.adb (Analyze_Expression_Function): Do not report an | |
436 | error on the return type of an expression function that is a | |
437 | completion, if the type is derived from a generic formal type. | |
438 | ||
439 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
440 | ||
441 | * sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type | |
442 | conversion are those of the target type. | |
443 | ||
444 | 2017-04-25 Bob Duff <duff@adacore.com> | |
445 | ||
446 | * a-clrefi.adb: Minor cleanup. | |
447 | ||
178c3cba GD |
448 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
449 | ||
450 | * exp_util.adb, exp_util.ads, types.ads: Minor reformatting. | |
451 | ||
0f96fd14 BD |
452 | 2017-04-25 Bob Duff <duff@adacore.com> |
453 | ||
454 | * err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb, | |
455 | types.adb, types.ads, types.h, sinput-l.adb, targparm.adb, | |
456 | errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb, | |
457 | scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and | |
458 | the Internal_Source buffer. This removes the incorrect call to "=" | |
459 | the customer noticed. | |
460 | Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We | |
461 | eventually need to eliminate them altogether. Or else get rid | |
462 | of zero-origin addressing. | |
463 | ||
28ccbd3f AC |
464 | 2017-04-25 Claire Dross <dross@adacore.com> |
465 | ||
466 | * exp_util.ads (Expression_Contains_Primitives_Calls_Of): New | |
467 | function used in GNATprove to know if an expression contains | |
468 | non-dispatching calls on primitives of a tagged type. | |
469 | ||
470 | 2017-04-25 Bob Duff <duff@adacore.com> | |
471 | ||
472 | * rtsfind.adb (Initialize): Initialize | |
473 | First_Implicit_With. Building the compiler with Normalize_Scalars | |
474 | and validity checking finds this being used as an uninitialized | |
475 | variable. | |
476 | ||
f9a8f910 HK |
477 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
478 | ||
479 | * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): | |
480 | Add a warning about SPARK mode management. The routine now | |
481 | saves and restores both the mode and associated pragma. | |
482 | (Analyze_Entry_Or_Subprogram_Contract): Add a warning about | |
483 | SPARK mode management. The routine now saves and restores both | |
484 | the mode and associated pragma. | |
485 | (Analyze_Object_Contract): | |
486 | Add a warning about SPARK mode management. The routine | |
487 | now saves and restores both the mode and associated pragma. | |
488 | (Analyze_Package_Body_Contract): Add a warning about SPARK mode | |
489 | management. The routine now saves and restores both the mode | |
490 | and associated pragma. (Analyze_Package_Contract): Add a warning | |
491 | about SPARK mode management. The routine now saves and restores | |
492 | both the mode and associated pragma. | |
493 | (Analyze_Task_Contract): | |
494 | Add a warning about SPARK mode management. The routine now saves | |
495 | and restores both the mode and associated pragma. | |
496 | * expander.adb (Expand): Change the way the Ghost mode is saved | |
497 | and restored. | |
498 | * exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is | |
499 | saved and restored. | |
500 | * exp_disp.adb (Make_DT): Change the way the Ghost mode is saved | |
501 | and restored. | |
502 | * exp_util.adb (Build_DIC_Procedure_Body): | |
503 | Change the way the Ghost mode is saved and restored. | |
504 | (Build_DIC_Procedure_Declaration): Change the way the Ghost | |
505 | mode is saved and restored. | |
506 | (Build_Invariant_Procedure_Body): | |
507 | Change the way the Ghost mode is saved and restored. | |
508 | (Build_Invariant_Procedure_Declaration): Change the way the Ghost | |
509 | mode is saved and restored. | |
510 | (Make_Predicate_Call): Change the | |
511 | way the Ghost mode is saved and restored. | |
512 | * freeze.adb (Freeze_Entity): Change the way the Ghost mode is | |
513 | saved and restored. | |
514 | * ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode | |
515 | and its assignment. | |
516 | (Mark_And_Set_Ghost_Body): Remove parameter | |
517 | Mode and its assignment. | |
518 | (Mark_And_Set_Ghost_Completion): | |
519 | Remove parameter Mode and its assignment. | |
520 | (Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its | |
521 | assignment. | |
522 | (Mark_And_Set_Ghost_Instantiation): Remove parameter | |
523 | Mode and its assignment. | |
524 | (Mark_And_Set_Ghost_Procedure_Call): | |
525 | Remove parameter Mode and its assignment. | |
526 | (Set_Ghost_Mode): | |
527 | Remove parameter Mode and its assignment. | |
528 | * ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode | |
529 | and update the comment on usage. | |
530 | (Mark_And_Set_Ghost_Body): | |
531 | Remove parameter Mode and update the comment on usage. | |
532 | (Mark_And_Set_Ghost_Completion): Remove parameter Mode and | |
533 | update the comment on usage. | |
534 | (Mark_And_Set_Ghost_Declaration): | |
535 | Remove parameter Mode and update the comment on usage. | |
536 | (Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and | |
537 | update the comment on usage. | |
538 | (Mark_And_Set_Ghost_Procedure_Call): | |
539 | Remove parameter Mode and update the comment on usage. | |
540 | (Set_Ghost_Mode): Remove parameter Mode and update the comment | |
541 | on usage. | |
542 | * lib.ads Remove obsolete fields SPARK_Mode_Pragma from various | |
543 | types. | |
544 | * lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment | |
545 | of obsolete field SPARK_Mode_Pragma. | |
546 | (Load_Main_Source): Remove | |
547 | the assignment of obsolete field SPARK_Mode_Pragma. | |
548 | (Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma. | |
549 | * lib-writ.adb (Add_Preprocessing_Dependency): Remove | |
550 | the assignment of obsolete field SPARK_Mode_Pragma. | |
551 | (Ensure_System_Dependency): Remove the assignment of obsolete | |
552 | field SPARK_Mode_Pragma. | |
553 | * rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK | |
554 | mode management. Change the way Ghost and SPARK modes are saved | |
555 | and restored. | |
556 | * sem.adb (Analyze): Change the way the Ghost mode is saved | |
557 | and restored. | |
558 | * sem_ch3.adb (Analyze_Object_Declaration): Change the way the | |
559 | Ghost mode is saved and restored. | |
560 | (Process_Full_View): Change | |
561 | the way the Ghost mode is saved and restored. | |
562 | * sem_ch5.adb (Analyze_Assignment): Change the way the Ghost | |
563 | mode is saved and restored. | |
564 | * sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost | |
565 | mode is saved and restored. | |
566 | (Analyze_Subprogram_Body_Helper): | |
567 | Change the way the Ghost mode is saved and restored. | |
568 | * sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the | |
569 | Ghost mode is saved and restored. | |
570 | * sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode | |
571 | management. Save the SPARK mode-related data prior to any changes | |
572 | to the scope stack and contexts. The mode is then reinstalled | |
573 | before the subunit is analyzed in order to restore the original | |
574 | view of the subunit. | |
575 | * sem_ch12.adb (Analyze_Package_Instantiation): Update the | |
576 | warning on region management. Change the way the Ghost and | |
577 | SPARK modes are saved and restored. | |
578 | (Inline_Instance_Body): | |
579 | Add a warning about SPARK mode management. Code clean up. | |
580 | (Analyze_Subprogram_Instantiation): Update the warning on region | |
581 | management. Change the way the Ghost and SPARK modes are saved | |
582 | and restored. | |
583 | (Instantiate_Package_Body): Update the warning | |
584 | on region management. Change the way the Ghost and SPARK modes | |
585 | are saved and restored. | |
586 | (Instantiate_Subprogram_Body): Update | |
587 | the warning on region management. Change the way the Ghost and | |
588 | SPARK modes are saved and restored. | |
589 | (Set_Instance_Env): Add a | |
590 | warning about SPARK mode management. Change the way SPARK mode | |
591 | is saved and restored. | |
592 | * sem_ch13.adb (Build_Predicate_Functions): | |
593 | Change the way the Ghost mode is saved and restored. | |
594 | (Build_Predicate_Function_Declaration): Change the way the Ghost | |
595 | mode is saved and restored. | |
596 | * sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK | |
597 | mode management. Change the way SPARK mode is saved and restored. | |
598 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
599 | Change the way the Ghost mode is saved and restored. | |
600 | (Analyze_Initial_Condition_In_Decl_Part): Change the way | |
601 | the Ghost mode is saved and restored. | |
602 | (Analyze_Pragma): | |
603 | Change the way the Ghost mode is saved and restored. | |
604 | (Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the | |
605 | Ghost mode is saved and restored. | |
606 | * sem_util.adb (Install_SPARK_Mode): New routine. | |
607 | (Restore_SPARK_Mode): New routine. | |
608 | (Save_SPARK_Mode_And_Set): Removed. | |
609 | (Set_SPARK_Mode): New routine. | |
610 | * sem_util.ads (Install_SPARK_Mode): New routine. | |
611 | (Restore_SPARK_Mode): New routine. | |
612 | (Save_SPARK_Mode_And_Set): Removed. | |
613 | (Set_SPARK_Mode): New routine. | |
614 | ||
e1691d7e ES |
615 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
616 | ||
617 | * sem_util.adb, sem_util.ads (From_Nested_Package): New predicate | |
618 | to determine whether a type is declared in a local package that | |
619 | has not yet been frozen. | |
620 | * freeze.adb (Freeze_Before): Use new predicate to determine | |
621 | whether a local package must be installed on the scope stack | |
622 | in order to evaluate in the proper scope actions generated by | |
623 | aspect specifications, such as Predicate | |
624 | * sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point | |
625 | using new predicate. | |
626 | ||
57f6e00c AC |
627 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
628 | ||
629 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider | |
630 | comparisons between non- scalar expressions expressions because | |
631 | their values cannot be invalidated. | |
632 | * sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the | |
633 | comment on usage. | |
634 | ||
635 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
636 | ||
637 | * par_sco.adb: Minor reformatting. | |
638 | ||
639 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
640 | ||
641 | * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity | |
642 | is a type from an unfrozen local package, install package to | |
643 | complete the analysis of delayed aspects of the type. | |
644 | ||
645 | 2017-04-25 Tristan Gingold <gingold@adacore.com> | |
646 | ||
647 | * bingen.adb (System_Version_Control_Used): New variable. | |
648 | (Resolve_Binder_Options): Set the above variable. | |
649 | (Gen_Output_File_Ada): Conditionally call Gen_Versions. | |
650 | (Gen_Elab_Order): Emit blank line before. | |
651 | ||
652 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
653 | ||
654 | * sem_cat.adb (Validate_RT_RAT_Component): Added | |
655 | an extra check to ignore incomplete types. | |
656 | ||
62807842 AC |
657 | 2017-04-25 Thomas Quinot <quinot@adacore.com> |
658 | ||
659 | * sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove | |
660 | bogus circuitry for the case where Name is Predicate. | |
661 | ||
662 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
663 | ||
664 | * par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects): | |
665 | Create SCOs for Predicate aspects in disabled | |
666 | state initially, to be enabled later on by... | |
667 | * sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark | |
668 | SCO for predicate as enabled. | |
669 | ||
670 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
671 | ||
672 | * comperr.adb (Compiler_Abort): Remove now obsolete pair of | |
673 | pragmas Warnings Off / On. | |
674 | * namet.adb (Finalize): Remove now obsolete pair of pragmas | |
675 | Warnings Off / On. | |
676 | * output.adb: Remove now obsolete pair of pragmas Warnings Off / On. | |
677 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not | |
678 | consider comparisons between static expressions because their | |
679 | values cannot be invalidated. | |
680 | * urealp.adb (Tree_Read): Remove now obsolete pair of pragmas | |
681 | Warnings Off / On. | |
682 | (Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On. | |
683 | * usage.adb Remove now obsolete pair of pragmas Warnings Off / On. | |
684 | ||
685 | 2017-04-25 Bob Duff <duff@adacore.com> | |
686 | ||
687 | * sem_elab.adb (In_Task_Activation): Trace internal calls in | |
688 | task bodies. | |
689 | ||
2da8c8e2 GD |
690 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
691 | ||
692 | * sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and | |
693 | typo fixes. | |
694 | ||
634a926b AC |
695 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
696 | ||
697 | * comperr.adb (Compiler_Abort): Add a pair of pragma Warnings | |
698 | On/Off to defend against a spurious warning in conditional | |
699 | compilation. | |
700 | * exp_ch4.adb (Rewrite_Comparison): Reimplemented. | |
701 | * namet.adb (Finalize): Add a pair of pragma Warnings On/Off to | |
702 | defend against a spurious warning in conditional compilation. | |
703 | * output.adb Add a pair of pragma Warnings On/Off to defend | |
704 | against a spurious warning in conditional compilation. | |
705 | * sem_eval.adb (Eval_Relational_Op): Major code clean up. | |
706 | (Fold_General_Op): New routine. | |
707 | (Fold_Static_Real_Op): New routine. | |
708 | (Test_Comparison): New routine. | |
709 | * sem_eval.ads (Test_Comparison): New routine. | |
710 | * sem_warn.adb (Is_Attribute_Constant_Comparison): New routine. | |
711 | (Warn_On_Constant_Valid_Condition): New routine. | |
712 | (Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison | |
713 | to detect a specific case. | |
714 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine. | |
715 | * urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off | |
716 | to defend against a spurious warning in conditional compilation. | |
717 | (Tree_Write): Add a pair of pragma Warnings On/Off to defend | |
718 | against a spurious warning in conditional compilation. | |
719 | * usage.adb Add a pair of pragma Warnings On/Off to defend | |
720 | against a spurious warning in conditional compilation. | |
721 | ||
722 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
723 | ||
724 | * sinfo.ads, sem_ch13.adb: Update comment. | |
725 | ||
1f70c47f AC |
726 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
727 | ||
728 | * sem_util.adb (Is_Post_State): A reference to a | |
729 | generic in out parameter is considered a change in the post-state | |
730 | of a subprogram. | |
731 | ||
732 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
733 | ||
734 | * sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the | |
735 | declaration of a subprogram instance within its wrapper package, | |
736 | skip over null statements that may result from the rewriting of | |
737 | ignored pragmas. | |
738 | ||
739 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
740 | ||
741 | * exp_attr.adb (Expand_Attribute_Reference, case 'Read): | |
742 | If the type is an unchecked_union, replace the attribute with | |
743 | a Raise_Program_Error (rather than inserting such before the | |
744 | attribute reference) to handle properly the case where we are | |
745 | processing a component of a larger record, and we need to prevent | |
746 | further expansion for the unchecked union. | |
747 | (Expand_Attribute_Reference, case 'Write): If the type is | |
748 | an unchecked_union, check whether enclosing scope is a Write | |
749 | subprogram. Replace attribute with a Raise_Program_Error if the | |
750 | discriminants of the unchecked_union type have not default values | |
751 | because such a use is erroneous.. | |
752 | ||
753 | 2017-04-25 Tristan Gingold <gingold@adacore.com> | |
754 | ||
755 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): | |
756 | Add relative_deadline to task record on edf profile. | |
757 | (Make_Initialize_Protection): Pass deadline_floor value on edf profile. | |
758 | (Make_Task_Create_Call): Pass relative_deadline value. | |
759 | * par-prag.adb (Prag): Handle Pragma_Deadline_Floor. | |
760 | * s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF. | |
761 | (Profile_Info): Add info for GNAT_Ravenscar_EDF. | |
762 | * sem_prag.adb (Set_Ravenscar_Profile): Handle | |
763 | GNAT_Ravenscar_EDF (set scheduling policy). | |
764 | (Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor | |
765 | pragma. | |
766 | (Sig_Flags): Add choice for Pragma_Deadline_Floor. | |
767 | * snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF): | |
768 | New names. | |
769 | (Pragma_Deadline_Floor): New pragma. | |
770 | * targparm.adb (Get_Target_Parameters): Recognize | |
771 | GNAT_Ravenscar_EDF profile. | |
772 | ||
daad20d6 AC |
773 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
774 | ||
775 | * gnatvsn.ads (Library_Version): Bump to 8. Update comment. | |
776 | ||
e7c25229 AC |
777 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
778 | ||
779 | * sem_aux.adb (Nearest_Ancestor): Use original node of type | |
780 | declaration to locate nearest ancestor, because derived | |
781 | type declarations for record types are rewritten as record | |
782 | declarations. | |
783 | * sem_ch13.adb (Add_Call): Use an unchecked conversion to handle | |
784 | properly derivations that are completions of private types. | |
785 | (Add_Predicates): If type is private, examine rep. items of full | |
786 | view, which may include inherited predicates. | |
787 | (Build_Predicate_Functions): Ditto. | |
788 | ||
789 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
790 | ||
791 | * sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change | |
792 | to generate new entities for subtype declarations located in | |
793 | Expression_With_Action nodes. | |
794 | ||
795 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
796 | ||
797 | * sem_elab.adb (Check_A_Call): Remove | |
798 | local variables Is_DIC_Proc and Issue_In_SPARK. Verify the | |
799 | need for Elaborate_All when SPARK elaboration checks are | |
800 | required. Update the checks for instances, variables, and calls | |
801 | to Default_Initial_Condition procedures. | |
802 | ||
803 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
804 | ||
805 | * aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline | |
806 | into a boolean aspect, in analogy with the Ada aspect No_Return. | |
807 | ||
a267d8cc AC |
808 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
809 | ||
810 | * exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting. | |
811 | ||
812 | 2017-04-25 Bob Duff <duff@adacore.com> | |
813 | ||
814 | * sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset | |
815 | Is_True_Constant for an array variable that is passed to a | |
816 | foreign function as an 'in' parameter. | |
817 | * debug.adb: Document -gnatd.q. | |
818 | ||
241f328c ES |
819 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
820 | ||
821 | * sem_ch6.adb (Analyze_Expression_Function): If expression function | |
822 | is completion and return type is an access type do not freeze | |
823 | designated type: this will be done in the process of freezing | |
824 | the expression if needed. | |
825 | (Freeze_Expr_Types): Check whether type is complete before | |
826 | creating freeze node, to provide a better error message if | |
827 | reference is premature. | |
828 | * sem_ch13.adb (Check_Indexing_Functions): Ignore inherited | |
829 | functions created by type derivations. | |
830 | ||
cccb761b AC |
831 | 2017-04-25 Pascal Obry <obry@adacore.com> |
832 | ||
833 | * g-sercom.ads: Add simple usage of GNAT.Serial_Communication. | |
834 | ||
835 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
836 | ||
837 | * sem_res.adb (Resolve_Type_Conversion): | |
838 | When resolving against any fixed type, set the type of the | |
839 | operand as universal real when the operand is a multiplication | |
840 | or a division where both operands are of any fixed type. | |
841 | (Unique_Fixed_Point_Type): Add local variable ErrN. Improve the | |
842 | placement of an error message by pointing to the operand of a | |
843 | type conversion rather than the conversion itself. | |
844 | ||
845 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
846 | ||
847 | * sem_ch13.adb (Build_Predicate_Function_Declaration): Set | |
848 | Needs_Debug_Info when producing SCOs. | |
849 | ||
850 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
851 | ||
852 | * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): | |
853 | Always pass a null finalization master for a library level named access | |
854 | type to which a pragme No_Heap_Finalization applies. | |
855 | ||
9dd958d2 AC |
856 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
857 | ||
858 | PR ada/78845 | |
859 | ||
860 | * a-ngcoar.adb, a-ngrear.adb (Inverse): call Unit_Matrix with First_1 | |
861 | set to A'First(2) and vice versa. | |
862 | ||
7738270b AC |
863 | 2017-04-25 Yannick Moy <moy@adacore.com> |
864 | ||
865 | * freeze.adb (Freeze_Record_Type): Remove obsolete | |
866 | rule on volatile tagged record restriction on SPARK code. | |
867 | ||
868 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
869 | ||
870 | * sem_prag.adb (minor) Fix SPARK RM reference. | |
871 | ||
872 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
873 | ||
874 | * sem_util.adb, sem_util.ads (Unique_Defining_Entity): Update | |
875 | comment to reflect which entity is chosen as unique entity. | |
876 | (Unique_Entity): Return full view instead of private spec for | |
877 | protected type or task type. Fix possible incorrect access when | |
878 | called on entry. | |
879 | ||
880 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
881 | ||
882 | * sem_res.adb (Set_Slice_Subtype): Treat specially bit-packed | |
883 | array types only instead of all packed array types. | |
884 | ||
885 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
886 | ||
887 | * sem_ch6.adb (Conforming_Types): If type of formal as a specified | |
888 | dimension system, verify that dimensions of both match. | |
889 | (Check_Conformance): Add error message in case of dimension | |
890 | mismatch. | |
891 | * sem_dim.ads, sem_dim.adb (Dimensions_Match): New utility | |
892 | predicate. | |
893 | ||
894 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
895 | ||
896 | * gnatxref.adb, gnatfind.adb: Avoid using the term project file, | |
897 | confusing. | |
898 | ||
e4b1cd76 YM |
899 | 2017-04-25 Yannick Moy <moy@adacore.com> |
900 | ||
901 | * sem_util.adb: Minor refactoring. | |
902 | * freeze.adb (Freeze_Record_Type): Fix checking of SPARK RM 7.1.3(5). | |
903 | ||
3e3bc136 AC |
904 | 2017-04-25 Claire Dross <dross@adacore.com> |
905 | ||
906 | * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Go to | |
907 | ultimate alias when accessing overridden operation. Indeed, if the | |
908 | overridden operation is itself inherited, it won't have any explicit | |
909 | contract. | |
910 | ||
911 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
912 | ||
913 | * sem_warn.adb (Warn_On_Overlapping_Actuals): There can be no | |
914 | overlap if the two formals have different types, because formally | |
915 | the corresponding actuals cannot designate the same objects. | |
916 | ||
917 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
918 | ||
919 | * sem_dim.adb (Dimensions_Of_Operand): minot cleanups: a) If | |
920 | dimensions are present from context, use them. b) If operand is | |
921 | a static constant rewritten as a literal, obtain the dimensions | |
922 | from the original declaration, otherwise use dimensions of type | |
923 | established from context. | |
924 | ||
925 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
926 | ||
927 | * sem_util.adb (Is_Effectively_Volatile): Protect against base type | |
928 | of array that is private. | |
929 | ||
ca0b6141 AC |
930 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
931 | ||
932 | * sem_ch3.adb, exp_util.adb, sem_prag.adb, exp_ch4.adb: Minor | |
933 | reformatting. | |
934 | ||
935 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
936 | ||
937 | * a-ngelfu.adb, a-ngelfu.ads: Add SPARK_Mode On on spec, Off | |
938 | on body. | |
939 | ||
5f8d3dd5 AC |
940 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
941 | ||
942 | * sem_disp.adb (Check_Dispatching_Context): Add guard to refine | |
943 | the check that recognizes a call to a private overridding and | |
944 | replaces the called subprogram with its alias. | |
945 | ||
946 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
947 | ||
948 | * exp_util.adb: Minor reformatting. | |
949 | ||
b554177a AC |
950 | 2017-04-25 Justin Squirek <squirek@adacore.com> |
951 | ||
952 | * exp_ch3.adb (Freeze_Type): Add condition to always treat | |
953 | interface types as a partial view of a private type for the | |
954 | generation of invariant procedure bodies. | |
955 | * exp_util.adb, exp_util.ads (Add_Inherited_Invariants): | |
956 | Add a condition to get the Corresponding_Record_Type for | |
957 | concurrent types, add condition to return in the absence of a | |
958 | class in the pragma, remove call to Replace_Type_References, | |
959 | and add call to Replace_References. | |
960 | (Add_Interface_Invariatns), | |
961 | (Add_Parent_Invariants): Modify call to Add_Inherited_Invariants | |
962 | to including the working type T. | |
963 | (Add_Own_Invariants): Remove | |
964 | legacy condition for separate units, remove dispatching for ASIS | |
965 | and save a copy of the expression in the pragma expression. | |
966 | (Build_Invariant_Procedure_Body): Default initalize vars, | |
967 | remove return condition on interfaces, always use the | |
968 | private type for interfaces, and move the processing of types | |
969 | until after the processing of invariants for the full view. | |
970 | (Build_Invariant_Procedure_Declaration): Remove condition | |
971 | to return if an interface type is encountered and add | |
972 | condition to convert the formal parameter to its class-wide | |
973 | counterpart if Work_Typ is abstract. | |
974 | (Replace_Type): Add call to Remove_Controlling_Arguments. | |
975 | (Replace_Type_Ref): Remove class-wide dispatching for the current | |
976 | instance of the type. | |
977 | (Replace_Type_References): Remove parameter "Derived" | |
978 | (Remove_Controlling_Arguments): Created in order to removing | |
979 | the controlliong argument from calls to primitives in the case | |
980 | of the formal parameter being an class-wide abstract type. | |
981 | * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Almost identical | |
982 | to the change made to Freeze_Type in exp_ch3. Add a condition | |
983 | to treat interface types as a partial view. | |
984 | * sem_prag.adb (Analyze_Pragma): Modify parameters in the call | |
985 | to Build_Invariant_Procedure_Declaration to properly generate a | |
986 | "partial" invariant procedure when Typ is an interface. | |
987 | ||
988 | 2017-04-25 Bob Duff <duff@adacore.com> | |
989 | ||
990 | * a-numeri.ads: Go back to using brackets encoding for the Greek | |
991 | letter pi. | |
992 | ||
904a2ae4 AC |
993 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
994 | ||
995 | * sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1 | |
996 | (10-15): if derived type T with progenitors is abstract, | |
997 | and primitive P of this type inherits non-trivial classwide | |
998 | preconditions from both a parent operation and from an interface | |
999 | operation, then the inherited operation is abstract if the parent | |
1000 | operation is not null. | |
1001 | * sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface | |
1002 | with Covered_Interface_Op to yield the actual interface operation | |
1003 | that is implemented by a given inherited operation. | |
1004 | ||
1005 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1006 | ||
1007 | * exp_ch4.adb (Expand_N_Op_Expon): Relocate left | |
1008 | and right operands after performing the validity checks. Required | |
1009 | because validity checks may remove side effects from the operands. | |
1010 | ||
1011 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1012 | ||
1013 | * exp_attr.adb (Attribute_Unrestricted_Access): | |
1014 | Do not disable implicit type conversion. Required to generate | |
1015 | code that displaces the pointer to reference the secondary | |
1016 | dispatch table. | |
1017 | ||
1018 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
1019 | ||
1020 | * prj-attr.adb, snames.ads-tmpl: Add package Install's | |
1021 | Required_Artifacts attribute. | |
1022 | ||
8f34c90b AC |
1023 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1024 | ||
1025 | * sem_util.adb (Same_Value): String literals are compile-time | |
1026 | values, and comparing them must use Expr_Value_S. | |
1027 | ||
1028 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1029 | ||
1030 | * sem_ch4.adb (Complete_Object_Interpretation): If an explicit | |
1031 | dereference is introduced for the object, and the object is | |
1032 | overloaded, do not check whether it is aliased, because it may | |
1033 | include an implicit dereference. | |
1034 | * sem_type.adb (Disambiguate): If two interpretations are access | |
1035 | attribute types with the same designated type keep either of | |
1036 | them and do not report an ambiguity. A true ambiguity will be | |
1037 | reported elsewhere. | |
1038 | ||
1039 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1040 | ||
1041 | * a-numeri.ads: Change the encoding of Greek letter Pi from | |
1042 | brackets encoding to UTF-8. Use pragma Wide_Character_Encoding | |
1043 | to indicate the encoding. We considered using a byte order mark | |
1044 | (BOM), but that causes various trouble (misc software eats the | |
1045 | BOM, if you have a patch with a BOM, then it's not at the start | |
1046 | of the patch, so it's not a BOM, the BOM affects with-ing files, | |
1047 | etc.). | |
1048 | * scng.adb, s-wchcnv.adb: Minor. | |
1049 | ||
1050 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1051 | ||
1052 | * sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting. | |
321c24f7 AC |
1053 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1054 | ||
1055 | * sem_ch3.adb (Add_Internal_Interface_Entities): Move | |
1056 | Has_Non_Trivial_Precondition to sem_util. for use elsewhere. | |
1057 | Improve error message on operations that inherit non-conforming | |
1058 | classwide preconditions from ancestor and progenitor. | |
1059 | * sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition): | |
1060 | moved here from sem_ch3. | |
1061 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality | |
1062 | check given in RM 6.1.1 (17) concerning renamings of overriding | |
1063 | operations that inherits class-wide preconditions from ancestor | |
1064 | or progenitor. | |
1065 | ||
1066 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1067 | ||
1068 | * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup. | |
1069 | (Build_Adjust_Statements): Code cleanup. | |
1070 | (Build_Finalizer): Update the initialization of | |
1071 | Exceptions_OK. | |
1072 | (Build_Finalize_Statements): Code cleanup. | |
1073 | (Build_Initialize_Statements): Code cleanup. | |
1074 | (Make_Deep_Array_Body): Update the initialization of | |
1075 | Exceptions_OK. | |
1076 | (Make_Deep_Record_Body): Update the initialization of Exceptions_OK. | |
1077 | (Process_Object_Declaration): Generate a null exception handler only | |
1078 | when exceptions are allowed. | |
1079 | (Process_Transients_In_Scope): Update the initialization of | |
1080 | Exceptions_OK. | |
1081 | * exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New | |
1082 | routine. | |
1083 | * sem_ch11.adb (Analyze_Exception_Handlers): Do not check any | |
1084 | restrictions when the handler is internally generated and the | |
1085 | mode is warnings. | |
1086 | ||
1087 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1088 | ||
1089 | * sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to | |
1090 | enforce legality rule on classwide preconditions inherited from | |
1091 | both an ancestor and a progenitor (RM 6.1.1 (10-13). | |
1092 | * sem_disp.adb (Check_Dispatching_Context): A call to an abstract | |
1093 | subprogram need not be dispatching if it appears in a precondition | |
1094 | for an abstract or null subprogram. | |
1095 | ||
1096 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
1097 | ||
1098 | * sem_ch10.adb: Minor typo fix. | |
1099 | ||
6948bc18 AC |
1100 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
1101 | ||
1102 | * gcc-interface/Makefile.in: Cleanup VxWorks targets. | |
1103 | ||
457cee0b AC |
1104 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
1105 | ||
1106 | * fname.adb (Is_Internal_File_Name): Arrange for the slices to | |
1107 | have a length which is a power of 2. | |
1108 | (Is_Predefined_File_Name): Likewise. Adjust comment. | |
1109 | ||
1110 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1111 | ||
1112 | * exp_aggr.adb (Component_Count): Protect the | |
1113 | arithmetic from attempting to convert a value >= 2**31 to Int, | |
1114 | which would otherwise raise Constraint_Error. | |
1115 | ||
1116 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1117 | ||
1118 | * opt.ads (Locking_Policy): Fix incorrect documentation. The | |
1119 | first character of the policy name is not unique. | |
1120 | ||
1121 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1122 | ||
1123 | * s-fileio.adb (Name): Raise Use_Error if the file is a temp file. | |
1124 | * s-ficobl.ads (Is_Temporary_File): Remove incorrect comment | |
1125 | about this flag not being used. It was already used, and it is | |
1126 | now used more. | |
1127 | ||
cf9a473e AC |
1128 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1129 | ||
1130 | * einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas. | |
1131 | (Ignore_SPARK_Mode_Pragmas): New routine. | |
1132 | (Set_Ignore_SPARK_Mode_Pragmas): New routine. | |
1133 | (Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas. | |
1134 | * einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update | |
1135 | related entities. | |
1136 | (Ignore_SPARK_Mode_Pragmas): New routine | |
1137 | along with pragma Inline. | |
1138 | (Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline. | |
1139 | * opt.ads Rename flag Ignore_Pragma_SPARK_Mode to | |
1140 | Ignore_SPARK_Mode_Pragmas_In_Instance. | |
1141 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
1142 | Save and restore the value of global flag | |
1143 | Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value | |
1144 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either | |
1145 | the corresponding spec or the body must ignore all SPARK_Mode | |
1146 | pragmas found within. | |
1147 | (Analyze_Subprogram_Declaration): Mark | |
1148 | the spec when it needs to ignore all SPARK_Mode pragmas found | |
1149 | within to allow the body to infer this property in case it is | |
1150 | instantiated or inlined later. | |
1151 | * sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the | |
1152 | value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set | |
1153 | the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance | |
1154 | when the corresponding spec also ignored all SPARK_Mode pragmas | |
1155 | found within. | |
1156 | (Analyze_Package_Declaration): Mark the spec when | |
1157 | it needs to ignore all SPARK_Mode pragmas found within to allow | |
1158 | the body to infer this property in case it is instantiated or | |
1159 | inlined later. | |
1160 | * sem_ch12.adb (Analyze_Formal_Package_Declaration): | |
1161 | Save and restore the value of flag | |
1162 | Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the | |
1163 | formal spec when it needs to ignore all SPARK_Mode | |
1164 | pragmas found within to allow the body to infer this | |
1165 | property in case it is instantiated or inlined later. | |
1166 | (Analyze_Package_Instantiation): Save and restore the value | |
1167 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark | |
1168 | the instance spec when it needs to ignore all SPARK_Mode | |
1169 | pragmas found within to allow the body to infer this | |
1170 | property in case it is instantiated or inlined later. | |
1171 | (Analyze_Subprogram_Instantiation): Save and restore the value | |
1172 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the | |
1173 | instance spec and anonymous package when they need to ignore | |
1174 | all SPARK_Mode pragmas found within to allow the body to infer | |
1175 | this property in case it is instantiated or inlined later. | |
1176 | (Instantiate_Package_Body): Save and restore the value of global | |
1177 | flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of | |
1178 | global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the | |
1179 | corresponding instance spec also ignored all SPARK_Mode pragmas | |
1180 | found within. | |
1181 | (Instantiate_Subprogram_Body): Save and restore the | |
1182 | value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set | |
1183 | the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance | |
1184 | when the corresponding instance spec also ignored all SPARK_Mode | |
1185 | pragmas found within. | |
1186 | * sem_prag.adb (Analyze_Pragma): Update the reference to | |
1187 | Ignore_Pragma_SPARK_Mode. | |
1188 | * sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored | |
1189 | all SPARK_Mode pragmas defined within yields mode "off". | |
1190 | ||
1191 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1192 | ||
1193 | * bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting. | |
1194 | ||
1195 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1196 | ||
1197 | * exp_atag.adb (Build_CW_Membership): Add "Suppress => | |
1198 | All_Checks" to avoid generating unnecessary checks. | |
1199 | * exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress => | |
1200 | All_Checks". | |
1201 | * sem.ads: Fix comment. | |
1202 | * expander.ads: Fix comment. | |
1203 | * exp_atag.ads: Fix comment: "Index = 0" should be | |
1204 | "Index >= 0". | |
1205 | ||
1206 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
1207 | ||
1208 | * s-taprop-linux.adb: Minor editorial fixes. | |
1209 | ||
1f0bcd44 AC |
1210 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
1211 | ||
1212 | * sem_util.adb (New_Copy_Tree): Put back the declarations of the | |
1213 | hash tables at library level. Reinstate the NCT_Hash_Tables_Used | |
1214 | variable and set it to True whenever the main hash table is | |
1215 | populated. Short- circuit the Assoc function if it is false | |
1216 | and add associated guards. | |
1217 | ||
1218 | 2017-04-25 Olivier Hainque <hainque@adacore.com> | |
1219 | ||
1220 | * bindgen.adb (Gen_Elab_Calls): Also update counter of lone | |
1221 | specs without elaboration code that have an elaboration counter | |
1222 | nevertheless, e.g. when compiled with -fpreserve-control-flow. | |
1223 | * sem_ch10.adb (Analyze_Compilation_Unit): | |
1224 | Set_Elaboration_Entity_Required when requested to preserve | |
1225 | control flow, to ensure the unit elaboration is materialized at | |
1226 | bind time, resulting in the inclusion of the unit object file | |
1227 | in the executable closure at link time. | |
1228 | ||
1229 | 2017-04-25 Pierre-Marie de Rodat <derodat@adacore.com> | |
1230 | ||
1231 | * exp_dbug.adb: In Debug_Renaming_Declaration, | |
1232 | when dealing with indexed component, accept to produce a renaming | |
1233 | symbol when the index is an IN parameter or when it is a name | |
1234 | defined in an outer scope. | |
1235 | ||
1236 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
1237 | ||
1238 | * errout.adb (Error_Msg): Adapt continuation | |
1239 | message in instantiations and inlined bodies for info messages. | |
1240 | ||
1241 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
1242 | ||
1243 | * fname.adb (Has_Internal_Extension): Add pragma Inline. | |
1244 | Use direct 4-character slice comparisons. | |
1245 | (Has_Prefix): Add | |
1246 | pragma Inline. (Has_Suffix): Delete. | |
1247 | (Is_Internal_File_Name): | |
1248 | Test Is_Predefined_File_Name first. | |
1249 | (Is_Predefined_File_Name): | |
1250 | Use direct slice comparisons as much as possible and limit all | |
1251 | comparisons to at most 8 characters. | |
1252 | ||
62e45e3e HK |
1253 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1254 | ||
1255 | * checks.adb (Insert_Valid_Check): Code cleanup. | |
1256 | * exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine. | |
1257 | (Expand_Actuals): Generate proper copy-back for a validation | |
1258 | variable when it acts as the argument of a type conversion. | |
1259 | * sem_util.adb (Is_Validation_Variable_Reference): Augment the | |
1260 | predicate to operate on type qualifications. | |
1261 | ||
ec40b86c HK |
1262 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1263 | ||
1264 | * sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb: | |
1265 | Minor reformatting. | |
1266 | ||
ca1f6b29 BD |
1267 | 2017-04-25 Bob Duff <duff@adacore.com> |
1268 | ||
1269 | * sem_prag.adb (No_Return): Give an error if the pragma applies | |
1270 | to a body. Specialize the error for the specless body case, | |
1271 | as is done for (e.g.) pragma Convention. | |
1272 | * debug.adb: Add switch -gnatd.J to disable the above legality | |
1273 | checks. This is mainly for use in our test suite, to avoid | |
1274 | rewriting a lot of illegal (but working) code. It might also | |
1275 | be useful to customers. Under this switch, if a pragma No_Return | |
1276 | applies to a body, and the procedure raises an exception (as it | |
1277 | should), the pragma has no effect. If the procedure does return, | |
1278 | execution is erroneous. | |
1279 | ||
1280 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1281 | ||
1282 | * exp_ch6.adb (Expand_Actuals): This is the | |
1283 | root of the problem. It took N as an 'in out' parameter, and in | |
1284 | some cases, rewrote N, but then set N to Original_Node(N). So | |
1285 | the node returned in N had no Parent. The caller continued | |
1286 | processing of this orphaned node. In some cases that caused a | |
1287 | crash (e.g. Remove_Side_Effects climbs up Parents in a loop, | |
1288 | and trips over the Empty Parent). The solution is to make N an | |
1289 | 'in' parameter. Instead of rewriting it, return the list of | |
1290 | post-call actions, so the caller can do the rewriting later, | |
1291 | after N has been fully processed. | |
1292 | (Expand_Call_Helper): Move most of Expand_Call here. It has | |
1293 | too many premature 'return' statements, and we want to do the | |
1294 | rewriting on return. | |
1295 | (Insert_Post_Call_Actions): New procedure to insert the post-call | |
1296 | actions in the appropriate place. In the problematic case, | |
1297 | that involves rewriting N as an Expression_With_Actions. | |
1298 | (Expand_Call): Call the new procedures Expand_Call_Helper and | |
1299 | Insert_Post_Call_Actions. | |
1300 | ||
36357cf3 AC |
1301 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1302 | ||
1303 | * sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle | |
1304 | properly type derived from generic formal types, to handle | |
1305 | properly modified version of ACATS 4.1B B611017. | |
1306 | ||
1307 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1308 | ||
1309 | * exp_unst.adb (Subp_Index): Adding missing | |
1310 | support for renamings and functions that return a constrained | |
1311 | array type (i.e. functions for which the frontend built a | |
1312 | procedure with an extra out parameter). | |
1313 | ||
1314 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
1315 | ||
1316 | * s-string.adb: Minor code clean-up. | |
1317 | ||
1318 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1319 | ||
1320 | * s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New | |
1321 | procedure. | |
1322 | * adaint.h, adaint.c (__gnat_portable_no_block_wait): C support | |
1323 | function for Non_Blocking_Wait_Process. | |
1324 | ||
1325 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1326 | ||
1327 | * prep.adb (Preprocess): Remove incorrect | |
1328 | Assert. Current character can be ASCII.CR. | |
1329 | ||
48c8c473 AC |
1330 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1331 | ||
1332 | * sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for | |
1333 | convention Stdcall, which has a number of exceptions. Convention | |
1334 | is legal on a component declaration whose type is an anonymous | |
1335 | access to subprogram. | |
1336 | ||
1337 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1338 | ||
1339 | * sem_ch4.adb: sem_ch4.adb Various reformattings. | |
1340 | (Try_One_Prefix_Interpretation): Use the base type when dealing | |
1341 | with a subtype created for purposes of constraining a private | |
1342 | type with discriminants. | |
1343 | ||
1344 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1345 | ||
1346 | * einfo.ads, einfo.adb (Has_Private_Extension): new attribute. | |
1347 | * warnsw.ads, warnsw.adb (All_Warnings): Set warning on late | |
1348 | dispatching primitives (Restore_Warnings): Restore warning on | |
1349 | late dispatching primitives (Save_Warnings): Save warning on late | |
1350 | dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J | |
1351 | to enable/disable this warning. | |
1352 | (WA_Warnings): Set warning on late dispatching primitives. | |
1353 | * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember | |
1354 | that its parent type has a private extension. | |
1355 | * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension): | |
1356 | New subprogram. | |
1357 | * usage.adb: Document -gnatw.j and -gnatw.J. | |
1358 | ||
94295b25 AC |
1359 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1360 | ||
1361 | * exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor | |
1362 | reformatting. | |
1363 | ||
1364 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1365 | ||
1366 | * binde.adb (Validate): Do not pass dynamic strings | |
1367 | to pragma Assert, because older compilers do not support that. | |
1368 | ||
1369 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1370 | ||
1371 | * s-fileio.adb (Close): When a temp file is | |
1372 | closed, delete it and clean up its Temp_File_Record immediately, | |
1373 | rather than waiting until later. | |
1374 | (Temp_File_Record): Add File | |
1375 | component, so Close can know which Temp_File_Record corresponds | |
1376 | to the file being closed. | |
1377 | (Delete): Don't delete temp files, | |
1378 | because they are deleted by Close. | |
1379 | (Open): Set the File component | |
1380 | of Temp_File_Record. This requires moving the creation of the | |
1381 | Temp_File_Record to the end, after the AFCB has been created. | |
1382 | ||
b0cd50fd AC |
1383 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1384 | ||
1385 | * checks.adb (Insert_Valid_Check): Do not generate | |
1386 | a validity check when inside a generic. | |
1387 | ||
1388 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
1389 | ||
1390 | * sem_res.adb (Resolve_Type_Conversion): Fix bad logic. | |
1391 | ||
1392 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
1393 | ||
1394 | * snames.ads-tmpl (Snames): More names for detecting predefined | |
1395 | potentially blocking subprograms. | |
1396 | ||
1397 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1398 | ||
1399 | * sem_prag.adb (Analyze_Pre_Post_Condition): The rules | |
1400 | concerning inheritance of class-wide preconditions do not apply | |
1401 | to postconditions. | |
1402 | ||
1403 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1404 | ||
1405 | * s-ficobl.ads: Minor comment fix. | |
1406 | ||
d8ee014f YM |
1407 | 2017-04-25 Yannick Moy <moy@adacore.com> |
1408 | ||
1409 | * checks.adb (Apply_Scalar_Range_Check): Analyze precisely | |
1410 | conversions from float to integer in GNATprove mode. | |
1411 | (Apply_Type_Conversion_Checks): Make sure in GNATprove mode | |
1412 | to call Apply_Type_Conversion_Checks, so that range checks | |
1413 | are properly positioned when needed on conversions, including | |
1414 | when converting from float to integer. (Determine_Range): In | |
1415 | GNATprove mode, take into account the possibility of conversion | |
1416 | from float to integer. | |
1417 | * sem_res.adb (Resolve_Type_Conversion): Only enforce range | |
1418 | check on conversions from fixed-point to integer, not anymore | |
1419 | on conversions from floating-point to integer, when in GNATprove | |
1420 | mode. | |
1421 | ||
3c77943e YM |
1422 | 2017-04-25 Yannick Moy <moy@adacore.com> |
1423 | ||
1424 | * checks.adb (Determine_Range_R): Special case type conversions | |
1425 | from integer to float in order to get bounds in that case too. | |
1426 | * eval_fat.adb (Machine): Avoid issuing warnings in GNATprove | |
1427 | mode, for computations involved in interval checking. | |
1428 | ||
89b6c83e AC |
1429 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1430 | ||
1431 | * checks.adb (Insert_Valid_Check): Partially reimplement validity | |
1432 | checks. | |
1433 | * einfo.adb Node36 is now used as Validated_Object. | |
1434 | (Validated_Object): New routine. | |
1435 | (Set_Validated_Object): New routine. | |
1436 | (Write_Field36_Name): Add an entry for Validated_Object. | |
1437 | * einfo.ads Add new attribute Validated_Object along with | |
1438 | usage in entities. | |
1439 | (Validated_Object): New routine along with pragma Inline. | |
1440 | (Set_Validated_Object): New routine along with pragma Inline. | |
1441 | * exp_attr.adb (Make_Range_Test): Add processing for validation | |
1442 | variables to avoid extra reads and copies of the prefix. | |
1443 | * exp_ch6.adb (Expand_Actuals): Add copy-back for validation | |
1444 | variables in order to reflect any changes done in the variable | |
1445 | back into the original object. | |
1446 | * sem_util.adb (Is_Validation_Variable_Reference): New routine. | |
1447 | * sem_util.ads (Is_Validation_Variable_Reference): New routine. | |
1448 | ||
1449 | 2017-04-25 Steve Baird <baird@adacore.com> | |
1450 | ||
1451 | * exp_ch7.adb (Build_Array_Deep_Procs, | |
1452 | Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't | |
1453 | generate Finalize_Address routines for CodePeer. | |
1454 | ||
1455 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1456 | ||
1457 | * sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of | |
1458 | Analyze_Pre_Post_Condition, to implement the legality checks | |
1459 | mandated by AI12-0131: Pre'Class shall not be specified for an | |
1460 | overriding primitive subprogram of a tagged type T unless the | |
1461 | Pre'Class aspect is specified for the corresponding primitive | |
1462 | subprogram of some ancestor of T. | |
1463 | ||
c6840e83 AC |
1464 | 2017-04-25 Bob Duff <duff@adacore.com> |
1465 | ||
1466 | * sem_ch8.adb (Use_One_Type): If a use_type_clause | |
1467 | is redundant, set its Used_Operations to empty. This is only | |
1468 | necessary for use clauses that appear in the parent of a generic | |
1469 | child unit, because those use clauses get reanalyzed when we | |
1470 | instantiate the generic, and we don't want the Used_Operations | |
1471 | carried over from the original context (where it was probably | |
1472 | not redundant). | |
1473 | ||
1474 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1475 | ||
1476 | * exp_ch6.adb: Minor reformatting. | |
1477 | ||
f2a54683 AC |
1478 | 2017-04-25 Bob Duff <duff@adacore.com> |
1479 | ||
1480 | * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
1481 | Use Source_Index (Current_Sem_Unit) to find the correct casing. | |
1482 | * exp_prag.adb (Expand_Pragma_Check): Use Source_Index | |
1483 | (Current_Sem_Unit) to find the correct casing. | |
1484 | * par.adb (Par): Null out Current_Source_File, to ensure that | |
1485 | the above bugs won't rear their ugly heads again. | |
1486 | ||
1487 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1488 | ||
1489 | * sem_ch8.adb (Find_Type): For an attribute reference | |
1490 | 'Class, if prefix type is synchronized and previous errors | |
1491 | have suppressed the creation of the corresponding record type, | |
1492 | create a spurious class-wide for the synchonized type itself, | |
1493 | to catch other misuses of the attribute | |
1494 | ||
1495 | 2017-04-25 Steve Baird <baird@adacore.com> | |
1496 | ||
1497 | * exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode | |
1498 | is True, then don't generate the accessibility check for the | |
1499 | tag of a tagged result. | |
1500 | * exp_intr.adb (Expand_Dispatching_Constructor_Call): | |
1501 | if CodePeer_Mode is True, then don't generate the | |
1502 | tag checks for the result of call to an instance of | |
1503 | Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a | |
1504 | descendant of" check and the accessibility check). | |
1505 | ||
1506 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1507 | ||
1508 | * sem_ch13.adb: Code cleanups. | |
1509 | * a-strbou.ads: minor whitespace fix in Trim for bounded strings. | |
1510 | * sem_ch8.ads: Minor comment fix. | |
1511 | ||
2df23f66 AC |
1512 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
1513 | ||
1514 | * exp_ch4.adb (Library_Level_Target): New function. | |
1515 | (Expand_Concatenate): When optimization is enabled, also expand | |
1516 | the operation out-of-line if the concatenation is present within | |
1517 | the expression of the declaration of a library-level object and | |
1518 | not only if it is the expression of the declaration. | |
1519 | ||
1520 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1521 | ||
1522 | * freeze.adb (Freeze_Object_Declaration): Do | |
1523 | not Remove_Side_Effects if there is a pragma Linker_Section, | |
1524 | because in that case we want static initialization in the | |
1525 | appropriate section. | |
1526 | ||
1527 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
1528 | ||
1529 | * exp_dbug.adb: Minor rewording and reformatting. | |
1530 | ||
1531 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1532 | ||
1533 | * sem_attr.adb (Statically_Denotes_Object): New predicate, to | |
1534 | handle the proposed changes to rules concerning potentially | |
1535 | unevaluated expressions, to include selected components that | |
1536 | do not depend on discriminants, and indexed components with | |
1537 | static indices. | |
1538 | * sem_util.adb (Is_Potentially_Unevaluated): Add check for | |
1539 | predicate in quantified expression, and fix bugs in the handling | |
1540 | of case expressions and membership test. | |
1541 | (Analyze_Attribute_Old_Result): use new predicate. | |
1542 | (Analyze_Attribute, case Loop_Entry): ditto. | |
1543 | ||
d9049849 AC |
1544 | 2017-04-25 Bob Duff <duff@adacore.com> |
1545 | ||
1546 | * s-secsta.adb (SS_Info): Add a comment | |
1547 | explaining why we don't need to walk all the chunks in order to | |
1548 | compute the total size. | |
1549 | ||
1550 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1551 | ||
1552 | * namet.ads, namet.adb (Global_Name_Buffer): Increase the length | |
1553 | of the global name buffer to 4*Max_Line_Length. | |
1554 | ||
1555 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1556 | ||
1557 | * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a | |
1558 | renaming entity for debug information, mark the entity as needing debug | |
1559 | info if it comes from sources. | |
1560 | ||
1561 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1562 | ||
1563 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the | |
1564 | restriction converning the use of 'Address where the prefix is | |
1565 | of a controlled type. | |
1566 | ||
1567 | 2017-04-25 Pierre-Marie de Rodat <derodat@adacore.com> | |
1568 | ||
1569 | * exp_dbug.adb: In Debug_Renaming_Declaration, | |
1570 | skip slices that are made redundant by an indexed component | |
1571 | access. | |
1572 | * atree.h: New definition for Original_Node. | |
1573 | ||
db78cb81 HK |
1574 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1575 | ||
1576 | * sem_prag.adb, sem_prag.ads: Minor reformatting. | |
1577 | ||
0c85534d ES |
1578 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1579 | ||
1580 | * sem_ch3.adb (Check_Entry_Contract): Call | |
1581 | Preanalyze_Spec_Expression so that resolution takes place as well. | |
1582 | * sem_util.adb (Check_Internal_Protected_Use): Reject properly | |
1583 | internal calls that appear in preconditions of protected | |
1584 | operations, in default values for same, and in contract guards | |
1585 | for contract cases in SPARK. | |
1586 | ||
be3416c6 AC |
1587 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
1588 | ||
1589 | * a-numaux.ads: Fix description of a-numaux-darwin | |
1590 | and a-numaux-x86. | |
1591 | (Double): Define to Long_Float. | |
1592 | * a-numaux-vxworks.ads (Double): Likewise. | |
1593 | * a-numaux-darwin.ads | |
1594 | (Double): Likewise. | |
1595 | * a-numaux-libc-x86.ads (Double): Define to Long_Long_Float. | |
1596 | * a-numaux-x86.ads: Fix package description. | |
1597 | * a-numaux-x86.adb (Is_Nan): Minor tweak. | |
1598 | (Reduce): Adjust and complete description. Call Is_Nan instead of | |
1599 | testing manually. Use an integer temporary to hold rounded value. | |
1600 | * a-numaux-darwin.adb (Reduce): Likewise. | |
1601 | (Is_Nan): New function. | |
1602 | ||
1603 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1604 | ||
1605 | * sem_ch4.adb (Analyze_Selected_Component): Additional refinement | |
1606 | on analysis of prefix whose type is a current instance of a | |
1607 | synchronized type, but where the prefix itself is an entity that | |
1608 | is an object. | |
1609 | ||
1610 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1611 | ||
1612 | * exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve | |
1613 | the identity of callable entities therein, because they have been | |
1614 | properly resolved, and prefixed calls may have been rewritten | |
1615 | as normal calls. | |
1616 | ||
1617 | 2017-04-25 Patrick Bernardi <bernardi@adacore.com> | |
1618 | ||
1619 | * exp_ch3.adb (Build_Init_Statements): Convert | |
1620 | the expression of the pragma/aspect Secondary_Stack_Size to | |
1621 | internal type System.Parameters.Size_Type before assigning | |
1622 | it to the Secondary_Stack_Size component of the task type's | |
1623 | corresponding record. | |
1624 | ||
1625 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
1626 | ||
1627 | * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal | |
1628 | (etc) optimizations when the type is modular and the offsets | |
1629 | are equal. | |
1630 | ||
1631 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
1632 | ||
1633 | * s-osinte-freebsd.ads: Minor comment tweaks | |
1634 | ||
1635 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1636 | ||
1637 | * urealp.adb (UR_Write): Reverse previous patch | |
1638 | adding documentation on why we generate multiplications instead | |
1639 | of divisions (needed to avoid expressions whose computation with | |
1640 | large numbers may cause division by 0). | |
1641 | ||
1642 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1643 | ||
1644 | * erroutc.adb (Set_Specific_Warning_Off, | |
1645 | Set_Warnings_Mode_Off): Use the correct source file for | |
1646 | Stop. Was using Current_Source_File, which is only valid during | |
1647 | parsing. Current_Source_File will have a leftover value from | |
1648 | whatever file happened to be parsed last, because of a with_clause | |
1649 | or something. | |
1650 | ||
1651 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1652 | ||
1653 | * lib.ads, lib.adb (In_Internal_Unit): New functions similar | |
1654 | to In_Predefined_Unit, but including GNAT units. | |
1655 | * sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace | |
1656 | with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem, | |
1657 | because Should_Ignore_Pragma was not working reliably outside | |
1658 | the parser, because Current_Source_File is not valid. | |
1659 | * sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem. | |
1660 | * par-prag.adb: Call Should_Ignore_Pragma_Par. | |
1661 | ||
f4f5851e AC |
1662 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
1663 | ||
1664 | * gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in | |
1665 | codepeer mode. | |
1666 | ||
1667 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1668 | ||
1669 | * urealp.adb (UR_Write): Fix output of constants with a base other | |
1670 | that 10. | |
1671 | ||
1672 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1673 | ||
1674 | * sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb. | |
1675 | * sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface): | |
1676 | Add extra parameter for Process_Interface_Name. | |
1677 | (Process_Interface_Name): Add parameter for pragma to analyze | |
1678 | corresponding aspect. | |
1679 | * sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added | |
1680 | from sem_ch13.adb | |
1681 | ||
ded462b0 AC |
1682 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
1683 | ||
1684 | * exp_ch7.adb, einfo.ads, sem_prag.adb: Minor reformatting and typo | |
1685 | correction. | |
1686 | ||
1687 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
1688 | ||
1689 | * sem_res.adb (Resolve_Comparison_Op): Do not | |
1690 | attempt evaluation of relational operations inside assertions. | |
1691 | ||
1692 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1693 | ||
1694 | * exp_util.adb (Add_Interface_Invariants): | |
1695 | Restored, code moved back from Build_Invariant_Procedure_Body. | |
1696 | (Add_Parent_Invariants): Restored, code moved back from | |
1697 | Build_Invariant_Procedure_Body. | |
1698 | (Build_Invariant_Procedure_Body): | |
1699 | Remove refactored calls and integrated code from | |
1700 | Add_Parent_Invariants and Add_Interface_Invariants. | |
1701 | ||
1702 | 2017-04-25 Johannes Kanig <kanig@adacore.com> | |
1703 | ||
1704 | * errout.adb (Output_Messages): Adjust computation of total | |
1705 | errors | |
1706 | * erroutc.adb (Error_Msg): In statistics counts, deal | |
1707 | correctly with informational messages that are not warnings. | |
1708 | * errutil.adb (Finalize): adjust computation of total errors. | |
1709 | ||
1710 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
1711 | ||
1712 | * terminals.c (__gnat_terminate_pid): New. | |
1713 | * g-exptty.ads (Terminate_Process): New. Update comments. | |
1714 | ||
d1eb8a82 AC |
1715 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
1716 | ||
1717 | * a-cfinve.ads, a-cofove.ads (Empty_Vector): add Global contract. | |
1718 | ||
1719 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1720 | ||
1721 | * sem_ch3.adb (Analyze_Declarations): Minor | |
1722 | correction to comments, move out large conditional and scope | |
1723 | traversal into a predicate. | |
1724 | (Uses_Unseen_Lib_Unit_Priv): Predicate function made from extracted | |
1725 | logic. | |
1726 | ||
1727 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1728 | ||
1729 | * sem_ch4.adb (Analyze_Selected_Component): Refine analysis | |
1730 | of prefix whose type is a current instance of a synchronized | |
1731 | type. If the prefix is an object this is an external call (or | |
1732 | requeue) that can only access public operations of the object. The | |
1733 | previous predicate was too restrictive, and did not allow public | |
1734 | protected operations, only task entries. | |
1735 | ||
1736 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1737 | ||
1738 | * sem_ch5.adb, fname.adb: Minor reformatting. | |
1739 | ||
1740 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1741 | ||
1742 | * einfo.adb (Is_Anonymous_Access_Type): New routine. | |
1743 | * einfo.ads Update the placement of | |
1744 | E_Anonymous_Access_Subprogram_Type along with all subtypes that | |
1745 | mention the ekind. | |
1746 | (Is_Anonymous_Access_Type): New routine. | |
1747 | * exp_ch7.adb (Allows_Finalization_Master): Do not generate a | |
1748 | master for an access type subject to pragma No_Heap_Finalization. | |
1749 | * exp_util.adb (Build_Allocate_Deallocate_Proc): An object being | |
1750 | allocated or deallocated does not finalization actions if the | |
1751 | associated access type is subject to pragma No_Heap_Finalization. | |
1752 | * opt.ads Add new global variable No_Heap_Finalization_Pragma. | |
1753 | * par-prag.adb Pragma No_Heap_Finalization does not need special | |
1754 | processing from the parser. | |
1755 | * sem_ch6.adb (Check_Return_Subtype_Indication): Remove ancient | |
1756 | ??? comments. Use the new predicate Is_Anonymous_Access_Type. | |
1757 | * sem_prag.adb Add an entry in table Sig_Flags for pragma | |
1758 | No_Heap_Finalization. | |
1759 | (Analyze_Pragma): Add processing for | |
1760 | pragma No_Heap_Finalization. Update various error messages to | |
1761 | use Duplication_Error. | |
1762 | * sem_util.ads, sem_util.adb (No_Heap_Finalization): New routine. | |
1763 | * snames.ads-tmpl: Add new predefined name No_Heap_Finalization | |
1764 | and corresponding pragma id. | |
1765 | ||
820f1162 AC |
1766 | 2017-04-25 Bob Duff <duff@adacore.com> |
1767 | ||
1768 | * freeze.adb (Freeze_Record_Type): Use the | |
1769 | underlying type of the component type to determine whether it's | |
1770 | elementary. For representation clause purposes, a private type | |
1771 | should behave the same as its full type. | |
1772 | * fname.ads, fname.adb (Is_Predefined_File_Name): | |
1773 | Make sure things like "system.ali" are recognized as predefined. | |
1774 | ||
1775 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1776 | ||
1777 | * debug.adb: Update documentation of -gnatd.6. | |
1778 | ||
1779 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1780 | ||
1781 | * sem_ch5.adb (Preanalyze_Range): Handle properly an Ada2012 | |
1782 | element iterator when the name is an overloaded function call, | |
1783 | one of whose interpretations yields an array. | |
1784 | ||
998429d6 AC |
1785 | 2017-04-25 Bob Duff <duff@adacore.com> |
1786 | ||
1787 | * uname.ads, uname.adb (Is_Predefined_Unit_Name, | |
1788 | Is_Internal_Unit_Name): New functions for operating on unit | |
1789 | names, as opposed to file names. There's some duplicated code | |
1790 | with fname.adb, which is unfortunate, but it seems like we don't | |
1791 | want to add dependencies here. | |
1792 | * fname-uf.adb (Get_File_Name): Change Is_Predefined_File_Name | |
1793 | to Is_Predefined_Unit_Name; the former was wrong, because Uname | |
1794 | is not a file name at all. | |
1795 | * fname.ads, fname.adb: Document the fact that | |
1796 | Is_Predefined_File_Name and Is_Internal_File_Name can be called | |
1797 | for ALI files, and fix the code so it works properly for ALI | |
1798 | files. E.g. these should return True for "system.ali". | |
1799 | ||
1800 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1801 | ||
1802 | * exp_util.adb (Add_Invariant): Removed, | |
1803 | code moved to Add_Invariant_Check, Add_Inherited_Invariant, | |
1804 | and Add_Own_Invariant. (Add_Invariant_Check): Used | |
1805 | for adding runtime checks from any kind of invariant. | |
1806 | (Add_Inherited_Invariant): Generates invariant checks for | |
1807 | class-wide invariants (Add_Interface_Invariants): Removed, code | |
1808 | moved to Build_Invariant_Procedure_Body (Add_Own_Invariant): | |
1809 | Create a types own invariant procedure (Add_Parent_Invariants): | |
1810 | Removed, code moved to Build_Invariant_Procedure_Body | |
1811 | (Build_Invariant_Procedure_Body): Add refactored calls | |
1812 | and integrated code from Add_Parent_Invariants and | |
1813 | Add_Interface_Invariants. | |
1814 | (Process_Type): Removed, the | |
1815 | relavant code was inlined into both Add_Own_Invariant and | |
1816 | Add_Inherited_Invariant. | |
1817 | ||
94d3a18d AC |
1818 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1819 | ||
1820 | * make.adb, par-ch2.adb, sem_util.adb, scans.ads, sem_ch8.adb, | |
1821 | scn.adb, osint.adb, fname.adb: Minor reformatting. | |
1822 | ||
1823 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
1824 | ||
1825 | * s-taprop-mingw.adb: Do not check for CloseHandle in | |
1826 | Finalize_TCB. | |
1827 | ||
51148dda AC |
1828 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1829 | ||
1830 | * sem_util.adb (Check_Part_Of_Reference): | |
1831 | Continue to examine the context if the reference appears within | |
1832 | an expression function. | |
1833 | ||
1834 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1835 | ||
1836 | * exp_ch7.adb, exp_ch7.ads Remove Build_Invariant_Procedure_Body | |
1837 | and Build_Invariant_Procedure_Declaration. | |
1838 | * exp_util.ads, exp_util.adb Add Build_Invariant_Procedure_Body | |
1839 | and Build_Invariant_Procedure_Declaration from exp_ch7 | |
1840 | and break-out Is_Untagged_Private_Derivation from | |
1841 | Build_Invariant_Procedure_Body. | |
1842 | (Replace_Type_References): | |
1843 | Append an extra parameter to allow for dispatching replacements | |
1844 | and add the corrasponding logic. | |
1845 | (Type_Invariant): Remove | |
1846 | Replace_Typ_Refs and replace its references with calls to | |
1847 | Replace_Type_References. | |
1848 | * sem_ch3.adb, sem_prag.adb: Remove with and use of exp_ch7. | |
1849 | ||
b043ae01 AC |
1850 | 2017-04-25 Bob Duff <duff@adacore.com> |
1851 | ||
1852 | * sem_util.ads, sem_util.adb (Should_Ignore_Pragma): New function | |
1853 | that returns True when appropriate. | |
1854 | * par-prag.adb, exp_prag.adb, sem_prag.adb: Do not ignore pragmas | |
1855 | when compiling predefined files. | |
1856 | * fname.ads, fname.adb (Is_Predefined_File_Name): Fix bug: | |
1857 | "gnat.adc" should not be considered a predefined file name. | |
1858 | That required (or at least encouraged) a lot of cleanup of global | |
1859 | variable usage. We shouldn't be communicating information via | |
1860 | the global name buffer. | |
1861 | * bindgen.adb, errout.adb, fname-uf.adb, lib-load.adb, make.adb, | |
1862 | * restrict.adb, sem_ch10.adb, sem_ch6.adb, sem_ch8.adb: Changes | |
1863 | required by the above-mentioned cleanup. | |
1864 | ||
1865 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1866 | ||
1867 | * osint.adb (Find_File): Handle properly a request for a | |
1868 | configuration file whose name is a directory. | |
1869 | ||
b6e6a4e3 AC |
1870 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1871 | ||
1872 | * sem_attr.adb, sem_ch5.adb: Minor reformatting. | |
1873 | ||
1874 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1875 | ||
1876 | * types.ads: Minor: Fix '???' comment. | |
1877 | * sem_ch8.adb: Minor comment fix. | |
1878 | ||
1879 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1880 | ||
1881 | * sem_prag.adb: Remove suspicious uses of Name_Buf. | |
1882 | * stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove | |
1883 | Add_String_To_Name_Buffer, to avoid using the global Name_Buf. | |
1884 | Add String_To_Name with no side effects. | |
1885 | ||
1886 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
1887 | ||
1888 | * sem_ch3.adb (Analyze_Declarations): Add | |
1889 | additional condition for edge case. | |
1890 | ||
1891 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1892 | ||
1893 | * par-ch2.adb, scans.ads, scn.adb: Do not give an error for | |
1894 | reserved words inside pragmas. This is necessary to allow the | |
1895 | pragma name Interface to be used in pragma Ignore_Pragma. | |
1896 | * par.adb: Minor comment fix. | |
1897 | ||
1898 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1899 | ||
1900 | * a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract. | |
1901 | * rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract. | |
1902 | * exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract. | |
1903 | * exp_intr.adb (Expand_Dispatching_Constructor_Call): Update | |
1904 | occurrences of RE_Type_Is_Abstract | |
1905 | ||
1906 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1907 | ||
1908 | * exp_util.adb (Build_Chain): Account for ancestor | |
1909 | subtypes while traversing the derivation chain. | |
1910 | ||
f8a21934 AC |
1911 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
1912 | ||
1913 | * sem_attr.adb: minor reformatting. | |
1914 | ||
1915 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
1916 | ||
1917 | * sigtramp-vxworks-target.inc [PPC64]: Add a .localentry pseudo-op. | |
1918 | ||
1919 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1920 | ||
1921 | * sem_ch5.adb (Analyze_Assignment): Reset Full_Analysis flag on | |
1922 | the first pass over an assignment statement with target names, | |
1923 | to prevent the generation of subtypes (such as discriminated | |
1924 | record components)that may carry the target name outside of the | |
1925 | tree for the assignment. The subtypes will be generated when | |
1926 | the assignment is reanalyzed in full. | |
1927 | (Analyze_Target_Name): Handle properly class-wide types. | |
1928 | ||
b619c88e AC |
1929 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1930 | ||
1931 | * elists.ads, elists.adb (Prepend_Unique_Elmt): New routine. | |
1932 | * exp_ch3.adb (Freeze_Type): Signal the DIC body is created for | |
1933 | the purposes of freezing. | |
1934 | * exp_util.adb Update the documentation and structure of the | |
1935 | type map used in class-wide semantics of assertion expressions. | |
1936 | (Add_Inherited_Tagged_DIC): There is really no need to preanalyze | |
1937 | and resolve the triaged expression because all substitutions | |
1938 | refer to the proper entities. Update the replacement of | |
1939 | references. | |
1940 | (Build_DIC_Procedure_Body): Add formal parameter | |
1941 | For_Freeze. Add local variable Build_Body. Inherited DIC pragmas | |
1942 | are now only processed when freezing occurs. Build a body only | |
1943 | when one is needed. | |
1944 | (Entity_Hash): Removed. | |
1945 | (Map_Types): New routine. | |
1946 | (Replace_Object_And_Primitive_References): Removed. | |
1947 | (Replace_References): New routine. | |
1948 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
1949 | (Type_Map_Hash): New routine. | |
1950 | (Update_Primitives_Mapping): Update the mapping call. | |
1951 | (Update_Primitives_Mapping_Of_Types): Removed. | |
1952 | * exp_util.ads (Build_DIC_Procedure_Body): Add formal | |
1953 | parameter For_Freeze and update the comment on usage. | |
1954 | (Map_Types): New routine. | |
1955 | (Replace_References): New routine. | |
1956 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
1957 | (Update_Primitives_Mapping_Of_Types): Removed. | |
1958 | * sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC | |
1959 | properties of the private type to the full view in case the full | |
1960 | view derives from a parent type and inherits a DIC pragma. | |
1961 | * sem_prag.adb (Analyze_Pragma): Guard against a case where a | |
1962 | DIC pragma is placed at the top of a declarative region. | |
1963 | ||
1964 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
1965 | ||
1966 | * a-tasatt.adb: Complete previous change and use an unsigned | |
1967 | int to avoid overflow checks. | |
1968 | ||
1969 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1970 | ||
1971 | * sem_attr.adb (Analyze_Attribute, case 'Access): Specialize | |
1972 | the error message when the attribute reference is an actual in | |
1973 | a call to a subprogram inherited from a generic formal type with | |
1974 | unknown discriminants, which makes the subprogram and its formal | |
1975 | parameters intrinsic (see RM 6.3.1 (8) and (13)). | |
1976 | ||
2bb988bb AC |
1977 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1978 | ||
1979 | * sem_aggr.adb, inline.adb, einfo.adb, einfo.ads, scng.adb, | |
1980 | sem_prag.adb: Minor reformatting. | |
1981 | ||
1982 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1983 | ||
1984 | * sem_attr.adb (Type_Key): Add code in the | |
1985 | recursive Compute_Type_Key to protect against fetching the source | |
1986 | code for Standard, in case a component of the type is declared | |
1987 | in Standard. There was already code to do this for the original | |
1988 | type, but not for its components. | |
1989 | ||
b03d3f73 AC |
1990 | 2017-04-25 Javier Miranda <miranda@adacore.com> |
1991 | ||
1992 | * exp_ch3.adb (Build_Initialization_Call): Handle | |
1993 | subtypes of private types when searching for the underlying full | |
1994 | view of a private type. | |
1995 | ||
1996 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
1997 | ||
1998 | * sem_res.adb (Set_Mixed_Mode_Operand): A universal | |
1999 | real conditional expression can appear in a fixed-type context | |
2000 | and must be resolved with that context to facilitate the code | |
2001 | generation to the backend. | |
2002 | ||
2003 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2004 | ||
2005 | * einfo.adb, einfo.ads (Body_Needed_For_Inlining): New flag, | |
2006 | to indicate whether during inline processing, when some unit U1 | |
2007 | appears in the context of a unit U2 compiled for instantiation | |
2008 | or inlining purposes, the body of U1 needs to be compiled as well. | |
2009 | * sem_prag.adb (Process_Inline): Set Body_Needed_For_Inlining if | |
2010 | context is a package declaration. | |
2011 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration, | |
2012 | Analyze_Generic_Package_Declaration): ditto. | |
2013 | * inline.adb (Analyze_Inlined_Bodies): Check | |
2014 | Body_Needed_For_Inlining. | |
2015 | ||
2016 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2017 | ||
2018 | * par.adb (Current_Assign_Node): Global variable use to record | |
2019 | the presence of a target_name in the right hand side of the | |
2020 | assignment being parsed. | |
2021 | * par-ch4.adb (P_Name): If the name is a target_name, mark the | |
2022 | enclosing assignment node accordingly. | |
2023 | * par-ch5.adb (P_Assignment_Statement): Set Current_Assign_Node | |
2024 | appropriately. | |
2025 | * sem_ch5.adb (Analyze_Assignment): Disable expansion before | |
2026 | analyzing RHS if the statement has target_names. | |
2027 | * sem_aggr.adb (Resolve_Iterated_Component_Association): Handle | |
2028 | properly choices that are subtype marks. | |
2029 | * exp_ch5.adb: Code cleanup. | |
2030 | ||
2031 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2032 | ||
2033 | * s-memory.adb: Add a comment regarding efficiency. | |
2034 | * atree.adb: Fix the assertion, and combine 2 assertions into one, | |
2035 | "the source has an extension if and only if the destination does." | |
2036 | * sem_ch3.adb, sem_ch13.adb: Address ??? comments. | |
2037 | ||
2038 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
2039 | ||
2040 | * a-tasatt.adb (Set_Value): Fix handling of 32bits -> 64bits | |
2041 | conversion. | |
2042 | ||
2043 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
2044 | ||
2045 | * init.c (__gnat_error_handler) [vxworks]: Turn on sigtramp | |
2046 | handling for ppc64-vx7. | |
2047 | * sigtramp-vxworks-target.inc | |
2048 | [SIGTRAMP_BODY]: Add section for ppc64-vx7. | |
2049 | ||
18e82947 AC |
2050 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
2051 | ||
2052 | * ada_get_targ.adb: New file. | |
2053 | ||
f607cacf BD |
2054 | 2017-04-25 Bob Duff <duff@adacore.com> |
2055 | ||
2056 | * uintp.adb (Most_Sig_2_Digits): In case Direct (Right), fetch | |
2057 | Direct_Val (Right), instead of the incorrect Direct_Val (Left). | |
2058 | (UI_GCD): Remove ??? comment involving possible efficiency | |
2059 | improvements. This just isn't important after all these years. | |
2060 | Also minor cleanup. | |
2061 | * uintp.ads: Minor cleanup. | |
2062 | ||
28ad2460 HK |
2063 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2064 | ||
2065 | * exp_util.adb, exp_util.ads, sem_ch7.adb, sem_prag.adb, exp_ch3.adb: | |
2066 | Revert previous changes. | |
2067 | * scng.adb: Minor reformatting. | |
2068 | * s-stratt.ads: Fix unbalanced parens in comment. | |
2069 | ||
b41c731f AC |
2070 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2071 | ||
2072 | * sem_ch3.adb, exp_util.adb, sem_prag.adb, freeze.adb, sem_util.adb: | |
2073 | Minor reformatting. | |
2074 | ||
2075 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2076 | ||
2077 | * scng.adb (Scan): Handle '@' appropriately. | |
2078 | * sem_ch5.adb: Code cleanup. | |
2079 | ||
b5360737 AC |
2080 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2081 | ||
2082 | * freeze.adb (Check_Expression_Function): Do not check for the | |
2083 | use of deferred constants if the freezing of the expression | |
2084 | function is triggered by its generated body, rather than a | |
2085 | premature use. | |
2086 | ||
2087 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2088 | ||
2089 | * exp_attr.adb (Rewrite_Stream_Proc_Call): Handle | |
2090 | subtypes of private types when performing the view conversion. | |
2091 | ||
2092 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2093 | ||
2094 | * exp_ch3.adb (Freeze_Type): Signal the DIC body is created for | |
2095 | the purposes of freezing. | |
2096 | * exp_util.adb Update the documentation and structure of the | |
2097 | type map used in class-wide semantics of assertion expressions. | |
2098 | (Add_Inherited_Tagged_DIC): There is really no need to preanalyze | |
2099 | and resolve the triaged expression because all substitutions | |
2100 | refer to the proper entities. Update the replacement of | |
2101 | references. | |
2102 | (Build_DIC_Procedure_Body): Add formal parameter | |
2103 | For_Freeze. Add local variable Build_Body. Inherited DIC pragmas | |
2104 | are now only processed when freezing occurs. Build a body only | |
2105 | when one is needed. | |
2106 | (Entity_Hash): Removed. | |
2107 | (Map_Types): New routine. | |
2108 | (Replace_Object_And_Primitive_References): Removed. | |
2109 | (Replace_References): New routine. | |
2110 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
2111 | (Type_Map_Hash): New routine. | |
2112 | (Update_Primitives_Mapping): Update the mapping call. | |
2113 | (Update_Primitives_Mapping_Of_Types): Removed. | |
2114 | * exp_util.ads (Build_DIC_Procedure_Body): Add formal | |
2115 | parameter For_Freeze and update the comment on usage. | |
2116 | (Map_Types): New routine. | |
2117 | (Replace_References): New routine. | |
2118 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
2119 | (Update_Primitives_Mapping_Of_Types): Removed. | |
2120 | * sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC | |
2121 | properties of the private type to the full view in case the full | |
2122 | view derives from a parent type and inherits a DIC pragma. | |
2123 | * sem_prag.adb (Analyze_Pragma): Guard against a case where a | |
2124 | DIC pragma is placed at the top of a declarative region. | |
2125 | ||
a187206c AC |
2126 | 2017-04-25 Tristan Gingold <gingold@adacore.com> |
2127 | ||
2128 | * s-mmap.ads (Data): Add pragma Inline. | |
2129 | ||
2130 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2131 | ||
2132 | * checks.adb (Insert_Valid_Check): Do not use | |
2133 | a renaming to alias a volatile name because this will lead to | |
2134 | multiple evaluations of the volatile name. Use a constant to | |
2135 | capture the value instead. | |
2136 | ||
2137 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
2138 | ||
2139 | * init.c [VxWorks Section]: Disable sigtramp for ppc64-vx7. | |
2140 | ||
2141 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2142 | ||
2143 | * exp_util.adb, exp_util.ads (Build_Class_Wide_Expression): | |
2144 | Add out parameter to indicate to caller that a wrapper must | |
2145 | be constructed for an inherited primitive whose inherited | |
2146 | pre/postcondition has called to overridden primitives. | |
2147 | * freeze.adb (Check_Inherited_Conditions): Build wrapper body | |
2148 | for inherited primitive that requires it. | |
2149 | * sem_disp.adb (Check_Dispatching_Operation): Such wrappers are | |
2150 | legal primitive operations and belong to the list of bodies | |
2151 | generated after the freeze point of a type. | |
2152 | * sem_prag.adb (Build_Pragma_Check_Equivalent): Use new signature | |
2153 | of Build_Class_Wide_Expression. | |
2154 | * sem_util.adb, sem_util.ads (Build_Overriding_Spec): New procedure | |
2155 | to construct the specification of the wrapper subprogram created | |
2156 | for an inherited operation. | |
2157 | ||
15fc8cb7 AC |
2158 | 2017-04-25 Bob Duff <duff@adacore.com> |
2159 | ||
2160 | * s-osinte-linux.ads (pthread_mutexattr_setprotocol, | |
2161 | pthread_mutexattr_setprioceiling): Add new interfaces for these | |
2162 | pthread operations. | |
2163 | * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB): Set | |
2164 | protocols as appropriate for Locking_Policy 'C' and 'I'. | |
2165 | * s-taprop-posix.adb: Minor reformatting to make it more similar | |
2166 | to s-taprop-linux.adb. | |
2167 | ||
2168 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2169 | ||
2170 | * sem_ch3.adb (Get_Discriminant_Value, Search_Derivation_Levels): | |
2171 | Handle properly a multi- level derivation involving both renamed | |
2172 | and constrained parent discriminants, when the type to be | |
2173 | constrained has fewer discriminants that the ultimate ancestor. | |
2174 | ||
2175 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2176 | ||
2177 | * sem_util.adb (Is_Object_Reference): In the | |
2178 | case of N_Explicit_Dereference, return False if it came from a | |
2179 | conditional expression. | |
2180 | ||
2181 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2182 | ||
2183 | * par-ch4.adb (P_Case_Expression): If a semicolon | |
2184 | is followed by "when", assume that ";" was meant to be ",". | |
2185 | ||
605afee8 GD |
2186 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
2187 | ||
2188 | * sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo | |
2189 | fixes. | |
2190 | ||
b912db16 AC |
2191 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
2192 | ||
2193 | * rtsfind.ads (SPARK_Implicit_Load): New procedure for forced | |
2194 | loading of an entity. | |
2195 | * rtsfind.adb (SPARK_Implicit_Load): Body with a pattern | |
2196 | previously repeated in the analysis. | |
2197 | * sem_ch9.adb (Analyze_Protected_Type_Declaration): use new | |
2198 | procedure SPARK_Implicit_Load. (Analyze_Task_Type_Declaration): | |
2199 | use new procedure SPARK_Implicit_Load. | |
2200 | * sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure | |
2201 | SPARK_Implicit_Load. | |
2202 | ||
2203 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2204 | ||
2205 | * sem_util.adb (New_Copy_Tree): By default | |
2206 | copying of defining identifiers is prohibited because | |
2207 | this would introduce an entirely new entity into the | |
2208 | tree. This patch introduces an exception to this general | |
2209 | rule: the declaration of constants and variables located in | |
2210 | Expression_With_Action nodes. | |
2211 | (Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement. | |
2212 | (In_Map): New subprogram. | |
2213 | (Visit_Entity): New subprogram. | |
2214 | (Visit_Node): Handle EWA_Level, | |
2215 | EWA_Inner_Scope_Level, and take care of defining entities defined | |
2216 | in Expression_With_Action nodes. | |
2217 | ||
2218 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
2219 | ||
2220 | * exp_ch6.adb: minor comment edit. | |
2221 | * sinfo.ads, sinfo.adb: New Null_Statement attribute for null | |
2222 | procedure specifications that come from source. | |
2223 | * par-ch6.adb (P_Subprogram, case of a null procedure): Set new | |
2224 | Null_Statement attribute. | |
2225 | * par_sco.adb (Traverse_Declarations_Or_Statements): For a null | |
2226 | procedure, generate statement SCO for the generated NULL statement. | |
2227 | * sem_ch6.adb (Analyze_Null_Procedure): Use null statement from | |
2228 | parser, if available. | |
2229 | ||
d90175a4 AK |
2230 | 2017-04-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
2231 | ||
2232 | * system-linux-s390.ads: Use Long_Integer'Size to define | |
2233 | Memory_Size. | |
2234 | ||
4c439306 EB |
2235 | 2017-04-04 Eric Botcazou <ebotcazou@adacore.com> |
2236 | ||
2237 | * sem_ch3.adb (Build_Derived_Record_Type): Fix long line. | |
2238 | ||
5764ee3c JW |
2239 | 2017-04-03 Jonathan Wakely <jwakely@redhat.com> |
2240 | ||
2241 | * doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo. | |
2242 | * g-socket.adb (To_Host_Entry): Fix typo in comment. | |
2243 | * gnat_ugn.texi: Fix typo. | |
2244 | * raise.c (_gnat_builtin_longjmp): Fix capitalization in comment. | |
2245 | * s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment. | |
2246 | * sem_ch3.adb (Build_Derived_Record_Type): Likewise. | |
2247 | * sem_util.adb (Mark_Coextensions): Likewise. | |
2248 | * sem_util.ads (Available_Full_View_Of_Component): Likewise. | |
2249 | ||
41f44717 AS |
2250 | 2017-03-28 Andreas Schwab <schwab@suse.de> |
2251 | ||
2252 | PR ada/80117 | |
2253 | * system-linux-aarch64-ilp32.ads: New file. | |
2254 | * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename | |
2255 | from LIBGNAT_TARGET_PAIRS. | |
2256 | (LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define. | |
2257 | (LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and | |
2258 | LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64 | |
2259 | or -mabi=ilp32, resp. | |
2260 | ||
e3e8f22f JC |
2261 | 2017-03-14 James Cowgill <James.Cowgill@imgtec.com> |
2262 | ||
2263 | * s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags. | |
2264 | ||
2ff555ff TT |
2265 | 2017-03-08 Thanassis Tsiodras <ttsiodras@gmail.com> |
2266 | ||
2267 | PR ada/79903 | |
2268 | * socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__. | |
2269 | ||
4f8fe72b EB |
2270 | 2017-03-08 Eric Botcazou <ebotcazou@adacore.com> |
2271 | ||
2272 | PR ada/79945 | |
2273 | * system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting. | |
2274 | ||
2275 | * system-linux-arm.ads (Default_Bit_Order): Likewise. | |
2276 | * system-linux-mips.ads (Default_Bit_Order): Likewise. | |
2277 | * system-linux-armeb.ads: Delete. | |
2278 | * system-linux-mipsel.ads: Likewise. | |
2279 | * gcc-interface/Makefile.in (MIPS/Linux): Adjust. | |
2280 | (ARM/Linux): Likewise. | |
2281 | ||
b9822443 JJ |
2282 | 2017-02-24 Jakub Jelinek <jakub@redhat.com> |
2283 | ||
2284 | PR c/79677 | |
2285 | * gcc-interface/misc.c (gnat_handle_option): Pass true to | |
2286 | handle_generated_option GENERATED_P. | |
2287 | ||
741bd9b1 EB |
2288 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2289 | ||
2290 | * gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper | |
2291 | around a justified modular type if it doesn't have the same scalar | |
2292 | storage order as the enclosing record type. | |
2293 | ||
830815b9 EB |
2294 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2295 | ||
2296 | * gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling | |
2297 | of boolean rvalues to function calls. | |
2298 | ||
491527af EB |
2299 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2300 | ||
2301 | * gcc-interface/utils.c (fold_bit_position): New function. | |
2302 | (rest_of_record_type_compilation): Call it instead of bit_position to | |
2303 | compute the field position and remove the call to remove_conversions. | |
2304 | (compute_related_constant): Factor out the multiplication in both | |
2305 | operands, if any, and streamline the final test. | |
2306 | ||
0b9cdb9a EB |
2307 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2308 | ||
2309 | * gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check. | |
2310 | ||
59909673 EB |
2311 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2312 | ||
2313 | * gcc-interface/decl.c: Include demangle.h. | |
2314 | (is_cplusplus_method): Return again true for a primitive operation | |
2315 | only if it is dispatching. For a subprogram with an interface name, | |
2316 | call the demangler to get the number of C++ parameters and compare it | |
2317 | with the number of Ada parameters. | |
2318 | ||
8ff873dc EB |
2319 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2320 | ||
2321 | * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If | |
2322 | there is no end label, put the location of the At_End procedure on | |
2323 | the call to the procedure. | |
2324 | ||
2325 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> | |
2326 | ||
2327 | * gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful | |
2328 | value for array types with TYPE_INDEX_TYPE set on their domain type. | |
2329 | * gcc-interface/utils.c (max_size): For operations and expressions, do | |
2330 | not build a new node if the operands have not changed or are missing. | |
2331 | ||
4af362a9 EB |
2332 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
2333 | ||
2334 | * gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second | |
2335 | argument when recursing on TRUTH_NOT_EXPR. | |
2336 | ||
19fc3f9a JM |
2337 | 2017-02-12 John Marino <gnugcc@marino.st> |
2338 | ||
2339 | * system-freebsd-x86.ads: Rename into... | |
2340 | * system-freebsd.ads: ...this. | |
2341 | (Default_Bit_Order): Define using Standard'Default_Bit_Order. | |
2342 | * gcc-interface/Makefile.in: Support aarch64-freebsd. | |
2343 | (x86-64/FreeBSD): Adjust to above renaming. | |
2344 | (i386/FreeBSD): Likewise. | |
2345 | ||
b5811a69 GP |
2346 | 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com> |
2347 | ||
2348 | * comperr.adb: Update FSF bug reporting URL. | |
2349 | ||
372db67b EB |
2350 | 2017-02-01 Eric Botcazou <ebotcazou@adacore.com> |
2351 | Jakub Jelinek <jakub@redhat.com> | |
2352 | ||
2353 | PR ada/79309 | |
2354 | * adaint.c (__gnat_killprocesstree): Fix broken string handling. | |
2355 | ||
e5e391d6 MO |
2356 | 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com> |
2357 | ||
2358 | PR lto/79061 | |
2359 | * gcc-interface/utils.c (get_global_context): Pass main_input_filename | |
2360 | to build_translation_unit_decl. | |
2361 | ||
b4fad9fa JM |
2362 | 2017-01-23 Javier Miranda <miranda@adacore.com> |
2363 | ||
2364 | * sem_util.adb (New_Copy_Tree): Code cleanup: | |
2365 | removal of the internal map (ie. variable Actual_Map, its | |
2366 | associated local variables, and all the code handling it). | |
2367 | * sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode | |
2368 | force loading of the System package when processing a task type. | |
2369 | (Analyze_Protected_Type_Declaration): in GNATprove mode force | |
2370 | loading of the System package when processing a protected type. | |
2371 | * sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode | |
2372 | force loading of the System package when processing compilation | |
2373 | unit with a main-like subprogram. | |
2374 | * frontend.adb (Frontend): remove forced loading of the System | |
2375 | package. | |
2376 | ||
d268147d ES |
2377 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
2378 | ||
2379 | * sem_prag.adb (Default_Initial_Condition): If the desired type | |
2380 | declaration is a derived type declaration with discriminants, | |
2381 | it is rewritten as a private type declaration. | |
2382 | * sem_ch13.adb (Replace_Type_References_Generic, | |
2383 | Visible_Component): A discriminated private type with descriminnts | |
2384 | has components that must be rewritten as selected components | |
2385 | if they appear as identifiers in an aspect expression such as | |
2386 | a Default_Initial_Condition. | |
2387 | * sem_util.adb (Defining_Entity): support N_Iterator_Specification | |
2388 | nodes. | |
2389 | ||
dafe11cd HK |
2390 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
2391 | ||
2392 | * ghost.ads, ghost.adb (Is_Ignored_Ghost_Unit): New routine. | |
2393 | * gnat1drv.adb Generate an empty object file for an ignored | |
2394 | Ghost compilation unit. | |
2395 | * inline.adb, sem_util.adb, sem_ch4.adb: Minor reformatting. | |
2396 | ||
bfaf8a97 AC |
2397 | 2017-01-23 Yannick Moy <moy@adacore.com> |
2398 | ||
2399 | * sem_ch4.adb (Analyze_Indexed_Component_Form): | |
2400 | Adapt to inlined prefix with string literal subtype. | |
2401 | * inline.adb (Expand_Inlined_Call): Keep unchecked | |
2402 | conversion inside inlined call when formal type is constrained. | |
2403 | ||
2404 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
2405 | ||
2406 | * sem_util.adb (New_Copy_Tree): Code cleanup: | |
2407 | removal of global variables. All the global variables, global | |
2408 | functions and tables of this subprogram are now declared locally. | |
2409 | ||
9313a26a AC |
2410 | 2017-01-23 Gary Dismukes <dismukes@adacore.com> |
2411 | ||
2412 | * exp_strm.ads: Minor reformatting and typo fixes. | |
2413 | ||
2414 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2415 | ||
2416 | * sem_aggr.adb, par_sco.adb, exp_util.adb, sem.adb, sem_ch4.adb, | |
2417 | exp_aggr.adb: Minor reformatting. | |
2418 | * g-diopit.adb: minor grammar/punctuation fix in comment. | |
2419 | * g-byorma.ads: minor fix of unbalanced parens in comment. | |
2420 | ||
2421 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2422 | ||
2423 | * par.adb: Update the documentation of component Labl. | |
2424 | * par-ch6.adb (P_Return_Statement): Set the expected label of | |
2425 | an extended return statement to Error. | |
2426 | ||
2427 | 2017-01-23 Tristan Gingold <gingold@adacore.com> | |
2428 | ||
2429 | * s-boustr.ads, s-boustr.adb (Is_Full): New function. | |
2430 | ||
2431 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
2432 | ||
2433 | * expander.adb: Handle N_Delta_Aggregate. | |
2434 | ||
2435 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
2436 | ||
2437 | * exp_ch6.adb (Expand_Call): Improve the code that | |
2438 | checks if some formal of the called subprogram is a class-wide | |
2439 | interface, to handle subtypes of class-wide interfaces. | |
2440 | ||
2441 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
2442 | ||
2443 | * checks.adb (Apply_Parameter_Aliasing_Checks): | |
2444 | Remove side effects of the actuals before generating the overlap | |
2445 | check. | |
2446 | ||
4b7fd131 AC |
2447 | 2017-01-23 Justin Squirek <squirek@adacore.com> |
2448 | ||
2449 | * exp_strm.ads, exp_strm.ads | |
2450 | (Build_Record_Or_Elementary_Input_Function): Add an extra parameter so | |
2451 | as to avoid getting the underlying type by default. | |
2452 | * exp_attr.adb (Expand_N_Attribute_Reference): Remove use of | |
2453 | underlying type in the Iiput and output attribute cases when | |
2454 | building their respective functions. | |
2455 | ||
2456 | 2017-01-23 Gary Dismukes <dismukes@adacore.com> | |
2457 | ||
2458 | * scng.adb: Minor reformatting of error message. | |
2459 | ||
2460 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
2461 | ||
2462 | * sem_ch6.adb (Analyze_Expression_Function): Do not attempt | |
2463 | to freeze the return type of an expression funxtion that is a | |
2464 | completion, if the type is a limited view and the non-limited | |
2465 | view is available. | |
2466 | ||
9eb8d5b4 AC |
2467 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
2468 | ||
2469 | * par-ch4.adb (P_Aggregate_Or_Parent_Expr): Recognize delta | |
2470 | aggregate construct. | |
2471 | (P_Record_Or_Array_Component_Association): An array aggregate | |
2472 | can start with an Iterated_Component_Association. | |
2473 | * scng.adb: Modify error message on improper use of @ in earlier | |
2474 | versions of the language. | |
2475 | * sinfo.ads: New node kind N_Delta_Aggregate. | |
2476 | * sinfo.adb: An N_Delta_Aggregate has component associations and | |
2477 | an expression. | |
2478 | * sem_res.adb (Resolve): Call Resolve_Delta_Aggregate. | |
2479 | * sem_aggr.ads, sem_aggr.adb (Resolve_Iterated_Component_Association): | |
2480 | Create a new index for each one of the choices in the association, | |
2481 | to prevent spurious homonyms in the scope. | |
2482 | (Resolve_Delta_Aggregate): New. | |
2483 | * sem.adb: An N_Delta_Aggregate is analyzed like an aggregate. | |
2484 | * exp_util.adb (Insert_Actions): Take into account | |
2485 | N_Delta_Aggregate. | |
2486 | * exp_aggr.ads: New procedure Expand_N_Delta_Aggregate. | |
2487 | * exp_aggr.adb: New procedure Expand_N_Delta_Aggregate, | |
2488 | and local procedures Expand_Delta_Array_Aggregate and | |
2489 | expand_Delta_Record_Aggregate. | |
2490 | * sprint.adb: Handle N_Delta_Aggregate. | |
2491 | ||
2492 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2493 | ||
2494 | * exp_ch11.adb (Expand_N_Exception_Declaration): Generate an | |
2495 | empty name when the exception declaration is subject to pragma | |
2496 | Discard_Names. | |
2497 | (Null_String): New routine. | |
2498 | ||
2499 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2500 | ||
2501 | * par-ch9.adb (P_Protected_Definition): Parse | |
2502 | any optional and potentially illegal pragmas which appear in | |
2503 | a protected operation declaration list. | |
2504 | (P_Task_Items): Parse | |
2505 | any optional and potentially illegal pragmas which appear in a | |
2506 | task item list. | |
2507 | ||
a51368fa AC |
2508 | 2017-01-23 Pascal Obry <obry@adacore.com> |
2509 | ||
2510 | * s-taprop-mingw.adb (Enter_Task): Initialize the Thread handle which | |
2511 | is needed when a foreign thread call a Win32 API using a thread handle | |
2512 | like GetThreadTimes() for example. | |
2513 | ||
2514 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2515 | ||
2516 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not | |
2517 | allow an 'Address clause to be specified on a prefix of a | |
2518 | class-wide type. | |
2519 | ||
2520 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2521 | ||
2522 | * checks.adb (Insert_Valid_Check): Ensure that the prefix of | |
2523 | attribute 'Valid is a renaming of the original expression when | |
2524 | the expression denotes a name. For all other kinds of expression, | |
2525 | use a constant to capture the value. | |
2526 | * exp_util.adb (Is_Name_Reference): Moved to Sem_Util. | |
2527 | * sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util. | |
2528 | ||
2529 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
2530 | ||
2531 | * sem_eval.adb (Eval_Integer_Literal): Add special | |
2532 | case to avoid optimizing out check if the literal appears in | |
2533 | an if-expression. | |
2534 | ||
2535 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2536 | ||
2537 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not | |
2538 | allow an 'Address clause to be specified on a prefix of a | |
2539 | class-wide type. | |
2540 | ||
2541 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2542 | ||
2543 | * checks.adb (Insert_Valid_Check): Ensure that the prefix of | |
2544 | attribute 'Valid is a renaming of the original expression when | |
2545 | the expression denotes a name. For all other kinds of expression, | |
2546 | use a constant to capture the value. | |
2547 | * exp_util.adb (Is_Name_Reference): Moved to Sem_Util. | |
2548 | * sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util. | |
2549 | ||
2550 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
2551 | ||
2552 | * sem_eval.adb (Eval_Integer_Literal): Add special | |
2553 | case to avoid optimizing out check if the literal appears in | |
2554 | an if-expression. | |
2555 | ||
913e4b36 ES |
2556 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
2557 | ||
2558 | * sem_ch4.adb (Try_Primitive_Operations, | |
2559 | Is_Valid_First_Argument_Of): argument is valid if it is a derived | |
2560 | type with unknown discriminants that matches its underlying | |
2561 | record view. | |
2562 | * exp_util.adb (Expand_Subtype_From_Expr): Do not expand | |
2563 | expression if its type is derived from a limited type with | |
2564 | unknown discriminants, because the expansion (which is a call) | |
2565 | must be expanded in the enclosing context to add the proper build- | |
2566 | in-place parameters to the call. | |
2567 | * lib.ads, exp_ch9.adb: Minor fixes in comments. | |
2568 | ||
a77152ca AC |
2569 | 2017-01-23 Yannick Moy <moy@adacore.com> |
2570 | ||
2571 | * frontend.adb (Frontend): Do not load runtime | |
2572 | unit for GNATprove when parsing failed. | |
2573 | * exp_ch9.adb: minor removal of extra whitespace | |
2574 | * exp_ch6.adb: minor typo in comment | |
2575 | * sem_util.adb: Code cleanup. | |
2576 | * exp_ch9.ads, par-ch2.adb: minor style fixes in whitespace and comment | |
2577 | * a-ngcefu.adb: minor style fix in whitespace | |
2578 | ||
2579 | 2017-01-23 Thomas Quinot <quinot@adacore.com> | |
2580 | ||
2581 | * scos.ads: Document usage of 'd' as default SCO kind for | |
2582 | declarations. | |
2583 | * par_sco.adb (Traverse_Declarations_Or_Statements. | |
2584 | Traverse_Degenerate_Subprogram): New supporting routine for expression | |
2585 | functions and null procedures. | |
2586 | (Traverse_Declarations_Or_Statements.Traverse_One): Add | |
2587 | N_Expression_Function to the subprogram case; add required | |
2588 | support for null procedures and expression functions. | |
2589 | ||
2590 | 2017-01-23 Bob Duff <duff@adacore.com> | |
2591 | ||
2592 | * namet.ads (Bounded_String): Decrease the size of type | |
2593 | Bounded_String to avoid running out of stack space. | |
2594 | * namet.ads (Append): Don't ignore buffer overflow; raise | |
2595 | Program_Error instead. | |
2596 | ||
d43584ca AC |
2597 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
2598 | ||
2599 | * exp_ch5.adb, freeze.adb, par-ch4.adb, scng.adb, sem_ch13.adb, | |
2600 | sem_ch3.adb, sem_ch5.adb, sem_ch5.ads, sem_util.adb, sinfo.ads: Minor | |
2601 | reformatting. | |
2602 | * exp_ch9.adb: minor style fix in comment. | |
2603 | ||
2604 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
2605 | ||
2606 | * sem_ch4.adb (Analyze_Allocator): Handle properly a type derived | |
2607 | for a limited record extension with unknown discriminants whose | |
2608 | full view has no discriminants. | |
2609 | ||
2610 | 2017-01-23 Yannick Moy <moy@adacore.com> | |
2611 | ||
2612 | * exp_spark.adb: Alphabetize with clauses. | |
2613 | ||
0f83b044 AC |
2614 | 2017-01-23 Yannick Moy <moy@adacore.com> |
2615 | ||
2616 | * sem_util.adb (Has_Enabled_Property): Treat | |
2617 | protected objects and variables differently from other variables. | |
2618 | ||
52b70b1b TQ |
2619 | 2017-01-23 Thomas Quinot <quinot@adacore.com> |
2620 | ||
2621 | * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): | |
2622 | Split original Ada 95 part off into new subprogram | |
2623 | below. Call that subprogram (instead of proceeding with | |
2624 | AI95-0133 behaviour) if debug switch -gnatd.p is in use. | |
2625 | (Adjust_Record_For_Reverse_Bit_Order_Ada_95): ... new subprogram | |
2626 | * debug.adb Document new switch -gnatd.p | |
2627 | * freeze.adb (Freeze_Entity.Freeze_Record_Type): Do not adjust | |
2628 | record for reverse bit order if an error has already been posted | |
2629 | on the record type. This avoids generating extraneous "info:" | |
2630 | messages for illegal code. | |
2631 | ||
2a02fa98 JS |
2632 | 2017-01-23 Justin Squirek <squirek@adacore.com> |
2633 | ||
2634 | * sem_ch3.adb (Analyze_Declarations): Correct comments | |
2635 | * freeze.adb (Find_Constant): Add detection of deferred constants | |
2636 | so they are not incorrectly flagged as premature. | |
2637 | ||
ae33543c ES |
2638 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
2639 | ||
2640 | * scans.ads: New token At_Sign. Remove '@' from list of illegal | |
2641 | characters for future version of the language. '@' is legal name. | |
2642 | * scng.ads, scng.adb (Scan): Handle '@' appropriately. | |
2643 | * scn.adb (Scan_Reserved_Identifier): An occurrence of '@' | |
2644 | denotes a Target_Name. | |
2645 | * par-ch4.adb (P_Name, P_Primary): Handle Target_Name. | |
2646 | * sinfo.ads, sinfo.adb (N_Target_Name): New non-terminal node. | |
2647 | (Has_Target_Names): New flag on N_Assignment_Statement, to | |
2648 | indicate that RHS has occurrences of N_Target_Name. | |
2649 | * sem.adb: Call Analyze_Target_Name. | |
2650 | * sem_ch5.ads, sem_ch5.adb (Analyze_Target_Name): New subpogram. | |
2651 | (urrent_LHS): Global variable that denotes LHS of assignment, | |
2652 | used in the analysis of Target_Name nodes. | |
2653 | * sem_res.adb (Resolve_Target_Name): New procedure. | |
2654 | * exp_ch5.adb (Expand_Assign_With_Target_Names): (AI12-0125): | |
2655 | N is an assignment statement whose RHS contains occurences of @ | |
2656 | that designate the value of the LHS of the assignment. If the | |
2657 | LHS is side-effect free the target names can be replaced with | |
2658 | a copy of the LHS; otherwise the semantics of the assignment | |
2659 | is described in terms of a procedure with an in-out parameter, | |
2660 | and expanded as such. | |
2661 | (Expand_N_Assignment_Statement): Call | |
2662 | Expand_Assign_With_Target_Names when needed. | |
2663 | * exp_util.adb (Insert_Actions): Take into account N_Target_Name. | |
2664 | * sprint.adb: Handle N_Target_Name. | |
2665 | ||
13230c68 AC |
2666 | 2017-01-23 Eric Botcazou <ebotcazou@adacore.com> |
2667 | ||
2668 | * checks.adb: Minor fix in comment. | |
2669 | ||
2670 | 2017-01-23 Philippe Gil <gil@adacore.com> | |
2671 | ||
2672 | * g-debpoo.adb (Do_Report) remove freed chunks from chunks | |
2673 | count in Sort = Memory_Usage or Allocations_Count | |
2674 | ||
2675 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
2676 | ||
2677 | * sem_ch3.adb: Code cleanup. | |
2678 | ||
2679 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2680 | ||
2681 | * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Move all global | |
2682 | variables to the local variable section. Update the profile | |
2683 | of various nested routine that previously had visibility | |
2684 | of those globals. One the matching phase has completed, | |
2685 | remove certain classes of clauses which are considered noise. | |
2686 | (Check_Dependency_Clause): Properly detect a match between two | |
2687 | 'Result attributes. Update the various post-match cases to use | |
2688 | Is_Already_Matched as this routine now automatically recognizes | |
2689 | a previously matched 'Result attribute. | |
2690 | (Is_Already_Matched): New routine. | |
2691 | (Remove_Extra_Clauses): New routine. | |
2692 | (Report_Extra_Clauses): Remove the detection of ... => null | |
2693 | clauses as this is now done in Remove_Extra_Clauses. | |
2694 | ||
6adb6030 AC |
2695 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
2696 | ||
2697 | * sem_aggr.adb (Resolve_Array_Aggregate): In ASIS mode do not | |
2698 | report on spurious overlaps between values involving a subtype | |
2699 | with a static predicate, because the expansion of such a subtype | |
2700 | into individual ranges in inhibited in ASIS mode. | |
2701 | ||
2702 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
2703 | ||
2704 | * sem_ch3.adb (Analyze_Declarations): Add detection | |
2705 | of an edge case and delay freezing if it is present. | |
2706 | ||
f991bd8e HK |
2707 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
2708 | ||
2709 | * sem_ch3.adb, exp_spark.adb, exp_attr.adb, sem_ch9.adb, sem_prag.adb, | |
2710 | sem_util.adb, sem_warn.adb, exp_ch3.adb: Minor reformatting. | |
2711 | ||
2712 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2713 | ||
2714 | * freeze.adb (Freeze_Subprogram): Ensure that all anonymous | |
2715 | access-to-subprogram types inherit the convention of the | |
2716 | associated subprogram. (Set_Profile_Convention): New routine. | |
2717 | * sem_ch6.adb (Check_Conformance): Do not compare the conventions | |
2718 | of the two entities directly, use Conventions_Match to account | |
2719 | for anonymous access-to-subprogram and subprogram types. | |
2720 | (Conventions_Match): New routine. | |
2721 | ||
d553a695 CD |
2722 | 2017-01-23 Claire Dross <dross@adacore.com> |
2723 | ||
2724 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes | |
2725 | which return Universal_Integer, force the overflow check flag for | |
2726 | Length and Range_Length for types as big as Long_Long_Integer. | |
2727 | ||
6d67bea9 AC |
2728 | 2017-01-23 Claire Dross <dross@adacore.com> |
2729 | ||
2730 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): For | |
2731 | attributes which return Universal_Integer, introduce a conversion | |
2732 | to the expected type with the appropriate check flags set. | |
2733 | * sem_res.adb (Resolve_Range): The higher bound can be in Typ's | |
2734 | base type if the range is null. It may still be invalid if it | |
2735 | is higher than the lower bound. This is checked later in the | |
2736 | context in which the range appears. | |
2737 | ||
2738 | 2017-01-23 Pierre-Marie de Rodat <derodat@adacore.com> | |
2739 | ||
2740 | * scos.ads: Introduce a constant to represent ignored | |
2741 | dependencies in SCO_Unit_Table_Entry. | |
2742 | ||
64a4f612 AC |
2743 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
2744 | ||
2745 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra | |
2746 | spaces from error messages. | |
2747 | ||
2748 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
2749 | ||
2750 | * exp_ch3.adb (Check_Large_Modular_Array): New procedure, | |
2751 | subsidiary to Expand_N_Object_ Declaration, to compute a guard on | |
2752 | an object declaration for an array type with a modular index type | |
2753 | with the size of Long_Long_Integer. Special processing is needed | |
2754 | in this case to compute reliably the size of the object, and | |
2755 | eventually to raise Storage_Error, when wrap-around arithmetic | |
2756 | might compute a meangingless size for the object. | |
2757 | ||
2758 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
2759 | ||
2760 | * a-wtenau.adb, par-endh.adb, sem_prag.adb, | |
2761 | sem_type.adb: Code cleanups. | |
2762 | ||
be4e989c BD |
2763 | 2017-01-23 Bob Duff <duff@adacore.com> |
2764 | ||
2765 | * sem_res.adb (Resolve_Call): In the part of the code where | |
2766 | it is deciding whether to turn the call into an indexed | |
2767 | component, avoid doing so if the call is to an instance of | |
2768 | Unchecked_Conversion. Otherwise, the compiler turns it into an | |
2769 | indexed component, and resolution of that turns it back into a | |
2770 | function call, and so on, resulting in infinite recursion. | |
2771 | * sem_util.adb (Needs_One_Actual): If the first formal has a | |
2772 | default, then return False. | |
2773 | ||
22564ca9 EB |
2774 | 2017-01-21 Eric Botcazou <ebotcazou@adacore.com> |
2775 | ||
2776 | * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc) | |
2777 | optimizations when the type is modular and the offsets are equal. | |
2778 | ||
0a3ec628 AC |
2779 | 2017-01-20 Thomas Quinot <quinot@adacore.com> |
2780 | ||
2781 | * sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning | |
2782 | message. | |
2783 | ||
2784 | 2017-01-20 Nicolas Roche <roche@adacore.com> | |
2785 | ||
2786 | * terminals.c: Ignore failures on setpgid and tcsetpgrp commands. | |
2787 | ||
2788 | 2017-01-20 Bob Duff <duff@adacore.com> | |
2789 | ||
2790 | * sem_eval.adb (Compile_Time_Compare): Disable the expr+literal | |
2791 | (etc) optimizations when the type is modular. | |
2792 | ||
2793 | 2017-01-20 Yannick Moy <moy@adacore.com> | |
2794 | ||
2795 | * sem_ch6.adb (Move_Pragmas): move some pragmas, | |
2796 | but copy the SPARK_Mode pragma instead of moving it. | |
2797 | (Build_Subprogram_Declaration): Ensure that the generated spec | |
2798 | and original body share the same SPARK_Pragma aspect/pragma. | |
2799 | * sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New | |
2800 | procedure to copy SPARK_Mode aspect. | |
2801 | ||
2802 | 2017-01-20 Bob Duff <duff@adacore.com> | |
2803 | ||
2804 | * sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects | |
2805 | even in ASIS mode. | |
2806 | * sem_ch13.adb (Resolve_Name): Enable setting the entity to | |
2807 | Empty even in ASIS mode. | |
2808 | ||
be42aa71 AC |
2809 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
2810 | ||
2811 | * exp_ch9.adb: minor style fixes in comments. | |
2812 | * sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay | |
2813 | relative statement introduces an implicit dependency on | |
2814 | Ada.Real_Time.Clock_Time. | |
2815 | * sem_util.adb: Minor reformatting. | |
2816 | ||
2817 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2818 | ||
2819 | * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment | |
2820 | must be treated as delayed aspect even if the expression is | |
2821 | a literal, because the aspect affects the freezing and the | |
2822 | elaboration of the object to which it applies. | |
2823 | ||
2824 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
2825 | ||
2826 | * s-osinte-vxworks.ads (Interrup_Range): New subtype. | |
2827 | ||
2828 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2829 | ||
2830 | * lib-xref.adb (Generate_Reference): Do not warn about the | |
2831 | presence of a pragma Unreferenced if the entity appears as the | |
2832 | actual in a procedure call that does not come from source. | |
2833 | ||
2834 | 2017-01-20 Pascal Obry <obry@adacore.com> | |
2835 | ||
2836 | * expect.c, terminals.c: Fix some warnings about unused variables. | |
2837 | * gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part | |
2838 | of the runtime. | |
2839 | ||
2840 | 2017-01-20 Bob Duff <duff@adacore.com> | |
2841 | ||
2842 | * exp_attr.adb (Constrained): Apply an access check (check that | |
2843 | the prefix is not null) when the prefix denotes an object of an | |
2844 | access type; that is, when there is an implicit dereference. | |
2845 | ||
2846 | 2017-01-20 Gary Dismukes <dismukes@adacore.com> | |
2847 | ||
2848 | * s-rident.ads (constant Profile_Info): Remove | |
2849 | No_Calendar from GNAT_Extended_Ravenscar restrictions. | |
2850 | ||
2851 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
2852 | ||
2853 | * s-maccod.ads: Add pragma No_Elaboration_Code_All | |
2854 | ||
6e9e35e1 AC |
2855 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
2856 | ||
2857 | * ghost.adb (Mark_Ghost_Clause): New routine. | |
2858 | (Prune_Node): Do not prune compilation unit nodes. | |
2859 | (Remove_Ignored_Ghost_Code): Prune the compilation unit node directly. | |
2860 | This does not touch the node itself, but does prune all its fields. | |
2861 | * ghost.ads (Mark_Ghost_Clause): New routine. | |
2862 | * sem_ch8.adb (Analyze_Use_Package): Emit an error when a use | |
2863 | package clause mentions Ghost and non-Ghost packages. Mark a | |
2864 | use package clause as Ghost when it mentions a Ghost package. | |
2865 | (Analyze_Use_Type): Emit an error when a use type clause mentions | |
2866 | Ghost and non-Ghost types. Mark a use type clause as Ghost when | |
2867 | it mentions a Ghost type. | |
2868 | * sem_ch10.adb (Analyze_With_Clause): Mark a with clause as | |
2869 | Ghost when it withs a Ghost unit. | |
2870 | ||
2871 | 2017-01-20 Javier Miranda <miranda@adacore.com> | |
2872 | ||
2873 | * sem_res.adb (Resolve_Call): If a function call | |
2874 | returns a limited view of a type and at the point of the call the | |
2875 | function is not declared in the extended main unit then replace | |
2876 | it with the non-limited view, which must be available. If the | |
2877 | called function is in the extended main unit then no action is | |
2878 | needed since the back-end handles this case. | |
2879 | ||
2880 | 2017-01-20 Eric Botcazou <ebotcazou@adacore.com> | |
2881 | ||
2882 | * sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into... | |
2883 | (Contains_Subprograms_Refs): ...this. Adjust comment | |
2884 | for constants. (Is_Subp_Or_Const_Ref): Rename into... | |
2885 | (Is_Subprogram_Ref): ...this. | |
2886 | (Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into | |
2887 | Has_Non_Subprograms_Referencer and adjust comment. Remove | |
2888 | incorrect shortcut for package declarations and bodies. | |
2889 | ||
2890 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2891 | ||
2892 | * sem_ch3.adb (Complete_Private_Subtype): If the scope of the | |
2893 | base type differs from that of the completion and the private | |
2894 | subtype is an itype (created for a constraint on an access | |
2895 | type e.g.), set Delayed_Freeze on both to prevent out-of-scope | |
2896 | anomalies in gigi. | |
2897 | ||
2898 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
2899 | ||
2900 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
2901 | When inheriting the SPARK_Mode of a prior expression function, | |
2902 | look at the properly resolved entity rather than the initial | |
2903 | candidate which may denote a homonym. | |
2904 | ||
2905 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2906 | ||
2907 | * sem_prag.adb (Rewrite_Assertion_Kind): If the name is | |
2908 | Precondition or Postcondition, and the context is pragma | |
2909 | Check_Policy, indicate that this Pre-Ada2012 usage is deprecated | |
2910 | and suggest the standard names Assertion_Policy /Pre /Post | |
2911 | instead. | |
2912 | ||
7124d1a5 HK |
2913 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
2914 | ||
2915 | * sem_ch10.adb, sem_cat.adb: Minor reformatting. | |
2916 | ||
89a53f83 AC |
2917 | 2017-01-20 Javier Miranda <miranda@adacore.com> |
2918 | ||
2919 | * sem_ch3.adb (Access_Type_Declaration): Protect access to the | |
2920 | Entity attribute. | |
2921 | * sem_ch10.adb (Install_Siblings): Skip processing malformed trees. | |
2922 | * sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing | |
2923 | malformed trees. | |
2924 | ||
2925 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2926 | ||
2927 | * sem_ch13.adb (Analyze_Aspect_Specification, case | |
2928 | Dynamic_Predicate): If the entity E is a subtype that inherits | |
2929 | a static predicate for its parent P,, the inherited and the | |
2930 | new predicate combine in the generated predicate function, | |
2931 | and E only has a dynamic predicate. | |
2932 | ||
2933 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
2934 | ||
2935 | * s-boustr.ads, s-boustr.adb: New package. | |
2936 | * Makefile.rtl: Add s-boustr. | |
2937 | ||
2938 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
2939 | ||
2940 | * inline.adb (Process_Formals): Qualify the | |
2941 | expression of a return statement when it yields a universal type. | |
2942 | ||
2943 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
2944 | ||
2945 | * freeze.adb (Freeze_All): Freeze the default | |
2946 | expressions of all eligible formal parameters that appear in | |
2947 | entries, entry families, and protected subprograms. | |
2948 | ||
f68fc405 AC |
2949 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> |
2950 | ||
2951 | * sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check | |
2952 | for illegal inherited Implicit_Dereference aspects with renamed | |
2953 | discriminants. | |
2954 | ||
2955 | 2017-01-20 Javier Miranda <miranda@adacore.com> | |
2956 | ||
2957 | * debug.adb (switch d.6): do not avoid declaring unreferenced itypes. | |
2958 | * nlists.ads (Lock_Lists, Unlock_Lists): New subprograms. | |
2959 | * nlists.adb (Lock_Lists, Unlock_Lists): New subprograms. | |
2960 | (Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent, | |
2961 | Set_Prev, Tree_Read): Adding assertion. | |
2962 | * atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms. | |
2963 | * atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms. | |
2964 | (Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source, | |
2965 | Set_Ekind, Set_Error_Posted, Set_Has_Aspects, | |
2966 | Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count, | |
2967 | Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN, | |
2968 | Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN, | |
2969 | Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent, | |
2970 | Set_ListN_With_Parent): Adding assertion. | |
2971 | ||
2972 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2973 | ||
2974 | * sem_prag.adb (Process_Convention): Diagnose properly a pragma | |
2975 | import that applies to several homograph subprograms. when one | |
2976 | of them is declared by a subprogram body. | |
2977 | ||
2978 | 2017-01-20 Justin Squirek <squirek@adacore.com> | |
2979 | ||
2980 | * exp_ch6.adb (Expand_Call): Remove optimization | |
2981 | that nulls out calls to null procedures. | |
2982 | ||
f4ef7b06 AC |
2983 | 2017-01-20 Yannick Moy <moy@adacore.com> |
2984 | ||
2985 | * inline.adb (Expand_Inlined_Call): Keep more | |
2986 | precise type of actual for inlining whenever possible. In | |
2987 | particular, do not switch to the formal type in GNATprove mode in | |
2988 | some case where the GNAT backend might require it for visibility. | |
2989 | ||
2990 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
2991 | ||
2992 | * sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited | |
2993 | aspect Implicit_Dereference can be inherited by a full view if | |
2994 | the partial view has no discriminants, because there is no way | |
2995 | to apply the aspect to the partial view. | |
2996 | (Build_Derived_Record_Type): If derived type renames discriminants | |
2997 | of the parent, the new discriminant inherits the aspect from | |
2998 | the old one. | |
2999 | * sem_ch4.adb (Analyze_Call): Handle properly a parameterless | |
3000 | call through an access discriminant designating a subprogram. | |
3001 | * sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle | |
3002 | properly a parameterless call through an access discriminant on | |
3003 | the left-hand side of an assignment. | |
3004 | * sem_res.adb (resolve): If an interpreation involves a | |
3005 | discriminant with an implicit dereference and the expression is an | |
3006 | entity, resolution takes place later in the appropriate routine. | |
3007 | * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize | |
3008 | access discriminants that designate a subprogram type. | |
3009 | ||
3010 | 2017-01-20 Pascal Obry <obry@adacore.com> | |
3011 | ||
3012 | * a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016 | |
3013 | ||
ce06d641 AC |
3014 | 2017-01-20 Yannick Moy <moy@adacore.com> |
3015 | ||
3016 | * sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error | |
3017 | on implicitly with'ed units in GNATprove mode. | |
3018 | * sinfo.ads (Implicit_With): Document use of flag for implicitly | |
3019 | with'ed units in GNATprove mode. | |
3020 | ||
3021 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
3022 | ||
3023 | * sem_cat.adb (Validate_Static_Object_Name): In a preelaborated | |
3024 | unit Do not report an error on a non-static entity that appears | |
3025 | in the context of a spec expression, such as an aspect expression. | |
3026 | ||
3027 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
3028 | ||
3029 | * einfo.adb: Flag298 now denotes Is_Underlying_Full_View. | |
3030 | (Is_Underlying_Full_View): New routine. | |
3031 | (Set_Is_Underlying_Full_View): New routine. | |
3032 | (Write_Entity_Flags): Add an entry for Is_Underlying_Full_View. | |
3033 | * einfo.ads Add new attribute Is_Underlying_Full_View. | |
3034 | (Is_Underlying_Full_View): New routine along with pragma Inline. | |
3035 | (Set_Is_Underlying_Full_View): New routine along with pragma Inline. | |
3036 | * exp_util.adb (Build_DIC_Procedure_Body): Do not consider | |
3037 | class-wide types and underlying full views. The first subtype | |
3038 | is used as the working type for all Itypes, not just array base types. | |
3039 | (Build_DIC_Procedure_Declaration): Do not consider | |
3040 | class-wide types and underlying full views. The first subtype | |
3041 | is used as the working type for all Itypes, not just array | |
3042 | base types. | |
3043 | * freeze.adb (Freeze_Entity): Inherit the freeze node of a full | |
3044 | view or an underlying full view without clobbering the attributes | |
3045 | of a previous freeze node. | |
3046 | (Inherit_Freeze_Node): New routine. | |
3047 | * sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying | |
3048 | full view as such. | |
3049 | (Build_Underlying_Full_View): Mark an underlying full view as such. | |
3050 | * sem_ch7.adb (Install_Private_Declarations): Mark an underlying | |
3051 | full view as such. | |
3052 | ||
49779c98 AC |
3053 | 2017-01-20 Yannick Moy <moy@adacore.com> |
3054 | ||
3055 | * sinfo.ads: Document lack of Do_Division_Check flag | |
3056 | on float exponentiation. | |
3057 | ||
7c323fbe AC |
3058 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
3059 | ||
3060 | * ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the | |
3061 | identifier attribute of a block-statement node. Required to avoid | |
3062 | assertion failure when building the new containers library. | |
3063 | ||
3064 | 2017-01-19 Bob Duff <duff@adacore.com> | |
3065 | ||
3066 | * exp_ch3.adb: Update comment. | |
3067 | ||
3068 | 2017-01-19 Vincent Celier <celier@adacore.com> | |
3069 | ||
3070 | * gprep.adb (Gnatprep): Parse the definition file without | |
3071 | "replace in comments" even when switch -C is used. | |
3072 | ||
58d27da9 JS |
3073 | 2017-01-19 Justin Squirek <squirek@adacore.com> |
3074 | ||
3075 | * exp_ch9.adb (Is_Pure_Barrier): Create function | |
3076 | Is_Count_Attribute to identify an expansion of the 'Count | |
3077 | attribute. | |
3078 | ||
6b1d2413 AC |
3079 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
3080 | ||
3081 | * sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the | |
3082 | statements within an element iterator loop are only analyzed | |
3083 | agter the loop is rewritten. Within a generic the analysis must | |
3084 | be performed in any case to complete name capture. | |
3085 | ||
3086 | 2017-01-19 Bob Duff <duff@adacore.com> | |
3087 | ||
3088 | * sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first, | |
3089 | before checking for unrecognized pragmas. | |
3090 | Initialize Pname on its declarations; that's always good style. | |
3091 | ||
104c99ef CD |
3092 | 2017-01-19 Claire Dross <dross@adacore.com> |
3093 | ||
3094 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the | |
3095 | body into the tree for GNATprove by setting its Parent field. The | |
3096 | components invariants of composite types are not checked by | |
3097 | the composite type's invariant procedure in GNATprove mode. | |
3098 | (Build_Invariant_Procedure_Declaration): Semi-insert the | |
3099 | declaration into the tree for GNATprove by setting its Parent | |
3100 | field. | |
3101 | * freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add | |
3102 | the component invariants to the array type invariant procedure | |
3103 | so that the procedure can be used to check the array type | |
3104 | invariants if any. | |
3105 | (Freeze_Record_Type): In GNATprove mode, do | |
3106 | not add the component invariants to the record type invariant | |
3107 | procedure so that the procedure can be used to check the record | |
3108 | type invariants if any. | |
3109 | ||
374c09e8 AC |
3110 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
3111 | ||
3112 | * lib-xref-spark_specific.adb: Minor reformatting. | |
3113 | * exp_ch7.adb (Add_Parent_Invariants): Do not process array types. | |
3114 | ||
54740d7d AC |
3115 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
3116 | ||
3117 | * exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as | |
3118 | Build_Back_End_Aggregate. | |
3119 | (Generate_Aggregate_For_Derived_Type): Code cleanup. | |
3120 | (Prepend_Stored_Values): Code cleanup. | |
3121 | ||
3122 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
3123 | ||
3124 | * sem_ch6.adb (Analyze_Expression_Function): Check for an | |
3125 | incomplete return type after attempting to freeze it, so that | |
3126 | other freeze actiona are generated in the proper order. | |
3127 | ||
3128 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
3129 | ||
3130 | * sem_aggr.adb (Resolve_Aggregate): If the type is a string | |
3131 | type, ie. a type whose component is a character type, and the | |
3132 | aggregate is positional, do not convert into a string literal | |
3133 | if the index type is not an integer type, because the original | |
3134 | type may be required in an enclosing operation. | |
3135 | ||
3136 | 2017-01-19 Bob Duff <duff@adacore.com> | |
3137 | ||
3138 | * binde.adb, debug.adb: Enable new elaboration order algorithm | |
3139 | by default. -dp switch reverts to the old algorithm. | |
3140 | ||
3141 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> | |
3142 | ||
3143 | * sem_ch3.adb Add with and use clauses for Exp_Ch7. | |
3144 | (Analyze_Declarations): Create the DIC and Invariant | |
3145 | procedure bodies s after all freezing has taken place. | |
3146 | (Build_Assertion_Bodies): New routine. | |
3147 | * sem_ch7.adb Remove the with and use clauses for Exp_Ch7 | |
3148 | and Exp_Util. | |
3149 | (Analyze_Package_Specification): Remove the | |
3150 | generation of the DIC and Invariant procedure bodies. This is | |
3151 | now done by Analyze_Declarations. | |
3152 | * sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant | |
3153 | procedures are never treated as primitives. | |
3154 | ||
3155 | 2017-01-19 Yannick Moy <moy@adacore.com> | |
3156 | ||
3157 | * frontend.adb: Analyze inlined bodies and check elaboration | |
3158 | rules in GNATprove mode too. | |
3159 | * sem_elab.adb (Delay_Element): Add Boolean component to save | |
3160 | indication that call is in SPARK code. (Check_Elab_Calls): | |
3161 | Check elaboration rules in GNATprove mode, and correctly set | |
3162 | the current value of SPARK_Mode. | |
3163 | * lib-xref-spark_specific.adb | |
3164 | (Add_SPARK_Xrefs): Simplify iteration over dereferences. | |
3165 | ||
3166 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
3167 | ||
3168 | * exp_ch4.adb (Expand_Concatenate): Do no enable overflow | |
3169 | checks on the expression for the high bound of concatenation | |
3170 | when checks are disabled, to suppress warnings about potential | |
3171 | constraint errors in restricted runtimes. | |
3172 | ||
138fc6f1 HK |
3173 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
3174 | ||
3175 | * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the | |
3176 | representation-to-position function as inlined. | |
3177 | * sem_cat.adb (Set_Categorization_From_Scope): Do not modify | |
3178 | the purity of an internally generated entity if it has been | |
3179 | explicitly marked as pure for optimization purposes. | |
3180 | * exp_aggr.adb: Minor reformatting. | |
3181 | ||
4f94fa11 AC |
3182 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
3183 | ||
3184 | * exp_ch6.adb (Expand_Call): Remove side effects on | |
3185 | actuals that are allocators with qualified expression since the | |
3186 | initialization of the object is performed by means of individual | |
3187 | statements (and hence it must be done before the call). | |
3188 | ||
3189 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
3190 | ||
3191 | * sem_ch3.adb (Analyze_Declarations): Minor reformatting. | |
3192 | (Build_Derived_Enumeration_Type): If the derived type inherits a | |
3193 | dynamic predicate from its parent, the bounds of the type must | |
3194 | freeze because an explicit constraint is constructed for the | |
3195 | type and the corresponding range is elaborated now. | |
3196 | ||
3197 | 2017-01-19 Arnaud Charlet <charlet@adacore.com> | |
3198 | ||
3199 | * sem_attr.ads: minor fix of inconsistent casing in comment | |
3200 | * lib-writ.ads: minor align comments in columns | |
3201 | * sem_ch3.adb: Minor reformatting. | |
3202 | * spark_xrefs.ads: minor fix typo in SPARK-related comment | |
3203 | * table.ads: minor style fix in comment | |
3204 | * lib-xref-spark_specific.adb | |
3205 | (Add_SPARK_Xrefs): simplify processing of SPARK cross-references. | |
3206 | * sem_ch12.adb: minor whitespace fix | |
3207 | * freeze.adb: Add comment. | |
3208 | * sem_util.adb (Unique_Name): for instances of | |
3209 | generic subprograms ignore the name of the wrapper package. | |
3210 | ||
3211 | 2017-01-19 Javier Miranda <miranda@adacore.com> | |
3212 | ||
3213 | * exp_aggr.adb (Resolve_Record_Aggregate): | |
3214 | Factorize code needed for aggregates of limited and unlimited | |
3215 | types in a new routine. | |
3216 | (Pass_Aggregate_To_Back_End): New subprogram. | |
3217 | ||
3218 | 2017-01-19 Yannick Moy <moy@adacore.com> | |
3219 | ||
3220 | * sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map. | |
3221 | ||
0929d66b AC |
3222 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
3223 | ||
3224 | * sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram | |
3225 | public, for use elsewhere. | |
3226 | * sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within | |
3227 | an Inlined_body, recognize a call that uses object notation | |
3228 | and has not been rewritten as a regular call because regular | |
3229 | expansion has not taken place. | |
3230 | ||
3231 | 2017-01-19 Bob Duff <duff@adacore.com> | |
3232 | ||
3233 | * checks.adb (Apply_Type_Conversion_Checks): Disable small optimization | |
3234 | in case of generic formal discrete types, because it causes crashes in | |
3235 | the compiler when built with assertions on. | |
3236 | ||
c63a2ad6 AC |
3237 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
3238 | ||
3239 | * lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads, | |
3240 | sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting. | |
3241 | ||
3242 | 2017-01-19 Bob Duff <duff@adacore.com> | |
3243 | ||
3244 | * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): | |
3245 | Increment Warnings_Detected. It was decrementing, which is | |
3246 | wrong since we just issued a warning message. | |
3247 | * binderr.ads (Errors_Detected, Warnings_Detected): Declare | |
3248 | these variables to be of subtype Nat instead of Int, because | |
3249 | they should never be negative. | |
3250 | ||
3251 | 2017-01-19 Javier Miranda <miranda@adacore.com> | |
3252 | ||
3253 | * contracts.adb (Build_Postconditions_Procedure): Replace | |
3254 | Generate_C_Code by Modify_Tree_For_C. | |
3255 | * exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate): | |
3256 | Replace Generate_C_Code by Modify_Tree_For_C. | |
3257 | * exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by | |
3258 | Modify_Tree_For_C. | |
3259 | * exp_ch11.adb (Expand_N_Exception_Declaration): Replace | |
3260 | Generate_C_Code by Modify_Tree_For_C. | |
3261 | * exp_ch4.adb (Expand_Allocator_Expression): Replace | |
3262 | Generate_C_Code by Modify_Tree_For_C. | |
3263 | * exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code | |
3264 | by Modify_Tree_For_C. | |
3265 | * exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace | |
3266 | Generate_C_Code by Modify_Tree_For_C. | |
3267 | * sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code | |
3268 | by Modify_Tree_For_C. | |
3269 | * sinfo.ads (Modify_Tree_For_C): Adding documentation. | |
3270 | ||
40bf00b1 AC |
3271 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
3272 | ||
3273 | * sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New | |
3274 | subprogram. | |
3275 | (Is_Inlinable_Expression_Function): New subprogram. | |
3276 | * exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved | |
3277 | to Sem_Util. | |
3278 | (Is_Inlinable_Expression_Function): Moved to Sem_Util. | |
3279 | ||
3280 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
3281 | ||
3282 | * sem_ch4.adb (Diagnose_Call): Improve error message when a | |
3283 | selected component has a prefix that might be interpreted | |
3284 | as a parameterless function call, but none of the candidate | |
3285 | interpretations is parameterless, and there is a hidden homonym | |
3286 | of the prefix that is a package. | |
3287 | * sem_ch8.adb (Find_Selected_Component): If the prefix might be | |
3288 | interpreted as a parameterless function call and its analysis | |
3289 | fails, do not call Analyze_Selected_Component. | |
3290 | ||
42e2600a AC |
3291 | 2017-01-19 Steve Baird <baird@adacore.com> |
3292 | ||
3293 | * sem_util.ads: Add new Use_Full_View Boolean parameter to | |
3294 | Get_Index_Bounds. | |
3295 | * sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with | |
3296 | calls to a newly-defined Scalar_Range_Of_Right_View function. | |
3297 | ||
3298 | 2017-01-19 Arnaud Charlet <charlet@adacore.com> | |
3299 | ||
3300 | * gnat1drv.adb: minor fix of unbalanced parens in comment | |
3301 | * lib-xref.ads (Traverse_Compilation_Unit): declaration moved | |
3302 | to visible part of the package to allow re-use in GNATprove. | |
3303 | * lib-xref-spark_specific.adb (Traverse_Stub): routine refactored | |
3304 | from repeated code of Traverse_Compilation_Unit. | |
3305 | (Traverse_Declaration_Or_Statement): fixed detection of | |
3306 | generic subprograms and packages; also, iteration over case | |
3307 | statement alternatives rewritten to avoid testing if the first | |
3308 | alternative is present (since it must be present due to Ada | |
3309 | syntax restrictions). | |
3310 | ||
d6e1090a HK |
3311 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
3312 | ||
3313 | * exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as | |
3314 | returning by reference not just for subprogram body stubs, | |
3315 | but for all subprogram cases. | |
3316 | * sem_util.adb: Code reformatting. | |
3317 | (Requires_Transient_Scope): Update the call to Results_Differ. | |
3318 | (Results_Differ): Update the parameter profile and the associated | |
3319 | comment on usage. | |
3320 | ||
d9049d04 ES |
3321 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
3322 | ||
3323 | * sem_dim.adb (Analyze_Dimension): Analyze object declaration and | |
3324 | identifier nodes that do not come from source, to handle properly | |
3325 | dimensionality check within an inlined body which inclddes both | |
3326 | original operands and rewritten operands. This removes spurious | |
3327 | dimensionality errors in the presence of front-end inlining, | |
3328 | as well as in SPARK mode. | |
3329 | ||
1c70261c JJ |
3330 | 2017-01-16 Jakub Jelinek <jakub@redhat.com> |
3331 | ||
3332 | PR driver/49726 | |
3333 | * gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag. | |
3334 | ||
b3686dde RO |
3335 | 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
3336 | ||
3337 | * gcc-interface/Makefile.in (SPARC/Solaris): Fix typo. | |
3338 | ||
33c51287 AC |
3339 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> |
3340 | ||
3341 | * doc/gnat_ugn/getting_started_with_gnat.rst, | |
3342 | doc/gnat_ugn/inline_assembler.rst, | |
3343 | doc/gnat_ugn/building_executable_programs_with_gnat.rst, | |
3344 | doc/gnat_ugn/elaboration_order_handling_in_gnat.rst, | |
3345 | doc/gnat_ugn/about_this_guide.rst, | |
3346 | doc/gnat_ugn/platform_specific_information.rst, | |
3347 | doc/gnat_ugn/example_of_binder_output.rst, | |
3348 | doc/gnat_ugn/gnat_and_program_execution.rst, | |
3349 | doc/gnat_ugn/gnat_utility_programs.rst, | |
3350 | doc/gnat_ugn/the_gnat_compilation_model.rst, | |
3351 | doc/gnat_rm/implementation_defined_attributes.rst, | |
3352 | doc/gnat_rm/compatibility_and_porting_guide.rst, | |
3353 | doc/gnat_rm/standard_library_routines.rst, | |
3354 | doc/gnat_rm/standard_and_implementation_defined_restrictions.rst, | |
3355 | doc/gnat_rm/implementation_defined_pragmas.rst, | |
3356 | doc/gnat_rm/the_gnat_library.rst, | |
3357 | doc/gnat_rm/obsolescent_features.rst, | |
3358 | doc/gnat_rm/about_this_guide.rst, | |
3359 | doc/gnat_rm/the_implementation_of_standard_i_o.rst, | |
3360 | doc/gnat_rm/implementation_of_ada_2012_features.rst, | |
3361 | doc/gnat_rm/interfacing_to_other_languages.rst, | |
3362 | doc/gnat_rm/implementation_defined_aspects.rst, | |
3363 | doc/gnat_rm.rst: Update documentation. | |
3364 | * gnat_rm.texi, gnat_ugn.texi: Regenerated. | |
3365 | ||
b5f3c913 AC |
3366 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
3367 | ||
3368 | * einfo.ads: minor grammar fixes in comment of Normalized_Position_Max. | |
3369 | * scil_ll.adb: Minor style fix in comment. | |
3370 | * sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis | |
3371 | even if entity is already set, because the node may be renalyzed | |
3372 | after inlining transformations. | |
3373 | ||
3374 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
3375 | ||
3376 | * sem_res.adb (Resolve_Call): Do not establish a transient scope | |
3377 | for a call to inlinable expression function (since the call will | |
3378 | be replaced by its returned object). | |
3379 | * exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram. | |
3380 | * exp_ch6.adb (Expression_Of_Expression_Function): New subprogram. | |
3381 | (Expand_Call): For inlinable expression function call replace the | |
3382 | call by its returned object. | |
3383 | (Is_Inlinable_Expression_Function): New subprogram. | |
3384 | ||
82e5c243 AC |
3385 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
3386 | ||
3387 | * checks.adb: Minor typo fix and reformatting. | |
3388 | ||
3389 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
3390 | ||
3391 | * contracts.adb (Contract_Only_Subprograms): Remove formal. | |
3392 | (Copy_Original_Specification): Removed. | |
3393 | (Skip_Contract_Only_Subprogram): Move here checks previously | |
3394 | located in the caller of this routine (to leave the code more clean). | |
3395 | (Build_Contract_Only_Subprogram): Code cleanup. | |
3396 | * scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed. | |
3397 | (Get_Contract_Only_Missing_Body_Name): Removed. | |
3398 | ||
f8981f19 AC |
3399 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
3400 | ||
3401 | * sem_ch6.adb (Cloned_Expression): New subprogram. | |
3402 | (Freeze_Expr_Types): Complete previous patch since the expression | |
3403 | of an expression-function may have iterators and loops with | |
3404 | defining identifiers which, as part of the preanalysis of the | |
3405 | expression, may be left decorated with itypes that will not be | |
3406 | available in the tree passed to the backend. | |
3407 | ||
3408 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3409 | ||
3410 | * checks.adb (Apply_Type_Conversion_Checks): Optimize a type | |
3411 | conversion to Integer of an expression that is an attribute | |
3412 | reference 'Pos on an enumeration type. | |
3413 | ||
3414 | 2017-01-13 Bob Duff <duff@adacore.com> | |
3415 | ||
3416 | * atree.ads: Minor comment fix. | |
3417 | ||
996ce809 JS |
3418 | 2017-01-13 Justin Squirek <squirek@adacore.com> |
3419 | ||
3420 | * sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function | |
3421 | calls in accessibility check on return statement. | |
3422 | ||
36be0082 HK |
3423 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3424 | ||
3425 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
3426 | Ensure that the input body is a subprogram body before trying to | |
3427 | determine whether it denoted an expression function. Note that | |
3428 | subprogram body stubs cannot denote expression functions. | |
3429 | ||
804ec349 GD |
3430 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
3431 | ||
3432 | * bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting | |
3433 | and typo fixes. | |
3434 | ||
354ae449 AC |
3435 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
3436 | ||
3437 | * einfo.ads (Component_Bit_Offset): Fix documentation. | |
3438 | * sem_ch13.adb (Check_Record_Representation_Clause): Skip check | |
3439 | on record holes for components with unknown compile-time offsets. | |
3440 | ||
3441 | 2017-01-13 Bob Duff <duff@adacore.com> | |
3442 | ||
3443 | * ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag. | |
3444 | * g-locfil.ads: Minor comment fix. | |
3445 | ||
3446 | 2017-01-13 Bob Duff <duff@adacore.com> | |
3447 | ||
3448 | * binde.adb (Elab_New): New elaboration order algorithm | |
3449 | that is expected to cause fewer ABE issues. This is a work in | |
3450 | progress. The new algorithm is currently disabled, and can be | |
3451 | enable by the -dp switch, or by modifying the Do_Old and Do_New | |
3452 | etc. flags and rebuilding. Experimental code is included to | |
3453 | compare the results of the old and new algorithms. | |
3454 | * binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we | |
3455 | can have multiple of these tables, so the old and new algorithms | |
3456 | can coexist. | |
3457 | * bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in' | |
3458 | parameter of type array. This avoids the global variable, and | |
3459 | allows bounds checking (which is normally defeated by the tables | |
3460 | packages). It also ensures that the Elab_Order is read-only | |
3461 | to Bindgen. | |
3462 | * bindgen.adb: Pass Elab_Order as an 'in' parameter to all | |
3463 | subprograms that need it, as above. | |
3464 | * debug.adb: Document new -dp switch. Modify doc of old -do | |
3465 | switch. | |
3466 | * gnatbind.adb (Gnatbind): Make use of new interfaces to Binde | |
3467 | and Bindgen. Move writing of closure (-R and -Ra switches) | |
3468 | to Binde; that's more convenient. | |
3469 | ||
3470 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3471 | ||
3472 | * sem_ch6.adb (Analyze_Expression_Function): If the expression | |
3473 | function is a completion, all entities referenced in the | |
3474 | expression are frozen. As a consequence, a reference to an | |
3475 | uncompleted private type from an enclosing scope is illegal. | |
3476 | ||
448a1eb3 AC |
3477 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
3478 | ||
3479 | * sem_ch6.adb (Freeze_Expr_Types): New subprogram. | |
3480 | (Analyze_Subprogram_Body_Helper): At the occurrence of an | |
3481 | expression function declaration that is a completion, its | |
3482 | expression causes freezing (AI12-0103). | |
3483 | ||
3484 | 2017-01-13 Vadim Godunko <godunko@adacore.com> | |
3485 | ||
3486 | * a-coinho-shared.adb: Fix memory leaks in Constant_Reference and | |
3487 | Reference functions of Ada.Containers.Indefinite_Holders. | |
3488 | ||
3489 | 2017-01-13 Bob Duff <duff@adacore.com> | |
3490 | ||
3491 | * s-os_lib.ads: Minor comment fixes. | |
3492 | ||
3493 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
3494 | ||
3495 | * exp_ch3.adb (Default_Initialize_Object): Do not default | |
3496 | initialize an object when it is of a task type and restriction | |
3497 | No_Tasking is in effect because the initialization is obsolete. | |
3498 | * exp_ch9.adb (Build_Master_Entity): Do not generate a master when | |
3499 | restriction No_Tasking is in effect. | |
3500 | (Build_Master_Renaming): Do not rename a master when restriction | |
3501 | No_Tasking is in effect. | |
3502 | ||
b2c1aa8f AC |
3503 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
3504 | ||
3505 | * sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies | |
3506 | the legality of An others clause applies as well to a choice in | |
3507 | an Iterated_component_ association. | |
3508 | (Resolve_Iterated_Component_Association): An others choice | |
3509 | is legal. | |
3510 | * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An | |
3511 | Iterated_Component_Association is not static. | |
3512 | ||
3513 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
3514 | ||
3515 | * exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case | |
3516 | control is passed to the expresion handler before the new mode | |
3517 | is set. | |
3518 | * sem_ch12.adb (Analyze_Package_Instantiation, | |
3519 | Analyze_Subprogram_Instantiation): Mark the Ghost mode as set | |
3520 | in case control is passed to the expresion handler before the | |
3521 | new mode is set. | |
3522 | ||
72cdccfa HK |
3523 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3524 | ||
3525 | * sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb, | |
3526 | exp_aggr.adb: Minor reformatting. | |
3527 | ||
fae8eb5b GD |
3528 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
3529 | ||
3530 | * inline.adb: Minor reformatting and typo fix. | |
3531 | ||
00f45f30 AC |
3532 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
3533 | ||
3534 | * sem_util.ads, sem_util.adb (Choice_List): Move function here | |
3535 | from sem_aggr.adb, for use elsewhere. | |
3536 | * sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List. | |
3537 | * sem_aggr.adb (Resolve_Array_Aggregate): Remove | |
3538 | Iterated_Component_Present. | |
3539 | * exp_aggr.adb: Use Choice_List throughout, to handle | |
3540 | Iterated_Component_Associations. | |
3541 | (Gen_Loop): Generate proper loop for an | |
3542 | Iterated_Component_Association: loop variable has the identifier | |
3543 | of the original association. Generate a loop even for a single | |
3544 | component choice, in order to make loop parameter visible in | |
3545 | expression. | |
3546 | (Flatten): An Iterated_Component_Association is not static. | |
3547 | ||
3548 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3549 | ||
3550 | * exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of | |
3551 | float exponentiation for statically known small negative values | |
3552 | is the reciprocal of the exponentiation for the opposite value | |
3553 | of the exponent. | |
3554 | * s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float): | |
3555 | Ensure that the value of float exponentiation for negative values | |
3556 | is the reciprocal of the exponentiation for the opposite value | |
3557 | of the exponent. | |
3558 | * inline.adb (Expand_Inlined_Call): Fix the count | |
3559 | for the number of generated gotos. | |
3560 | ||
3abbc5c2 AC |
3561 | 2017-01-13 Yannick Moy <moy@adacore.com> |
3562 | ||
3563 | * inline.adb: Code cleanup. | |
3564 | * sem_util.adb (Is_OK_Volatile_Context): Add | |
3565 | expression in delay statement as OK for volatile context. | |
3566 | ||
3567 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3568 | ||
3569 | * sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation | |
3570 | mode a choice that is a subtype with a static predicate is | |
3571 | replaced by the values it covers. This transformation must not | |
3572 | be performed in ASIS mode, to preserve the source for analysis. | |
3573 | ||
3574 | 2017-01-13 Justin Squirek <squirek@adacore.com> | |
3575 | ||
3576 | * nlists.ads: Correct minor typo. | |
3577 | ||
ef74daea AC |
3578 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
3579 | ||
3580 | * sem_ch13.adb: Minor reformatting and typo fix. | |
3581 | ||
3582 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3583 | ||
3584 | * par-ch4.adb (P_Aggregate_Or_Parent_Expr): An | |
3585 | Iterated_Component_Association is a named association in an | |
3586 | array aggregate. | |
3587 | * sem_aggr.adb (Resolve_Iterated_Component_Association): New | |
3588 | procedure, subsidiary of Resolve_Array_Aggregate, to analyze | |
3589 | and resolve the discrete choices and the expression of the | |
3590 | new construct. | |
3591 | * sinfo.adb, sinfo.ads: In analogy with N_Component_Association, | |
3592 | Loop_Actions and Box_Present are attributes of | |
3593 | N_Iterated_Component_Association nodes. Box_Present is always | |
3594 | False in this case. | |
3595 | * sprint.adb (Sprint_Node): An Iterated_Component_Association | |
3596 | has a Discrete_Choices list, as specified in the RM. A | |
3597 | Component_Association for aggregate uses instead a Choices list. | |
3598 | We have to live with this small inconsistency because the new | |
3599 | construct also has a defining identifier, and there is no way | |
3600 | to merge the two node structures. | |
3601 | ||
da9683f4 AC |
3602 | 2017-01-13 Yannick Moy <moy@adacore.com> |
3603 | ||
3604 | * inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the | |
3605 | list of pragmas to remove. Remove pragmas from the list of | |
3606 | statements in the body to inline. | |
3607 | * namet.adb, namet.ads (Nam_In): New version with 12 parameters. | |
3608 | ||
3609 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3610 | ||
3611 | * sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of | |
3612 | Analyze_Declarations, to analyze and resolve the expressions of | |
3613 | aspect specifications in the current declarative list, so that | |
3614 | the expressions have proper entity and type info. This is needed | |
3615 | for ASIS when there is no subsequent expansion to generate this | |
3616 | semantic information. | |
3617 | * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of | |
3618 | original expression, to suppress cascaded errors when expression | |
3619 | has been constant-folded. | |
3620 | (Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in | |
3621 | ASIS mode, because there is no subsequent expansion to decorate | |
3622 | the tree. | |
3623 | ||
3de3a1be YM |
3624 | 2017-01-13 Yannick Moy <moy@adacore.com> |
3625 | ||
3626 | * inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): | |
3627 | New function to detect when a call may be inlined or not in | |
3628 | GNATprove mode. | |
3629 | (Expand_Inlined_Call): Ensure that a temporary | |
3630 | is always created in the cases where a type conversion may be | |
3631 | needed on an input parameter in GNATprove mode, so that GNATprove | |
3632 | sees the check to perform. | |
3633 | * sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining | |
3634 | when not applicable due to actual requiring type conversion | |
3635 | with possible check but no temporary value can be copied for | |
3636 | GNATprove to see the check. | |
3637 | ||
d8f43ee6 HK |
3638 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3639 | ||
3640 | * sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb, | |
3641 | exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb, | |
3642 | layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb, | |
3643 | exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb, | |
3644 | exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb, | |
3645 | g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb, | |
3646 | sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb, | |
3647 | prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb, | |
3648 | a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb, | |
3649 | get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb, | |
3650 | g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb, | |
3651 | sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb, | |
3652 | s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb, | |
3653 | contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb, | |
3654 | g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb, | |
3655 | g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb, | |
3656 | a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb, | |
3657 | ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb, | |
3658 | get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb, | |
3659 | prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb, | |
3660 | exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb, | |
3661 | s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb, | |
3662 | a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb, | |
3663 | a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb, | |
3664 | g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb, | |
3665 | par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb, | |
3666 | uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb, | |
3667 | a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case | |
3668 | statements to reflect the new style for case alternatives. Various | |
3669 | code clean up and reformatting. | |
3670 | ||
d4bf622f AC |
3671 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
3672 | ||
3673 | * exp_util.adb: Minor reformatting. | |
3674 | ||
3675 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3676 | ||
3677 | * exp_spark.adb: Code cleanup. | |
3678 | * sem_ch9.adb (Analyze_Delay_Until): Resolve | |
3679 | expression so that calls are identified as such inside delay | |
3680 | until. | |
3681 | ||
a702c9b9 ES |
3682 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
3683 | ||
3684 | * exp_util.adb (Insert_Actions): Handle Iterated_Component_Association. | |
3685 | * par-ch3.adb (P_Discrete_Choice_List): An | |
3686 | Iterated_Component_Association is an array aggregate component. | |
3687 | * par-ch4.adb (P_Iterated_Component_Association): New procedure. | |
3688 | (Is_Quantified_Expression): New function that performs a lookahead | |
3689 | to distinguish quantified expressions from iterated component | |
3690 | associations. | |
3691 | (P_Aggregate_Or_Paren_Expr): Recognize iterated component | |
3692 | associations. | |
3693 | (P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto. | |
3694 | * sem.adb (Analyze): Handle Iterated_Component_Association. | |
3695 | * sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated | |
3696 | component associations. | |
3697 | * sinfo.ads, sinfo.adb: Entries for for | |
3698 | N_Iterated_Component_Association and its fields. | |
3699 | * sprint.adb (Sprint_Node_Actual): Handle | |
3700 | N_Iterated_Component_Association. | |
3701 | ||
582dbb53 AC |
3702 | 2017-01-13 Justin Squirek <squirek@adacore.com> |
3703 | ||
3704 | * sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling | |
3705 | of the style check until after preanalysis of acutals. | |
3706 | ||
3707 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3708 | ||
3709 | * sem_ch13.adb: Minor reformatting. | |
3710 | * par-ch11.adb: minor style fix in whitespace | |
3711 | * gnatbind.adb (Gnatbind): Scope of Std_Lib_File | |
3712 | reduced to Add_Artificial_ALI_File; style fix in declaration of | |
3713 | Text; grammar fix in comment. | |
3714 | * osint-c.adb (Read_Library_Info): strip trailing NUL from result. | |
3715 | * freeze.adb: Cleanup to pass pragma instead of | |
3716 | expression to call. | |
3717 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to | |
3718 | replace System'To_Address by equivalent call. | |
3719 | ||
e4d04166 AC |
3720 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> |
3721 | ||
3722 | * bindusg.adb: Improve usage output for -f switch. | |
3723 | ||
3724 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
3725 | ||
3726 | * frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb: | |
3727 | Minor reformatting. | |
3728 | ||
3729 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3730 | ||
3731 | * sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM, | |
3732 | treat comparisons on strings as legal in a Static_Predicate. | |
3733 | (Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on | |
3734 | a function call that is the expansion of a string comparison.The | |
3735 | function call is built when compiling the corresponding predicate | |
3736 | function, but the expression has been found legal as a static | |
3737 | predicate during earlier analysis. | |
3738 | * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle | |
3739 | properly a function call that is the expansion of a string | |
3740 | comparison operation, in order to recover the Static_Predicate | |
3741 | expression and apply it to a static argument when needed. | |
3742 | ||
66340e0e AC |
3743 | 2017-01-13 Tristan Gingold <gingold@adacore.com> |
3744 | ||
3745 | * s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function. | |
3746 | (Open_Read): Re-implement using Open_Read_No_Exception. | |
3747 | (Open_Write): Raise exception in case of error. | |
3748 | * s-mmosin-mingw.adb (Open_Common): Do not raise exception. | |
3749 | * s-mmosin-unix.adb (Open_Read, Open_Write): Do not | |
3750 | reaise exception. | |
3751 | * s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment. | |
3752 | ||
3753 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3754 | ||
3755 | * checks.adb: Code cleanup. | |
3756 | ||
3757 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3758 | ||
3759 | * freeze.adb (Check_Inherited_Conditions): Use analyzed pragma | |
3760 | expression instead of unanalyzed aspect expression for checking | |
3761 | the validity of inheriting an operation. Also copy the expression | |
3762 | being passing it to Build_Class_Wide_Expression, as this call | |
3763 | modifies its argument. | |
3764 | * sem_util.ads Fix comment to reference correct function name | |
3765 | New_Copy_Tree. | |
3766 | ||
3767 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
3768 | ||
3769 | * sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode, | |
3770 | when we propagate information about the indexes back to the original | |
3771 | indexing mode and the prefix of the index is a function call, do not | |
3772 | remove any parameter from such call. | |
3773 | ||
3774 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> | |
3775 | ||
3776 | * exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment. | |
3777 | * exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for | |
3778 | a build-in-place function whose result type is tagged. | |
3779 | ||
3780 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3781 | ||
3782 | * sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper): | |
3783 | Do not generate a wrapper when the only candidate is a class-wide | |
3784 | subprogram. | |
3785 | (Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed | |
3786 | inside a generic context. | |
3787 | ||
27bb7941 AC |
3788 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3789 | ||
3790 | * exp_util.adb (Add_Inherited_Tagged_DIC): | |
3791 | Pass the object parameters of both the parent and the derived | |
3792 | type DIC procedure to the reference replacement circuitry. | |
3793 | (Find_DIC_Type): Modify the circuitry to present the partial | |
3794 | view of a private type in case the private type defines its own | |
3795 | DIC pragma. | |
3796 | (Replace_Object_And_Primitive_References): Add two | |
3797 | optional formal parameters. Update the comment on usage. Update | |
3798 | the replacement of references to object parameters. | |
3799 | ||
3800 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> | |
3801 | ||
3802 | * einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix. | |
3803 | ||
3804 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
3805 | ||
3806 | * sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to | |
3807 | an out parameter that is a type conversion, independently of th | |
3808 | range check that may apply to the expression of the conversion, | |
3809 | for use in GNATProve. | |
3810 | ||
3811 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
3812 | ||
3813 | * gnat1drv.adb (Gnat1drv): Move the implicit with for System in | |
3814 | GNATprove_Mode here to Frontend. | |
3815 | * frontend.adb (Frontend): Move the implicit with for System | |
3816 | in GNATprove_Mode here as it ismore correct this way; the old | |
3817 | place only worked by chance, since there were no overloaded names. | |
3818 | * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State. | |
3819 | * sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the | |
3820 | four attributes identified in SRM 9(18), add an implicit with | |
3821 | to Ada.Task_Identification. | |
3822 | * sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper): | |
3823 | Deal specially with the wrapper introduced for AI05-0071 in GNATprove | |
3824 | mode. | |
3825 | * checks.adb (Apply_Discriminant_Check, | |
3826 | Apply_Selected_Length_Checks, Apply_Selected_Range_Checks): | |
3827 | In GNATprove mode, we do not apply the checks, but we still | |
3828 | analyze the expression to possibly issue errors on SPARK | |
3829 | code when a run-time error can be detected at compile time. | |
3830 | (Selected_Length_Checks, Selected_Range_Checks): Perform analysis | |
3831 | in GNATprove mode. | |
3832 | ||
b0bf18ad AC |
3833 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3834 | ||
3835 | * expander.adb (Expand): Add a warning about using return | |
3836 | statements in Ghost management code. | |
3837 | * exp_ch3.adb (Freeze_Type): Add a warning about using return | |
3838 | statements in Ghost management code. | |
3839 | * exp_ch7.adb (Build_Invariant_Procedure_Body, | |
3840 | Build_Invariant_Procedure_Declaration): Add a warning about | |
3841 | using return statements in Ghost management code. | |
3842 | * exp_disp.adb (Make_DT): Add a warning about using return | |
3843 | statements in Ghost management code. | |
3844 | * exp_util.adb (Build_DIC_Procedure_Body, | |
3845 | Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a | |
3846 | warning about using return statements in Ghost management code. | |
3847 | * freeze.adb (Freeze_Entity): Add a warning about using return | |
3848 | statements in Ghost management code. | |
3849 | * sem.adb (Analyze, Do_Analyze): Add a warning about using return | |
3850 | statements in Ghost management code. | |
3851 | * sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add | |
3852 | a warning about using return statements in Ghost management code. | |
3853 | * sem_ch5.adb (Analyze_Assignment): Add a warning about using | |
3854 | return statements in Ghost management code. | |
3855 | * sem_ch6.adb (Analyze_Procedure_Call, | |
3856 | Analyze_Subprogram_Body_Helper): Add a warning about using return | |
3857 | statements in Ghost management code. | |
3858 | * sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about | |
3859 | using return statements in Ghost management code. | |
3860 | * sem_ch12.adb (Analyze_Package_Instantiation, | |
3861 | Analyze_Subprogram_Instantiation, Instantiate_Package_Body, | |
3862 | Instantiate_Subprogram_Body): Add a warning about using return | |
3863 | statements in Ghost management code. | |
3864 | * sem_ch13.adb (Build_Predicate_Functions, | |
3865 | Build_Predicate_Function_Declarations): Add a warning about | |
3866 | using return statements in Ghost management code. | |
3867 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part, | |
3868 | Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma, | |
3869 | Analyze_Pre_Post_Condition_In_Decl_Part): Add a warning about | |
3870 | using return statements in Ghost management code. | |
3871 | ||
3872 | 2017-01-13 Tristan Gingold <gingold@adacore.com> | |
3873 | ||
3874 | * s-mmosin-mingw.adb: Fix pragma import. | |
3875 | ||
3876 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> | |
3877 | ||
3878 | * gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in | |
3879 | codepeer mode. | |
3880 | ||
d65a80fd HK |
3881 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
3882 | ||
3883 | * atree.adb (Allocate_Initialize_Node): A newly created node is | |
3884 | no longer marked as Ghost at this level. | |
3885 | (Mark_New_Ghost_Node): New routine. | |
3886 | (New_Copy): Mark the copy as Ghost. | |
3887 | (New_Entity): Mark the entity as Ghost. | |
3888 | (New_Node): Mark the node as Ghost. | |
3889 | * einfo.adb (Is_Checked_Ghost_Entity): This attribute can now | |
3890 | apply to unanalyzed entities. | |
3891 | (Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed | |
3892 | entities. | |
3893 | (Set_Is_Checked_Ghost_Entity): This attribute now | |
3894 | applies to all entities as well as unanalyzed entities. | |
3895 | (Set_Is_Ignored_Ghost_Entity): This attribute now applies to | |
3896 | all entities as well as unanalyzed entities. | |
3897 | * expander.adb Add with and use clauses for Ghost. | |
3898 | (Expand): Install and revert the Ghost region associated with the node | |
3899 | being expanded. | |
3900 | * exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code. | |
3901 | (Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code. | |
3902 | (Expand_Freeze_Enumeration_Type): Remove all Ghost-related code. | |
3903 | (Expand_Freeze_Record_Type): Remove all Ghost-related code. | |
3904 | (Freeze_Type): Install and revert the Ghost region associated | |
3905 | with the type being frozen. | |
3906 | * exp_ch5.adb Remove with and use clauses for Ghost. | |
3907 | (Expand_N_Assignment_Statement): Remove all Ghost-related code. | |
3908 | * exp_ch6.adb Remove with and use clauses for Ghost. | |
3909 | (Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code. | |
3910 | (Expand_N_Subprogram_Body): Remove all Ghost-related code. | |
3911 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the | |
3912 | Ghost region of the working type. | |
3913 | (Build_Invariant_Procedure_Declaration): Install and revert | |
3914 | the Ghost region of the working type. | |
3915 | (Expand_N_Package_Body): Remove all Ghost-related code. | |
3916 | * exp_ch8.adb Remove with and use clauses for Ghost. | |
3917 | (Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related | |
3918 | code. | |
3919 | (Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code. | |
3920 | (Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code. | |
3921 | (Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related | |
3922 | code. | |
3923 | * exp_ch13.adb Remove with and use clauses for Ghost. | |
3924 | (Expand_N_Freeze_Entity): Remove all Ghost-related code. | |
3925 | * exp_disp.adb (Make_DT): Install and revert the Ghost region of | |
3926 | the tagged type. Move the generation of various entities within | |
3927 | the Ghost region of the type. | |
3928 | * exp_prag.adb Remove with and use clauses for Ghost. | |
3929 | (Expand_Pragma_Check): Remove all Ghost-related code. | |
3930 | (Expand_Pragma_Contract_Cases): Remove all Ghost-related code. | |
3931 | (Expand_Pragma_Initial_Condition): Remove all Ghost-related code. | |
3932 | (Expand_Pragma_Loop_Variant): Remove all Ghost-related code. | |
3933 | * exp_util.adb (Build_DIC_Procedure_Body): Install | |
3934 | and revert the Ghost region of the working types. | |
3935 | (Build_DIC_Procedure_Declaration): Install and revert the | |
3936 | Ghost region of the working type. | |
3937 | (Make_Invariant_Call): Install and revert the Ghost region of the | |
3938 | associated type. | |
3939 | (Make_Predicate_Call): Reimplemented. Install and revert the | |
3940 | Ghost region of the associated type. | |
3941 | * freeze.adb (Freeze_Entity): Install and revert the Ghost region | |
3942 | of the entity being frozen. | |
3943 | (New_Freeze_Node): Removed. | |
3944 | * ghost.adb Remove with and use clauses for Opt. | |
3945 | (Check_Ghost_Completion): Update the parameter profile | |
3946 | and all references to formal parameters. | |
3947 | (Ghost_Entity): Update the comment on usage. | |
3948 | (Install_Ghost_Mode): New routines. | |
3949 | (Is_Ghost_Assignment): New routine. | |
3950 | (Is_Ghost_Declaration): New routine. | |
3951 | (Is_Ghost_Pragma): New routine. | |
3952 | (Is_Ghost_Procedure_Call): New routine. | |
3953 | (Is_Ghost_Renaming): Removed. | |
3954 | (Is_OK_Declaration): Reimplemented. | |
3955 | (Is_OK_Pragma): Reimplemented. | |
3956 | (Is_OK_Statement): Reimplemented. | |
3957 | (Is_Subject_To_Ghost): Update the comment on usage. | |
3958 | (Mark_And_Set_Ghost_Assignment): New routine. | |
3959 | (Mark_And_Set_Ghost_Body): New routine. | |
3960 | (Mark_And_Set_Ghost_Completion): New routine. | |
3961 | (Mark_And_Set_Ghost_Declaration): New routine. | |
3962 | (Mark_And_Set_Ghost_Instantiation): New routine. | |
3963 | (Mark_And_Set_Ghost_Procedure_Call): New routine. | |
3964 | (Mark_Full_View_As_Ghost): Removed. | |
3965 | (Mark_Ghost_Declaration_Or_Body): New routine. | |
3966 | (Mark_Ghost_Pragma): New routine. | |
3967 | (Mark_Ghost_Renaming): New routine. | |
3968 | (Mark_Pragma_As_Ghost): Removed. | |
3969 | (Mark_Renaming_As_Ghost): Removed. | |
3970 | (Propagate_Ignored_Ghost_Code): Update the comment on usage. | |
3971 | (Prune_Node): Freeze nodes no longer need special pruning, they | |
3972 | are processed by the general ignored Ghost code mechanism. | |
3973 | (Restore_Ghost_Mode): New routine. | |
3974 | (Set_Ghost_Mode): Reimplemented. | |
3975 | (Set_Ghost_Mode_From_Entity): Removed. | |
3976 | * ghost.ads Add with and use clauses for Ghost. | |
3977 | (Check_Ghost_Completion): Update the parameter profile | |
3978 | along with the comment on usage. | |
3979 | (Install_Ghost_Mode): New routine. | |
3980 | (Is_Ghost_Assignment): New routine. | |
3981 | (Is_Ghost_Declaration): New routine. | |
3982 | (Is_Ghost_Pragma): New routine. | |
3983 | (Is_Ghost_Procedure_Call): New routine. | |
3984 | (Mark_And_Set_Ghost_Assignment): New routine. | |
3985 | (Mark_And_Set_Ghost_Body): New routine. | |
3986 | (Mark_And_Set_Ghost_Completion): New routine. | |
3987 | (Mark_And_Set_Ghost_Declaration): New routine. | |
3988 | (Mark_And_Set_Ghost_Instantiation): New routine. | |
3989 | (Mark_And_Set_Ghost_Procedure_Call): New routine. | |
3990 | (Mark_Full_View_As_Ghost): Removed. | |
3991 | (Mark_Ghost_Pragma): New routine. | |
3992 | (Mark_Ghost_Renaming): New routine. | |
3993 | (Mark_Pragma_As_Ghost): Removed. | |
3994 | (Mark_Renaming_As_Ghost): Removed. | |
3995 | (Restore_Ghost_Mode): New routine. | |
3996 | (Set_Ghost_Mode): Redefined. | |
3997 | (Set_Ghost_Mode_From_Entity): Removed. | |
3998 | * sem.adb (Analyze): Install and revert the Ghost region of the | |
3999 | node being analyzed. | |
4000 | (Do_Analyze): Change the way a clean Ghost | |
4001 | region is installed and reverted. | |
4002 | * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove | |
4003 | all Ghost-related code. | |
4004 | (Analyze_Incomplete_Type_Decl): Remove all Ghost-related code. | |
4005 | (Analyze_Number_Declaration): Remove all Ghost-related code. | |
4006 | (Analyze_Object_Declaration): Install and revert the Ghost region of | |
4007 | a deferred object declaration's completion. | |
4008 | (Array_Type_Declaration): Remove all Ghost-related code. | |
4009 | (Build_Derived_Type): Update the comment on | |
4010 | the propagation of Ghost attributes from a parent to a derived type. | |
4011 | (Derive_Subprogram): Remove all Ghost-related code. | |
4012 | (Make_Class_Wide_Type): Remove all Ghost-related code. | |
4013 | (Make_Implicit_Base): Remove all Ghost-related code. | |
4014 | (Process_Full_View): Install and revert the Ghost region of | |
4015 | the partial view. There is no longer need to check the Ghost | |
4016 | completion here. | |
4017 | * sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost | |
4018 | region of the left hand side. | |
4019 | * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove | |
4020 | all Ghost-related code. | |
4021 | (Analyze_Expression_Function): Remove all Ghost-related code. | |
4022 | (Analyze_Generic_Subprogram_Body): Remove all Ghost-related code. | |
4023 | (Analyze_Procedure_Call): Install and revert the Ghost region of | |
4024 | the procedure being called. | |
4025 | (Analyze_Subprogram_Body_Helper): Install and revert the Ghost | |
4026 | region of the spec or body. | |
4027 | (Analyze_Subprogram_Declaration): Remove all Ghost-related code. | |
4028 | (Build_Subprogram_Declaration): Remove all Ghost-related code. | |
4029 | (Find_Corresponding_Spec): Remove all Ghost-related code. | |
4030 | (Process_Formals): Remove all Ghost-related code. | |
4031 | * sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert | |
4032 | the Ghost region of the spec. | |
4033 | (Analyze_Package_Declaration): Remove all Ghost-related code. | |
4034 | * sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as | |
4035 | Ghost when it aliases a Ghost entity. | |
4036 | (Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases | |
4037 | a Ghost entity. | |
4038 | (Analyze_Object_Renaming): Mark a renaming as Ghost when | |
4039 | it aliases a Ghost entity. | |
4040 | (Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases | |
4041 | a Ghost entity. | |
4042 | (Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it | |
4043 | aliases a Ghost entity. | |
4044 | * sem_ch11.adb Remove with and use clauses for Ghost. | |
4045 | (Analyze_Exception_Declaration): Remove all Ghost-related code. | |
4046 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all | |
4047 | Ghost-related code. | |
4048 | (Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related | |
4049 | code. | |
4050 | (Analyze_Package_Instantiation): Install and revert the Ghost region | |
4051 | of the package instantiation. | |
4052 | (Analyze_Subprogram_Instantiation): Install | |
4053 | and revert the Ghost region of the subprogram instantiation. | |
4054 | (Instantiate_Package_Body): Code clean up. Install and revert the | |
4055 | Ghost region of the package body. | |
4056 | (Instantiate_Subprogram_Body): Code clean up. Install and revert the | |
4057 | Ghost region of the subprogram body. | |
4058 | * sem_ch13.adb (Build_Predicate_Functions): Install | |
4059 | and revert the Ghost region of the related type. | |
4060 | (Build_Predicate_Function_Declaration): Code clean up. Install | |
4061 | and rever the Ghost region of the related type. | |
4062 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
4063 | Install and revert the Ghost region of the pragma. | |
4064 | (Analyze_Initial_Condition_In_Decl_Part): Install and revert the | |
4065 | Ghost region of the pragma. | |
4066 | (Analyze_Pragma): Install and revert the Ghost region of various | |
4067 | pragmas. Mark a pragma as Ghost when it is related to a Ghost entity | |
4068 | or encloses a Ghost entity. | |
4069 | (Analyze_Pre_Post_Condition): Install and revert the Ghost | |
4070 | region of the pragma. | |
4071 | (Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the | |
4072 | Ghost region of the pragma. | |
4073 | * sem_res.adb (Resolve): Remove all Ghost-related code. | |
4074 | * sem_util.adb (Is_Declaration): Reimplemented. | |
4075 | (Is_Declaration_Other_Than_Renaming): New routine. | |
4076 | * sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine. | |
4077 | * sinfo.adb (Is_Checked_Ghost_Pragma): New routine. | |
4078 | (Is_Ghost_Pragma): Removed. | |
4079 | (Is_Ignored_Ghost_Pragma): New routine. | |
4080 | (Set_Is_Checked_Ghost_Pragma): New routine. | |
4081 | (Set_Is_Ghost_Pragma): Removed. | |
4082 | (Set_Is_Ignored_Ghost_Pragma): New routine. | |
4083 | * sinfo.ads: Update the documentation on Ghost mode and | |
4084 | Ghost regions. New attributes Is_Checked_Ghost_Pragma | |
4085 | and Is_Ignored_Ghost_Pragma along with usages in nodes. | |
4086 | Remove attribute Is_Ghost_Pragma along with usages in nodes. | |
4087 | (Is_Checked_Ghost_Pragma): New routine along with pragma Inline. | |
4088 | (Is_Ghost_Pragma): Removed along with pragma Inline. | |
4089 | (Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. | |
4090 | (Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline. | |
4091 | (Set_Is_Ghost_Pragma): Removed along with pragma Inline. | |
4092 | (Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. | |
4093 | ||
ca0eb951 AC |
4094 | 2017-01-12 Tristan Gingold <gingold@adacore.com> |
4095 | ||
4096 | * s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb, | |
4097 | s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files. | |
4098 | ||
4099 | 2017-01-12 Yannick Moy <moy@adacore.com> | |
4100 | ||
4101 | * errout.adb, errout.ads (Initialize): Factor common treatment | |
4102 | in Reset_Warnings. | |
4103 | (Reset_Warnings): New procedure to reset counts related to warnings. | |
4104 | (Record_Compilation_Errors): New variable to store the presence of an | |
4105 | error, used in gnat2why to allow changing the Warning_Mode. | |
4106 | (Compilation_Errors): Use new variable Record_Compilation_Errors to | |
4107 | store the presence of an error. | |
4108 | ||
4109 | 2017-01-12 Javier Miranda <miranda@adacore.com> | |
4110 | ||
4111 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
4112 | For Interrupt_Handler and Attach_ Handler aspects, decorate the | |
4113 | internally built reference to the protected procedure as coming | |
4114 | from sources and force its analysis. | |
4115 | ||
4116 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
4117 | ||
4118 | * sem_ch3.adb (Build_Derived_Type): For a scalar derived type, | |
4119 | inherit predicates if any from the first_subtype of the parent, | |
4120 | not from the anonymous parent type. | |
4121 | * sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic | |
4122 | predicate is not a static subtype. | |
4123 | ||
4124 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> | |
4125 | ||
4126 | * freeze.adb (Check_Suspicious_Convention): New procedure | |
4127 | performing a warning check on discriminated record types with | |
4128 | convention C or C++. Factored out of procedure Freeze_Record_Type, | |
4129 | and changed to only apply to base types (to avoid spurious | |
4130 | warnings on subtypes). Minor improvement of warning messages | |
4131 | to refer to discriminated rather than variant record types. | |
4132 | (Freeze_Record_Type): Remove code for performing a suspicious | |
4133 | convention check. | |
4134 | (Freeze_Entity): Only call Freeze_Record_Type | |
4135 | on types that aren't declared within any enclosing generic units | |
4136 | (rather than just excluding the type when the innermost scope | |
4137 | is generic). Call Check_Suspicious_Convention whether or not | |
4138 | the type is declared within a generic unit. | |
4139 | * sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util. | |
4140 | * sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved | |
4141 | from Sem_Ch8). | |
4142 | ||
4143 | 2017-01-12 Tristan Gingold <gingold@adacore.com> | |
4144 | ||
4145 | * sysdep.c, adaint.c, rtinit.c, ming32.h: | |
4146 | (__gnat_current_codepage): Renamed from CurrentCodePage | |
4147 | (__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding | |
4148 | ||
4149 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
4150 | ||
4151 | * sem_ch6.adb (Fully_Conformant_Expressions): Handle properly | |
4152 | quantified expressions, following AI12-050: the loop parameters | |
4153 | of two quantified expressions are conformant if they have the | |
4154 | same identifier. | |
4155 | ||
4e41b0e6 AC |
4156 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> |
4157 | ||
4158 | * gcc-interface/Makefile.in: Clean up VxWorks targets. | |
4159 | ||
0289a8d7 AC |
4160 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> |
4161 | ||
4162 | * sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry): | |
4163 | Hnadle properly the attribute reference when it appears as part | |
4164 | of an expression in another loop aspect. | |
4165 | ||
4166 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
4167 | ||
4168 | * exp_ch3.adb (Check_Predicated_Discriminant): New procedure, | |
4169 | subsidiary of Build_Initialization_Call, to complete generation | |
4170 | of predicate checks on discriminants whose (sub)types have | |
4171 | predicates, and to add checks on variants that do not have an | |
4172 | others clause. | |
4173 | * sem_util.adb (Gather_Components): A missing Others alternative is | |
4174 | not an error when the type of the discriminant is a static predicate | |
4175 | (and coverage has been checked when analyzing the case statement). A | |
4176 | runtime check is generated to verify that a given discriminant | |
4177 | satisfies the predicate (RM 3.8.1. (21.1/2)). | |
4178 | ||
4179 | 2017-01-12 Yannick Moy <moy@adacore.com> | |
4180 | ||
4181 | * gnat1drv.adb (Adjust_Global_Switches): Only | |
4182 | perform checking of exception mechanism when generating code. | |
4183 | ||
4184 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
4185 | ||
4186 | * exp_ch7.adb (Add_Type_Invariants, Process_Array_Component): | |
4187 | Remove handling of access component with invariant. | |
4188 | (Build_Invariant_Procedure_Declaration): Remove return on class | |
4189 | wide type. | |
4190 | * freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove | |
4191 | conditional exception for component or array so Has_Own_Invariants | |
4192 | flag is not falsly set. | |
4193 | * sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class | |
4194 | wide type to have no invariant flags. | |
4195 | ||
2168d7cc AC |
4196 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
4197 | ||
4198 | * exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb, | |
4199 | sem_ch13.adb: Minor reformatting. | |
4200 | ||
4201 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
4202 | ||
4203 | * exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing | |
4204 | adjustment primitive when the ancestor type was not properly frozen. | |
4205 | (Gen_Assign): Guard against a missing initialization | |
4206 | primitive when the component type was not properly frozen. | |
4207 | (Initialize_Array_Component): Guard against a missing adjustment | |
4208 | primitive when the component type was not properly frozen. | |
4209 | (Initialize_Record_Component): Guard against a missing adjustment | |
4210 | primitive when the component type was not properly frozen. | |
4211 | (Process_Transient_Component_Completion): The transient object may | |
4212 | not be finalized when its associated type was not properly frozen. | |
4213 | * exp_ch3.adb (Build_Assignment): Guard against a missing | |
4214 | adjustment primitive when the component type was not properly frozen. | |
4215 | (Build_Initialization_Call): Guard against a missing | |
4216 | initialization primitive when the associated type was not properly | |
4217 | frozen. | |
4218 | (Expand_N_Object_Declaration): Guard against a missing | |
4219 | adjustment primitive when the base type was not properly frozen. | |
4220 | (Predefined_Primitive_Bodies): Create an empty Deep_Adjust | |
4221 | body when there is no adjustment primitive available. Create an | |
4222 | empty Deep_Finalize body when there is no finalization primitive | |
4223 | available. | |
4224 | * exp_ch4.adb (Apply_Accessibility_Check): Guard against a | |
4225 | missing finalization primitive when the designated type was | |
4226 | not properly frozen. | |
4227 | (Expand_N_Allocator): Guard against a missing initialization primitive | |
4228 | when the designated type was not properly frozen. | |
4229 | * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call | |
4230 | only when the corresponding adjustment primitive is available. | |
4231 | * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the | |
4232 | adjustment/finalization statements only when there is an available | |
4233 | primitive to carry out the action. | |
4234 | (Build_Initialize_Statements): Generate the initialization/finalization | |
4235 | statements only when there is an available primitive to carry out the | |
4236 | action. | |
4237 | (Make_Adjust_Call): Do not generate a call when the underlying | |
4238 | type is not present due to a possible missing full view. | |
4239 | (Make_Final_Call): Do not generate a call when the underlying | |
4240 | type is not present due to a possible missing full view. | |
4241 | (Make_Finalize_Address_Stmts): Generate an empty body when the | |
4242 | designated type lacks a finalization primitive. | |
4243 | (Make_Init_Call): Do not generate a call when the underlying type is | |
4244 | not present due to a possible missing full view. | |
4245 | (Process_Component_For_Adjust): Add the adjustment call only when the | |
4246 | corresponding adjustment primitive is available. | |
4247 | (Process_Component_For_Finalize): Add the finalization call only when | |
4248 | the corresponding finalization primitive is available. | |
4249 | (Process_Object_Declaration): Use a null statement to emulate a | |
4250 | missing call to the finalization primitive of the object type. | |
4251 | * exp_ch7.ads (Make_Adjust_Call): Update the comment on usage. | |
4252 | (Make_Final_Call): Update the comment on usage. | |
4253 | (Make_Init_Call): Update the comment on usage. | |
4254 | * exp_util.adb (Build_Transient_Object_Statements): Code reformatting. | |
4255 | ||
4256 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> | |
4257 | ||
4258 | * einfo.ads: Update documentation of Address_Taken. | |
4259 | * sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute | |
4260 | [Access_Attribute]): Only consider 'Access/'Unchecked_Access | |
4261 | for subprograms when setting Address_Taken flag. | |
4262 | ||
4263 | 2017-01-12 Patrick Bernardi <bernardi@adacore.com> | |
4264 | ||
4265 | * sem_ch10.adb (Analyze_With_Clause): Removed code that turned | |
4266 | Configurable_Run_Time_Mode off when analysing with'ed predefined | |
4267 | libraries. | |
4268 | ||
872fc7b5 GD |
4269 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> |
4270 | ||
4271 | * sem_prag.adb: Minor reformatting. | |
4272 | * sem_util.adb (Unique_Entity): fix result for | |
4273 | bodies of entry families. | |
4274 | ||
00420f74 JS |
4275 | 2017-01-12 Justin Squirek <squirek@adacore.com> |
4276 | ||
4277 | * sem_prag.adb (Analyze_Pragma): Add appropriate calls to | |
4278 | Resolve_Suppressible in the pragma Assertion_Policy case. | |
4279 | (Resolve_Suppressible): Created this function to factor out | |
4280 | common code used to resolve Suppress to either Ignore or Check | |
4281 | * snames.ads-tmpl: Add name for Suppressible. | |
4282 | ||
4bfe4a99 GD |
4283 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> |
4284 | ||
4285 | * exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor | |
4286 | reformatting. | |
4287 | * debug.adb: Minor comment fixes. | |
4288 | ||
eacfa9bc AC |
4289 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> |
4290 | ||
4291 | * sem_util.adb (Unique_Entity): For concurrent | |
4292 | bodies that are defined with stubs and complete a declaration | |
4293 | of a single concurrent object return the entity of an implicit | |
4294 | concurrent type, not the entity of the anonymous concurrent | |
4295 | object. | |
4296 | * debug.adb: -gnatd.J is no longer used. | |
4297 | * make.adb (Globalize): Removed, no longer used. | |
4298 | * sem_ch9.adb: minor typo in comment for entry index | |
4299 | ||
4300 | 2017-01-12 Patrick Bernardi <bernardi@adacore.com> | |
4301 | ||
4302 | * aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size. | |
4303 | * exp_ch3.adb (Build_Init_Statements): As part of initialising | |
4304 | the value record of a task, set its _Secondary_Stack_Size field | |
4305 | if present. | |
4306 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create | |
4307 | a _Secondary_Stack_Size field in the value record of | |
4308 | the task if a Secondary_Stack_Size rep item is present. | |
4309 | (Make_Task_Create_Call): Include secondary stack size | |
4310 | parameter. If No_Secondary_Stack restriction is in place, passes | |
4311 | stack size of 0. | |
4312 | * par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma | |
4313 | Secondary_Stack_Size. | |
4314 | * s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New | |
4315 | function to define the overhead of the secondary stack. | |
4316 | * s-tarest.adb (Create_Restricted_Task, | |
4317 | Create_Restricted_Task_Sequential): Functions now include | |
4318 | Secondary_Stack_Size parameter to pass to Initialize_ATCB. | |
4319 | * s-tarest.adb (Create_Restricted_Task, | |
4320 | Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now | |
4321 | include Secondary_Stack_Size parameter. | |
4322 | (Task_Wrapper): Secondary stack now allocated to the size specified by | |
4323 | the Secondary_Stack_Size parameter in the task's ATCB. | |
4324 | * s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New | |
4325 | Secondary_Stack_Size component. | |
4326 | * s-tassta.adb, s-tassta.ads (Create_Restricted_Task, | |
4327 | Create_Restricted_Task_Sequential): Function now include | |
4328 | Secondary_Stack_Size parameter. | |
4329 | (Task_Wrapper): Secondary stack now allocated to the size | |
4330 | specified by the Secondary_Stack_Size parameter in the task's | |
4331 | ATCB. | |
4332 | * s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call | |
4333 | to include Secondary_Stack_Size parameter. | |
4334 | * sem_ch13.adb (Analyze_Aspect_Specification): Add support for | |
4335 | Secondary_Stack_Size aspect, turning the aspect into its corresponding | |
4336 | internal attribute. | |
4337 | (Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute. | |
4338 | * snames.adb-tmpl, snames.ads-tmpl: Added names | |
4339 | Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size, | |
4340 | Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size. | |
4341 | ||
5f325af2 AC |
4342 | 2017-01-12 Yannick Moy <moy@adacore.com> |
4343 | ||
4344 | * exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied | |
4345 | subtree. | |
4346 | ||
4347 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
4348 | ||
4349 | * exp_attr.adb (Expand_N_Attribute_Reference): | |
4350 | Fix Finalization_Size case by properly resolving the type after | |
4351 | rewritting the node. | |
4352 | ||
4353 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
4354 | ||
4355 | * exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into | |
4356 | the tree. | |
4357 | (Build_DIC_Procedure_Declaration): Semi-insert the body into the tree. | |
4358 | * binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb, | |
4359 | exp_sel.ads: Minor reformatting. | |
4360 | ||
4361 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
4362 | ||
4363 | * exp_ch6.adb (Expand_Call): Add guard to prevent | |
4364 | invariant checks from being created for internally generated | |
4365 | subprograms. | |
4366 | ||
4367 | 2017-01-12 Bob Duff <duff@adacore.com> | |
4368 | ||
4369 | * lib-writ.ads: Remove incorrect comment. | |
4370 | ||
4371 | 2017-01-12 Javier Miranda <miranda@adacore.com> | |
4372 | ||
4373 | * debug.adb (-gnatd.K): Enable generation of contract-only | |
4374 | procedures in CodePeer mode. | |
4375 | * contracts.adb (Build_And_Analyze_Contract_Only_Subprograms): | |
4376 | New subprogram. | |
4377 | (Analyze_Contracts): Generate contract-only procedures if -gnatdK is | |
4378 | set. | |
4379 | * scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New | |
4380 | subprogram. | |
4381 | (Get_Contract_Only_Missing_Body_Name): New subprogram. | |
4382 | (Get_Contract_Only_Body): New subprogram. | |
4383 | (Set_Contract_Only_Body): New subprogram. | |
4384 | (Is_Contract_Only_Body): New subprogram. | |
4385 | (Set_Is_Contract_Only_Body): New subprogram. | |
4386 | (SCIL_Nodes): Replace table by hash-table. | |
4387 | ||
10c2c151 AC |
4388 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
4389 | ||
4390 | * exp_ch6.adb: Minor reformatting. | |
4391 | * spark_xrefs.ads: minor cleanup of comments for SPARK xrefs | |
4392 | ||
4393 | 2017-01-12 Bob Duff <duff@adacore.com> | |
4394 | ||
4395 | * binde.adb (Forced): New reason for a dependence. | |
4396 | (Force_Elab_Order): Implementation of the new switch. | |
4397 | * binde.ads: Minor comment fixes. | |
4398 | * bindusg.adb: Add -f switch. Apparently, there was an -f switch | |
4399 | long ago that is no longer supported; removed comment about that. | |
4400 | * opt.ads (Force_Elab_Order_File): Name of file specified for | |
4401 | -f switch. | |
4402 | * switch-b.adb: Parse -f switch. | |
4403 | ||
84e13614 JS |
4404 | 2017-01-12 Justin Squirek <squirek@adacore.com> |
4405 | ||
4406 | * exp_ch6.adb (Check_View_Conversion): Created this function | |
4407 | to properly chain calls to check type invariants that may be | |
4408 | present in a subprogram call after the subprogram. | |
4409 | (Expand_Call): Add a conditional to identify when a view conversion | |
4410 | needs to be checked. | |
4411 | * nlists.adb, nlists.ads (Prepend_New): New routine. | |
4412 | (Prepend_New_To): New routine. | |
4413 | ||
e51102b2 AC |
4414 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
4415 | ||
4416 | * sinfo.ads: Minor reformatting. | |
4417 | ||
4418 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> | |
4419 | ||
4420 | * exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and | |
4421 | reformatting. | |
4422 | ||
4423 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
4424 | ||
4425 | * exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new | |
4426 | variable Definite. Create a local object and pass its 'Access to the | |
4427 | BIP function when the result type is either definite or it does not | |
4428 | require any finalization or secondary stack management. | |
4429 | ||
6e759c2a BD |
4430 | 2017-01-12 Bob Duff <duff@adacore.com> |
4431 | ||
4432 | * contracts.adb, einfo.adb, errout.adb, exp_attr.adb, | |
4433 | exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb, | |
4434 | frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb, | |
4435 | par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb, | |
4436 | sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb, | |
4437 | sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, | |
4438 | sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, | |
4439 | sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name): | |
4440 | Change name to Pragma_Name_Unmapped. | |
4441 | (Pragma_Name_Mapped): Change name to Pragma_Name. | |
4442 | This is because the "mapped" version should be the usual case. | |
4443 | ||
f63d601b HK |
4444 | 2017-01-09 Hristian Kirtchev <kirtchev@adacore.com> |
4445 | ||
4446 | * einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond, | |
4447 | Is_Default_Init_Cond_Procedure, and | |
4448 | Has_Inherited_Default_Init_Cond. Add uses of flags | |
4449 | Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC. | |
4450 | (Default_Init_Cond_Procedure): Removed. | |
4451 | (DIC_Procedure): New routine. | |
4452 | (Has_Default_Init_Cond): Removed. | |
4453 | (Has_DIC): New routine. | |
4454 | (Has_Inheritable_Invariants): The attribute applies to the base type. | |
4455 | (Has_Inherited_Default_Init_Cond): Removed. | |
4456 | (Has_Inherited_DIC): New routine. | |
4457 | (Has_Inherited_Invariants): The attribute applies to the base type. | |
4458 | (Has_Own_DIC): New routine. | |
4459 | (Has_Own_Invariants): The attribute applies to the base type. | |
4460 | (Is_Default_Init_Cond_Procedure): Removed. | |
4461 | (Is_DIC_Procedure): New routine. | |
4462 | (Set_Default_Init_Cond_Procedure): Removed. | |
4463 | (Set_DIC_Procedure): New routine. | |
4464 | (Set_Has_Default_Init_Cond): Removed. | |
4465 | (Set_Has_Inheritable_Invariants): The attribute applies | |
4466 | to the base type. | |
4467 | (Set_Has_Inherited_Default_Init_Cond): Removed. | |
4468 | (Set_Has_Inherited_DIC): New routine. | |
4469 | (Set_Has_Inherited_Invariants): The attribute applies to the base type. | |
4470 | (Set_Has_Own_DIC): New routine. | |
4471 | (Set_Has_Own_Invariants): The attribute applies to the base type. | |
4472 | (Set_Is_Default_Init_Cond_Procedure): Removed. | |
4473 | (Set_Is_DIC_Procedure): New routine. | |
4474 | (Write_Entity_Flags): Update the output of all flags related to | |
4475 | default initial condition. | |
4476 | * exp_ch3.adb (Expand_N_Object_Declaration): Update the generation | |
4477 | of the call to the DIC procedure. | |
4478 | (Freeze_Type): Generate the body of the DIC procedure. | |
4479 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Replace | |
4480 | all occurrences of Create_Append with Append_New_To. Do | |
4481 | not generate an invariant procedure for a class-wide type. | |
4482 | The generated body acts as a freeze action of the working type. | |
4483 | (Build_Invariant_Procedure_Declaration): Do not generate an | |
4484 | invariant procedure for a class-wide type. | |
4485 | (Create_Append): Removed. | |
4486 | * exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6, | |
4487 | sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of | |
4488 | class-wide pre/postcondition description and data structures from | |
4489 | Sem_Prag. | |
4490 | (Build_Class_Wide_Expression): Moved from Sem_Prag. | |
4491 | (Build_DIC_Call): New routine. | |
4492 | (Build_DIC_Procedure_Body): New routine. | |
4493 | (Build_DIC_Procedure_Declaration): New routine. | |
4494 | (Entity_Hash): Moved from Sem_Prag. | |
4495 | (Find_DIC_Type): New routine. | |
4496 | (Update_Primitives_Mapping): Reimplemented. | |
4497 | (Update_Primitives_Mapping_Of_Types): New routine. | |
4498 | * exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag. | |
4499 | (Build_DIC_Call): New routine. | |
4500 | (Build_DIC_Procedure_Body): New routine. | |
4501 | (Build_DIC_Procedure_Declaration): New routine. | |
4502 | (Update_Primitives_Mapping): Moved from Sem_Prag. | |
4503 | (Update_Primitives_Mapping_Of_Types): New routine. | |
4504 | * nlists.adb (Append_New): New routine. | |
4505 | (Append_New_To): New routine. | |
4506 | * nlists.ads (Append_New): New routine. | |
4507 | (Append_New_To): New routine. | |
4508 | * sem_ch3.adb (Analyze_Declarations): Do not generate the bodies | |
4509 | of DIC procedures here. This is now done at the end of the | |
4510 | visible declarations, private declarations, and at the freeze | |
4511 | point of a type. | |
4512 | (Analyze_Private_Extension_Declaration): | |
4513 | A private extension inherits the DIC pragma of a parent type. | |
4514 | (Analyze_Subtype_Declaration): No need to propagate invariant | |
4515 | attributes to a subtype as those apply to the base type. | |
4516 | (Build_Derived_Record_Type): No need to inherit invariants here | |
4517 | as this is now done in Build_Derived_Type. | |
4518 | (Build_Derived_Type): Inherit both the DIC pragma and invariants from | |
4519 | a parent type. | |
4520 | (Process_Full_View): Update the propagation of DIC attributes. | |
4521 | (Propagate_Default_Init_Cond_Attributes): Removed. | |
4522 | * sem_ch7.adb Add with and use clauses for Exp_Util. | |
4523 | (Analyze_Package_Specification): Create the body of the DIC | |
4524 | procedure at the end of the visible and private declarations. | |
4525 | (Preserve_Full_Attributes): Propagate DIC attributes. | |
4526 | * sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate | |
4527 | DIC attributes. | |
4528 | (Analyze_Task_Type_Declaration): Propagate DIC attributes. | |
4529 | * sem_elab.adb (Check_A_Call): Update the call to | |
4530 | Is_Nontrivial_Default_Init_Cond_Procedure. | |
4531 | * sem_prag.adb Remove the with and use clauses for | |
4532 | GNAT.HTable. Move the handling of class- wide pre/postcondition | |
4533 | description and data structures to Exp_Util. | |
4534 | (Analyze_Pragma): Create the declaration of the DIC procedure. There | |
4535 | is no need to propagate invariant-related attributes at this point | |
4536 | as this is done in Build_Invariant_Procedure_Declaration. | |
4537 | (Build_Class_Wide_Expression): Moved to Exp_Util. | |
4538 | (Entity_Hash): Moved to Exp_Util. | |
4539 | (Update_Primitives_Mapping): Moved to Exp_Util. | |
4540 | * sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util. | |
4541 | (Update_Primitives_Mapping): Moved to Exp_Util. | |
4542 | * sem_util.adb: Remove with and use clauses for Ghost | |
4543 | and Sem_Ch13. | |
4544 | (Build_Default_Init_Cond_Call): Removed. | |
4545 | (Build_Default_Init_Cond_Procedure_Bodies): Removed. | |
4546 | (Build_Default_Init_Cond_Procedure_Declaration): Removed. | |
4547 | (Get_Views): Reimplemented. | |
4548 | (Has_Full_Default_Initialization): Reimplement the section on DIC. | |
4549 | (Inherit_Default_Init_Cond_Procedure): Removed. | |
4550 | (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. | |
4551 | (Is_Nontrivial_DIC_Procedure): New routine. | |
4552 | (Is_Verifiable_DIC_Pragma): New routine. | |
4553 | (Propagate_DIC_Attributes): New routine. | |
4554 | * sem_util.ads (Build_Default_Init_Cond_Call): Removed. | |
4555 | (Build_Default_Init_Cond_Procedure_Bodies): Removed. | |
4556 | (Build_Default_Init_Cond_Procedure_Declaration): Removed. | |
4557 | (Inherit_Default_Init_Cond_Procedure): Removed. | |
4558 | (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. | |
4559 | (Is_Nontrivial_DIC_Procedure): New routine. | |
4560 | (Is_Verifiable_DIC_Pragma): New routine. | |
4561 | (Propagate_DIC_Attributes): New routine. | |
4562 | * sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section | |
4563 | on DIC. | |
4564 | * sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with | |
4565 | usage in nodes. | |
4566 | (Expression_Copy): New routine along with pragma Inline. | |
4567 | (Set_Expression_Copy): New routine along with pragma Inline. | |
4568 | ||
b41f45e7 AC |
4569 | 2017-01-06 Bob Duff <duff@adacore.com> |
4570 | ||
4571 | * bindgen.adb (Gen_Adainit, Gen_Adafinal): Change | |
4572 | "Bind_Main_Program" to "not Bind_For_Library", because otherwise | |
4573 | we won't generate the call to s_stalib_adafinal when the main | |
4574 | is not written in Ada. | |
4575 | ||
4576 | 2017-01-06 Bob Duff <duff@adacore.com> | |
4577 | ||
4578 | * sem_prag.adb: Minor: remove pragma Warnings. | |
4579 | ||
4580 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4581 | ||
4582 | * Makefile.rtl: Do not compile s-stchop by default. | |
4583 | ||
eae66578 PB |
4584 | 2017-01-06 Patrick Bernardi <bernardi@adacore.com> |
4585 | ||
4586 | * aspects.adb, aspects.ads, exp_ch3.adb, exp_ch9.adb, par-prag.adb, | |
4587 | sem_ch13.adb, sem_prag.adb, sem_prag.ads, snames.adb-tmpl, | |
4588 | snames.ads-tmpl, s-secsta.adb, s-secsta.ads, s-tarest.adb, | |
4589 | s-tarest.ads, s-taskin.adb, s-taskin.ads, s-tassta.adb, s-tassta.ads: | |
4590 | Reverted previous change for now. | |
4591 | ||
e666e744 ES |
4592 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4593 | ||
4594 | * exp_ch3.adb (Build_Initialization_Call): Apply predicate | |
4595 | check to default discriminant value if checks are enabled. | |
4596 | (Build_Assignment): If type of component has static predicate, | |
4597 | apply check to its default value, if any. | |
4598 | ||
73bfca78 PB |
4599 | 2017-01-06 Patrick Bernardi <bernardi@adacore.com> |
4600 | ||
4601 | * aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size. | |
4602 | * exp_ch3.adb (Build_Init_Statements): As part of initialising | |
4603 | the value record of a task, set its _Secondary_Stack_Size field | |
4604 | if present. | |
4605 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create | |
4606 | a _Secondary_Stack_Size field in the value record of | |
4607 | the task if a Secondary_Stack_Size rep item is present. | |
4608 | (Make_Task_Create_Call): Include secondary stack size | |
4609 | parameter. If No_Secondary_Stack restriction is in place, passes | |
4610 | stack size of 0. | |
4611 | * par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma | |
4612 | Secondary_Stack_Size. | |
4613 | * s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New | |
4614 | function to define the overhead of the secondary stack. | |
4615 | * s-tarest.adb (Create_Restricted_Task, | |
4616 | Create_Restricted_Task_Sequential): Functions now include | |
4617 | Secondary_Stack_Size parameter to pass to Initialize_ATCB. | |
4618 | * s-tarest.adb (Create_Restricted_Task, | |
4619 | Create_Restricted_Task_Sequential): Calls to Initialize_ATCB | |
4620 | now include Secondary_Stack_Size parameter. | |
4621 | (Task_Wrapper): | |
4622 | Secondary stack now allocated to the size specified by the | |
4623 | Secondary_Stack_Size parameter in the task's ATCB. | |
4624 | * s-taskin.adb, s-taskin.adb (Common_ATCB, Initialise_ATCB): New | |
4625 | Secondary_Stack_Size component. | |
4626 | * s-tassta.adb, s-tassta.ads (Create_Restricted_Task, | |
4627 | Create_Restricted_Task_Sequential): Function now include | |
4628 | Secondary_Stack_Size parameter. | |
4629 | (Task_Wrapper): Secondary stack | |
4630 | now allocated to the size specified by the Secondary_Stack_Size | |
4631 | parameter in the task's ATCB. | |
4632 | * sem_ch13.adb (Analyze_Aspect_Specification): Add support | |
4633 | for Secondary_Stack_Size aspect, turning the aspect into its | |
4634 | corresponding internal attribute. | |
4635 | (Analyze_Attribute_Definition): | |
4636 | Process Secondary_Stack_Size attribute. | |
4637 | * snames.adb-tmpl, snames.ads-tmpl: Added names | |
4638 | Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size, | |
4639 | Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size. | |
4640 | ||
f6c5454e PO |
4641 | 2017-01-06 Pascal Obry <obry@adacore.com> |
4642 | ||
4643 | * a-direio.adb, a-direio.ads, a-sequio.adb, a-sequio.ads: Add Flush to | |
4644 | Sequential_IO and Direct_IO. | |
4645 | ||
533e3abc BD |
4646 | 2017-01-06 Bob Duff <duff@adacore.com> |
4647 | ||
4648 | * snames.ads-tmpl (Renamed): New name for the pragma argument. | |
4649 | * par-ch2.adb: Allow the new pragma (with analysis deferred | |
4650 | to Sem_Prag). | |
4651 | * sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped): | |
4652 | Keep a mapping from new pragma names to old names. | |
4653 | * sem_prag.adb: Check legality of pragma Rename_Pragma, and | |
4654 | implement it by calling Map_Pragma_Name. | |
4655 | * checks.adb, contracts.adb, einfo.adb, errout.adb, | |
4656 | * exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, | |
4657 | * exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb, | |
4658 | * inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb, | |
4659 | * sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb, | |
4660 | * sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads, | |
4661 | * sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name | |
4662 | as appropriate. | |
4663 | ||
a62e6287 HK |
4664 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
4665 | ||
4666 | * exp_ch9.adb: Minor reformatting. | |
4667 | ||
dbf2a2d3 TG |
4668 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
4669 | ||
4670 | * exp_ch9.ads, exp_ch9.adb (Build_Entry_Names): Remove (unused). | |
4671 | * rtsfind.ads (RE_Task_Entry_Names_Array, RO_ST_Set_Entry_Names) | |
4672 | (RE_Protected_Entry_Names_Array, RO_PE_Set_Entry_Names): Remove | |
4673 | (unused). | |
4674 | * s-taskin.ads, s-taskin.adb (Set_Entry_Names, | |
4675 | Task_Entry_Names_Array, Task_Entry_Names_Access): Remove. | |
4676 | * s-tpoben.ads, s-tpoben.adb (Set_Entry_Names, | |
4677 | Protected_Entry_Names_Array, Protected_Entry_Names_Access): Remove. | |
4678 | ||
0789ef6f AC |
4679 | 2017-01-06 Bob Duff <duff@adacore.com> |
4680 | ||
4681 | * sinfo.ads, sinfo.adb (Map_Pragma_Name): Preparation work, | |
4682 | dummy implementation of Map_Pragma_Name. | |
4683 | ||
4684 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4685 | ||
4686 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Make the | |
4687 | entry_body variable constant. | |
4688 | * s-taprob.ads (Entry_Body_Access): Move to s-tposen. | |
4689 | * s-tpoben.ads (Protected_Entry_Body_Access): Now access | |
4690 | to constant. | |
4691 | * s-tposen.ads (Entry_Body_Access): Moved from s-taprob, | |
4692 | now access to constant. | |
4693 | ||
ffa168bc AC |
4694 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> |
4695 | ||
4696 | * einfo.ads, sem_res.adb, sem_attr.adb, sem_ch6.adb: Minor | |
4697 | reformatting and typo fixes. | |
4698 | ||
4699 | 2017-01-06 Bob Duff <duff@adacore.com> | |
4700 | ||
4701 | * snames.ads-tmpl: New names for pragma renaming. | |
4702 | * snames.adb-tmpl (Is_Configuration_Pragma_Name): Minor cleanup. | |
4703 | * par-prag.adb: Add new pragma name to case statement. | |
4704 | * sem_prag.adb (Rename_Pragma): Initial cut at semantic analysis | |
4705 | of the pragma. | |
4706 | * sinfo.ads, sinfo.adb (Pragma_Name_Mapped): Preparation work, | |
4707 | Dummy implementation of Pragma_Name_Mapped. | |
4708 | ||
9ca67d3f ES |
4709 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4710 | ||
4711 | * exp_ch6.adb (Expand_Protected_Subprogram_Call): Add guard to | |
4712 | better detect call within an entry_wrapper. | |
4713 | * sem_res.adb (Resolve_Call): A protected call within an | |
4714 | entity_wrapper is analyzed in the context of the protected | |
4715 | object but corresponds to a pre-analysis and is not an access | |
4716 | before elaboration. | |
4717 | * sem_attr.adb: Minor reformatting. | |
4718 | ||
5e127570 AC |
4719 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
4720 | ||
4721 | * sem_attr.adb (Analyze_Attribute): Modify semantic checks for | |
4722 | Finalization_Size to allow a prefix of any non-class-wide type. | |
4723 | * sem_attr.ads Modify comment for Finalization_Size to include | |
4724 | definite type use case. | |
4725 | ||
4726 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
4727 | ||
4728 | * einfo.ads, einfo.adb (Is_Entry_Wrapper): New flag, defined | |
4729 | on procedures that are wrappers created for entries that have | |
4730 | preconditions. | |
4731 | * sem_ch6.adb (Analyze_Subrogram_Body_Helper): If the subprogram | |
4732 | body is an entry_wrapper, compile it in the context of the | |
4733 | synchronized type, because a precondition may refer to funtions | |
4734 | of the type. | |
4735 | * exp_ch9.adb (Build_Contract_Wrapper): Set Is_Entry_Wrapper on | |
4736 | body entity. | |
4737 | * exp_ch6.adb (Expand_Protected_Subprogram_Call): if the call is | |
4738 | within an Entry_Wrapper this is an external call whose target | |
4739 | is the synchronized object that is the actual in the call to | |
4740 | the wrapper. | |
4741 | ||
50145b93 AC |
4742 | 2017-01-06 Yannick Moy <moy@adacore.com> |
4743 | ||
4744 | * sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node | |
4745 | in tree, which means not analyzing the previous prefix if the node has | |
4746 | been rewritten into its prefix. | |
4747 | ||
4748 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> | |
4749 | ||
4750 | * s-tpobop.adb: Minor reformatting. | |
4751 | ||
229fa5db AC |
4752 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4753 | ||
4754 | * checks.adb (Ensure_Valid): Do not generate a validity check | |
4755 | within a generated predicate function, validity checks will have | |
4756 | been applied earlier when required. | |
4757 | ||
4758 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4759 | ||
4760 | * s-tpoben.ads (Protection_Entries): Add comment and reorder | |
4761 | components for performances. | |
4762 | * s-tpobop.adb (PO_Do_Or_Queue): Implement Max_Queue_Length runtime | |
4763 | semantic. | |
4764 | ||
d9c59db4 AC |
4765 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4766 | ||
4767 | * sem_eval.adb (Check_Expression_Against_Static_Predicate): | |
4768 | If expression is compile-time known and obeys a static predicate | |
4769 | it must be labelled as static, to prevent spurious warnings and | |
4770 | run-time errors, e.g. in case statements. This is relevant when | |
4771 | the expression is the result of constant-folding a type conversion | |
4772 | whose expression is a variable with a known static value. | |
4773 | ||
4774 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
4775 | ||
4776 | * exp_attr.adb, sem_attr.ads: Minor reformatting. | |
4777 | ||
f68d3344 JS |
4778 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
4779 | ||
4780 | * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for | |
4781 | expansion of Finalization_Size attribute. | |
4782 | * sem_attr.adb (Analyze_Attribute): Add entry to check the | |
4783 | semantics of Finalization_Size. | |
4784 | (Eval_Attribute): Add null entry for Finalization_Size. | |
4785 | * sem_attr.ads: Add Finalization_Size to the implementation | |
4786 | dependent attribute list. | |
4787 | * snames.ads-tmpl: Add name entry for Finalization_Size attribute. | |
4788 | ||
e11b776b AC |
4789 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4790 | ||
4791 | * sem_ch5.adb (Analyze_Loop_Statement): If the loop includes an | |
4792 | iterator specification with a serious syntactic error, transform | |
4793 | construct into an infinite loop in order to continue analysis | |
4794 | and prevent a compiler abort. | |
4795 | ||
4796 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4797 | ||
4798 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Do not generate | |
4799 | max_queue_lengths_array if unused. | |
4800 | ||
4801 | 2017-01-06 Bob Duff <duff@adacore.com> | |
4802 | ||
4803 | * errout.adb (Set_Msg_Text): Protect against out-of-bounds | |
4804 | array access, in case "\" is at the end of Text. | |
4805 | * stylesw.adb (Set_Style_Check_Options): Don't include input | |
4806 | characters in the error message template, because they could | |
4807 | be control characters such as "\", which Errout will try to | |
4808 | interpret. | |
4809 | ||
4810 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
4811 | ||
4812 | * sem_ch4.adb (Find_Indexing_Operations, Inspect_Declarations): | |
4813 | For a private type examine the visible declarations that follow | |
4814 | the partial view, not just the private declarations that follow | |
4815 | the full view. | |
4816 | ||
4817 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
4818 | ||
4819 | * exp_ch5.adb, sem_ch3.adb, checks.adb: Minor reformatting and | |
4820 | code cleanup. | |
4821 | ||
6eca51ce ES |
4822 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
4823 | ||
4824 | * exp_ch5.adb (Get_Default_Iterator): For a derived type, the | |
4825 | alias of the inherited op is the parent iterator, no need to | |
4826 | examine dispatch table positions which might not be established | |
4827 | yet if type is not frozen. | |
4828 | * sem_disp.adb (Check_Controlling_Formals): The formal of a | |
4829 | predicate function may be a subtype of a tagged type. | |
4830 | * sem_ch3.adb (Complete_Private_Subtype): Adjust inheritance | |
4831 | of representation items for the completion of a type extension | |
4832 | where a predicate applies to the partial view. | |
4833 | * checks.ads, checks.adb (Apply_Predicate_Check): Add optional | |
4834 | parameter that designates function whose actual receives a | |
4835 | predicate check, to improve warning message when the check will | |
4836 | lead to infinite recursion. | |
4837 | * sem_res.adb (Resolve_Actuals): Pass additional parameter to | |
4838 | Apply_Predicate_Check. | |
4839 | ||
07b3e137 AC |
4840 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
4841 | ||
4842 | * s-rident.ads (Profile_Info): Remove No_Entry_Queue from | |
4843 | Gnat_Extended_Ravenscar. | |
4844 | * exp_ch9.adb, s-tpoben.adb, s-tpoben.ads: Fix spelling. | |
4845 | ||
4846 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> | |
4847 | ||
4848 | * sem_util.ads: Minor typo fix and reformatting. | |
4849 | ||
ac8380d5 AC |
4850 | 2017-01-06 Yannick Moy <moy@adacore.com> |
4851 | ||
4852 | * ghost.adb Minor fixing of references to SPARK RM. | |
4853 | (Check_Ghost_Context): Check whether reference is to a lvalue | |
4854 | before issuing an error about violation of SPARK RM 6.9(13) | |
4855 | when declaration has Ghost policy Check and reference has Ghost | |
4856 | policy Ignore. | |
4857 | * sem_util.adb Minor indentation. | |
4858 | * sem_ch10.adb (Analyze_Package_Body_Stub, Analyze_Protected_Body_Stub, | |
4859 | Analyze_Task_Body_Stub): Set Ekind of the defining identifier. | |
4860 | * sem_util.ads (Unique_Defining_Entity): Document the result | |
4861 | for package body stubs. | |
4862 | ||
4863 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4864 | ||
4865 | * raise-gcc.c (abort): Macro to call Abort_Propagation. | |
4866 | * s-tpoben.ads (Protected_Entry_Queue_Max_Access): Make it access | |
4867 | constant. | |
4868 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): | |
4869 | Do not generate the Entry_Max_Queue_Lengths_Array if all default | |
4870 | values. | |
4871 | * exp_util.adb (Corresponding_Runtime_Package): Consider | |
4872 | Max_Queue_Length pragma. | |
4873 | ||
7727a9c1 AC |
4874 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
4875 | ||
4876 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): | |
4877 | Remove declaration generation in the case of | |
4878 | System_Tasking_Protected_Objects_Single_Entry being used, | |
4879 | and add a warning message when this is detected to occur. | |
4880 | (Make_Initialize_Protection): Remove reference pass in the case | |
4881 | of System_Tasking_Protected_Objects_Single_Entry. | |
4882 | * rtsfind.ads: Remove RE_Protected_Entry_Queue_Max | |
4883 | * s-tposen.adb (Initialize_Protection_Entry): Remove | |
4884 | Entry_Queue_Max parameter. | |
4885 | * s-tposen.ads: Remove the types use to store the entry queue | |
4886 | maximum. | |
4887 | * sem_prag.adb (Analyze_Pragma): Remove entry families restriction | |
4888 | ||
4889 | 2017-01-06 Yannick Moy <moy@adacore.com> | |
4890 | ||
4891 | * sem_util.adb, sem_util.ads (Get_Enum_Lit_From_Pos): Strengthen | |
4892 | behavior of function, to also accept out of range positions | |
4893 | and raise Constraint_Error in such case, and to copy sloc from | |
4894 | literal if No_Location passed as location. | |
4895 | * uintp.adb, uintp.ads (UI_To_Int, UI_To_CC): Strengthen behavior | |
4896 | of functions to raise Constraint_Error in case of value not in | |
4897 | appropriate range. | |
4898 | ||
4899 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
4900 | ||
4901 | * sem_util.adb, s-taprop-linux.adb (Finalize_TCB): Remove call to | |
4902 | Invalidate_Stack_Cache. | |
4903 | ||
4904 | 2017-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
4905 | ||
4906 | * s-os_lib.adb: Minor fix to the signature of Readlink. | |
4907 | ||
4908 | 2017-01-06 Javier Miranda <miranda@adacore.com> | |
4909 | ||
4910 | * sem_ch6.adb (Conforming_Types): Handle another | |
4911 | confusion between views in a nested instance with an actual | |
4912 | private type whose full view is not in scope. | |
4913 | ||
4914 | 2017-01-06 Arnaud Charlet <charlet@adacore.com> | |
4915 | ||
4916 | * exp_ch5.adb (Expand_N_If_Statement): Obey existing comment and | |
4917 | mark a rewritten if statement as explicit (Comes_From_Source). | |
4918 | ||
ea1135b8 GD |
4919 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> |
4920 | ||
4921 | * sem_prag.adb, rtsfind.adb, sem_util.adb: Minor typo fixes. | |
4922 | ||
442d1abb AC |
4923 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
4924 | ||
4925 | * ada.ads, a-unccon.ads: Add pragma No_Elaboration_Code_All. | |
4926 | ||
4927 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
4928 | ||
4929 | * sem_case.adb: Minor reformatting. | |
4930 | ||
4931 | 2017-01-06 Thomas Quinot <quinot@adacore.com> | |
4932 | ||
4933 | * g-socthi-mingw.adb: Remove now extraneous USE TYPE clause | |
4934 | ||
4935 | 2017-01-06 Justin Squirek <squirek@adacore.com> | |
4936 | ||
4937 | * aspects.adb: Register aspect in Canonical_Aspect. | |
4938 | * aspects.ads: Associate qualities of Aspect_Max_Queue_Length | |
4939 | into respective tables. | |
4940 | * einfo.ads, einfo.adb: Add a new attribute for | |
4941 | handling the parameters for Pragma_Max_Entry_Queue | |
4942 | (Entry_Max_Queue_Lengths_Array) in E_Protected_Type. Subprograms | |
4943 | for accessing and setting were added as well. | |
4944 | * par-prag.adb (Prag): Register Pramga_Max_Entry_Queue. | |
4945 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Emit | |
4946 | declaration for pramga arguments and store them in the protected | |
4947 | type node. | |
4948 | (Make_Initialize_Protection): Pass a reference to | |
4949 | the Entry_Max_Queue_Lengths_Array in the protected type node to | |
4950 | the runtime. | |
4951 | * rtsfind.adb: Minor grammar fix. | |
4952 | * rtsfind.ads: Register new types taken from the | |
4953 | runtime libraries RE_Protected_Entry_Queue_Max and | |
4954 | RE_Protected_Entry_Queue_Max_Array | |
4955 | * s-tposen.adb, s-tpoben.adb | |
4956 | (Initialize_Protection_Entry/Initialize_Protection_Entries): | |
4957 | Add extra parameter and add assignment to local object. | |
4958 | * s-tposen.ads, s-tpoben.ads: Add new types to | |
4959 | store entry queue maximums and a field to the entry object record. | |
4960 | * sem_ch13.adb (Analyze_Aspect_Specifications): Add case statement | |
4961 | for Aspect_Max_Queue_Length. | |
4962 | (Check_Aspect_At_Freeze_Point): | |
4963 | Add aspect to list of aspects that don't require delayed analysis. | |
4964 | * sem_prag.adb (Analyze_Pragma): Add case statement for | |
4965 | Pragma_Max_Queue_Length, check semantics, and register arugments | |
4966 | in the respective entry nodes. | |
4967 | * sem_util.adb, sem_util.ads Add functions Get_Max_Queue_Length | |
4968 | and Has_Max_Queue_Length | |
4969 | * snames.ads-tmpl: Add constant for the new aspect-name | |
4970 | Name_Max_Queue_Length and corrasponding pragma. | |
4971 | ||
4972 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
4973 | ||
4974 | * exp_util.adb (Is_Controlled_Function_Call): | |
4975 | Reimplemented. Consider any node which has an entity as the | |
4976 | function call may appear in various ways. | |
4977 | ||
ed3fe8cc AC |
4978 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
4979 | ||
4980 | * exp_attr.adb (Rewrite_Stream_Proc_Call): Use | |
4981 | an unchecked type conversion when performing a view conversion | |
4982 | to/from a private type. In all other cases use a regular type | |
4983 | conversion to ensure that any relevant checks are properly | |
4984 | installed. | |
4985 | ||
4986 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
4987 | ||
4988 | * sem_prag.adb, sem_ch8.adb: Minor reformatting. | |
4989 | ||
4990 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
4991 | ||
4992 | * sem_case.adb (Explain_Non_Static_Bound): Suppress cascaded | |
4993 | error on case expression that is an entity, when coverage is | |
4994 | incomplete and entity has a static value obtained by local | |
4995 | propagation. | |
4996 | (Handle_Static_Predicate): New procedure, subsidiary of | |
4997 | Check_Choices, to handle case alternatives that are either | |
4998 | subtype names or subtype indications involving subtypes that | |
4999 | have static predicates. | |
5000 | ||
5001 | 2017-01-06 Thomas Quinot <quinot@adacore.com> | |
5002 | ||
5003 | * s-oscons-tmplt.c, g-socket.adb, g-socket.ads, g-sothco.ads: | |
5004 | (GNAT.Socket): Add support for Busy_Polling and Generic_Option | |
5005 | ||
5006 | 2017-01-06 Bob Duff <duff@adacore.com> | |
5007 | ||
5008 | * sem_elab.adb (Activate_Elaborate_All_Desirable): Don't add | |
5009 | Elaborate_All(P) to P itself. That could happen in obscure cases, | |
5010 | and always introduced a cycle (P body must be elaborated before | |
5011 | P body). | |
5012 | * lib-writ.ads: Comment clarification. | |
5013 | * ali-util.ads: Minor comment fix. | |
5014 | * ali.adb: Minor reformatting. | |
5015 | ||
5016 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
5017 | ||
5018 | * a-exexpr-gcc.adb: Improve comment. | |
5019 | ||
47f2abdd JC |
5020 | 2017-01-03 James Cowgill <James.Cowgill@imgtec.com> |
5021 | ||
5022 | * s-linux-mips.ads: Use correct signal and errno constants. | |
5023 | (sa_handler_pos, sa_mask_pos): Fix offsets for 64-bit MIPS. | |
5024 | ||
1b5593c0 JC |
5025 | 2017-01-03 James Cowgill <James.Cowgill@imgtec.com> |
5026 | ||
5027 | * s-linux-mips.ads: Rename from s-linux-mipsel.ads. | |
5028 | * gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel | |
5029 | sections. | |
5030 | ||
613be1c8 EB |
5031 | 2017-01-01 Eric Botcazou <ebotcazou@adacore.com> |
5032 | ||
5033 | * gnatvsn.ads: Bump copyright year. | |
5034 | ||
c1a9c369 | 5035 | 2017-01-01 Jakub Jelinek <jakub@redhat.com> |
21fa2a29 JJ |
5036 | |
5037 | * gnat_ugn.texi: Bump @copying's copyright year. | |
5038 | * gnat_rm.texi: Likewise. | |
ad41bd84 | 5039 | \f |
c1a9c369 | 5040 | Copyright (C) 2017 Free Software Foundation, Inc. |
ad41bd84 JM |
5041 | |
5042 | Copying and distribution of this file, with or without modification, | |
5043 | are permitted in any medium without royalty provided the copyright | |
5044 | notice and this notice are preserved. |