]>
Commit | Line | Data |
---|---|---|
4c51ff88 AC |
1 | 2014-02-25 Robert Dewar <dewar@adacore.com> |
2 | ||
3 | * einfo.ads, einfo.adb (Has_Shift_Operator): New flag. | |
4 | * gnat_rm.texi: Document pragma Provide_Shift_Operators. | |
5 | * interfac.ads: Minor code reorganization (add pragma | |
6 | Compiler_Unit_Warning). | |
7 | * par-prag.adb: Add dummy entry for Provide_Shift_Operators. | |
8 | * sem_ch3.adb (Build_Derived_Numeric_Type): Copy | |
9 | Has_Shift_Operator flag. | |
10 | * sem_intr.adb (Check_Intrinsic_Subprogram): Make sure | |
11 | Check_Shift is always called (Check_Shift): Set Has_Shift_Operator. | |
12 | * sem_prag.adb: Implement pragma Provide_Shift_Operators. | |
13 | * snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators | |
14 | Add entry for Name_Amount. | |
15 | * checks.adb (Selected_Range_Checks): When checking for a null | |
16 | range, make sure we use the base type, and not the subtype for | |
17 | deciding a range is null. | |
18 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check | |
19 | for suspicious loop bound which is outside the range of the | |
20 | loop subtype. | |
21 | * gnat_ugn.texi: Add documentation section "Determining the | |
22 | Chosen Elaboration Order" | |
23 | * sem_ch13.adb (UC_Entry): Add field Act_Unit | |
24 | (Validate_Unchecked_Conversion): Store Act_Unit | |
25 | (Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit | |
26 | * treepr.adb: Minor reformatting. | |
27 | ||
28 | 2014-02-25 Arnaud Charlet <charlet@adacore.com> | |
29 | ||
30 | * usage.adb: Minor: fix typo. | |
31 | ||
0355e3eb AC |
32 | 2014-02-25 Robert Dewar <dewar@adacore.com> |
33 | ||
34 | * lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi, | |
35 | s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads, | |
36 | s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads, | |
37 | s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads, | |
38 | g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb, | |
39 | s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads, | |
40 | a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb, | |
41 | s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, | |
42 | a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb, | |
43 | s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads, | |
44 | a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb, | |
45 | s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads, | |
46 | s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma | |
47 | Compiler_Unit_Warning, change Compiler_Unit everywhere to | |
48 | Compiler_Unit_Warning. | |
49 | ||
50 | 2014-02-25 Sergey Rybin <rybin@adacore.com frybin> | |
51 | ||
52 | * sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize | |
53 | in ASIS mode aggregates that are used as aspect definitions. | |
54 | ||
e917e3b8 AC |
55 | 2014-02-25 Robert Dewar <dewar@adacore.com> |
56 | ||
57 | * exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor | |
58 | reformatting. | |
59 | ||
60 | 2014-02-25 Ed Schonberg <schonberg@adacore.com> | |
61 | ||
62 | * freeze.adb (Freeze_Entity): If the return type of a function | |
63 | is a limited view, and the non-limited view has not been seen yet, | |
64 | defer freezing to some later point. | |
65 | ||
66 | 2014-02-25 Robert Dewar <dewar@adacore.com> | |
67 | ||
68 | * sem_ch3.adb: Minor reformatting. | |
69 | ||
70 | 2014-02-25 Robert Dewar <dewar@adacore.com> | |
71 | ||
72 | * s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads, | |
73 | s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb, | |
74 | s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb, | |
75 | s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb, | |
76 | s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb, | |
77 | s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb, | |
78 | s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads, | |
79 | s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads, | |
80 | s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb, | |
81 | s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb, | |
82 | s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads, | |
83 | s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads, | |
84 | s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb, | |
85 | s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb, | |
86 | snames.ads-tmpl: Change Compiler_Unit everywhere to | |
87 | Compiler_Unit_Warning. | |
88 | ||
5f24a82a HK |
89 | 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
90 | ||
91 | * exp_ch6.adb (Add_Or_Save_Precondition): New routine. | |
92 | (Collect_Body_Postconditions_In_Decls): New routine. | |
93 | (Collect_Body_Postconditions_Of_Kind): Factor out code. Handle | |
94 | postcondition aspects or pragmas that appear on a subprogram | |
95 | body stub. | |
96 | (Collect_Spec_Preconditions): Factor out code. Handle | |
97 | precondition aspects or pragmas that appear on a subprogram | |
98 | body stub. | |
99 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The analysis of | |
100 | aspects that apply to a subprogram body stub is no longer delayed, | |
101 | the aspects are analyzed on the spot. | |
102 | (SPARK_Aspect_Error): | |
103 | Aspects that apply to a subprogram declaration cannot appear in | |
104 | a subunit. | |
105 | * sem_ch10.adb Remove with and use clause for Sem_Ch13. | |
106 | (Analyze_Proper_Body): Add local variable Comp_Unit. Unum | |
107 | is now a local variable. Code cleanup. Analysis related to | |
108 | the aspects of a subprogram body stub is now carried out by | |
109 | Analyze_Subprogram_Body_Helper. Do not propagate the aspects | |
110 | and/or pragmas of a subprogram body stub to the proper body | |
111 | as this is no longer needed. Do not analyze the aspects of a | |
112 | subprogram stub when the corresponding source unit is missing. | |
113 | (Analyze_Protected_Body_Stub): Flag the illegal use of aspects | |
114 | on a stub. | |
115 | (Analyze_Task_Body_Stub): Flag the illegal use of | |
116 | aspects on a stub. | |
117 | (Optional_Subunit): Add local variable Unum. | |
118 | * sem_ch13.adb (Insert_Delayed_Pragma): Do not analyze a generated | |
119 | pragma when it applies to a subprogram body stub. | |
120 | * sem_prag.adb (Analyze_Pragma): Pragmas Contract_Cases, | |
121 | Depends and Global can now apply to a subprogram body stub as | |
122 | long as it acts as its own spec. | |
123 | (Analyze_Refined_Pragma): | |
124 | Code reformatting. Refinement pragmas cannot apply to a subunit. | |
125 | ||
7edfb4c6 HK |
126 | 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> |
127 | ||
128 | * einfo.ads Update the usage of flag | |
129 | Uses_Sec_Stack. Uses_Sec_Stack now applies to E_Loop entities. | |
130 | * exp_ch5.adb (Expand_Iterator_Loop): The temporary for a cursor | |
131 | now starts with the letter 'C'. This makes reading expanded | |
132 | code easier. | |
133 | * exp_ch7.adb (Establish_Transient_Scope): Add local variable | |
134 | Iter_Loop. Signal that an Ada 2012 iterator loop requires | |
135 | secondary stack management when creating a transient scope for | |
136 | an element reference. | |
137 | * exp_util.adb (Process_Statements_For_Controlled_Objects): | |
138 | When wrapping the statements of a loop, pass the E_Loop entity | |
139 | to the wrapping machinery. | |
140 | (Wrap_Statements_In_Block): Add | |
141 | formal parameter Scop along with comment on usage. Add local | |
142 | variables Block_Id, Block_Nod and Iter_Loop. Mark the generated | |
143 | block as requiring secondary stack management when the block is | |
144 | created inside an Ada 2012 iterator loop. This ensures that any | |
145 | reference objects are reclaimed on each iteration of the loop. | |
146 | * sem_ch5.adb (Analyze_Loop_Statement): Mark the generated block | |
147 | tasked with the handling of container iterators as requiring | |
148 | secondary stack management. This ensures that iterators are | |
149 | reclaimed when the loop terminates or is exited in any fashion. | |
150 | * sem_util.adb (Add_Block_Identifier): New routine. | |
151 | (Find_Enclosing_Iterator_Loop): New routine. | |
152 | * sem_util.ads (Add_Block_Identifier): New routine. | |
153 | (Find_Enclosing_Iterator_Loop): New routine. | |
154 | ||
bbe9779c AC |
155 | 2014-02-25 Robert Dewar <dewar@adacore.com> |
156 | ||
157 | * sinfo.ads: Minor reformatting. | |
158 | ||
159 | 2014-02-25 Tristan Gingold <gingold@adacore.com> | |
160 | ||
161 | * s-expllu.ads, s-expuns.ads, s-expmod.ads: Minor comment fix. | |
162 | ||
163 | 2014-02-25 Pascal Obry <obry@adacore.com> | |
164 | ||
165 | * sinput-l.adb, osint.adb, osint.ads: Add Prep_Suffix to factorize code. | |
166 | ||
1ae8beef AC |
167 | 2014-02-25 Tristan Gingold <gingold@adacore.com> |
168 | ||
169 | * sem_ch10.adb: Minor comment fix. | |
170 | ||
171 | 2014-02-25 Bob Duff <duff@adacore.com> | |
172 | ||
173 | * s-tasdeb.adb: Misc cleanup of this package, | |
174 | including printing addresses in hexadecimal. | |
175 | (Write): Fix minor bug when taking 'Address of an empty string. | |
176 | ||
177 | 2014-02-25 Ed Schonberg <schonberg@adacore.com> | |
178 | ||
179 | * sem_prag.adb (Analyze_Part_Of): Reject state refinement in a | |
180 | public child unit when it does not refer to the abstract state | |
181 | of a public ancestor. | |
182 | ||
ca11219d AC |
183 | 2014-02-25 Yannick Moy <moy@adacore.com> |
184 | ||
185 | * sem_prag.adb (Analyze_Pragma/Pragma_Validity_Checks): Ignore pragma | |
186 | Validity_Checks in GNATprove and CodePeer modes. | |
187 | ||
188 | 2014-02-25 Pascal Obry <obry@adacore.com> | |
189 | ||
190 | * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package Install's | |
191 | Artifacts attribute. | |
192 | ||
6e32b1ab AC |
193 | 2014-02-25 Yannick Moy <moy@adacore.com> |
194 | ||
195 | * sem_prag.adb: Minor reformatting to get consistent messages. | |
196 | ||
197 | 2014-02-25 Robert Dewar <dewar@adacore.com> | |
198 | ||
199 | * checks.adb: Minor reformatting. | |
200 | * sinfo.ads (Do_Range_Check): Document that this flag is never | |
201 | passed to the back end. | |
202 | ||
f9966234 AC |
203 | 2014-02-25 Yannick Moy <moy@adacore.com> |
204 | ||
205 | * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem_attr.adb, | |
206 | sem_ch6.adb: Remove useless references to SPARK RM in error messages. | |
207 | ||
208 | 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> | |
209 | ||
210 | * sem_res.adb (Appears_In_Check): New routine. | |
211 | (Resolve_Entity_Name): Remove local variables Prev and | |
212 | Usage_OK. Par is now a constant. Remove the parent chain traversal | |
213 | as the placement of a volatile object with enabled property | |
214 | Async_Writers and/or Effective_Reads must appear immediately | |
215 | within a legal construct. | |
216 | ||
217 | 2014-02-25 Hristian Kirtchev <kirtchev@adacore.com> | |
218 | ||
219 | * checks.adb (Apply_Selected_Range_Checks): | |
220 | Alphabetize local constants and variables. Add comments. | |
221 | Always insert a range check that requires runtime evaluation into | |
222 | the tree. | |
223 | ||
a6abfd78 AC |
224 | 2014-02-25 Robert Dewar <dewar@adacore.com> |
225 | ||
226 | * sem_attr.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting. | |
227 | ||
228 | 2014-02-25 Bob Duff <duff@adacore.com> | |
229 | ||
230 | * s-tassta.adb (Finalize_Global_Tasks): Limit the number of loop | |
231 | iterations while waiting for independent tasks to terminate; | |
232 | if an independent task does not terminate, we do not want to | |
233 | hang here. In that case, the thread will be terminated when the | |
234 | process exits. | |
235 | * s-taprop-linux.adb (Abort_Task): Fix Assert to allow for ESRCH. | |
236 | ||
237 | 2014-02-25 Ed Schonberg <schonberg@adacore.com> | |
238 | ||
239 | * sem_prag.adb (Check_SPARK_Aspect_For_ASIS): New subprogram, | |
240 | used to perform pre-analysis of the expression for SPARK | |
241 | aspects that have a non-standard syntax, such as GLobal and | |
242 | Initializes. The procedure applies to the original expression | |
243 | in an aspect specification, prior to the analysis of the | |
244 | corresponding pragma, in order to provide semantic information | |
245 | for ASIS navigation purposes. | |
246 | (Analyze_Global_In_Decl_List, Analyze_Initializes_In_Decl_Part): | |
247 | Call new subprogram. | |
248 | ||
64e86d00 AC |
249 | 2014-02-25 Yannick Moy <moy@adacore.com> |
250 | ||
251 | * sem_prag.adb: Remove obsolete reference to SPARK RM in error message. | |
252 | ||
253 | 2014-02-25 Doug Rupp <rupp@adacore.com> | |
254 | ||
255 | * init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM. | |
256 | (__gnat_adjust_context_for_raise): Bump the PC by 2. | |
257 | ||
258 | 2014-02-25 Ed Schonberg <schonberg@adacore.com> | |
259 | ||
260 | * par-ch3.adb (P_Basic_Declarative_Items): In the case of a | |
261 | misplaced IS, add a statement sequence to improper body only if | |
262 | one has not been parsed already. | |
263 | ||
264 | 2014-02-25 Ed Schonberg <schonberg@adacore.com> | |
265 | ||
266 | * sem_attr.adb (Analyze_Attribute, case 'Update): Check for | |
267 | mismatch when multidimensional array is updated with a single | |
268 | index. | |
269 | ||
3684d1fc YM |
270 | 2014-02-25 Yannick Moy <moy@adacore.com> |
271 | ||
272 | * sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads, | |
273 | sem_ch6.adb: Mark most references to SPARK RM in error messages | |
274 | for removal. | |
275 | ||
b2afe274 AC |
276 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
277 | ||
278 | * par-ch3.adb (P_Basic_Declarative_Items): If an improper body | |
279 | appears in a list of basic declarations, complete the tree with | |
280 | an empty statement list, to prevent cascaded errors and crashes | |
281 | if semantic analysis is attempted. | |
282 | ||
b5eccd0c AC |
283 | 2014-02-24 Thomas Quinot <quinot@adacore.com> |
284 | ||
285 | * g-sercom-mingw.adb (Open): Fix incorrect test for error return | |
286 | value. | |
287 | * erroutc.adb: Minor reformatting. | |
288 | ||
289 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> | |
290 | ||
291 | * sem_prag.adb (Check_Clause_Syntax): Account | |
292 | for a solitary input item in a dependency list. | |
293 | ||
294 | 2014-02-24 Yannick Moy <moy@adacore.com> | |
295 | ||
296 | * gnat1drv.adb (Adjust_Global_Switches): Do not | |
297 | use validity checks at all in GNATprove_Mode. | |
298 | ||
f34b5d88 RD |
299 | 2014-02-24 Robert Dewar <dewar@adacore.com> |
300 | ||
301 | * g-sercom-mingw.adb, g-sercom-linux.adb, sem_prag.adb, freeze.adb, | |
302 | atree.adb, atree.ads: Minor reformatting. | |
303 | ||
2dade097 HK |
304 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
305 | ||
306 | * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not enforce | |
307 | global and dependence refinement when SPARK_Mode is off. | |
308 | * sem_ch7.adb (Analyze_Package_Body_Contract): Do not enforce | |
309 | state refinement when SPARK_Mode is off. | |
310 | * sem_ch13.adb (Analyze_Aspect_Specifications): Add local | |
311 | variable Decl. Insert the generated pragma for Refined_State | |
312 | after a potential pragma SPARK_Mode. | |
313 | * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add local | |
314 | constant Deps. Remove local variable Expr. Check the syntax | |
315 | of pragma Depends when SPARK_Mode is off. Factor out the | |
316 | processing for extra parenthesis around individual clauses. | |
317 | (Analyze_Global_In_Decl_List): Items is now a constant. Check | |
318 | the syntax of pragma Global when SPARK_Mode is off. | |
319 | (Analyze_Initializes_In_Decl_Part): Check the syntax of pragma | |
320 | Initializes when SPARK_Mode is off. | |
321 | (Analyze_Part_Of): Check | |
322 | the syntax of the encapsulating state when SPARK_Mode is off. | |
323 | (Analyze_Pragma): Check the syntax of pragma Abstract_State when | |
324 | SPARK_Mode is off. Move the declaration order check with respect | |
325 | to pragma Initializes to the end of the processing. Do not verify | |
326 | the declaration order for pragma Initial_Condition when SPARK_Mode | |
327 | is off. Do not complain about a useless package refinement when | |
328 | SPARK_Mode is off. | |
329 | (Analyze_Refined_Depends_In_Decl_Part): Refs | |
330 | is now a constant. Check the syntax of pragma Refined_Depends | |
331 | when SPARK_Mode is off. | |
332 | (Analyze_Refined_Global_In_Decl_Part): | |
333 | Check the syntax of pragma Refined_Global when SPARK_Mode is off. | |
334 | (Analyze_Refined_State_In_Decl_Part): Check the syntax of pragma | |
335 | Refined_State when SPARK_Mode is off. | |
336 | (Check_Dependence_List_Syntax): New routine. | |
337 | (Check_Global_List_Syntax): New routine. | |
338 | (Check_Initialization_List_Syntax): New routine. | |
339 | (Check_Item_Syntax): New routine. | |
340 | (Check_State_Declaration_Syntax): New routine. | |
341 | (Check_Refinement_List_Syntax): New routine. | |
342 | (Has_Extra_Parentheses): Moved to the top level of Sem_Prag. | |
343 | ||
158d55fa AC |
344 | 2014-02-24 Robert Dewar <dewar@adacore.com> |
345 | ||
346 | * a-tags.adb, s-os_lib.adb: Minor reformatting. | |
347 | ||
348 | 2014-02-24 Thomas Quinot <quinot@adacore.com> | |
349 | ||
350 | * g-sercom-mingw.adb, g-sercom-linux.adb (Raise_Error): Include | |
351 | strerror message, not just numeric errno value. | |
352 | ||
353 | 2014-02-24 Doug Rupp <rupp@adacore.com> | |
354 | ||
355 | * raise-gcc.c (exception_class_eq): Make endian neutral. | |
356 | ||
357 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> | |
358 | ||
359 | * atree.ads, atree,adb (Copy_Separate_Tree): Remove Syntax_Only | |
360 | flag, and reset Etype and Analyzed attributes unconditionally | |
361 | when copying a tree that may be partly analyzed. | |
362 | * freeze.adb: Change calls to Copy_Separate_Tree accordingly. | |
363 | * sem_ch6.adb (Check_Inline_Pragma): If the Inline pragma appears | |
364 | within a subprogram body and applies to it, remove it from the | |
365 | body before making a copy of it, to prevent spurious errors when | |
366 | analyzing the copied body. | |
367 | ||
f1a3590e AC |
368 | 2014-02-24 Thomas Quinot <quinot@adacore.com> |
369 | ||
370 | * s-os_lib.adb (Errno_Message): Do not depend on Integer'Image. | |
371 | * s-oscons-tmplt.c: On VxWorks, include adaint.h only after | |
372 | vxWorks.h has been included. Also ensure that file attributes | |
373 | related definitions are output even in cases where socket support | |
374 | is not enabled. | |
375 | * a-tags.adb: Code clean up. | |
376 | * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote | |
377 | instead of -I to add the main ada source directory to the header | |
378 | search path, in order to avoid conflict between our own "types.h" | |
379 | and VxWork's <types.h>. | |
380 | ||
381 | 2014-02-24 Robert Dewar <dewar@adacore.com> | |
382 | ||
383 | * atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter. | |
384 | * debug.adb: Remove documentation of -gnatd.X, no longer used. | |
385 | * freeze.adb (Wrap_Imported_Subprogram): Fixed and activated. | |
386 | ||
387 | 2014-02-24 Bob Duff <duff@adacore.com> | |
388 | ||
389 | * gnat_ugn.texi: Improve documentation of gnatpp. | |
390 | ||
47752af2 TQ |
391 | 2014-02-24 Thomas Quinot <quinot@adacore.com> |
392 | ||
393 | * g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads, | |
394 | g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb, | |
395 | g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb, | |
396 | g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not | |
397 | a chars_ptr, because on Windows this is a renaming of | |
398 | Socket_Error_Message. | |
399 | ||
1b31321b AC |
400 | 2014-02-24 Robert Dewar <dewar@adacore.com> |
401 | ||
402 | * a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb, | |
403 | s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb, | |
404 | a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code | |
405 | reorganization. | |
406 | ||
407 | 2014-02-24 Thomas Quinot <quinot@adacore.com> | |
408 | ||
409 | * Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure | |
410 | that the source directory containing s-oscons-tmplt.c is on the | |
411 | include path, so that all internal header files are available. | |
412 | ||
28108618 ES |
413 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
414 | ||
415 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the | |
416 | domain of iteration is an attribute reference 'Old, this is an | |
417 | Ada 2012 iterator and the loop must be rewritten as such. | |
418 | ||
3e5b1f32 TQ |
419 | 2014-02-24 Thomas Quinot <quinot@adacore.com> |
420 | ||
421 | * s-fileio.adb (Errno_Message): Remove, use shared version from | |
422 | s-os_lib instead. | |
423 | * s-crtrun.ads, Makefile.rtl: Remove now unused unit. | |
424 | * g-stseme (Socket_Error_Message): Reimplement in terms of new | |
425 | s-os_lib function. | |
426 | * g-socthi.ads, g-socthi.adb: Change profile of | |
427 | Socket_Error_Message to return String to allow the above. | |
428 | * g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads, | |
429 | * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, | |
430 | * g-socthi-vxworks.ads: Update to account for the above profile | |
431 | change. | |
432 | * a-tags.adb: Use strlen builtin binding provided by s-crtl. | |
433 | * s-crtl.ads (strncpy): New procedure. | |
434 | * s-os_lib.adb (Copy_Attributes): Import just once (strncpy): | |
435 | Use import from s-crtl. | |
436 | * a-envvar.adb, osint.adb: Use imports of C runtime functions | |
437 | from s-crtl instead of re-importing locally. | |
438 | ||
c6d2191a AC |
439 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
440 | ||
441 | * sem_prag.adb (Analyze_Global_Item): Emit the | |
442 | variable related checks concerning volatile objects only when | |
443 | SPARK_Mode is on. | |
444 | ||
445 | 2014-02-24 Robert Dewar <dewar@adacore.com> | |
446 | ||
447 | * sem_ch5.adb (Analyze_Iterator_Specification): use | |
448 | Error_Msg_Ada_2012_Feature. | |
449 | ||
450 | 2014-02-24 Jose Ruiz <ruiz@adacore.com> | |
451 | ||
452 | * s-rident.ads (Profile_Info): For Ravenscar, the restrictions | |
453 | No_Local_Timing_Events and No_Specific_Termination_Handlers | |
454 | must be set, according to the Ravenscar profile definition | |
455 | in D.13(6/3). | |
456 | ||
457 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> | |
458 | ||
459 | * sem_ch6.adb (Analyze_Expression_Function): If this is a | |
460 | completion, freeze return type and its designated type if needed. | |
461 | ||
462 | 2014-02-24 Thomas Quinot <quinot@adacore.com> | |
463 | ||
464 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
465 | 'Address): When moving initialization statements to a freeze | |
466 | entity, keep them under a single node (i.e. do not unwrap | |
467 | expressions with actions), and set the Initialization_Statements | |
468 | attribute again so that processing of a later pragma Import can | |
469 | still remove them. | |
470 | ||
471 | 2014-02-24 Claire Dross <dross@adacore.com> | |
472 | ||
473 | * a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads, | |
474 | a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, | |
475 | a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename | |
476 | Left/Right to First_To_Previous/Current_To_Last. | |
477 | ||
478 | 2014-02-24 Thomas Quinot <quinot@adacore.com> | |
479 | ||
480 | * adaint.h (struct file_attributes): New component "error" | |
481 | (__gnat_error_attributes): Accessor for the above. | |
482 | * adaint.c (__gnat_error_attributes): New subprogram | |
483 | (__gnat_stat): Fix returned value (expect errno value) | |
484 | (__gnat_stat_to_attr): Add management of error component (set to | |
485 | stat errno value, except for missing files where it is set to 0, | |
486 | and exists is set to 0). | |
487 | * osint.ads (File_Attributes_Size): Update per change above, | |
488 | also clarify documentation. | |
489 | * s-filatt.ads: New file, binding to file attributes related | |
490 | functions. | |
491 | * Makefile.rtl (s-filatt): New runtime unit. | |
492 | * s-crtl.ads (strlen): Expose binding to GCC builtin (falls back | |
493 | to library function if not available on target). | |
494 | * s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram. | |
495 | * s-oscons-tmplt.c (SIZEOF_struct_file_attributes, | |
496 | SIZEOF_struct_dirent_alloc): New constants. | |
497 | * Make-generated.in (s-oscons.ads): Now requires adaint.h. | |
498 | * a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes. | |
499 | Perform appropriate error checking if stat fails (do not just | |
500 | ignore existing files if stat fails) | |
501 | * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update | |
502 | dependencies. | |
503 | ||
ec77b144 HK |
504 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> |
505 | ||
506 | * sem_prag.adb (Analyze_Global_Item): Move the check concerning | |
507 | the use of volatile objects as global items in a function to | |
508 | the variable related checks section. | |
509 | * sem_util.adb (Async_Readers_Enabled): Directly call | |
510 | Has_Enabled_Property. | |
511 | (Async_Writers_Enabled): Directly call Has_Enabled_Property. | |
512 | (Effective_Reads_Enabled): Directly call Has_Enabled_Property. | |
513 | (Effective_Writes_Enabled): Directly call Has_Enabled_Property. | |
514 | (Has_Enabled_Property): Rename formal parameter State_Id to Item_Id. | |
515 | Update the comment on usage. State_Has_Enabled_Property how handles | |
516 | the original logic of the routine. Add processing for variables. | |
517 | (State_Has_Enabled_Property): New routine. | |
518 | (Variable_Has_Enabled_Property): New routine. | |
519 | ||
32bba3c9 AC |
520 | 2014-02-24 Robert Dewar <dewar@adacore.com> |
521 | ||
522 | * sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb: | |
523 | Minor reformatting. | |
524 | * atree.ads, atree.adb (Node35): New function. | |
525 | (Set_Node35): New procedure. | |
526 | * debug.adb: Define new debug flag -gnatd.X. | |
527 | * einfo.ads, einfo.adb (Import_Pragma): New field. | |
528 | * freeze.adb (Wrap_Imported_Procedure): New procedure (not | |
529 | really active yet, has to be activated with -gnatd.X. | |
530 | * sem_prag.adb (Set_Imported): Set new Import_Pragma | |
531 | field (Set_Imported): Don't set Is_Public (see | |
532 | Freeze.Wrap_Imported_Subprogram) | |
533 | * par-ch3.adb (P_Component_List): Handle unexpected null component. | |
534 | ||
535 | 2014-02-24 Yannick Moy <moy@adacore.com> | |
536 | ||
537 | * sem_ch3.adb: Correct reference to SPARK RM in error messages. | |
538 | * gnat_rm.texi: Correct documentation of attribute Update. | |
539 | ||
540 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> | |
541 | ||
542 | * sem_ch5.adb (Analyze_Iterator_Specification): Reject container | |
543 | iterator in older versions of Ada. | |
544 | ||
97027f64 GD |
545 | 2014-02-24 Gary Dismukes <dismukes@adacore.com> |
546 | ||
547 | * sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb, | |
548 | par-ch12.adb: Change spelling 'parametrization' to 'parameterization'. | |
549 | ||
5f50020a ES |
550 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
551 | ||
552 | * sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for | |
553 | indexed_components that are instances of Ada 2012 container | |
554 | indexing operations. Analysis and resolution of such nodes | |
555 | is performed on the attribute, and the original source is | |
556 | preserved for ASIS operations. If expansion is enabled, the | |
557 | indexed component is replaced by the value of this attribute, | |
558 | which is in a call to an Indexing aspect, in most case wrapped | |
559 | in a dereference operation. | |
560 | * sem_ch4.adb (Analyze_Indexed_Component): Create | |
561 | Generalized_Indexing attribute when appropriate. | |
562 | (Analyze_Call): If prefix is not overloadable and has an indexing | |
563 | aspect, transform into an indexed component so it can be analyzed | |
564 | as a potential container indexing. | |
565 | (Analyze_Expression): If node is an indexed component with a | |
566 | Generalized_ Indexing, do not re-analyze. | |
567 | * sem_res.adb (Resolve_Generalized_Indexing): Complete resolution | |
568 | of an indexed_component that has been transformed into a container | |
569 | indexing operation. | |
570 | (Resolve_Indexed_Component): Call the above when required. | |
571 | (Resolve): Do not insert an explicit dereference operation on | |
572 | an indexed_component whose type has an implicit dereference: | |
573 | the operation is inserted when resolving the related | |
574 | Generalized_Indexing. | |
575 | ||
ec4e8e9a AC |
576 | 2014-02-24 Olivier Ramonat <ramonat@adacore.com> |
577 | ||
578 | * gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development | |
579 | Environment. | |
580 | ||
581 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> | |
582 | ||
583 | * sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in | |
584 | error messages. | |
585 | (Inconsistent_Mode_Error): Remove leading spaces in error messages. | |
586 | Merge the expected and available mode errors. | |
587 | (Report_Unused_Constituents): Remove leading spaces in error messages. | |
588 | (Report_Unused_States): Remove leading spaces in error messages. | |
589 | ||
e19137bc AC |
590 | 2014-02-24 Thomas Quinot <quinot@adacore.com> |
591 | ||
592 | * par_sco.adb (Traverse_One): Refine categorization of statement | |
593 | SCOs. | |
594 | ||
595 | 2014-02-24 Robert Dewar <dewar@adacore.com> | |
596 | ||
597 | * aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012, | |
598 | Pure_05, Pure_12 and Preelaborate_05. | |
599 | * gnat_rm.texi: Update accordingly. | |
600 | * sem_prag.adb: Document one argument form of Ada_05/Ada_2005 | |
601 | pragmas Document one argument form of Ada_12/Ada_2012 pragmas | |
602 | Recognize one argument form of these pragmas only in GNAT mode | |
603 | (-gnatg). | |
604 | ||
1037b0f4 AC |
605 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> |
606 | ||
607 | * s-dimmks.ads: Replace symbol for temperature, previously the | |
608 | Greek letter Theta, by the ASCII @ sign. | |
609 | * s-diflio.ads: ditto. | |
610 | ||
611 | 2014-02-24 Robert Dewar <dewar@adacore.com> | |
612 | ||
613 | * exp_ch4.adb: Minor code reorganization (use OR for boolean | |
614 | variables). | |
615 | * sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting. | |
616 | ||
617 | 2014-02-24 Ben Brosgol <brosgol@adacore.com> | |
618 | ||
619 | * gnat_ugn.texi, projects.texi: Added the necessary conditionalization | |
620 | so that references to gnatmem and ASIS tools do not appear in the FSF | |
621 | edition of the GNAT User's Guide. | |
622 | ||
ebb6b0bd AC |
623 | 2014-02-24 Yannick Moy <moy@adacore.com> |
624 | ||
625 | * freeze.adb (Freeze_Entity): Do not issue warning | |
626 | for pre/post being ignored on imported subprogram in GNATprove | |
627 | mode. | |
628 | ||
629 | 2014-02-24 Robert Dewar <dewar@adacore.com> | |
630 | ||
631 | * exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb, | |
632 | stand.ads, sem_eval.adb: Minor reformatting. | |
633 | ||
634 | 2014-02-24 Yannick Moy <moy@adacore.com> | |
635 | ||
636 | * sem_prag.adb: Minor rewording in error message. | |
637 | ||
638 | 2014-02-24 Johannes Kanig <kanig@adacore.com> | |
639 | ||
640 | * exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in | |
641 | GNATprove_mode, gnat2why doesn't need nor use these types. | |
642 | ||
643 | 2014-02-24 Gary Dismukes <dismukes@adacore.com> | |
644 | ||
645 | * exp_ch4.adb (Expand_N_Op_Expon): On the AAMP | |
646 | target, in the case of signed integer exponentiation that uses a | |
647 | run-time routine, always select the Exp_* versions, since overflow | |
648 | checking is automatically done by AAMP arithmetic instructions. | |
649 | ||
650 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> | |
651 | ||
652 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
653 | When the related context is a package instace, insert pragma | |
654 | Abstract_State after all internally-generated renamings related | |
655 | to the instance "header". | |
656 | ||
657 | 2014-02-24 Ed Schonberg <schonberg@adacore.com> | |
658 | ||
659 | * sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract | |
660 | subprograms. | |
661 | * sem_disp.adb (Check_Dispatching_Context): A non-dispatching | |
662 | call to an abstract subprogram is legal if it appears in a | |
663 | pre/postcondition of another abstract operation. | |
664 | ||
c97d7285 AC |
665 | 2014-02-24 Sergey Rybin <rybin@adacore.com frybin> |
666 | ||
667 | * gnat_ugn.texi: Misc updates. | |
668 | ||
669 | 2014-02-24 Hristian Kirtchev <kirtchev@adacore.com> | |
670 | ||
671 | * exp_prag.adb (Expand_Old): Set the type of the generated temporary. | |
672 | ||
673 | 2014-02-24 Gary Dismukes <dismukes@adacore.com> | |
674 | ||
675 | * layout.adb (Layout_Variant_Record): Instantiate | |
676 | Generic_Check_Choices and call Check_Choices before calling | |
677 | Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices | |
678 | set to prevent generating incorrect discriminant-checking | |
679 | functions for 'others' variants (functions that unconditionally | |
680 | return True rather than accounting for the values covered by the | |
681 | 'others' choice). | |
682 | * sem_eval.ads (Subtypes_Statically_Compatible): Add formal | |
683 | Formal_Derived_Matching. | |
684 | (Subtypes_Statically_Match): Add formal Formal_Derived_Matching. | |
685 | * sem_eval.adb (Subtypes_Statically_Compatible): Pass new | |
686 | Formal_Derived_Matching formal to Subtypes_Statically_Match. | |
687 | (Subtypes_Statically_Match): Suppress the Object_Size matching | |
688 | test in the case where Formal_Derived_Matching is True. | |
689 | * sem_ch12.adb (Validate_Derived_Type_Instance): Pass | |
690 | True for Formal_Derived_Matching_Formal on the call to | |
691 | Subtypes_Statically_Compatible. | |
692 | ||
9fbb94f2 EB |
693 | 2014-02-23 Eric Botcazou <ebotcazou@adacore.com> |
694 | ||
695 | * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Robustify. | |
696 | ||
086de490 EB |
697 | 2014-02-23 Eric Botcazou <ebotcazou@adacore.com> |
698 | ||
699 | * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting. | |
700 | Look through a conversion between original and packable version to get | |
701 | the base object. | |
702 | (build_component_ref): Rework comment and fix formatting. | |
703 | ||
350b83cc AC |
704 | 2014-02-20 Sergey Rybin <rybin@adacore.com frybin> |
705 | ||
706 | * gnat_ugn.texi, vms_data.ads (gnatelim): Add description of | |
707 | project-specific options. | |
708 | ||
709 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
710 | ||
711 | * a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error, | |
712 | not Constraint_Error. | |
713 | * a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto. | |
714 | * sem_ch5.adb: Code clean up. | |
715 | ||
8880426d AC |
716 | 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> |
717 | ||
718 | * sem_prag.adb (Usage_Error): Remove local | |
719 | constant Typ. Remove the specialized diagnostics for unconstrained | |
720 | or tagged items as those are not part of the explicit input set | |
721 | of the related subprogram and should not be flagged. | |
722 | ||
723 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
724 | ||
725 | * sem_attr.adb: Add guard to preserve all errors. | |
726 | ||
727 | 2014-02-20 Vincent Celier <celier@adacore.com> | |
728 | ||
729 | * switch-m.adb (Normalize_Compiler_Switches): Take into account | |
730 | switches that are recorded in ALI files: -gnateA, -gnateE, | |
731 | -gnateF, -gnateinn, -gnateu, -gnateV and -gnateY. | |
732 | ||
733 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
734 | ||
735 | * sem_ch5.adb (Analyze_Iterator_Specification): Check legality | |
736 | of an element iterator form over a formal container with an | |
737 | Iterable aspect. | |
738 | * exp_ch5.adb (Build_Formal_Container_Iteration): Utility | |
739 | to create declaration and loop statements for both forms of | |
740 | container iterators. | |
741 | (Expand_Formal_Container_Element_Iterator): New procedure | |
742 | to handle loops of the form "for E of C" when C is a formal | |
743 | container. | |
744 | (Expand_Formal_Container_Iterator): Code cleanup. | |
745 | ||
46de64ca AC |
746 | 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> |
747 | ||
748 | * sem_prag.adb (Add_Item_To_Name_Buffer): New routine. | |
749 | (Analyze_Contract_Case): Remove the use of | |
750 | "may". Replace "aspect Contract_Cases" to avoid categorization | |
751 | of aspect vs pragma. | |
752 | (Analyze_External_Property_In_Decl_Part): Remove the use of "formal". | |
753 | (Analyze_Global_Item): Remove | |
754 | the use of "formal", specify the subprogram. Split the | |
755 | error message about a state with visible refinement into | |
756 | two. Remove the use of "global" from "volatile global item". | |
757 | (Analyze_Initialization_Item): Ensure that the SPARK RM reference | |
758 | is on one line. | |
759 | (Analyze_Input_Output): Update the call to | |
760 | Check_Mode. Specify the duplicated item. Reword the error | |
761 | message concerning an input of a null output list. Use "\" | |
762 | for error message continuation. | |
763 | (Analyze_Part_Of): Remove | |
764 | the use of "may". Use "\" for error message continuation. | |
765 | (Analyze_Refined_Depends_In_Decl_Part): Update the error | |
766 | message concerning a useless refinement to match the format | |
767 | of Refined_Global. | |
768 | (Analyze_Refined_Global_In_Decl_Part): Reword the error message | |
769 | concerning a useless refinement. | |
770 | (Analyze_Refinement_Clause): Use "\" for error message continuation. | |
771 | (Check_Constituent_Usage): Use "\" for error message continuation. | |
772 | (Check_Dependency_Clause): Use "\" for error message continuation. | |
773 | (Check_Matching_Constituent): Use "\" for error message continuation. | |
774 | (Check_Missing_Part_Of): Use "\" for error message continuation. | |
775 | (Check_Mode): Renamed to | |
776 | Check_Role. Update the comment on usage. Redo the error reporting | |
777 | to use Role_Error. | |
778 | (Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error | |
779 | message continuation. | |
780 | (Find_Mode): Renamed to Find_Role. Update the parameter profile along | |
781 | with comment on usage. Update all occurrences of Is_Input and Is_Output. | |
782 | (Inconsistent_Mode_Error): Use "\" for error message continuation. | |
783 | (Input_Match): Use "\" for error message continuation. | |
784 | (Role_Error): New routine. | |
785 | (Set_Convention_From_Pragma): Use "\" for error message continuation. | |
786 | (Usage_Error): Add local variable Error_Msg. Build specialized error | |
787 | message showcasing the offending item kind. Redo the diagnostics for | |
788 | unconstrained types. | |
789 | ||
790 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
791 | ||
792 | * exp_util.adb (Is_Iterated_Container): Use high-level primitives | |
793 | to determine whether a type is a container type, rather than | |
794 | examining only its type declaration, so that subtypes and derived | |
795 | types are handled properly. | |
796 | ||
797 | 2014-02-20 Sergey Rybin <rybin@adacore.com frybin> | |
798 | ||
799 | * gnat_ugn.texi: gnatmetric: add description of project-specific | |
800 | options. | |
801 | ||
802 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
803 | ||
804 | * sem_attr.adb (Analyze_Attribute, case 'Update): Verify that | |
805 | all choices in an association for a record type have the same | |
806 | type, as is done for record aggregates. | |
807 | ||
3e586e10 AC |
808 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
809 | ||
810 | * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma | |
811 | Unmodified rather than Warnings (Off). Make comments | |
812 | uniform in the four affected units. | |
813 | ||
814 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
815 | ||
816 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
817 | Object_Size): For non-scalar types allow any value that is a | |
818 | multiple of 8. | |
819 | * gnat_rm.texi: Document Object_Size for composites more clearly. | |
820 | ||
821 | 2014-02-20 Yannick Moy <moy@adacore.com> | |
822 | ||
823 | * sem_util.ads, sem_util.adb (Default_Initialization): Remove function. | |
824 | ||
825 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
826 | ||
827 | * stand.ads: Raise_Type: new predefined entity, used as the type | |
828 | of a Raise_Expression prior to resolution. | |
829 | * cstand.adb: Build entity for Raise_Type. | |
830 | * sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the | |
831 | initial type of the node. | |
832 | * sem_type.adb (Covers): Raise_Type is compatible with all | |
833 | other types. | |
834 | * sem_res.adb (Resolve): Remove special handling of Any_Type on | |
835 | Raise_Expression nodes. | |
836 | (Resolve_Raise_Expression): Signal ambiguity if the type of the | |
837 | context is still Raise_Type. | |
838 | ||
7f568bfa AC |
839 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
840 | ||
841 | * sem_ch12.adb (Validate_Access_Type_Instance): Add message if | |
842 | mismatching predicates. | |
843 | * sem_ch6.adb (Check_Conformance): Give better messages on | |
844 | predicate mismatch. | |
845 | * sem_eval.adb (Predicates_Match): Move to spec. | |
846 | * sem_eval.ads (Predicates_Match): Moved here from body. | |
847 | ||
848 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
849 | ||
850 | * a-cbmutr.adb: Use default value in Insert_Child. | |
851 | ||
308aab0b AC |
852 | 2014-02-20 Vincent Celier <celier@adacore.com> |
853 | ||
854 | * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call | |
855 | Stringt.Initialize in all project aware tools. | |
856 | ||
857 | 2014-02-20 Doug Rupp <rupp@adacore.com> | |
858 | ||
859 | * gnat_ugn.texi: Document gnatbind -X option. | |
860 | * vms_data.ads: Minor warnings documentation reformatting. | |
861 | ||
862 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
863 | ||
864 | * exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant | |
865 | procedure for a base type. | |
866 | ||
867 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
868 | ||
869 | * sem_ch4.adb (Analyze_Case_Expression): Get type from first | |
870 | expression with type info. | |
871 | * sem_ch13.adb: Minor reformatting. | |
872 | * sem_eval.adb (Subtypes_Statically_Match): Make sure we return | |
873 | False if predicates do not match on the two types. | |
874 | ||
875 | 2014-02-20 Arnaud Charlet <charlet@adacore.com> | |
876 | ||
877 | * sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]): | |
878 | In Relaxed_RM_Semantics mode, allow any static integer value, | |
879 | for compatibility with other compilers. | |
880 | ||
0f361206 AC |
881 | 2014-02-20 Vincent Celier <celier@adacore.com> |
882 | ||
883 | * errutil.adb (Initialize): Properly initialize entry in table | |
884 | Warnings when warnings are suppressed. | |
885 | ||
886 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
887 | ||
888 | * s-os_lib.ads: Add warning about non-portability of Rename_File. | |
889 | * sem_util.ads, sem_util.adb (Is_Junk_Name): New function. | |
890 | * sem_warn.adb: Use Is_Junk_Name to suppress some warnings. | |
891 | * gnat_ugn.texi: Document no warnings on junk variable names. | |
892 | * layout.adb: Minor code reorganization (use Ekind_In). | |
893 | * stringt.adb: Move initialization of Null_String_Id to Initialize | |
894 | routine. | |
895 | ||
896 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
897 | ||
898 | * sem_ch13.adb: Initialize optional Element_Id. | |
899 | ||
c0cdbd39 AC |
900 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
901 | ||
902 | * s-os_lib.ads (Rename_File): Minor commment addition. | |
903 | ||
904 | 2014-02-20 Thomas Quinot <quinot@adacore.com> | |
905 | ||
906 | * einfo.ads: Minor reformatting. | |
907 | ||
908 | 2014-02-20 Hristian Kirtchev <kirtchev@adacore.com> | |
909 | ||
910 | * aspects.adb (Exchange_Aspects): New routine. | |
911 | * aspects.ads (Exchange_Aspects): New routine. | |
912 | * atree.adb (Rewrite): Do not check whether the save node has | |
913 | aspects as it never will, instead check the node about to be clobbered. | |
914 | * einfo.adb (Write_Field25_Name): Abstract_States can appear in | |
915 | entities of generic packages. | |
916 | * sem_ch6.adb (Analyze_Expression_Function): Fix the parent | |
917 | pointer of an aspect specification list after rewriting takes place. | |
918 | * sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect | |
919 | specifications of the generic template and the copy used for analysis. | |
920 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap | |
921 | the aspect specifications of the generic template and the | |
922 | copy used for analysis. | |
923 | (Analyze_Package_Instantiation): Propagate the aspect specifications | |
924 | from the generic template to the instantiation. | |
925 | (Build_Instance_Compilation_Unit_Nodes): Propagate the aspect | |
926 | specifications from the generic template to the instantiation. | |
927 | * sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects | |
928 | Abstract_State, Initializes and Initial_Condition when they | |
929 | apply to a package instantiation. | |
930 | ||
931 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
932 | ||
933 | * stringt.adb: Add call to Initialize in package initialization. | |
934 | ||
fe4552f4 AC |
935 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
936 | ||
937 | * a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb, | |
938 | a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, | |
939 | a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb, | |
940 | a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor | |
941 | reformatting. | |
942 | ||
943 | 2014-02-20 Bob Duff <duff@adacore.com> | |
944 | ||
945 | * s-os_lib.ads: Minor: Remove incorrect comment. | |
946 | ||
947 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
948 | ||
949 | * sem_elab.adb (Check_Elab_Assign): Clearer warning message. | |
950 | ||
951 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> | |
952 | ||
953 | * a-cborma.adb (Assign): When creating a node without a specified | |
954 | element, insert an uninitialized element in the map, because | |
955 | the instance may provide an element type with a default | |
956 | initialization, e.g a scalar with a Default_Value aspect. | |
957 | * a-cbhama.adb (Assign_Key): Remove useless Allocate procedure. | |
958 | (Insert): In the version without explicit element, provide an | |
959 | uninitialized element, as above. | |
960 | * a-cbdlli.adb (Append): In the version without explicit element, | |
961 | provide an uninitalized element, as above. | |
962 | (Allocate): Remove unused version. | |
963 | ||
3730c4a0 AC |
964 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
965 | ||
966 | * sem_elab.adb: Minor code reorganization (use Nkind_In). | |
967 | * stringt.adb: Remove temporary pragma Warnings (Off). | |
968 | * stringt.ads: Add pragma Elaborate_Body to ensure initialization | |
969 | of Null_String_Id. | |
970 | ||
971 | 2014-02-20 Matthew Heaney <heaney@adacore.com> | |
972 | ||
973 | * a-chtgbk.adb (Replace): Use correct offset when calculating bucket | |
974 | index. | |
975 | ||
0c7e0c32 AC |
976 | 2014-02-20 Ed Schonberg <schonberg@adacore.com> |
977 | ||
978 | * sem_ch5.adb (Analyze_Iterator_Specification): Initialize | |
979 | properly the cursor type for subsequent volatile testing in SPARK | |
980 | mode, when domain is a formal container with an Iterabe aspect. | |
981 | ||
982 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
983 | ||
984 | * errout.adb (Set_Warnings_Mode_Off): Add Reason argument. | |
985 | (Set_Specific_Warning_Off): Add Reason argument. | |
986 | * errout.ads (Set_Warnings_Mode_Off): Add Reason argument. | |
987 | (Set_Specific_Warning_Off): Add Reason argument. | |
988 | * erroutc.adb (Warnings_Entry): Add Reason field | |
989 | (Specific_Warning_Entry): Add Reason field. | |
990 | (Warnings_Suppressed): return String_Id for Reason. | |
991 | (Warning_Specifically_Suppressed): return String_Id for Reason. | |
992 | * erroutc.ads (Warnings_Entry): Add Reason field. | |
993 | (Specific_Warning_Entry): Add Reason field. | |
994 | (Set_Specific_Warning_Off): Add Reason argument. | |
995 | (Set_Warnings_Mode_Off): Add Reason argument. | |
996 | (Warnings_Suppressed): return String_Id for Reason. | |
997 | (Warning_Specifically_Suppressed): return String_Id for Reason. | |
998 | * errutil.adb (Warnings_Suppressed): returns String_Id for Reason | |
999 | (Warning_Specifically_Suppressed): returns String_Id for Reason | |
1000 | * gnat_rm.texi: Document that Warning parameter is string literal | |
1001 | or a concatenation of string literals. | |
1002 | * par-prag.adb: New handling for Reason argument. | |
1003 | * sem_prag.adb (Analyze_Pragma, case Warning): New handling | |
1004 | for Reason argument. | |
1005 | * sem_util.ads, sem_util.adb (Get_Reason_String): New procedure. | |
1006 | * sem_warn.ads (Warnings_Off_Entry): Add reason field. | |
1007 | * stringt.adb: Set Null_String_Id. | |
1008 | * stringt.ads (Null_String_Id): New constant. | |
1009 | ||
e4494292 RD |
1010 | 2014-02-20 Robert Dewar <dewar@adacore.com> |
1011 | ||
1012 | * einfo.ads: Minor comment addition: Etype of package is | |
1013 | Standard_Void_Type. | |
1014 | * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb, | |
1015 | exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, | |
1016 | exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb, | |
1017 | exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb, | |
1018 | freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb, | |
1019 | sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, | |
1020 | sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb, | |
1021 | sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To. | |
1022 | Replace all calls with calls to New_Occurrence_Of. | |
1023 | ||
1024 | 2014-02-20 Robert Dewar <dewar@adacore.com> | |
1025 | ||
1026 | * par-util.adb (Ignore, case of right paren): Make this a | |
1027 | serious error. | |
1028 | ||
d7cb47b4 AC |
1029 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1030 | ||
1031 | * sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting. | |
1032 | * debug.adb: Remove -gnatd.X switch, no longer used. | |
1033 | * styleg.adb (Check_Then): Remove check of -gnatd.X, check is | |
1034 | now always made. | |
1035 | ||
1036 | 2014-02-19 Bob Duff <duff@adacore.com> | |
1037 | ||
1038 | * g-socket.ads: Minor: Correct some comments. | |
1039 | ||
53f697ee AC |
1040 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
1041 | ||
1042 | * sem_ch5.adb: Inhibit iterator rewriting in ASIS mode. | |
1043 | ||
1044 | 2014-02-19 Arnaud Charlet <charlet@adacore.com> | |
1045 | ||
1046 | * sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate | |
1047 | an error on out of range priorities if Relaxed_RM_Semantics. | |
1048 | * sem_prag.adb (Analyze_Pragma): Ditto. | |
1049 | ||
1050 | 2014-02-19 Bob Duff <duff@adacore.com> | |
1051 | ||
1052 | * sem_attr.adb (Resolve_Attribute): Detect the case of F'Access | |
1053 | where F denotes the renaming of an enumeration literal, and | |
1054 | issue a specialized error message. | |
1055 | ||
47fb6ca8 AC |
1056 | 2014-02-19 Matthew Heaney <heaney@adacore.com> |
1057 | ||
1058 | * a-chtgop.ads (Checked_Index): New operation. | |
1059 | (Next): Changed mode of hash table. | |
1060 | * a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering | |
1061 | (Generic_Read, Reserve_Capacity): Ditto. | |
1062 | (Generic_Equal): Detect tampering. | |
1063 | (Next): Changed mode of hash table, detect tampering. | |
1064 | * a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New | |
1065 | operation. | |
1066 | (Find): Changed mode of hash table. | |
1067 | * a-chtgke.adb (Checked_Equivalent_Keys): New operation | |
1068 | (Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect | |
1069 | tampering. | |
1070 | (Find): Changed mode of hash table, check for tampering. | |
1071 | (Generic_Replace_Element): Check for tampering. | |
1072 | * a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation. | |
1073 | * a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New | |
1074 | operation (Delete_Key_Sans_Free, Generic_Conditional_Insert): | |
1075 | Detect tampering. | |
1076 | (Find, Generic_Replace_Element): Check for tampering. | |
1077 | * a-chtgbo.ads (Checked_Index): New operation. | |
1078 | * a-chtgbo.adb (Checked_Index): New operation | |
1079 | (Delete_Node_Sans_Free, Generic_Equal): Detect tampering. | |
1080 | (Generic_Read, Next): Ditto. | |
1081 | * a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash | |
1082 | table (Difference, Intersection): Use variable view of | |
1083 | source, detect tampering (Find, Is_Subset, Overlap): Use | |
1084 | variable view of container (Symmetric_Difference, Union): | |
1085 | Detect tampering (Vet): Use Checked_Index to detect tampering | |
1086 | (Constant_Reference, Element, Find): Use variable view of | |
1087 | container. | |
1088 | (Update_Element_Preserving_Key): Detect tampering. | |
1089 | * a-cbhase.adb (Difference, Find, Is_In): Use variable view | |
1090 | of container. | |
1091 | (Is_Subset): Ditto. | |
1092 | (Equivalent_Sets, Overlap): Use Node's Next component. | |
1093 | (Vet): Use Checked_Index to detect tampering. | |
1094 | (Constant_Reference, Element, Find): Use variable view of container. | |
1095 | (Update_Element_Preserving_Key): Detect tampering. | |
1096 | * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference, | |
1097 | Element, Find): Use variable view of container. | |
1098 | (Reference): Rename hash table component. | |
1099 | (Vet): Use Checked_Index to detect tampering. | |
1100 | ||
1101 | 2014-02-19 Arnaud Charlet <charlet@adacore.com> | |
1102 | ||
1103 | * adabkend.adb (Scan_Compiler_Arguments): Add missing handling | |
1104 | of -nostdinc. | |
1105 | ||
1106 | 2014-02-19 Thomas Quinot <quinot@adacore.com> | |
1107 | ||
1108 | * tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard | |
1109 | against calls without Def_Id. | |
1110 | ||
1111 | 2014-02-19 Claire Dross <dross@adacore.com> | |
1112 | ||
1113 | * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, | |
1114 | a-cofove.ads: Add global annotations to subprograms. | |
1115 | ||
1116 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1117 | ||
1118 | * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove | |
1119 | constants Errors, Pack_Id and Pack_Init. Remove variable Vars. | |
1120 | Initial_Condition no longer requires the presence of pragma | |
1121 | Initialized. Do not try to diagnose whether all variables mentioned in | |
1122 | pragma Initializes also appear in Initial_Condition. | |
1123 | (Collect_Variables): Removed. | |
1124 | (Match_Variable): Removed. | |
1125 | (Match_Variables): Removed. | |
1126 | (Report_Unused_Variables): Removed. | |
1127 | ||
1128 | 2014-02-19 Thomas Quinot <quinot@adacore.com> | |
1129 | ||
1130 | * gnat_rm.texi (pragma Stream_Convert): Minor rewording. | |
1131 | ||
13f39091 AC |
1132 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1133 | ||
1134 | * sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor | |
1135 | reformatting. | |
1136 | ||
1137 | 2014-02-19 Vincent Celier <celier@adacore.com> | |
1138 | ||
1139 | * prj-part.adb (Parse_Single_Project): Use the fully resolved | |
1140 | project path, with all symbolic links resolved, to check if the | |
1141 | same project is imported with a different unresolved path. | |
1142 | * prj-tree.ads (Project_Name_And_Node): Component Canonical_Path | |
1143 | changed to Resolved_Path to reflect that all symbolic links | |
1144 | are resolved. | |
1145 | ||
110e2969 AC |
1146 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
1147 | ||
1148 | * sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util | |
1149 | from sem_ch13, for use elsewhere. | |
1150 | * sem_ch13.adb (Get_Cursor_Type): Moved to sem_util. | |
1151 | * sem_ch5.adb (Analyze_Iterator_Specification): Set properly the | |
1152 | cursor type on the loop variable when the iteration is over o | |
1153 | formal container. | |
1154 | ||
1155 | 2014-02-19 Vincent Celier <celier@adacore.com> | |
1156 | ||
1157 | * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration | |
1158 | for an empty Target (Check_Target): Never fail when an empty | |
1159 | target is declared in the configuration project. | |
1160 | ||
1161 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1162 | ||
1163 | * sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if | |
1164 | the pragma comes fron a predicate aspect and the context is a | |
1165 | record declaration within the scope that declares the type. | |
1166 | ||
1167 | 2014-02-19 Robert Dewar <dewar@adacore.com> | |
1168 | ||
1169 | * gnat_rm.texi: Minor clarifications. | |
1170 | * expander.adb, sem_aggr.adb: Add comments. | |
1171 | ||
ffdeb702 AC |
1172 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
1173 | ||
1174 | * sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that | |
1175 | applies to a subprogram body, the name is the current scope, | |
1176 | rather than being declared in the current scope. | |
1177 | (Analyze_Pragma, case No_Return): Handle properly a No_Return | |
1178 | aspect applied to a subprogram body. | |
1179 | ||
1180 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1181 | ||
1182 | * sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution | |
1183 | of overloaded subprograms, and fix bug in handling of primitive | |
1184 | operation Element. | |
1185 | ||
1186 | 2014-02-19 Pascal Obry <obry@adacore.com> | |
1187 | ||
1188 | * s-os_lib.adb: Minor reformatting. | |
1189 | ||
1190 | 2014-02-19 Yannick Moy <moy@adacore.com> | |
1191 | ||
1192 | * expander.adb (Expand): Do nothing inside generics. | |
1193 | * sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside | |
1194 | generics. | |
1195 | ||
1196 | 2014-02-19 Yannick Moy <moy@adacore.com> | |
1197 | ||
1198 | * exp_ch2.adb: Remove useless 'with' of unit Uintp. | |
1199 | ||
edbd98c4 AC |
1200 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1201 | ||
1202 | * sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting | |
1203 | * a-sequio.adb: Remove useless pragma Extensions_Allowed (no | |
1204 | longer needed). | |
1205 | ||
1206 | 2014-02-19 Claire Dross <dross@adacore.com> | |
1207 | ||
1208 | * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, | |
1209 | a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers. | |
1210 | ||
476b301a AC |
1211 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
1212 | ||
1213 | * sem_ch3.adb (Analyze_Declarations): Analyze | |
1214 | a package contract at the end of the private declarations (if | |
1215 | applicable), otherwise analyze it and the end of the visible | |
1216 | declarations. | |
1217 | ||
1218 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1219 | ||
1220 | * style.adb (Missing_Overriding): If subprogram is an | |
1221 | instantiation, place warning on the instance node itself, | |
1222 | without mention of the original generic. Do not emit message | |
1223 | if explicit Ada version is older than the introduction of the | |
1224 | overriding indicator. | |
1225 | ||
a6ce7e76 AC |
1226 | 2014-02-19 Yannick Moy <moy@adacore.com> |
1227 | ||
1228 | * gnat_rm.texi: Doc clarifications. | |
1229 | ||
1230 | 2014-02-19 Yannick Moy <moy@adacore.com> | |
1231 | ||
1232 | * exp_util.adb (Remove_Side_Effects): Do not remove side-effects | |
1233 | inside a generic. | |
1234 | ||
1235 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1236 | ||
1237 | * sem_ch13.adb (Get_Cursor_Type): Obtain cursor type from | |
1238 | specified First primitive, rather than by name. | |
1239 | (Validate_Iterable_Aspect, Resolve_Iterable_Operation): Use it, | |
1240 | and extend error checking for missing primitives and incorrect | |
1241 | signatures. | |
1242 | ||
1243 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1244 | ||
1245 | * sem_ch3.adb (Check_Pragma_Implemented): Detect additional | |
1246 | errors when a Synchronization aspect on an overriding protected | |
1247 | operation does not match the given aspect on the overridden | |
1248 | operation of an ancestor interface. | |
1249 | ||
1250 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1251 | ||
1252 | * sem_prag.adb (Check_Loop_Pragma_Grouping): New routine. | |
1253 | (Check_Loop_Pragma_Placement): Update | |
1254 | comment on usage. Remove local variables Orig_Stmt and | |
1255 | Within_Same_Sequence. Check that the current Loop_Invariant or | |
1256 | Loop_Variant pragma is grouped together with other such pragmas. | |
1257 | (Is_Loop_Pragma): New routine. | |
1258 | (Prev_In_Loop): Removed. | |
1259 | ||
0b7f0f0e AC |
1260 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1261 | ||
1262 | * par-ch6.adb (P_Return): For extended return, end column lines | |
1263 | up with RETURN. | |
1264 | * par.adb: Minor documentation clarification. | |
1265 | ||
1266 | 2014-02-19 Yannick Moy <moy@adacore.com> | |
1267 | ||
1268 | * sem_prag.adb (Check_Loop_Pragma_Placement): Add check | |
1269 | that Loop_Invariant and Loop_Variant appear consecutively. | |
1270 | * gnat_rm.texi Update documentation of Loop_Invariant and | |
1271 | Loop_Variant pragmas. | |
1272 | ||
1273 | 2014-02-19 Robert Dewar <dewar@adacore.com> | |
1274 | ||
1275 | * debug.adb: Document -gnatd.X. | |
1276 | * par-ch5.adb (P_If_Statement): Always check THEN, even if not | |
1277 | first token | |
1278 | (Check_Then_Column): Ditto. | |
1279 | * styleg.adb (Check_Then): Allow THEN on line after IF. | |
1280 | (Check_Then): Check THEN placement under control of -gnatd.X | |
1281 | * styleg.ads (Check_Then): Now called even if THEN is not first | |
1282 | token on line. | |
1283 | * stylesw.ads (Style_Check_If_Then_Layout): Document new | |
1284 | relaxed rules. | |
1285 | * gnat_ugn.texi: For -gnatyi, THEN can now be on line after IF. | |
1286 | ||
1287 | 2014-02-19 Robert Dewar <dewar@adacore.com> | |
1288 | ||
1289 | * a-cfhama.adb, a-cfhase.adb, a-cforse.adb, a-cofove.adb, a-ngcefu.adb, | |
1290 | a-teioed.adb, a-wtedit.adb, a-ztedit.adb, exp_ch5.adb, inline.adb, | |
1291 | prj-pp.adb, prj-tree.adb, sem_ch12.adb, sem_ch8.adb, | |
1292 | vms_conv.adb: Fix bad layout of IF statements | |
1293 | ||
e7cff5af RD |
1294 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1295 | ||
1296 | * exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF. | |
1297 | ||
a767d69b AC |
1298 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1299 | ||
1300 | * exp_util.adb: Update comments. | |
1301 | ||
1302 | 2014-02-19 Doug Rupp <rupp@adacore.com> | |
1303 | ||
1304 | * bindgen.adb (Gen_Adainit) [VMS] New global Float_Format. | |
1305 | * init.c (__gl_float_format): [VMS] New global. | |
1306 | (__gnat_set_features): Call FP_CONTROL to set FPSR for the float | |
1307 | representation in effect. | |
1308 | ||
1309 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1310 | ||
1311 | * exp_ch6.adb Add with and use clause for Exp_Prag. | |
1312 | (Expand_Contract_Cases): Relocated to Exp_Prag. | |
1313 | * exp_ch6.ads (Expand_Contract_Cases): Relocated to Exp_Prag. | |
1314 | * exp_prag.adb Add with and use clauses for Checks and Validsw. | |
1315 | (Expand_Contract_Cases): Relocated from Exp_Ch6. Update the | |
1316 | structure of the expanded code to showcase the evaluation of | |
1317 | attribute 'Old prefixes. Add local variable Old_Evals. Expand | |
1318 | any attribute 'Old references found within a consequence. Add | |
1319 | circuitry to evaluate the prefixes of attribute 'Old that | |
1320 | belong to a selected consequence. | |
1321 | (Expand_Old_In_Consequence): New routine. | |
1322 | * exp_prag.ads (Expand_Contract_Cases): Relocated from Exp_Ch6. | |
1323 | * sem_attr.adb (Check_Use_In_Contract_Cases): Warn that a | |
1324 | potentially unevaluated prefix is always evaluated. | |
1325 | ||
adb252d8 AC |
1326 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1327 | ||
1328 | * exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration | |
1329 | (Expand_Min_Max_Attribute): Use Matching_Standard_Type. | |
1330 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special | |
1331 | handling for the case of Modify_Tree_For_C, this approach did | |
1332 | not work. | |
1333 | * exp_util.adb (Matching_Standard_Type): New function | |
1334 | (Side_Effect_Free): New top level functions (from | |
1335 | Remove_Side_Effects). | |
1336 | * exp_util.ads (Side_Effect_Free): New top level functions | |
1337 | (moved from body). | |
1338 | * sinfo.ads: Minor comment updates. | |
1339 | ||
1340 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1341 | ||
1342 | * exp_ch6.adb (Expand_Simple_Function_Return): If return | |
1343 | type is unconstrained and uses the secondary stack, mark the | |
1344 | enclosing function accordingly, to ensure that the value is not | |
1345 | prematurely removed. | |
1346 | ||
1347 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1348 | ||
1349 | * par.adb Alphabetize the routines in Par.Sync. | |
1350 | (Resync_Past_Malformed_Aspect): New routine. | |
1351 | * par-ch13.adb (Get_Aspect_Specifications): Alphabetize local | |
1352 | variables. Code and comment reformatting. Detect missing | |
1353 | parentheses on aspects [Refined_]Global and [Refined_]Depends | |
1354 | with a non-null definition. | |
1355 | * par-sync.adb: Alphabetize all routines in this separate unit. | |
1356 | (Resync_Past_Malformed_Aspect): New routine. | |
1357 | ||
a0367005 RD |
1358 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1359 | ||
1360 | * sem_eval.ads, sem_eval.adb (Subtypes_Statically_Match): Return False | |
1361 | if Esize values do not match. | |
1362 | ||
e03f7ccf AC |
1363 | 2014-02-19 Yannick Moy <moy@adacore.com> |
1364 | ||
1365 | * sinfo.ads: Minor comment update. | |
1366 | ||
1367 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1368 | ||
1369 | * atree.ads: Minor reformatting (change Entity_Info to Einfo). | |
1370 | ||
1371 | 2014-02-19 Thomas Quinot <quinot@adacore.com> | |
1372 | ||
1373 | * exp_ch7.adb (Find_Node_To_Be_Wrapped): An assignment statement | |
1374 | that has the No_Ctrl_Actions flag is a suitable node to be | |
1375 | wrapped if the assigned expression has no finalization actions. | |
1376 | * sem_eval.adb (Eval_Entity_Name): For a compile time known | |
1377 | boolean value, mark the corresponding condition SCO as constant. | |
1378 | ||
1379 | 2014-02-19 Robert Dewar <dewar@adacore.com> | |
1380 | ||
1381 | * exp_util.adb: Minor reformatting. | |
1382 | * exp_util.ads (Matching_Standard_Type): New function. | |
1383 | * exp_ch7.adb: Minor reformatting. | |
1384 | ||
1385 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1386 | ||
1387 | * sem_ch13.adb (Get_Cursor_Type): Use scope of iterable type | |
1388 | to find declaration for Cursor, to handle properly the case of | |
1389 | a discriminated iterable type. | |
1390 | ||
1391 | 2014-02-19 Vincent Celier <celier@adacore.com> | |
1392 | ||
1393 | * gnatcmd.adb (GNATCmd): Always replace the object dirs of | |
1394 | imported library projects with the library ALI dirs, when setting | |
1395 | the object paths. | |
1396 | * prj-env.ads (Ada_Objects_Path): Correct comments about | |
1397 | argument Including_Libraries. | |
1398 | ||
4877d85f AC |
1399 | 2014-02-19 Gary Dismukes <dismukes@adacore.com> |
1400 | ||
1401 | * gnat_rm.texi: Minor spelling fixes. | |
1402 | ||
1403 | 2014-02-19 Doug Rupp <rupp@adacore.com> | |
1404 | ||
1405 | * init.c: Remove unneeded code. | |
1406 | * fe.h (Float_Format): New macro | |
1407 | * gcc-interface/trans.c (gigi): On VMS, set vms_float_format. | |
1408 | ||
f660fba6 AC |
1409 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
1410 | ||
1411 | * sem_prag.adb (Check_Refined_Global_Item): | |
1412 | A state or variable acts as a constituent only it is part of an | |
1413 | encapsulating state and the state has visible refinement. | |
1414 | ||
1415 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1416 | ||
1417 | * sem_ch6.adb (Analyze_Subprogram_Contract): Do not warn on a | |
1418 | postcondition for a function when the expression does not mention | |
1419 | 'Result but the function has in-out parameters. | |
1420 | ||
1421 | 2014-02-19 Robert Dewar <dewar@adacore.com> | |
1422 | ||
1423 | * gnat_rm.texi: Add documentation on Value_Size forcing biased | |
1424 | representation. | |
1425 | ||
b4f149c2 AC |
1426 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> |
1427 | ||
1428 | * lib-xref.ads Remove the small table of letter and symbol usage as we | |
1429 | already have one. | |
1430 | ||
1431 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1432 | ||
1433 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Emit specific error | |
1434 | messages depending on the offending misplaced aspect specifications. | |
1435 | (Diagnose_Misplaced_Aspect_Specifications): New routine. | |
1436 | ||
1437 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1438 | ||
1439 | * sem_ch13.adb (Get_Cursor): Utility to retrieve cursor type | |
1440 | for iterable aspect primitives. | |
1441 | (Resolve_Iterable_Operation): Use expected signature of iterable | |
1442 | aspect to resolve primitive when overloading is present. | |
1443 | (Validate_Iterable_Aspect, Analyze_Aspects_At_Freeze_Point): use it. | |
1444 | (Check_Signature): Removed. | |
1445 | ||
ddd2bec5 AC |
1446 | 2014-02-19 Yannick Moy <moy@adacore.com> |
1447 | ||
1448 | * sem_ch10.adb (Analyze_Proper_Body): Issue error on missing | |
1449 | subunit in GNATprove_Mode. | |
1450 | * sinfo.ads (GNATprove_Mode): Document error issued in GNATprove_Mode. | |
1451 | ||
1452 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1453 | ||
1454 | * lib-xref.ads Alphabetize the contents of table | |
1455 | Xref_Entity_Letters. Add an entry in table Xref_Entity_Letters | |
1456 | for E_Abstract_State. List all letters and symbols in use. | |
1457 | * sem_prag.adb (Analyze_Abstract_State): Update all calls | |
1458 | to Create_Abstract_State to reflect the new signature. | |
1459 | (Create_Abstract_State): Change subprogram profile and update | |
1460 | the comment on usage. Use the proper location of the state | |
1461 | declaration when creating a new abstract state entity. Do not | |
1462 | generate an external name, but simply reuse the name coming from | |
1463 | the state declaration. | |
1464 | ||
3a845e07 RD |
1465 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1466 | ||
1467 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure | |
1468 | declarations get properly inserted in Modify_Tree_For_C mode. | |
1469 | * sinfo.ads: Minor comment addition. | |
1470 | ||
82d4f390 RD |
1471 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1472 | ||
1473 | * par-ch9.adb, exp_ch5.adb, sem_ch5.adb, exp_attr.adb, sem_util.adb, | |
1474 | sem_util.ads, sem_ch13.adb, sem_ch13.ads: Minor reformatting. | |
1475 | ||
dd2bf554 ES |
1476 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> |
1477 | ||
1478 | * style.adb (Missing_Overriding): Warning does not apply in | |
1479 | language versions prior to Ada 2005. | |
1480 | * snames.ads-tmpl: Add Name_Iterable and Attribute_Iterable. | |
1481 | * sem_attr.adb: Add Attribute_Iterable where needed. | |
1482 | * exp_attr.adb: ditto. | |
1483 | * exp_ch5.adb (Expand_Formal_Container_Loop): New procedure to | |
1484 | handle loops and quantified expressions over types that have an | |
1485 | iterable aspect. Called from Expand_Iterator_Loop. | |
1486 | * sem_ch5.adb (Analyze_Iterator_Specification): Recognize types | |
1487 | with Iterable aspect. | |
1488 | * sem_ch13.adb (Validate_Iterable_Aspect): Verify that the | |
1489 | subprograms specified in the Iterable aspect have the proper | |
1490 | signature involving container and cursor. | |
1491 | (Check_Aspect_At_Freeze_Point): Analyze value of iterable aspect. | |
1492 | * sem_ch13.ads (Validate_Iterable_Aspect): New subprogram. | |
1493 | * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): | |
1494 | New procedure to retrieve one of the primitives First, Last, | |
1495 | or Has_Element, from the value of the iterable aspect of a | |
1496 | formal container. | |
1497 | (Is_Container_Element): Predicate to recognize expressions | |
1498 | that denote an element of one of the predefined containers, | |
1499 | for possible optimization. This subprogram is not currently | |
1500 | used, pending ARG discussions on the legality of the proposed | |
1501 | optimization. Worth preserving for eventual use. | |
1502 | (Is_Iterator): Recognize formal container types. | |
1503 | * aspects.ads, aspects.adb: Add Aspect_Iterable where needed. | |
1504 | ||
e0f63680 AC |
1505 | 2014-02-19 Robert Dewar <dewar@adacore.com> |
1506 | ||
1507 | * exp_attr.adb (Expand_Min_Max_Attribute): New procedure | |
1508 | (Expand_N_Attribute_Reference): Use this procedure for Min and Max. | |
1509 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object | |
1510 | declarations from list of actions. | |
1511 | * output.ads, output.adb (Delete_Last_Char): New procedure. | |
1512 | * sinfo.ads: Document handling of Mod and expression with actions | |
1513 | in Modify_Tree_For_C mode. | |
1514 | ||
1515 | 2014-02-19 Ed Schonberg <schonberg@adacore.com> | |
1516 | ||
1517 | * par-ch9.adb (P_Task): Add a null statement to produce a | |
1518 | well-formed task body when due to a previous syntax error the | |
1519 | statement list is empty. | |
1520 | ||
1521 | 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> | |
1522 | ||
1523 | * sem_prag.adb (Check_Dependency_Clause): Account | |
1524 | for the case where a state with a non-null refinement matches a | |
1525 | null output list. Comment reformatting. | |
1526 | (Inputs_Match): Copy a solitary input to avoid an assertion failure | |
1527 | when trying to match the same input in multiple clauses. | |
1528 | ||
1529 | 2014-02-19 Gary Dismukes <dismukes@adacore.com> | |
1530 | ||
1531 | * sem_attr.adb: Minor typo fix. | |
1532 | ||
2c9f8c0a AC |
1533 | 2014-02-18 Robert Dewar <dewar@adacore.com> |
1534 | ||
1535 | * cstand.adb (Build_Signed_Integer_Type): Minor change of formal | |
1536 | from Int to Nat (Build_Unsigned_Integer_Type): New procedure | |
1537 | (Create_Standard): Create new unsigned types. | |
1538 | * exp_ch4.adb (Expand_N_Op_Mod): Expand mod in Modify_Tree_For_C | |
1539 | mode (Expand_N_Reference): Removed, problematic and not needed | |
1540 | for now. | |
1541 | * exp_ch4.ads (Expand_N_Reference): Removed, problematic and | |
1542 | not needed for now. | |
1543 | * exp_util.ads, exp_util.adb (Power_Of_Two): New function. | |
1544 | * expander.adb: Remove call to Expand_N_Reference (problematic, | |
1545 | and not needed now). | |
1546 | * sem_aux.ads, sem_aux.adb (Corresponding_Unsigned_Type): New function. | |
1547 | * stand.adb: Read and write unsigned type entities. | |
1548 | * stand.ads: Add new unsigned types. | |
1549 | ||
1550 | 2014-02-18 Hristian Kirtchev <kirtchev@adacore.com> | |
1551 | ||
1552 | * sem_ch4.adb (Analyze_Call): Do not mark a function call | |
1553 | as being inside an assertion expression as the flag is now removed. | |
1554 | (Check_Ghost_Subprogram_Call): Do not query the | |
1555 | In_Assertion_Expression flag as it is now removed, instead use | |
1556 | a predicate function. | |
1557 | * sem_elab.adb (Check_Internal_Call_Continue): Do not query the | |
1558 | In_Assertion_Expression flag as it is now removed, instead use | |
1559 | a predicate function. | |
1560 | * sem_prag.ads: Add new table Assertion_Expression_Pragma. | |
1561 | * sem_util.adb Add with and use clause for Sem_Prag. | |
1562 | (In_Assertion_Expression_Pragma): New routine. | |
1563 | * sem_util.ads (In_Assertion_Expression_Pragma): New routine. | |
1564 | * sinfo.adb (In_Assertion_Expression): Removed. | |
1565 | (Set_In_Assertion_Expression): Removed. | |
1566 | * sinfo.ads Remove flag In_Assertion_Expression along with its | |
1567 | use in nodes. | |
1568 | (In_Assertion_Expression): Removed along with | |
1569 | pragma Inline. (Set_In_Assertion_Expression): Removed along | |
1570 | with pragma Inline. | |
1571 | ||
1572 | 2014-02-18 Sergey Rybin <rybin@adacore.com frybin> | |
1573 | ||
1574 | * gnat_ugn.texi: gnatpp section: add note that '-j' cannot be | |
1575 | used together with '-r', '-rf' or '-rnb' options. | |
1576 | ||
1577 | 2014-02-18 Hristian Kirtchev <kirtchev@adacore.com> | |
1578 | ||
1579 | * sem_attr.adb (Analyze_Attribute): Comment | |
1580 | and code reformatting. Use separate routines to check the | |
1581 | legality of attribute 'Old in certain pragmas. Verify | |
1582 | the use of 'Old, 'Result and locally declared entities | |
1583 | within the prefix of 'Old. | |
1584 | (Check_References_In_Prefix): New routine. | |
1585 | (Check_Use_In_Contract_Cases): New routine. | |
1586 | (Check_Use_In_Test_Case): New routine. | |
1587 | ||
3b821fe9 VC |
1588 | 2014-02-18 Vincent Celier <celier@adacore.com> |
1589 | ||
1590 | * sem_aux.adb (Is_By_Reference_Type): For each components of | |
1591 | a record type, check also if the component is volatile as it | |
1592 | may have an aspect that makes it volatile. If it is, then the | |
1593 | record type is a by reference type. | |
1594 | ||
365c8496 RD |
1595 | 2014-02-18 Robert Dewar <dewar@adacore.com> |
1596 | ||
1597 | * exp_attr.adb: Minor reformatting. | |
1598 | * exp_ch4.ads, exp_ch4.adb (Expand_N_Reference): New procedure. | |
1599 | * exp_util.adb (Remove_Side_Effects): Add conditional expressions | |
1600 | as another case where we don't generate N_Reference nodes for | |
1601 | primitive types. | |
1602 | * expander.adb (Expand): Add call to Expand_N_Reference. | |
1603 | ||
aa9b151a AC |
1604 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
1605 | ||
1606 | * sem_prag.adb (Analyze_Refined_Pragma): Remove | |
1607 | local variable Pack_Spec. Refinement pragmas may now apply to | |
1608 | bodies of both visible and private subprograms. | |
1609 | ||
1610 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1611 | ||
1612 | * exp_attr.adb (Expand_Loop_Entry_Attribute): | |
1613 | Minor change (Attr => N) (Expand_Pred_Succ): New name | |
1614 | Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case | |
1615 | Max): Expand into if expression if Modify_Tree_For_C mode. | |
1616 | (Expand_N_Attribute_Reference, case Min): ditto | |
1617 | * sinfo.ads: Modify_Tree_For_C takes care of expanding Min and | |
1618 | Max attributes. | |
1619 | ||
1620 | 2014-02-06 Ed Schonberg <schonberg@adacore.com> | |
1621 | ||
1622 | * sem_ch3.adb (Analyze_Object_Declaration): Do not generate | |
1623 | predicate check if this is an internal declaration with | |
1624 | No_Initialization set, as for an expanded aggregate component. | |
1625 | ||
1626 | 2014-02-06 Doug Rupp <rupp@adacore.com> | |
1627 | ||
1628 | * init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal | |
1629 | conditions with severity of "SUCCESS" or "INFORMATIONAL". | |
1630 | ||
85d6bf87 AC |
1631 | 2014-02-06 Yannick Moy <moy@adacore.com> |
1632 | ||
1633 | * sem_prag.adb (Analyze_Pragma): Analyze pragma | |
1634 | Debug rewritten node before rewriting it as a null statement in | |
1635 | GNATprove mode. | |
1636 | ||
1637 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1638 | ||
1639 | * sem_attr.adb (Min_Max): New procedure. | |
1640 | (Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New | |
1641 | procedure. | |
1642 | ||
c3b266d6 AC |
1643 | 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
1644 | ||
1645 | * gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for | |
1646 | gnatmetric/gnatpp. | |
1647 | ||
1648 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1649 | ||
1650 | * sem_prag.adb (Analyze_Abstract_State): Update | |
1651 | all calls to Create_Abstract_State to pass the proper state | |
1652 | "declaration". | |
1653 | (Create_Abstract_State): Add new formal parameter | |
1654 | State_Decl along with comment on usage. Establish a link between | |
1655 | the abstract state entity and the state declaration. | |
1656 | ||
428684fd RD |
1657 | 2014-02-06 Robert Dewar <dewar@adacore.com> |
1658 | ||
1659 | * sem_attr.adb (Analyze_Attribute, case Max): Check for improper | |
1660 | comparison of unordered enumeration type. | |
1661 | (Analyze_Attribute, case Max): Check for improper comparison of | |
1662 | unordered enumeration type. | |
1663 | * sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to | |
1664 | sem_util.adb. | |
1665 | * sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference): | |
1666 | Moved here from Sem_Res. | |
1667 | ||
8c35b40a AC |
1668 | 2014-02-06 Robert Dewar <dewar@adacore.com> |
1669 | ||
1670 | * sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor | |
1671 | reformatting. | |
1672 | ||
1673 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1674 | ||
1675 | * sem_ch6.adb (Process_Formals): Error message reformatting. | |
1676 | ||
79b49b87 HK |
1677 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
1678 | ||
1679 | * sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local | |
1680 | variable Spec. Do not inherit the null indicator from the | |
1681 | subprogram body when generating the spec. | |
1682 | ||
4446a13f AC |
1683 | 2014-02-06 Robert Dewar <dewar@adacore.com> |
1684 | ||
1685 | * casing.adb (Determine_Casing): Consider SPARK_Mode to be | |
1686 | mixed case. | |
1687 | ||
1688 | 2014-02-06 Ed Schonberg <schonberg@adacore.com> | |
1689 | ||
1690 | * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false | |
1691 | when the function has a foreign convention, but not if only the | |
1692 | limited return type has such a convention. | |
1693 | ||
1694 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1695 | ||
1696 | * sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local | |
1697 | variable Spec. Comment reformatting. Use Copy_Separate_Tree | |
1698 | rather than New_Copy_Tree when building the corresponding | |
1699 | subprogram declaration. | |
1700 | ||
1701 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1702 | ||
1703 | * sem_prag.adb (Analyze_Global_Item): Remove | |
1704 | the mode-related checks on abstract states with enabled external | |
1705 | properties. | |
1706 | (Property_Error): Removed. | |
1707 | ||
1708 | 2014-02-06 Javier Miranda <miranda@adacore.com> | |
1709 | ||
1710 | * lib-xref.adb (Generate_Reference): When | |
1711 | generating the reference to the first private entity take care | |
1712 | of handling swapped entities. | |
1713 | ||
e09a5598 AC |
1714 | 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
1715 | ||
1716 | * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for | |
1717 | gnatmetric. | |
1718 | ||
1719 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1720 | ||
1721 | * exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater | |
1722 | than the word size when operating in Modify_Tree_For_C mode. | |
1723 | * sinfo.ads: Add documentation section on Modify_Tree_For_C mode. | |
1724 | ||
1725 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1726 | ||
1727 | * erroutc.adb (Warning_Specifically_Suppressed.Matches): | |
1728 | compare is case insensitive. | |
1729 | * gnat_rm.texi: Document that string compare for Warnings Off | |
1730 | is now case insensitive. | |
1731 | ||
5216b599 AC |
1732 | 2014-02-06 Eric Botcazou <ebotcazou@adacore.com> |
1733 | ||
1734 | * gnat_rm.texi: Small wording tweak. | |
1735 | ||
1736 | 2014-02-06 Pascal Obry <obry@adacore.com> | |
1737 | ||
1738 | * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns | |
1739 | and Included_Artifact_Patterns attribute definitions. | |
1740 | ||
1741 | 2014-02-06 Yannick Moy <moy@adacore.com> | |
1742 | ||
1743 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set | |
1744 | SPARK_Mode pragma component for all subprograms, including stubs. | |
1745 | ||
1746 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1747 | ||
1748 | * sem_ch10.adb (Analyze_Package_Body_Stub): Maintain | |
1749 | the configuration options of the enclosing context in a | |
1750 | stack-like fasion. | |
1751 | (Analyze_Subprogram_Body_Stub): Maintain the | |
1752 | configuration options of the enclosing context in a stack-like | |
1753 | fashion. | |
1754 | ||
1755 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1756 | ||
1757 | * debug.adb: -gnatd.u sets Modify_Tree_For C | |
1758 | * exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out | |
1759 | if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto. | |
1760 | (Expand_N_Op_Arithmetic_Right_Shift): ditto. | |
1761 | * exp_intr.adb (Expand_Shift): Call expander so we do | |
1762 | Modify_Tree_For_C expansions. | |
1763 | * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C | |
1764 | if -gnatd.u set. | |
1765 | ||
1766 | 2014-02-06 Fedor Rybin <frybin@adacore.com> | |
1767 | ||
1768 | * prj-proc.ads (Tree_Loaded_Callback): new type Callback used | |
1769 | after the phase 1 of the processing of each aggregated project | |
1770 | to get access to project trees of aggregated projects. | |
1771 | (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded | |
1772 | If specified, On_New_Tree_Loaded is called after each aggregated | |
1773 | project has been processed succesfully. | |
1774 | (Process): new parameter On_New_Tree_Loaded. | |
1775 | * prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded | |
1776 | callback added after processing of each aggregated project. | |
1777 | (Recursive_Process): new parameter On_New_Tree_Loaded. | |
1778 | (Process): new parameter On_New_Tree_Loaded. | |
1779 | (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded. | |
1780 | * prj-conf.ads (Parse_Project_And_Apply_Config): new parameter | |
1781 | On_New_Tree_Loaded. | |
1782 | * prj-conf.adb (Parse_Project_And_Apply_Config): new parameter | |
1783 | On_New_Tree_Loaded. | |
1784 | ||
1785 | 2014-02-06 Bob Duff <duff@adacore.com> | |
1786 | ||
1787 | * gnat_ugn.texi: Implement --insert-blank-lines and | |
1788 | --preserve-blank-lines switches. | |
1789 | ||
8c7ff9a0 AC |
1790 | 2014-02-06 Sergey Rybin <rybin@adacore.com frybin> |
1791 | ||
1792 | * gnat_ugn.texi, vms_data.ads: Add documentation of -j option for | |
1793 | gnatelim. | |
1794 | ||
1795 | 2014-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
1796 | ||
1797 | * gnat_rm.texi (Pragma Optimize_Alignment): Document the effect | |
1798 | of the pragma on individual objects. | |
1799 | ||
1800 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1801 | ||
1802 | * einfo.adb Node29 is now used as BIP_Initialization_Call. | |
1803 | (BIP_Initialization_Call): New routine. | |
1804 | (Set_BIP_Initialization_Call): New routine. | |
1805 | (Write_Field29_Name): Add an entry for constants and variables. | |
1806 | * einfo.ads Add new attribute BIP_Initialization_Call and update | |
1807 | its usage in nodes. | |
1808 | (BIP_Initialization_Call): New routine along with pragma Inline. | |
1809 | (Set_BIP_Initialization_Call): New routine along with pragma Inline. | |
1810 | * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): | |
1811 | Add local declaration Res_Decl. Capture the build-in-place | |
1812 | initialization call when the related object declaration has | |
1813 | created a transient block. | |
1814 | * exp_ch7.adb (Process_Transient_Objects): Add local variable | |
1815 | Fin_Insrt. Recognize a scenario where an object declaration acts | |
1816 | as a transient context and is initialized by a build-in-place | |
1817 | function call. | |
1818 | ||
a0367a97 AC |
1819 | 2014-02-06 Pascal Obry <obry@adacore.com> |
1820 | ||
1821 | * prj-util.adb (For_Interface_Sources): Fix handling of required | |
1822 | bodies for aggregate libs. | |
1823 | ||
1824 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1825 | ||
1826 | * nlists.ads: Minor comment clarifications. | |
1827 | ||
1828 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1829 | ||
1830 | * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C | |
1831 | if gnatd.V set. | |
1832 | * opt.ads (Modify_Tree_For_C): New flag. | |
1833 | * output.ads, output.adb (Last_Char): New function. | |
1834 | ||
1835 | 2014-02-06 Pascal Obry <obry@adacore.com> | |
1836 | ||
1837 | * projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add | |
1838 | share/gpr for cross-builds. | |
1839 | ||
155b4fcc RD |
1840 | 2014-02-06 Robert Dewar <dewar@adacore.com> |
1841 | ||
1842 | * exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb: | |
1843 | Minor reformatting and code clean ups. | |
1844 | ||
49d8d177 PO |
1845 | 2014-02-06 Pascal Obry <obry@adacore.com> |
1846 | ||
1847 | * prj-util.adb (For_Interface_Sources): Skip non compilable languages. | |
1848 | * prj.ads: Minor typo fix in comment. | |
1849 | ||
8e1e62e3 AC |
1850 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> |
1851 | ||
1852 | * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add | |
1853 | local variable Expr. Flag clauses with extra parenthesis as this | |
1854 | is not allowed by the syntax of the pragma. Code reformatting. | |
1855 | ||
1856 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1857 | ||
1858 | * exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize | |
1859 | variables. Rename variabme Tnn to Temp. Do not create a temporary | |
1860 | if assertions are disabled. Find enclosing routine _Postconditions | |
1861 | and insert the temporary that captures the value of the prefix | |
1862 | before the routine. | |
1863 | * exp_ch6.adb (Build_Postconditions_Procedure): | |
1864 | Insert the generated _Postconditions routine | |
1865 | before the first source declaration of the related | |
1866 | subprogram. | |
1867 | (Insert_After_Last_Declaration): Removed. | |
1868 | (Insert_Before_First_Source_Declaration): New routine. | |
1869 | ||
1870 | 2014-02-06 Ed Schonberg <schonberg@adacore.com> | |
1871 | ||
1872 | * exp_util.adb, exp_util.ads (Within_Internal_Subprogram): | |
1873 | Utility to determine whether current expansion is for the body | |
1874 | of a predefined primitive operation. | |
1875 | (Make_Predicate_Check): Use Within_Internal_Subpgram | |
1876 | * checks.adb (Apply_Predicate_Check): Use | |
1877 | Within_Internal_Subprogram | |
1878 | * sem_ch13.adb (Freeze_Entity_Checks): Ditto. | |
1879 | ||
1880 | 2014-02-06 Pascal Obry <obry@adacore.com> | |
1881 | ||
1882 | * prj.ads, prj-util.adb: Minor reformatting. | |
1883 | ||
cbee4f74 AC |
1884 | 2014-02-06 Ed Schonberg <schonberg@adacore.com> |
1885 | ||
1886 | * exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item): | |
1887 | Take into account the Split_PPC flag to ensure that conjuncts | |
1888 | in a composite postcondition aspect are tested in source order. | |
1889 | ||
1890 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1891 | ||
1892 | * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal | |
1893 | use of SPARK_Mode. | |
1894 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag | |
1895 | illegal use of SPARK_Mode. | |
1896 | (Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode. | |
1897 | * sem_prag.adb (Analyze_Pragma): Code reformatting. | |
1898 | * sem_util.adb Add with and use clause for Aspects. | |
1899 | (Check_SPARK_Mode_In_Generic): New routine. | |
1900 | * sem_util.ads (Check_SPARK_Mode_In_Generic): New routine. | |
1901 | ||
1902 | 2014-02-06 Thomas Quinot <quinot@adacore.com> | |
1903 | ||
1904 | * a-calend.adb (Formatting_Operations.Split): Ensure that | |
1905 | Time_Error is raised for invalid time values. | |
1906 | ||
e2ef0ff6 AC |
1907 | 2014-02-06 Arnaud Charlet <charlet@adacore.com> |
1908 | ||
1909 | * sem_prag.adb (Analyze_Pragma): Rewrite as a null statement | |
1910 | in GNATprove_Mode. | |
1911 | ||
1912 | 2014-02-06 Robert Dewar <dewar@adacore.com> | |
1913 | ||
1914 | * einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag. | |
1915 | * exp_ch3.adb (Build_Dcheck_Function): Set | |
1916 | Is_Discriminant_Check_Function. | |
1917 | ||
1918 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1919 | ||
1920 | * exp_ch7.adb (Is_Subprogram_Call): Inspect | |
1921 | the original tree in certain cases where a construct has been | |
1922 | factored out and replaced by a reference to a temporary. | |
1923 | ||
1924 | 2014-02-06 Ed Schonberg <schonberg@adacore.com> | |
1925 | ||
1926 | * sem_ch3.adb (Process_Full_View): Fix typo in the order of | |
1927 | parameters when propagating predicate function to full view. | |
1928 | (Find_Type_Of_Object): Freeze base type of object type to catch | |
1929 | premature use of discriminated private type without a full view. | |
1930 | ||
97779c34 AC |
1931 | 2014-02-06 Robert Dewar <dewar@adacore.com> |
1932 | ||
1933 | * sprint.adb: Minor reformatting. | |
1934 | ||
1935 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1936 | ||
1937 | * exp_ch4.adb (Process_Transient_Object): Add local variable | |
1938 | Temp_Ins. When the transient object is initialized by an | |
1939 | aggregate, the hook must capture the object after the last | |
1940 | component assignment takes place. | |
1941 | * exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to | |
1942 | routine Is_Subprogram_Call. | |
1943 | (Is_Subprogram_Call): Inspect an | |
1944 | aggregate that has been heavily expanded for subprogram calls. | |
1945 | (Process_Transient_Objects): Add local variables Expr, Ptr_Id | |
1946 | and Temp_Ins. Remove the nested declare block and adjust the | |
1947 | indentation. When the transient object is initialized by an | |
1948 | aggregate, the hook must capture the object after the last | |
1949 | component assignment takes place. | |
1950 | ||
1951 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1952 | ||
1953 | * sem_prag.adb (Analyze_Global_Item): Detect illegal uses of | |
1954 | external states with enabled properties that do not match the | |
1955 | global mode. | |
1956 | (Property_Error): New routine. | |
1957 | * sem_res.adb (Property_Error): New routine. | |
1958 | (Resolve_Actuals): Detect illegal uses of external variables with | |
1959 | enabled properties in procedure calls that do not match the mode of | |
1960 | the corresponding formal parameter. | |
1961 | ||
1962 | 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1963 | ||
1964 | * sem_util.adb (Has_Enabled_Property): Rename | |
1965 | formal parameter Prop_Nam to Property. Update the comment on usage | |
1966 | and all occurrences in the body. Add local variable Prop_Nam. When | |
1967 | inspecting a property with an expression, the property name | |
1968 | appears as the first choice of the component association. | |
1969 | ||
3e247e58 RD |
1970 | 2014-02-04 Robert Dewar <dewar@adacore.com> |
1971 | ||
1972 | * exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting. | |
1973 | ||
2db5b47e AC |
1974 | 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
1975 | ||
1976 | * sem_aggr.adb: Change "runtime" to "run time" in warning message, | |
1977 | for consistency with other messages. | |
1978 | ||
1979 | 2014-02-04 Ed Schonberg <schonberg@adacore.com> | |
1980 | ||
1981 | * exp_ch5.adb (Expand_Iterator_Loop): For a container element | |
1982 | iterator, indicate that the element is a constant if the container | |
1983 | type does not have a variable indexing aspect. | |
1984 | * sem_ch8.adb (Analyze_Object_Renaming): If the entity is already | |
1985 | marked as constant, do not reset its Ekind, to ensure that | |
1986 | container elements in an element loop are not modified if the | |
1987 | container (e.g. a hashed set) only has a constant indexing aspect. | |
1988 | ||
1989 | 2014-02-04 Arnaud Charlet <charlet@adacore.com> | |
1990 | ||
1991 | * g-souinf.ads: Subprograms in this unit are actually not pure. | |
1992 | * freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics. | |
1993 | * einfo.ads (Is_Pure): Update doc to match implementation. | |
1994 | ||
5a521b8a AC |
1995 | 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
1996 | ||
1997 | * exp_ch13.adb: Minor spelling fix. | |
1998 | ||
1999 | 2014-02-04 Robert Dewar <dewar@adacore.com> | |
2000 | ||
2001 | * opt.ads: Minor comment update. | |
2002 | ||
2003 | 2014-02-04 Robert Dewar <dewar@adacore.com> | |
2004 | ||
2005 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite | |
2006 | instead of Replace. | |
2007 | ||
2008 | 2014-02-04 Ed Schonberg <schonberg@adacore.com> | |
2009 | ||
2010 | * sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings | |
2011 | on null expressions if component type is non-null, when the | |
2012 | corresponding association covers an empty range of index values. | |
2013 | ||
81bd8c90 AC |
2014 | 2014-02-04 Robert Dewar <dewar@adacore.com> |
2015 | ||
2016 | * sinfo.ads: Further comments on N_Expression_With_Actions node. | |
2017 | ||
2018 | 2014-02-04 Hristian Kirtchev <kirtchev@adacore.com> | |
2019 | ||
2020 | * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global | |
2021 | variables Out_Items and Ref_Global. Remove local constant | |
2022 | Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7 | |
2023 | and D8. Remove the useless collection of global items as this | |
2024 | was a leftover from an earlier version of the routine. Move | |
2025 | several routines out to avoid deep nesting and indentation. | |
2026 | (Inputs_Match): Add formal parameter Dep_Clause. Rename formal | |
2027 | parameter Do_Checks to Post_Errors. Update the comment on usage. | |
2028 | (Is_Matching_Input): Renamed to Input_Match. Add formal parameters | |
2029 | Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks | |
2030 | to Post_Errors. Update the comment on usage. Account for the | |
2031 | case where a self referential state may have a null input_list. | |
2032 | (Is_Self_Referential): New routine. | |
2033 | ||
2034 | 2014-02-04 Ed Schonberg <schonberg@adacore.com> | |
2035 | ||
2036 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the | |
2037 | entity renames an expression, as in the case of an object of | |
2038 | an unconstrained type initialized by a function call, defer the | |
2039 | rewriting of the expression to the expander. | |
2040 | * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case | |
2041 | 'Alignment): If the entity renames an expression, introduce | |
2042 | temporary to capture value, and rewrite original declaration to | |
2043 | use temporary. | |
2044 | ||
ebdaa81b AC |
2045 | 2014-02-04 Gary Dismukes <dismukes@adacore.com> |
2046 | ||
2047 | * g-comlin.adb: Minor typo fix. | |
2048 | ||
2049 | 2014-02-04 Ed Schonberg <schonberg@adacore.com> | |
2050 | ||
2051 | * freeze.adb (Freeze_All): Types derived from a formal | |
2052 | access_to_classwide type do not have a finalization master. | |
2053 | ||
2054 | 2014-02-04 Robert Dewar <dewar@adacore.com> | |
2055 | ||
2056 | * sprint.adb: Minor reformatting. | |
2057 | ||
2058 | 2014-02-04 Robert Dewar <dewar@adacore.com> | |
2059 | ||
2060 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate | |
2061 | cases where Actions is a null list. | |
2062 | * sinfo.ads (N_Expression_With_Actions): Actions can be | |
2063 | temporarily empty during semantic analysis, but must be non-empty | |
2064 | in the final expanded tree. | |
2065 | ||
d66f9f0b AC |
2066 | 2014-01-31 Robert Dewar <dewar@adacore.com> |
2067 | ||
2068 | * exp_ch9.adb: Minor reformatting. | |
2069 | ||
2070 | 2014-01-31 Emmanuel Briot <briot@adacore.com> | |
2071 | ||
2072 | * g-comlin.adb (Set_Command_Line): Take the switches | |
2073 | configuration from the Command_Line_Config. | |
2074 | ||
2075 | 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> | |
2076 | ||
2077 | * sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed | |
2078 | refinement clause. | |
2079 | ||
2080 | 2014-01-31 Vincent Celier <celier@adacore.com> | |
2081 | ||
2082 | * projects.texi: Add more documentation about others used as an | |
2083 | index in indexed attributes. | |
2084 | ||
f3920a13 AC |
2085 | 2014-01-31 Robert Dewar <dewar@adacore.com> |
2086 | ||
2087 | * gnat_ugn.texi: Minor update. | |
2088 | * gnat_rm.texi: Add example to Restriction_Warnings documentation. | |
2089 | * exp_util.adb: Minor reformatting. | |
2090 | ||
2091 | 2014-01-31 Ed Schonberg <schonberg@adacore.com> | |
2092 | ||
2093 | * exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier | |
2094 | depends on data that is not private to the protected object, | |
2095 | and potentially modifiable in unsynchronized fashion. | |
2096 | ||
31d922e3 AC |
2097 | 2014-01-31 Yannick Moy <moy@adacore.com> |
2098 | ||
2099 | * erroutc.adb (Validate_Specific_Warnings): Remove special case for | |
2100 | GNATprove_Mode. | |
2101 | ||
2102 | 2014-01-31 Robert Dewar <dewar@adacore.com> | |
2103 | ||
2104 | * prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute | |
2105 | for Unknown_Package. | |
2106 | * sem_ch6.adb, sem_attr.adb: Minor comment addition. | |
2107 | ||
2108 | 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> | |
2109 | ||
2110 | * exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite | |
2111 | the logic that generates a runtime check to determine the | |
2112 | controlled status of the object about to be allocated or | |
2113 | deallocated. Class-wide types now always use a runtime check | |
2114 | even if they appear as generic actuals. | |
2115 | (Find_Object): Detect | |
2116 | a special case that involves interface class-wide types because | |
2117 | the object appears as a complex expression. | |
2118 | ||
5b6f12c7 AC |
2119 | 2014-01-31 Ed Schonberg <schonberg@adacore.com> |
2120 | ||
2121 | * sem_ch6.adb (Process_Formals): In Ada2012 mode, place | |
2122 | subprogram with an incomplete untagged formals on the list of | |
2123 | private dependents, to verify that the type is properly completed | |
2124 | in the private part. | |
2125 | * sem_attr.adb: Code clean up. | |
2126 | ||
2127 | 2014-01-31 Robert Dewar <dewar@adacore.com> | |
2128 | ||
2129 | * exp_ch6.adb: Minor reformatting. | |
2130 | ||
2131 | 2014-01-31 Vincent Celier <celier@adacore.com> | |
2132 | ||
2133 | * prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute | |
2134 | when Pkg is unknown. | |
2135 | ||
d950f051 AC |
2136 | 2014-01-31 Hristian Kirtchev <kirtchev@adacore.com> |
2137 | ||
2138 | * sem_res.adb (Resolve_Entity_Name): Comment | |
2139 | reformatting. Allow volatile objects in various generated checks. | |
2140 | ||
2141 | 2014-01-31 Ed Schonberg <schonberg@adacore.com> | |
2142 | ||
2143 | * sem_attr.adb (Analyze_Attribute, case 'Update): For a record | |
2144 | component association, set the etype of the identifier, for | |
2145 | SPARK use. | |
2146 | ||
2147 | 2014-01-31 Ed Schonberg <schonberg@adacore.com> | |
2148 | ||
2149 | * exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not | |
2150 | declared in a package, not checks can apply to the subprogram. | |
2151 | ||
74c10109 AC |
2152 | 2014-01-31 Robert Dewar <dewar@adacore.com> |
2153 | ||
2154 | * erroutc.adb (Validate_Specific_Warnings): Warnings are | |
2155 | controlled -gnatw.W. | |
2156 | * gnat_ugn.texi: Document new warnings controlled by -gnatw.w. | |
2157 | * opt.ads (Warn_On_Warnings_Off): Now controls more cases. | |
2158 | ||
2159 | 2014-01-31 Arnaud Charlet <charlet@adacore.com> | |
2160 | ||
2161 | * exp_disp.adb: Update comments. | |
2162 | ||
2163 | 2014-01-31 Yannick Moy <moy@adacore.com> | |
2164 | ||
2165 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration, | |
2166 | Save_Global_References): Guard access to expression in aspect. | |
2167 | ||
2168 | 2014-01-31 Yannick Moy <moy@adacore.com> | |
2169 | ||
2170 | * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): | |
2171 | Issue an error when the pragma is applied to a generic unit, | |
2172 | a generic declaration, or inside a generic. | |
2173 | ||
2174 | 2014-01-31 Yannick Moy <moy@adacore.com> | |
2175 | ||
2176 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming | |
2177 | entity. | |
2178 | ||
bdfb8ec4 AC |
2179 | 2014-01-31 Robert Dewar <dewar@adacore.com> |
2180 | ||
2181 | * exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor | |
2182 | reformatting. | |
2183 | ||
2184 | 2014-01-31 Tristan Gingold <gingold@adacore.com> | |
2185 | ||
2186 | * exp_disp.adb: Add a historic note. | |
2187 | ||
2188 | 2014-01-31 Robert Dewar <dewar@adacore.com> | |
2189 | ||
2190 | * sem_warn.adb (Warn_On_Useless_Assignments): Add call to | |
2191 | Process_Deferred_References. | |
2192 | ||
2193 | 2014-01-31 Yannick Moy <moy@adacore.com> | |
2194 | ||
2195 | * erroutc.adb (Validate_Specific_Warnings): Do not issue a message for | |
2196 | ineffective pragma Warnings(Off) in GNATprove_Mode. | |
2197 | ||
5b0e6852 BD |
2198 | 2014-01-31 Bob Duff <duff@adacore.com> |
2199 | ||
2200 | * s-taskin.ads: Minor comment fix. | |
2201 | * s-tassta.adb (Abort_Dependents): Don't abort all dependents; | |
2202 | just direct dependents. If this is actually an abort, each task | |
2203 | will take care of aborting its dependents, so all dependents will | |
2204 | get aborted, as before. However, when this is called the second | |
2205 | time from Vulnerable_Complete_Master "for convenience" (i.e. to | |
2206 | kill off tasks waiting at terminate alternatives), aborting | |
2207 | indirect dependents is wrong, because it causes some unrelated | |
2208 | tasks to get aborted. | |
2209 | ||
a54ffd6c AC |
2210 | 2014-01-31 Robert Dewar <dewar@adacore.com> |
2211 | ||
2212 | * sem_ch4.adb: Minor reformatting. | |
2213 | ||
2214 | 2014-01-31 Robert Dewar <dewar@adacore.com> | |
2215 | ||
2216 | * exp_ch2.adb: New calling sequence for Is_LHS. | |
2217 | * frontend.adb: Add call to Process_Deferred_References. | |
2218 | * lib-xref.ads, lib-xref.adb (Process_Deferred_References): New. | |
2219 | (Deferred_References): New table. | |
2220 | * sem_ch8.adb (Find_Direct_Name): Make deferred reference table | |
2221 | entries. | |
2222 | (Find_Expanded_Name): Ditto. | |
2223 | * sem_res.adb: New calling sequence for Is_LHS. | |
2224 | * sem_util.ads, sem_util.adb (Is_LHS): New calling sequence. | |
2225 | * sem_warn.adb: Call Process_Deferred_References before issuing | |
2226 | warnings. | |
2227 | ||
2228 | 2014-01-31 Tristan Gingold <gingold@adacore.com> | |
2229 | ||
2230 | * exp_util.adb (Corresponding_Runtime_Package): Restrict the | |
2231 | use of System_Tasking_Protected_Objects_Single_Entry. | |
2232 | * exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter | |
2233 | of Protected_Single_Entry_Call. | |
2234 | (Expand_N_Timed_Entry_Call): Remove single_entry case. | |
2235 | * exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove | |
2236 | single_entry case. | |
2237 | (Make_Disp_Timed_Select_Body): Likewise. | |
2238 | * rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove. | |
2239 | * s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove | |
2240 | Self_Id parameter. | |
2241 | (Wakeup_Entry_Caller): Remove Self_ID and New_State parameters. | |
2242 | (Wait_For_Completion_With_Timeout): Remove. | |
2243 | (Protected_Single_Entry_Call): Remove Mode parameter | |
2244 | (always Simple_Call). | |
2245 | (Service_Entry): Remove Self_Id constant (not used anymore). | |
2246 | (Timed_Protected_Single_Entry_Call): Remove. | |
2247 | * s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove. | |
2248 | (Protected_Single_Entry_Call): Remove Mode parameter. | |
2249 | ||
4f7c83ca AC |
2250 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2251 | ||
2252 | * einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post. | |
2253 | * einfo.ads (Get_Pragma): Update the comment on special pragmas | |
2254 | handled by this routine. | |
2255 | * sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post | |
2256 | to the contract of the related subprogram body. | |
2257 | * sem_util.adb (Add_Contract_Item): Handle the insertion of | |
2258 | pragma Refined_Post into the contract of a subprogram body. | |
2259 | * sinfo.ads Update the documentation of node N_Contract. | |
2260 | * sem_res.adb (Resolve_Entity_Name): Add a guard | |
2261 | to detect abstract states and variables only when checking the | |
2262 | SPARK 2014 rules concerning volatile object placement. | |
2263 | ||
2264 | 2014-01-29 Ed Schonberg <schonberg@adacore.com> | |
2265 | ||
2266 | * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance, | |
2267 | null is compatible with any access type. | |
2268 | ||
385e1a99 HK |
2269 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2270 | ||
2271 | * sem_util.adb (Find_Placement_In_State_Space): Assume that the default | |
2272 | placement is not in a package. | |
2273 | ||
159a5104 AC |
2274 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2275 | ||
2276 | * sem_util.adb (Has_Enabled_Property): Compare the character field of | |
2277 | the sole property. | |
2278 | ||
2279 | 2014-01-29 Robert Dewar <dewar@adacore.com> | |
2280 | ||
2281 | * sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb, | |
2282 | vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb, | |
2283 | sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting. | |
2284 | ||
87e9b935 RD |
2285 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2286 | ||
2287 | * sem_util.ads, sem_util.adb (In_Pragma_Expression): New function. | |
2288 | * sem_warn.adb (Check_References): Suppress warnings if inside | |
2289 | Initial_Condition pragma. | |
2290 | ||
98b5d298 HK |
2291 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2292 | ||
2293 | * sem_prag.adb (Check_Missing_Part_Of): List all values of | |
2294 | State_Space_Kind for readability reasons. Do not emit an error on | |
2295 | a private item when the enclosing package lacks aspect/pragma | |
2296 | Abstract_State. Do not emit an error on a private package | |
2297 | instantiation when the corresponding generic template lacks | |
2298 | visible state. | |
2299 | (Has_Visible_State): New routine. | |
2300 | * sem_util.adb (Find_Placement_In_State_Space): The visible | |
2301 | declarations of any kind of child units in general act as proper | |
2302 | placement location. | |
2303 | ||
a90bd866 RD |
2304 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2305 | ||
2306 | * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, | |
2307 | ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, | |
2308 | a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, | |
2309 | a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, | |
2310 | atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, | |
2311 | a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, | |
2312 | cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, | |
2313 | eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, | |
2314 | exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, | |
2315 | exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, | |
2316 | freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, | |
2317 | gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, | |
2318 | krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, | |
2319 | live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, | |
2320 | par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, | |
2321 | par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, | |
2322 | par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, | |
2323 | rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, | |
2324 | s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, | |
2325 | sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, | |
2326 | sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, | |
2327 | sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, | |
2328 | sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, | |
2329 | sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, | |
2330 | s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, | |
2331 | sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, | |
2332 | s-regpat.adb, s-secsta.adb, s-stalib.ads, | |
2333 | s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, | |
2334 | s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, | |
2335 | s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, | |
2336 | system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, | |
2337 | urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. | |
2338 | ||
0d66cee5 AC |
2339 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2340 | ||
2341 | * expander.adb: Minor reformatting. | |
2342 | ||
2343 | 2014-01-29 Javier Miranda <miranda@adacore.com> | |
2344 | ||
2345 | * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to | |
2346 | previous patch. | |
2347 | ||
b7cb4a61 AC |
2348 | 2014-01-29 Javier Miranda <miranda@adacore.com> |
2349 | ||
2350 | * exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code | |
2351 | that checks if an interface types defines the predefined "=" | |
2352 | function because the compiler was erroneously not generating the | |
2353 | predefined "=" primitive as soon as the name of some interface | |
2354 | primitive is "=" (formals were not checked). | |
2355 | ||
2356 | 2014-01-29 Ed Schonberg <schonberg@adacore.com> | |
2357 | ||
2358 | * expander.adb (Expander): In GNATprove mode, do not process | |
2359 | transient scopes: they are in general not created in this mode, | |
2360 | and an attempt to examine them will lead to constraint errors when | |
2361 | processing configuration pragmas that have analyzable expressions. | |
2362 | ||
35d4d899 VC |
2363 | 2014-01-29 Vincent Celier <celier@adacore.com> |
2364 | ||
2365 | * clean.adb (Gnatclean): Fail if main project is an aggregate | |
2366 | project or if there is an aggregate library project in the | |
2367 | project tree. | |
2368 | * gnatcmd.adb: Fail if the main project is an aggregate project | |
2369 | or if there is an aggegate library project in the project tree. | |
2370 | * make.adb (Initialize): : Fail if main project is an aggregate | |
2371 | project or if there is an aggregate library project in the | |
2372 | project tree. | |
2373 | * makeutl.ads (Aggregate_Libraries_In): New Boolean function. | |
2374 | * prj-makr.adb (Initialize): Fail if the main project is an | |
2375 | aggregate project or an aggregate library project. | |
2376 | ||
88de755d VC |
2377 | 2014-01-29 Vincent Celier <celier@adacore.com> |
2378 | ||
2379 | * prj-part.adb (Check_Import_Aggregate): New procedure | |
2380 | to check if an imported project is an aggregate project. | |
2381 | (Parse_Single_Project): Call Check_Import_Aggregate | |
2382 | * projects.texi: Document that aggregate projects cannot be | |
2383 | extended or imported. | |
2384 | ||
d0e69402 RD |
2385 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2386 | ||
2387 | * exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor | |
2388 | reformatting and code clean up. | |
2389 | * gnat_ugn.texi: Add documentation section on Atomic Variables | |
2390 | and Optimization. | |
2391 | ||
5627964c AC |
2392 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2393 | ||
2394 | * einfo.adb Flag264 is now unused. | |
2395 | (Has_Body_References): Removed. | |
2396 | (Set_Has_Body_References): Removed. | |
2397 | (Write_Entity_Flags): Remove the output for flag Has_Body_References. | |
2398 | * einfo.ads Update the comment on usage of attribute | |
2399 | Body_References. Remove attribute Has_Body_References and its | |
2400 | usage in nodes. | |
2401 | (Has_Body_References): Removed along with pragma Inline. | |
2402 | (Set_Has_Body_References): Removed along with pragma Inline. | |
2403 | * sem_prag.adb (Analyze_Global_Item): Move the call to | |
2404 | Record_Possible_Body_Reference in the state related checks | |
2405 | section. Add a comment intended function. | |
2406 | (Analyze_Input_Output): Move the call to Record_Possible_Body_Reference | |
2407 | in the state related checks section. Add a comment intended function. | |
2408 | (Analyze_Refinement_Clause): Cleanup the illegal body reference | |
2409 | reporting. Add a comment on timing of error reporting. | |
2410 | (Record_Possible_Body_Reference): Reimplement the routine. | |
2411 | ||
2412 | 2014-01-29 Vincent Celier <celier@adacore.com> | |
2413 | ||
2414 | * makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for | |
2415 | unit-based languages. | |
2416 | (Mains.Complete_Mains.Do_Complete): Use the source file project | |
2417 | tree when calling Find_File_Add_Extension. Use the correct | |
2418 | project name when reporting an error. | |
2419 | ||
d7af5ea5 HK |
2420 | 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> |
2421 | ||
2422 | * aspects.adb Add an entry for aspect Part_Of in table | |
2423 | Canonical_Aspect. | |
2424 | * aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id, | |
2425 | Aspect_Argument, Aspect_Names and Aspect_Delay. | |
2426 | * atree.h Define Elist9. | |
2427 | * atree.adb (Elist9): New routine. | |
2428 | (Set_Elist9): New routine. | |
2429 | * atree.ads (Elist9): New routine. | |
2430 | (Set_Elist9): New routine. | |
2431 | * einfo.adb Add Part_Of_Constituents and Encapsulating_State to | |
2432 | the list of node usage. Remove Refined_State from the list of | |
2433 | node usage. | |
2434 | (Encapsulating_State): New routine. | |
2435 | (Get_Pragma): | |
2436 | Handle pragma Part_Of; (Part_Of_Constituents): New routine. | |
2437 | (Refined_State): Removed. | |
2438 | (Set_Encapsulating_State): New routine. | |
2439 | (Set_Part_Of_Constituents): New routine. | |
2440 | (Set_Refined_State): Removed. | |
2441 | (Write_Field9_Name): Add an entry | |
2442 | for Part_Of_Constituents (Write_Field10_Name): Add an entry for | |
2443 | Encapsulating_State. Remove the entry for Refined_State. | |
2444 | * einfo.ads Add new attributes Encapsulating_State | |
2445 | and Part_Of_Constituents alond with their usage in | |
2446 | entities. Remove attribute Refined_State along with its | |
2447 | usage in entities. | |
2448 | (Encapsulating_State): New routine and | |
2449 | pragma Inline. (Get_Pragma): Update the comment on usage. | |
2450 | (Part_Of_Constituents): New routine and pragma Inline. | |
2451 | (Refined_State): Removed along with pragma Inline. | |
2452 | (Set_Encapsulating_State): New routine and pragma Inline. | |
2453 | (Set_Part_Of_Constituents): New routine and pragma Inline. | |
2454 | (Set_Refined_State): Removed along with pragma Inline. | |
2455 | * par-prag.adb Pragma Part_Of does not need any special processing | |
2456 | by the parser. | |
2457 | * sem_ch3.adb (Analyze_Declarations): Remove local variables | |
2458 | Body_Id and Prag. Call separate routines to analyze the | |
2459 | contract of a package [body]. | |
2460 | (Analyze_Object_Contract): | |
2461 | Update the comment on usage. Remove local variables | |
2462 | Items and Nam. Use Get_Pragma rather than traversing the | |
2463 | classification list. Verify whether the lack of indicator | |
2464 | Part_Of agrees with the placement of the variable in state space. | |
2465 | (Analyze_Object_Declaration): Initialize the encapsulating state | |
2466 | of a variable. (Requires_State_Refinement): Moved to sem_util. | |
2467 | * sem_ch7.adb (Analyze_Package_Body_Contract): New routine. | |
2468 | (Analyze_Package_Contract): New routine. | |
2469 | * sem_ch7.ads (Analyze_Package_Body_Contract): New routine. | |
2470 | (Analyze_Package_Contract): New routine. | |
2471 | * sem_ch10.adb (Decorate_State): Initialize the encapsulating | |
2472 | state and Part_Of constituents. | |
2473 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
2474 | Add processing for aspect Part_Of. Update all | |
2475 | calls to Decorate_Delayed_Aspect_And_Pragma. | |
2476 | (Check_Aspect_At_Freeze_Point): Aspect Part_Of does | |
2477 | not need any special processing at freeze time. | |
2478 | (Decorate_Delayed_Aspect_And_Pragma): Renamed to | |
2479 | Decorate_Aspect_And_Pragma. Add formal parameter Delayed and | |
2480 | update the associated comment. | |
2481 | * sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags. | |
2482 | (Analyze_Abstract_State): Add new global variable State_Id. Remove | |
2483 | local constants Errors and Loc. Remove local variables Is_Null | |
2484 | and State_Nam. Create the entity of the abstract state on the | |
2485 | spot, before all remaining checks are performed. Verify that a | |
2486 | missing Part_Of option agrees with the placement of the abstract | |
2487 | state within the state space. | |
2488 | (Analyze_Depends_In_Decl_Part): | |
2489 | Add new global variables Constits_Seen and States_Seen. Check | |
2490 | that a state and a corresponding constituent do not appear | |
2491 | in pragma [Refined_]Depends. | |
2492 | (Analyze_Global_In_Decl_Part): | |
2493 | Add new global variables Constits_Seen and States_Seen. Check | |
2494 | that a state and a corresponding constituent do not appear | |
2495 | in pragma [Refined_]Global. | |
2496 | (Analyze_Global_Item): | |
2497 | Remove the now obsolete code that deals with Part_Of. | |
2498 | Add the entity of the global item to the list of processed | |
2499 | items. (Analyze_Initializes_In_Decl_Part): Add new global | |
2500 | variables Constits_Seen and States_Seen. Check that a state | |
2501 | and a corresponding constituent do not appear in pragma | |
2502 | Initializes. | |
2503 | (Analyze_Initialization_Item): Add the entity | |
2504 | of the initialization item to the list of processed items. | |
2505 | (Analyze_Input_Item): Add the entity of the initialization | |
2506 | item to the list of processed items. | |
2507 | (Analyze_Input_Output): | |
2508 | Remove the now obsolete code that deals with Part_Of. Add the | |
2509 | entity of the input/output to the list of processed items. | |
2510 | (Analyze_Part_Of): New routine. | |
2511 | (Analyze_Part_Of_Option): Remove | |
2512 | local constant Par_State. Add local constant Encaps and local | |
2513 | variables Encaps_Id and Legal. Use Analyze_Part of to analyze | |
2514 | the option. Turn the related state into a Part_Of constituent | |
2515 | if the option is legal. | |
2516 | (Analyze_Pragma): Add processing | |
2517 | for pragma Part_Of. | |
2518 | (Analyze_Refined_State_In_Decl_Part): | |
2519 | Remove global constants Pack_Body and Spec_Id. Remove | |
2520 | global variables Abstr_States and Hidden_States. Add new | |
2521 | global variables Available_States, Body_Id, Body_States and | |
2522 | Spec_Id. Add new local constant Body_Decl. Reimplement the | |
2523 | logic that extracts the states available for refinement from | |
2524 | the related package and the body hidden states of the said | |
2525 | package. | |
2526 | (Analyze_Refinement_Clause): Add local variable Part_Of_Constits. | |
2527 | (Check_Applicable_Policy): Alphabetize body. | |
2528 | (Check_Dependency_Clause): Replace Refined_State | |
2529 | with Encapsulating_State. | |
2530 | (Check_Matching_Constituent): | |
2531 | Reimplement the logic that determines whether an item is a valid | |
2532 | / invalid constituent of the current refined state. Return when | |
2533 | a construct does not denote a valid abstract state. Extract the | |
2534 | list of Part_Of constituents for further analysis. Check that all | |
2535 | Part_Of constituents of a state have been used in its refinement. | |
2536 | (Check_Matching_State): Update the comment on usage. Operate | |
2537 | on the list of available states. | |
2538 | (Check_Missing_Part_Of): New routine. | |
2539 | (Check_Refined_Global_Item): Replace Refined_State | |
2540 | with Encapsulating_State. | |
2541 | (Check_State_And_Constituent_Use): New routine. | |
2542 | (Create_Abstract_State): New routine. | |
2543 | (Is_Matching_Input): Replace Refined_State with Encapsulating_State. | |
2544 | (Is_Part_Of): Removed. | |
2545 | (Collect_Body_States): New routine. | |
2546 | (Collect_Constituent): Replace Refined_State with Encapsulating_State. | |
2547 | (Collect_Hidden_States): Removed. | |
2548 | (Report_Unrefined_States): Change the profile of the procedure along | |
2549 | with the comment on usage. | |
2550 | (Report_Unused_Constituents): New routine. | |
2551 | (Report_Unused_Hidden_States): Removed. | |
2552 | (Report_Unused_States): New routine. | |
2553 | * sem_prag.ads (Check_Missing_Part_Of): New routine. | |
2554 | * sem_util.adb (Add_Contract_Item): Pragma Part_Of can now | |
2555 | appear in the classification pragmas of a package instantiation | |
2556 | or a variable. | |
2557 | (Find_Placement_In_State_Space): New routine. | |
2558 | (Is_Child): Removed. | |
2559 | (Is_Child_Or_Sibling): Remove formal | |
2560 | parameter Private_Child. Remove the private child checks. | |
2561 | (Requires_State_Refinement): Moved from sem_ch3. | |
2562 | * sem_util.ads Add new type State_Space_Kind along with | |
2563 | comment on its usage and values. | |
2564 | (Add_Contract_Item): Update the comment on usage. | |
2565 | (Find_Body_Discriminal): Alphabetize spec. | |
2566 | (Find_Placement_In_State_Space): New routine. | |
2567 | (Is_Child_Or_Sibling): Remove formal parameter Private_Child | |
2568 | and update the comment on usage. | |
2569 | (Requires_State_Refinement): Moved from sem_ch3. | |
2570 | * sinfo.ads: Update the documentation of N_Contract. | |
2571 | * snames.ads-tmpl The predefined name for Part_Of is now used | |
2572 | to denote a pragma. Add Pragma_Id for Part_Of. | |
2573 | ||
0830210c AC |
2574 | 2014-01-29 Emmanuel Briot <briot@adacore.com> |
2575 | ||
2576 | * s-regexp.adb (Create_Secondary_Table): Automatically grow the state | |
2577 | machine as needed. | |
2578 | (Dump): New subprogram. | |
2579 | ||
2580 | 2014-01-29 Tristan Gingold <gingold@adacore.com> | |
2581 | ||
2582 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add | |
2583 | Expand_Entry_Declaration to factorize code. | |
2584 | ||
1ae70618 ES |
2585 | 2014-01-29 Ed Schonberg <schonberg@adacore.com> |
2586 | ||
2587 | * checks.adb: minor clarification. | |
2588 | * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit | |
2589 | search for primitive operations to the entities that immediately | |
2590 | follow the type declaration. | |
2591 | ||
cca7f107 AC |
2592 | 2014-01-29 Tristan Gingold <gingold@adacore.com> |
2593 | ||
2594 | * exp_ch9.adb (Build_Protected_Entry): Do not call | |
2595 | Complete_Entry_Body anymore. | |
2596 | * rtsfind.ads (RE_Complete_Single_Entry_Body): Remove. | |
2597 | * s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove. | |
2598 | ||
2599 | 2014-01-29 Pierre-Marie Derodat <derodat@adacore.com> | |
2600 | ||
2601 | * s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty | |
2602 | string when the Name input bigger than allowed. Adapt the function | |
2603 | specification. | |
2604 | ||
2605 | 2014-01-29 Ed Schonberg <schonberg@adacore.com> | |
2606 | ||
2607 | * checks.adb (Install_Null_Excluding_Check): Do not emit warning | |
2608 | if expression is within a case_expression of if_expression. | |
2609 | ||
443dd772 RD |
2610 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2611 | ||
2612 | * exp_ch9.adb, inline.ads: Minor reformatting. | |
2613 | ||
4043fd0b AC |
2614 | 2014-01-29 Tristan Gingold <gingold@adacore.com> |
2615 | ||
2616 | * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions. | |
2617 | ||
2618 | 2014-01-29 Yannick Moy <moy@adacore.com> | |
2619 | ||
2620 | * inline.ads (Pending_Body_Info): Add SPARK_Mode and | |
2621 | SPARK_Mode_Pragma components to be able to analyze generic | |
2622 | instance. | |
2623 | * sem_ch12.adb (Analyze_Package_Instantiation, | |
2624 | Inline_Instance_Body, Need_Subprogram_Instance_Body, | |
2625 | Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation | |
2626 | for future analysis of the instance. | |
2627 | (Instantiate_Package_Body, | |
2628 | Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode | |
2629 | from instantiation to analyze the instance. | |
2630 | ||
cf3e6845 AC |
2631 | 2014-01-29 Robert Dewar <dewar@adacore.com> |
2632 | ||
2633 | * sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code | |
2634 | reorganization. | |
2635 | ||
2636 | 2014-01-29 Yannick Moy <moy@adacore.com> | |
2637 | ||
2638 | * gnat_rm.texi: Update description of SPARK_Mode pragma. | |
2639 | ||
2640 | 2014-01-29 Tristan Gingold <gingold@adacore.com> | |
2641 | ||
2642 | * exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries. | |
2643 | ||
f90d14ac AC |
2644 | 2014-01-29 Thomas Quinot <quinot@adacore.com> |
2645 | ||
2646 | * sem_ch4.adb (Find_Component_In_Instance): Update comment. | |
2647 | ||
2648 | 2014-01-29 Ed Schonberg <schonberg@adacore.com> | |
2649 | ||
2650 | * exp_util.adb (Build_Task_Image_Prefix): Indicate that the | |
2651 | resulting string is an internal entity. and thus requires no | |
2652 | initialization. This is relevant when Initialize_ Scalars is | |
2653 | enabled, because the resultant spurious initialization may lead to | |
2654 | secondary stack anomalies that produce a mangled name for a task. | |
2655 | ||
2656 | 2014-01-29 Yannick Moy <moy@adacore.com> | |
2657 | ||
2658 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode | |
2659 | not inherited from spec anymore. Check consistency | |
2660 | rules after processing of declarations. | |
2661 | * sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited | |
2662 | from spec anymore. Check consistency rules after processing of | |
2663 | declarations. | |
2664 | (Analyze_Package_Declaration): Set SPARK_Mode only for non-generic | |
2665 | packages. | |
2666 | * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new | |
2667 | consistency rules. | |
2668 | ||
b1d12996 AC |
2669 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
2670 | ||
2671 | * sem_res.adb (Resolve_Comparison_Op): Add type name/location | |
2672 | to unordered msg. | |
2673 | (Resolve_Range): Add type name/location to unordered msg. | |
2674 | ||
2675 | 2014-01-27 Claire Dross <dross@adacore.com> | |
2676 | ||
2677 | * a-cofove.adb/s (Copy): Add precondition so that Copy (Source, | |
2678 | Capacity) is only called with Capacity >= Length (Source) and | |
2679 | Capacity in Capacity_Range. | |
2680 | * a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s, | |
2681 | a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity) | |
2682 | is only called with Capacity >= Source.Capacity. Raise Capacity_Error | |
2683 | in the code is this is not the case. | |
2684 | ||
2685 | 2014-01-27 Thomas Quinot <quinot@adacore.com> | |
2686 | ||
2687 | * sem_ch4.adb (Analyze_Selected_Component): Fix handling of | |
2688 | selected component in an instance where the component of the | |
2689 | actual is not visibile at instantiation. | |
2690 | ||
fcadacf7 ES |
2691 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> |
2692 | ||
2693 | * sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type | |
2694 | has a dynamic predicate, generate freeze node for Actual_Subtype | |
2695 | at once, because the declaration of the corresponding predicate | |
2696 | function will make reference to it. | |
2697 | ||
8b4230c8 AC |
2698 | 2014-01-27 Tristan Gingold <gingold@adacore.com> |
2699 | ||
2700 | * exp_ch7.adb, exp_ch9.adb: Adjust comments. | |
2701 | ||
2702 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2703 | ||
2704 | * exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test | |
2705 | for 2**X optimization. | |
2706 | ||
2707 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2708 | ||
2709 | * a-suenst.adb: strings.utf_encoding.strings (Decode): Check | |
2710 | explicitly whether value is in range of Character, because the | |
2711 | library is typically compiled with range checks disabled, and | |
2712 | we cannot rely on the implicit check on the argument of 'Val. | |
2713 | ||
2714 | 2014-01-27 Vincent Celier <celier@adacore.com> | |
2715 | ||
2716 | * a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target, | |
2717 | not the Target to itself. | |
2718 | ||
2719 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2720 | ||
2721 | * vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor | |
2722 | changes to avoid incorrect use of unordered enum types. | |
2723 | ||
2724 | 2014-01-27 Thomas Quinot <quinot@adacore.com> | |
2725 | ||
2726 | * sem_ch4.adb: Minor reformatting. | |
2727 | ||
29077c18 AC |
2728 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
2729 | ||
2730 | * scn.adb (Check_End_Of_Line): Removed. | |
2731 | (Error_Long_Line): Removed. | |
2732 | (Determine_License): Use versions of above routines from Scanner. | |
2733 | * scng.adb (Check_End_Of_Line): Moved to spec. | |
2734 | (Error_Long_Line): Removed, no longer used. | |
2735 | * scng.ads (Check_End_Of_Line): Moved here from body. | |
2736 | ||
2737 | 2014-01-27 Tristan Gingold <gingold@adacore.com> | |
2738 | ||
2739 | * exp_ch7.adb (Build_Cleanup_Statements): Call | |
2740 | Build_Protected_Subprogram_Call_Cleanup to insert the cleanup | |
2741 | for protected body. | |
2742 | * exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise. | |
2743 | Remove Service_Name variable. | |
2744 | (Build_Protected_SUbprogam_Call_Cleanup): New procedure that | |
2745 | factorize code from the above subprograms. | |
2746 | * exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure. | |
2747 | ||
2757c5bf AC |
2748 | 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com> |
2749 | ||
2750 | * einfo.adb (Has_Option): Reimplemented. | |
2751 | * sem_prag.adb (Analyze_Refinement_Clause): Add global | |
2752 | variables AR_Constit, AW_Constit, ER_Constit, EW_Constit, | |
2753 | External_Constit_Seen and State. Add local variables Body_Ref, | |
2754 | Body_Ref_Elmt and Extra_State. Reimplement part of the logic to | |
2755 | avoid a cumbersome while pool. Verify the legality of an external | |
2756 | state and relevant properties. | |
2757 | (Check_External_Property): New routine. | |
2758 | (Check_Matching_State): Remove parameter profile | |
2759 | and update comment on usage. | |
2760 | (Collect_Constituent): Store the | |
2761 | relevant external property of a constituent. | |
2762 | * sem_util.adb (Async_Readers_Enabled): Update the call to | |
2763 | Has_Enabled_Property. | |
2764 | (Async_Writers_Enabled): Update the call to Has_Enabled_Property. | |
2765 | (Effective_Reads_Enabled): Update the call to Has_Enabled_Property. | |
2766 | (Effective_Writes_Enabled): Update the call to Has_Enabled_Property. | |
2767 | (Has_Enabled_Property): Rename formal parameter Extern to State_Id. | |
2768 | Update comment on usage. Reimplement the logic to recognize the various | |
2769 | formats of properties. | |
2770 | ||
2771 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2772 | ||
2773 | * par-ch5.adb: Minor reformatting. | |
2774 | ||
2775 | 2014-01-27 Tristan Gingold <gingold@adacore.com> | |
2776 | ||
2777 | * s-tposen.ads: Harmonize style and comments. | |
2778 | ||
2779 | 2014-01-27 Vincent Celier <celier@adacore.com> | |
2780 | ||
2781 | * projects.texi: Document that shared library projects, by | |
2782 | default, cannot import projects that are not shared library | |
2783 | projects. | |
2784 | ||
2785 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2786 | ||
2787 | * sem_ch8.adb (Find_Selected_Component): Use Replace instead | |
2788 | of Rewrite. | |
2789 | ||
2790 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2791 | ||
2792 | * a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if | |
2793 | any other exception is raised. | |
2794 | (Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is | |
2795 | still necessary to perform a conversion in order to remove overlong | |
2796 | encodings. | |
2797 | ||
00ba7be8 AC |
2798 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
2799 | ||
2800 | * exp_smem.adb: Minor reformatting. | |
2801 | ||
2802 | 2014-01-27 Thomas Quinot <quinot@adacore.com> | |
2803 | ||
2804 | * a-calfor.ads: Fix incorrect reference to operator "-" in comment. | |
2805 | ||
2806 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2807 | ||
2808 | * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate | |
2809 | nodes for operands to the original node for the call, to preserve | |
2810 | Original_Node pointers within the resolved operands, given that | |
2811 | they may have been rewritten as well. Previous approach copied | |
2812 | the operands into a new tree and lost those pointers. | |
2813 | ||
2814 | 2014-01-27 Claire Dross <dross@adacore.com> | |
2815 | ||
2816 | ||
2817 | * a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API. | |
2818 | ||
2819 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2820 | ||
2821 | * sem_util.adb (Check_Internal_Protected_Use): A call through | |
2822 | an anonymous access parameter of the current protected function | |
2823 | is not a potential modification of the current object. | |
2824 | ||
2825 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2826 | ||
2827 | * a-cobove.adb (Reserve_Capacity): Procedure raises | |
2828 | Capacity_Error, not Constraint_Error, when request cannot be | |
2829 | satisfied. | |
2830 | ||
2831 | 2014-01-27 Vincent Celier <celier@adacore.com> | |
2832 | ||
2833 | * a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target, | |
2834 | not the Target to itself. | |
2835 | ||
2836 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2837 | ||
2838 | * exp_ch4.adb (Expand_Concatenate): If the target of the | |
2839 | concatenation is a library-level entity, always use the off-line | |
2840 | version of concatenation, regardless of optimization level. This | |
2841 | is space-efficient, and prevents linking problems when some | |
2842 | units are compiled with different optimization levels. | |
2843 | ||
2844 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2845 | ||
2846 | * sem_ch5.adb: Code clean up. | |
2847 | ||
2848 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
2849 | ||
2850 | * par-ch5.adb (P_Iterator_Specification): Improve error recovery | |
2851 | when an array or container iterator includes a subtype indication, | |
2852 | which is only legal in an element iterator. | |
2853 | ||
8fdafe44 AC |
2854 | 2014-01-27 Thomas Quinot <quinot@adacore.com> |
2855 | ||
2856 | * exp_ch7.adb: Minor reformatting. | |
2857 | ||
2858 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2859 | ||
2860 | * opt.adb (SPARK_Mode): Default for library units is None rather | |
2861 | than Off. | |
2862 | * opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is | |
2863 | no longer ordered. | |
2864 | * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO | |
2865 | possibility. | |
2866 | * snames.ads-tmpl (Name_Auto): Removed, no longer used. | |
2867 | ||
2868 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2869 | ||
2870 | * par-ch5.adb (P_Sequence_Of_Statements): Make entry in | |
2871 | Suspicious_Labels table if we have identifier; followed by loop | |
2872 | or block. | |
2873 | * par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table. | |
2874 | * par.adb (Suspicious_Labels): New table. | |
2875 | ||
2876 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2877 | ||
2878 | * exp_aggr.adb (Check_Bounds): Reason is range check, not | |
2879 | length check. | |
2880 | ||
2881 | 2014-01-27 Yannick Moy <moy@adacore.com> | |
2882 | ||
2883 | * get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for | |
2884 | reference. | |
2885 | * lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless | |
2886 | function now. | |
2887 | (Add_SPARK_Xrefs): Include references to constants. | |
2888 | * spark_xrefs.ads Document new character 'c' for references to | |
2889 | constants. | |
2890 | ||
2891 | 2014-01-27 Thomas Quinot <quinot@adacore.com> | |
2892 | ||
2893 | * exp_smem.adb (Add_Write_After): For a function call, insert write as | |
2894 | an after action in a transient scope. | |
2895 | ||
b3a69993 AC |
2896 | 2014-01-27 Thomas Quinot <quinot@adacore.com> |
2897 | ||
2898 | * exp_smem.adb (Expand_Shared_Passive_Variable): For a reference | |
2899 | to a shared variable as an OUT formal in a call to an init proc, | |
2900 | the 'Read call must be emitted after, not before, the call. | |
2901 | ||
2902 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
2903 | ||
2904 | * gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma. | |
2905 | ||
f1bd0415 AC |
2906 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
2907 | ||
2908 | * a-wichha.adb (Character_Set_Version): Change to output proper | |
2909 | value. | |
2910 | ||
2911 | 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com> | |
2912 | ||
2913 | * einfo.adb (Is_Input_Only_State): Removed. | |
2914 | (Is_Non_Volatile_State): Removed. | |
2915 | (Is_Output_State): Removed. | |
2916 | * einfo.ads (Is_Input_Only_State): Remove attribute and | |
2917 | subprogram. Update related entity. | |
2918 | (Is_Non_Volatile_State): | |
2919 | Remove attribute and subprogram. Update related entity. | |
2920 | (Is_Output_State): Removed attribute and subprogram. Update | |
2921 | related entity. | |
2922 | * exp_ch6.adb (Expand_Subprogram_Contract): Update comment on | |
2923 | generated code. | |
2924 | * sem_ch3.adb (Analyze_Declarations): Analyze the contract of | |
2925 | an object, not just variables. | |
2926 | (Analyze_Object_Contract): New routine. | |
2927 | (Analyze_Variable_Contract): Removed. | |
2928 | (Process_Discriminants): Detect an illegal use of volatile | |
2929 | discriminant in SPARK mode. | |
2930 | * sem_ch5.adb (Analyze_Iterator_Specification): | |
2931 | Detect an illegal use of volatile loop variable. | |
2932 | (Analyze_Loop_Parameter_Specification): Detect an illegal use | |
2933 | of volatile loop variable. | |
2934 | * sem_ch6.adb (Process_Formals): Update the volatile object | |
2935 | detection. Detect an illegal formal of mode IN OUT or OUT in | |
2936 | SPARK mode. Enhance the error messages with references. | |
2937 | * sem_ch12.adb (Instantiate_Object): Update the volatile object | |
2938 | detection. Enhance the error messages with references. | |
2939 | * sem_prag.adb (Analyze_Abstract_State): Enhance the error | |
2940 | messages with references. | |
2941 | (Analyze_Contract_Case): Enhance the error messages with references. | |
2942 | (Analyze_External_Property): Call Check_Duplicate_Property to process | |
2943 | an external property. | |
2944 | (Analyze_External_Property_In_Decl_Part): New routine. | |
2945 | (Analyze_External_State_In_Decl_Part): Removed. | |
2946 | (Analyze_Global_Item): Detect an illegal | |
2947 | use of a volatile constant. Detect an illegal use | |
2948 | of a variable with enabled Effective_Reads. Enhance | |
2949 | the error messages with references. Remove obsolete | |
2950 | checks concerning Input_Only and Output_Only states. | |
2951 | (Analyze_Initialization_Item): Enhance the error messages | |
2952 | with references. | |
2953 | (Analyze_Initializes_In_Decl_Part): Do not | |
2954 | collect the states and variables when the initialization list | |
2955 | is null. | |
2956 | (Analyze_Input_Item): Enhance the error messages with references. | |
2957 | (Analyze_Input_Output): Enhance the error messages with references. | |
2958 | (Analyze_Pragma): Enhance the error messages with references. | |
2959 | (Analyze_Refinement_Clause): Code reformatting. | |
2960 | (Analyze_Refined_Depends_In_Decl_Part): | |
2961 | Rename global variable Global to Reg_Global and update all | |
2962 | occurrences. Add local variables D7 and D8. Update the error | |
2963 | messages with references. Update the call to Collect_Global_Items. | |
2964 | (Analyze_Refined_Global_In_Decl_Part): Add local variables | |
2965 | Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update | |
2966 | the call to Collect_Global_Items. Account for a Proof_In state | |
2967 | in null / useless refinement checks. Verify the coverage of | |
2968 | Proof_In states. | |
2969 | (Check_Dependency_Clause): Remove local variable | |
2970 | Out_Constits. Remove the retrieval and removal of constituents | |
2971 | for an Output_Only state. Remove the reporting of unused | |
2972 | Output_Only state constituents. | |
2973 | (Check_Duplicate_Mode): Enhance | |
2974 | the error message with a reference. | |
2975 | (Check_Duplicate_Property): New routine. | |
2976 | (Check_Duplicate_Option): Enhance the error message with a reference. | |
2977 | (Check_External_Properties): Enhance the error message with a reference. | |
2978 | (Check_Function_Return): Enhance the error message with a reference. | |
2979 | (Check_In_Out_States): Update | |
2980 | comment on usage. Add a specialized error message for Proof_In | |
2981 | constituents. Enhance the error message with a reference. | |
2982 | (Check_Input_States): Update comment on usage. Account for | |
2983 | possible Proof_In constituents. Enhance the error message | |
2984 | with a areference. | |
2985 | (Check_Matching_Constituent): Enhance the error message with a | |
2986 | reference. | |
2987 | (Check_Matching_State): Enchance the error message with a reference. | |
2988 | (Check_Mode): Add local variable From_Global. Update the call to | |
2989 | Find_Mode. Emit more precise error messages concerning extra items | |
2990 | (Check_Mode_Restriction_In_Enclosing_Context): Consider | |
2991 | pragma Refined_Global. Enhance the error message with a | |
2992 | reference. | |
2993 | (Check_Mode_Restriction_In_Function): Enhance the error message with | |
2994 | a reference. | |
2995 | (Check_Output_States): Update comment on usage. Add local variable | |
2996 | Posted. Account for possible Proof_In constituents. Produce a detailed | |
2997 | list of missing constituents. | |
2998 | (Check_Proof_In_States): New routine. | |
2999 | (Check_Refined_Global_Item): Handle Proof_In | |
3000 | constituents. Enchance the error message with a reference. | |
3001 | (Collect_Global_Items): Add formal parameters Proof_In_Items | |
3002 | and Has_Proof_In_State. Update the comment on usage. Account | |
3003 | for Proof_In items. | |
3004 | (Create_Or_Modify_Clause): Enchance | |
3005 | the error message with a reference. | |
3006 | (Find_Mode): Add | |
3007 | formal parameter From_Global. Update the comment on usage. | |
3008 | Detect when the mode is governed by pragma [Refined_]Global. | |
3009 | (Output_Constituents): Removed. | |
3010 | (Report_Extra_Constituents): | |
3011 | Report extra Proof_In constituents. | |
3012 | (Report_Unused_Constituents): Removed. | |
3013 | (Usage_Error): Code reformatting. Enhance the error | |
3014 | messages with reference. | |
3015 | * sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine. | |
3016 | (Analyze_External_State_In_Decl_Part): Removed. | |
3017 | * sem_res.adb (Resolve_Actuals): Update the volatile object | |
3018 | detection. Enhance the error message with a reference. | |
3019 | (Resolve_Entity_Name): Update the volatile object | |
3020 | detection. Enhance the error message with a reference. | |
3021 | * sem_util.adb (Is_Refined_State): Add a guard to avoid a crash. | |
3022 | (Is_SPARK_Volatile_Object): New routine. | |
3023 | (Has_Volatile_Component): New routine. | |
3024 | * sem_util.ads (Is_Delegate): Alphabetized. | |
3025 | (Is_SPARK_Volatile_Object): New routine. | |
3026 | (Has_Volatile_Component): New routine. | |
3027 | * snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only. | |
3028 | ||
3029 | 2014-01-27 Ed Schonberg <schonberg@adacore.com> | |
3030 | ||
3031 | * sem_attr.adb: Resolve fully prefix of 'Update. | |
3032 | ||
48b08b18 AC |
3033 | 2014-01-27 Ben Brosgol <brosgol@adacore.com> |
3034 | ||
3035 | * gnat_rm.texi: Minor clarifications. | |
3036 | ||
3037 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
3038 | ||
3039 | * sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining | |
3040 | about call that is generated as part of an Initial_Condition | |
3041 | check. | |
3042 | * sem_prag.adb: Minor spelling correction. | |
3043 | ||
1b8b4638 RD |
3044 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
3045 | ||
3046 | * sem_prag.adb (Set_Convention_From_Pragma): Check that | |
3047 | convention Ghost can only apply to functions. | |
3048 | * einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment. | |
3049 | ||
42959b0c RD |
3050 | 2014-01-27 Robert Dewar <dewar@adacore.com> |
3051 | ||
3052 | * gnat_ugn.texi: Add Short_Enums to documentation of | |
3053 | -gnatet/-gnateT. | |
3054 | ||
3055 | 2014-01-27 Robert Dewar <dewar@adacore.com> | |
3056 | ||
3057 | * sem_prag.adb (Analyze_Input_Item): Correct check for input | |
3058 | item in same package. | |
3059 | * sem_util.ads, sem_util.adb (Within_Scope): New function. | |
3060 | ||
87e9c2a2 AC |
3061 | 2014-01-26 Arnaud Charlet <charlet@adacore.com> |
3062 | ||
3063 | * a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb, | |
3064 | s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, | |
3065 | s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, | |
3066 | system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer | |
3067 | maintained. | |
3068 | ||
54dce195 EB |
3069 | 2014-01-25 Eric Botcazou <ebotcazou@adacore.com> |
3070 | ||
3071 | * gcc-interface/Makefile.in: Fix oversight. | |
3072 | ||
88293f03 EB |
3073 | 2014-01-25 Eric Botcazou <ebotcazou@adacore.com> |
3074 | ||
3075 | * gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the | |
3076 | conversion from a thin pointer with a shifted value. | |
3077 | * gcc-interface/utils2.c (gnat_build_constructor): Propagate the | |
3078 | read-only flag from the values onto the result. | |
3079 | (gnat_invariant_expr): Accept read-only CONSTRUCTORs. | |
3080 | ||
ae56e442 TG |
3081 | 2014-01-25 Tristan Gingold <gingold@adacore.com> |
3082 | ||
3083 | * gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable | |
3084 | for E_Variable with a pragma Linker_Section. | |
3085 | ||
3a70ba74 RD |
3086 | 2014-01-25 Robert Dewar <dewar@adacore.com> |
3087 | ||
3088 | * gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter | |
3089 | with Default_Value aspect is passed in by copy. | |
3090 | ||
c51f5910 AC |
3091 | 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> |
3092 | ||
3093 | * set_targ.adb: Set Short_Enums. | |
3094 | * gcc-interface/lang.opt (fshort-enums): New option. | |
3095 | * gcc-interface/misc.c (gnat_handle_option): Handle it. | |
3096 | (gnat_post_options): Do not modify the global settings. | |
3097 | ||
3098 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3099 | ||
3100 | * g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic | |
3101 | function. | |
3102 | (Random_Decimal_Fixed): New generic function. | |
3103 | * s-rannum.ads: Minor comment clarifications. | |
3104 | ||
f27ad2b2 RD |
3105 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3106 | ||
3107 | * back_end.adb: Remove Short_Enums handling (handled in | |
3108 | Ttypes/Get_Targ now) Minor added comments. | |
3109 | * freeze.adb: Change name Short_Enums_On_Target to | |
3110 | Target_Short_Enums. | |
3111 | * get_targ.ads, get_targ.adb (Get_Short_Enums): New function. | |
3112 | * opt.ads: Minor comment updates. | |
3113 | * sem_ch13.adb: Change name Short_Enums_On_Target to | |
3114 | Target_Short_Enums. | |
3115 | * set_targ.adb: Set Short_Enums from gcc back end. | |
3116 | * set_targ.ads (Short_Enums): New variable. | |
3117 | * targparm.ads, targparm.adb: Remove Short_Enums entries (handled in | |
3118 | Ttypes/Get_Targ now). | |
3119 | * ttypes.ads (Target_Short_Enums): New constant boolean switch | |
3120 | ||
dd6ab508 PO |
3121 | 2014-01-24 Pascal Obry <obry@adacore.com> |
3122 | ||
3123 | * g-sercom-mingw.adb: Fix serial port name for port number > 10. | |
3124 | ||
e6d5d940 GD |
3125 | 2014-01-24 Gary Dismukes <dismukes@adacore.com> |
3126 | ||
3127 | * exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when | |
3128 | comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification | |
3129 | stripped off. | |
3130 | ||
ab986406 AC |
3131 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3132 | ||
3133 | * sinfo.ads, make.adb, prj-env.adb: Minor reformatting. | |
3134 | ||
3135 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3136 | ||
3137 | * prj.adb (Add_Aggregated_Project): Do not add a project in | |
3138 | the list if it is already there. | |
3139 | ||
3140 | 2014-01-24 Yannick Moy <moy@adacore.com> | |
3141 | ||
3142 | * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): | |
3143 | Correct the search for a subrogram declaration to which a pragma is | |
3144 | attached. | |
3145 | ||
3146 | 2014-01-24 Bob Duff <duff@adacore.com> | |
3147 | ||
3148 | * gnat_ugn.texi: Document --decimal-grouping and | |
3149 | --based-grouping switches in gnatpp. | |
3150 | ||
979b94ea AC |
3151 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
3152 | ||
3153 | * sinfo.ads: Documentation update. | |
3154 | ||
3155 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3156 | ||
3157 | * sem_ch3.adb (Constant_Redeclaration): New declaration is | |
3158 | illegal if previous one has an initial expression that is an | |
3159 | aggregate expanded into assignments. | |
3160 | ||
3161 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3162 | ||
3163 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small | |
3164 | code reorganization to remove spurious warning on a loop with | |
3165 | an array element iterator that has a null range. | |
3166 | ||
3167 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3168 | ||
3169 | * make.adb (Binding_Phase): When setting the Ada paths, use | |
3170 | the library ALI dir, not the object dir in libraries. | |
3171 | ||
3172 | 2014-01-24 Yannick Moy <moy@adacore.com> | |
3173 | ||
3174 | * sinfo.ads: Add documentation of check flag fields. | |
3175 | ||
3176 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3177 | ||
3178 | * sem_res.adb (Resolve_Actuals): If an actual is a view | |
3179 | conversion of a discriminated object, and the formal type is | |
3180 | discriminated and constrained, apply a discriminant check to | |
3181 | the object itself. | |
3182 | ||
8edc33fa RD |
3183 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3184 | ||
3185 | * prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups. | |
3186 | ||
ad4e3362 ES |
3187 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
3188 | ||
3189 | * sem_ch3.adb (Analyze_Declarations): At the end of an | |
3190 | appropriate declarative part, call Freeze_All from the first | |
3191 | declaration in the scope, not from the first unfrozen one. This | |
3192 | is necessary to apply visibility checks to entities with delayed | |
3193 | aspects. Otherwise, in the presence of instantiations and cleanups | |
3194 | that they may generate, the delayed aspects may be analyzed too | |
3195 | late and produce spurious visibility errors. | |
3196 | * sem_attr.adb: Place etype on range. | |
3197 | * sem_ch6.adb: Documentation expression functions. | |
3198 | ||
d0ef7921 AC |
3199 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3200 | ||
3201 | * exp_ch7.adb: Minor change of Indices to Indexes (preferred | |
3202 | terminology in compiler). | |
3203 | ||
3204 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3205 | ||
3206 | * scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM | |
3207 | categories, now that Ada 95 supports raise expressions. | |
3208 | ||
3209 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3210 | ||
3211 | * freeze.adb (Freeze_Enumeration_Type): Use new target parameter | |
3212 | Short_Enums_On_Target. | |
3213 | * sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target | |
3214 | into account. | |
3215 | * targparm.ads, targparm.adb: Add new target parameter Short_Enums. | |
3216 | ||
3217 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3218 | ||
3219 | * sem_ch5.adb (Analyze_Iterator_Specification): If subtype | |
3220 | indication is given explicity, check that it matches the array | |
3221 | component type or the container element type of the domain | |
3222 | of iteration. | |
3223 | ||
3224 | 2014-01-24 Tristan Gingold <gingold@adacore.com> | |
3225 | ||
3226 | * back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target. | |
bff2d234 TG |
3227 | * gcc-interface/misc.c (flag_short_enums): Declare. |
3228 | (gnat_post_options): Set it. | |
d0ef7921 AC |
3229 | |
3230 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3231 | ||
3232 | * prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs | |
3233 | to cache the result when Including_Libraries is False. | |
3234 | * prj-env.ads (Ada_Objects_Path): Update documentation | |
3235 | * prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs | |
3236 | (Get_Object_Directory): Return the Library_Ali_Dir only when | |
3237 | when Including_Libraries is True. | |
3238 | * prj.ads (Get_Object_Directory): Fix and complete documentation | |
3239 | (Project_Data): New component Ada_Objects_Path_No_Libs | |
3240 | ||
162c21d9 AC |
3241 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3242 | ||
3243 | * checks.adb (Expr_Known_Valid): Result of fpt operator never | |
3244 | considered valid. | |
3245 | ||
3246 | 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> | |
3247 | ||
3248 | * back_end.adb: Minor fix in comment. | |
3249 | ||
3250 | 2014-01-24 Javier Miranda <miranda@adacore.com> | |
3251 | ||
3252 | * sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration | |
3253 | required to report the error in case of task types. | |
3254 | ||
3255 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3256 | ||
3257 | * sem_attr.adb: Additional index checking. | |
3258 | ||
08cd7c2f AC |
3259 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
3260 | ||
3261 | * sem_attr.adb (Analyze_Attribute, case 'Update): Analyze | |
3262 | expressions in each component association, and for records note | |
3263 | the entity in each association choice, for subsequent resolution. | |
3264 | (Resolve_Attribute, case 'Update): Complete resolution of | |
3265 | expressions in each component association. | |
3266 | ||
3267 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3268 | ||
3269 | * sem.adb (Sem): Avoid premature reference to Current_Sem_Unit | |
3270 | (this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong, | |
3271 | leading to wrong handling of SPARK_Mode for library units). | |
3272 | ||
3273 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3274 | ||
3275 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode | |
3276 | on generic instances (do not consider them to be internally | |
3277 | generated) | |
3278 | ||
3279 | 2014-01-24 Doug Rupp <rupp@adacore.com> | |
3280 | ||
3281 | * s-osinte-android.ads (pthread_sigmask): Import sigprocmask | |
3282 | vice pthread_sigmask. | |
3283 | ||
3284 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3285 | ||
3286 | * prj.adb (Debug_Output (Str, Str2)): Output if verbosity is | |
3287 | not default. | |
3288 | ||
3289 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3290 | ||
3291 | * prj-ext.adb (Add): Do not output anything when Silent is True, | |
3292 | whatever the verbosity. When Source is From_External_Attribute, | |
3293 | set the corresponding environment variable if it is not already set. | |
3294 | * prj-ext.ads (Add): New Boolean parameter Silent, defaulted | |
3295 | to False | |
3296 | * prj-proc.adb (Process_Expression_For_Associative_Array): | |
3297 | For attribute External, call Prj.Ext.Add with Silent set to | |
3298 | True for the child environment, to avoid useless output in non | |
3299 | default verbosity. | |
3300 | ||
3301 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3302 | ||
3303 | * sem_res.adb (Set_Slice_Subtype): Handle properly a discrete | |
3304 | range given by a subtype indication, and force evaluation of | |
3305 | the bounds, as for a simple range. | |
3306 | * exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation | |
3307 | of bounds of slice for various kinds of discrete ranges. | |
3308 | (Evaluate_Name, Evaluate_Subtype_From_Expr): use | |
3309 | Evaluate_Slice_Bounds. | |
3310 | ||
3311 | 2014-01-24 Bob Duff <duff@adacore.com> | |
3312 | ||
3313 | * s-taskin.ads (Activator): Make this Atomic, because | |
3314 | Activation_Is_Complete reads it, and that can be called | |
3315 | from any task. Previously, this component was only | |
3316 | modified by the activator before activation, and by | |
3317 | Self after activation. | |
3318 | * a-taside.ads, a-taside.adb (Environment_Task, | |
3319 | Activation_Is_Complete): Implement these missing functions. | |
3320 | ||
7610fee8 AC |
3321 | 2014-01-24 Doug Rupp <rupp@adacore.com> |
3322 | ||
3323 | * init.c: Add a handler section for Android. | |
3324 | ||
3325 | 2014-01-24 Arnaud Charlet <charlet@adacore.com> | |
3326 | ||
3327 | * i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types. | |
3328 | ||
3329 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3330 | ||
3331 | * sem_ch4.adb (Operator_Check): If one operand is a | |
3332 | Raise_Expression, set its type to that of the other operand. | |
3333 | * sem_res.adb (Resolve_Raise_Expression): new procedure. | |
3334 | (Resolve_Actuals): For an actual that is a Raise_Expression, | |
3335 | set the type to that of the formal. | |
3336 | * sem_type.adb (Find_Unique_Type): If one of the operands is a | |
3337 | Raise_Expression, return type of the other operand. | |
3338 | ||
3339 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> | |
3340 | ||
3341 | * sem_aggr.adb (Resolve_Record_Aggregate): If a scalar | |
3342 | component of the record has a type with a default aspect, and | |
3343 | the corresponding aggregate component is initiaized with a box, | |
3344 | use the default value in the rewritten aggregate. | |
3345 | ||
3346 | 2014-01-24 Tristan Gingold <gingold@adacore.com> | |
3347 | ||
3348 | * s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb, | |
3349 | s-interr-sigaction.adb, | |
3350 | s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter. | |
3351 | * exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter | |
3352 | to the call to Install_Restricted_Handlers. | |
3353 | ||
3354 | 2014-01-24 Emmanuel Briot <briot@adacore.com> | |
3355 | ||
3356 | * prj-nmsc.adb (Check_File): Add protection when the source is | |
3357 | not fully initialized. | |
3358 | ||
4a854847 AC |
3359 | 2014-01-24 Ed Schonberg <schonberg@adacore.com> |
3360 | ||
3361 | * sem_util.adb (Is_Post_State): In a postcondition, a selected | |
3362 | component that denotes an implicit dereference is a reference | |
3363 | to the post state of the subprogram. | |
3364 | ||
3365 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3366 | ||
3367 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF | |
3368 | for generated subprograms. | |
3369 | (Analyze_Subprogram_Specification): Ditto. | |
3370 | ||
3371 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3372 | ||
3373 | * prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden | |
3374 | attributes in package Builder of aggregate and aggregate library | |
3375 | projects. | |
3376 | * prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate): | |
3377 | Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated): | |
3378 | Remove parameters. Change error message from "... externally | |
3379 | build library ..." to "... externally built project ...". | |
3380 | (Process_Naming_Scheme.Check): Do not do any check in aggregate | |
3381 | project, as attribute Library_Dir and Library_Name have already | |
3382 | been detected as forbidden. | |
3383 | ||
3384 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3385 | ||
3386 | * prj-env.adb (Find_Project): If cached project path is not in | |
3387 | project directory, look in current directory first and use cached | |
3388 | project path only if project is not found in project directory. | |
3389 | ||
a6ae518f RD |
3390 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3391 | ||
3392 | * sem_util.adb, lib-xref.adb: Correct false positive warnings. | |
3393 | ||
0bd38d94 AC |
3394 | 2014-01-24 Vincent Celier <celier@adacore.com> |
3395 | ||
3396 | * projects.texi: Document that aggregate projects are only | |
3397 | supported by gprbuild, but not by gnatmake. Document that the | |
3398 | only attribute Switches in package Binder of aggregate projects | |
3399 | will be ignored if its index is not others. Document that | |
3400 | attribute Global_Config_File is allowed in package Binder of | |
3401 | aggregate projects. | |
3402 | ||
3403 | 2014-01-24 Robert Dewar <dewar@adacore.com> | |
3404 | ||
3405 | * sem_prag.adb: Minor code reorganization. | |
3406 | * sem_util.adb: Minor fix of potential latent bug in Is_LHS. | |
3407 | ||
0567ae8d AC |
3408 | 2014-01-24 Pascal Obry <obry@adacore.com> |
3409 | ||
3410 | * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns | |
3411 | attribute definition. | |
3412 | ||
3413 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3414 | ||
3415 | * makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put | |
3416 | in the Queue the same source (same path, same multi-source index) | |
3417 | from the same project file, to avoid compiling several times | |
3418 | the same source. | |
3419 | ||
3420 | 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> | |
3421 | ||
3422 | * einfo.ads (First_Rep_Item): Remove obsolete stuff. | |
3423 | (Has_Gigi_Rep_Item): Likewise. | |
3424 | * sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set | |
3425 | Has_Gigi_Rep_Item for objects. | |
3426 | * gcc-interface/decl.c (prepend_one_attribute_to): Rename into... | |
3427 | (prepend_one_attribute): ...this. | |
3428 | (prepend_one_attribute_pragma): New function extracted from... | |
3429 | (prepend_attributes): ...here. Swap the parameters for consistency. | |
3430 | (gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to | |
3431 | prepend_attributes. | |
3432 | <object>: Deal with a pragma Linker_Section on a constant | |
3433 | or variable. <E_Function>: Deal with a pragma Linker_Section | |
3434 | on a subprogram. | |
3435 | (get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to. | |
3436 | ||
3437 | 2014-01-24 Vincent Celier <celier@adacore.com> | |
3438 | ||
3439 | * opt.ads: Minor comment update. | |
3440 | ||
4437ea95 AC |
3441 | 2014-01-24 Robert Dewar <dewar@adacore.com> |
3442 | ||
3443 | * sem_prag.adb (Analyze_Input_Output): Add missing error check | |
3444 | for junk operand. | |
3445 | * sem_util.adb (Is_Refined_State): Add defense against junk | |
3446 | tree from error. | |
3447 | ||
3448 | 2014-01-24 Pascal Obry <obry@adacore.com> | |
3449 | ||
3450 | * projects.texi: Removes Build_Slaves attribute documentation. | |
3451 | ||
ea0f1fc8 AC |
3452 | 2014-01-23 Robert Dewar <dewar@adacore.com> |
3453 | ||
3454 | * opt.adb (Register_Opt_Config_Switches): Save SPARK_Mode_Pragma | |
3455 | setting. | |
3456 | ||
3457 | 2014-01-23 Ed Schonberg <schonberg@adacore.com> | |
3458 | ||
3459 | * sem_util.adb (Is_Potentially_Unevaluated): Predicate only | |
3460 | applies to expressions that come from source. | |
3461 | * sem_attr.adb (Analyze_Attribute, case 'Old): Improve error | |
3462 | message. | |
3463 | (Analyze_Attribute, case 'Loop_Entry): Apply SPARK 2014 legality | |
3464 | rule regarding potentially unevaluated expressions, to prefix | |
3465 | of attribute. | |
3466 | ||
19992053 AC |
3467 | 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
3468 | ||
3469 | * exp_util.adb (Make_Invqriant_Call): If type of expression is | |
3470 | a private extension, get invariant from base type. | |
3471 | ||
3472 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3473 | ||
3474 | * sem_util.adb, sem_attr.adb: Minor reformatting. | |
3475 | ||
3476 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3477 | ||
3478 | * opt.adb (Save_Opt_Config_Switches): Save SPARK_Mode_Pragma | |
3479 | (Restore_Opt_Config_Switches): Restore SPARK_Mode_Pragma. | |
3480 | * sem.adb (Semantics): Remove save/restore of | |
3481 | SPARK_Mode[_Pragma]. Not needed since already done in | |
3482 | Save/Restore_Opt_Config_Switches. | |
3483 | ||
3484 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3485 | ||
3486 | * gnat_rm.texi, einfo.adb, einfo.ads, sem_prag.adb, gnat_ugn.texi, | |
3487 | freeze.adb, repinfo.adb, aspects.adb, aspects.ads, sem_ch13.adb: | |
3488 | Linker_Section enhancements. | |
3489 | ||
c733429f AC |
3490 | 2014-01-23 Tristan Gingold <gingold@adacore.com> |
3491 | ||
3492 | * gnat_rm.texi: Minor editing. | |
3493 | ||
3494 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3495 | ||
3496 | * opt.adb (Set_Opt_Config_Switches): Reset SPARK mode for | |
3497 | with'ed internal units. | |
3498 | * sem.adb (Semantics): Save and restore SPARK_Mode[_Pragma]. | |
3499 | ||
3500 | 2014-01-23 Javier Miranda <miranda@adacore.com> | |
3501 | ||
3502 | * lib-xref.adb (Generate_Reference): As part of processing the | |
3503 | "end-of-spec" reference generate an extra reference to the first | |
3504 | private entity of the package. | |
3505 | * xr_tabls.adb (Add_Reference): No action needed for the extra | |
3506 | 'E' reference associated; similar to the processing of the | |
3507 | 'e' reference. | |
3508 | ||
3509 | 2014-01-23 Bob Duff <duff@adacore.com> | |
3510 | ||
3511 | * gnat_ugn.texi: Change "--&pp off" to "--!pp off". | |
3512 | ||
3513 | 2014-01-23 Ed Schonberg <schonberg@adacore.com> | |
3514 | ||
3515 | * sem_util.ads, sem_util.adb (Is_Potentially_Unevaluated): new | |
3516 | predicate to implement rule given in 6.1.1 (20/3). | |
3517 | * sem_attr.adb (Analyze_Attribute, case 'Old): Reject prefix of | |
3518 | 'Old in a postcondition, if it is potentially unevaluated and | |
3519 | it is not an entity name. | |
3520 | ||
8bdc02c2 BD |
3521 | 2014-01-23 Bob Duff <duff@adacore.com> |
3522 | ||
3523 | * gnat_ugn.texi: Document the new "--&pp off" feature of gnatpp. | |
3524 | ||
e949ee22 AC |
3525 | 2014-01-23 Robert Dewar <dewar@adacore.com> |
3526 | ||
3527 | * gnatlink.adb (Gnatlink): Fix problem of generating bad name | |
3528 | msg on VMS. | |
3529 | ||
3530 | 2014-01-23 Bob Duff <duff@adacore.com> | |
3531 | ||
3532 | * g-dynhta.ads: Minor comment fix. | |
3533 | ||
3534 | 2014-01-23 Yannick Moy <moy@adacore.com> | |
3535 | ||
3536 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Inherit SPARK_Mode | |
3537 | from spec on body only when not already inherited on spec. Set | |
3538 | SPARK_Mode from context on body without previous spec. * | |
3539 | * sem_prag.adb (Analyze_Pragma): Check placement of pragma on | |
3540 | library-level entities. Correct retrieval of entity from | |
3541 | declaration, for cases where the declaration is not a unit. | |
3542 | * sem_ch12.adb (Instantiate_Object): Avoid | |
3543 | calling Is_Volatile_Object on an empty node. | |
3544 | ||
545d3e65 RD |
3545 | 2014-01-23 Robert Dewar <dewar@adacore.com> |
3546 | ||
3547 | * gnatlink.adb (Gnatlink): Check for suspicious executable file | |
3548 | names on windows. | |
3549 | ||
3550 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3551 | ||
3552 | * a-ngelfu.ads: Remove bad uses of AND which should be AND THEN. | |
3553 | * sem_res.adb (Check_No_Direct_Boolean_Operators): Don't give | |
3554 | style errors in instances. | |
3555 | * g-dynhta.ads (Static_HTable): Comment updates. | |
3556 | ||
cc55f9be VC |
3557 | 2014-01-23 Vincent Celier <celier@adacore.com> |
3558 | ||
3559 | * prj-conf.adb (Get_Or_Create_Configuration_File): Do not attempt | |
3560 | to find a configuration project file when Config_File_Name is | |
3561 | No_Configuration_File. | |
3562 | * prj-conf.ads (No_Configuration_File): New constant String. | |
3563 | * prj-pars.adb (Parse): Call Get_Or_Create_Configuration_File | |
3564 | with Config_File_Name set to No_Configuration_File, so that | |
3565 | no existing configuration project file will be used, and the | |
3566 | configuration project will be only created in memory when | |
3567 | Add_Default_GNAT_Naming_Scheme is called. | |
3568 | * projects.texi: Minor reformatting. | |
3569 | ||
225a0c5c VC |
3570 | 2014-01-23 Vincent Celier <celier@adacore.com> |
3571 | ||
3572 | * prj-conf.adb (Get_Or_Create_Configuration_File): Never parse | |
3573 | a config project file if On_Load_Config is not null. | |
3574 | * prj-pars.adb: Minor comment changes. | |
3575 | ||
89253742 ES |
3576 | 2014-01-23 Ed Schonberg <schonberg@adacore.com> |
3577 | ||
3578 | * lib-xref.adb (Output_References): Output progenitors of | |
3579 | synchronized tagged types, for source navigation. | |
3580 | ||
53c53f6d AC |
3581 | 2014-01-23 Robert Dewar <dewar@adacore.com> |
3582 | ||
3583 | * exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb, | |
3584 | expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads, | |
3585 | sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info. | |
3586 | ||
3587 | 2014-01-23 Emmanuel Briot <briot@adacore.com> | |
3588 | ||
3589 | * prj-conf.adb (Get_Or_Create_Configuration_File): call | |
3590 | On_Load_Config later. | |
3591 | ||
3592 | 2014-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
3593 | ||
3594 | * sem_ch3.adb (Analyze_Declarations): Do not | |
3595 | generate the spec of the late primitive in ASIS mode. Add two | |
3596 | comments to explain the special cases when the expansion is | |
3597 | not performed. | |
3598 | ||
3599 | 2014-01-23 Robert Dewar <dewar@adacore.com> | |
3600 | ||
3601 | * sem_util.adb (Note_Possible_Modification): Fix error of | |
3602 | misbehaving for implicit dereference cases in -gnatc mode. | |
3603 | ||
3604 | 2014-01-23 Emmanuel Briot <briot@adacore.com> | |
3605 | ||
3606 | * prj-pars.adb: Minor reformatting. | |
3607 | ||
3b8056a5 AC |
3608 | 2014-01-22 Ed Schonberg <schonberg@adacore.com> |
3609 | ||
3610 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram | |
3611 | body generated for an expression function within a protected body | |
3612 | needs a set of renaming declarations if the expression function | |
3613 | comes from source. | |
3614 | ||
3615 | 2014-01-22 Ed Schonberg <schonberg@adacore.com> | |
3616 | ||
3617 | * lib-xref.adb (Get_Type_Reference): In semantics-only mode, | |
3618 | list interface progenitor of a tagged concurrent type, for better | |
3619 | source navigation. | |
3620 | ||
3621 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3622 | ||
3623 | * lib.adb (In_Extended_Main_Code_Unit): Return False for | |
3624 | Standard_Location. | |
3625 | (In_Extended_Main_Source_Unit): Return False for Standard_Location. | |
3626 | * lib.ads (In_Extended_Main_Code_Unit): Add documentation on | |
3627 | treatment of Slocs No_Location and Standard_Location. | |
3628 | * restrict.adb (Check_Restriction_No_Dependence): Explicitly | |
3629 | check for entity with Standard_Location Sloc, rather than relying | |
3630 | on Lib routines to do that. | |
3631 | * sem_res.adb (Resolve_Call): Implement SPARK_05 restriction | |
3632 | that a call cannot occur before a later occuring body within | |
3633 | the same unit. | |
3634 | ||
fba9ebfc AC |
3635 | 2014-01-22 Thomas Quinot <quinot@adacore.com> |
3636 | ||
3637 | * rtsfind.adb: Update comment. | |
3638 | ||
3639 | 2014-01-22 Hristian Kirtchev <kirtchev@adacore.com> | |
3640 | ||
3641 | * sem_aux.ads, sem_aux.adb (Is_Body): New routine. | |
3642 | * sem_ch3.adb (Analyze_Declarations): Add local variable | |
3643 | Body_Seen. Generate the spec of a late controlled | |
3644 | primitive body that is about to freeze its related type. | |
3645 | (Handle_Late_Controlled_Primitive): New routine. | |
3646 | ||
3647 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3648 | ||
3649 | * a-stream.adb: Minor reformatting. | |
3650 | ||
3651 | 2014-01-22 Ed Schonberg <schonberg@adacore.com> | |
3652 | ||
3653 | * sem_ch8.adb (From_Actual_Package): Introduce a recursive | |
3654 | sub-procedure Declared_In_Actual to handle properly the visibility | |
3655 | of actuals in actual packages, that are themselves actuals to a | |
3656 | actual package of the current instance. This mimics properly the | |
3657 | visibility of formals of formal packages declared with a box, | |
3658 | within the corresponding generic unit. | |
3659 | ||
3660 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3661 | ||
3662 | * checks.adb: Do not assume that a volatile variable is valid. | |
3663 | ||
3664 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3665 | ||
3666 | * g-catiio.ads (Image, Value): Clarify that these functions | |
3667 | operate in the local time zone. Minor documentation update. | |
3668 | ||
3669 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3670 | ||
3671 | * csets.adb, csets.ads, opt.ads: Minor documentation fixes. | |
3672 | ||
b2834fbd AC |
3673 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3674 | ||
3675 | * sem_aux.adb, sem_aux.ads, sem_ch3.adb (Has_Unconstrained_Elements): | |
3676 | Moved to sem_aux.adb. | |
3677 | ||
3678 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3679 | ||
3680 | * vms_data.ads: Minor reformatting. | |
3681 | ||
3682 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3683 | ||
3684 | * debug.adb: Document messages affected by -gnatd.E including | |
3685 | the new ones that relate to late definition of equality. | |
3686 | * sem_ch6.adb (Check_Untagged_Equality): In Ada 2012 mode, if | |
3687 | debug flag -gnatd.E is set, then generate warnings rather than | |
3688 | errors. | |
3689 | (Check_Untagged_Equality): In earlier versions of Ada, | |
3690 | generate warnings if Warn_On_Ada_2012_Incompatibility flag is set. | |
3691 | ||
3692 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3693 | ||
3694 | * sem_prag.adb (Usage_Error): Output additional messages for | |
3695 | unconstrained OUT parameters lacking an input dependency. | |
3696 | ||
3697 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3698 | ||
3699 | * sem_ch4.adb: Minor reformatting. | |
3700 | ||
3701 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3702 | ||
3703 | * restrict.ads: Minor reformatting. | |
3704 | * sem_res.adb (Resolve_Call): Check for SPARK_05 restriction that | |
3705 | forbids a call from within a subprogram to the same subprogram. | |
3706 | ||
3707 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3708 | ||
3709 | * a-stream.ads (Read_SEA, Write_SEA): New subprograms, optimized | |
3710 | stream attributes for Stream_Element_Array. | |
3711 | * a-stream.adb (Read_SEA, Write_SEA): Bodies for the above. | |
3712 | * rtsfind.adb (Check_CRT): Do not reject a reference to an entity | |
3713 | defined in the current scope. | |
3714 | ||
d4129bfa AC |
3715 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3716 | ||
3717 | * debug.adb, exp_ch4.adb, erroutc.adb: Minor reformatting. | |
3718 | ||
3719 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3720 | ||
3721 | * sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting. | |
3722 | ||
3723 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3724 | ||
3725 | * sem_ch3.adb (Analyze_Object_Declaration): For a constant | |
3726 | declaration initialized with a function call, whose type | |
3727 | has variable size, need to remove side effects so that the | |
3728 | initialization expression becomes a dereference of a temporary | |
3729 | reference to the function result. | |
3730 | ||
b6f36bf8 YM |
3731 | 2014-01-22 Yannick Moy <moy@adacore.com> |
3732 | ||
3733 | * errout.adb (Initialize): Remove trick to add dummy entry | |
3734 | in Warnings table. | |
3735 | * erroutc.adb (Set_Warnings_Mode_Off, | |
3736 | Set_Warnings_Mode_On): Do nothing if warnings are suppressed by | |
3737 | command line switch. | |
3738 | * opt.ads (Warning_Mode): Document behavior | |
3739 | wrt pragma Warnings, in normal mode and in GNATprove_Mode. | |
3740 | ||
113a62d9 RD |
3741 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3742 | ||
3743 | * sem_ch3.adb, errout.adb, erroutc.adb: Minor reformatting. | |
3744 | ||
3745 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3746 | ||
3747 | * sem_ch13.adb (Check_Pool_Size_Clash): New procedure | |
3748 | (Analyze_Attribute_Definition_Clause, case Storage_Pool): call | |
3749 | Check_Pool_Size_Clash (Analyze_Attribute_Definition_Clause, | |
3750 | case Storage_Size): call Check_Pool_Size_Clash. | |
3751 | ||
f5f6d8d7 AC |
3752 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3753 | ||
3754 | * sem_ch3.adb, exp_util.adb, sem_dim.adb, sem_elab.adb, sem_ch8.adb, | |
3755 | sem_eval.ads: Minor reformatting. | |
3756 | ||
3757 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3758 | ||
3759 | * sem_eval.adb (Compile_Time_Known_Bounds): Return False for | |
3760 | Any_Composite to prevent cascaded errors. | |
3761 | ||
3762 | 2014-01-22 Yannick Moy <moy@adacore.com> | |
3763 | ||
3764 | * errout.adb (Initialize): Do not insert special entry in Warnings | |
3765 | table in GNATprove_Mode. | |
3766 | * erroutc.adb (Set_Warnings_Mode_On): Add info in Warnings table in | |
3767 | GNATprove_Mode. | |
3768 | * gnat1drv.adb (Adjust_Global_Switches): Do not suppress frontend | |
3769 | warnings anymore. | |
3770 | ||
2e70d415 AC |
3771 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3772 | ||
3773 | * sem_prag.adb (Analyze_Initializes_In_Decl_Part): Handle null | |
3774 | initializes case. | |
3775 | ||
3776 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3777 | ||
3778 | * snames.ads-tmpl: Update header. | |
3779 | ||
3780 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3781 | ||
3782 | * exp_util.adb (Insert_Actions): When inserting actions on a | |
3783 | short circuit operator that has already been analyzed, do not park | |
3784 | actions in node; instead introduce an N_Expression_With_Actions | |
3785 | and insert actions immediately. | |
3786 | Add guard for unexpected case of climbing up through statement | |
3787 | in Actions list of an N_Expression_With_Actions. | |
3788 | * sem_elab.adb (Insert_Elab_Check): Remove complex | |
3789 | specialized circuitry for the case where the context is already | |
3790 | analyzed, as it is not needed and introduces irregularities in | |
3791 | finalization. Instead rely on the above change to Insert_Actions | |
3792 | to ensure that late insertion on short circuit operators works | |
3793 | as expected. | |
3794 | ||
3795 | 2014-01-22 Ed Schonberg <schonberg@adacore.com> | |
3796 | ||
3797 | * sem_ch4.adb (Operator_Check): Improve error message when an | |
3798 | operand of concatenation is an access type. | |
3799 | ||
3800 | 2014-01-22 Thomas Quinot <quinot@adacore.com> | |
3801 | ||
3802 | * sem_dim.adb (Analyze_Dimension_Identifier): Add guard against | |
3803 | cascaded error. | |
3804 | ||
3805 | 2014-01-22 Ed Schonberg <schonberg@adacore.com> | |
3806 | ||
3807 | * sem_ch8.adb (Find_Selected_Component): Handle properly the case | |
3808 | of an expanded name in a proper body, whose prefix is a package | |
3809 | in the context of the proper body, when there is a homonym of | |
3810 | the package declared in the parent unit. | |
3811 | ||
1250f802 RD |
3812 | 2014-01-22 Robert Dewar <dewar@adacore.com> |
3813 | ||
3814 | * sem_warn.adb (Check_Use_Clause): Don't give no entities used | |
3815 | msg if errors found. | |
3816 | (Check_One_Unit): Same change. | |
3817 | ||
3818 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3819 | ||
3820 | * ug_words: Add missing/wrong entries for VMS warning switches. | |
3821 | * sem_prag.adb (Check_Duplicate_Pragma): Avoid flagging parent type. | |
3822 | ||
54533a0b AC |
3823 | 2014-01-22 Jerome Guitton <guitton@adacore.com> |
3824 | ||
3825 | * mlib-tgt-specific-vxworks.adb (Get_Target_Suffix): Replace xscale by | |
3826 | arm. | |
3827 | ||
3828 | 2014-01-22 Robert Dewar <dewar@adacore.com> | |
3829 | ||
3830 | * gnat_rm.texi, gnat_ugn.texi: Document passive task optimization | |
3831 | ||
3044bbe4 EB |
3832 | 2014-01-22 Eric Botcazou <ebotcazou@adacore.com> |
3833 | ||
3834 | * gcc-interface/Makefile.in: Minor fixes. | |
3835 | ||
71affc54 AC |
3836 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
3837 | ||
3838 | * par-ch4.adb (P_If_Expression): Rewritten to improve error recovery. | |
3839 | * par-ch5.adb (P_Condition): New version with expression prescanned. | |
3840 | * par.adb (P_Condition): New version with expression prescanned. | |
3841 | ||
3842 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
3843 | ||
3844 | * gnat_rm.texi: Document that Allow_Integer_Address is ignored | |
3845 | if Address is not a private type. | |
3846 | * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): | |
3847 | Ignore pragma if System.Address is not a private type. | |
3848 | ||
3849 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
3850 | ||
3851 | * namet.ads (Name_Len): Initialize to 0 to avoid accessing an | |
3852 | uninitialized value. | |
3853 | ||
ef1c0511 AC |
3854 | 2014-01-21 Thomas Quinot <quinot@adacore.com> |
3855 | ||
3856 | * gnat_rm.texi (Scalar_Storage_Order): Update documentation. | |
3857 | ||
3858 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
3859 | ||
3860 | * sem_ch12.adb (Set_Instance_Env): In Ada 2012 mode, preserve | |
3861 | the value of Assertions_Enabled flag when compiling an instance of | |
3862 | an internal unit. This facilitates the use of pre/postconditions | |
3863 | in generic internal units, such as the new elementary function | |
3864 | libraries. | |
3865 | ||
3866 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
3867 | ||
3868 | * exp_aggr.adb: Minor reformatting. | |
3869 | * sem_attr.adb: Minor reformatting. | |
3870 | * sem_res.adb: Minor comment addition. | |
3871 | * einfo.adb: Minor comment updates. | |
3872 | * freeze.adb: Minor reformatting and code reorganization. | |
3873 | ||
3874 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
3875 | ||
3876 | * par-ch4.adb (P_If_Expression): Handle more gracefully an | |
3877 | elsif clause that does not have an else part. | |
3878 | ||
637a41a5 AC |
3879 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
3880 | ||
3881 | * checks.adb, sem_util.ads, sem_ch4.adb: Minor reformatting. | |
3882 | * gcc-interface/Makefile.in: clean up target pairs. | |
3883 | ||
3884 | 2014-01-21 Pascal Obry <obry@adacore.com> | |
3885 | ||
3886 | * projects.texi: Minor typo fix. | |
3887 | ||
3888 | 2014-01-21 Thomas Quinot <quinot@adacore.com> | |
3889 | ||
3890 | * freeze.adb (Check_Component_Storage_Order): If a record type | |
3891 | has an explicit Scalar_Storage_Order attribute definition clause, | |
3892 | reject any component that itself is of a composite type and does | |
3893 | not have one. | |
3894 | ||
3895 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
3896 | ||
3897 | * sem_ch10.adb (Generate_Parent_Reference): Make public so it | |
3898 | can be used to generate proper cross-reference information for | |
3899 | the parent units of proper bodies. | |
3900 | ||
3901 | 2014-01-21 Thomas Quinot <quinot@adacore.com> | |
3902 | ||
3903 | * exp_pakd.adb (Expand_Packed_Element_Set, | |
3904 | Expand_Packed_Element_Reference): No byte swapping required in | |
3905 | the front-end for the case of a reverse storage order array, | |
3906 | as this is now handled uniformly in the back-end. However we | |
3907 | still need to swap back an extracted element if it is itself a | |
3908 | nested composite with reverse storage order. | |
3909 | ||
497716fe AC |
3910 | 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> |
3911 | ||
3912 | * sem_prag.adb (Analyze_External_Property): Add processing for "others". | |
3913 | (Analyze_Pragma): Update the grammar of pragma Abstract_State to | |
3914 | include "others". | |
3915 | ||
3916 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
3917 | ||
3918 | * gnat_ugn.texi: Minor updates. | |
3919 | ||
fb1fdf7d AC |
3920 | 2014-01-21 Thomas Quinot <quinot@adacore.com> |
3921 | ||
3922 | * exp_pakd.adb: Update comment, minor reformatting. | |
3923 | ||
3924 | 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> | |
3925 | ||
3926 | * sem_ch3.adb (Analyze_Variable_Contract): Trigger the volatile | |
3927 | object check when SPARK_Mode is on. | |
3928 | * sem_ch6.adb (Process_Formals): Trigger the volatile object | |
3929 | check when SPARK_Mode is on. | |
3930 | * sem_ch12.adb (Instantiate_Object): Trigger the volatile object | |
3931 | check when SPARK_Mode is on. | |
3932 | * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the | |
3933 | corresponding pragma of aspect SPARK_Mode in the visible | |
3934 | declarations of a package declaration. | |
3935 | * sem_prag.adb (Analyze_Pragma): Trigger the volatile object | |
3936 | check when SPARK_Mode is on. | |
3937 | * sem_res.adb (Resolve_Actuals): Trigger the volatile object | |
3938 | check when SPARK_Mode is on. | |
3939 | (Resolve_Entity_Name): Trigger | |
3940 | the volatile object check when SPARK_Mode is on. | |
3941 | ||
84f80f5b AC |
3942 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
3943 | ||
3944 | * sem_ch3.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_res.adb, | |
3945 | sem_ch6.adb, a-except-2005.adb: Minor reformatting. | |
3946 | ||
3947 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
3948 | ||
3949 | * exp_ch3.adb (Expand_N_Object_Declaration): When a class-wide | |
3950 | object is declared, it is rewritten as a renaming of an dynamic | |
3951 | expression that wraps the initial value. The renaming declaration | |
3952 | is first given an internal name, to prevent collisions with the | |
3953 | entity already declared, and then the name is modified to reflect | |
3954 | the original one. the modification of the name must preserve | |
3955 | the source location of the original, to prevent spurious errors | |
3956 | when compiling with style checks if the declaration involves | |
3957 | more than one entity. | |
3958 | ||
6c3c671e AC |
3959 | 2014-01-21 Hristian Kirtchev <kirtchev@adacore.com> |
3960 | ||
3961 | * aspects.adb Add entries for Async_Readers, Async_Writers, | |
3962 | Effective_Reads and Effective_Writes in table Canonical_Aspect. | |
3963 | * aspects.ads Add entries for Async_Readers, Async_Writers, | |
3964 | Effective_Reads and Effective_Writes in tables Aspect_Id, | |
3965 | Aspect_Names, Aspect_Delay and Implementation_Defined_Aspect. | |
3966 | * atree.adb (Ekind_In): New version with 8 parameters. | |
3967 | (Node34): New routine. | |
3968 | (Set_Node34): New routine. | |
3969 | * atree.ads (Ekind_In): New version with 8 parameters. | |
3970 | (Node34): New routine. | |
3971 | (Set_Node34): New routine. | |
3972 | * einfo.adb Contract is now Node34. | |
3973 | (Contract): Update the assertion and node usage. | |
3974 | (Get_Pragma): Include pragmas Async_Readers, Async_Writers, | |
3975 | Effective_Reads and Effective_Writes. | |
3976 | (Set_Contract): Update the assertion and node usage. | |
3977 | (Write_Field24_Name): Remove the output for a contract. | |
3978 | (Write_Field34_Name): Add output for a contract. | |
3979 | * einfo.ads Contract is now Node34. Update the comment on | |
3980 | attribute usage and related node structures. | |
3981 | (Get_Pragma): Update the comment on usage. | |
3982 | * par-prag.adb (Prag): Pragmas Async_Readers, Async_Writers, | |
3983 | Effective_Reads and Effective_Writes do not require special | |
3984 | processing by the parser. | |
3985 | * sem_ch3.adb (Analyze_Variable_Contract): New routine. | |
3986 | (Analyze_Declarations): Analyze the contract of a variable at | |
3987 | the end of the declarative region. | |
3988 | (Analyze_Object_Declaration): Create a contract for a variable. | |
3989 | * sem_ch6.adb (Analyze_Subprogram_Contract): Update the retrieval | |
3990 | of classification pragmas. | |
3991 | (Process_Formals): Detect an illegal | |
3992 | use of a volatile object as a formal in a function. | |
3993 | * sem_ch12.adb (Instantiate_Object): Detect an illegal use of | |
3994 | a volatile object as an actual in generic instantiation. | |
3995 | * sem_prag.adb Add entries for Async_Readers, Async_Writers, | |
3996 | Effective_Reads and Effective_Writes in table Sig_Flags. | |
3997 | (Analyze_External_State_In_Decl_Part): New routine. | |
3998 | (Analyze_Global_Item): Detect an illegal use of a volatile object | |
3999 | as a global item of a function. | |
4000 | (Analyze_Pragma): Reimplement | |
4001 | pragma Abstract_State. Add support for pragmas Async_Readers, | |
4002 | Async_Writers, Effective_Reads and Effective_Writes. | |
4003 | (Check_External_Properties): New routine. | |
4004 | * sem_prag.ads (Analyze_External_State_In_Decl_Part): New routine. | |
4005 | (Check_External_Properties): New routine. | |
4006 | * sem_res.adb (Resolve_Actuals): Detect an illegal use of a | |
4007 | volatile object as an actual in a call. | |
4008 | (Resolve_Entity_Name): | |
4009 | Add local variables Par, Prev and Usage_OK. Detect illegal | |
4010 | contexts of volatile objects. | |
4011 | * sem_util.adb (Add_Contract_Item): Add support for | |
4012 | pragmas associated with the contract of a variable. | |
4013 | (Async_Readers_Enabled): New routine. | |
4014 | (Async_Writers_Enabled): New routine. | |
4015 | (Effective_Reads_Enabled): New routine. | |
4016 | (Effective_Writes_Enabled): New routine. | |
4017 | (Has_Enabled_Property): | |
4018 | New routine. | |
4019 | (Is_Unchecked_Conversion_Instance): New routine. | |
4020 | (Is_Volatile_Object): Add support for entities that may denote | |
4021 | a volatile object. | |
4022 | * sem_util.ads (Add_Contract_Item): Update the | |
4023 | comment on usage. | |
4024 | (Async_Readers_Enabled): New routine. | |
4025 | (Async_Writers_Enabled): New routine. | |
4026 | (Effective_Reads_Enabled): New routine. | |
4027 | (Effective_Writes_Enabled): New routine. | |
4028 | (Is_Unchecked_Conversion_Instance): New routine. | |
4029 | * sinfo.ads Update the comment on the structure of N_Contract. | |
4030 | * snames.ads-tmpl Add predefined names for Async_Readers, | |
4031 | Async_Writers, Effective_Reads and Effective_Writes. Add | |
4032 | pragma ids for Async_Readers, Async_Writers, Effective_Reads | |
4033 | and Effective_Writes. | |
4034 | ||
4035 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
4036 | ||
4037 | * exp_ch4.adb (Eval_Op_Expon): Use CRT_Safe_Compile_Time_Known_Value | |
4038 | * sem_eval.adb (Compile_Time_Known_Value): Remove special | |
4039 | handling of CRT mode (CRT_Safe_Compile_Time_Known_Value): New | |
4040 | function (Eval_Op_Expon): Add CRT_Safe in call to Test_Foldable | |
4041 | (Test_Foldable): Add CRT_Safe parameter | |
4042 | * sem_eval.ads (Compile_Time_Known_Value): Remove special | |
4043 | handling of CRT mode. | |
4044 | (CRT_Safe_Compile_Time_Known_Value): New function. | |
4045 | ||
084c2203 RD |
4046 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
4047 | ||
4048 | * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Fix problem | |
4049 | with pragma or aspect that applies to package spec or subprogram | |
4050 | spec. | |
4051 | ||
579847c2 AC |
4052 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
4053 | ||
4054 | * exp_aggr.adb: Minor reformatting. | |
4055 | ||
4056 | 2014-01-21 Johannes Kanig <kanig@adacore.com> | |
4057 | ||
4058 | * gnat1drv.adb (Gnat1drv) remove obsolete reference to -gnatd.H. | |
4059 | ||
4060 | 2014-01-21 Bob Duff <duff@adacore.com> | |
4061 | ||
4062 | * gnat_ugn.texi: Document the "checks" attribute in gnat2xml. | |
4063 | ||
4064 | 2014-01-21 Steve Baird <baird@adacore.com> | |
4065 | ||
4066 | * gnat_rm.texi: Improve description of SPARK_Mode pragma. | |
4067 | ||
4068 | 2014-01-21 Vincent Celier <celier@adacore.com> | |
4069 | ||
4070 | * prj-part.adb (Parse_Single_Project): Accept to extend a project | |
4071 | if it has only be imported by an project being extended. When a | |
4072 | project that has only been imported by a project being extended | |
4073 | is imported by another project that is not being extended, | |
4074 | reset the previous indication, so that it will be an error if | |
4075 | this project is extended later. | |
4076 | * prj-tree.adb (Create_Project): Include component From_Extended | |
4077 | in table Projects_HT | |
4078 | * prj-tree.ads (Project_Name_And_Node): New Boolean component | |
4079 | From_Extended | |
4080 | ||
4081 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
4082 | ||
4083 | * atree.ads, atree.adb: Add Node33 and Set_Node33. | |
4084 | * einfo.ads, einfo.adb (SPARK_Pragma): New field (SPARK_Aux_Pragma): | |
4085 | New field (SPARK_Pragma_Inherited): New flag | |
4086 | (SPARK_Aux_Pragma_Inherited): New flag (SPARK_Mode_Pragmas): | |
4087 | Removed. | |
4088 | * lib.ads, lib.adb: Remove SPARK_Mode_Pragma, no longer used. | |
4089 | * opt.ads (SPARK_Mode_Pragma): New global variable. | |
4090 | * sem.ads: Add Save_SPARK_Mode_Pragma field to Scope_Stack_Entry. | |
4091 | * sem_ch3.adb: Use new SPARK_Mode data structures. | |
4092 | * sem_ch6.adb: Set SPARK_Mode fields in subprogram specs and bodies. | |
4093 | * sem_ch7.adb: Set SPARK_Mode fields in package spec and body entities. | |
4094 | * sem_ch8.adb (Push_Scope): Save SPARK_Mode_Pragma. | |
4095 | (Pop_Scope): Restore SPARK_Mode_Pragma. | |
4096 | * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Rewrite for | |
4097 | new data structures. | |
4098 | ||
4099 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
4100 | ||
4101 | * back_end.adb: Undo previous change, not needed. Minor reformatting. | |
4102 | ||
376e7d14 AC |
4103 | 2014-01-21 Thomas Quinot <quinot@adacore.com> |
4104 | ||
4105 | * exp_ch5.adb: Fix comment. | |
4106 | * switch-c.adb: Minor comment update. | |
4107 | * exp_ch3.adb: Minor reformatting. | |
4108 | ||
4109 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
4110 | ||
4111 | * back_end.adb (Scan_Compiler_Arguments): Do not store object | |
4112 | filename in gnatprove mode. | |
4113 | ||
4114 | 2014-01-21 Thomas Quinot <quinot@adacore.com> | |
4115 | ||
4116 | * sinfo.ads (No_Ctrl_Actions): Clarify documentation (flag also | |
4117 | suppresses usage of primitive _assign for tagged types). | |
4118 | * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Set | |
4119 | No_Ctrl_Actions for a tagged type that does not require | |
4120 | finalization, as we want to disable usage of _assign (which | |
4121 | may cause undesirable discriminant checks on an uninitialized, | |
4122 | invalid target). | |
4123 | ||
4124 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4125 | ||
4126 | * sem_prag.adb: Reject invariant'class on completion. | |
4127 | ||
8d81fb4e AC |
4128 | 2014-01-21 Javier Miranda <miranda@adacore.com> |
4129 | ||
4130 | * exp_ch3.adb (Build_Init_Procedure): For | |
4131 | derivations of interfaces, do not move the the initialization | |
4132 | of the _parent field since such assignment is not generated. | |
4133 | ||
4134 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4135 | ||
4136 | * sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity | |
4137 | with the operator it renames if we are within an expression of | |
4138 | a pre/postcondition, because the expression will be reanalyzed | |
4139 | at a later point, and the analysis of the renaming may affect | |
4140 | the visibility of the operator when in an instance. | |
4141 | ||
4142 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
4143 | ||
4144 | * sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1. | |
4145 | Add this flag to type conversion nodes and assignment nodes. | |
4146 | * treepr.adb: Deal properly with Flag 1,2,3. | |
4147 | * treeprs.adt: Minor comment update. | |
4148 | ||
4149 | 2014-01-21 Robert Dewar <dewar@adacore.com> | |
4150 | ||
4151 | * sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT | |
4152 | parameter. | |
4153 | * sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT | |
4154 | parameter, completely rewrite spec. | |
4155 | ||
4156 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4157 | ||
4158 | * sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram | |
4159 | instance that is inlined, it may have been rewritten as a wrapper | |
4160 | package. In that case the unit that must be made visible is the | |
4161 | related instance of the package. | |
4162 | ||
4163 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
4164 | ||
4165 | * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine | |
4166 | previous change in codepeer mode. | |
4167 | ||
6b6041ec AC |
4168 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> |
4169 | ||
4170 | * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Always add | |
4171 | call to Abort_Undefer, as expected by the runtime. | |
4172 | * s-tasren.adb (Local_Complete_Rendezvous): Replace | |
4173 | Defer_Abort_Nestable by Defer_Abort, since we do not expect abort to be | |
4174 | deferred at this point. Update comments. | |
4175 | ||
4176 | 2014-01-21 Thomas Quinot <quinot@adacore.com> | |
4177 | ||
4178 | * exp_ch4.adb, exp_ch5.adb, checks.adb: Minor reformatting. | |
4179 | ||
4180 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
4181 | ||
4182 | * switch-c.adb, usage.adb, gnat_ugn.texi: Mark -gnates as internal, | |
4183 | remove from doc. | |
4184 | ||
77a2f3df RD |
4185 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
4186 | ||
4187 | * switch-c.adb, usage.adb, atree.adb, atree.ads: Minor reformatting. | |
4188 | ||
5f0c4d67 AC |
4189 | 2014-01-21 Thomas Quinot <quinot@adacore.com> |
4190 | ||
4191 | * atree.adb, atree.ads (Num_Extension_Nodes): Switch to Node_Id, since | |
4192 | this is value is used in Node_Id arithmetic operations. | |
4193 | (Copy_Node, Exchange_Entities): Use loops indexed by Num_Extension_Nodes | |
4194 | instead of hard-coded unrolled code. | |
4195 | ||
4196 | 2014-01-21 Yannick Moy <moy@adacore.com> | |
4197 | ||
4198 | * gnat1drv.adb: Minor code cleanup, removing useless code. | |
4199 | ||
4200 | 2014-01-21 Arnaud Charlet <charlet@adacore.com> | |
4201 | ||
4202 | * opt.ads (SPARK_Switches_File_Name): New. | |
4203 | * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnates=xxx * | |
4204 | * usage.adb (Usage): Document -gnates, in gnatprove mode only. | |
4205 | * gnat_ugn.texi: Document -gnates. | |
4206 | ||
4207 | 2014-01-21 Yannick Moy <moy@adacore.com> | |
4208 | ||
4209 | * errout.adb (Special_Msg_Delete): Update comment. Remove | |
4210 | special case for GNATprove which should not ignore mismatch | |
4211 | in sizes for representation clauses. | |
4212 | * sem_prag.adb (Analyze_Pragma): Remove special case for GNATprove | |
4213 | which should not ignore pragma Pack. | |
4214 | ||
4215 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4216 | ||
4217 | * sem_ch4.adb: Code clean up. | |
4218 | ||
4219 | 2014-01-21 Steve Baird <baird@adacore.com> | |
4220 | ||
4221 | * gnat_rm.texi: Improve GNAT RM description of SPARK_Mode pragma. | |
4222 | ||
4bcf6815 AC |
4223 | 2014-01-21 Robert Dewar <dewar@adacore.com> |
4224 | ||
4225 | * gcc-interface/gigi.h: Get Flags array address. | |
4226 | * gcc-interface/trans.c: Acquire Flags array address. | |
4227 | * atree.adb: Add support for Flags array and Flag0,1,2,3. | |
4228 | * atree.ads: Add support for Flags array and Flag0,1,2,3. | |
4229 | * atree.h: Add support for Flags array and Flag0,1,2,3. | |
4230 | * back_end.adb: Pass Flags array address to gigi. | |
4231 | ||
4232 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4233 | ||
4234 | * sem_ch8.adb (Attribute_Renaming): Transfer original attribute | |
4235 | reference to generated body so that legality checks on stream | |
4236 | attributes are properly applied. If type is tagged and already | |
4237 | frozen, insert generated body at the point of the renaming | |
4238 | declaration. | |
4239 | ||
4240 | 2014-01-21 Ed Schonberg <schonberg@adacore.com> | |
4241 | ||
4242 | * sem_ch12.adb: Code clean up. | |
4243 | * sem_ch8.adb: Minor reformatting | |
4244 | ||
43417b90 AC |
4245 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4246 | ||
4247 | * checks.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4248 | converting warnings on inevitable exceptions to errors. | |
4249 | * exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4250 | converting warnings on inevitable exceptions to errors. | |
4251 | * opt.adb (SPARK_Mode_Config): Handled like other config flags | |
4252 | * opt.ads (SPARK_Mode_Type): Moved here from types (renamed from | |
4253 | SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove | |
4254 | SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config): | |
4255 | New flag (Config_Switches_Type): Add SPARK_Mode field | |
4256 | * sem.adb: Minor code reorganization (remove unnecessary with) | |
4257 | * sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field | |
4258 | * sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4259 | converting warnings on inevitable exceptions to errors. | |
4260 | * sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4261 | converting warnings on inevitable exceptions to errors. | |
4262 | * sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4263 | converting warnings on inevitable exceptions to errors. | |
4264 | * sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4265 | converting warnings on inevitable exceptions to errors. | |
4266 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode | |
4267 | from spec if needed | |
4268 | * sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode | |
4269 | from spec if needed | |
4270 | * sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope): | |
4271 | Restore SPARK_Mode | |
4272 | * sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4273 | converting warnings on inevitable exceptions to errors. | |
4274 | * sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function | |
4275 | (Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name | |
4276 | of Get_SPARK_Mode_Id | |
4277 | * sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function | |
4278 | * sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4279 | converting warnings on inevitable exceptions to errors. | |
4280 | * sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for | |
4281 | converting warnings on inevitable exceptions to errors. | |
4282 | * types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed | |
4283 | SPARK_Mode_Type | |
4284 | ||
4285 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4286 | ||
4287 | * sem_ch13.adb: Add semantic information to rewritten type | |
4288 | reference. | |
4289 | ||
4290 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4291 | ||
4292 | * exp_ch5.adb (Expand_N_Assignment_Statement): If both sides | |
4293 | are of a type with unknown discriminants, convert both to the | |
4294 | underlying view of the type, so that the proper constraint check | |
4295 | can be applied to the right-hand side. | |
4296 | ||
4297 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4298 | ||
4299 | * atree.adb (Copy_Node): Fix failure to copy last component | |
4300 | (Exchange_Entities): Fix failure to exchange last entity | |
4301 | ||
4302 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4303 | ||
4304 | * sem_ch12.adb: Code clean up. | |
4305 | ||
e4deba8e RD |
4306 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4307 | ||
4308 | * gnat_rm.texi, sem_ch4.adb: Minor reformatting. | |
4309 | ||
a736f6e6 AC |
4310 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
4311 | ||
4312 | * sem_ch4.adb (Analyze_Quantified_Expression): If after | |
4313 | pre-analysis the loop parameter specification has been | |
4314 | rewritten as a iterator specification, propagate the change to | |
4315 | the quantified expression, for ASIS navigtion needs. | |
4316 | ||
4317 | 2014-01-20 Vincent Celier <celier@adacore.com> | |
4318 | ||
4319 | * par-ch10.adb: Minor error message change: escape [ and ]. | |
4320 | ||
4a28b181 AC |
4321 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4322 | ||
4323 | * checks.adb: Make warnings on exceptions into errors in GNATprove mode. | |
4324 | * errout.adb: Implement [ and ] insertion characters. | |
4325 | * errout.ads: Document new [ and ] insertion characters. | |
4326 | * sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor | |
4327 | addition of ??? comment. | |
4328 | * lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting | |
4329 | * exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb, | |
4330 | sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb: | |
4331 | Make warnings on exceptions into errors in GNATprove mode. | |
4332 | * sem_dim.adb: Minor reformatting throughout Quote [ and ] | |
4333 | in error messages. | |
4334 | ||
4335 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4336 | ||
4337 | * sem_ch13.adb: Code clean up. | |
4338 | ||
b465ef6f AC |
4339 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4340 | ||
4341 | * errout.ads, errout.adb: Implement >? >x? >X? sequences in error | |
4342 | messages. | |
4343 | * sem_ch6.adb (Check_Statement_Sequence): Missing return is an | |
4344 | error in GNATprove mode. | |
4345 | ||
4346 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4347 | ||
4348 | * par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute | |
4349 | reference 'Old takes no parameters, and thus can appear as a | |
4350 | prefix of a slice. | |
4351 | ||
4352 | 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> | |
4353 | ||
4354 | * exp_aggr.adb: Fix minor typos. | |
4355 | ||
a6152428 AC |
4356 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
4357 | ||
4358 | * sem_attr.adb (Analyze_Attribute, case 'Constrained): In an | |
4359 | instance the attribute is legal, and its value is determined | |
4360 | statically if the type has no discriminants. This choice is | |
4361 | more useful than rechecking the legality rule in the instance, | |
4362 | is consistent with older usage, and is also consistent with all | |
4363 | existing tests. | |
4364 | ||
4365 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> | |
4366 | ||
4367 | * sem_cat.adb (Validate_Static_Object_Name): Change error into | |
4368 | warning in Relaxed_Semantic_Mode. | |
4369 | ||
e19fd0bd AC |
4370 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
4371 | ||
4372 | * sem_attr.adb: Code and comments cleanup. | |
4373 | ||
4374 | 2014-01-20 Yannick Moy <moy@adacore.com> | |
4375 | ||
4376 | * debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V * | |
4377 | * errout.adb (Compilation_Errors): Remove special handling in | |
4378 | GNATprove mode. | |
4379 | * gnat1drv.adb (Adjust_Global_Switches): Remove handling of the | |
4380 | removed debug flags. | |
4381 | * gnat_rm.texi: Initial documentation for Abstract_State, Depends, | |
4382 | Global, Initial_Condition, Initializes and Refined_State pragmas and | |
4383 | aspects. | |
4384 | * opt.ads (Frame_Condition_Mode, Formal_Extensions, | |
4385 | SPARK_Strict_Mode): Remove global flags. | |
4386 | * sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state | |
4387 | always performed now, on packages declaring a null state. | |
4388 | (Signed_Integer_Type_Declaration): Remove ill-designed attempt | |
4389 | at providing pedantic mode for bounds of integer types. | |
4390 | * sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious | |
4391 | "some" quantified expression now issued under control of -gnatw.t, | |
4392 | like the other warning on unused bound variable. | |
4393 | * sem_prag.adb (Check_Precondition_Postcondition): Remove useless test | |
4394 | on removed flag. | |
4395 | (Analyze_Pragma): Remove tests for SPARK 2014 | |
4396 | pragmas, not officially allowed by GNAT. | |
4397 | ||
58827738 AC |
4398 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4399 | ||
4400 | * sem_prag.adb (Analyze_Pragma): Ensure that | |
4401 | the sole argument of pragmas Abstract_State, Contract_Cases, | |
4402 | Depends, Global and Initializes in in aggregate form. | |
4403 | (Analyze_Refined_Pragma): Ensure that the sole argument of | |
4404 | pragmas Refined_Depends, Refined_Global and Refined_State is in | |
4405 | aggregate form. | |
4406 | (Ensure_Aggregate_Form): New routine. | |
4407 | ||
4408 | 2014-01-20 Doug Rupp <rupp@adacore.com> | |
4409 | ||
4410 | * sem_attr.adb (Analyze_Attribute): case | |
4411 | Attribute_Constrained => treat all prefixes as legal for Declib | |
4412 | compatibility. | |
4413 | ||
9559eccf AC |
4414 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4415 | ||
4416 | * sem_prag.adb (Check_Mode): Reimplement the routine. | |
4417 | (Find_Mode): New routine. | |
4418 | ||
4419 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4420 | ||
4421 | * sem_ch4.adb (Operator_Check): Handle additional | |
4422 | Allow_Integer_Address cases. | |
4423 | ||
7dbd3de9 RD |
4424 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4425 | ||
4426 | * gnat_rm.texi (Allow_Integer_Address): Remove note about not | |
4427 | allowed if address is non-private, no longer true. | |
4428 | * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): | |
4429 | Remove check for address being private, causes difficulty when | |
4430 | pragma used in gnat.adc file and is not needed, since we guard | |
4431 | this in Address_Integer_Convert_OK. | |
4432 | * exp_ch7.adb: Minor reformatting. | |
4433 | * sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode. | |
4434 | ||
4435 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4436 | ||
4437 | * checks.adb (Apply_Range_Check): Remove gnatprove special | |
4438 | casing of exponentiation. | |
4439 | * sem_res.adb (Resolve_Op_Expon): Apply range check to right | |
4440 | operand for integer case to check range against Natural. | |
4441 | ||
061828e3 AC |
4442 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4443 | ||
4444 | * s-tataat.adb: Minor reformatting. | |
4445 | ||
4446 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4447 | ||
4448 | * einfo.adb (Is_Descendent_Of_Address): Now applies to all | |
4449 | entities, and also fix documentation to remove mention of visible | |
4450 | integer type, since this is not what the implementation does. | |
4451 | * einfo.ads (Is_Descendent_Of_Address): Now applies to all | |
4452 | entities, and also fix documentation to remove mention of visible | |
4453 | integer type, since this is not what the implementation does. | |
4454 | * gnat_rm.texi: Minor clarification of Allow_Integer_Address | |
4455 | function. | |
4456 | * sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address | |
4457 | case for parameter type check. | |
4458 | * sem_res.adb (Resolve): Use new function | |
4459 | Address_Integer_Convert_OK. | |
4460 | * sem_type.adb: Minor code reorganization (use Ekind_In) Minor | |
4461 | reformatting throughout. | |
4462 | * sem_util.adb (Address_Integer_Convert_OK): New function. | |
4463 | * sem_util.ads: Minor reformatting (put specs in alpha order) | |
4464 | (Address_Integer_Convert_OK): New function. | |
4465 | ||
4466 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4467 | ||
4468 | * exp_ch7.adb (Wrap_Transient_Expression): | |
4469 | Insertion extra conditional expression only if | |
4470 | Opt.Suppress_Control_Flow_Optimizations is set. | |
4471 | ||
ff4e28eb AC |
4472 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
4473 | ||
4474 | * s-tataat.adb (Initialize_Attributes): Abort might already be | |
4475 | deferred in Create_Task. | |
4476 | ||
4477 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4478 | ||
4479 | * checks.adb (Apply_Scalar_Range_Check): Flag | |
4480 | the exponent as requiring a range check when the expression is | |
4481 | an exponentiation. | |
4482 | ||
a1efcc17 AC |
4483 | 2014-01-20 Fedor Rybin <frybin@adacore.com> |
4484 | ||
4485 | * gnat_ugn.texi: Documenting --passed-tests option for gnattest. | |
4486 | ||
4487 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4488 | ||
4489 | * sem_util.adb (Default_Initialization): New routine. | |
4490 | * sem_util.ads: Add new type Default_Initialization_Kind. | |
4491 | (Default_Initialization): New routine. | |
4492 | ||
4493 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4494 | ||
4495 | * sem_prag.adb (Check_Mode): Correct all error | |
4496 | message logic dealing with in/in out parameters that may appear | |
4497 | as inputs or have a self reference. | |
4498 | ||
6fd0a72a AC |
4499 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4500 | ||
4501 | * exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting. | |
4502 | * sem_res.adb (Resolve): Fix error causing infinite loop for | |
4503 | integer used as address. Allow addresses as integers. | |
4504 | ||
4505 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> | |
4506 | ||
4507 | * s-osinte-linux.ads (struct_sigaction): Fix rep clause. | |
4508 | ||
4509 | 2014-01-20 Bob Duff <duff@adacore.com> | |
4510 | ||
4511 | * par-ch8.adb (P_Use_Type_Clause): Detect syntax | |
4512 | error when "use all" is not followed by "type". | |
4513 | ||
3b4598a7 AC |
4514 | 2014-01-20 Bob Duff <duff@adacore.com> |
4515 | ||
4516 | * exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort | |
4517 | followed by free. | |
4518 | ||
4519 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4520 | ||
4521 | * checks.adb (Apply_Address_Clause_Check): If there is an | |
4522 | alignment check on the expression in an address clause, and there | |
4523 | is no local exception propagation, add an additional explanatory | |
4524 | message to clarify the cause of previous warning. | |
4525 | ||
4058ddcc AC |
4526 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4527 | ||
4528 | * exp_ch7.adb: Minor reformatting. | |
4529 | * opt.ads: Minor comment updates. | |
4530 | * sem.adb: Minor name change Is_Main_Unit => | |
4531 | Is_Main_Unit_Or_Main_Unit_Spec. | |
4532 | * sem_ch6.adb: Minor reformatting and code reorganization. | |
4533 | ||
4534 | 2014-01-20 Bob Duff <duff@adacore.com> | |
4535 | ||
4536 | * gnat_ugn.texi: Update gnatpp switches. | |
4537 | ||
4538 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4539 | ||
4540 | * exp_ch9.adb: Minor comment edit. | |
4541 | ||
d8a764c4 AC |
4542 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4543 | ||
4544 | * gnat_rm.texi: Document that Allow_Integer_Address is permitted | |
4545 | only if System.Address is a private type. | |
4546 | * opt.ads (Allow_Integer_Address): No longer set by -gnates. | |
4547 | * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address): | |
4548 | Allowed only if type System.Address is private, since otherwise | |
4549 | it makes no sense. | |
4550 | * sem_res.adb: Fix failure to properly Analyze unchecked | |
4551 | conversions that were introduced by Allow_Integer_Address. | |
4552 | * switch-c.adb: Remove -gnates switch. | |
4553 | * usage.adb: Remove -gnates switch. | |
4554 | * gnat_ugn.texi: Remove documentation of -gnates flag. | |
4555 | ||
4556 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4557 | ||
4558 | * sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and | |
4559 | resolve expression to perform proper name capture. | |
4560 | ||
4561 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4562 | ||
4563 | * sem.adb (Semantics): When saving/restoring configuration | |
4564 | switches, the spec of a pre- defined unit that is the main unit | |
4565 | must be treated as a predefined unit as well. | |
4566 | ||
4567 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4568 | ||
4569 | * exp_ch7.adb (Wrap_Transient_Expression): For a Boolean | |
4570 | expression, insert an extra conditional expression when saving | |
4571 | the value of the expression, for the benefit of control flow | |
4572 | graph based coverage analysis. | |
4573 | * exp_ch3.adb: Minor reformatting. | |
4574 | ||
818b578d AC |
4575 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4576 | ||
4577 | * gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode. | |
4578 | * gnat_rm.texi: Document pragma Allow_Integer_Address. | |
4579 | * gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates. | |
4580 | * opt.ads: New flag Allow_Integer_Address. | |
4581 | * par-prag.adb: Dummy entry for pragma Allow_Integer_Address. | |
4582 | * sem_ch5.adb: Minor reformatting. | |
4583 | * sem_prag.adb: Implement pragma Allow_Integer_Address. | |
4584 | * sem_res.adb (Resolve): Allow integer address value if | |
4585 | switch set. | |
4586 | * sem_util.adb: Minor reformatting. | |
4587 | * snames.ads-tmpl: Add entry for pragma Allow_Integer_Address. | |
4588 | * switch-c.adb: Recognize flag -gnates. | |
4589 | * usage.adb: Document flag -gnates. | |
4590 | ||
4591 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4592 | ||
4593 | * s-tadeca.adb: Fix minor typos in comment. | |
4594 | ||
c2e54001 AC |
4595 | 2014-01-20 Pascal Obry <obry@adacore.com> |
4596 | ||
4597 | * s-win32.ads (FreeLibrary): New import. | |
4598 | ||
4599 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4600 | ||
4601 | * sem_res.adb, sem_cat.adb: Minor reformatting. | |
4602 | * sem_ch11.adb (Analyze_Raise_Statement): Only give warning about | |
4603 | assigning to OUT parameters for the current subprogram scope. | |
4604 | * exp_ch4.adb: Minor reformatting. | |
4605 | ||
4606 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4607 | ||
4608 | * exp_ch4.adb (Process_Transient_Object, | |
4609 | Find_Enclosing_Contexts): If the top-level if-expression that | |
4610 | generated the transient object is an actual in a call, the proper | |
4611 | Hook_Context is a construct enclosing the call. | |
4612 | * einfo.ads: Indicate that Related_Expression is used to link a | |
4613 | loop variable to the container expression over which the loop | |
4614 | takes place. | |
4615 | (Analyze_Iterator_Specification): Set the Related_Expression of | |
4616 | the loop variable in a container element iterator. | |
4617 | (Note_Possible_Modification): If the variable is the loop | |
4618 | variable in a container element iterator, indicate that the | |
4619 | enclosing container is also modified. | |
4620 | ||
4621 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4622 | ||
4623 | * aspects.adb (Move_Or_Merge_Aspects): Reimplemented. | |
4624 | ||
90b51aaf AC |
4625 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4626 | ||
4627 | * s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads: | |
4628 | Minor reformatting and code clean up. | |
4629 | ||
4630 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> | |
4631 | ||
4632 | * sem_cat.adb (Validate_Object_Declaration): Relax semantics | |
4633 | of objects of private type if Relaxed_RM_Semantics. | |
4634 | ||
2838fa93 AC |
4635 | 2014-01-20 Claire Dross <dross@adacore.com> |
4636 | ||
4637 | * a-cofove.ads (Vector): Capacity discriminant | |
4638 | should be in range of the index. | |
4639 | ||
4640 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4641 | ||
4642 | * a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue): | |
4643 | Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for | |
4644 | possible difference between epoch of Ada.Calendar clock and Ada | |
4645 | real-time/tasking clock. | |
4646 | * s-taprop-posix.adb: Minor comment fix. | |
4647 | ||
4648 | 2014-01-20 Doug Rupp <rupp@adacore.com> | |
4649 | ||
4650 | * sysdep.c [vxworks]: Remove Vxworks version noise for RTP. | |
4651 | ||
4652 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4653 | ||
4654 | * exp_attr.adb (Expand_N_Attribute_Reference): Generate validity | |
4655 | checks on the prefix of attribute 'Old. | |
4656 | * sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the | |
4657 | generation of validity checks on a range that belongs to the | |
4658 | iteration scheme of a quantified expression. | |
4659 | * sem_ch5.adb (One_Bound): Suppress the generation of validity | |
4660 | checks on a bound that belongs to the iteration scheme of a | |
4661 | quantified expression, generate the check in all other cases. | |
4662 | ||
4663 | 2014-01-20 Bob Duff <duff@adacore.com> | |
4664 | ||
4665 | * gnat_ugn.texi: Enable --pp-new by default. Minor reorganization. | |
4666 | ||
4667 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> | |
4668 | ||
4669 | * sem_res.adb (Resolve): When compiling a predefined unit, ignore | |
4670 | interpretations that do not come from other predefined units, | |
4671 | to prevent spurious ambiguities in the presence of user-defined | |
4672 | operators in the context of (an instance of) a predefined unit. | |
4673 | ||
1e569204 AC |
4674 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4675 | ||
4676 | * gnat_rm.texi: Document that Loop_Variant is included in | |
4677 | Statement_Assertions. | |
4678 | * sem_prag.adb (Check_Kind): Add Loop_Variant to | |
4679 | Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant | |
4680 | to Statement_Assertions. | |
4681 | ||
4682 | 2014-01-20 Doug Rupp <rupp@adacore.com> | |
4683 | ||
4684 | * sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case | |
4685 | for errno ENOENT from RTP on NFS mounted file system. | |
4686 | ||
0969e96d AC |
4687 | 2014-01-20 Ed Schonberg <schonberg@adacore.com> |
4688 | ||
4689 | * sem_util.adb (Check_Function_Writable_Actuals): 1) Do not | |
4690 | examine code that does not come from source. The check does not | |
4691 | apply to code generated for constraint checks, and such code may | |
4692 | generate spurious error messages when compiled with expansion | |
4693 | disabled (as in a generic unit) because side effects may not | |
4694 | have been removed. | |
4695 | 2) Make error messages more explicit: indicate the component | |
4696 | of the construct whose value is indeterminate because of a | |
4697 | call to a function with in-out parameter in another component, | |
4698 | when there is no mandated order of execution between the two | |
4699 | components (actuals, aggregate components, alternatives). | |
4700 | ||
4701 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4702 | ||
4703 | * gnat_rm.texi: Minor cleanup. | |
4704 | ||
36eef04a AC |
4705 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4706 | ||
4707 | * sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result | |
4708 | can now apply to a refined postcondition. | |
4709 | * sem_ch6.adb (Analyze_Subprogram_Contract): Remove local | |
4710 | variable Result_Seen. Add variables Case_Prag, Post_Prag, | |
4711 | Seen_In_Case and Seen_In_Post. Update the mechanism that detects | |
4712 | whether postconditions and/or constract-cases mention attribute | |
4713 | 'Result and introduce a post-state when applied to functions. | |
4714 | (Check_Result_And_Post_State): Removed. | |
4715 | * sem_prag.adb (Analyze_Pragma): Add local variable | |
4716 | Result_Seen. Verify that the expression of pragma Refined_Post | |
4717 | mentions attribute 'Result and introduces a post-state. | |
4718 | * sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine. | |
4719 | ||
4720 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4721 | ||
4722 | * exp_ch7.adb (Is_Subprogram_Call): New routine. | |
4723 | (Process_Transient_Objects): Make variable Must_Hook global with | |
4724 | respect to all locally declared subprograms. Search the context | |
4725 | for at least one subprogram call. | |
4726 | (Requires_Hooking): Removed. | |
4727 | ||
4728 | 2014-01-20 Claire Dross <dross@adacore.com> | |
4729 | ||
4730 | * a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads | |
4731 | * a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove, | |
4732 | External_Axiomatization); | |
4733 | ||
65441a1e RD |
4734 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4735 | ||
4736 | * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow | |
4737 | Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas. | |
4738 | * sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume): | |
4739 | Allow Loop_Entry to be used in these pragmas if they appear in | |
4740 | an appropriate context. | |
4741 | (Placement_Error): Specialize error | |
4742 | message for pragma Assert[_And_Cut] or pragma Assume containing | |
4743 | Loop_Entry attribute. | |
4744 | * a-exexpr-gcc.adb, sinput.adb: Minor reformatting. | |
4745 | * s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting | |
4746 | and code clean ups. | |
4747 | ||
800da977 AC |
4748 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4749 | ||
4750 | * gnat1drv.adb: Minor comment update. | |
4751 | ||
4752 | 2014-01-20 Tristan Gingold <gingold@adacore.com> | |
4753 | ||
4754 | * raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused | |
4755 | variables, comment out unused code. | |
4756 | * a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads | |
4757 | * s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb | |
4758 | * s-excmac-arm.ads: New file. | |
4759 | ||
4760 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4761 | ||
4762 | * exp_ch4.adb (Expand_N_Slice): Remove constant D and variables | |
4763 | Drange and Index_Typ. Remove the circuitry which creates a | |
4764 | range check to compare the index type of the array against the | |
4765 | discrete_range. | |
4766 | * sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update | |
4767 | the circuitry which creates a range check to handle a | |
4768 | discrete_range denoted by a subtype indication. | |
4769 | ||
4770 | 2014-01-20 Pierre-Marie Derodat <derodat@adacore.com> | |
4771 | ||
4772 | * sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original | |
4773 | nodes to get the original sloc range. | |
4774 | ||
4775 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4776 | ||
4777 | * sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the | |
4778 | entity of a [library level] package. | |
4779 | ||
51b0e05a AC |
4780 | 2014-01-20 Tristan Gingold <gingold@adacore.com> |
4781 | ||
4782 | * raise-gcc.c (exception_class_eq): New function. | |
4783 | (is_handled_by): Use it to compare exception classes. | |
4784 | (PERSONALITY_STORAGE): Define. (continue_unwind): New function to | |
4785 | be called to return URC_CONTINUE_UNWIND. | |
4786 | (personality_body): New function, extracted from PERSONALITY_ROUTINE. | |
4787 | (PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder. | |
4788 | ||
4789 | 2014-01-20 Robert Dewar <dewar@adacore.com> | |
4790 | ||
4791 | * opt.ads: Minor comment update. | |
4792 | ||
5ff90f08 AC |
4793 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4794 | ||
4795 | * exp_ch4.adb (Expand_N_Slice): Relocate some variables and | |
4796 | constants to the "Local variables" area. Add new constant D. Add | |
4797 | new variables Drange and Index_Typ. Rename Pfx to Rep and Ptp | |
4798 | to Pref_Typ and update all occurrences. Add circuitry to extract | |
4799 | the discrete_range and the index type and build a range check. | |
4800 | ||
4801 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> | |
4802 | ||
4803 | * gnat1drv.adb (Adjust_Global_Switches): Enable | |
4804 | Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics | |
4805 | is set. | |
4806 | ||
4807 | 2014-01-20 Thomas Quinot <quinot@adacore.com> | |
4808 | ||
4809 | * sem_ch5.adb, sem_ch4.adb: Minor reformatting. | |
4810 | ||
4811 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4812 | ||
4813 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
4814 | When aspect SPARK_Mode appears on a package body, insert the | |
4815 | generated pragma at the top of the body declarations. | |
4816 | ||
1f0b1e48 RD |
4817 | 2014-01-20 Robert Dewar <dewar@adacore.com> |
4818 | ||
4819 | * sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb, | |
4820 | checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb, | |
4821 | expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb, | |
4822 | sem_ch8.adb, exp_dist.adb: Minor reformatting. | |
4823 | ||
c093d3cc AC |
4824 | 2014-01-20 Yannick Moy <moy@adacore.com> |
4825 | ||
4826 | * gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove | |
4827 | mode. | |
4828 | ||
4829 | 2014-01-20 Pascal Obry <obry@adacore.com> | |
4830 | ||
4831 | * g-arrspl.ads (Slice_Set): New definition (will use a copy on | |
4832 | write scheme). | |
4833 | * g-arrspl.adb: Adapt all routine to this new implementation. | |
4834 | (Set): Copy the Slice_Set definition before reusing it. | |
4835 | ||
0bd75e44 AC |
4836 | 2014-01-20 Arnaud Charlet <charlet@adacore.com> |
4837 | ||
4838 | * sem_prag.adb (Process_Import_Or_Interface): In | |
4839 | Relaxed_RM_Semantics, support old Ada 83 style of pragma Import. | |
4840 | (Analyze_Pragma): Ditto for pragma Export. | |
4841 | * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma | |
4842 | Import style. | |
4843 | ||
aca90db9 AC |
4844 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4845 | ||
4846 | * einfo.ads: E_Abstract_State is now part of the entities that | |
4847 | can be overloaded. Update type Overloadable_Kind to reflect the | |
4848 | inclusion of abstract states. | |
4849 | * sem_ch6.adb (New_Overloaded_Entity): A function can now | |
4850 | overload an abstract state. | |
4851 | * sem_prag.adb (Analyze_Constituent): Handle the overloading | |
4852 | of states by functions. Use Entity_Of to obtain the entity of | |
4853 | a constituent. (Analyze_Global_Item): Handle the overloading of | |
4854 | states by functions. | |
4855 | (Analyze_Initialization_Item): Handle the | |
4856 | overloading of states by functions. Use Entity_Of to obtain the | |
4857 | entity of an item. | |
4858 | (Analyze_Input_Item): Handle the overloading | |
4859 | of states by functions. Use Entity_Of to obtain the entity of an item. | |
4860 | (Analyze_Input_Output): Handle the overloading of states by functions. | |
4861 | (Analyze_Refinement_Clause): Handle the overloading | |
4862 | of states by functions. Use Entity_Of to obtain the entity of an item. | |
4863 | (Appears_In): Use Entity_Of to obtain the entity of an element. | |
4864 | (Check_Usage): Use Entity_Of to obtain the entity of | |
4865 | an item. Add a guard to prevent a crash due to a previous error. | |
4866 | (Resolve_State): New routine. | |
4867 | ||
4868 | 2014-01-20 Yannick Moy <moy@adacore.com> | |
4869 | ||
4870 | * spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads, | |
4871 | opt.ads: Minor comments updates. | |
4872 | ||
dc726757 HK |
4873 | 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4874 | ||
4875 | * einfo.adb (Non_Limited_View): Applies to abstract states. | |
4876 | (Set_From_Limited_With): Applies to abstract states. | |
4877 | (Set_Non_Limited_View): Applies to abstract states. | |
4878 | (Write_Field17): Output the non-limited view of an abstract state. | |
4879 | * einfo.ads: Update the comment on usage and occurrences in | |
4880 | nodes for attributes From_Limited_With and Non_Limited_View. | |
4881 | * sem_aux.adb (Available_View): This routine can now handle | |
4882 | abstract states. | |
4883 | * sem_aux.ads (Available_View): This routine can now handle | |
4884 | abstract states. Update the comment on usage. | |
4885 | * sem_ch8.adb (Find_Expanded_Name): Handle abstract views | |
4886 | of states and variables. | |
4887 | (In_Pragmas_Depends_Or_Global): New routine. | |
4888 | * sem_ch10.adb (Build_Limited_Views): Implement | |
4889 | abstract (limited) views of variables and states. | |
4890 | (Build_Shadow_Entity): This routine is now a procedure. Add | |
4891 | formal parameter Shadow. Update the comment on usage. Add | |
4892 | context-specific decoration for states and variables. | |
4893 | (Decorate_State): New routine. (Decorate_Variable): New routine. | |
4894 | (Find_And_Process_States): New routine. | |
4895 | (Process_Declarations): Renamed to Process_Declarations_And_States. | |
4896 | (Process_Declarations_And_States): Add formal parameters | |
4897 | Pack and Create_Abstract_Views. Update the comment on usage. | |
4898 | (Process_States): New routine. | |
4899 | * sem_prag.adb (Check_Dependency_Clause): Handle abstract | |
4900 | views of states and variables. Match the abstract view of a state | |
4901 | against its corresponding non-abstract view. | |
4902 | (Is_Matching_Input): | |
4903 | Handle abstract views of states and variables. Match the abstract | |
4904 | view of a state against its corresponding non-abstract view. | |
4905 | (Process_Global_Item): Handle abstract views of states and | |
4906 | variables. | |
4907 | ||
3a5de596 BD |
4908 | 2014-01-20 Bob Duff <duff@adacore.com> |
4909 | ||
4910 | * sem_ch10.adb (Expand_With_Clause): Don't | |
4911 | recurse on the prefix if the current with-ed name refers to a | |
4912 | package that renames its own parent, eg "package P.Q renames P;". | |
4913 | ||
4460a9bc YM |
4914 | 2014-01-20 Yannick Moy <moy@adacore.com> |
4915 | ||
4916 | * exp_spark.adb (Expand_SPARK_Call): Remove procedure. | |
4917 | * opt.adb, opt.ads (Full_Expander_Active): Remove function. | |
4918 | * checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb, | |
4919 | * sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, | |
4920 | * sem_disp.adb, sem_res.adb Replace Full_Expander_Active by | |
4921 | Expander_Active. | |
4922 | ||
4923 | 2014-01-20 Yannick Moy <moy@adacore.com> | |
4924 | ||
4925 | * sinfo.ads Update documentation of GNATprove mode. | |
4926 | ||
f5da7a97 YM |
4927 | 2014-01-20 Yannick Moy <moy@adacore.com> |
4928 | ||
4929 | * adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb, | |
4930 | * exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb, | |
4931 | * sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, | |
4932 | * sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into | |
4933 | GNATprove_Mode. | |
4934 | * sem_ch13.adb: Remove blank. | |
4935 | * exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace | |
4936 | subprograms by alias for renamings, not for inherited primitive | |
4937 | operations. | |
4938 | * exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion | |
4939 | in GNATprove mode. | |
4940 | (Remove_Side_Effects): Apply the removal in | |
4941 | GNATprove mode, for the full analysis of expressions. | |
4942 | * expander.adb (Expand): Call the light SPARK expansion in GNATprove | |
4943 | mode. | |
4944 | (Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore | |
4945 | save/restore actions for Expander_Active flag in GNATprove mode, | |
4946 | similar to what is done in ASIS mode. | |
4947 | * frontend.adb (Frontend): Generic bodies are instantiated in | |
4948 | GNATprove mode. | |
4949 | * gnat1drv.adb (Adjust_Global_Switches): Set operating | |
4950 | mode to Check_Semantics in GNATprove mode, although a light | |
4951 | expansion is still performed. | |
4952 | (Gnat1drv): Set Back_End_Mode to | |
4953 | Declarations_Only in GNATprove mode, and later on special case | |
4954 | the GNATprove mode to continue analysis anyway. | |
4955 | * lib-writ.adb (Write_ALI): Always generate ALI files in | |
4956 | GNATprove mode. | |
4957 | * opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to | |
4958 | Expander_Active. | |
4959 | (SPARK_Mode): Renamed as GNATprove_Mode. | |
4960 | * sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the | |
4961 | tree in GNATprove_Mode. | |
4962 | * sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate | |
4963 | body in GNATprove mode. | |
4964 | (Need_Subprogram_Instance_Body): Always instantiate body in GNATprove | |
4965 | mode. | |
4966 | * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl): | |
4967 | Make sure side effects are removed in GNATprove mode. | |
4968 | ||
fd6e497e EB |
4969 | 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
4970 | ||
4971 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests | |
4972 | for aliased objects with an unconstrained nominal subtype. | |
4973 | * gcc-interface/trans.c (Call_to_gnu): Likewise. | |
4974 | (gnat_to_gnu) <case N_Op_Not>: Robustify test for private type. | |
4975 | <case N_Op_Minus>: Remove useless code. | |
4976 | (Exception_Handler_to_gnu_zcx): Minor tweaks. | |
4977 | ||
44e9e3ec EB |
4978 | 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
4979 | ||
4980 | * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>: | |
4981 | Tidy up. For a subtype with discriminants and variant part, if a | |
4982 | variant is statically selected and the fields all have a constant | |
4983 | position, put them in order of increasing position. Likewise if | |
4984 | no variant part but representation clause is present. | |
4985 | * gcc-interface/utils.c (make_packable_type): Robustify. | |
4986 | (maybe_pad_type): Use local variable and tidy up condition. If no | |
4987 | alignment is specified, use the original one. | |
4988 | (create_type_stub_decl): Minor tweak. | |
4989 | (convert) <case VECTOR_CST>: Fix typo. | |
4990 | <case CONSTRUCTOR>: Deal with padding types around the same type. | |
4991 | Do not punt on missing fields. | |
4992 | (unchecked_convert): Call finish_record_type to lay out the special | |
4993 | record types made for conversions from/to problematic integer types. | |
4994 | Bump the alignment of CONSTRUCTORs before converting them to a more | |
4995 | aligned type. | |
4996 | ||
59f5c969 EB |
4997 | 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
4998 | ||
4999 | * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove | |
5000 | obsolete code for type_annotate_only mode, simplify code and slightly | |
5001 | improve wording of comments. | |
5002 | ||
2323a580 EB |
5003 | 2014-01-12 Eric Botcazou <ebotcazou@adacore.com> |
5004 | ||
5005 | PR ada/59772 | |
5006 | * gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type | |
5007 | as intermediate type. | |
5008 | (UI_To_gnu): Likewise. | |
5009 | ||
517c399e EB |
5010 | 2014-01-03 Eric Botcazou <ebotcazou@adacore.com> |
5011 | ||
5012 | * gnatvsn.ads (Current_Year): Bump to 2014. | |
5013 | ||
98db73df | 5014 | 2014-01-02 Tobias Burnus <burnus@net-b.de> |
00f96dc9 | 5015 | |
98db73df | 5016 | * gnat_ugn.texi: Bump @copying's copyright year. |
ad41bd84 | 5017 | \f |
98db73df | 5018 | Copyright (C) 2014 Free Software Foundation, Inc. |
ad41bd84 JM |
5019 | |
5020 | Copying and distribution of this file, with or without modification, | |
5021 | are permitted in any medium without royalty provided the copyright | |
5022 | notice and this notice are preserved. |