]>
Commit | Line | Data |
---|---|---|
3b045963 | 1 | 2012-10-02 Vincent Pucci <pucci@adacore.com> |
2 | ||
3 | * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension | |
4 | analysis for indexed components added. | |
5 | * sem_ch6.adb (Analyze_Function_Call): Dimension propagation | |
6 | for function calls added. | |
7 | * sem_dim.adb (Analyze_Dimension): Call to | |
8 | Analyze_Dimension_Has_Etype when N is a function call. | |
9 | (Analyze_Dimension_Call): Don't propagate anymore the dimensions | |
10 | for function calls since this is now treated separately in | |
11 | Analyze_Dimension_Has_Etype. | |
12 | (Analyze_Dimension_Has_Etype): For | |
13 | attribute references, propagate the dimensions from the prefix. | |
14 | * sem_dim.ads (Copy_Dimensions): Fix comment. | |
15 | ||
16 | 2012-10-02 Hristian Kirtchev <kirtchev@adacore.com> | |
17 | ||
18 | * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine. | |
19 | (Apply_Parameter_Aliasing_And_Validity_Checks): This routine | |
20 | has been split into two. | |
21 | (Apply_Parameter_Validity_Checks): New routine. | |
22 | * exp_ch6.adb (Expand_Call): Add checks to verify that actuals | |
23 | do not overlap. The checks are made on the caller side to overcome | |
24 | issues of parameter passing mechanisms. | |
25 | * freeze.adb (Freeze_Entity): Update call to | |
26 | Apply_Parameter_Aliasing_And_Validity_Checks. | |
27 | ||
c9e56837 | 28 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> |
29 | ||
30 | * sem_ch4.adb (Is_Empty_Range): Use bounds of index type | |
31 | to determine whether an array is empty when optimizing | |
32 | a quantified expression over a null range. Use of RM_Size | |
33 | was incorrect. Analyze condition before constant-folding the | |
34 | expression to catch potential errors. Modify the error message | |
35 | to avoid mathematical terminology. | |
36 | ||
df7590c5 | 37 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
38 | ||
39 | * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for | |
40 | /OVERFLOW_CHECKS=?? generating -gnato?? for control | |
41 | of extended overflow checking. | |
42 | * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=?? | |
43 | * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow | |
44 | checking mode. | |
45 | ||
46 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
47 | ||
48 | * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in | |
49 | a quantified expression is statically known to be null (e.g. a | |
50 | array with an empty index type) emit a warning. | |
51 | ||
61016a7a | 52 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
53 | ||
54 | * sem_dim.adb: Minor code reorganization. | |
55 | * sem_dim.ads: Add comment. | |
56 | ||
57 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
58 | ||
59 | * checks.ads, exp_ch4.adb, checks.adb | |
60 | (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid | |
61 | unnecessary conversions to Bignum. | |
62 | Minor reformatting. | |
63 | ||
64 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
65 | ||
66 | * sem_ch6.adb (Process_PPCs): Generate invariant checks for a | |
67 | return value whose type is an access type and whose designated | |
68 | type has invariants. Ditto for in-out parameters and in-parameters | |
69 | of an access type. | |
70 | * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check | |
71 | for an access component whose designated type has invariants. | |
72 | ||
cf4089a8 | 73 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
74 | ||
75 | * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine. | |
76 | (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by | |
77 | New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call | |
78 | replaced by Copy_Dimensions call. | |
79 | * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't | |
80 | remove the dimensions of expression in component declaration anymore. | |
81 | (Copy_Dimensions): New routine. | |
82 | (Move_Dimensions): Add call to Copy_Dimensions. | |
83 | * sem_dim.ads (Copy_Dimensions): New routine. | |
84 | (Move_Dimensions): Spec moved to body of Sem_Dim. | |
85 | ||
e6281d47 | 86 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
87 | ||
88 | * checks.adb (Apply_Predicate_Check): If the predicate is a | |
89 | static one and the operand is static, evaluate the predicate at | |
90 | compile time. | |
91 | * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new | |
92 | procedure, to evaluate a static predicate check whenever possible. | |
93 | * sem_res.adb (Resolve_Type_Conversion): Apply predicate check | |
94 | on the conversion if the target type has predicates. | |
95 | ||
96 | 2012-10-01 Vincent Pucci <pucci@adacore.com> | |
97 | ||
98 | * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been | |
99 | provided by the user in the dimension output call. | |
100 | ||
2fe22c69 | 101 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
102 | ||
103 | * checks.adb (Apply_Divide_Checks): New name for | |
104 | Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks): | |
105 | Add code to handle division (and rem and mod) properly. | |
106 | (Apply_Division_Check): New procedure (Apply_Divide_Checks): | |
107 | Use Apply_Division_Check (Apply_Divide_Checks): Use | |
108 | Apply_Arithmetic_Overflow_Minimized_Eliminated. | |
109 | * checks.ads (Apply_Divide_Checks): New name for | |
110 | Apply_Divide_Check, also add clearer documentation for this | |
111 | routine and put in alfa order. | |
112 | * exp_ch4.adb (Apply_Divide_Checks): New name for | |
113 | Apply_Divide_Check. | |
114 | * s-bignum.adb (To_Bignum): Handle largest negative integer | |
115 | properly. | |
116 | * sem.adb (Analyze): Handle overflow suppression correctly | |
117 | (Analyze_List): Handle overflow suppression correctly | |
118 | * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression | |
119 | correctly. | |
120 | ||
121 | 2012-10-01 Vasiliy Fofanov <fofanov@adacore.com> | |
122 | ||
123 | * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS. | |
124 | ||
de922300 | 125 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
126 | ||
127 | * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes | |
128 | for exponentiation. | |
129 | * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate | |
130 | overflow checks. | |
131 | * s-bignum.adb (Compare): Fix bad precondition. | |
132 | ||
133 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
134 | ||
135 | * sem_ch3.adb (Build_Derived_Record_Type): If the derived | |
136 | type has new discriminantss that constrain inherited ones, use | |
137 | the discriminant type in the original declaration to check for | |
138 | conformance, because in the presence of array components with a | |
139 | smaller range that are constrained by the origina discriminant, | |
140 | the compiler will have created a narrower subtype for that | |
141 | discriminant. | |
142 | ||
aa4b16cb | 143 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
144 | ||
145 | * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
146 | Handle case of appearing in range in membership test. | |
147 | * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow): | |
148 | New procedure (Expand_N_In): Use | |
149 | Expand_Membership_Minimize_Eliminate_Overflow. | |
150 | * rtsfind.ads: Add RE_Bignum_In_LLI_Range. | |
151 | * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function. | |
152 | * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag. | |
153 | ||
154 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
155 | ||
156 | * uintp.ads: Minor reformatting. | |
157 | ||
96a2d100 | 158 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
159 | ||
160 | * checks.adb: Improve warning message. | |
161 | ||
d94b5da2 | 162 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
163 | ||
164 | * checks.adb: Minor reformatting. | |
165 | ||
166 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
167 | ||
168 | * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag | |
169 | assignment for initializations that are aggregates. | |
170 | ||
171 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
172 | ||
173 | * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): | |
174 | New procedure. | |
175 | ||
49b3a812 | 176 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
177 | ||
178 | * checks.adb (Minimize_Eliminate_Checks): Changes from testing. | |
179 | (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes | |
180 | from testing. | |
181 | * sinfo.ads: Remove note on not setting Entity field in overflow | |
182 | case since this is no longer true. | |
183 | * Makefile.rtl: Add s-bignum.o | |
184 | ||
185 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
186 | ||
187 | * Make-generated.in: Correction to previous change for s-oscons | |
188 | target. | |
189 | ||
190 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
191 | ||
192 | * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict | |
193 | aliasing warning. | |
194 | ||
3cce7f32 | 195 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
196 | ||
197 | * checks.adb (Overflow_Check_Mode): New function | |
198 | (Apply_Overflow_Check): New procedure (Is_Check_Suppressed): | |
199 | Moved here from Sem, Overflow_Check case now specially treated. | |
200 | * checks.ads (Overflow_Check_Mode): New function | |
201 | (Is_Check_Suppressed): Moved here from Sem (more logical) | |
202 | * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about | |
203 | optimization if we are in MINIMIZED or ELIMINATED overflow | |
204 | checking mode and within an assertiom expression. | |
205 | * rtsfind.ads: Add entries for Bignum stuff. | |
206 | * s-bignum.ads, s-bignum.adb: New files. | |
207 | * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical. | |
208 | * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for | |
209 | Unsuppress of Overflow_Check (sets Checked instead of Minimized) | |
210 | * sem_res.adb: Update comments. | |
211 | * sinfo.ads (N_Op): Add documentation on overflow handling. | |
212 | * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure. | |
213 | * types.ads (Minimized_Or_Eliminated): New subtype. | |
214 | ||
215 | 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> | |
216 | ||
217 | * layout.adb (Layout_Type): Do not set twice the address size | |
218 | on an access-to-unconstrained array if Debug_Flag_6 is set. | |
219 | ||
15e5d5ca | 220 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> |
221 | ||
222 | * sem_ch3.adb (Analyze_Declarations): Remove the specialized | |
223 | code which prevents freezing when the declarative list contains | |
224 | a _postconditions body. This is no longer needed because the | |
225 | body is now inserted at the end of the declarations. | |
226 | * sem_ch6.adb (Insert_After_Last_Declaration): New routine. | |
227 | (Insert_Before_First_Source_Declaration): Removed. | |
228 | (Process_PPCs): Insert the _postconditions body at the end of | |
229 | the declarative list to prevent premature freezing of types that | |
230 | appear in the declarations. | |
231 | ||
232 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
233 | ||
234 | * sem_aggr.adb, sem_dim.adb: Minor reformatting. | |
235 | ||
22631b41 | 236 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
237 | ||
238 | * sem_prag.adb (Process_Convention, Process_Import_Or_Interface): | |
239 | Adjust test so that when the pragma comes from an aspect | |
240 | specification it only applies to the entity in the original | |
241 | declaration. | |
242 | ||
243 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
244 | ||
245 | * gnat_ugn.texi: Document new command line switch -fada-spec-parent. | |
246 | ||
247 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
248 | ||
249 | * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc | |
250 | builtin __alignof__ to get the alignment of struct fd_set. | |
251 | ||
252 | 2012-10-01 Vincent Pucci <pucci@adacore.com> | |
253 | ||
254 | * exp_ch6.adb (Expand_Call): Remove call to | |
255 | Remove_Dimension_In_Call. | |
256 | * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of | |
257 | components in array aggregate. | |
258 | (Resolve_Aggr_Expr): Propagate dimensions from the original expression | |
259 | Expr to the new created expression New_Expr when resolving the | |
260 | expression of a component in record aggregates. | |
261 | (Resolve_Record_Aggregate): Analyze | |
262 | dimension of components in record (or extension) aggregate. | |
263 | * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze | |
264 | dimension of formals with default expressions in subprogram | |
265 | specification. | |
266 | * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of | |
267 | expanded names. | |
268 | (Find_Selected_Component): Analyze dimension of selected component. | |
269 | * sem_dim.adb: Several dimension error messages reformatting. | |
270 | (Dimensions_Msg_Of): New flag Description_Needed in order to | |
271 | differentiate two different sort of dimension error messages. | |
272 | (Dim_Warning_For_Numeric_Literal): New routine. | |
273 | (Exists): New routine. | |
274 | (Move_Dimensions): Routine spec moved to spec file. | |
275 | * sem_dim.ads (String_From_Numeric_Literal): New routine. | |
276 | (Analyze_Dimension): Analyze dimension only when the | |
277 | node comes from source. Dimension analysis for expanded names added. | |
278 | (Analyze_Dimension_Array_Aggregate): New routine. | |
279 | (Analyze_Dimension_Call): New routine. | |
280 | (Analyze_Dimension_Component_Declaration): Warning if default | |
281 | expression is a numeric literal. | |
282 | (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine. | |
283 | (Analyze_Dimension_Formals): New routine. | |
284 | (Analyze_Dimension_Object_Declaration): Warning if default | |
285 | expression is a numeric literal. | |
286 | (Symbol_Of): Return either the dimension subtype symbol or the | |
287 | dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols. | |
288 | * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine. | |
289 | (Analyze_Dimension_Call): New routine. | |
290 | (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine. | |
291 | (Analyze_Dimension_Formals): New routine. | |
292 | (Move_Dimensions): Moved from sem_dim.adb. | |
293 | * s-dimmks.ads: Turn off the warnings for dimensioned object | |
294 | declaration. Dimensioned subtypes sorted in alphabetical | |
295 | order. New subtypes Area, Speed, Volume. | |
296 | * s-dmotpr.ads: Turn off the warnings for dimensioned object | |
297 | declaration. | |
298 | * sem_res.adb (Resolve_Call): Analyze dimension for calls. | |
299 | ||
300 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
301 | ||
302 | * Make-generated.in: Minor cleanup of all targets: use | |
303 | MOVE_IF_CHANGE to put generated files in place, to avoid useless | |
304 | recompilations. | |
305 | ||
306 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
307 | ||
308 | * exp_disp.adb (Expand_Dispatching_Call): For functions returning | |
309 | interface types add an implicit conversion to the returned object | |
310 | to force the displacement of the pointer to the returned object | |
311 | to reference the corresponding secondary dispatch table. This | |
312 | is needed to handle well combined calls involving secondary | |
313 | dispatch tables (for example Obj.Prim1.Prim2). | |
314 | * exp_ch4.adb (Expand_Allocator_Expression): Declare internal | |
315 | access type as access to constant or access to variable depending | |
316 | on the context. Found working in this ticket. | |
317 | ||
318 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
319 | ||
320 | * checks.adb (Apply_Predicate_Check): Do not apply check to | |
321 | actual of predicate checking procedure, to prevent infinite | |
322 | recursion. | |
323 | ||
71e95bca | 324 | 2012-10-01 Arnaud Charlet <charlet@adacore.com> |
325 | ||
326 | * gcc-interface/Make-lang.in: Update dependencies. | |
327 | (GCC_LINK): Add -static-libstdc++. | |
328 | ||
b6341c67 | 329 | 2012-10-01 Arnaud Charlet <charlet@adacore.com> |
330 | ||
331 | * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb, | |
332 | a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb, | |
333 | a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb, | |
334 | einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb, | |
335 | a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb, | |
336 | a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb, | |
337 | a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb, | |
338 | a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb, | |
339 | a-caldel-vms.adb, a-coorse.adb, errout.adb, | |
340 | a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb, | |
341 | a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb, | |
342 | a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb, | |
343 | binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb, | |
344 | a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb, | |
345 | a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb, | |
346 | a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb, | |
347 | a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb, | |
348 | a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb, | |
349 | a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor | |
350 | reformatting. | |
351 | ||
91e47010 | 352 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
353 | ||
354 | * s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index | |
355 | of Left in S evaluation fixed. | |
356 | ||
357 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
358 | ||
359 | * sem_ch3.adb (Analyze_Declarations): Avoid | |
360 | premature freezing caused by the internally generated subprogram | |
361 | _postconditions. | |
362 | * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid | |
363 | in VM targets. | |
364 | ||
365 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
366 | ||
367 | * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New | |
368 | Instances table, tracking all generic instantiations. Source file | |
369 | attribute Instance replaces previous Instantiation attribute with an | |
370 | index into the Instances table. | |
371 | (Iterate_On_Instances): New generic procedure. | |
372 | (Create_Instantiation_Source): Record instantiations in Instances. | |
373 | (Tree_Read, Tree_Write): Read/write the instance table. | |
374 | * scils.ads, scos.adb (SCO_Instance_Table): New table, contains | |
375 | information copied from Sinput.Instance_Table, but self-contained | |
376 | within the SCO data structures. | |
377 | * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level. | |
378 | (Record_Instance): New subprogram, used by... | |
379 | (Populate_SCO_Instance_Table): New subprogram to fill | |
380 | the SCO instance table from the Sinput one (called by SCO_Output). | |
381 | * opt.ads (Generate_SCO_Instance_Table): New option. | |
382 | * put_scos.adb (Write_Instance_Table): New subprogram, used by... | |
383 | (Put_SCOs): Dump the instance table at the end of SCO information | |
384 | if requested. | |
385 | * get_scos.adb (Get_SCOs): Read SCO_Instance_Table. | |
386 | * types.h: Add declaration for Instance_Id. | |
387 | * back_end.adb (Call_Back_End): Pass instance ids in source file | |
388 | information table. | |
389 | (Scan_Back_End_Switches): -fdebug-instances sets | |
390 | Opt.Generate_SCO_Instance_Table. | |
391 | * gcc-interface/gigi.h: File_Info_Type includes instance id. | |
392 | * gcc-interface/trans.c: Under -fdebug-instances, set instance | |
393 | id in line map from same in file info. | |
394 | ||
395 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
396 | ||
397 | * sem_elab.adb: Minor reformatting | |
398 | (Check_Elab_Call): Minor fix to debugging code | |
399 | (add special circuit for the valid case where a 'Access attribute | |
400 | reference is passed to Check_Elab_Call). | |
401 | ||
402 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
403 | ||
404 | * exp_ch3.adb: Minor reformatting. | |
405 | ||
1bd93de5 | 406 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
407 | ||
408 | * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body. | |
409 | * exp_ch3.adb (Build_Array_Invariant_Proc, | |
410 | Build_Record_Invariant_Proc): transform into functions. | |
411 | (Insert_Component_Invariant_Checks): for composite types that have | |
412 | components with specified invariants, build a checking procedure, | |
413 | and make into the invariant procedure of the composite type, | |
414 | or incorporate it into the user- defined invariant procedure if | |
415 | one has been created. | |
416 | * sem_ch3.adb (Array_Type_Declaration): Checking for invariants | |
417 | on the component type is defered to the expander. | |
418 | ||
419 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
420 | ||
421 | * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c, | |
422 | xoscons.adb: Minor reformatting. | |
423 | ||
424 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
425 | ||
426 | * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks): | |
427 | Do not process subprogram renaminds because a) those cannot | |
428 | have PPC pragmas b) the renamed entity already has the PPCs. | |
429 | (Build_PPC_Pragma): Prepend a PPC pragma for consistency with | |
430 | Process_PPCs. | |
431 | * sem_ch6.adb (Last_Implicit_Declaration): Removed. | |
432 | (Process_PPCs): Insert a post condition body at the start of the | |
433 | declarative region of the related subprogram. This way the body | |
434 | will not freeze anything it shouldn't. | |
435 | ||
7c443ae8 | 436 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
437 | ||
438 | * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb, | |
439 | exp_ch3.adb: Minor reformatting. | |
440 | ||
441 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
442 | ||
443 | * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly | |
444 | associated with a subprogram body. | |
445 | ||
5d3fb947 | 446 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
447 | ||
448 | * aspects.ads: Type_Invariant'class is a valid aspect. | |
449 | * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of | |
450 | initialization procedures, subprograms that do not come from | |
451 | source are not public for the purpose of invariant checking. | |
452 | * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the | |
453 | case of a non-private type in a package without a private part, | |
454 | when the type inherits invariants from its ancestor. | |
455 | ||
456 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
457 | ||
458 | * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to | |
459 | generate a checking procedure for record types that may have | |
460 | components whose types have type invariants declared. | |
461 | ||
4a9e7f0c | 462 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
463 | ||
464 | * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag | |
465 | Support_Atomic_Primitives set to True. | |
466 | ||
467 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
468 | ||
469 | * impunit.adb: Ada.Locales is a language defined unit. | |
470 | ||
471 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
472 | ||
473 | * checks.adb (Apply_Parameter_Aliasing_Checks): Removed. | |
474 | (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. | |
475 | (Apply_Parameter_Validity_Checks): Removed. | |
476 | * checks.ads (Apply_Parameter_Aliasing_Checks): Removed. | |
477 | (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. | |
478 | (Apply_Parameter_Validity_Checks): Removed. | |
479 | * exp_ch6.adb (Expand_Call): Remove the generation of parameter | |
480 | aliasing checks. | |
481 | * freeze.adb: Remove with and use clauses for Validsw. | |
482 | (Freeze_Entity): Update the guard and generation of aliasing | |
483 | and scalar initialization checks for subprogram parameters. | |
484 | * opt.ads: Add new flags Check_Aliasing_Of_Parameters and | |
485 | Check_Validity_Of_Parameters along with comments on usage. | |
486 | * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is | |
487 | no longer an Ada 2012 feature. | |
488 | * sem_ch4.adb: Remove with and use clauses for Checks and Validsw. | |
489 | (Analyze_Call): Remove the generation of aliasing checks for | |
490 | subprogram parameters. | |
491 | * sem_ch13.adb: Remove with and use clauses for Validsw. | |
492 | (Analyze_Aspect_Specifications): Remove the generation of scalar | |
493 | initialization checks. | |
494 | * switch-c.adb (Scan_Front_End_Switches): Add processing for | |
495 | -gnateA and -gnateV. | |
496 | * usage.adb (Usage): Add information on switches -gnateA and | |
497 | -gnateV. Remove information on validity switches 'l', 'L', | |
498 | 'v' and 'V'. | |
499 | * validsw.adb (Reset_Validity_Check_Options): Remove the | |
500 | reset of flags Validity_Check_Non_Overlapping_Params | |
501 | and Validity_Check_Valid_Scalars_On_Params. | |
502 | (Save_Validity_Check_Options): Remove the processing | |
503 | for flags Validity_Check_Non_Overlapping_Params | |
504 | and Validity_Check_Valid_Scalars_On_Params. | |
505 | (Set_Validity_Check_Options): Remove the processing | |
506 | for flags Validity_Check_Non_Overlapping_Params and | |
507 | Validity_Check_Valid_Scalars_On_Params. | |
508 | * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params | |
509 | and Validity_Check_Valid_Scalars_On_Params along with their | |
510 | comments on usage. | |
511 | ||
d513339a | 512 | 2012-10-01 Yannick Moy <moy@adacore.com> |
513 | ||
514 | * sem_ch13.adb (Add_Invariants): Analyze the invariant expression | |
515 | as an assertion expression. | |
516 | * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression): | |
517 | New procedure that wraps a call to Preanalyze_Spec_Expression | |
518 | for assertion expressions, so that In_Assertion_Expr can be | |
519 | properly adjusted. | |
520 | * sem_prag.adb (Analyze_PPC_In_Decl_Part | |
521 | Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the | |
522 | new Preanalyze_Assert_Expression. | |
523 | ||
a1c925e5 | 524 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
525 | ||
526 | * checks.ads: Minor reformatting. | |
527 | ||
528 | 2012-10-01 Yannick Moy <moy@adacore.com> | |
529 | ||
530 | * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments. | |
531 | ||
724d2bd8 | 532 | 2012-10-01 Vincent Celier <celier@adacore.com> |
533 | ||
534 | * make.adb (Scan_Make_Arg): Only test for "vP" of the option | |
535 | includes at least 3 characters. | |
536 | * gnatcmd.adb (GNATCmd): Ditto. | |
537 | ||
538 | 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> | |
539 | ||
540 | * exp_ch7.adb, sinfo.ads: Add comments. | |
541 | ||
542 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
543 | ||
544 | * checks.adb: Remove reference to Enable_Overflow_Checks Use | |
545 | Suppress_Options rather than Scope_Suppress. | |
546 | * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow | |
547 | settings (Adjust_Global_Switches): Initialize Scope_Suppress | |
548 | from Suppress_Options. | |
549 | * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options | |
550 | instead). | |
551 | * opt.ads: Remove Overflow_Checks_Unsuppressed (not used) | |
552 | Remove Enable_Overflow_Checks (use Suppress_Options instead) | |
553 | Suppress_Options is now current setting (replaces Scope_Suppress). | |
554 | * osint.adb (Initialize): Deal with initializing overflow | |
555 | checking. | |
556 | * par-prag.adb: Add dummy entry for pragma Overflow_Checks. | |
557 | * sem.adb (Semantics): Save and restore In_Assertion_Expr Use | |
558 | Suppress_Options instead of Scope_Suppress. | |
559 | * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress): | |
560 | Removed, use Suppress_Options instead. | |
561 | * sem_eval.adb (Compile_Time_Compare): Return Unknown in | |
562 | preanalysis mode. | |
563 | * sem_prag.adb (Process_Suppress_Unsuppress): Setting of | |
564 | Overflow_Checks_Unsuppressed removed (not used anywhere!) | |
565 | (Analyze_Pragma, case Check): Set In_Assertion_Expression | |
566 | (Analyze_Pragma, case Overflow_Checks): Implement new pragma | |
567 | * snames.ads-tmpl: Add names needed for handling pragma | |
568 | Overflow_Checks | |
569 | * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and | |
570 | -gnato?? where ? is 0-3 | |
571 | * types.ads: Updates and fixes to comment on Suppress_Record. | |
572 | ||
573 | 2012-10-01 Vincent Celier <celier@adacore.com> | |
574 | ||
575 | * prj-part.adb (Parse): Remove incorrect comment about checking | |
576 | imported non extending projects from and "extending all" | |
577 | one. Minor correction. | |
578 | ||
c9e9106d | 579 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
580 | ||
581 | * make.adb, exp_ch3.adb: Minor reformatting. | |
582 | ||
583 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
584 | ||
585 | * validsw.adb (Save_Validity_Check_Options): Do not set | |
586 | Validity_Check_Non_Overlapping_Params and | |
587 | Validity_Check_Valid_Scalars_On_Params when -gnatVa is present | |
588 | because the related checks are deemed too aggressive. | |
589 | ||
590 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
591 | ||
592 | * sem_util.ads sem_util.adb (Check_Internal_Protected_Use): | |
593 | reject use of protected procedure or entry within the body of | |
594 | a protected function of the same protected type, when usage is | |
595 | a call, an actual in an instantiation, a or prefix of 'Access. | |
596 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target | |
597 | object in renaming of protected procedure is a variable, and | |
598 | apply Check_Internal_Protected_Use. | |
599 | * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply | |
600 | Check_Internal_Protected_Use rather than on-line code. | |
601 | * sem_attr.adb (Analyze_Access_Attribute): Verify that target | |
602 | object in accsss to protected procedure is a variable, and apply | |
603 | Check_Internal_Protected_Use. | |
604 | ||
605 | 2012-10-01 Gary Dismukes <dismukes@adacore.com> | |
606 | ||
607 | * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the | |
608 | predefined interpretation from consideration if it's for a "/=" | |
609 | operator of a tagged type. This will allow Analyze_Equality_Op to | |
610 | rewrite the "/=" as a logical negation of a call to the appropriate | |
611 | dispatching equality function. This needs to be done during | |
612 | analysis rather than expansion for the benefit of ASIS, which | |
613 | otherwise gets the unresolved N_Op_Ne operator from Standard. | |
614 | ||
9e58d7ed | 615 | 2012-10-01 Thomas Quinot <quinot@adacore.com> |
616 | ||
617 | * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize | |
618 | and reject an invalid parameter passed to -vP. | |
619 | ||
620 | 2012-10-01 Yannick Moy <moy@adacore.com> | |
621 | ||
622 | * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve | |
623 | the detection of modifications to the loop variable by noting | |
624 | that, if the type of variable is elementary and the condition | |
625 | does not contain a function call, then the condition cannot be | |
626 | modified by side-effects from a procedure call. | |
627 | ||
628 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
629 | ||
630 | * checks.adb: Add comments. | |
631 | ||
632 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
633 | ||
634 | * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching | |
635 | never-ending recursion. The previous condition erroneously disabled | |
636 | silently the expansion of the class-wide interface object | |
637 | initialization in cases not involving the recursion. | |
638 | ||
b73adb97 | 639 | 2012-10-01 Thomas Quinot <quinot@adacore.com> |
640 | ||
641 | * make.adb: Minor documentation fix: error messages are sent to | |
642 | stderr, not stdout. | |
643 | ||
644 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
645 | ||
646 | * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine. | |
647 | (Apply_Parameter_Validity_Checks): New routines. | |
648 | * exp_ch6.adb (Expand_Call): Add aliasing checks to detect | |
649 | overlapping objects. | |
650 | * freeze.adb: Add with and use clauses for Checks and Validsw. | |
651 | (Freeze_Entity): Add checks to detect proper initialization | |
652 | of scalars. | |
653 | * sem_ch4.adb: Add with and use clauses for Checks and Validsw. | |
654 | (Analyze_Call): Add aliasing checks to detect overlapping objects. | |
655 | * sem_ch13.adb: Add with and use clauses for Validsw. | |
656 | (Analyze_Aspect_Specifications): Add checks to detect proper | |
657 | initialization of scalars. | |
658 | * sem_prag.adb (Chain_PPC): Correct the extraction of the | |
659 | subprogram name. | |
660 | * sem_util.adb (Is_Object_Reference): Attribute 'Result now | |
661 | produces an object. | |
662 | * usage.adb (Usage): Add usage lines for validity switches 'l', | |
663 | 'L', 'v' and 'V'. | |
664 | * validsw.adb (Reset_Validity_Check_Options): Include | |
665 | processing for flags Validity_Check_Non_Overlapping_Params and | |
666 | Validity_Check_Valid_Scalars_On_Params. Code reformatting. | |
667 | (Save_Validity_Check_Options): Include processing | |
668 | for flags Validity_Check_Non_Overlapping_Params | |
669 | and Validity_Check_Valid_Scalars_On_Params. | |
670 | (Set_Validity_Check_Options): Add processing for validity switches | |
671 | 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting. | |
672 | * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params | |
673 | and Validity_Check_Valid_Scalars_On_Params along with comments | |
674 | on usage. | |
675 | ||
676 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
677 | ||
678 | * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb, | |
679 | errout.ads: Minor reformatting. | |
680 | * prj-part.adb: Add comment. | |
681 | ||
29a9d4be | 682 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
683 | ||
684 | * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting. | |
685 | ||
686 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
687 | ||
688 | * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly | |
689 | component associations given by subtypes that have static | |
690 | predicates. Improve error message for overlapping ranges in | |
691 | array aggregates. | |
692 | ||
693 | 2012-10-01 Pascal Obry <obry@adacore.com> | |
694 | ||
695 | * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant. | |
696 | ||
697 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
698 | ||
699 | * sem_ch9.adb (Analyze_Requeue): The target of a requeue | |
700 | statement on a protected entry must be a variable. This is part | |
701 | of AI05-0225. | |
702 | ||
e1f2eb1e | 703 | 2012-09-26 Ian Lance Taylor <iant@google.com> |
704 | ||
705 | * gcc-interface/Makefile.in (LIBBACKTRACE): New variable. | |
706 | (LIBS): Add $(LIBBACKTRACE). | |
707 | (LIBDEPS): Add $(LIBBACKTRACE). | |
708 | (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a. | |
709 | ||
1bb62874 | 710 | 2012-09-10 Diego Novillo <dnovillo@google.com> |
711 | ||
712 | * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push. | |
713 | (build_variant_list): Likewise. | |
714 | * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push. | |
715 | ||
dd1d981f | 716 | 2012-09-07 Eric Botcazou <ebotcazou@adacore.com> |
717 | ||
718 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using | |
719 | size_type_node instead of sizetype. | |
720 | ||
0ade479e | 721 | 2012-08-19 Eric Botcazou <ebotcazou@adacore.com> |
722 | ||
723 | * layout.adb (Set_Elem_Alignment): Cap the alignment of access types | |
724 | to that of a regular access type for non-strict-alignment platforms. | |
725 | * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the | |
726 | alignment for non-strict-alignment platforms. | |
727 | ||
8b8701ea | 728 | 2012-08-19 Eric Botcazou <ebotcazou@adacore.com> |
729 | ||
730 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper | |
731 | dummy type for the temporary COMPONENT_REF built for a derived tagged | |
732 | type with discriminant. | |
733 | ||
7a6732ec | 734 | 2012-08-14 Diego Novillo <dnovillo@google.com> |
735 | ||
736 | Merge from cxx-conversion branch. Re-implement VEC in C++. | |
737 | ||
738 | * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage. | |
739 | * gcc-interface/utils.c (convert): Likewise. | |
740 | (remove_conversions): Likewise. | |
741 | * gcc-interface/utils2.c (compare_fat_pointers): Likewise. | |
742 | (build_unary_op): Likewise. | |
743 | (gnat_stabilize_reference): Likewise. | |
744 | ||
12c79495 | 745 | 2012-08-06 Jose Ruiz <ruiz@adacore.com> |
746 | ||
747 | * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC | |
748 | in kernel mode. | |
749 | ||
99a2d5bd | 750 | 2012-08-06 Arnaud Charlet <charlet@adacore.com> |
751 | ||
752 | * prj-attr.adb (Register_New_Package): Add missing blank. | |
753 | ||
754 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
755 | ||
756 | * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate, | |
757 | used when computing maximum size allowable to construct static | |
758 | aggregate. | |
759 | ||
760 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
761 | ||
762 | * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point | |
763 | calls added for derived types and subtypes. | |
764 | * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma, | |
765 | Has_Rep_Pragma): New routines. | |
766 | * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine. | |
767 | * sem_ch13.adb (Analyze_Aspect_Specifications): Error message | |
768 | for aspect Lock_Free fixed. | |
769 | (Inherits_Aspects_At_Freeze_Point): New routine. | |
770 | * sem_ch3.adb: Several flag settings removed since inheritance | |
771 | of aspects must be performed at freeze point. | |
772 | ||
773 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
774 | ||
775 | * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks. | |
776 | ||
777 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
778 | ||
779 | * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message | |
780 | for unknown exponent at compile-time. | |
781 | ||
782 | 2012-08-06 Gary Dismukes <dismukes@adacore.com> | |
783 | ||
784 | * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance | |
785 | comment to make it clear that the aggregate's evaluation might | |
786 | still involve run-time checks even though the aggregate is | |
787 | considered known at compile time. | |
788 | * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to | |
789 | refer to Exp_Aggr instead of Sem_Aggr. | |
790 | ||
08861748 | 791 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
792 | ||
793 | * xoscons.adb: Minor code reorganization (remove unused variable | |
794 | E at line 331). | |
795 | * g-sercom.ads, exp_attr.adb: Minor reformatting. | |
796 | * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag | |
797 | Static_Processing_OK. | |
798 | ||
799 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
800 | ||
801 | * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant | |
802 | constraint when building a constrained subtype, to prevent | |
803 | undesirable tree sharing betweeb geberated subtype and derived | |
804 | type definition. | |
805 | ||
806 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
807 | ||
808 | * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants | |
809 | on Windows. | |
810 | ||
811 | 2012-08-06 Sergey Rybin <rybin@adacore.com frybin> | |
812 | ||
813 | * tree_io.ads: Update ASIS_Version_Number because of the tree fix | |
814 | for discriminant constraints for concurrent types. | |
815 | ||
b76829e9 | 816 | 2012-08-06 Thomas Quinot <quinot@adacore.com> |
817 | ||
818 | * sem_ch4.adb: Minor reformatting. | |
819 | ||
820 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
821 | ||
822 | * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification, | |
823 | types cc_t, speed_t, and tcflag_t defined in <termios.h> all are | |
824 | unsigned types. Add required special handling to have their correct | |
825 | unsigned values in s-oscons.ads. | |
826 | ||
827 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
828 | ||
829 | * par-ch13.adb: Minor reformatting. | |
830 | ||
831 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
832 | ||
833 | * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb | |
834 | (Set): Add Local and Flow_Control settings. | |
835 | ||
836 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
837 | ||
838 | * exp_attr.adb: Suppress saving of 'Old if assertions are not | |
839 | enabled. | |
840 | ||
53f836d1 | 841 | 2012-08-06 Yannick Moy <moy@adacore.com> |
842 | ||
843 | * sem_ch4.adb (Analyze_Selected_Component): Issue an error in | |
844 | Alfa mode for component not present. | |
845 | ||
846 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
847 | ||
848 | * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not | |
849 | use a renaming of Scope_Stack.Table (Scope_Stack.Last), as | |
850 | Process_Transient_Object may introduce new scopes and cause | |
851 | Scope_Stack.Table to be reallocated. | |
852 | ||
fafc6b97 | 853 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
854 | ||
855 | * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads, | |
856 | checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb, | |
857 | gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement | |
858 | extended overflow checks (step 1). | |
859 | (Overflow_Check_Type, Suppress_Record, Suppress_All): New types. | |
860 | (Suppress_Array): Extended to include switches to control extended | |
861 | overflow checking (and renamed to Suppress_Record). | |
862 | Update all uses of Suppress_Array. | |
863 | ||
864 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
865 | ||
866 | * makeutl.ads: Minor documentation fix. | |
867 | ||
868 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
869 | ||
870 | * exp_ch7.adb: Minor reformatting. | |
871 | ||
825c3598 | 872 | 2012-08-06 Geert Bosch <bosch@adacore.com> |
873 | ||
874 | * a-ngelfu.adb: Change obsolete comment that this is a non-strict | |
875 | implementation. | |
876 | ||
877 | 2012-08-06 Steve Baird <baird@adacore.com> | |
878 | ||
879 | * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If | |
880 | CodePeer_Mode = True then omit exception handlers for finalization calls | |
881 | ||
882 | 2012-08-06 Robert Dewar <dewar@adacore.com> | |
883 | ||
884 | * exp_aggr.adb: Minor reformatting. | |
885 | ||
3f3f8d79 | 886 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
887 | ||
888 | * sem_ch6.adb: Remove useless flag Body_Deleted. | |
889 | ||
890 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
891 | ||
892 | * sinfo.ads (End_Span): Change default from No_Uint to Uint_0, | |
893 | as this is what all usage occurrences of this attribute are | |
894 | expecting. | |
895 | * uintp.adb (UI_To_Int): Add assertion to guard against calling | |
896 | with No_Uint. | |
897 | ||
898 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
899 | ||
7a6732ec | 900 | PR ada/54125 |
3f3f8d79 | 901 | * exp_attr.adb (Expand_N_Attribute_Reference): Expand new |
902 | Atomic_Always_Lock_Free attribute. | |
903 | * sem_attr.adb (Analyze_Attribute): Analyze new | |
904 | Atomic_Always_Lock_Free attribute. | |
905 | (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free | |
906 | attribute. | |
907 | * sem_ch9.adb (Allows_Lock_Free_Implementation): | |
908 | Support_Atomic_Primitives check replaces previous erroneous | |
909 | size check. | |
910 | * sem_util.adb, sem_util.ads (Support_Atomic_Primitives): | |
911 | New routine. | |
912 | * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and | |
913 | new attribute Attribute_Atomic_Always_Lock_Free defined. | |
914 | * s-atopri.adb: Support_Atomic_Primitives checks replaced by | |
915 | Atomic_Always_Lock_Free queries. | |
916 | * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads, | |
917 | system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads, | |
918 | system-linux-ppc.ads, system-linux-s390.ads, | |
919 | system-linux-s390x.ads, system-linux-sh4.ads, | |
920 | system-linux-sparc.ads, system-lynxos178-ppc.ads, | |
921 | system-lynxos-ppc.ads, system-mingw.ads, | |
922 | system-vxworks-arm.ads, system-solaris-sparc.ads, | |
923 | system-solaris-sparcv9.ads, system-vms_64.ads, | |
924 | system-vxworks-m68k.ads, system-vxworks-mips.ads, | |
925 | system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag | |
926 | Support_Atomic_Primitives removed. | |
927 | ||
a39ff582 | 928 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> |
929 | ||
930 | * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are | |
931 | now unconditionally passed by reference. IN parameters subject | |
932 | to convention C_Pass_By_Copy are passed by copy, otherwise they | |
933 | are passed by reference. | |
934 | ||
935 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
936 | ||
937 | * sem_ch3.adb (Analyze_Object_Declaration): According to | |
938 | AI95-0303, protected objects with interrupt handlers can be | |
939 | declared in nested scopes. This is a binding interpretation, | |
940 | and thus applies to all versions of the compiler. | |
941 | ||
942 | 2012-08-06 Robert Dewar <dewar@adacore.com> | |
943 | ||
944 | * frontend.adb, exp_aggr.adb: Minor reformatting. | |
945 | ||
946 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
947 | ||
948 | * par-endh.adb: Minor reformatting. | |
949 | ||
ace3389d | 950 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> |
951 | ||
952 | * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop | |
953 | processing related to array initialization. The expansion of | |
954 | loops already contains a mechanism to detect controlled objects | |
955 | generated by expansion and introduce a block around the loop | |
956 | statements for finalization purposes. | |
957 | ||
958 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
959 | ||
960 | * sem_ch13.adb: Current scope must be within | |
961 | or same as the scope of the entity while analysing aspect | |
962 | specifications at freeze point. | |
963 | ||
964 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
965 | ||
966 | * par_sco.adb: Add note about dubious SCO for TERMINATE | |
967 | alternative. | |
968 | * sem_ch8.adb, exp_ch11.adb: Minor reformatting. | |
969 | ||
970 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
971 | ||
972 | * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to | |
973 | transform an aggregate for a packed two-dimensional array into | |
974 | a one-dimensional array of constant values, in order to avoid | |
975 | the generation of component-by-component assignments. | |
976 | ||
977 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
978 | ||
979 | * frontend.adb: Do not attempt to process deferred configuration | |
980 | pragmas if the main unit failed to load, to avoid cascaded | |
981 | inconsistencies that can lead to a compiler crash. | |
982 | ||
8ef22b90 | 983 | 2012-08-06 Vincent Pucci <pucci@adacore.com> |
984 | ||
985 | * s-atopri.adb: Minor reformatting. | |
986 | ||
987 | 2012-08-06 Arnaud Charlet <charlet@adacore.com> | |
988 | ||
989 | * gnat-style.texi: Clarify that all subprograms should be | |
990 | documented. Minor rewording. | |
991 | ||
5134891e | 992 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
993 | ||
994 | * aspects.ads: Define Aspect_Id_Exclude_No_Aspect. | |
995 | * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to | |
996 | simplify code. | |
997 | ||
998 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
999 | ||
1000 | * gnat-style.texi: Update style guide for declarations. | |
1001 | ||
1002 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
1003 | ||
1004 | * sem_attr.adb (Analyze_Attribute): In the case for 'Old, | |
1005 | skip a special expansion which is not needed in Alfa mode. | |
1006 | ||
1007 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
1008 | ||
1009 | * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform | |
1010 | an expansion of the iterator in Alfa mode. | |
1011 | ||
dcbac5c0 | 1012 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
1013 | ||
1014 | * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting. | |
1015 | ||
1016 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1017 | ||
1018 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete | |
1019 | Alfa-specific guard. The code is a leftover from an early | |
1020 | implementation of iterators which is no longer in use. | |
1021 | ||
1022 | 2012-08-06 Vincent Celier <celier@adacore.com> | |
1023 | ||
1024 | * par-ch13.adb (Get_Aspect_Specifications): Do not consider | |
1025 | No_Aspect when checking for a mispelled aspect. | |
1026 | ||
81beaf05 | 1027 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
1028 | ||
1029 | * s-htable.adb: Minor reformatting. | |
1030 | ||
1031 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
1032 | ||
1033 | * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS): | |
1034 | Suppress warnings so that we don't have to do it at each usage. | |
1035 | ||
ba9b1a39 | 1036 | 2012-08-06 Vincent Pucci <pucci@adacore.com> |
1037 | ||
1038 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
1039 | Use of Known_Static_Esize instead of Known_Esize and | |
1040 | Known_Static_RM_Size instead of Known_RM_Size in order to | |
1041 | properly call UI_To_Int. Don't check the size of the component | |
1042 | type in case of generic. | |
1043 | * sem_ch9.adb (Allows_Lock_Free_Implementation): | |
1044 | Use of Known_Static_Esize instead of Known_Esize and | |
1045 | Known_Static_RM_Size instead of Known_RM_Size in order to properly | |
1046 | call UI_To_Int. Don't check the size of the component type in | |
1047 | case of generic. | |
1048 | ||
1049 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> | |
1050 | ||
1051 | * checks.adb (Discrete_Range_Cond): Do not try to optimize on | |
1052 | the assumption that the type of an expression can always fit in | |
1053 | the target type of a conversion. | |
1054 | ||
1094a5ca | 1055 | 2012-07-30 Robert Dewar <dewar@adacore.com> |
1056 | ||
1057 | * bindusg.adb: Clarify file in -A lines. | |
1058 | ||
1059 | 2012-07-30 Robert Dewar <dewar@adacore.com> | |
1060 | ||
1061 | * freeze.adb: Minor reformatting. | |
1062 | ||
1063 | 2012-07-30 Robert Dewar <dewar@adacore.com> | |
1064 | ||
1065 | * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization. | |
1066 | ||
1067 | 2012-07-30 Vincent Pucci <pucci@adacore.com> | |
1068 | ||
1069 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor | |
1070 | reformatting. | |
1071 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting. | |
1072 | Capture the correct error message in case of a quantified expression. | |
1073 | ||
1074 | 2012-07-30 Thomas Quinot <quinot@adacore.com> | |
1075 | ||
1076 | * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the | |
1077 | value is a milliseconds count in a DWORD, not a struct timeval. | |
1078 | ||
50b3164d | 1079 | 2012-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
1080 | ||
1081 | * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code | |
1082 | refactoring. | |
1083 | ||
1084 | 2012-07-30 Thomas Quinot <quinot@adacore.com> | |
1085 | ||
1086 | * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads | |
1087 | (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better | |
1088 | reflect what this subprogram does. Rename argument Including_L_Switch | |
1089 | to For_Gnatbind, and also exempt -A from rewriting. | |
1090 | * bindusg.adb: Document optional =file argument to gnatbind -A. | |
1091 | ||
1092 | 2012-07-30 Ed Schonberg <schonberg@adacore.com> | |
1093 | ||
1094 | * freeze.adb (Freeze_Entity): Do no apply restriction check on | |
1095 | storage pools to access to subprogram types. | |
1096 | ||
2beb22b1 | 1097 | 2012-07-30 Robert Dewar <dewar@adacore.com> |
1098 | ||
1099 | * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb, | |
1100 | exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb, | |
1101 | a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb, | |
1102 | a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb, | |
1103 | s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting. | |
1104 | Add comments. | |
1105 | ||
7c3537be | 1106 | 2012-07-30 Vincent Pucci <pucci@adacore.com> |
1107 | ||
1108 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit | |
1109 | dereferences of access values. | |
1110 | ||
2953bbc2 | 1111 | 2012-07-27 Iain Sandoe <iain@codesourcery.com> |
1112 | ||
1113 | * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True. | |
1114 | ||
2330f9c5 | 1115 | 2012-07-25 Eric Botcazou <ebotcazou@adacore.com> |
1116 | ||
1117 | * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do | |
1118 | not stabilize operand #1 and #2. | |
1119 | ||
c2d9cb26 | 1120 | 2012-07-23 Tristan Gingold <gingold@adacore.com> |
1121 | ||
1122 | * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use | |
1123 | End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node. | |
1124 | ||
1125 | 2012-07-23 Olivier Hainque <hainque@adacore.com> | |
1126 | ||
1127 | * gcc-interface/Makefile.in: Adjust processing of Linker_Options for | |
1128 | VxWorks. | |
1129 | * gcc-interface/Make-lang.in: Update dependencies. | |
1130 | ||
8f531643 | 1131 | 2012-07-23 Arnaud Charlet <charlet@adacore.com> |
1132 | ||
1133 | * s-tasinf-linux.ads: Fix typo. | |
1134 | ||
1135 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
1136 | ||
1137 | * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting | |
1138 | ||
1139 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1140 | ||
1141 | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original | |
1142 | loop carries an identifier, preserve it when rewriting it as a | |
1143 | standard loop to validate exit statements that may reference | |
1144 | that name in the body of the loop. | |
1145 | ||
1146 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
1147 | ||
1148 | * exp_ch9.adb: Minor code cleanup. | |
1149 | ||
094ed68e | 1150 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> |
1151 | ||
1152 | * sem_ch4.adb (Analyze_Selected_Component): When checking for | |
1153 | potential ambiguities with class-wide operations on synchronized | |
1154 | types, attach the copied node properly to the tree, to prevent | |
1155 | errors during expansion. | |
1156 | ||
1157 | 2012-07-23 Yannick Moy <moy@adacore.com> | |
1158 | ||
1159 | * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body | |
1160 | is analyzed in Alfa mode. | |
1161 | ||
1162 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1163 | ||
1164 | * sem_res.adb: Adjust previous change. | |
1165 | ||
1166 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
1167 | ||
1168 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag | |
1169 | Lock_Free_Given renames previous flag Complain. Description | |
1170 | updated. Henceforth, catch every error messages issued by this | |
1171 | routine when Lock_Free_Given is True. Declaration restriction | |
1172 | updated: No non-elementary parameter instead (even in parameter) | |
1173 | New subprogram body restrictions implemented: No allocator, | |
1174 | no address, import or export rep items, no delay statement, | |
1175 | no goto statement, no quantified expression and no dereference | |
1176 | of access value. | |
1177 | ||
1178 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
1179 | ||
1180 | * checks.adb (Determine_Range): Add local variable Btyp. Handle | |
1181 | the case where the base type of an enumeration subtype is | |
1182 | private. Replace all occurrences of Base_Type with Btyp. | |
1183 | * exp_attr.adb (Attribute_Valid): Handle the case where the | |
1184 | base type of an enumeration subtype is private. Replace all | |
1185 | occurrences of Base_Type with Btyp. | |
1186 | * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable | |
1187 | Btyp. Handle the case where the base type of an enumeration | |
1188 | subtype is private. Replace all occurrences of Base_Type with | |
1189 | Btyp. | |
1190 | ||
1630f2a9 | 1191 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> |
1192 | ||
1193 | * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply | |
1194 | to a formal object of an anonymous access type. | |
1195 | ||
1196 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1197 | ||
1198 | * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing | |
1199 | aspect can have more than one index, e.g. to describe indexing | |
1200 | of a multidimensional object. | |
1201 | ||
1202 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
1203 | ||
1204 | * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is | |
1205 | now more complex and contains optional finalization part and mandatory | |
1206 | deallocation part. | |
1207 | ||
1208 | 2012-07-23 Gary Dismukes <dismukes@adacore.com> | |
1209 | ||
1210 | * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb, | |
1211 | a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress | |
1212 | Accessibility_Check for Element_Type allocators. | |
1213 | ||
1214 | 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com> | |
1215 | ||
1216 | * projects.texi: Fix typo. | |
1217 | ||
1218 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1219 | ||
1220 | * sem_res.adb (Resolve_Explicit_Derenference): If prefix is | |
1221 | overloaded, remove those interpretations whose designated type | |
1222 | does not match the context, to avoid spurious ambiguities that | |
1223 | may be caused by the Ada 2012 conversion rule for anonymous | |
1224 | access types. | |
1225 | ||
3a72f9c3 | 1226 | 2012-07-23 Vincent Celier <celier@adacore.com> |
1227 | ||
1228 | * g-spitbo.adb (Substr (String)): Return full string and do not | |
1229 | raise exception when Start is 1 and Len is exactly the length | |
1230 | of the string parameter. | |
1231 | * g-spitbo.ads: Fix spelling error in the name of exception | |
1232 | Index_Error. | |
1233 | ||
1234 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1235 | ||
1236 | * par.adb: new subprogram Get_Aspect_Specifications. | |
1237 | * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect | |
1238 | specifications. | |
1239 | * par-ch13.adb (Get_Aspect_Specifications): extracted from | |
1240 | P_Aspect_Specifications. Collect aspect specifications in some | |
1241 | legal context, but do not attach them to any declaration. Used | |
1242 | when parsing subprogram declarations or bodies that include | |
1243 | aspect specifications. | |
1244 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are | |
1245 | present, analyze them, or reject them if the subprogram as a | |
1246 | previous spec. | |
1247 | ||
1248 | 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com> | |
1249 | ||
1250 | * gnat_ugn.texi: Omit section on other platforms/runtimes support | |
1251 | in gnattest for vms version. | |
1252 | ||
1253 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1254 | ||
1255 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
1256 | Handle properly aspects that can be specified on a subprogram | |
1257 | body: CPU, Priority, and Interrupt_Priority. | |
1258 | ||
1259 | 2012-07-23 Claire Dross <dross@adacore.com> | |
1260 | ||
1261 | * a-cfdlli.ads: Switch definition of Constant_Reference_Type | |
1262 | and Empty_List. | |
1263 | ||
1264 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
1265 | ||
1266 | * par_sco.adb (Process_Decisions.Output_Header): For the guard | |
1267 | on an alternative in a SELECT statement, use the First_Sloc | |
1268 | of the guard expression (not its topmost sloc) as the decision | |
1269 | location, because this is what is referenced by dominance markers. | |
1270 | ||
1271 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
1272 | ||
1273 | * exp_ch7.adb (Requires_Hooking): Examine the original expression | |
1274 | of an object declaration node because a function call that | |
1275 | returns on the secondary stack may have been rewritten into | |
1276 | something else. | |
1277 | ||
1278 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
1279 | ||
1280 | * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate | |
1281 | dimension when entity is a non-dimensionless constant. | |
1282 | (Analyze_Dimension_Object_Declaration): Propagate | |
1283 | dimension from the expression to the entity when type is a | |
1284 | dimensioned type and object is a constant. | |
1285 | ||
1286 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1287 | ||
1288 | * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix | |
1289 | is not an entity name, expand at once so that code generated by | |
1290 | the expansion of the prefix is not generated before the constant | |
1291 | that captures the old value is properly inserted and analyzed. | |
1292 | ||
1293 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
1294 | ||
1295 | * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL | |
1296 | statement as Comes_From_Source so that GIGI does not eliminate it. | |
1297 | ||
549ddc37 | 1298 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> |
1299 | ||
1300 | * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now | |
1301 | a local variable. Retrieve the related instance when processing | |
1302 | a subprogram instantiation. Such instances appear as wrapper | |
1303 | packages. | |
1304 | ||
1305 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
1306 | ||
1307 | * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads, | |
1308 | system-hpux.ads, system-linux-alpha.ads, | |
1309 | system-linux-hppa.ads, system-linux-ppc.ads, | |
1310 | system-linux-s390.ads, system-linux-s390x.ads, | |
1311 | system-linux-sh4.ads, system-linux-sparc.ads, | |
1312 | system-lynxos-ppc.ads, system-mingw.ads, | |
1313 | system-solaris-sparc.ads, system-solaris-sparcv9.ads, | |
1314 | system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads, | |
1315 | system-vxworks-mips.ads, system-vxworks-ppc.ads, | |
1316 | system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False. | |
1317 | * system-darwin-x86.ads, system-darwin-x86_64.ads, | |
1318 | system-freebsd-x86.ads, system-freebsd-x86_64.ads, | |
1319 | system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads, | |
1320 | system-linux-x86_64.ads, system-lynxos-x86.ads, | |
1321 | system-mingw-x86_64.ads, system-solaris-x86.ads, | |
1322 | system-solaris-x86_64.ads, system-vms-ia64.ads, | |
1323 | system-vxworks-x86.ads: Support_Atomic_Primitives set to True. | |
1324 | * s-atopri.adb (Lock_Free_Read_X): New body. | |
1325 | (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added. | |
1326 | (Lock_Free_Try_Write_64): New body. | |
1327 | * s-atopri.ads: New type uint. | |
1328 | (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic | |
1329 | import. | |
1330 | (Lock_Free_Read_X): Body moved to s-atopri.adb. | |
1331 | (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X | |
1332 | routines. | |
1333 | * targparm.adb: New enumeration literal SAP | |
1334 | (Support_Atomic_Primitives) for type Targparm_Tags. New constant | |
1335 | SAP_Str. New component SAP_Str'Access for array Targparm_Str. | |
1336 | (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target | |
1337 | flag. | |
1338 | * targparm.ads: New back-end code generation flag | |
1339 | Support_Atomic_Primitives_On_Target | |
1340 | ||
1341 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
1342 | ||
1343 | * gnat_ugn.texi: Dimensionality checking documentation updated. | |
1344 | ||
1345 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
1346 | ||
1347 | * sem_prag.adb (Make_Inline): If the pragma applies to a | |
1348 | subprogram renaming, set inline flags on both the renamed entity | |
1349 | and on the renaming, so that some ASIS queries can be handled | |
1350 | consistently in the absence of expansion. | |
1351 | ||
d6a9dc1e | 1352 | 2012-07-23 Fedor Rybin <frybin@adacore.com> |
1353 | ||
1354 | * gnat_ugn.texi: Removing obsolete limitation of gnattest | |
1355 | to support only ada05. Updating gnattest support for other | |
1356 | platforms/run-times section to reflect the usage of taget | |
1357 | prefix in gnattest calls. Fixing missed obsolete --stub-default | |
1358 | option name. | |
1359 | ||
1360 | 2012-07-23 Robert Dewar <dewar@adacore.com> | |
1361 | ||
1362 | * uintp.adb: Minor reformatting. | |
1363 | ||
1364 | 2012-07-23 Olivier Hainque <hainque@adacore.com> | |
1365 | ||
1366 | * system-vxworks-ppc.ads: Replace the default | |
1367 | Linker_Options requesting crtbe by a commented out request for | |
1368 | -nostartfiles. | |
1369 | ||
1370 | 2012-07-23 Vincent Celier <celier@adacore.com> | |
1371 | ||
1372 | * prj-nmsc.adb (Check_Naming): Do not get the exceptions names | |
1373 | in a virtual project. | |
1374 | ||
c7dbb79e | 1375 | 2012-07-23 Robert Dewar <dewar@adacore.com> |
1376 | ||
1377 | * layout.adb, sem_prag.adb, sem.ads, freeze.adb, | |
1378 | switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor | |
1379 | reformatting. | |
1380 | ||
1831dae0 | 1381 | 2012-07-23 Tristan Gingold <gingold@adacore.com> |
1382 | ||
1383 | * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set | |
1384 | location on TRY_CATCH_EXPR. | |
1385 | ||
be42dbce | 1386 | 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
1387 | ||
1388 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure | |
1389 | that an object of CW type initialized to a value is sufficiently | |
1390 | aligned for this value. | |
1391 | ||
061ad733 | 1392 | 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
1393 | ||
1394 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not | |
1395 | look up the REP part of the base type in advance. Deal with that of | |
1396 | the variant types. | |
1397 | (get_rep_part): Be prepared for record types with fields. | |
1398 | ||
5df7fe69 | 1399 | 2012-07-18 Eric Botcazou <ebotcazou@adacore.com> |
1400 | ||
1401 | * gcc-interface/trans.c (stmt_group_may_fallthru): New function. | |
1402 | (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the | |
1403 | block needs to be translated. | |
1404 | ||
eb87f0fd | 1405 | 2012-07-17 Tristan Gingold <gingold@adacore.com> |
1406 | ||
1407 | * gnat_rm.texi: Adjust previous change. | |
1408 | ||
1409 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
1410 | ||
1411 | * sem_prag.adb (Process_Import_Or_Interface): If the pragma | |
1412 | comes from an aspect, it applies to the corresponding entity | |
1413 | without further check. | |
1414 | ||
1415 | 2012-07-17 Olivier Hainque <hainque@adacore.com> | |
1416 | ||
1417 | * initialize.c (__gnat_initialize for VxWorks): Remove section with | |
1418 | call to __gnat_vxw_setup_for_eh. | |
1419 | * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying | |
1420 | on the VxWorks constructor mechanism for network loaded modules | |
1421 | by default. | |
1422 | ||
1423 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
1424 | ||
1425 | * adaint.c: Minor reformatting. | |
1426 | ||
1427 | 2012-07-17 Pascal Obry <obry@adacore.com> | |
1428 | ||
1429 | * s-regexp.adb (Adjust): Fix access violation in Adjust. | |
1430 | ||
1431 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
1432 | ||
1433 | * freeze.adb (Freeze_Entity): Warn if an imported subprogram | |
1434 | has pre/post conditions, because these will not be enforced. | |
1435 | ||
1436 | 2012-07-17 Eric Botcazou <ebotcazou@adacore.com> | |
1437 | ||
1438 | * exp_ch7.adb (Process_Transient_Objects): Put all the | |
1439 | finalization blocks and the final raise statement into a wrapper | |
1440 | block. | |
1441 | ||
1442 | 2012-07-17 Vincent Pucci <pucci@adacore.com> | |
1443 | ||
1444 | * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X | |
1445 | replaced by Sync_Compare_And_Swap_X. | |
1446 | (Lock_Free_Try_Write_64): Removed. | |
1447 | * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous | |
1448 | routine Atomic_Compare_Exchange_X. | |
1449 | (Lock_Free_Read_64): Renaming of Atomic_Load_64. | |
1450 | (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64. | |
1451 | ||
1452 | 2012-07-17 Vincent Celier <celier@adacore.com> | |
1453 | ||
1454 | * switch-m.adb (Normalize_Compiler_Switches): Recognize new | |
1455 | switches -gnatn1 and -gnatn2. | |
1456 | ||
1457 | 2012-07-17 Vincent Pucci <pucci@adacore.com> | |
1458 | ||
1459 | * gnat_ugn.texi: GNAT dimensionality checking | |
1460 | documentation updated with System.Dim.Mks modifications. | |
1461 | ||
1462 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
1463 | ||
1464 | * exp_ch3.adb: sloc of array init_proc is sloc of type declaration. | |
1465 | ||
1466 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
1467 | ||
1468 | * raise-gcc.c (get_call_site_action_for): Remove useless init | |
1469 | expression for p. | |
1470 | (get_action_description_for): Do not overwrite action->kind. | |
1471 | ||
1472 | 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com> | |
1473 | ||
1474 | * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr | |
1475 | and Conversion_Added. Add local constant Typ. | |
1476 | Retrieve the original attribute after the arithmetic check | |
1477 | machinery has modified the node. Add a conversion to the target | |
1478 | type when the prefix of attribute Max_Size_In_Storage_Elements | |
1479 | is a controlled type. | |
1480 | ||
1481 | 2012-07-17 Gary Dismukes <dismukes@adacore.com> | |
1482 | ||
1483 | * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter | |
1484 | of mode 'out' or 'in out' that denotes an entity, reset | |
1485 | Last_Assignment on the entity so that any assignments to the | |
1486 | corresponding formal in the inlining will not trigger spurious | |
1487 | warnings about overwriting assignments. | |
1488 | ||
2ff0322d | 1489 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
1490 | ||
1491 | * s-assert.ads: Fix comments to make it clear that this is used | |
1492 | for all assertions, not just pragma Assert. | |
1493 | ||
1494 | 2012-07-17 Jerome Guitton <guitton@adacore.com> | |
1495 | ||
1496 | * par_sco.ads: Minor typo fix. | |
1497 | ||
1498 | 2012-07-17 Gary Dismukes <dismukes@adacore.com> | |
1499 | ||
1500 | * layout.adb (Layout_Type): In the case where the target is | |
1501 | AAMP, use 32 bits (a single pointer) rather than 64 bits for an | |
1502 | anonymous access-to-subprogram type if the type is library-level | |
1503 | and Is_Local_Anonymous_Access is True. | |
1504 | ||
1505 | 2012-07-17 Jose Ruiz <ruiz@adacore.com> | |
1506 | ||
1507 | * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task, | |
1508 | Initialize): Add comments explaining that the CPU affinity value that | |
1509 | is passed to the run-time library can be either Unspecified_CPU, to | |
1510 | indicate that the task inherits the affinity of its activating task, | |
1511 | or a value in the range of CPU_Range but no greater than Number_Of_CPUs. | |
1512 | ||
1513 | 2012-07-17 Javier Miranda <miranda@adacore.com> | |
1514 | ||
1515 | * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities. | |
1516 | (Make_Tags): Add decoration of Ada.Tags entities. | |
1517 | ||
1518 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
1519 | ||
1520 | * sem_ch6.adb (Check_Statement_Sequence): When locating the | |
1521 | last significant statement in a sequence, ignore iserted nodes | |
1522 | that typically come from expansion of controlled operations. | |
1523 | ||
1524 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
1525 | ||
1526 | * gnat_rm.texi: Document foreign exceptions. | |
1527 | ||
fc34391d | 1528 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
1529 | ||
1530 | * sem_prag.adb, treepr.ads: Minor reformatting. | |
1531 | ||
e22bc81a | 1532 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
1533 | ||
1534 | * exp_ch9.adb: Minor code reorganization. | |
1535 | * exp_ch3.adb: Minor code improvement. | |
1536 | ||
1537 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
1538 | ||
1539 | * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore | |
1540 | on Windows 64 (+ SEH), as it is unused. | |
1541 | ||
e22bc81a | 1542 | 2012-07-17 Javier Miranda <miranda@adacore.com> |
1543 | ||
1544 | * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into | |
1545 | CPP convention automatically. | |
1546 | ||
4be5aafb | 1547 | 2012-07-16 Tristan Gingold <gingold@adacore.com> |
1548 | ||
1549 | * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to | |
1550 | void *. | |
1551 | ||
e3cb8202 | 1552 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
1553 | ||
1554 | * exp_ch9.adb (Ensure_Statement_Present): New subprogram. | |
1555 | (Expand_N_Asynchronous_Select, | |
1556 | Expand_N_Selective_Accept.Process_Accept_Alternative, | |
1557 | Expand_N_Selective_Accept.Process_Delay_Alternative, | |
1558 | Expand_N_Timed_Entry_Call): For an alternative with no trailing | |
1559 | statements, introduce a null statement to carry the sloc of | |
1560 | the initial special statement (accept, delay, or entry call) | |
1561 | in the alternative, for coverage analysis purposes. | |
1562 | ||
1563 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
1564 | ||
1565 | * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar | |
1566 | arguments. | |
1567 | ||
85377c9b | 1568 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
1569 | ||
1570 | * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb, | |
1571 | sem_eval.adb, s-fileio.adb: Minor reformatting. | |
1572 | ||
1573 | 2012-07-16 Javier Miranda <miranda@adacore.com> | |
1574 | ||
1575 | * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent | |
1576 | pragma CPP_Class. | |
1577 | * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada | |
1578 | derivations of CPP types. Found updating the tests affected by | |
1579 | the removal of pragma CPP_Class. | |
1580 | ||
1581 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
1582 | ||
1583 | * back_end.adb: Minor reformatting. | |
1584 | ||
1585 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
1586 | ||
1587 | * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative): | |
1588 | Remove junk test that was always true. For the case of no statements | |
1589 | following the ACCEPT, jump directly to End_Lab instead of | |
1590 | introducing an intermediate jump. | |
1591 | (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix | |
1592 | predicate testing for presence of statements following the DELAY. | |
1593 | that was always true. For the case of no statements following | |
1594 | the ACCEPT, jump directly to End_Lab instead of introducing an | |
1595 | intermediate jump. | |
1596 | (Expand_N_Selective_Accept): Fix incorrect insertion point for | |
1597 | end label. | |
1598 | ||
b3d5d0ad | 1599 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
1600 | ||
1601 | * gnat_rm.texi: Minor documentation improvements. | |
1602 | ||
1603 | 2012-07-16 Yannick Moy <moy@adacore.com> | |
1604 | ||
1605 | * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre | |
1606 | and Pre'Class aspects on the same declaration. | |
1607 | * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the | |
1608 | same hierarchy of primitive operations. | |
1609 | ||
204c9c3d | 1610 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
1611 | ||
1612 | * freeze.adb (Check_Component_Storage_Order): Do not reject a | |
1613 | nested composite with different scalar storage order if it is | |
1614 | byte aligned. | |
1615 | ||
1616 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
1617 | ||
1618 | * gnat_rm.texi: Update documentation for Scalar_Storage_Order. | |
1619 | ||
1620 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
1621 | ||
1622 | * a-exexpr.adb (Propagate_Exception): Adjust call to | |
1623 | Exception_Traces procedures. | |
1624 | * a-exexpr-gcc.adb (Setup_Current_Excep): Now a | |
1625 | function that returns an access to the Ada occurrence. | |
1626 | (Propagate_GCC_Exception): Adjust calls. | |
1627 | * raise.h (struct Exception_Occurrence): Declare. | |
1628 | * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception, | |
1629 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): | |
1630 | Add Excep parameter. | |
1631 | * a-except.adb (Notify_Handled_Exception, | |
1632 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): | |
1633 | Add Excep parameter. | |
1634 | (Process_Raise_Exception): Adjust calls. | |
1635 | * a-except-2005.adb (Notify_Handled_Exception, | |
1636 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add | |
1637 | Excep parameter. | |
1638 | (Raise_Exception): Calls Raise_Exception_Always. | |
1639 | * raise-gcc.c (__gnat_setup_current_excep, | |
1640 | __gnat_notify_handled_exception) | |
1641 | (__gnat_notify_unhandled_exception): Adjust declarations. | |
1642 | (PERSONALITY_FUNCTION): Adjust calls. | |
1643 | (__gnat_personality_seh0): Remove warning. | |
1644 | ||
1645 | 2012-07-16 Javier Miranda <miranda@adacore.com> | |
1646 | ||
1647 | * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation. | |
1648 | (Eval_Relational_Op): Adding documentation. | |
1649 | ||
9f661339 | 1650 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
1651 | ||
1652 | * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting. | |
1653 | ||
1654 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
1655 | ||
1656 | * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ. | |
1657 | ||
1658 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
1659 | ||
1660 | * a-exexpr.adb (Propagate_Continue): New function replacing | |
1661 | Raise_Current_Excep. | |
1662 | (Allocate_Occurrence): New function. | |
1663 | (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. | |
1664 | * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component | |
1665 | is now aliased. | |
1666 | (To_GCC_Exception): Convert from Address. | |
1667 | (Allocate_Occurrence): Allocate an Unwind exception occurrence. | |
1668 | (Setup_Current_Excep): Fill the machine occurrence in case of | |
1669 | foreign exception. | |
1670 | (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. | |
1671 | * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add | |
1672 | Excep parameter. | |
1673 | (Raise_Exception, Raise_Exception_Always, | |
1674 | Raise_Exception_No_Defer): Adjust calls to the above procedures. | |
1675 | (Raise_From_Signal_Handler, Raise_With_Location_And_Msg) | |
1676 | (Rcheck_PE_Finalize_Raised_Exception): Likewise. | |
1677 | * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg): | |
1678 | add Excep parameter. | |
1679 | (Propagate_Exception): Likewise. | |
1680 | (Allocate_Occurrence): New function. | |
1681 | (Raise_Current_Excep): Removed. | |
1682 | (Complete_Occurrence): New function to save the call chain. | |
1683 | (Complete_And_Propagate_Occurrence): New procedure. | |
1684 | (Create_Occurrence_From_Signal_Handler): New function to build an | |
1685 | occurrence without propagating it. | |
1686 | (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but | |
1687 | return the machine occurrence. | |
1688 | (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler. | |
1689 | (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): | |
1690 | Adjust calls to the above procedures. Allocate the occurrence at | |
1691 | the beginning. | |
1692 | (Raise_With_Location_And_Msg, Raise_With_Msg) | |
1693 | (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise. | |
1694 | (Reraise_Occurrence): Use Reraise_Occurrence_Always. | |
1695 | (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer. | |
1696 | (Reraise_Occurrence_No_Defer): Preserve machine occurrence. | |
1697 | (Save_Occurrence): Do not save machine occurrence. | |
1698 | * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence | |
1699 | component. | |
1700 | (Null_Occurrence): Consider it. | |
1701 | * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add | |
1702 | Excep parameter. | |
1703 | ||
1704 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
1705 | ||
1706 | * seh_init.c (__gnat_map_SEH): New function extracted from | |
1707 | __gnat_SEH_error_handler. | |
1708 | * raise-gcc.c: __gnat_personality_seh0: Directly transforms | |
1709 | Windows system exception into GCC one when possible, in order | |
1710 | to save stack room (particularly useful when Storage_Error will | |
1711 | be propagated). | |
1712 | ||
1398e762 | 1713 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
1714 | ||
1715 | * a-direct.adb, g-dirope.adb: Minor reformatting. | |
1716 | ||
1717 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
1718 | ||
1719 | * a-except.ads, a-except-2005.ads: Remove outdated comment. | |
1720 | ||
1721 | 2012-07-16 Robert Dewar <dewar@adacore.com> | |
1722 | ||
1723 | * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to | |
1724 | conform to documentation. | |
1725 | ||
1726 | 2012-07-16 Ed Schonberg <schonberg@adacore.com> | |
1727 | ||
1728 | * gnat1drv.adb (Check_Library_Items): Removed, no longer used. | |
1729 | ||
1730 | 2012-07-16 Ed Schonberg <schonberg@adacore.com> | |
1731 | ||
1732 | * sem_ch3.adb (Array_Type_Declaration): if component type has | |
1733 | invariants, the array type itself requires an invariant procedure. | |
1734 | * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new | |
1735 | procedure, to build a checking procedure that applies the | |
1736 | invariant check on some type T to each component of an array | |
1737 | of T's. Code is similar to the construction of the init_proc | |
1738 | for an array, and handles multidimensional arrays by recursing | |
1739 | over successive dimensions. | |
1740 | ||
1741 | 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> | |
1742 | ||
1743 | * g-debpoo.adb: Revert previous change. | |
1744 | ||
1745 | 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> | |
1746 | ||
1747 | * freeze.adb (Freeze_Entity): Insert the itype reference to a | |
1748 | library-level class-wide subtype after the freeze node of the | |
1749 | equivalent record type. | |
1750 | ||
0c6c84ba | 1751 | 2012-07-16 Pascal Obry <obry@adacore.com> |
1752 | ||
1753 | * s-crtl.ads (mkdir): New routine, support encoding. | |
1754 | * adaint.h (__gnat_mkdir): Update spec to pass encoding. | |
1755 | * mkdir.c (__gnat_mkdir): Add encoding parameter. | |
1756 | * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding | |
1757 | in form parameter. | |
1758 | * g-dirope.adb (Make_Dir): Update to pass encoding parameter. | |
1759 | ||
1760 | 2012-07-16 Pascal Obry <obry@adacore.com> | |
1761 | ||
1762 | * adaint.c: Minor reformatting. | |
1763 | ||
b9ed1410 | 1764 | 2012-07-16 Steven Bosscher <steven@gcc.gnu.org> |
1765 | ||
1766 | * gcc-interface/utils.c: Include timevar.h. | |
1767 | * Make-lang.in: Fix dependencies. | |
1768 | ||
cf883842 | 1769 | 2012-07-16 Vasiliy Fofanov <fofanov@adacore.com> |
1770 | ||
1771 | * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2 | |
1772 | switches. | |
1773 | ||
1774 | 2012-07-16 Bob Duff <duff@adacore.com> | |
1775 | ||
1776 | * sinfo.ads: Minor comment fix. | |
1777 | ||
1778 | 2012-07-16 Bob Duff <duff@adacore.com> | |
1779 | ||
1780 | * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to | |
1781 | find pragmas Elaborate_All that may be found in the transitive | |
1782 | closure of the dependences. | |
1783 | ||
f50256f3 | 1784 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
1785 | ||
1786 | * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor | |
1787 | reformatting. | |
1788 | ||
d0685419 | 1789 | 2012-07-12 Vasiliy Fofanov <fofanov@adacore.com> |
1790 | ||
1791 | * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches. | |
1792 | ||
1793 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1794 | ||
1795 | * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb, | |
1796 | sem_util.ads, exp_aggr.adb | |
1797 | (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing | |
1798 | for reverse storage order aggregate. | |
1799 | (Exp_Pakd.Byte_Swap): New utility routine used by... | |
1800 | (Exp_Pakd.Expand_Bit_Packed_Element_Set, | |
1801 | Expand_Packed_Element_Reference): For the case of a free-standing | |
1802 | packed array with reverse storage order, perform byte swapping. | |
1803 | (Rtsfind): Make new entities RE_Bswap_{16,32,64} available. | |
1804 | (Freeze.Check_Component_Storage_Order): New utility routine | |
1805 | to enforce legality rules for nested composite types whose | |
1806 | enclosing composite has an explicitly defined Scalar_Storage_Order | |
1807 | attribute. | |
1808 | (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from | |
1809 | Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to | |
1810 | array types as well. | |
1811 | (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge | |
1812 | for change of scalar storage order in assignments. The Lhs and | |
1813 | Rhs now always have the same scalar storage order. | |
1814 | ||
1815 | 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com> | |
1816 | ||
1817 | * g-debpoo.adb (Allocate): Add local constant | |
1818 | No_Element. Initialize the allocated memory chunk to No_Element. | |
1819 | ||
1820 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> | |
1821 | ||
1822 | * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly | |
1823 | the case of an instance of a child unit where a formal derived | |
1824 | type DT is an extension of a type T declared in a parent unit, | |
1825 | and the actual in the instance of the child is the type T declared | |
1826 | in the parent instance, and that actual is not a derived type. | |
1827 | ||
1828 | 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> | |
1829 | Tristan Gingold <gingold@adacore.com> | |
1830 | ||
1831 | * system-hpux-ia64.ads: Enable ZCX by default. | |
1832 | * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux. | |
1833 | Change soext to .so. | |
1834 | ||
aee191ca | 1835 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
1836 | ||
1837 | * s-atopri.adb, s-atopri.ads: Minor reformatting. | |
1838 | ||
1839 | 2012-07-12 Robert Dewar <dewar@adacore.com> | |
1840 | ||
1841 | * ali.adb: Add circuitry to read new named form of restrictions lines. | |
1842 | * debug.adb: Add doc for new -gnatd.R switch (used positional | |
1843 | notation for output of restrictions data in ali file). | |
1844 | * lib-writ.adb: Implement new named format for restrictions lines. | |
1845 | * lib-writ.ads: Add documentation for new named format for | |
1846 | restrictions in ali files. | |
1847 | * restrict.adb, restrict.ads, sem_prag.adb: Update comments. | |
1848 | * rident.ads: Go back to withing System.Rident | |
1849 | * s-rident.ads: Add extensive comment on dealing with consistency | |
1850 | checking. | |
1851 | ||
1852 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1853 | ||
1854 | * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements. | |
1855 | ||
da2e82e9 | 1856 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
1857 | ||
1858 | * sem_disp.adb: Minor reformatting | |
1859 | * s-bytswa.ads: Minor comment update. | |
1860 | ||
1861 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
1862 | ||
1863 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
1864 | Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N | |
1865 | replaced by Lock_Free_Try_Write_N. | |
1866 | Renaming of several local variables. For | |
1867 | procedure, Expected_Comp declaration moved to the declaration | |
1868 | list of the procedure. | |
1869 | * rtsfind.ads: RE_Atomic_Compare_Exchange_8, | |
1870 | RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, | |
1871 | RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, | |
1872 | RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, | |
1873 | RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8, | |
1874 | RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64, | |
1875 | RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16, | |
1876 | RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added. | |
1877 | * s-atopri.adb: New file. | |
1878 | * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of | |
1879 | parameters. Import primitive __sync_val_compare_and_swap_1. | |
1880 | (Atomic_Compare_Exchange_16): Renaming of parameters. | |
1881 | Import primitive __sync_val_compare_and_swap_2. | |
1882 | (Atomic_Compare_Exchange_32): Renaming of parameters. | |
1883 | Import primitive __sync_val_compare_and_swap_4. | |
1884 | (Atomic_Compare_Exchange_64): Renaming of parameters. Import | |
1885 | primitive __sync_val_compare_and_swap_8. | |
1886 | (Atomic_Load_8): Ptr renames parameter X. | |
1887 | (Atomic_Load_16): Ptr renames parameter X. | |
1888 | (Atomic_Load_32): Ptr renames parameter X. | |
1889 | (Atomic_Load_64): Ptr renames parameter X. | |
1890 | (Lock_Free_Read_8): New routine. | |
1891 | (Lock_Free_Read_16): New routine. | |
1892 | (Lock_Free_Read_32): New routine. | |
1893 | (Lock_Free_Read_64): New routine. | |
1894 | (Lock_Free_Try_Write_8): New routine. | |
1895 | (Lock_Free_Try_Write_16): New routine. | |
1896 | (Lock_Free_Try_Write_32): New routine. | |
1897 | (Lock_Free_Try_Write_64): New routine. | |
1898 | ||
10381db1 | 1899 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
1900 | ||
1901 | * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor | |
1902 | reformatting. | |
1903 | ||
1904 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
1905 | ||
1906 | * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error | |
1907 | msgs for elementary functions. | |
1908 | ||
1909 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
1910 | ||
1911 | * sem_attr.adb (Eval_Attribute): Minor reformatting. | |
1912 | ||
1913 | 2012-07-12 Pascal Obry <obry@adacore.com> | |
1914 | ||
1915 | * prj-nmsc.adb (Check_Library_Attributes): Allow the same library | |
1916 | project in different project tree (different aggregated projects). | |
1917 | ||
1918 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1919 | ||
1920 | * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further | |
1921 | reorganization of byte swapping routines. | |
1922 | ||
1923 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> | |
1924 | ||
1925 | * sem_disp.adb (Check_Dispatching_Context): Refine legality | |
1926 | checks on tagg indeterminate calls to abstract operations, | |
1927 | that appear in the context of other calls. | |
1928 | ||
d0a9ea3b | 1929 | 2012-07-12 Thomas Quinot <quinot@adacore.com> |
1930 | ||
1931 | * s-bytswa.adb (Swapped2.Bswap16): Remove local function, | |
1932 | no longer needed. | |
1933 | ||
1934 | 2012-07-12 Javier Miranda <miranda@adacore.com> | |
1935 | ||
1936 | * exp_attr.adb (Expand_N_Attribute_Reference): For | |
1937 | attributes 'access, 'unchecked_access and 'unrestricted_access, | |
1938 | iff the current instance reference is located in a protected | |
1939 | subprogram or entry then rewrite the access attribute to be the | |
1940 | name of the "_object" parameter. | |
1941 | ||
1942 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
1943 | ||
1944 | * raise.h: Revert previous patch: structure is used in init.c | |
1945 | by vms. | |
1946 | ||
1947 | 2012-07-12 Vincent Celier <celier@adacore.com> | |
1948 | ||
1949 | * make.adb (Binding_Phase): If --subdirs was used, but not | |
1950 | -P, change the working directory to the specified subdirectory | |
1951 | before invoking gnatbind. | |
1952 | (Linking_Phase): If --subdirs was used, but not -P, change the working | |
1953 | directory to the specified subdirectory before invoking gnatlink. | |
1954 | ||
1955 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
1956 | ||
1957 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
1958 | For a procedure, instead of replacing each Comp reference by a | |
1959 | reference to Current_Comp, make a renaming Comp of Current_Comp | |
1960 | that rewrites the original renaming generated by the compiler | |
1961 | during the analysis. Move the declarations of the procedure | |
1962 | inside the generated block. | |
1963 | (Process_Stmts): Moved in the body | |
1964 | of Build_Lock_Free_Unprotected_Subprogram_Body. | |
1965 | (Process_Node): | |
1966 | Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. | |
1967 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any | |
1968 | non-elementary out parameters in protected procedures. | |
1969 | ||
1970 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1971 | ||
1972 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
1973 | Scalar_Storage_Order): Attribute applies to base type only. | |
1974 | ||
9e6a9b40 | 1975 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> |
1976 | ||
1977 | * exp_aggr.adb (Convert_To_Positional): Increase acceptable size | |
1978 | of static aggregate when Static_Elaboration_Desired is requested. | |
1979 | Add a warning if the request cannot be satisfied either because | |
1980 | some components or some array bounds are non-static. | |
1981 | ||
1982 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1983 | ||
1984 | * exp_pakd.adb: Minor reformatting. | |
1985 | ||
1986 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
1987 | ||
1988 | * tracebak.c: Fix warnings. | |
1989 | * raise-gcc.c (__gnat_adjust_context): New function | |
1990 | (__gnat_personality_seh0): Call __gnat_adjust_context to adjust | |
1991 | PC in machine frame for exceptions that occur in the current | |
1992 | function. | |
1993 | ||
1994 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
1995 | ||
1996 | * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl: | |
1997 | Move GNAT.Byte_Swapping to System (with a renaming under GNAT) | |
1998 | so that it is usable in expanded code. | |
1999 | ||
2000 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
2001 | ||
2002 | * s-osinte-hpux.ads: Increase alternate stack size on hpux. | |
2003 | ||
f893f3ac | 2004 | 2012-07-12 Javier Miranda <miranda@adacore.com> |
2005 | ||
2006 | * exp_ch3.adb (Make_Neq_Body): Fix typo in comment. | |
2007 | ||
2008 | 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> | |
2009 | ||
2010 | * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only | |
2011 | if USE_LIBUNWIND_EXCEPTIONS is defined. | |
2012 | * init.c: Further tweaks for IA-64/HP-UX. | |
2013 | ||
2014 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
2015 | ||
2016 | * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments. | |
2017 | (db_region_for): Second argument is ip. Do not recompute ip. | |
2018 | (action_kind): Remove typedef, add unhandler enum const. | |
2019 | (action_descriptor): Adjust type of kind field. | |
2020 | (db_action_for): Second argument is ip, do not recompute it. | |
2021 | (get_call_site_action_for): First argument is call_site, do not | |
2022 | recompute it. Remove useless return. | |
2023 | (is_handled_by): Now return enum action_kind. | |
2024 | Handle GNAT_ALL_OTHERS first. | |
2025 | Return unhandler for GNAT_UNHANDLED_OTHERS. | |
2026 | (get_action_description_for): First argument is now ip, do not | |
2027 | recompute it. Adjust code for call to is_handled_by. | |
2028 | (__gnat_notify_unhandled_exception): Add prototype. | |
2029 | (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls. | |
2030 | Handle unhandler case. | |
2031 | (__gnat_cleanupunwind_handler): Add comments, add | |
2032 | ATTRIBUTE_UNUSED on arguments. | |
2033 | (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define | |
2034 | only once. | |
2035 | * raise.h: Makes struct Exception_Data opaque. | |
2036 | ||
addebd97 | 2037 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
2038 | ||
2039 | * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor | |
2040 | reformatting. | |
2041 | ||
2042 | 2012-07-12 Javier Miranda <miranda@adacore.com> | |
2043 | ||
2044 | * exp_ch3.adb (Is_User_Defined_Equality): New subprogram. | |
2045 | (Make_Neq_Body): New subprogram. | |
2046 | (Make_Predefined_Primitive_Specs): Adding local variable | |
2047 | Has_Predef_Eq_ Renaming to ensure that we enable the machinery | |
2048 | which handles renamings of predefined primitive operators. | |
2049 | ||
3bf14af0 | 2050 | 2012-07-09 Pascal Obry <obry@adacore.com> |
2051 | ||
2052 | * prj.adb (For_Every_Project_Imported_Context): Make sure we | |
2053 | callback with the project having sources. | |
2054 | Minor reformatting. | |
2055 | ||
2056 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
2057 | ||
2058 | * make.adb: Fix typo. | |
2059 | ||
155cbed1 | 2060 | 2012-07-09 Vincent Pucci <pucci@adacore.com> |
2061 | ||
2062 | * sem_ch9.adb (Check_Node): Allow attributes | |
2063 | that denote static function for lock-free implementation. | |
2064 | (Is_Static_Function): New routine. | |
2065 | ||
2066 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2067 | ||
2068 | * tracebak.c: Adjust skip_frames on Win64. | |
2069 | ||
2070 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2071 | ||
2072 | * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux. | |
2073 | * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call | |
2074 | _Unwind_GetGR on hpux when using libgcc unwinder. Part of | |
2075 | ||
2076 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2077 | ||
2078 | * exp_attr.adb, sem_attr.adb: Minor reformatting. | |
2079 | * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting | |
2080 | considering that internal attribute names are not defined anymore | |
2081 | in the main attribute names list. | |
2082 | * snames.adb-tmpl (Get_Attribute_Id): Special processinf | |
2083 | for names CPU, Dispatching_Domain and Interrupt_Priority. | |
2084 | (Is_Internal_Attribute_Name): Minor reformatting. | |
2085 | * snames.ads-tmpl: New list of internal attribute names. Internal | |
2086 | attributes moved at the end of the attribute Id list. | |
2087 | ||
1f526845 | 2088 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
2089 | ||
2090 | * freeze.adb: Minor code reorganization (use Ekind_In). | |
2091 | * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb, | |
2092 | sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb, | |
2093 | sem_ch13.adb, snames.ads-tmpl: Minor reformatting. | |
2094 | ||
2095 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2096 | ||
2097 | * raise-gcc.c: Adjust previous patch. | |
2098 | ||
2099 | 2012-07-09 Vincent Celier <celier@adacore.com> | |
2100 | ||
2101 | * make.adb (Compilation_Phase): Do not build libraries in | |
2102 | Codepeer mode (do not call Library_Phase). | |
2103 | ||
e2f8db26 | 2104 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> |
2105 | ||
2106 | * sem_ch13.adb: Extend previous change to elementary types. | |
2107 | ||
2108 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
2109 | ||
2110 | * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse | |
2111 | previous patch since unconditionally handling as renaming_as_body | |
2112 | renamings of predefined dispatching equality and unequality operator | |
2113 | cause visibility problems with private overridings of the equality | |
2114 | operator (see ACATS C854001). | |
2115 | ||
2116 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2117 | ||
2118 | * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in | |
2119 | case of internal attribute names (already rejected by the parser). | |
2120 | * par-ch13.adb (P_Representation_Clause): Complain if an internal | |
2121 | attribute name that comes from source occurs. | |
2122 | * par-ch4.adb (P_Name): Complain if an internal attribute name | |
2123 | occurs in the context of an attribute reference. | |
2124 | * par-util.adb (Signal_Bad_Attribute): Don't complain about | |
2125 | mispelling attribute with internal attributes. | |
2126 | * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case | |
2127 | of internal attribute names (already rejected by the parser). | |
2128 | * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine. | |
2129 | * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and | |
2130 | Interrupt_Priority are marked as INT attributes since they | |
2131 | don't denote real attribute and are only used internally in | |
2132 | the compiler. | |
2133 | (Is_Internal_Attribute_Name): New routine. | |
2134 | ||
f117057b | 2135 | 2012-07-09 Thomas Quinot <quinot@adacore.com> |
2136 | ||
2137 | * einfo.adb (Set_Reverse_Storage_Order): Update assertion, | |
2138 | flag is now valid for array types as well. | |
2139 | ||
2140 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2141 | ||
2142 | * tracebak.c: Implement __gnat_backtrace for Win64 SEH. | |
2143 | ||
2144 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
2145 | ||
2146 | * einfo.ads: Minor reformatting. | |
2147 | ||
2148 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
2149 | ||
2150 | * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as | |
2151 | renaming_as_body renamings of predefined dispatching equality | |
2152 | and unequality operators. | |
2153 | ||
2154 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
2155 | ||
2156 | * rident.ads: Do not instantiate r-ident.ads, this is now an | |
2157 | independent unit. | |
2158 | ||
2159 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
2160 | ||
2161 | * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging | |
2162 | routine. | |
2163 | * sem_disp.adb (Find_Dispatching_Time): Protect this routine | |
2164 | against partially decorated entities. | |
2165 | ||
2166 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> | |
2167 | ||
2168 | * sem_ch13.adb (Check_Size): Reject a size clause that specifies | |
2169 | a value greater than Int'Last for a scalar type. | |
2170 | ||
2171 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2172 | ||
2173 | * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support | |
2174 | atomic operation moved to the protected body case. No non-elementary | |
2175 | out parameter moved to the protected declaration case. Functions have | |
2176 | only one lock-free restriction. | |
2177 | (Analyze_Protected_Type_Declaration): Issue a warning when | |
2178 | Priority given with Lock_Free. | |
2179 | ||
2180 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2181 | ||
2182 | * sem_dim.adb: Grammar of aspect Dimension fixed. | |
2183 | ||
2184 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2185 | ||
2186 | * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid | |
2187 | pushing and popping the scope stack whenever a delayed aspect occurs. | |
2188 | ||
2189 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
2190 | ||
2191 | * s-os_lib.ads: Remove pragma Elaborate_Body, as | |
2192 | this is now unnecessary due to recently added pragma Preelaborate. | |
2193 | ||
2194 | 2012-07-09 Jose Ruiz <ruiz@adacore.com> | |
2195 | ||
2196 | * s-taprop-mingw.adb (Set_Priority): Remove the code that was | |
2197 | previously in place to reorder the ready queue when a task drops | |
2198 | its priority due to the loss of inherited priority. | |
2199 | ||
b43a5770 | 2200 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
2201 | ||
2202 | * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb, | |
2203 | s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor | |
2204 | reformatting. | |
2205 | ||
2206 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
2207 | ||
2208 | * raise-gcc.c: Update comments. Fix typo. | |
2209 | ||
2210 | 2012-07-09 Thomas Quinot <quinot@adacore.com> | |
2211 | ||
2212 | * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute | |
2213 | Scalar_Storage_Order can be defined or queried for array types as well | |
2214 | as record types. | |
2215 | ||
a940e5c9 | 2216 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
2217 | ||
2218 | * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from | |
2219 | raise-gcc.c | |
2220 | * raise-gcc.c (__gnat_cleanupunwind_handler): Defined. | |
2221 | Strictly follow the ABI convention on ia64. | |
2222 | ||
2223 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
2224 | ||
2225 | * a-ststio.ads: Add pragma Preelaborate, per AI05-0283. | |
2226 | * i-cstrea.ads (max_path_len): Change from variable to deferred | |
2227 | constant to allow it to be used as a bound in string component | |
2228 | in type System.File_IO.Temp_File_Record. | |
2229 | * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma | |
2230 | Preelaborate. | |
2231 | * s-fileio.adb (Get_Case_Sensitive): Move function inside | |
2232 | procedure Open. | |
2233 | (File_Names_Case_Sensitive): Move variable inside | |
2234 | procedure Open, to avoid violation of Preelaborate restriction | |
2235 | (due to call to Get_Case_Sensitive). | |
2236 | ||
2237 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> | |
2238 | ||
2239 | * layout.adb (Set_Elem_Alignment): Protect against meaningless | |
2240 | size clause, to prevent overflow in internal computation of | |
2241 | alignment. | |
2242 | ||
6b34a333 | 2243 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
2244 | ||
2245 | * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor | |
2246 | reformatting. | |
2247 | ||
2248 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
2249 | ||
2250 | * sem_cat.adb (Check_Categorization_Dependencies): | |
2251 | Allow dependence of both Remote_Types and Remote_Call_Interface | |
2252 | declarations (not just Remote_Types units) on preelaborated | |
2253 | units, but require that the dependence be made via a private | |
2254 | with_clause. Issue a specialized error message. | |
2255 | ||
960a0aad | 2256 | 2012-07-09 Pascal Obry <obry@adacore.com> |
2257 | ||
2258 | * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine. | |
2259 | ||
84ed7523 | 2260 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
2261 | ||
2262 | * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH, | |
2263 | return for unknown exceptions. | |
2264 | * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler. | |
2265 | ||
2266 | 2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker> | |
2267 | ||
2268 | * exp_dbug.ads (No_Dollar_In_Label): Delete. | |
2269 | ||
2270 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2271 | ||
2272 | * sem_ch13.adb (Check_Overloaded_Name): New routine. | |
2273 | ||
2274 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
2275 | ||
2276 | * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the | |
2277 | components in a record type. | |
2278 | ||
2279 | 2012-07-09 Pascal Obry <obry@adacore.com> | |
2280 | ||
2281 | * prj-util.ads: Minor reformatting. | |
2282 | ||
00c092f4 | 2283 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
2284 | ||
2285 | * raise-gcc.c (db_indent): Simplify style, improve comments. | |
2286 | Remove !IN_RTS part (dead). | |
2287 | ||
2288 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
2289 | ||
2290 | * usage.adb: Minor change to format of -gnatn line. | |
2291 | ||
2292 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2293 | ||
2294 | * a-exexpr-gcc.adb: Reorder routine. | |
2295 | ||
e4c87fa5 | 2296 | 2012-07-09 Vincent Celier <celier@adacore.com> |
2297 | ||
2298 | * lib-writ.ads: Add documentation for the Z lines (implicitly | |
2299 | withed units) and Y lines (limited withed units). | |
2300 | ||
2301 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
2302 | ||
2303 | * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb, | |
2304 | sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb, | |
2305 | sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb, | |
2306 | sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups. | |
2307 | ||
2308 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
2309 | ||
2310 | * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only | |
2311 | lightly in the summary and more thoroughly in inlining section. | |
2312 | (Performance Considerations): Document -gnatn[12] in inlining | |
2313 | section. | |
2314 | ||
2315 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
2316 | ||
2317 | * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure. | |
2318 | (Unhandled_Others_Value): New const. | |
2319 | * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define. | |
2320 | (action_descriptor): Remove ttype_entry. | |
2321 | (get_action_description_for): Do not assign ttype_entry. | |
2322 | (is_handled_by): Consider GNAT_UNHANDLED_OTHERS. | |
2323 | ||
c1a30d6c | 2324 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
2325 | ||
2326 | * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case | |
2327 | if the CICO mechanism is used. | |
2328 | ||
0ceb8ef3 | 2329 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
2330 | ||
2331 | * gcc-interface/utils2.c (build_simple_component_ref): Do not look | |
2332 | through an extension if the type contains a placeholder. | |
2333 | ||
265200d0 | 2334 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
2335 | ||
2336 | * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on | |
2337 | the designated subprogram type and also set Is_Dispatch_Table_Entity. | |
2338 | (Expand_Interface_Thunk): Propagate the convention on the thunk. | |
2339 | (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on | |
2340 | the internal view of the constructors. | |
2341 | (Set_CPP_Constructors): Likewise. | |
2342 | * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the | |
2343 | convention on the function. | |
2344 | * gcc-interface/gigi.h (is_cplusplus_method): Declare. | |
2345 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
2346 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' | |
2347 | calling convention | |
2348 | (get_minimal_subprog_decl): Likewise. | |
2349 | (is_cplusplus_method): New predicate. | |
2350 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an | |
2351 | error on access to C++ constructor or member function. | |
2352 | ||
66f0b044 | 2353 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
2354 | ||
2355 | * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types | |
2356 | attached to a TYPE_DECL. | |
2357 | ||
06ef5f86 | 2358 | 2012-06-26 Vincent Pucci <pucci@adacore.com> |
2359 | ||
2360 | * exp_ch3.adb (Build_Init_Statements): Don't check the parents | |
2361 | in the Rep Item Chain of the task for aspects Interrupt_Priority, | |
2362 | Priority, CPU and Dispatching_Domain. | |
2363 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority, | |
2364 | _CPU and _Domain are present in the corresponding record type | |
2365 | only if the task entity has a pragma, attribute definition | |
2366 | clause or aspect specification. | |
2367 | (Make_Initialize_Protection): Don't check the parents in the Rep Item | |
2368 | Chain of the task for aspects Interrupt_Priority, Priority, CPU and | |
2369 | Dispatching_Domain. | |
2370 | * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point | |
2371 | call replaced by Analyze_Aspects_At_Freeze_Point. | |
2372 | * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): | |
2373 | Renaming of Evaluate_Aspects_At_Freeze_Point. | |
2374 | ||
2375 | 2012-06-26 Yannick Moy <moy@adacore.com> | |
2376 | ||
2377 | * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a | |
2378 | postcondition, and issue an error in such a case. | |
2379 | ||
2380 | 2012-06-26 Yannick Moy <moy@adacore.com> | |
2381 | ||
2382 | * gnat_rm.texi: Minor editing. | |
2383 | ||
2384 | 2012-06-26 Tristan Gingold <gingold@adacore.com> | |
2385 | ||
2386 | * raise-gcc.c: Minor cleanup: remove unused prototype. | |
2387 | * seh_init.c: Do not create an image wide unwind info to catch | |
2388 | SEH when SEH unwind info are emitted by the compiler. | |
2389 | ||
367b1459 | 2390 | 2012-06-19 Steven Bosscher <steven@gcc.gnu.org> |
2391 | ||
2392 | * gcc-interface/trans.c: Include target.h. | |
2393 | (gigi): Try to put out .ident with targetm.asm_out.output_ident. | |
2394 | Remove uses of ASM_OUTPUT_IDENT. | |
2395 | * gcc-interface/Make-lang.in: Fix dependencies. | |
2396 | ||
ffda9ae3 | 2397 | 2012-06-15 Eric Botcazou <ebotcazou@adacore.com> |
2398 | ||
2399 | PR ada/53592 | |
2400 | * gcc-interface/gigi.h (maybe_vector_array): Make static inline. | |
2401 | * gcc-interface/utils.c (maybe_vector_array): Delete. | |
2402 | * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the | |
2403 | array object as addressable if it has vector type and is on the LHS. | |
2404 | ||
bc0dfc8d | 2405 | 2012-06-15 Eric Botcazou <ebotcazou@adacore.com> |
2406 | ||
2407 | PR middle-end/53590 | |
2408 | * gcc-interface/misc.c (gnat_init_options_struct): Set | |
2409 | opts->x_flag_delete_dead_exceptions to 1. | |
2410 | ||
d3544834 | 2411 | 2012-06-14 Jose Ruiz <ruiz@adacore.com> |
2412 | ||
2413 | * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): | |
2414 | Use the prefix specified with the --program-prefix configure option | |
2415 | to determine the install name of the Ada tools. | |
2416 | (ada.all.cross): Use a for loop to iterate over the set of Ada tools | |
2417 | instead of duplicate the same processing. | |
2418 | Update dependencies. | |
2419 | ||
2b184b2f | 2420 | 2012-06-14 Vincent Pucci <pucci@adacore.com> |
2421 | ||
2422 | * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol | |
2423 | call replaced by Expand_Put_Call_With_Symbol call. | |
2424 | * sem_dim.adb: New fields Unit_Names, Unit_Symbols | |
2425 | and Dim_Symbols for record type System_Type. | |
2426 | (From_Dimension_To_String_Of_Symbols): Removed. | |
2427 | (From_Dim_To_Str_Of_Dim_Symbols): Renames previous | |
2428 | routine From_Dimension_To_String_Of_Symbols. | |
2429 | (From_Dim_To_Str_Of_Unit_Symbols): New routine. | |
2430 | (Analyze_Aspect_Dimension): argument Symbol in aspect | |
2431 | Dimension aggregate is optional. Named association implemented. | |
2432 | (Has_Compile_Time_Known_Expressions): Removed. | |
2433 | (Analyze_Aspect_Dimension_System): New | |
2434 | component Dim_Symbol in each Dimension aggregate in | |
2435 | aspect Dimension_System. Named associations implemented. | |
2436 | (Add_Dimension_Vector_To_Buffer): Removed. | |
2437 | (Add_Whole_To_Buffer): Removed. | |
2438 | (Expand_Put_Call_With_Dimension_Symbol.): Removed. | |
2439 | (Expand_Put_Call_With_Symbol): Renames previous routine | |
2440 | Expand_Put_Call_With_Dimension_Symbol. | |
2441 | (Has_Dimension_Symbols): Removed. | |
2442 | (Has_Symbols): Renames previous routine | |
2443 | Has_Dimension_Symbols. (Store_String_Oexpon): New routine. | |
2444 | * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed. | |
2445 | (Expand_Put_Call_With_Symbol): Renames previous routine | |
2446 | Expand_Put_Call_With_Dimension_Symbol. | |
2447 | * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols. | |
2448 | (Put_Dim_Of): New routines. | |
2449 | * s-diflio.ads, s-diinio.ads: documentation updated. | |
2450 | (Put): Symbol renames Symbols. | |
2451 | (Put_Dim_Of): New routines. | |
2452 | * s-dim.ads: documentation updated. | |
2453 | * s-dimmks.ads: dimensioned type and subtypes updated. | |
2454 | * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol, | |
2455 | and Name_Unit_Symbol added. Name_Symbols removed. | |
2456 | ||
2457 | 2012-06-14 Vincent Pucci <pucci@adacore.com> | |
2458 | ||
2459 | * freeze.adb (In_Exp_Body): Expression function case added. | |
2460 | (Freeze_Expression): Insert the Freeze_Nodes | |
2461 | list before the correct current scope in case of a quantified | |
2462 | expression. | |
2463 | ||
2464 | 2012-06-14 Pascal Obry <obry@adacore.com> | |
2465 | ||
2466 | * projects.texi: Document the Install package for gprinstall. | |
2467 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2468 | ||
2469 | * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within | |
2470 | a default expression. | |
2471 | * sem_res.adb (Resolve_Call): simplify code. | |
2472 | ||
2473 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2474 | ||
2475 | * sem_case.adb (Check, Issue_Msg): within an instance, non-other | |
2476 | values in a variant part or a case expression do not have to | |
2477 | belong to the actual subtype. | |
2478 | ||
2479 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2480 | ||
2481 | * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is | |
2482 | an interface type, check whether it is itself a previous formal | |
2483 | already instantiated in the current list of actuals. | |
2484 | ||
2485 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2486 | ||
2487 | * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The | |
2488 | expression for a stream attribute is a name that may be overloaded | |
2489 | with other declarations. To determine whether it matches the | |
2490 | aspect at the freeze point, it is necessary to verify that one | |
2491 | of its interpretations matches. | |
2492 | ||
caf125ce | 2493 | 2012-06-14 Robert Dewar <dewar@adacore.com> |
2494 | ||
2495 | * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb, | |
2496 | sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb, | |
2497 | s-taprop-dummy.adb: Minor reformatting. | |
2498 | ||
2499 | 2012-06-14 Vincent Pucci <pucci@adacore.com> | |
2500 | ||
2501 | * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free | |
2502 | attribute case added. | |
2503 | * par-prag.adb (Prag): Lock_Free pragma case added. | |
2504 | * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute | |
2505 | case added. | |
2506 | * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item | |
2507 | call added for Aspect_Lock_Free. | |
2508 | * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free | |
2509 | error messages for subprogram bodies. | |
2510 | (Lock_Free_Disabled): New routine. | |
2511 | (Analyze_Protected_Body): Call to Lock_Free_Disabled added. | |
2512 | * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added. | |
2513 | * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added. | |
2514 | (Is_Pragma_Name): Name_Lock_Free case added. | |
2515 | * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added. | |
2516 | ||
2517 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2518 | ||
2519 | * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing | |
2520 | aliased keyword. | |
2521 | ||
2522 | 2012-06-14 Bob Duff <duff@adacore.com> | |
2523 | ||
2524 | * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this | |
2525 | procedure from Sem body to Lib spec, so it can be used for | |
2526 | debugging elsewhere. | |
2527 | ||
2528 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2529 | ||
2530 | * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode | |
2531 | conformance: "aliased" must apply to both or neither formal | |
2532 | parameters. | |
2533 | ||
2fec2b51 | 2534 | 2012-06-14 Gary Dismukes <dismukes@adacore.com> |
2535 | ||
2536 | * exp_ch9.adb: Minor reformatting. | |
2537 | ||
2538 | 2012-06-14 Thomas Quinot <quinot@adacore.com> | |
2539 | ||
2540 | * freeze.adb (Freeze_Record_Type): Warn about useless bit order | |
2541 | specification [when there's no component clause] regardless | |
2542 | of whether the specified bit order is reversed or not. | |
2543 | ||
2544 | 2012-06-14 Tristan Gingold <gingold@adacore.com> | |
2545 | ||
2546 | * raise-gcc.c (__gnat_personality_seh0): New function. | |
2547 | ||
2548 | 2012-06-14 Tristan Gingold <gingold@adacore.com> | |
2549 | ||
2550 | * gnatname.adb (Gnatname): Make sure that dynamic table | |
2551 | argument_data is initialized. | |
2552 | ||
2553 | 2012-06-14 Robert Dewar <dewar@adacore.com> | |
2554 | ||
2555 | * sem_aux.adb: Minor code reorganization. | |
2556 | ||
89b3b365 | 2557 | 2012-06-14 Vincent Pucci <pucci@adacore.com> |
2558 | ||
2559 | * einfo.adb einfo.ads (Get_Rep_Item): Removed. | |
2560 | (Get_Rep_Item_For_Entity): Removed. | |
2561 | (Get_Rep_Pragma): Removed. | |
2562 | (Get_Rep_Pragma_For_Entity): Removed. | |
2563 | (Has_Rep_Item): Removed. | |
2564 | (Has_Rep_Pragma): Removed. | |
2565 | (Has_Rep_Pragma_For_Entity): Removed. | |
2566 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): | |
2567 | Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma | |
2568 | and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma. | |
2569 | (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced | |
2570 | by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by | |
2571 | Get_Rep_Pragma. | |
2572 | * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma. | |
2573 | * sem_aux.adb (Get_Rep_Item): New routine. | |
2574 | (Get_Rep_Pragma): New routine. | |
2575 | (Has_Rep_Item): New routine. | |
2576 | (Has_Rep_Pragma): New routine. | |
2577 | (Nearest_Ancestor): Minor reformatting. | |
2578 | * sem_aux.ads (Get_Rep_Item): New routine. | |
2579 | (Get_Rep_Pragma): New routine. | |
2580 | (Has_Rep_Item): New routine. | |
2581 | (Has_Rep_Pragma): New routine. | |
2582 | * sem_ch13.adb (Duplicate_Clause): Restore original error messages. | |
2583 | * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity | |
2584 | replaced by Get_Rep_Item. | |
2585 | * sem_prag.adb (Analyze_Pragma): Restore original error messages. | |
2586 | (Check_Duplicate_Pragma): Restore original error messages. | |
2587 | ||
714e7f2d | 2588 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> |
2589 | ||
2590 | * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified | |
2591 | expressions are valid names. | |
2592 | ||
2593 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
2594 | ||
2595 | * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an | |
2596 | instantiation do not emit warnings for obsolescent units. The | |
2597 | warnings belong on the corresponding generic. | |
2598 | ||
2599 | 2012-06-14 Hristian Kirtchev <kirtchev@adacore.com> | |
2600 | ||
2601 | * einfo.adb: Update the usage of Node15. | |
2602 | (Return_Flag_Or_Transient_Decl): Removed. | |
2603 | (Set_Return_Flag_Or_Transient_Decl): Removed. | |
2604 | (Set_Status_Flag_Or_Transient_Decl): New routine. | |
2605 | (Status_Flag_Or_Transient_Decl): New routine. | |
2606 | (Write_Field15_Name): Update the output for variables and constants. | |
2607 | * einfo.ads: Remove attribute | |
2608 | Return_Flag_Or_Transient_Decl along with occurrences in nodes. | |
2609 | (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. | |
2610 | (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. | |
2611 | (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma | |
2612 | Inline. | |
2613 | (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline. | |
2614 | * exp_ch4.adb (Create_Alternative): New routine. | |
2615 | (Expand_N_Conditional_Expression): Handle the case | |
2616 | where at least one of the conditional expression | |
2617 | alternatives prodices a controlled temporary by means of a function | |
2618 | call. | |
2619 | (Is_Controlled_Function_Call): New routine. | |
2620 | (Process_Transient_Object): Update the call to | |
2621 | Set_Return_Flag_Or_Transient_Decl. | |
2622 | * exp_ch6.adb (Enclosing_Context): New routine. | |
2623 | (Expand_N_Extended_Return_Statement): Update all calls to | |
2624 | Set_Return_Flag_Or_Transient_Decl. | |
2625 | (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled | |
2626 | function result when the context is a conditional expression. | |
2627 | * exp_ch7.adb (Process_Declarations): Update all calls to | |
2628 | Return_Flag_Or_Transient_Decl. Add processing for intermediate | |
2629 | results of conditional expressions where one of the alternatives | |
2630 | uses a controlled function call. | |
2631 | (Process_Object_Declaration): Update all calls to | |
2632 | Return_Flag_Or_Transient_Decl and rearrange the logic to process | |
2633 | "hook" objects first. | |
2634 | (Process_Transient_Objects): Update the call to | |
2635 | Set_Return_Flag_Or_Transient_Decl. | |
2636 | * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, | |
2637 | Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add | |
2638 | detection for intermediate results of conditional expressions | |
2639 | where one of the alternatives uses a controlled function call. | |
2640 | ||
39854e56 | 2641 | 2012-06-13 Eric Botcazou <ebotcazou@adacore.com> |
ab19f7e4 | 2642 | |
39854e56 | 2643 | Revert |
2644 | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> | |
2645 | ||
2646 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
2647 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall | |
2648 | calling convention | |
2649 | (get_minimal_subprog_decl): Likewise. | |
2650 | (gnat_first_param_is_class): New predicate. | |
ab19f7e4 | 2651 | |
17631aa0 | 2652 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2653 | ||
2654 | * gcc-interface/Make-lang.in: Update dependencies. | |
2655 | * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb, | |
2656 | sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments. | |
2657 | Minor reformatting. | |
2658 | ||
2659 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
2660 | ||
2661 | * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that | |
2662 | implements AI05-0296, because the actual may be overloaded. | |
2663 | * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here, | |
2664 | to be applied once the actual subprogram is properly resolved. | |
2665 | ||
89f1e35c | 2666 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2667 | ||
2668 | * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting. | |
2669 | ||
2670 | 2012-06-12 Vincent Pucci <pucci@adacore.com> | |
2671 | ||
2672 | * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check. | |
2673 | * einfo.adb (Universal_Aliasing): Apply to the implementation | |
2674 | base type instead of the base type. | |
2675 | (Get_Rep_Item_For_Entity): | |
2676 | Return a pragma if the pragma node is not present in the Rep | |
2677 | Item chain of the parent. | |
2678 | (Kill_Tag_Checks): Removed (unused flag). | |
2679 | (Set_Kill_Tag_Checks): Removed. | |
2680 | (Get_First_Rep_Item): New routine. | |
2681 | (Get_Rep_Pragma_For_Entity): New routine. | |
2682 | (Has_Rep_Item): New routine. | |
2683 | (Has_Rep_Pragma_For_Entity): New routine. | |
2684 | (Present_In_Rep_Item): New routine. | |
2685 | * einfo.ads (Kill_Tag_Checks): Removed. | |
2686 | (Set_Kill_Tag_Checks): Removed. | |
2687 | (Get_First_Rep_Item): New routine. | |
2688 | (Get_Rep_Pragma_For_Entity): New routine. | |
2689 | (Has_Rep_Item): New routine. | |
2690 | (Has_Rep_Pragma_For_Entity): New routine. | |
2691 | (Present_In_Rep_Item): New routine. | |
2692 | * exp_attr.adb, sem_attr.adb: Attribute_CPU, | |
2693 | Attribute_Dispatching_Domain and Attribute_Interrupt_Priority | |
2694 | case added. | |
2695 | * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For | |
2696 | attribute Storage_Size, insert the new assignement statement | |
2697 | after the Size variable declaration. | |
2698 | * exp_ch3.adb (Build_Init_Statements): Fill the CPU, | |
2699 | Dispatching_Domain, Priority and Size components with the Rep | |
2700 | Item expression (if any). | |
2701 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU, | |
2702 | _Priority, _Domain fields are always present in the | |
2703 | corresponding record type. | |
2704 | (Find_Task_Or_Protected_Pragma): Removed. | |
2705 | (Get_Relative_Deadline_Pragma): New routine. | |
2706 | (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed. | |
2707 | (Make_Task_Create_Call): Check CPU, Size or | |
2708 | Dispatching_Domain Rep Item is present using new routine Has_Rep_Item. | |
2709 | * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants | |
2710 | and Uninstall_Discriminants_And_Pop_Scope calls added. | |
2711 | (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added. | |
2712 | * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor | |
2713 | for private derived types. | |
2714 | * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up | |
2715 | and reordering. Delay analysis for all aspects (except some | |
2716 | peculiar cases). | |
2717 | (Analyze_Attribute_Definition_Clause): | |
2718 | Attribute_CPU, Attribute_Dispatching_Domain, | |
2719 | Interrupt_Priority and Attribute_Priority cases added. | |
2720 | (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants | |
2721 | and Uninstall_Discriminants_And_Pop_Scope calls added. | |
2722 | (Check_Aspect_At_Freeze_Point): Reordering and clean-up. | |
2723 | (Duplicate_Clause): Issue an explicit error msg when the current | |
2724 | clause duplicates an aspect specification, an attribute definition | |
2725 | clause or a pragma. | |
2726 | (Evaluate_Aspects_At_Freeze_Point): New routine. | |
2727 | * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine. | |
2728 | * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine. | |
2729 | (Push_Scope_And_Install_Discriminants): New routine. | |
2730 | (Uninstall_Discriminants): New routine. | |
2731 | (Uninstall_Discriminants_And_Pop_Scope): New routine. | |
2732 | * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error | |
2733 | msg when the current pragma duplicates an aspect specification, | |
2734 | an attribute definition clause or a pragma. | |
2735 | (Analyze_Pragma): Remove use of flags Has_Pragma_CPU, | |
2736 | Has_Pragma_Priority and Has_Pragma_Dispatching_Domain. | |
2737 | * sem_util.adb (Compile_Time_Constraint_Error): Don't complain | |
2738 | about the type if the corresponding concurrent type doesn't come | |
2739 | from source. | |
2740 | * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed. | |
2741 | (Has_Pragma_Dispatching_Domain): Removed. | |
2742 | (Has_Pragma_Priority): Removed. | |
2743 | (Has_Task_Info_Pragma): Removed. | |
2744 | (Has_Task_Name_Pragma): Removed. | |
2745 | (Set_Has_Pragma_CPU): Removed. | |
2746 | (Set_Has_Pragma_Dispatching_Domain): Removed. | |
2747 | (Set_Has_Pragma_Priority): Removed. | |
2748 | (Set_Has_Task_Info_Pragma): Removed. | |
2749 | (Set_Has_Task_Name_Pragma): Removed. | |
2750 | * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU, | |
2751 | Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added. | |
2752 | (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and | |
2753 | Name_Interrupt_Priority added. | |
2754 | * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU | |
2755 | and Name_Interrupt_Priority moved to the list of | |
2756 | Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and | |
2757 | Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain, | |
2758 | Pragma_CPU and Pragma_Interrupt_Priority moved to the end of | |
2759 | the Pragma_Name list. | |
2760 | ||
a5e7b481 | 2761 | 2012-06-12 Arnaud Charlet <charlet@adacore.com> |
2762 | ||
2763 | * xref_lib.adb (Get_Full_Type): Add support for 'G'. | |
2764 | ||
2765 | 2012-06-12 Tristan Gingold <gingold@adacore.com> | |
2766 | ||
2767 | * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields. | |
2768 | ||
2769 | 2012-06-12 Fedor Rybin <frybin@adacore.com> | |
2770 | ||
2771 | * gnat_ugn.texi: Update doc on gnattest. | |
2772 | ||
2773 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
2774 | ||
2775 | * sem_ch12.adb: Add comments. | |
2776 | ||
3e031dbf | 2777 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2778 | ||
2779 | * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting. | |
2780 | ||
6a8773aa | 2781 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2782 | ||
2783 | * sem_ch12.adb: Minor reformatting. | |
2784 | ||
2785 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
2786 | ||
2787 | * opt.ads (Inline_Level): New variable. | |
2788 | * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization | |
2789 | level if it has not been set by the user. | |
2790 | * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2 | |
2791 | and set Inline_Level accordingly. | |
2792 | * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type. | |
2793 | (Must_Inline): Return Inline_Level_T instead of Boolean to indicate | |
2794 | whether the package of the inlined subprogram must be compiled. | |
2795 | If Inline_Level is set to 1, only compile packages of subprograms | |
2796 | directly called from the main unit. | |
2797 | * usage.adb (Usage): Adjust line for -gnatn switch. | |
2798 | * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2. | |
2799 | ||
56381e22 | 2800 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
2801 | ||
2802 | * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply | |
2803 | AI05-296 if the actual is overloaded. In this case The rule must | |
2804 | be applied after resolution, in Analyze_Subprogram_Renaming. | |
2805 | ||
a96d5239 | 2806 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2807 | ||
2808 | * stringt.adb: Minor reformatting. | |
2809 | ||
2810 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
2811 | ||
2812 | * ali-util.adb, stringt.ads: Minor reformatting. | |
2813 | ||
2814 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> | |
2815 | ||
2816 | * exp_ch7.adb (Process_Declarations): Handle the case where | |
2817 | the original context has been wrapped in a block to avoid | |
2818 | interference between exception handlers and At_End handlers. | |
2819 | (Wrap_HSS_In_Block): Mark the block which contains the original | |
2820 | statements of the context as being a finalization wrapper. | |
2821 | * sinfo.adb (Is_Finalization_Wrapper): New routine. | |
2822 | (Set_Is_Finalization_Wrapper): New routine. | |
2823 | ||
2824 | * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable | |
2825 | to block statemnts. | |
2826 | (Is_Finalization_Wrapper): New routine with corresponding pragma Inline. | |
2827 | (Set_Is_Finalization_Wrapper): New routine with corresponding pragma | |
2828 | Inline. | |
2829 | ||
2830 | 2012-06-12 Steve Baird <baird@adacore.com> | |
2831 | ||
2832 | * gnat1drv.adb (Adjust_Global_Switches): No longer need to set | |
2833 | Exception_Extra_Info in CodePeer_Mode. | |
2834 | ||
37d19a65 | 2835 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2836 | ||
2837 | * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb, | |
2838 | sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb, | |
2839 | sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb, | |
2840 | sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code | |
2841 | reorganization. | |
2842 | ||
2843 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
2844 | ||
2845 | * s-tasini.ads: Minor fix in comment. | |
2846 | ||
2847 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2848 | ||
2849 | * freeze.adb (Freeze_Record_Type): Warn on record with | |
2850 | Scalar_Storage_Order if there is no placed component. | |
2851 | ||
2852 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2853 | ||
2854 | * sem_ch3.adb: Minor comment fix. | |
2855 | ||
2856 | 2012-06-12 Vincent Celier <celier@adacore.com> | |
2857 | ||
2858 | * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation | |
2859 | mode, use Stringt Mark and Release to avoid growing the Stringt | |
2860 | internal tables uselessly. | |
2861 | * stringt.adb (Strings_Last): New global variable | |
2862 | (String_Chars_Last): New global variable. | |
2863 | (Mark, Release): New procedures. | |
2864 | * stringt.ads (Mark, Release) New procedures. | |
2865 | ||
f0224186 | 2866 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> |
2867 | ||
2868 | * exp_ch7.adb (Process_Transient_Objects): Renamed constant | |
2869 | Requires_Hooking to Must_Hook and replace all occurrences of the name. | |
2870 | (Requires_Hooking): New routine. Detect all contexts that require | |
2871 | transient variable export to the outer finalizer due to a potential | |
2872 | exception. | |
2873 | ||
73c6a422 | 2874 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
2875 | ||
2876 | * sem_ch12.adb: Small adjustment. | |
2877 | ||
2878 | 2012-06-12 Vincent Celier <celier@adacore.com> | |
2879 | ||
2880 | * vms_cmds.ads (Command_Type): New enumeration value Test | |
2881 | * vms_conv.adb (Initialize): Add component at index Test in | |
2882 | Command_List | |
2883 | * vms_data.ads (Test_Switches): New global variable for the | |
2884 | switches of gnattest, currently empty. | |
2885 | ||
eb827c82 | 2886 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
2887 | ||
2888 | * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete | |
2889 | type is tagged, so is a subtype of it. | |
2890 | * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296, | |
2891 | concerning freeze rules in the presence of formal incomplete | |
2892 | types: a formal abstract subprogram cannot have an incomplete | |
2893 | controlling type, and the profile of the actual subprogram does | |
2894 | not freeze if it includes an incomplete untagged type. | |
2895 | ||
41d55ffb | 2896 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2897 | ||
2898 | * a-direct.adb: Minor reformatting. | |
2899 | ||
2900 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
2901 | ||
2902 | * gnat_ugn.texi: Add missing documentation for -gnatw.v and | |
2903 | -gnatw.V. | |
2904 | ||
2905 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2906 | ||
2907 | * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb, | |
2908 | sem_ch13.adb: Minor rewording of error messages for unchecked unions. | |
2909 | ||
1d8c4b77 | 2910 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2911 | ||
2912 | * lib-xref.ads: Minor reformatting. | |
2913 | ||
2914 | 2012-06-12 Pascal Obry <obry@adacore.com> | |
2915 | ||
2916 | * a-direct.adb (Delete_File): Delete symbolic links silently | |
2917 | instead of raising the Name_Error exception when the symbolic | |
2918 | link is pointing to a non existent file. | |
2919 | ||
b11ac6d5 | 2920 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2921 | ||
2922 | * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting. | |
2923 | ||
2924 | 2012-06-12 Javier Miranda <miranda@adacore.com> | |
2925 | ||
2926 | * lib-xref.ads Adding missing documentation. | |
2927 | ||
fc211e7d | 2928 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> |
2929 | ||
2930 | * exp_ch7.adb (Create_Finalizer): Add the | |
2931 | exception reraise mechanism at the very end of the finalizer | |
2932 | statements. This placement ensures that all objects are finalized, | |
2933 | the secondary stack mark released and aborts undeferred before | |
2934 | propagating an exception. | |
2935 | ||
2936 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
2937 | ||
2938 | * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a | |
2939 | wrapper package. remove from visibility the original subprogram | |
2940 | instance. | |
2941 | ||
2942 | 2012-06-12 Javier Miranda <miranda@adacore.com> | |
2943 | ||
2944 | * sem_prag.adb (Process_Convention): Generate reference to entity | |
2945 | exported to foreign language. Needed for GPS navigation. | |
2946 | * xref_lib.adb (Parse_Identifier_Info): Parse exported entities. | |
2947 | * lib-xref (Output_References): Output exported entities. | |
2948 | ||
2949 | 2012-06-12 Pascal Obry <obry@adacore.com> | |
2950 | ||
2951 | * prj-attr.adb: Add install package and corresponding attributes. | |
2952 | * snames.ads-tmpl (Name_Active): New constant. | |
2953 | (Name_Exec_Subdir): Likewise. | |
2954 | (Name_Install): Likewise. | |
2955 | (Name_Lib_Subdir): Likewise. | |
2956 | (Name_Project_Subdir): Likewise. | |
2957 | (Name_Sources_Subdir): Likewise. | |
2958 | ||
2959 | 2012-06-12 Bob Duff <duff@adacore.com> | |
2960 | ||
2961 | * sem_res.adb (Check_Infinite_Recursion): | |
2962 | Suppress spurious warning on recursion after "raise with ...". | |
2963 | ||
608b54ce | 2964 | 2012-06-12 Thomas Quinot <quinot@adacore.com> |
2965 | ||
2966 | * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do | |
2967 | not crash on illegal unchecked union that is a null record. | |
2968 | ||
2969 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2970 | ||
2971 | * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to | |
2972 | treat implicit dereferences with a constrained unchecked union | |
2973 | nominal subtype as having inferable discriminants. | |
2974 | ||
b6a174b7 | 2975 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
2976 | ||
2977 | * sem_ch6.adb: Minor reformatting. | |
2978 | ||
2979 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
2980 | ||
2981 | * gnat_ugn.texi: Couple of minor corrections. | |
2982 | ||
2983 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2984 | ||
2985 | * sem_prag.adb (Check_Variant): An empty component list is not | |
2986 | illegal in an unchecked union variant. | |
2987 | ||
5bf9d771 | 2988 | 2012-06-12 Gary Dismukes <dismukes@adacore.com> |
2989 | ||
2990 | * projects.texi: Remove comments. | |
2991 | ||
2992 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
2993 | ||
2994 | * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as | |
2995 | synonym of -gnateS. | |
2996 | (gnat_post_options): Disable gimple-based SCO generator. | |
2997 | * gnat_ugn.texi: Document that -gnateS is an obsolete synonym | |
2998 | of -fdump-scos. | |
2999 | ||
3000 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
3001 | ||
3002 | * sem_ch6.adb (Different_Generic_Profile): new predicate for | |
3003 | Find_Corresponding_Spec, to handle a rare case of accidental | |
3004 | overloading in an instance, when the profile of a subprogram body | |
3005 | that depends on a formal type becomes compatible with that of | |
3006 | a homonym whose profile in the generic mentions the actual type. | |
3007 | ||
3008 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
3009 | ||
3010 | * gnat1drv.adb: Minor reformatting. | |
3011 | ||
f4f8b6b5 | 3012 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
3013 | ||
3014 | * sem_util.adb (Build_Explicit_Dereference): If the expression | |
3015 | is an entity, ensure that the type of the expression is the same | |
3016 | as that of the entity. | |
3017 | ||
3018 | 2012-06-12 Pat Rogers <rogers@adacore.com> | |
3019 | ||
3020 | * projects.texi: Corrected instances of the word "build" that | |
3021 | should be "built" instead. Other similar changes and minor | |
3022 | punctuation changes. | |
3023 | ||
a5a64273 | 3024 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> |
3025 | ||
3026 | * sem_util.adb (Is_Atomic_Object): Return true for an atomic | |
3027 | component as well as a prefix which is an atomic component. | |
3028 | ||
3029 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
3030 | ||
3031 | * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous | |
3032 | patch. The processing of interfacing aspects now generates a | |
3033 | proper Ada 2005 pragma. | |
3034 | * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and | |
3035 | Pragma_Import): revert previous patch. The processing of | |
3036 | interfacing aspects now generates a proper Ada 2005 pragma. | |
3037 | * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper | |
3038 | pragam for aspects Convention, Import and Export. Scan list | |
3039 | of aspects to collect link name and external name if present, | |
3040 | and verify that a complete pragma can be generated. | |
3041 | ||
39854e56 | 3042 | 2012-06-11 Olivier Hainque <hainque@adacore.com> |
3043 | ||
3044 | * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove | |
3045 | $(PIC_FLAG_FOR_TARGET). | |
3046 | (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to | |
3047 | GNATLIBCFLAGS_FOR_C passed to gnatlib. | |
3048 | (gnatlib-shared-win32): Likewise. | |
3049 | (gnatlib-shared-darwin): Likewise. | |
3050 | (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to | |
3051 | gnatlib-shared-win32. | |
3052 | ||
7016287f | 3053 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
3054 | ||
3055 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE | |
3056 | to units before invoking allocatable_size_p on it. | |
3057 | Remove orphaned comment. Do not use ssize_int. | |
3058 | <E_Record_Subtype>: Traverse list in original order. Minor tweak. | |
3059 | (allocatable_size_p): Adjust and simplify. | |
3060 | (build_subst_list): Use consistent terminology throughout. | |
3061 | (build_variant_list): Likewise. Traverse list in original order. | |
3062 | (create_field_decl_from): Likewise. | |
3063 | (copy_and_substitute_in_size): Likewise. | |
3064 | (create_variant_part_from): Add comment about field list order. | |
3065 | * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int. | |
3066 | * gcc-interface/utils2.c (build_allocator): Likewise. | |
3067 | ||
e45f3812 | 3068 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
3069 | ||
3070 | * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type | |
3071 | instead of Is_Scalar_Type for a constant with an address clause. | |
3072 | Do not return the underlying constant for a constant used by reference | |
3073 | if it holds the address of a constant and an lvalue is required. | |
3074 | ||
f29f9ff7 | 3075 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
3076 | ||
3077 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal | |
3078 | with external constants wrt force_global here... | |
3079 | <E_Constant>: ...but here instead. | |
3080 | * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto | |
3081 | the list of global DECLs. | |
3082 | ||
5382f1dd | 3083 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
3084 | ||
3085 | * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on | |
3086 | entry only for elementary types and abort if it is too large. | |
3087 | <E_Record_Type>: Make sure the Esize is known before using it. | |
3088 | ||
dff12c10 | 3089 | 2012-06-04 Steven Bosscher <steven@gcc.gnu.org> |
3090 | ||
3091 | * gcc-interface/utils2.c: Do not include output.h. | |
3092 | * gcc-interface/Make-lang.in: Fix dependencies. | |
3093 | ||
7843e4bc | 3094 | 2012-05-29 Michael Matz <matz@suse.de> |
3095 | ||
3096 | * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl. | |
3097 | ||
b429b8a7 | 3098 | 2012-05-26 Eric Botcazou <ebotcazou@adacore.com> |
3099 | ||
3100 | * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'. | |
3101 | (build_variant_list): Adjust to above renaming. | |
3102 | (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name | |
3103 | to the type of the variant containers. | |
3104 | (create_variant_part_from): Likewise. Give a unique name to the type | |
3105 | of the variant part. | |
3106 | ||
8ffcff2e | 3107 | 2012-05-25 Eric Botcazou <ebotcazou@adacore.com> |
3108 | ||
3109 | PR ada/52362 | |
3110 | * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker. | |
3111 | (__gnat_using_gnu_linker): Delete. | |
3112 | * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here... | |
3113 | Declare Object_File_Option string constant and Using_GNU_response_file | |
3114 | boolean constant. | |
be3c7aa1 | 3115 | (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker, |
3116 | Opening and Closing local variables. Do not handle the GNU linker | |
8ffcff2e | 3117 | specially. |
be3c7aa1 | 3118 | (Write_RF): New procedure to write into the response file. Escape some |
3119 | characters if a GNU response file is used. Keep track of error status. | |
3120 | Invoke Write_RF to write into the response file. Delete the file only | |
8ffcff2e | 3121 | if the link was successful. |
3122 | * mlib-utl.adb: Do not `with' package System. | |
be3c7aa1 | 3123 | (Gcc): Likewise. Declare Object_File_Option string constant and |
8ffcff2e | 3124 | Using_GNU_response_file boolean constant. |
be3c7aa1 | 3125 | (Write_RF): Take a string instead of address and length. Escape some |
8ffcff2e | 3126 | characters if a GNU response file is used. |
be3c7aa1 | 3127 | Invoke Write_RF to write into the response file. Delete the file only |
3128 | if the link was successful. Do not warn if it cannot be deleted. | |
8ffcff2e | 3129 | |
a7688838 | 3130 | 2012-05-20 Eric Botcazou <ebotcazou@adacore.com> |
3131 | ||
3132 | * gcc-interface/utils.c (gnat_write_global_declarations): Put a name | |
3133 | on the dummy global variable. | |
3134 | ||
20a8df10 | 3135 | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> |
3136 | ||
3137 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
3138 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall | |
3139 | calling convention | |
3140 | (get_minimal_subprog_decl): Likewise. | |
3141 | (gnat_first_param_is_class): New predicate. | |
3142 | ||
3143 | * gcc-interface/misc.c (gnat_handle_option): Fix formatting. | |
3144 | * gcc-interface/Makefile.in: Likewise. | |
3145 | ||
4b1fdfcc | 3146 | 2012-05-18 Eric Botcazou <ebotcazou@adacore.com> |
3147 | ||
3148 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at | |
3149 | global level with unconstrained nominal subtype and a non-fixed size, | |
3150 | make a variable for the size. | |
3151 | ||
5b4a2ac8 | 3152 | 2012-05-15 Andris Pavenis <andris.pavenis@iki.fi> |
3153 | ||
3154 | PR ada/52494 | |
3155 | * s-taprop-dummy.adb (Specific): New package. | |
3156 | ||
0b105f04 | 3157 | 2012-05-15 Olivier Hainque <hainque@adacore.com> |
3158 | ||
3159 | * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS | |
3160 | instead of trying to mimic it. | |
3161 | ||
7eb0e22f | 3162 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
3163 | ||
3164 | * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor | |
3165 | reformatting. | |
3166 | ||
3167 | 2012-05-15 Geert Bosch <bosch@adacore.com> | |
3168 | ||
3169 | * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are | |
3170 | not needed. | |
3171 | (Sum_Digits): Remove, no longer used. | |
3172 | (Sum_Double_Digits): Likewise. | |
3173 | ||
3174 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
3175 | ||
3176 | * aspects.ads: Minor typo. | |
3177 | ||
3178 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3179 | ||
3180 | * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference. | |
3181 | * sem_ch13.adb: Minor comment fix: incorrect RM reference. | |
3182 | ||
3183 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
3184 | ||
3185 | * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate | |
3186 | atomicity from an object to its underlying type only if it | |
3187 | is composite. | |
3188 | ||
18923d61 | 3189 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
3190 | ||
3191 | * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of | |
3192 | loop variable after pre-analysis of iterator name, to prevent | |
3193 | premature usage of loop variable. | |
3194 | ||
3195 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3196 | ||
3197 | * sem_util.adb (Is_Variable): In Ada 2012, an explicit | |
3198 | dereference that is a rewriting of an expression whose type has | |
3199 | a declared Implicit_Derenference aspect is a variable. | |
3200 | ||
30d0732d | 3201 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
3202 | ||
3203 | * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The | |
3204 | routine performs address and size adjustments for dereferences | |
3205 | of heap-allocated controlled objects. This manipulation is needed | |
3206 | in order to restore the original state of the memory at the time | |
3207 | it was allocated by the finalization machinery. | |
3208 | * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables | |
3209 | RE_Id and RE_Unit_Table. | |
3210 | * sinfo.adb (Has_Dereference_Action): New routine. | |
3211 | (Set_Has_Dereference_Action): New routine. | |
3212 | * sinfo.ads: Add new semantic flag Has_Dereference_Action along | |
3213 | its association in nodes. | |
3214 | (Has_Dereference_Action): New routine and pragma Inline. | |
3215 | (Set_Has_Dereference_Action): New routine and pragma Inline. | |
3216 | * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New | |
3217 | routine. | |
3218 | ||
b98fca2b | 3219 | 2012-05-15 Thomas Quinot <quinot@adacore.com> |
3220 | ||
3221 | * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and | |
3222 | remainder of U / Base in a single operation. | |
3223 | ||
3224 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
3225 | ||
3226 | * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb, | |
3227 | a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb, | |
3228 | vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting. | |
3229 | ||
7dc534ca | 3230 | 2012-05-15 Thomas Quinot <quinot@adacore.com> |
3231 | ||
3232 | * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified | |
3233 | expression, use correct node for test on the subtype denoted by | |
3234 | the subtype mark. | |
3235 | ||
3236 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
3237 | ||
3238 | * inline.adb (Scope_In_Main_Unit): Rename into... | |
3239 | (In_Main_Unit_Or_Subunit): ...this. Also return | |
3240 | true if the subprogram is within a subunit of the | |
3241 | main unit. | |
3242 | (Add_Inlined_Body): Adjust for above renaming. | |
3243 | (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly. | |
3244 | (Analyze_Inlined_Bodies): Really set aside inlined subprograms | |
3245 | not handled by Add_Inlined_Body. | |
3246 | ||
984d005d | 3247 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
3248 | ||
3249 | * sem_ch10.adb (Expand_With_Clause): In the context of a generic | |
3250 | package declaration, a private with-clause on a child unit implies | |
3251 | that the implicit with clauses on its parents are private as well. | |
3252 | ||
3253 | 2012-05-15 Javier Miranda <miranda@adacore.com> | |
3254 | ||
3255 | * sem_ch6.adb (Is_Interface_Conformant): Add missing call to | |
3256 | Base_Type to handle subtypes. | |
3257 | * exp_ch6.adb (Expand_Call): For calls located in thunks handle | |
3258 | unchecked conversions of access types found in actuals. | |
3259 | * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked | |
3260 | conversion to actuals whose type is an access type. Done to | |
3261 | avoid reporting spurious errors. | |
3262 | ||
3263 | 2012-05-15 Vincent Celier <celier@adacore.com> | |
3264 | ||
3265 | * prj-env.adb (Create_Mapping): Ignore sources that are | |
3266 | suppressed (Create_Mapping_File.Process): Ditto | |
3267 | * prj-nmsc.adb (Add_Source): Update to take into | |
3268 | account suppressed files that may hide inherited sources. | |
3269 | (Mark_Excluded_Sources): Mark excluded sources of the current | |
3270 | project as suppressed. | |
3271 | * prj.ads (Source_Data): New Boolean component Suppressed, | |
3272 | defaulted to False | |
3273 | ||
3274 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3275 | ||
3276 | * exp_intr.adb: Minor reformatting. | |
3277 | ||
3278 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3279 | ||
3280 | * gnat_rm.texi: Document attribute Scalar_Storage_Order. | |
3281 | ||
3282 | 2012-05-15 Javier Miranda <miranda@adacore.com> | |
3283 | ||
3284 | * exp_ch3.adb (Build_Offset_To_Top): Modify the | |
3285 | expansion of the offset_to_top functions to ensure that their | |
3286 | profile is conformant with the profile specified in Ada.Tags. No | |
3287 | change in functionality. | |
3288 | ||
3289 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
3290 | ||
3291 | * inline.adb (Subp_Info): Remove Count and Next_Nopred | |
3292 | components, add Processed component and move around Next component. | |
3293 | (Add_Call): Reverse meaning of Successors table to the natural one. | |
3294 | (Add_Inlined_Body): Do not inline a package if it is in the main unit. | |
3295 | (Add_Inlined_Subprogram): Do not add the subprogram to the list if the | |
3296 | package is in the main unit. Do not recurse on the successors. | |
3297 | (Add_Subp): Adjust to new contents of Subp_Info. | |
3298 | (Analyze_Inlined_Bodies): Do not attempt | |
3299 | to compute a topological order on the list of inlined subprograms, | |
3300 | but compute the transitive closure from the main unit instead. | |
3301 | (Get_Code_Unit_Entity): Always return the spec for a package. | |
3302 | ||
77416989 | 3303 | 2012-05-15 Yannick Moy <moy@adacore.com> |
3304 | ||
3305 | * aspects.ads: Minor addition of comments to provide info on | |
3306 | how to add new aspects. | |
3307 | ||
3308 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3309 | ||
3310 | * osint.ads: Minor reformatting. | |
3311 | ||
3312 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3313 | ||
3314 | * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads | |
3315 | (Expand_Assign_Array): Handle the case of a packed bit array within a | |
3316 | record with reverse storage order (assign element by element in that | |
3317 | case). | |
3318 | (In_Reverse_Storage_Order_Record): New subprogram, | |
3319 | code extracted from Exp_Pakd. | |
3320 | ||
3321 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
3322 | ||
3323 | * a-ngelfu.ads: Add postconditions using Ada 2012 | |
3324 | aspect syntax, reflecting some of the RM requirements for these | |
3325 | functions, from Annex A.5.1 or G.2.4. | |
3326 | ||
3327 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3328 | ||
3329 | * adaint.c: Minor fix: move misplaced comment. | |
3330 | ||
3331 | 2012-05-15 Doug Rupp <rupp@adacore.com> | |
3332 | ||
3333 | * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage | |
3334 | use by customers. | |
3335 | ||
e1cedbae | 3336 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
3337 | ||
3338 | * a-exextr.adb: Add comment. | |
3339 | ||
3340 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3341 | ||
3342 | * sem_ch3.adb: Minor reformatting (remove long dead code). | |
3343 | ||
3344 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3345 | ||
3346 | * aspects.adb, aspects.ads: Add aspects for Convention, Export, | |
3347 | External_Name, Import, and Link_Name. | |
3348 | * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the | |
3349 | pragma comes from an aspect specification, the entity is the | |
3350 | first argument. | |
3351 | * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and | |
3352 | Pragma_Import): if the pragma comes from an aspect specification, | |
3353 | the entity is the first argument, and the second has the value | |
3354 | True by default. | |
3355 | * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam | |
3356 | for aspect Convention. Add placeholders for Link_Name and | |
3357 | External_Name. | |
3358 | ||
0703c8dc | 3359 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
3360 | ||
3361 | * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements | |
3362 | of the abortable part and triggering alternative after being processed | |
3363 | for controlled objects. | |
3364 | (Expand_N_Timed_Entry_Call): Code and comment reformatting. | |
3365 | ||
3366 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
3367 | ||
3368 | * sem_util.adb: Minor code reorganization. | |
3369 | ||
6121886e | 3370 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
3371 | ||
3372 | * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting. | |
3373 | ||
3374 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3375 | ||
3376 | * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for | |
3377 | 'Unrestricted_Access and 'Unchecked_Access (not just 'Access): | |
3378 | even in those cases, a remote access type may only designate a | |
3379 | remote subprogram. | |
3380 | ||
3381 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3382 | ||
3383 | * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring. | |
3384 | (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node. | |
3385 | ||
3386 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3387 | ||
3388 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete | |
3389 | checks on nested inlined subprograms. | |
3390 | ||
3391 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3392 | ||
3393 | * fe.h (Get_RT_Exception_Name): Declare. | |
3394 | ||
3395 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3396 | ||
3397 | * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings. | |
3398 | (get_region_description_for): Likewise. | |
3399 | (db_action_for): Likewise. | |
3400 | (get_call_site_action_for): Likewise. | |
3401 | (get_ttype_entry_for): Remove useless 'const'. | |
3402 | (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class. | |
3403 | ||
3404 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3405 | ||
3406 | * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence | |
3407 | on the stack to avoid a dynamic memory allocation. | |
3408 | ||
3409 | 2012-05-15 Bob Duff <duff@adacore.com> | |
3410 | ||
3411 | * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of | |
3412 | E_Stats and D_Stats after Process_Statements_For_Controlled_Objects, | |
3413 | because those calls can destroy the Statements list. | |
3414 | ||
f92ebffb | 3415 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
3416 | ||
3417 | * fe.h (Get_RT_Exception_Name): Define. | |
3418 | * types.ads (RT_Exception_Code): Update comment. | |
3419 | * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New | |
3420 | procedure to get the name of the rcheck subprograms. | |
3421 | * a-except-2005.adb (Rcheck_xx): Rename. | |
3422 | * a-except.adb Likewise, but also keep the old Rcheck_nn routines | |
3423 | for bootstrap. | |
3424 | * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check | |
3425 | instead of __gnat_rcheck_10. | |
3426 | * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name | |
3427 | to create the __gnat_rcheck routines name. | |
3428 | * gcc-interface/Make-lang.in: Update dependencies. | |
3429 | ||
c075f76a | 3430 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
3431 | ||
3432 | * exp_ch7.adb (Build_Exception_Handler): Save current | |
3433 | occurrence only if -gnateE. | |
3434 | (Build_Object_Declaration): Declare E_Id only if -gnateE. | |
3435 | (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if | |
3436 | -gnateE (else raise PE). | |
3437 | * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence | |
3438 | access. | |
3439 | * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call | |
3440 | Raise_From_Controlled_Operation only if the saved occurrence is | |
3441 | not null, otherwise raise PE. | |
3442 | ||
3443 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
3444 | ||
3445 | * exp_alfa.ads: Add comments describing the Alfa mode. | |
3446 | ||
504c14e8 | 3447 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
3448 | ||
3449 | * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter | |
3450 | E is now of type Exception_Occurrence_Access. | |
3451 | * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated | |
3452 | call to Save_Library_Occurrence. | |
3453 | ||
3454 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
3455 | ||
3456 | * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to | |
3457 | insert temporary variable decl at the proper place in the tree. | |
3458 | ||
e3489cff | 3459 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
3460 | ||
3461 | * g-calend.adb (Split_At_Locale): New routine. | |
3462 | (Time_Of_At_Locale): New routine. | |
3463 | * g-calend.ads (Split_At_Locale): New routine. | |
3464 | (Time_Of_At_Locale): New routine. | |
3465 | ||
3466 | 2012-05-15 Gary Dismukes <dismukes@adacore.com> | |
3467 | ||
3468 | * a-except.ads: Minor reformatting. | |
3469 | ||
3470 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3471 | ||
3472 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop | |
3473 | parameter specification is part of a quantified expression, and it | |
3474 | already carries a type, do not repeat the analysis to preserve | |
3475 | type information: a range attribute reference may have been | |
3476 | rewritten as a range with static bounds, and its re-analysis may | |
3477 | type it as Integer by default, instead of the original index type. | |
3478 | ||
3479 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
3480 | ||
3481 | * s-osprim-mingw.adb: Minor reformatting. | |
3482 | ||
3c7975d3 | 3483 | 2012-05-15 Arnaud Charlet <charlet@adacore.com> |
3484 | ||
3485 | * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New. | |
3486 | Mark this unit preelaborate. | |
3487 | * s-soflin.ads: Make package Preelaborate. | |
3488 | ||
1825e275 | 3489 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
3490 | ||
3491 | * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting | |
3492 | ||
fa5c1550 | 3493 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
3494 | ||
3495 | * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static | |
3496 | matching requires matching of static subtype predicates as well. | |
3497 | ||
3498 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
3499 | ||
3500 | * sem_case.adb (Analyze_Choices): If the subtype of the | |
3501 | expression has a non-static predicate, the case alternatives | |
3502 | must cover the base type. | |
3503 | ||
3504 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3505 | ||
3506 | * a-calend-vms.ads: Add pragma export to Split and Time_Of. | |
3507 | Merge comments from a-calend.ads to minimize differences. | |
3508 | ||
3509 | 2012-05-15 Sergey Rybin <rybin@adacore.com frybin> | |
3510 | ||
3511 | * gnat_ugn.texi: gnatmetric: add a small example that demonstrates | |
3512 | the difference between control coupling and unit coupling. | |
3513 | ||
3514 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3515 | ||
3516 | * bindgen.adb (Gen_Header): Remove code to emit LE_Set. | |
3517 | (Gen_Finalize_Library): Replace test with | |
3518 | a call to __gnat_reraise_library_exception_if_any. | |
3519 | * s-soflin.ads (Library_Exception): Do not export. | |
3520 | (Library_Exception_Set): Likewise. | |
3521 | * a-except-2005.ads, a-except-2005.adb | |
3522 | (Reraise_Library_Exception_If_Any): New procedure. | |
3523 | ||
f39ac8d7 | 3524 | 2012-05-15 Geert Bosch <bosch@adacore.com> |
3525 | ||
3526 | * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out | |
3527 | parameters can be access types as well, not just scalar types, | |
3528 | so relax the test to Is_Elementary_Type. | |
3529 | ||
3530 | 2012-05-15 Bob Duff <duff@adacore.com> | |
3531 | ||
3532 | * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body | |
3533 | with pragma No_Body. | |
3534 | (Xyz): Remove Xyz, which is apparently unnecessary. | |
3535 | ||
3536 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
3537 | ||
3538 | * a-calend-vms.adb: Complete previous change. | |
3539 | ||
3540 | 2012-05-15 Bob Duff <duff@adacore.com> | |
3541 | ||
3542 | * s-win32.ads: Minor comment fix. | |
3543 | * s-osprim-mingw.adb: Minor editing. | |
3544 | ||
a16536f8 | 3545 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
3546 | ||
3547 | * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting. | |
3548 | ||
7413d80d | 3549 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
3550 | ||
3551 | * g-comlin.adb, g-comlin.ads: Minor reformatting. | |
3552 | ||
3553 | 2012-05-15 Vincent Pucci <pucci@adacore.com> | |
3554 | ||
3555 | * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New | |
3556 | aspect Aspect_Lock_Free. | |
3557 | * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188). | |
3558 | (Set_Uses_Lock_Free): New routine. | |
3559 | (Uses_Lock_Free): New routine. | |
3560 | * exp_ch7.adb (Is_Simple_Protected_Type): Return False for | |
3561 | lock-free implementation. | |
3562 | * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9. | |
3563 | (Build_Lock_Free_Unprotected_Subprogram_Body): Protected | |
3564 | procedure uses __sync_synchronise. Check both Object_Size | |
3565 | and Value_Size. | |
3566 | (Expand_N_Protected_Body): Lock_Free_Active | |
3567 | renames Lock_Free_On. | |
3568 | (Expand_N_Protected_Type_Declaration): | |
3569 | _Object field removed for lock-free implementation. | |
3570 | (Install_Private_Data_Declarations): Protection object removed | |
3571 | for lock-free implementation. | |
3572 | (Make_Initialize_Protection): | |
3573 | Protection object initialization removed for lock-free implementation. | |
3574 | * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added. | |
3575 | * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free | |
3576 | analysis added. | |
3577 | * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine. | |
3578 | (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added. | |
3579 | (Analyze_Protected_Type_Declaration): | |
3580 | Allows_Lock_Free_Implementation call added. | |
3581 | (Analyze_Single_Protected_Declaration): Second analysis of | |
3582 | aspects removed. | |
3583 | * s-atopri.ads: Header added. | |
3584 | (Atomic_Synchronize): New routine. | |
3585 | ||
3586 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
3587 | ||
3588 | * exp_ch7.ads: Add comment. | |
3589 | ||
f74ffaae | 3590 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
3591 | ||
3592 | * a-calend.adb (Day_Of_Week): The routine once again treats | |
3593 | all dates as historic. (Formatting_Operations.Split): All | |
3594 | calls to UTC_Time_Offset are now controlled through formal | |
3595 | parameter Is_Historic. (Formatting_Operations.Time_Of): | |
3596 | All calls to UTC_Time_Offset are now handled through | |
3597 | formal parameter Is_Historic. | |
3598 | (Split): Update the call to Formatting_Operations.Split. | |
3599 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
3600 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
3601 | (To_Strict_Tm): Update the call to Formatting_Operations.Split. | |
3602 | * a-calend.ads (Split): Add new formal Is_Historic along with | |
3603 | comment on usage. This routine is now exported for the purposes | |
3604 | of GNAT.Calendar.Locale. | |
3605 | (Time_Of): Remove defaults. Add new | |
3606 | formal Is_Historic along with comment on usage. This routine is | |
3607 | now exported for the purposes of GNAT.Calendar.Locale. | |
3608 | * a-calend-vms.adb (Split): Update the call to | |
3609 | Formatting_Operations.Split. | |
3610 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
3611 | * a-calend-vms.ads (Split): Add new formal Is_Historic along | |
3612 | with comment on usage. (Time_Of): Remove defaults. Add new | |
3613 | formal Is_Historic along with comment on usage. | |
3614 | * a-calfor.adb (Split): Update the call to | |
3615 | Formatting_Operations.Split. | |
3616 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
f74ffaae | 3617 | |
3618 | 2012-05-15 Vincent Celier <celier@adacore.com> | |
3619 | ||
3620 | * prj-nmsc.adb (Add_Source): Always add the source if it is | |
3621 | excluded, to avoid incorrect duplicate checks. | |
3622 | ||
3623 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
3624 | ||
3625 | * sem_aux.ads: Correct typo. | |
3626 | * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa | |
3627 | mode for a deferred constant when outside of the scope of its | |
3628 | full view. | |
3629 | ||
3630 | 2012-05-15 Emmanuel Briot <briot@adacore.com> | |
3631 | ||
3632 | * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name | |
3633 | of the argument, for the automatic help message. | |
3634 | (Getopt): do not systematically initialize switches with string values | |
3635 | to the empty string, when the user has already specified a default. | |
3636 | ||
258a168d | 3637 | 2012-05-14 Bernd Schmidt <bernds@codesourcery.com> |
3638 | ||
3639 | * gcc-interface/utils.c (DEF_ATTR_STRING): New. | |
3640 | ||
d3b7ee7c | 3641 | 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org> |
3642 | ||
3643 | PR 53063 | |
3644 | * gcc-interface/misc.c: Include opts.h and options.h before tm.h. | |
3645 | (gnat_handle_option): Call lang-specific generated function. | |
3646 | ||
4584d89f | 3647 | 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org> |
3648 | ||
3649 | * gcc-interface/lang.opt (I): Comment out help text with no effect. | |
3650 | (nostdinc): Comment out help text with no effect. | |
3651 | ||
bcd59a2b | 3652 | 2012-05-12 Eric Botcazou <ebotcazou@adacore.com> |
3653 | ||
3654 | * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o. | |
3655 | ||
fbb6fbd8 | 3656 | 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org> |
3657 | ||
3658 | PR 53063 | |
3659 | * gcc-interface/misc.c (gnat_parse_file): Move before ... | |
3660 | (gnat_handle_option): ... this. Use handle_generated_option. | |
3661 | ||
5a1fe2db | 3662 | 2012-05-10 Richard Guenther <rguenther@suse.de> |
3663 | ||
3664 | * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use. | |
3665 | ||
d349f8a8 | 3666 | 2012-05-06 Tristan Gingold <gingold@adacore.com> |
3667 | ||
3668 | * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl. | |
3669 | ||
647b2843 | 3670 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
3671 | ||
3672 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming | |
3673 | case, use the padded type if the renamed object has an unconstrained | |
3674 | type with default discriminant. | |
3675 | ||
7e48d3e6 | 3676 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
3677 | ||
3678 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant | |
3679 | conditions with only one bound. | |
647b2843 | 3680 | (Raise_Error_to_gnu): Likewise. New function extracted from... |
3681 | (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function | |
7e48d3e6 | 3682 | in regular mode only. |
3683 | ||
cd3ef822 | 3684 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
3685 | ||
3686 | * gcc-interface/misc.c (gnat_post_options): Disable caret by default. | |
3687 | ||
76cb9822 | 3688 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
3689 | ||
3690 | * gcc-interface/gigi.h (make_packable_type): Declare. | |
3691 | (make_type_from_size): Likewise. | |
3692 | (relate_alias_sets): Likewise. | |
3693 | (maybe_pad_type): Adjust. | |
3694 | (init_gnat_to_gnu): Delete. | |
3695 | (destroy_gnat_to_gnu): Likewise. | |
3696 | (init_dummy_type): Likewise. | |
3697 | (destroy_dummy_type): Likewise. | |
3698 | (init_gnat_utils): Declare. | |
3699 | (destroy_gnat_utils): Likewise. | |
3700 | (ceil_pow2): New inline function. | |
3701 | * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2. | |
3702 | <object>: Pass True for the final processing of alignment and size. | |
3703 | <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return | |
3704 | type if necessary. | |
3705 | (round_up_to_align): Delete. | |
3706 | (ceil_alignment): Likewise. | |
3707 | (relate_alias_sets): Move to... | |
3708 | (make_aligning_type): Likewise. | |
3709 | (make_packable_type): Likewise. | |
3710 | (maybe_pad_type): Likewise. | |
3711 | (make_type_from_size): Likewise. | |
3712 | * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete. | |
3713 | (struct pad_type_hash): New type. | |
3714 | (pad_type_hash_table): New static variable. | |
3715 | (init_gnat_to_gnu): Merge into... | |
3716 | (init_dummy_type): Likewise. | |
3717 | (init_gnat_utils): ...this. New function. | |
3718 | (destroy_gnat_to_gnu): Merge into... | |
3719 | (destroy_dummy_type): Likewise. | |
3720 | (destroy_gnat_utils): ...this. New function. | |
3721 | (pad_type_hash_marked_p): New function. | |
3722 | (pad_type_hash_hash): Likewise. | |
3723 | (pad_type_hash_eq): Likewise. | |
3724 | (relate_alias_sets): ...here. | |
3725 | (make_aligning_type): Likewise. | |
3726 | (make_packable_type): Likewise. | |
3727 | (maybe_pad_type): Likewise. Change same_rm_size parameter into | |
3728 | set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set | |
3729 | null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it | |
3730 | is complete and has constant size, canonicalize it. Bail out earlier | |
3731 | if a warning need not be issued. | |
3732 | (make_type_from_size): Likewise. | |
3733 | <INTEGER_TYPE>: Bail out if size is too large | |
3734 | (gnat_types_compatible_p): Do not deal with padded types. | |
3735 | (convert): Compare main variants for padded types. | |
3736 | * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils. | |
3737 | (gnat_to_gnu): Do not convert at the end for a call to a function that | |
3738 | returns an unconstrained type with default discriminant. | |
3739 | (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects. | |
3740 | * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise. | |
3741 | Do not use the padded type if it is BLKmode and the inner type is | |
3742 | non-BLKmode. | |
3743 | ||
38b1f0b0 | 3744 | 2012-05-02 Pascal Obry <obry@adacore.com> |
3745 | ||
3746 | Revert | |
3747 | 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> | |
3748 | ||
fb824021 | 3749 | * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New |
3750 | Windows-specific make variable. | |
3751 | (WIN_SO_INSTALL_DIR [windows targets]): Likewise. | |
3752 | (install-gnatlib): Respect the above during installation when set, | |
3753 | and also install any windows import library that has been built. | |
3754 | (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also | |
3755 | build a corresponding import library. | |
3756 | ||
cf951b1a | 3757 | 2012-04-30 Jan Hubicka <jh@suse.cz> |
3758 | ||
3759 | * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update | |
3760 | comment. | |
3761 | (gnat_write_global_declarations): Use finalize_compilation_unit. | |
3762 | ||
147e3036 | 3763 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
3764 | ||
3765 | * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode, | |
3766 | do not adjust the size of a tagged type if there is a representation | |
3767 | clause on it. Otherwise, round the adjustment up to the alignment | |
3768 | of the first field and use the appropriate helper routine. | |
3769 | (maybe_pad_type): Do not warn in type annotation mode on a tagged type. | |
3770 | (gnat_to_gnu_field): Do not error out under the same circumstances. | |
3771 | (annotate_rep): In type annotation mode, do not adjust the offset of | |
3772 | components of a tagged type with representation clause. Otherwise, | |
3773 | round the adjustment up to the alignment of the first field. | |
3774 | ||
81f9f420 | 3775 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
3776 | ||
3777 | * gcc-interface/utils.c (finish_record_type): Force the traditional GCC | |
3778 | layout for bitfields on the type if it is packed or has a representation | |
3779 | clause and an alternate layout is available. | |
3780 | ||
5154a747 | 3781 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
3782 | ||
3783 | * gcc-interface/gigi.h (mark_out_of_scope): Delete. | |
3784 | (destroy_gnat_to_gnu): Declare. | |
3785 | (destroy_dummy_type): Likewise. | |
3786 | * gcc-interface/decl.c (mark_out_of_scope): Delete. | |
3787 | * gcc-interface/utils.c (destroy_gnat_to_gnu): New function. | |
3788 | (destroy_dummy_type): Likewise. | |
3789 | * gcc-interface/trans.c (gnat_validate_uc_list): New variable. | |
3790 | (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list | |
147e3036 | 3791 | after the translation is completed. Call destroy_gnat_to_gnu and |
5154a747 | 3792 | destroy_dummy_type at the end. |
3793 | (Subprogram_Body_to_gnu): Do not call mark_out_of_scope. | |
3794 | (gnat_to_gnu) <N_Block_Statement>: Likewise. | |
3795 | <N_Validate_Unchecked_Conversion>: Do not process the node, only push | |
3796 | it onto gnat_validate_uc_list. | |
3797 | (validate_unchecked_conversion): New function. | |
3798 | ||
a18430a0 | 3799 | 2012-04-26 Tristan Gingold <gingold@adacore.com> |
3800 | ||
3801 | * gcc-interface/Make-lang.in: Update dependencies. | |
3802 | Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used). | |
3803 | Remove s-tasdeb and s-vaflop rules (not used). | |
3804 | ||
3805 | 2012-04-26 Olivier Hainque <hainque@adacore.com> | |
3806 | ||
3807 | * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to | |
3808 | DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE. | |
3809 | ||
3810 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
3811 | ||
3812 | * a-calend.adb (Day_Of_Week): Keep the internal | |
3813 | usage of UTC_Time_Offset consistent with Time_Of and Split. | |
3814 | ||
ce3e25d6 | 3815 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> |
3816 | ||
3817 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze | |
3818 | the loop variable while preanalyzing a quantified expression. | |
3819 | ||
3820 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
3821 | ||
3822 | * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05 | |
3823 | to Use_TZ to better illustrate its function. Update all | |
3824 | references to the parameter. | |
3825 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
3826 | * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05 | |
3827 | to Use_TZ to better illustrate its function. Update the related | |
3828 | comment on usage. | |
3829 | * a-calend-vms.adb (Split, Time_Of): Rename parameter | |
3830 | Is_Ada_05 to Use_TZ to better illustrate its function. Update | |
3831 | all references to the parameter. | |
3832 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
3833 | * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05 | |
3834 | to Use_TZ to better illustrate its function. Update the related | |
3835 | comment on usage. | |
3836 | * a-calfor.adb (Split, Time_Of): Update the call to | |
3837 | Formatting_Operations.Time_Of. | |
3838 | * sysdep.c (__gnat_localtime_tzoff): Dereference pointer | |
3839 | "is_historic" and rewrite the check as a comparison. Add a | |
3840 | comment on flag values. | |
3841 | ||
3842 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
3843 | ||
3844 | * exp_ch2.adb, sem_ch8.adb: Minor reformatting. | |
3845 | ||
3846 | 2012-04-26 Vasiliy Fofanov <fofanov@adacore.com> | |
3847 | ||
3848 | * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb, | |
3849 | a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb, | |
3850 | a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb, | |
3851 | a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the | |
3852 | word "then" where "than" should be used in English. | |
3853 | ||
75f7f24d | 3854 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
3855 | ||
3856 | * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas. | |
3857 | ||
3858 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
3859 | ||
3860 | * s-finroo.ads: Remove with clause for | |
3861 | Ada.Streams. Type Root_Controlled is now abstract tagged null | |
3862 | record. Remove internal package Stream_Attributes. Root_Controlled | |
3863 | doesn't need stream attribute redeclaration and avoids the | |
3864 | dependency on streams. | |
3865 | ||
3866 | 2012-04-26 Tristan Gingold <gingold@adacore.com> | |
3867 | ||
3868 | * adaint.c (to_host_path_spec): Removed (unused). | |
3869 | Minor reformatting. | |
3870 | ||
3871 | 2012-04-26 Steve Baird <baird@adacore.com> | |
3872 | ||
3873 | * gnat_rm.texi Improve description of Valid_Scalars attribute. | |
3874 | ||
3875 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
3876 | ||
3877 | * sem_ch6.adb (Can_Override_Operator): If the formal is a | |
3878 | generic type the operator cannot be overriding. | |
3879 | ||
3880 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
3881 | ||
3882 | * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type | |
3883 | is declared in a package specification, and current unit is the | |
3884 | corresponding package body. The use clauses themselves may be | |
3885 | within a nested package. | |
3886 | ||
3887 | 2012-04-26 Bob Duff <duff@adacore.com> | |
3888 | ||
3889 | * exp_ch2.adb (Param_Entity): Take into account the case where | |
3890 | the type of the entry parameter has a representation clause. | |
3891 | ||
a9469533 | 3892 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> |
3893 | ||
3894 | * gnat_ugn.texi: Tweak dimensionality doc. | |
3895 | ||
3896 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
3897 | ||
3898 | * sem_eval.adb: Minor reformatting. | |
3899 | ||
0a4dc67b | 3900 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
3901 | ||
3902 | * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb, | |
3903 | sem_eval.adb: Minor reformatting. | |
3904 | ||
3905 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
3906 | ||
3907 | * freeze.adb: Minor change in error wording. | |
3908 | ||
3909 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
3910 | ||
3911 | * gnat_ugn.texi: Documentation on dimensional analysis. | |
3912 | ||
3913 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
3914 | ||
3915 | * einfo.adb, einfo.ads: Remove synthesized attribute | |
3916 | Proper_First_Index along with its associations in various nodes. | |
3917 | (Proper_First_Index): Removed. | |
3918 | * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new | |
3919 | local variable Index_Type. The index type of a string literal | |
3920 | subtype is that of the stored low bound. | |
3921 | * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index. | |
3922 | * sem_res.adb (Resolve_Slice): Alphabetize constants. Add | |
3923 | new local variable Index_Type. The index type of a | |
3924 | string literal subtype is that of the stored low bound. | |
3925 | (Set_String_Literal_Subtype): Code reformatting. | |
3926 | ||
cae6218b | 3927 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
3928 | ||
3929 | * exp_aggr.adb: Minor reformatting. | |
3930 | ||
3931 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
3932 | ||
3933 | * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to | |
3934 | Requires_Cleanup_Actions. | |
3935 | * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean; | |
3936 | Boolean)): Rename formal parameter For_Package to Lib_Level to | |
3937 | better reflect its purpose. Update the related comment and all | |
3938 | occurrences of For_Package in the body. | |
3939 | (Requires_Cleanup_Actions | |
3940 | (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add | |
3941 | local constant At_Lib_Level to keep monitor whether the path | |
3942 | taken from the top-most context to the current construct involves | |
3943 | package constructs. Update all calls to Requires_Cleanup_Actions. | |
3944 | * exp_util.ads (Requires_Cleanup_Actions): Add new formal | |
3945 | parameter Lib_Level and associated comment. | |
3946 | ||
3947 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
3948 | ||
3949 | * sem_ch6.adb (Process_Formals): If the type of the formal is | |
3950 | a non null access type, mark the generated subtype as having a | |
3951 | delayed freeze only if the designated type is not frozen yet. | |
3952 | ||
3953 | 2012-04-26 Vincent Celier <celier@adacore.com> | |
3954 | ||
3955 | * prj-attr.adb: New package Clean with attributes | |
3956 | Object_Artifact_Extensions and Source_Artifact_Extensions. | |
3957 | * prj-nmsc.adb (Process_Clean): Process new package Clean | |
3958 | * prj.ads (Language_Config): New components | |
3959 | Clean_Object_Artifacts and Clean_Source_Artifacts. | |
3960 | * snames.ads-tmpl: New standard names Clean, | |
3961 | Object_Artifact_Extensions and Source_Artifact_Extensions. | |
3962 | ||
a60794e6 | 3963 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> |
3964 | ||
3965 | * einfo.adb (Proper_First_Index): Moved from Sem_Util. | |
3966 | * einfo.ads: Add new synthesized attribute Proper_First_Index | |
3967 | along with usage in nodes. | |
3968 | (Proper_First_Index): Moved from Sem_Util. | |
3969 | * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo. | |
3970 | ||
3971 | 2012-04-26 Gary Dismukes <dismukes@adacore.com> | |
3972 | ||
3973 | * layout.adb (Layout_Component_List): Test for the case of a | |
3974 | single variant and the size of its component list was computed | |
3975 | as an integer literal, and use that size (which is in bits) | |
3976 | as is rather than converting to storage units. | |
3977 | ||
3978 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
3979 | ||
3980 | * exp_aggr.adb: Minor reformatting. | |
3981 | ||
2884c9d1 | 3982 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
3983 | ||
3984 | * sem_util.adb: Minor reformatting. | |
3985 | ||
3986 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
3987 | ||
3988 | * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference, | |
3989 | Packed_Array_Aggregate_Handled.Get_Component_Val): | |
3990 | Reverse bit numbering within PAT when Reverse_Storage_Order | |
3991 | applies to the enclosing record. | |
3992 | ||
3993 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
3994 | ||
3995 | * freeze.adb (Freeze_Record_Type): Improve error message for | |
3996 | Scalar_Storage_Order inconsistent with Bit_Order. | |
3997 | ||
f572eafb | 3998 | 2012-04-25 Gary Dismukes <dismukes@adacore.com> |
3999 | ||
4000 | * exp_ch9.adb: Add comments on the usage of the | |
4001 | lock-free data structures. | |
4002 | ||
4003 | 2012-04-25 Vincent Pucci <pucci@adacore.com> | |
4004 | ||
4005 | * exp_intr.adb (Expand_Shift): Convert the left | |
4006 | operand and the operator when the type of the call differs from | |
4007 | the type of the operator. | |
4008 | ||
4009 | 2012-04-25 Geert Bosch <bosch@adacore.com> | |
4010 | ||
4011 | * stand.ads: Minor comment fix. | |
4012 | ||
4013 | 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4014 | ||
4015 | * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix | |
4016 | is a string literal. Retrieve the first index from the base type | |
4017 | when slicing a string literal. | |
4018 | * sem_ch12.adb (Check_Private_View): Move the initialization | |
4019 | of the type inside the loop to reflect the changing index. | |
4020 | * sem_eval.adb (Eval_Relational_Op): Retrieve the first index | |
4021 | from the base type when dealing with a string literal. | |
4022 | * sem_res.adb (Resolve_Slice): Retrieve the first index from | |
4023 | the base type when slicing a string literal. | |
4024 | * sem_util.adb (Is_Internally_Generated_Renaming): New routine. | |
4025 | (Is_Object_Reference): String literals may act | |
4026 | as object references only when they are renamed internally. | |
4027 | (Proper_First_Index): New routine. | |
4028 | * sem_util.ads (Proper_First_Index): New routine. | |
4029 | ||
e12ab46d | 4030 | 2012-04-25 Robert Dewar <dewar@adacore.com> |
4031 | ||
4032 | * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb, | |
4033 | lib-xref.adb: Minor reformatting. | |
4034 | ||
4035 | 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4036 | ||
4037 | * exp_ch9.adb: Rename Lock_Free_Sub_Type | |
4038 | to Lock_Free_Subprogram. Remove type Subprogram_Id. | |
4039 | Rename LF_Sub_Table to Lock_Free_Subprogram_Table. | |
4040 | (Allow_Lock_Free_Implementation): Renamed to | |
4041 | Allows_Lock_Free_Implementation. Update the comment on | |
4042 | lock-free restrictions. Code clean up and restructuring. | |
4043 | (Build_Lock_Free_Protected_Subprogram_Body): Update the | |
4044 | profile and related comments. Code clean up and restructuring. | |
4045 | (Build_Lock_Free_Unprotected_Subprogram_Body): Update the | |
4046 | profile and related comments. Code clean up and restructuring. | |
4047 | (Comp_Of): Removed. | |
4048 | ||
841fbb5a | 4049 | 2012-04-25 Vincent Celier <celier@adacore.com> |
4050 | ||
4051 | * sem_ch12.adb (Inherit_Context): Compare library units, not | |
4052 | names of units, when checking if a unit is already in the context. | |
4053 | ||
4054 | 2012-04-25 Thomas Quinot <quinot@adacore.com> | |
4055 | ||
4056 | * sem_ch3.adb: Reverse_Storage_Order must be propagated to | |
4057 | untagged derived record types. | |
4058 | ||
4059 | 2012-04-25 Ed Schonberg <schonberg@adacore.com> | |
4060 | ||
4061 | * lib-xref.adb: Adjust position of end label. | |
4062 | ||
ff2a5ada | 4063 | 2012-04-22 Jan Hubicka <jh@suse.cz> |
4064 | ||
4065 | * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark | |
4066 | needed node. | |
4067 | ||
8efa224a | 4068 | 2012-04-20 Jan Hubicka <jh@suse.cz> |
4069 | ||
4070 | * gcc-interface/utils.c (gnat_write_global_declarations): Update for new | |
4071 | force_output placement. | |
4072 | ||
7d0d0ce1 | 4073 | 2012-04-14 Jan Hubicka <jh@suse.cz> |
4074 | ||
4075 | * gcc-interface/trans.c (finalize_nrv): Update field referenced for new | |
4076 | cgraph/varpool layout. | |
4077 | ||
e6b3ff04 | 4078 | 2012-04-09 Mike Stump <mikestump@comcast.net> |
4079 | ||
4080 | * a-assert.ads: Remove execute permission. | |
4081 | * a-chacon.ads: Likewise. | |
4082 | * a-coteio.ads: Likewise. | |
4083 | * a-envvar.ads: Likewise. | |
4084 | * a-exetim-mingw.ads: Likewise. | |
4085 | * a-fzteio.ads: Likewise. | |
4086 | * a-izteio.ads: Likewise. | |
4087 | * a-lcteio.ads: Likewise. | |
4088 | * a-llctio.ads: Likewise. | |
4089 | * a-scteio.ads: Likewise. | |
4090 | * a-suenco.ads: Likewise. | |
4091 | * a-suenst.ads: Likewise. | |
4092 | * a-suewst.ads: Likewise. | |
4093 | * a-suezst.ads: Likewise. | |
4094 | * a-tirsfi.ads: Likewise. | |
4095 | * a-wichha.ads: Likewise. | |
4096 | * a-zchara.ads: Likewise. | |
4097 | * a-zchhan.ads: Likewise. | |
4098 | * a-zchuni.ads: Likewise. | |
4099 | * a-zrstfi.ads: Likewise. | |
4100 | * aspects.ads: Likewise. | |
4101 | * g-byorma.ads: Likewise. | |
4102 | * g-decstr.ads: Likewise. | |
4103 | * g-encstr.ads: Likewise. | |
4104 | * g-spchge.ads: Likewise. | |
4105 | * g-u3spch.ads: Likewise. | |
4106 | * g-wispch.ads: Likewise. | |
4107 | * g-zspche.ads: Likewise. | |
4108 | * namet-sp.ads: Likewise. | |
4109 | * s-os_lib.ads: Likewise. | |
4110 | * s-regexp.ads: Likewise. | |
4111 | * s-regpat.ads: Likewise. | |
4112 | * s-string.ads: Likewise. | |
4113 | * s-tasloc.ads: Likewise. | |
4114 | * s-utf_32.ads: Likewise. | |
4115 | * sem_aux.ads: Likewise. | |
4116 | * a-assert.adb: Likewise. | |
4117 | * a-chacon.adb: Likewise. | |
4118 | * a-envvar.adb: Likewise. | |
4119 | * a-exetim-mingw.adb: Likewise. | |
4120 | * a-suenco.adb: Likewise. | |
4121 | * a-suenst.adb: Likewise. | |
4122 | * a-suewst.adb: Likewise. | |
4123 | * a-suezst.adb: Likewise. | |
4124 | * a-tirsfi.adb: Likewise. | |
4125 | * a-wichha.adb: Likewise. | |
4126 | * a-zchhan.adb: Likewise. | |
4127 | * a-zchuni.adb: Likewise. | |
4128 | * a-zrstfi.adb: Likewise. | |
4129 | * aspects.adb: Likewise. | |
4130 | * g-byorma.adb: Likewise. | |
4131 | * g-decstr.adb: Likewise. | |
4132 | * g-encstr.adb: Likewise. | |
4133 | * g-spchge.adb: Likewise. | |
4134 | * g-u3spch.adb: Likewise. | |
4135 | * g-wispch.adb: Likewise. | |
4136 | * g-zspche.adb: Likewise. | |
4137 | * namet-sp.adb: Likewise. | |
4138 | * s-except.adb: Likewise. | |
4139 | * s-inmaop-vxworks.adb: Likewise. | |
4140 | * s-os_lib.adb: Likewise. | |
4141 | * s-regexp.adb: Likewise. | |
4142 | * s-regpat.adb: Likewise. | |
4143 | * s-string.adb: Likewise. | |
4144 | * s-tasloc.adb: Likewise. | |
4145 | * s-utf_32.adb: Likewise. | |
4146 | * s-wchcon.adb: Likewise. | |
4147 | * sem_aux.adb: Likewise. | |
4148 | ||
2a9b01cb | 4149 | 2012-04-02 Robert Dewar <dewar@adacore.com> |
4150 | ||
4151 | * s-atopri.ads: Minor reformatting. | |
4152 | ||
4153 | 2012-04-02 Thomas Quinot <quinot@adacore.com> | |
4154 | ||
4155 | * sem_util.adb: Minor reformatting, minor code cleanup. | |
4156 | ||
4157 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
4158 | ||
4159 | * lib-xref.adb (Generate_Reference): For a reference to an | |
4160 | operator symbol, set the sloc to point to the first character | |
4161 | of the operator name, and not to the initial quaote. | |
4162 | (Output_References): Ditto for the definition of an operator | |
4163 | symbol. | |
4164 | ||
4165 | 2012-04-02 Vincent Celier <celier@adacore.com> | |
4166 | ||
4167 | * ali.adb (Scan_Ali): Recognize Z lines. Set | |
4168 | Implicit_With_From_Instantiation to True in the With_Record for | |
4169 | Z lines. | |
4170 | * ali.ads (With_Record): New Boolean component | |
4171 | Implicit_With_From_Instantiation, defaulted to False. | |
4172 | * csinfo.adb: Indicate that Implicit_With_From_Instantiation | |
4173 | is special | |
4174 | * lib-writ.adb (Write_ALI): New array Implicit_With. | |
4175 | (Collect_Withs): Set Implicit_With for the unit is it is not Yes. | |
4176 | (Write_With_Lines): Write a Z line instead of a W line if | |
4177 | Implicit_With is Yes for the unit. | |
4178 | * sem_ch12.adb (Inherit_Context): Only add a unit in the context | |
4179 | if it is not there yet. | |
4180 | * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12) | |
4181 | added. | |
4182 | ||
7a19298b | 4183 | 2012-04-02 Yannick Moy <moy@adacore.com> |
4184 | ||
4185 | * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library | |
4186 | search dirs in file specified with option -gnateO. | |
4187 | ||
4188 | 2012-04-02 Robert Dewar <dewar@adacore.com> | |
4189 | ||
4190 | * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor | |
4191 | reformatting. | |
4192 | ||
4193 | 2012-04-02 Olivier Hainque <hainque@adacore.com> | |
4194 | ||
4195 | * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of | |
4196 | platforms where the use of this spec is supported. Add current | |
4197 | year to the copyright notice. | |
4198 | * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to | |
4199 | EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support | |
4200 | it and where they were missing (x86-solaris, x86-freebsd, | |
4201 | x86_64-freebsd, and x86-darwin). | |
4202 | ||
4203 | 2012-04-02 Gary Dismukes <dismukes@adacore.com> | |
4204 | ||
4205 | * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small | |
4206 | library, where we no longer suppress the Standard_Library, | |
4207 | generate an empty body rather than the usual generation of | |
4208 | assignments to imported globals, since those aren't present in | |
4209 | the small library. | |
4210 | ||
4211 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
4212 | ||
4213 | * sinfo.ads: Minor documentation fix. | |
4214 | ||
4215 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
4216 | ||
4217 | * sem_res.adb (Resolve_Conditional_Expression): Add local variables | |
4218 | Else_Typ and Then_Typ. Add missing type conversions to the "then" and | |
4219 | "else" expressions when their respective types are scalar. | |
4220 | ||
4221 | 2012-04-02 Vincent Pucci <pucci@adacore.com> | |
4222 | ||
4223 | * exp_ch9.adb: Reordering of the local subprograms. New Table | |
4224 | for the lock free implementation that maps each protected | |
4225 | subprograms with the protected component it references. | |
4226 | (Allow_Lock_Free_Implementation): New routine. Check if | |
4227 | the protected body enables the lock free implementation. | |
4228 | (Build_Lock_Free_Protected_Subprogram_Body): New routine. | |
4229 | (Build_Lock_Free_Unprotected_Subprogram_Body): New routine. | |
4230 | (Comp_Of): New routine. | |
4231 | * Makefile.rtl: Add s-atopri.o | |
4232 | * debug.adb: New compiler debug flag -gnatd9 for lock free | |
4233 | implementation. | |
4234 | * rtsfind.ads: RE_Atomic_Compare_Exchange_8, | |
4235 | RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, | |
4236 | RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, | |
4237 | RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8, | |
4238 | RE_Uint16, RE_Uint32, RE_Uint64 added. | |
4239 | * s-atropi.ads: New file. Defines atomic primitives used | |
4240 | by the lock free implementation. | |
4241 | ||
0baac39e | 4242 | 2012-04-02 Emmanuel Briot <briot@adacore.com> |
4243 | ||
4244 | * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor. | |
4245 | ||
4246 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
4247 | ||
4248 | * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented. | |
4249 | The expansion no longer uses the copy of the original QE created | |
4250 | during analysis. | |
4251 | * sem.adb (Analyze): Add processing for loop parameter specifications. | |
4252 | * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The | |
4253 | routine no longer creates a copy of the original QE. All | |
4254 | constituents of a QE are now preanalyzed and resolved. | |
4255 | * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which | |
4256 | bypasses all processing when the iteration scheme is related to a | |
4257 | QE. Relovate the code which analyzes loop parameter specifications | |
4258 | to a separate routine. (Analyze_Iterator_Specification): | |
4259 | Preanalyze the iterator name. This action was originally | |
4260 | done in Analyze_Iteration_Scheme. Update the check which | |
4261 | detects an iterator specification in the context of a QE. | |
4262 | (Analyze_Loop_Parameter_Specification): New routine. This | |
4263 | procedure allows for a stand-alone analysis of a loop parameter | |
4264 | specification without the need of a parent iteration scheme. Add | |
4265 | code to update the type of the loop variable when the range | |
4266 | generates an itype and the context is a QE. | |
4267 | (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references | |
4268 | to the routine. | |
4269 | * sem_ch5.ads: Code reformatting. | |
4270 | (Analyze_Loop_Parameter_Specification): New routine. | |
4271 | * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case | |
4272 | when establishing conformance between two QEs utilizing different | |
4273 | specifications. | |
4274 | * sem_res.adb (Proper_Current_Scope): New routine. | |
4275 | (Resolve): Do not resolve a QE as there is nothing to be done now. | |
4276 | Ignore any loop scopes generated for QEs when detecting an expression | |
4277 | function as the scopes are cosmetic and do not appear in the tree. | |
4278 | (Resolve_Quantified_Expression): Removed. All resolution of | |
4279 | QE constituents is now performed during analysis. This ensures | |
4280 | that loop variables appearing in array aggregates are properly | |
4281 | resolved. | |
4282 | ||
4283 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
4284 | ||
4285 | * sem_util.adb (Build_Default_Subtype): If the base type is | |
4286 | private and its full view is available, use the full view in | |
4287 | the subtype declaration. | |
4288 | ||
d94b1a63 | 4289 | 2012-04-02 Jose Ruiz <ruiz@adacore.com> |
4290 | ||
4291 | * gnat_ugn.texi: Add some minimal documentation about how to | |
4292 | use GNATtest for cross platforms. | |
4293 | ||
4294 | 2012-04-02 Vincent Celier <celier@adacore.com> | |
4295 | ||
4296 | * opt.ads (Object_Path_File_Name): New variable. | |
4297 | * prj-attr.adb: New Compiler attribute Object_Path_Switches. | |
4298 | * prj-nmsc.adb (Process_Compiler): Recognize new attribute | |
4299 | Object_Path_Switches. | |
4300 | * snames.ads-tmpl: New standard name Object_Path_Switches. | |
4301 | * switch-c.adb (Scan_Front_End_Switches): Recognize new switch | |
4302 | -gnateO= and put its value in Opt.Object_Path_File_Name. | |
4303 | ||
849f127a | 4304 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> |
4305 | ||
4306 | * exp_ch7.adb (Process_Declarations): Detect a case where | |
4307 | a source object was initialized by another source object, | |
4308 | but the expression was rewritten as a class-wide conversion | |
4309 | of Ada.Tags.Displace. | |
4310 | * exp_util.adb (Initialized_By_Ctrl_Function): Removed. | |
4311 | (Is_Controlled_Function_Call): New routine. | |
4312 | (Is_Displacement_Of_Ctrl_Function_Result): Removed. | |
4313 | (Is_Displacement_Of_Object_Or_Function_Result): New routine. | |
4314 | (Is_Source_Object): New routine. | |
4315 | (Requires_Cleanup_Actions): Detect a case where a source object was | |
4316 | initialized by another source object, but the expression was rewritten | |
4317 | as a class-wide conversion of Ada.Tags.Displace. | |
4318 | * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed. | |
4319 | (Is_Displacement_Of_Object_Or_Function_Result): New routine. | |
4320 | ||
4321 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
4322 | ||
4323 | * sem_res.adb (Resolve_Call): A call to an expression function | |
4324 | does not freeze if it appears in a different scope from the | |
4325 | expression function itself. Such calls appear in the generated | |
4326 | bodies of other expression functions, or in pre/postconditions | |
4327 | of subsequent subprograms. | |
4328 | ||
98564bfc | 4329 | 2012-04-02 Yannick Moy <moy@adacore.com> |
4330 | ||
4331 | * lib-xref-alfa.adb: Code clean up. | |
4332 | ||
4333 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
4334 | ||
4335 | * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress | |
4336 | style checks, because the subprogram instance itself may contain | |
4337 | violations of syle rules. | |
4338 | * style.adb (Missing_Overriding): Check for missing overriding | |
4339 | indicator on a subprogram instance. | |
4340 | ||
4341 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
4342 | ||
4343 | * sem_ch6.adb (Last_Implicit_Declaration): New routine. | |
4344 | (Process_PPCs): Insert the body of _postconditions after the | |
4345 | last internally generated declaration. This ensures that actual | |
4346 | subtypes created for formal parameters are visible and properly | |
4347 | frozen as _postconditions may reference them. | |
4348 | ||
d52c146a | 4349 | 2012-04-02 Robert Dewar <dewar@adacore.com> |
4350 | ||
4351 | * einfo.adb (First_Component_Or_Discriminant) Now applies to | |
4352 | all types with discriminants, not just records. | |
4353 | * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling | |
4354 | for arrays, scalars and non-variant records. | |
4355 | * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars | |
4356 | * sem_attr.ads (Valid_Scalars): Update description | |
4357 | * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function. | |
4358 | ||
af403aef | 4359 | 2012-03-31 Eric Botcazou <ebotcazou@adacore.com> |
4360 | ||
4361 | Revert | |
4362 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> | |
4363 | ||
4364 | * gcc-interface/decl.c (SS_MARK_NAME): New define. | |
4365 | (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities | |
4366 | whose name is SS_MARK_NAME. | |
4367 | ||
d5be9f38 | 4368 | 2012-03-30 Robert Dewar <dewar@adacore.com> |
4369 | ||
4370 | * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates. | |
4371 | ||
4372 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
4373 | ||
4374 | * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same | |
4375 | time, putting all scopes in the same Alfa file. | |
4376 | (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value | |
4377 | of Def component. | |
4378 | (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File. | |
4379 | ||
81dd521a | 4380 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> |
4381 | ||
4382 | * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where | |
4383 | a build-in-place call appears as Prefix'Reference'Reference. | |
4384 | ||
4385 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
4386 | ||
4387 | * lib-xref-alfa.adb: Minor refactoring to remove internal package. | |
4388 | ||
4389 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> | |
4390 | ||
4391 | * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype | |
4392 | definition of a loop when the context is a quantified expression. | |
4393 | ||
4394 | 2012-03-30 Vincent Celier <celier@adacore.com> | |
4395 | ||
4396 | * prj.ads: Minor comment update. | |
4397 | ||
8b22ebf6 | 4398 | 2012-03-30 Yannick Moy <moy@adacore.com> |
4399 | ||
4400 | * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of | |
4401 | comments and refactoring. | |
4402 | ||
6ab9aa28 | 4403 | 2012-03-30 Robert Dewar <dewar@adacore.com> |
4404 | ||
4405 | * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code | |
4406 | reorganization. | |
4407 | ||
96b0dd1e | 4408 | 2012-03-30 Yannick Moy <moy@adacore.com> |
4409 | ||
4410 | * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit | |
4411 | instead of Get_Source_Unit to get file for reference. | |
4412 | (Traverse_Compilation_Unit): Do not add scopes for generic units. | |
4413 | * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead | |
4414 | of Get_Source_Unit to get file for reference. | |
4415 | * sem_ch12.adb (Analyze_Package_Instantiation): Enable | |
4416 | instantiation in Alfa mode. | |
4417 | ||
14980c45 | 4418 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> |
4419 | ||
4420 | * exp_ch7.adb (Process_Declarations): Replace | |
4421 | the call to Is_Null_Access_BIP_Func_Call with | |
4422 | Is_Secondary_Stack_BIP_Func_Call. Update the related comment. | |
4423 | * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed. | |
4424 | (Is_Secondary_Stack_BIP_Func_Call): New routine. | |
4425 | (Requires_Cleanup_Actions): Replace | |
4426 | the call to Is_Null_Access_BIP_Func_Call with | |
4427 | Is_Secondary_Stack_BIP_Func_Call. Update the related comment. | |
4428 | * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed. | |
4429 | (Is_Secondary_Stack_BIP_Func_Call): New routine. | |
4430 | ||
4431 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
4432 | ||
4433 | * lib-xref-alfa.adb, lib-xref.adb: Code clean ups. | |
4434 | ||
b4d9f546 | 4435 | 2012-03-30 Gary Dismukes <dismukes@adacore.com> |
4436 | ||
4437 | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a | |
4438 | loop entity which is rewritten as a renaming | |
4439 | of the indexed array, explicitly mark the entity as needing | |
4440 | debug info so that Materialize entity will be set later by | |
4441 | Debug_Renaming_Declaration when the renaming is expanded. | |
4442 | ||
4443 | 2012-03-30 Robert Dewar <dewar@adacore.com> | |
4444 | ||
4445 | * sem_attr.ads: Update comment. | |
4446 | ||
d0d085af | 4447 | 2012-03-30 Vincent Celier <celier@adacore.com> |
4448 | ||
4449 | * prj.ads: New Dependency_Kind: ALI_Closure. | |
4450 | ||
4451 | 2012-03-30 Thomas Quinot <quinot@adacore.com> | |
4452 | ||
4453 | * exp_pakd.adb: Minor reformatting. | |
4454 | ||
00a8e50e | 4455 | 2012-03-30 Yannick Moy <moy@adacore.com> |
4456 | ||
4457 | * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence | |
4458 | of compilation unit for unit in Sdep_Table. | |
4459 | ||
9f071888 | 4460 | 2012-03-30 Thomas Quinot <quinot@adacore.com> |
4461 | ||
4462 | * freeze.adb (Freeze_Record_Type): For a type with reversed bit | |
4463 | order and reversed storage order, disable front-end relayout. | |
4464 | ||
db056468 | 4465 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
4466 | ||
4467 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy | |
4468 | the TYPE_PACKED flag from the base type. | |
4469 | ||
3a4b0b99 | 4470 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
4471 | ||
4472 | * gcc-interface/decl.c (SS_MARK_NAME): New define. | |
4473 | (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities | |
4474 | whose name is SS_MARK_NAME. | |
4475 | ||
ae16f71d | 4476 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
4477 | ||
4478 | * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a | |
4479 | DECL and adjust. Move around. | |
4480 | (has_parallel_type): New predicate. | |
4481 | (rest_of_record_type_compilation): Return early if the type already | |
4482 | has a parallel type. | |
4483 | * gcc-interface/gigi.h (add_parallel_type): Adjust. | |
4484 | * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes. | |
4485 | ||
96e7147a | 4486 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
4487 | ||
4488 | * gcc-interface/utils.c (finish_record_type): Return early for padded | |
4489 | types and tidy up. | |
4490 | ||
fbd95193 | 4491 | 2012-03-20 Arnaud Charlet <charlet@adacore.com> |
4492 | ||
4493 | * hlo.ads, hlo.adb: Removed, no longer used. | |
4494 | * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies. | |
4495 | * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly) | |
4496 | and compute it from EXTRA_LIBGNAT_OBJS. | |
4497 | Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS. | |
4498 | ||
0a13aca8 | 4499 | 2012-03-20 Yannick Moy <moy@adacore.com> |
4500 | ||
4501 | * gnat_rm.texi, sem_attr.ads: Update documentation. | |
4502 | ||
9b8df6be | 4503 | 2012-03-19 Yannick Moy <moy@adacore.com> |
4504 | ||
4505 | * sem_ch6.adb: Minor code clean up. | |
4506 | ||
4507 | 2012-03-19 Vincent Celier <celier@adacore.com> | |
4508 | ||
4509 | * make.adb (Scan_Make_Arg): Make sure all significant -m switches | |
4510 | on the command line are counted. | |
4511 | ||
4512 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4513 | ||
4514 | * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute | |
4515 | reference case | |
4516 | ||
4517 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4518 | ||
4519 | * par-ch4.adb (Check_Bad_Exp): New procedure | |
4520 | ||
4521 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4522 | ||
4523 | * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add | |
4524 | initial framework for Valid_Scalars attribute. | |
4525 | ||
4526 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4527 | ||
4528 | * scng.adb (Scan): Recognize incorrect preprocessor directive | |
4529 | ||
4530 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4531 | ||
4532 | * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes | |
4533 | * atree.ads (Num_Extension_Nodes): New variable | |
4534 | * debug.adb: New debug flag -gnatd.N | |
4535 | * gnat1drv.adb (Adjust_Global_Switches): Adjust | |
4536 | Num_Extension_Nodes if -gnatd.N set | |
4537 | ||
4538 | 2012-03-19 Eric Botcazou <ebotcazou@adacore.com> | |
4539 | ||
4540 | * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item | |
4541 | descriptions. | |
4542 | ||
4543 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4544 | ||
4545 | * opt.ads: Remove HLO_Active flag. | |
4546 | * sem.adb: Remove call of high level optimizer. | |
4547 | * sem.ads (New_Nodes_OK): Removed. | |
4548 | * sem_ch10.adb: Remove references to New_Nodes_OK. | |
4549 | * switch-c.adb: Remove handling of -gnatH switch. | |
4550 | ||
e6ae24fa | 4551 | 2012-03-19 Yannick Moy <moy@adacore.com> |
4552 | ||
4553 | * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings | |
4554 | on trivially True or False postconditions and Ensures components | |
4555 | of contract-cases. | |
4556 | ||
4557 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4558 | ||
4559 | * gnat_ugn.texi: Fix index entry for -gnatei (now we have | |
4560 | ug_words entry). | |
4561 | ||
eede3b44 | 4562 | 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com> |
4563 | ||
4564 | * sem_ch3.adb (Get_Discriminant_Value): Instead of looking | |
4565 | at the immediate correcponsing discriminant, traverse a | |
4566 | potential chain of discriminants produced by type derivations. | |
4567 | (Root_Corresponding_Discriminant): Traverse a chain of inherited | |
4568 | discriminants and return the topmost discriminant. | |
4569 | ||
4570 | 2012-03-19 Bob Duff <duff@adacore.com> | |
4571 | ||
4572 | * debug.adb: Minor comment change. | |
4573 | * gnat_ugn.texi: Update documentation for elaboration regarding | |
4574 | indirect calls. | |
4575 | ||
4576 | 2012-03-19 Gary Dismukes <dismukes@adacore.com> | |
4577 | ||
4578 | * exp_ch3.adb (Expand_N_Object_Declaration): In | |
4579 | the case of an object of a class-wide interface type, where the | |
4580 | declaration is rewritten as a renaming, call Set_Debug_Info_Needed | |
4581 | on the renaming entity so that Materialize_Entity will be | |
4582 | set. Also, change existing call (for other than interface cases) | |
4583 | to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info | |
4584 | (as specified for that flag). | |
4585 | ||
efe1035c | 4586 | 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com> |
4587 | ||
4588 | * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated | |
4589 | by the build-in-place machinery where the designated type is | |
4590 | indefinite, but the underlying type is not. Do not emit errors | |
4591 | related to missing initialization in this case. | |
4592 | ||
4593 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
4594 | ||
4595 | * gnat_ugn.texi: Add documentation for -gnateinnn switch. | |
4596 | * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting. | |
4597 | * sem_prag.adb: Minor comment update. | |
4598 | ||
de2e6464 | 4599 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4600 | ||
4601 | * errout.ads: Add entry for translating -gnateinn to | |
4602 | /MAX_INSTANTIATIONS for VMS. | |
4603 | * hostparm.ads (Max_Instantiations): Moved to Opt. | |
4604 | * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed. | |
4605 | * sem_ch12.adb (Maximum_Instantiations): New name of | |
4606 | Max_Instantiations (Analyze_Package_Instantiation): Change error | |
4607 | msg for too many instantiations (mention -gnateinn switch). | |
4608 | * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch. | |
4609 | * switch.ads: Minor comment update. | |
4610 | * usage.adb (Usage): Output line for -maxeinn switch. | |
4611 | * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn). | |
4612 | ||
4613 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
4614 | ||
4615 | * alfa.ads Update the decription of ALI sections. | |
4616 | (Alfa_File_Record): Add a component Unit_File_Name to store the | |
4617 | unit file name for subunits. | |
4618 | * get_alfa.adb, put_alfa.adb Adapt to the possible presence of | |
4619 | a unit file name. | |
4620 | * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the | |
4621 | file name of the unit. | |
4622 | ||
4623 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
4624 | ||
4625 | * sem_ch6.adb (Check_Subprogram_Contract): Do | |
4626 | not issue warning on missing 'Result in postcondition if all | |
4627 | postconditions and contract-cases already get a warning for only | |
4628 | referring to pre-state. | |
4629 | ||
4630 | 2012-03-15 Bob Duff <duff@adacore.com> | |
4631 | ||
4632 | * debug.adb: Add new debug switch -gnatd.U, which disables the | |
4633 | support added below, in case someone trips over a cycle, and needs | |
4634 | to disable this. | |
4635 | * sem_attr.adb (Analyze_Access_Attribute): | |
4636 | Treat Subp'Access as a call for elaboration purposes. | |
4637 | * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support | |
4638 | for Subp'Access. | |
4639 | ||
239fc533 | 4640 | 2012-03-15 Vincent Pucci <pucci@adacore.com> |
4641 | ||
4642 | * sem.ads, sem.adb (Preanalyze): New routine. | |
4643 | * sem_ch4.adb (Analyze_Quantified_Expression): Call to the | |
4644 | Preanalyze routine in Sem added. Renaming of Needs_Expansion | |
4645 | into Need_Preanalysis. | |
4646 | * sem_ch6.adb (Preanalyze): Removed. | |
4647 | ||
fc859004 | 4648 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4649 | ||
4650 | * sem_ch4.adb (Analyze_Quantified_Expression): Add comment. | |
4651 | * sem_prag.adb: Minor comment additions. | |
4652 | * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type | |
4653 | is frozen. | |
4654 | ||
ef3d7c7d | 4655 | 2012-03-15 Vincent Pucci <pucci@adacore.com> |
4656 | ||
4657 | * sem_ch4.adb (Analyze_Quantified_Expression): | |
4658 | Preanalyze the condition when the quantified expression will be | |
4659 | further expanded. | |
4660 | ||
4661 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
4662 | ||
4663 | * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb, | |
4664 | sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma, | |
4665 | to refer to both Test_Case pragma and Contract_Case pragma (same | |
4666 | acronym as in Spec_CTC_List). | |
4667 | ||
defed25d | 4668 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4669 | ||
4670 | * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb, | |
4671 | sem_warn.adb: Minor reformatting. | |
4672 | ||
469bbc18 | 4673 | 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com> |
4674 | ||
4675 | * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over | |
4676 | selector names as the function call always appears at the top selected | |
4677 | component. | |
4678 | ||
4679 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
4680 | ||
4681 | * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep | |
4682 | Mode_Conformance check for older versions of the language. | |
4683 | ||
4684 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
4685 | ||
4686 | * gnat_ugn.texi Document the extension of option -gnatw.t. | |
4687 | * sem_ch3.adb (Analyze_Declaration): Check for suspicious | |
4688 | contracts only after contract cases have been semantically | |
4689 | analyzed. | |
4690 | * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures | |
4691 | components of contract cases for detecting suspicious contracts. | |
4692 | ||
fad014fe | 4693 | 2012-03-15 Yannick Moy <moy@adacore.com> |
4694 | ||
4695 | * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect | |
4696 | Aspect_Contract_Case. | |
4697 | * gnat_rm.texi Document the new pragma/aspect | |
4698 | Contract_Case. Correct the documentation of the existing | |
4699 | pragma/aspect Test_Case with the new semantics. | |
4700 | * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the | |
4701 | Ensures component of a Contract_Case pragma. | |
4702 | * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect | |
4703 | and translate it into a pragma. | |
4704 | (Check_Aspect_At_Freeze_Point): Take into account the new aspect. | |
4705 | * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case) | |
4706 | into CTC (for contract and test case). | |
4707 | * sem_ch6.adb (Process_PPCs): Generate Check pragmas from | |
4708 | Contract_Case pragmas, similarly to what is done already for | |
4709 | postconditions. | |
4710 | * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case): | |
4711 | Renaming of Check_Test_Case. | |
4712 | (Analyze_Pragma, Sig_Flags): Take into account the new pragma. | |
4713 | * sem_util.adb, sem_util.ads Renaming to take into account the | |
4714 | new pragma, so that functions which applied only to Test_Case | |
4715 | now apply to both Test_Case and Contract_Case. | |
4716 | * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account | |
4717 | the new pragma. | |
4718 | ||
3b8208fd | 4719 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4720 | ||
4721 | * sem_ch6.ads: Minor comment updates. | |
4722 | * sem_ch12.adb: Minor comment clarification. | |
4723 | ||
ad3ac5aa | 4724 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4725 | ||
4726 | * sem_ch5.adb: Minor reformatting. | |
4727 | ||
4728 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
4729 | ||
4730 | * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the | |
4731 | declaration of a class-wide object, retain the Ekind to prevent | |
4732 | subsequent misuse of constants. | |
4733 | ||
4734 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
4735 | ||
4736 | * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant | |
4737 | terminology. | |
4738 | ||
4739 | 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com> | |
4740 | ||
4741 | * exp_util.adb (Initialized_By_Ctrl_Function): Add code to | |
4742 | process the case when a function call appears in object.operation | |
4743 | format. | |
4744 | ||
4745 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
4746 | ||
4747 | * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add | |
4748 | Get_Inst formal, so that conformance within an instantiation | |
4749 | follows renamings of formals. This is similar to what is already | |
4750 | done in Check_Mode_conformant. | |
4751 | * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that | |
4752 | formal and actual are subtype conformant. Previously only mode | |
4753 | conformance was required. | |
4754 | ||
1b24a6cb | 4755 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
4756 | ||
4757 | * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads, | |
4758 | sem_case.adb: Minor reformatting. | |
4759 | ||
4760 | 2012-03-15 Robert Dewar <dewar@adacore.com> | |
4761 | ||
4762 | * exp_attr.adb (Expand_N_Attribute_Reference): Add handling | |
4763 | of First_Valid/Last_Valid. | |
4764 | * sem_attr.adb (Check_First_Last_Valid): New procedure | |
4765 | (Analyze_Attribute): Add handling of First_Valid and Last_Valid | |
4766 | (Eval_Attribute): ditto. | |
4767 | * snames.ads-tmpl: Add entries for First_Valid and Last_Valid. | |
4768 | ||
4769 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
4770 | ||
4771 | * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on | |
4772 | loop variable, for the unusual case where the range has a single | |
4773 | element and the loop variable has no visible assignment to it. | |
4774 | ||
4775 | 2012-03-15 Vincent Pucci <pucci@adacore.com> | |
4776 | ||
4777 | * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the | |
4778 | original quantified expression node. | |
4779 | * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze | |
4780 | the quantified expression and preserve the original non-analyzed | |
4781 | quantified expression when an expansion is needed. | |
4782 | * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment | |
4783 | for quantified expressions. | |
4784 | (Analyze_Iterator_Specification): Special treatment for quantified | |
4785 | expressions. | |
4786 | ||
4787 | 2012-03-15 Ed Falis <falis@adacore.com> | |
4788 | ||
4789 | * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad | |
4790 | field matches VxWorks headers. | |
4791 | ||
5641963c | 4792 | 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
4793 | ||
4794 | * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove. | |
4795 | ||
4796 | * a-intnam-irix.ads, mlib-tgt-specific-irix.adb, | |
4797 | s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb, | |
4798 | s-osinte-irix.ads, s-proinf-irix-athread.adb, | |
4799 | s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads, | |
4800 | system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads: | |
4801 | Remove. | |
4802 | ||
4803 | * adaint.c [__mips && __sgi]: Remove. | |
4804 | (__gnat_number_of_cpus) [__mips && __sgi]: Remove. | |
4805 | [IS_CROSS && !(__mips && __sgi)]: Remove. | |
4806 | * adaint.h [sgi && _LFAPI]: Remove. | |
4807 | * cstreams.c (__gnat_full_name) [sgi]: Remove. | |
4808 | * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove. | |
4809 | (__gnat_clearenv) [__mips && __sgi]: Remove. | |
4810 | * errno.c (_SGI_MP_SOURCE): Remove. | |
4811 | * gsocket.h [sgi]: Remove. | |
4812 | * init.c: Remove IRIX reference. | |
4813 | [sgi]: Remove. | |
4814 | * link.c [sgi]: Remove. | |
4815 | * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define. | |
4816 | (main) [__mips && __sgi] (MAX_tv_sec): Don't define. | |
4817 | (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove. | |
4818 | * sysdep.c [sgi]: Remove. | |
4819 | (getc_immediate_common) [sgi]: Remove. | |
4820 | (__gnat_localtime_tzoff) [sgi]: Remove. | |
4821 | * terminals.c [__mips && __sgi] (IRIX): Don't define. | |
4822 | [IRIX] (USE_GETPTY): Don't define. | |
4823 | (allocate_pty_desc) [USE_GETPTY]: Remove. | |
4824 | ||
4825 | * g-traceb.ads: Remove IRIX reference. | |
4826 | * g-trasym.ads: Likewise. | |
4827 | * memtrack.adb: Likewise. | |
4828 | * s-interr-sigaction.adb: Likewise. | |
4829 | ||
4830 | * gnat_rm.texi (Implementation Advice): Remove SGI info. | |
4831 | (Implementation Defined Characteristics): Likewise. | |
4832 | * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix): | |
4833 | Remove. | |
4834 | (Irix-Specific Considerations): Remove. | |
4835 | ||
cb30e799 | 4836 | 2012-03-13 Tristan Gingold <gingold@adacore.com> |
4837 | ||
4838 | * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition. | |
4839 | ||
1e958bb8 | 4840 | 2012-03-13 Tristan Gingold <gingold@adacore.com> |
4841 | ||
4842 | * sysdep.c: Adjust condition after removal of __osf__. | |
4843 | ||
dd0cd1e4 | 4844 | 2012-03-12 Eric Botcazou <ebotcazou@adacore.com> |
4845 | ||
4846 | * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill. | |
4847 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call | |
4848 | to above function. | |
4849 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust | |
4850 | handling of thin pointers. | |
4851 | <Attr_Descriptor_Size>: Likewise. | |
4852 | (gnat_to_gnu) <N_Free_Statement>: Likewise. | |
4853 | * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill. | |
4854 | (convert_to_fat_pointer): Adjust handling of thin pointers. | |
4855 | (convert) <POINTER_TYPE>: Likewise. | |
4856 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise. | |
4857 | ||
126b6848 | 4858 | 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
4859 | ||
4860 | * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove. | |
4861 | * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb, | |
4862 | s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads, | |
4863 | s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads, | |
4864 | system-tru64.ads: Remove. | |
4865 | ||
4866 | * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]: | |
4867 | Remove. | |
4868 | [IS_CROSS] [!(__alpha__ && __osf__)]: Remove. | |
4869 | * env.c [__alpha__ && __osf__]: Remove. | |
4870 | * gsocket.h (_OSF_SOURCE): Remove. | |
4871 | (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove. | |
4872 | * init.c [__alpha__ && __osf__]: Remove. | |
4873 | * link.c [__osf__]: Remove. | |
4874 | * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove. | |
4875 | [__osf__ && !_SS_MAXSIZE]: Remove. | |
4876 | * sysdep.c [__osf__]: Remove. | |
4877 | * terminals.c [__alpha__ && __osf__]: Remove. | |
4878 | [OSF1]: Remove. | |
4879 | ||
4880 | * g-traceb.ads: Remove Tru64 reference. | |
4881 | * g-trasym.ads: Likewise. | |
4882 | * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise. | |
4883 | (Summary of Run-Time Configurations): Likewise. | |
4884 | * memtrack.adb: Likewise. | |
4885 | ||
8f852c44 | 4886 | 2012-03-12 Tristan Gingold <gingold@adacore.com> |
4887 | ||
4888 | * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64 | |
4889 | instead of TARGET_MALLOC64. | |
4890 | * gcc-interface/gigi.h (flag_vms_malloc64): Define instead | |
4891 | of TARGET_MALLOC64. | |
4892 | ||
1b989431 | 4893 | 2012-03-09 Robert Dewar <dewar@adacore.com> |
4894 | ||
4895 | * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting. | |
4896 | ||
4897 | 2012-03-09 Arnaud Charlet <charlet@adacore.com> | |
4898 | ||
4899 | * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to | |
4900 | 0 so that we never access this field uninitialized (e.g. in | |
4901 | Task_Primitives.Operations.Enter_Task for the environment task). | |
4902 | ||
4903 | 2012-03-09 Vincent Pucci <pucci@adacore.com> | |
4904 | ||
4905 | * exp_ch5.adb (Expand_Iterator_Loop): | |
4906 | Call to Expand_Iterator_Loop_Over_Array added. | |
4907 | (Expand_Iterator_Loop_Over_Array): New routine. Expansion of | |
4908 | "of" iterator loop over arrays. Multidimensional array case added. | |
4909 | ||
4910 | 2012-03-09 Eric Botcazou <ebotcazou@adacore.com> | |
4911 | ||
4912 | * uintp.ads: Fix minor pasto in comment. | |
4913 | ||
b7b74740 | 4914 | 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com> |
4915 | ||
4916 | * a-direct.adb: Do not strip the trailing directory separator | |
4917 | from path, as this is already done inside Normalize_Pathname; | |
4918 | doing it again produces the wrong result on Windows for the | |
4919 | drive's root dir (i.e. "X:\" becomes "X:"). | |
4920 | ||
4921 | 2012-03-09 Thomas Quinot <quinot@adacore.com> | |
4922 | ||
4923 | * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads, | |
4924 | sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference): | |
4925 | Add Attribute_Scalar_Storage_Order. | |
4926 | (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto. | |
4927 | (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add | |
4928 | Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order. | |
4929 | (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing | |
4930 | for Scalar_Storage_Order. | |
4931 | (Freeze): If Scalar_Storage_Order is specified, check that it | |
4932 | is compatible with Bit_Order. | |
4933 | ||
385d80fe | 4934 | 2012-03-09 Robert Dewar <dewar@adacore.com> |
4935 | ||
4936 | * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb, | |
4937 | a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb, | |
4938 | a-stzsup.ads: Minor reformatting. | |
4939 | ||
4940 | 2012-03-09 Thomas Quinot <quinot@adacore.com> | |
4941 | ||
4942 | * s-ransee-vms.adb: Minor reformatting. | |
4943 | ||
4944 | 2012-03-09 Arnaud Charlet <charlet@adacore.com> | |
4945 | ||
4946 | * comperr.adb (Delete_SCIL_Files): Fix handling of | |
4947 | N_Package_Renaming_Declaration and N_Generic_Package_Declaration. | |
4948 | ||
2608e824 | 4949 | 2012-03-09 Javier Miranda <miranda@adacore.com> |
4950 | ||
4951 | * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets | |
4952 | use frontend inlining at all optimization levels. | |
4953 | * sem_util.adb (Must_Inline): In AAMP and VM targets, given that | |
4954 | there is no inlining support in the backend, use also frontend | |
4955 | inlining when compiling with optimizations enabled. | |
4956 | * exp_ch6.adb (Expand_Call): Minor code reorganization. | |
4957 | ||
7b4b0e11 | 4958 | 2012-03-09 Eric Botcazou <ebotcazou@adacore.com> |
4959 | ||
4960 | * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around. | |
4961 | (TYPE_UNCONSTRAINED_ARRAY): Adjust comment. | |
4962 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy | |
4963 | up. Add comment and use canonical predicate for thin pointers. | |
4964 | (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment | |
4965 | and use canonical predicate for thin pointers. | |
4966 | * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous | |
4967 | 'else' and use standard name. | |
4968 | (convert_to_thin_pointer): Delete. | |
4969 | (convert) <POINTER_TYPE>: Do the difference in sizetype directly and | |
4970 | change obsolete idioms. Do not call above function. | |
4971 | (unchecked_convert): Fix formatting. | |
4972 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin | |
4973 | pointer case, use byte_position to get the field position. | |
4974 | ||
a9e7ff04 | 4975 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
4976 | ||
4977 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the | |
4978 | DECL node built for a type which has a non-trivial equivalent type. | |
4979 | ||
3fb9f0d4 | 4980 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
4981 | ||
4982 | * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete. | |
4983 | * gcc-interface/decl.c (defer_finalize_level): Likewise. | |
4984 | (defer_finalize_list): Likewise. | |
4985 | (gnat_to_gnu_entity): Delete references to above variables and do not | |
4986 | call rest_of_type_decl_compilation. | |
4987 | (rest_of_type_decl_compilation): Delete. | |
4988 | (rest_of_type_decl_compilation_no_defer): Likewise. | |
4989 | * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call | |
4990 | rest_of_type_decl_compilation. | |
4991 | (create_type_decl): Likewise. | |
4992 | (update_pointer_to): Likewise. | |
4993 | ||
97995ac1 | 4994 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
4995 | ||
4996 | * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer. | |
4997 | (add_decl_expr): Mark external DECLs as used. | |
4998 | * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector. | |
4999 | ||
4e2b92f6 | 5000 | 2012-03-07 Tristan Gingold <gingold@adacore.com> |
5001 | ||
5002 | * s-ransee-vms.adb: New file. | |
5003 | * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS. | |
5004 | * gcc-interface/Make-lang.in: Update dependencies. | |
5005 | ||
de4993fc | 5006 | 2012-03-07 Bob Duff <duff@adacore.com> |
5007 | ||
5008 | * rtsfind.ads: Add support for finding Super_String types. | |
5009 | * sem_util.ads, sem_util.adb (Is_Bounded_String): New function | |
5010 | to determine whether a given type is a bounded string type. | |
5011 | (Is_Fully_Initialized_Type): Return True for bounded | |
5012 | string types, to suppress bogus warnings. | |
5013 | * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded | |
5014 | strings: equality composes. This allows us to remove default values in | |
5015 | super strings. | |
5016 | * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments. | |
5017 | * exp_ch3.adb (Expand_Freeze_Record_Type): Comment. | |
5018 | ||
019bce56 | 5019 | 2012-03-07 Robert Dewar <dewar@adacore.com> |
5020 | ||
5021 | * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor | |
5022 | reformatting. | |
5023 | ||
5024 | 2012-03-07 Sergey Rybin <rybin@adacore.com frybin> | |
5025 | ||
5026 | * gnat_ugn.texi: gnatpp: fix paragraph about sources with | |
5027 | preprocessor directives. | |
5028 | ||
5029 | 2012-03-07 Arnaud Charlet <charlet@adacore.com> | |
5030 | ||
5031 | * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function. | |
5032 | (Enter_Task): Call prctl when relevant. | |
5033 | ||
5034 | 2012-03-07 Tristan Gingold <gingold@adacore.com> | |
5035 | ||
5036 | * s-osinte-vms.ads: pthread_mutex_setname_np: new function. | |
5037 | ||
50cab70b | 5038 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> |
5039 | ||
5040 | * sem_ch6.adb (Process_Formals): a generic subprogram with | |
5041 | a formal incomplete type does not require a freeze node. | |
5042 | ||
5043 | 2012-03-07 Bob Duff <duff@adacore.com> | |
5044 | ||
5045 | * sem_util.ads: Minor reformatting. | |
5046 | ||
5047 | 2012-03-07 Geert Bosch <bosch@adacore.com> | |
5048 | ||
5049 | * targparm.ads: New target parameter Atomic_Sync_Default, | |
5050 | defaulting to True. | |
5051 | * targparm.adb (Get_Target_Parameters): Add processing for | |
5052 | Atomic_Sync_Default. | |
5053 | * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options | |
5054 | based on ASD. | |
5055 | ||
9ef23ec9 | 5056 | 2012-03-07 Javier Miranda <miranda@adacore.com> |
5057 | ||
5058 | * sem_ch3.adb (Analyze_Object_Declaration): If the object | |
5059 | declaration has an init expression then stop the analysis of the | |
5060 | object declaration if the expression which initializes the object | |
5061 | is a call to an inlined function which returns an unconstrained | |
5062 | and has been expanded into a procedure call. | |
5063 | * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing | |
5064 | support to handle selected components. | |
5065 | * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus | |
5066 | documentation. | |
5067 | * sem_ch6.adb (Check_And_Build_Body_To_Inline): New | |
5068 | subprogram which implements the checks required by the | |
5069 | new rules for frontend inlining and builds the body to inline. | |
5070 | (Analyze_Subprogram_Body_Helper): Move code that | |
5071 | checks inlining of subprogram that has nested subprogram | |
5072 | to Check_And_Build_Body_To_Inline. Replace call to | |
5073 | Build_Body_To_Inline by call to the new subprogram | |
5074 | Check_And_Build_Body_To_Inline. | |
5075 | (Cannot_Inline): New implementation. | |
5076 | * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp): | |
5077 | New subprogram. | |
5078 | * sem_util.ad[sb] (Must_Inline): New subprogram. | |
5079 | (Returns_Unconstrained_Type): New subprogram. | |
5080 | * sem_res.adb (Resolve_Call): Do not create a transient scope | |
5081 | for inlined calls. | |
5082 | * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable. | |
5083 | * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting | |
5084 | to false the variable Analyzing_Inlined_Bodies. Fix comments. | |
5085 | * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master. | |
5086 | * exp_ch6.ads (List_Inlining_Info): New subprogram. | |
5087 | * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram. | |
5088 | (Expand_Call.Do_Inline_Always): New subprogram. | |
5089 | (In_Unfrozen_Instance): Move the declaration of this subprogram. | |
5090 | (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram. | |
5091 | (Expand_Inlined_Call): Adding new support for inlining functions | |
5092 | that return unconstrained types. | |
5093 | (List_Inlining_Info): New subprogram. | |
5094 | * debug.adb Document flags -gnatd.j and -gnatd.k | |
5095 | * gnat1drv.adb Add call to generate the new listing of inlined | |
5096 | calls and calls passed to the backend. | |
5097 | ||
73692538 | 5098 | 2012-03-07 Robert Dewar <dewar@adacore.com> |
5099 | ||
5100 | * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb, | |
5101 | s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting. | |
5102 | ||
5103 | 2012-03-07 Javier Miranda <miranda@adacore.com> | |
5104 | ||
5105 | * a-ngrear.ads: Add documentation. | |
5106 | ||
3ae6bcd5 | 5107 | 2012-03-07 Tristan Gingold <gingold@adacore.com> |
5108 | ||
5109 | * s-taprop-vms.adb (Create_Task): set thread name. | |
5110 | * s-osinte-vms.ads (pthread_attr_setname_np): Declare. | |
5111 | ||
5112 | 2012-03-07 Arnaud Charlet <charlet@adacore.com> | |
5113 | ||
5114 | * g-trasym.adb: Minor reformatting. | |
5115 | ||
5116 | 2012-03-07 Robert Dewar <dewar@adacore.com> | |
5117 | ||
5118 | * a-ngrear.ads: Minor addition of ??? comment. | |
5119 | ||
44e15e2b | 5120 | 2012-03-07 Gary Dismukes <dismukes@adacore.com> |
5121 | ||
5122 | * exp_ch4.adb (Apply_Accessibility_Check): Call | |
5123 | Remove_Side_Effects in the build-in-place case, to ensure that | |
5124 | we capture the call and don't end up with two calls. | |
5125 | ||
5126 | 2012-03-07 Javier Miranda <miranda@adacore.com> | |
5127 | ||
5128 | * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions | |
5129 | that return unconstrained types using an extended return statement | |
5130 | since the support for inlining these functions has not been yet | |
5131 | added to the frontend. | |
5132 | * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization. | |
5133 | * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma | |
5134 | Inline. | |
5135 | * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use | |
5136 | extended return statement. | |
5137 | * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice, | |
5138 | Super_To_String): Restructured to use extended return statement. | |
5139 | * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to | |
5140 | use extended return statement. | |
5141 | * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation, | |
5142 | Vector_Elementwise_Operation, Matrix_Elementwise_Operation, | |
5143 | Matrix_Matrix_Scalar_Elementwise_Operation, | |
5144 | Vector_Vector_Elementwise_Operation, | |
5145 | Vector_Vector_Scalar_Elementwise_Operation, | |
5146 | Matrix_Scalar_Elementwise_Operation, | |
5147 | Vector_Scalar_Elementwise_Operation, | |
5148 | Scalar_Matrix_Elementwise_Operation, | |
5149 | Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product, | |
5150 | Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector, | |
5151 | Vector_Matrix_Product): Restructured to use extended return | |
5152 | statement. | |
5153 | ||
5154 | 2012-03-07 Vincent Pucci <pucci@adacore.com> | |
5155 | ||
5156 | * sem_ch5.adb (One_Bound): Minor reformatting. | |
5157 | ||
5158 | 2012-03-07 Tristan Gingold <gingold@adacore.com> | |
5159 | ||
5160 | * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb, | |
5161 | s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and | |
5162 | s-osinte-vms-ia64. | |
5163 | ||
301d5ec3 | 5164 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> |
5165 | ||
5166 | * checks.adb (Apply_Predicate_Check): Do not generate a predicate | |
5167 | check is the context is an internally generated type-specific | |
5168 | function. | |
5169 | * sem_ch6.adb (Process_PPCs); the formals of internally generated | |
5170 | type-specific functions do not get assertion checks. | |
5171 | ||
5172 | 2012-03-07 Yannick Moy <moy@adacore.com> | |
5173 | ||
5174 | * gnat_rm.texi: Minor renaming of title. | |
5175 | * gnat_ugn.texi: Minor correction. | |
5176 | ||
5177 | 2012-03-07 Vincent Pucci <pucci@adacore.com> | |
5178 | ||
5179 | * exp_ch4.adb (Expand_N_Quantified_Expression): Minor | |
5180 | reformating. | |
5181 | * sem_ch4.adb (Analyze_Quantified_Expression): Creation and | |
5182 | analysis of the iteration scheme added in all cases. | |
5183 | * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating. | |
5184 | (Analyze_Iterator_Specification): Minor reformating. | |
5185 | * sem_res.adb (Resolve_Quantified_Expression): Resolution of | |
5186 | the condition added in all cases. | |
5187 | ||
19a5cf04 | 5188 | 2012-03-07 Thomas Quinot <quinot@adacore.com> |
5189 | ||
5190 | * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order. | |
5191 | ||
5192 | 2012-03-07 Yannick Moy <moy@adacore.com> | |
5193 | ||
5194 | * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to | |
5195 | account for Ada 2012 assertions, and their pragma counterparts in GNAT. | |
5196 | ||
5197 | 2012-03-07 Thomas Quinot <quinot@adacore.com> | |
5198 | ||
5199 | * exp_attr.adb, sem_attr.adb: Minor reformatting. | |
5200 | ||
5201 | 2012-03-07 Bob Duff <duff@adacore.com> | |
5202 | ||
5203 | * hostparm.ads (Max_Instantiations): Increase parameter. | |
5204 | ||
5205 | 2012-03-07 Bob Duff <duff@adacore.com> | |
5206 | ||
5207 | * par-prag.adb: Minor code rearrangement. | |
5208 | ||
5209 | 2012-03-07 Bob Duff <duff@adacore.com> | |
5210 | ||
5211 | * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String): | |
5212 | Remove default initial value for Data. It is no longer needed | |
5213 | because "=" now composes properly for untagged records. This | |
5214 | default has caused efficiency problems. | |
5215 | ||
5216 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> | |
5217 | ||
5218 | * sem_res.adb (Resolve_Actuals): If the actual is a selected | |
5219 | component of an anonymous access type, whose prefix is a variable, | |
5220 | treat the variable as if it may be modified by the call, to | |
5221 | suppress spurious warnings that a variable might be declared as | |
5222 | a constant. | |
5223 | ||
7f93d5de | 5224 | 2012-03-07 Thomas Quinot <quinot@adacore.com> |
5225 | ||
5226 | * einfo.adb, einfo.ads: Remove unused entity flags. | |
5227 | ||
dc9027bc | 5228 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
5229 | ||
5230 | * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and | |
5231 | Output operands throughout. | |
5232 | ||
5233 | 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com> | |
5234 | ||
5235 | * sem_ch12.adb (Earlier): When two nodes come from the same | |
5236 | generic instantiation, compare their locations. Otherwise always | |
5237 | use the top level locations of the nodes. | |
5238 | ||
5239 | 2012-03-07 Thomas Quinot <quinot@adacore.com> | |
5240 | ||
5241 | * einfo.ads, sem_prag.adb: Minor reformatting. | |
5242 | ||
581134a4 | 5243 | 2012-03-05 Jason Merrill <jason@redhat.com> |
5244 | ||
5245 | * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn | |
5246 | before using it. | |
5247 | ||
4b7b019d | 5248 | 2012-03-04 Eric Botcazou <ebotcazou@adacore.com> |
5249 | ||
5250 | * gnatvsn.ads (Library_Version): Bump to 4.8. | |
5251 | ||
70d595c8 | 5252 | 2012-03-03 H.J. Lu <hongjiu.lu@intel.com> |
5253 | ||
5254 | * init.c (__gnat_adjust_context_for_raise): Also check | |
5255 | "orq $0x0,(%esp)" for x32. | |
5256 | ||
4b7b019d | 5257 | * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32. |
70d595c8 | 5258 | |
5259 | * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR | |
4b7b019d | 5260 | is /x32 and add support for x32. |
70d595c8 | 5261 | |
ffb4f309 | 5262 | 2012-02-29 Eric Botcazou <ebotcazou@adacore.com> |
5263 | ||
5264 | * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter | |
6f9d8b76 | 5265 | and set TYPE_ARTIFICIAL according to it. Adjust recursive call. |
ffb4f309 | 5266 | (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function. |
5267 | * gcc-interface/utils.c (rest_of_record_type_compilation): Do not | |
5268 | invoke rest_of_type_decl_compilation on the parallel type, if any. | |
5269 | ||
a2862f76 | 5270 | 2012-02-29 Eric Botcazou <ebotcazou@adacore.com> |
5271 | ||
5272 | * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the | |
5273 | dummy global built for global types is preserved. | |
5274 | ||
e770c5fc | 5275 | 2012-02-27 Tristan Gingold <gingold@adacore.com> |
5276 | ||
5277 | * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, | |
5278 | E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and | |
5279 | gnu_template_type. | |
5280 | ||
a3b35344 | 5281 | 2012-02-27 Eric Botcazou <ebotcazou@adacore.com> |
5282 | ||
5283 | * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking. | |
5284 | (TYPE_BY_REFERENCE_P): New flag. | |
5285 | (TYPE_IS_BY_REFERENCE_P): New macro. | |
5286 | (TYPE_DUMMY_P): Add checking and remove VOID_TYPE. | |
5287 | (TYPE_IS_DUMMY_P): Adjust for above change. | |
5288 | * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P | |
5289 | and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. | |
5290 | (gnat_to_gnu_param): Likewise. | |
5291 | (maybe_pad_type): Likewise. | |
5292 | (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P. | |
5293 | * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P | |
5294 | instead of TREE_ADDRESSABLE. | |
5295 | * gcc-interface/trans.c (finalize_nrv): Likewise. | |
5296 | (call_to_gnu): Likewise. Do not create a temporary for return values | |
5297 | with by-reference type here. | |
5298 | (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P. | |
5299 | (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant | |
5300 | CONSTRUCTORs and calls. | |
5301 | * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of | |
5302 | the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P | |
5303 | instead of TREE_ADDRESSABLE. | |
5304 | * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference | |
5305 | types explicitly. | |
5306 | ||
6b5f97e1 | 5307 | 2012-02-27 Eric Botcazou <ebotcazou@adacore.com> |
5308 | ||
5309 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous | |
5310 | change that creates a special VAR_DECL for debugging purposes. For an | |
5311 | aliased object with an unconstrained nominal subtype, make its type a | |
5312 | thin reference to the underlying object. | |
5313 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with | |
5314 | expressions built for the initialization of above objects. | |
5315 | ||
7ef88902 | 5316 | 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> |
5317 | ||
5318 | * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New | |
5319 | Windows-specific make variable. | |
5320 | (WIN_SO_INSTALL_DIR [windows targets]): Likewise. | |
5321 | (install-gnatlib): Respect the above during installation when set, | |
5322 | and also install any windows import library that has been built. | |
5323 | (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also | |
5324 | build a corresponding import library. | |
5325 | ||
ad6b44d8 | 5326 | 2012-02-22 Robert Dewar <dewar@adacore.com> |
5327 | ||
5328 | * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor | |
5329 | reformatting. | |
5330 | ||
5331 | 2012-02-22 Geert Bosch <bosch@adacore.com> | |
5332 | ||
5333 | * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove | |
5334 | x86-specific version of byteswap and use GCC builtins instead. | |
5335 | ||
5336 | 2012-02-22 Tristan Gingold <gingold@adacore.com> | |
5337 | ||
5338 | * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, | |
5339 | E_Array_Type]: Translate component ealier. | |
5340 | ||
5341 | 2012-02-22 Robert Dewar <dewar@adacore.com> | |
5342 | ||
5343 | * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize | |
5344 | error message for 'Range. | |
5345 | ||
110e0530 | 5346 | 2012-02-22 Pascal Obry <obry@adacore.com> |
5347 | ||
5348 | * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as | |
5349 | this is our own thread. | |
5350 | ||
5351 | 2012-02-22 Sergey Rybin <rybin@adacore.com frybin> | |
5352 | ||
5353 | * tree_io.ads: Update ASIS_Version_Number because of the changes | |
5354 | in Snames. | |
5355 | ||
5356 | 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com> | |
5357 | ||
38b1f0b0 | 5358 | * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on |
110e0530 | 5359 | stack-related finalizers. |
5360 | ||
5361 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
5362 | ||
5363 | * sem_ch6.adb (Analyze_Expression_Function): If the construct | |
5364 | is a completion, indicate that its formals are the formals of | |
5365 | a completion, and as such do not get a cross- reference entry. | |
5366 | (Analyze_Subprogram_Specification): Do not generate a definition | |
5367 | for the entity of an expression function, because it may be a | |
5368 | completion. Definition will be generated if needed when analyzing | |
5369 | the generated subprogram declaration. | |
5370 | ||
5371 | 2012-02-22 Vincent Celier <celier@adacore.com> | |
5372 | ||
5373 | * make.adb (Check): When checking if an object file is in the | |
5374 | correct object directory, get the unit name from a previous call | |
5375 | to Check_Source_Info_In_ALI. | |
5376 | * makeutl.adb (Check_Source_Info_In_ALI): Return the name of | |
5377 | the unit when everything is OK, otherwise return No_Name. | |
5378 | * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead | |
5379 | of Boolean | |
5380 | ||
5381 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
5382 | ||
5383 | * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an | |
5384 | instance, the operator is visible if an operand is of some | |
5385 | numeric type which is not in use or directly visible, and the | |
5386 | other operand is a numeric literal. | |
5387 | ||
5388 | 2012-02-22 Tristan Gingold <gingold@adacore.com> | |
5389 | ||
5390 | * init.c: Minor code clean up. | |
5391 | * gcc-interface/Make-lang.in: Update dependencies. | |
5392 | ||
5393 | 2012-02-22 Arnaud Charlet <charlet@adacore.com> | |
5394 | ||
5395 | * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node, | |
5396 | otherwise GCC will generate an object file. | |
5397 | ||
5398 | 2012-02-22 Vincent Celier <celier@adacore.com> | |
5399 | ||
5400 | * projects.texi: Correct typo related to "**" in Source_Dirs. | |
5401 | ||
61aeebff | 5402 | 2012-02-22 Steve Baird <baird@adacore.com> |
5403 | ||
5404 | * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of | |
5405 | error message text. | |
5406 | ||
bb5dfacc | 5407 | 2012-02-22 Vincent Pucci <pucci@adacore.com> |
5408 | ||
5409 | * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and | |
5410 | System_Dim_Child cases added. | |
5411 | * rtsfind.ads: Ada_Numerics, | |
5412 | Ada_Numerics_Generic_Elementary_Functions, System_Dim, | |
5413 | System_Dim_Float_IO and System_Dim_Integer_IO added to the list | |
5414 | of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as | |
5415 | new RTU_Id subtypes. | |
5416 | * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of | |
5417 | Rtsfind to verify the package entity is located either | |
5418 | in System.Dim.Integer_IO or in System.Dim.Float_IO. | |
5419 | (Is_Dim_IO_Package_Instantiation): Minor | |
5420 | changes. (Is_Elementary_Function_Call): Removed. | |
5421 | (Is_Elementary_Function_Entity): New routine. | |
5422 | (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added. | |
5423 | * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions | |
5424 | removed. | |
5425 | ||
5426 | 2012-02-22 Vincent Pucci <pucci@adacore.com> | |
5427 | ||
5428 | * sem_prag.adb: Minor reformatting. | |
5429 | ||
5430 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
5431 | ||
5432 | * sem_ch3.adb (Find_Type_Name): When analyzing a private type | |
5433 | declaration that is the completion of a tagged incomplete type, do | |
5434 | not associate the class-wide type already created with the private | |
5435 | type to prevent order-of-elaboration issues in the back-end. | |
5436 | * exp_disp.adb (Find_Specific_Type): Find specific type of | |
5437 | a class-wide type, and handle the case of an incomplete type | |
5438 | coming either from a limited_with clause or from an incomplete | |
5439 | type declaration. Used when expanding a dispatchin call and | |
5440 | generating tag checks (minor refactoring). | |
5441 | ||
a58d632f | 5442 | 2012-02-22 Robert Dewar <dewar@adacore.com> |
5443 | ||
5444 | * exp_ch5.adb: Add comment. | |
5445 | * sem_ch12.adb, exp_ch6.adb: minor reformatting | |
5446 | ||
4e104ca3 | 5447 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> |
5448 | ||
5449 | * freeze.adb (Freeze_Entity): Do not perform type layout within | |
5450 | a generic unit. | |
5451 | ||
5452 | 2012-02-22 Eric Botcazou <ebotcazou@adacore.com> | |
5453 | ||
5454 | * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to | |
5455 | Storage_Error. | |
5456 | ||
5457 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
5458 | ||
5459 | * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an | |
5460 | assignment to a classwide type whose type is limited, as | |
5461 | can happen in an instantiation in programs that run afoul or | |
5462 | AI05-0087. | |
5463 | ||
b3ba409d | 5464 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> |
5465 | ||
5466 | * exp_ch6.adb (Legal_Copy): If layout is not | |
5467 | determined in the front-end, do not emit error message when | |
5468 | by-reference actual is potentially unaligned. | |
5469 | * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for | |
5470 | illegal representation clause on tagged or aliased component, or on | |
5471 | by-reference type with forced alignment. | |
5472 | ||
5473 | 2012-02-17 Nicolas Roche <roche@adacore.com> | |
5474 | ||
5475 | * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is | |
5476 | propagated by gnatlib-sjlj and gnatlib-zcx targets. | |
5477 | * gcc-interface/Make-lang.in: Update dependencies. | |
5478 | ||
5479 | 2012-02-17 Thomas Quinot <quinot@adacore.com> | |
5480 | ||
5481 | * sem_ch12.adb (Analyze_Package_Instantiation): For an | |
5482 | instantiation in an RCI library unit, omit the instance body | |
5483 | if the RCI library unit is the instance itself (E.2.3(18)), | |
5484 | but include the body if the instantiation is within the RCI | |
5485 | declaration (12.3(12)). | |
5486 | ||
0fe91713 | 5487 | 2012-02-17 Steve Baird <baird@adacore.com> |
5488 | ||
5489 | * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and | |
5490 | Post'Class aspects can only be specified for a primitive operation | |
5491 | of a tagged type. | |
5492 | ||
0b0eb1f6 | 5493 | 2012-02-17 Yannick Moy <moy@adacore.com> |
5494 | ||
5495 | * gnat_rm.texi: Minor shuffling. | |
5496 | ||
5497 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
5498 | ||
5499 | * aspects.adb: Expression functions can carry pre/postconditions. | |
5500 | * par-ch6.adb (P_Subprogram): look for optional pre/postconditions | |
5501 | in an expression function. | |
5502 | * sem_prag (Check_Precondition_Postcondition): legal on expression | |
5503 | functions. | |
5504 | ||
5505 | 2012-02-17 Vincent Pucci <pucci@adacore.com> | |
5506 | ||
5507 | * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb, | |
5508 | * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb, | |
5509 | * a-convec.adb, a-coorma.adb (Adjust): New routine. | |
5510 | (Constant_Reference): Increment Busy and Lock counters. | |
5511 | (Reference): Increase Busy and Lock counters. | |
5512 | (Finalize): New routine. | |
5513 | * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb: | |
5514 | (Adjust): New routine. (Constant_Reference): Increment Busy | |
5515 | and Lock counters. | |
5516 | (Finalize): New routine. | |
5517 | * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads, | |
5518 | * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads, | |
5519 | * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads, | |
5520 | * a-coorma.ads, a-coorse: Controlled component added to the | |
5521 | reference types. | |
5522 | ||
5523 | 2012-02-17 Robert Dewar <dewar@adacore.com> | |
5524 | ||
5525 | * restrict.adb (Check_Restriction): Add special handling for | |
5526 | No_Obsolescent_Features. | |
5527 | ||
5528 | 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com> | |
5529 | ||
5530 | * exp_util.adb (Find_Finalize_Address): When dealing with an | |
5531 | internally built full view for a type with unknown discriminants, | |
5532 | use the original record type. | |
5533 | ||
5491cb1c | 5534 | 2012-02-17 Robert Dewar <dewar@adacore.com> |
5535 | ||
5536 | * sem_dim.adb: Minor reformatting. | |
5537 | ||
5538 | 2012-02-17 Yannick Moy <moy@adacore.com> | |
5539 | ||
5540 | * gnat_rm.texi: Minor rewording. | |
5541 | ||
6a84a367 | 5542 | 2012-02-17 Thomas Quinot <quinot@adacore.com> |
5543 | ||
5544 | * sem_aggr.adb: Minor reformatting. | |
5545 | ||
5546 | 2012-02-17 Robert Dewar <dewar@adacore.com> | |
5547 | ||
5548 | * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case. | |
5549 | ||
5550 | 2012-02-17 Vincent Pucci <pucci@adacore.com> | |
5551 | ||
5552 | * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine. | |
5553 | (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity | |
5554 | call added. | |
5555 | (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity | |
5556 | call added. | |
5557 | * s-dim.ads: Make package Pure. | |
5558 | ||
5559 | 2012-02-17 Gary Dismukes <dismukes@adacore.com> | |
5560 | ||
5561 | * prj-nmsc.adb: Minor reformatting. | |
5562 | ||
5563 | 2012-02-17 Yannick Moy <moy@adacore.com> | |
5564 | ||
5565 | * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions. | |
5566 | ||
5f31c6f3 | 5567 | 2012-02-17 Yannick Moy <moy@adacore.com> |
5568 | ||
5569 | * gnat_ugn.texi: Fix typos. | |
5570 | ||
5571 | 2012-02-17 Pascal Obry <obry@adacore.com> | |
5572 | ||
5573 | * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an | |
5574 | aggregate is not Externally_Built. | |
5575 | ||
5576 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
5577 | ||
5578 | * sem_aggr.adb (Resolve_Record_Aggregate): If a composite | |
5579 | component has a box association, copy the default value using | |
5580 | the current scope as the scope of internal types, to prevent | |
5581 | scoping anomalies in gigi. | |
5582 | ||
09ad6da2 | 5583 | 2012-02-17 Robert Dewar <dewar@adacore.com> |
5584 | ||
5585 | * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb, | |
5586 | sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb, | |
5587 | exp_intr.adb, s-os_lib.adb: Minor reformatting. | |
5588 | ||
5589 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
5590 | ||
5591 | * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the | |
5592 | old operation is abstract, the relevant type is not abstract, | |
5593 | and the new subprogram fails to override. | |
5594 | ||
09188bfe | 5595 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
5596 | ||
5597 | * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the | |
5598 | type of the result to the end and execute it for a deferred constant of | |
5599 | a discriminated type whose full view can be elaborated statically. | |
5600 | ||
47219e5b | 5601 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
5602 | ||
5603 | * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the | |
5604 | type is tagged, mark it as used for debugging purposes. | |
5605 | <N_Allocator>: Likewise for a qualified expression. | |
5606 | ||
824ae42b | 5607 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
5608 | ||
5609 | * gcc-interface/trans.c (call_to_gnu): Create the temporary for the | |
5610 | return value in the by-reference return type case if this isn't the | |
47219e5b | 5611 | expression of an object declaration. Tidy up. |
824ae42b | 5612 | |
f4a78d12 | 5613 | 2012-02-09 Tristan Gingold <gingold@adacore.com> |
5614 | ||
5615 | * gcc-interface/Makefile.in: Remove .sym rule (not used). | |
5616 | Remove adamsg.o object (requires native message compiler). | |
5617 | * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a | |
5618 | macro instead of as extern int. | |
5619 | (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR) | |
5620 | (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT) | |
5621 | (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH) | |
5622 | (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC) | |
5623 | (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH) | |
5624 | (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH) | |
5625 | (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH) | |
5626 | (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR) | |
5627 | (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise. | |
5628 | (struct cond_except): Field cond is now an unsigned int. | |
5629 | (dec_ada_cond_except_table): Adjust. | |
5630 | (cond_except_table): Likewise. | |
5631 | (cond_resignal_table): Likewise. | |
5632 | (__gnat_default_resignal_p): Fix style. | |
5633 | ||
70db3df9 | 5634 | 2012-02-08 Vincent Celier <celier@adacore.com> |
5635 | ||
5636 | * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects | |
5637 | (g-buorma is now imported by sinput). | |
5638 | Update dependencies. | |
5639 | * scn.adb (Initialize_Scanner): Call Check_For_BOM | |
5640 | * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM | |
5641 | * sinput.adb: New procedure Check_For_BOM | |
5642 | * sinput.ads: New procedure Check_For_BOM | |
5643 | ||
5644 | 2012-02-08 Vincent Pucci <pucci@adacore.com> | |
5645 | ||
5646 | * impunit.adb: Dimension package names updated | |
5647 | * Makefile.rtl: s-dim added | |
5648 | * sem_dim.adb (Is_Procedure_Put_Call): minor changes | |
5649 | (Is_Dim_IO_Package_Instantiation): minor changes | |
5650 | * sem_dim.ads: minor changes in comments | |
5651 | * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and | |
5652 | Name_Dim_Integer_IO removed | |
5653 | * s-dim.ads: New package. Define the dimension terminology. | |
5654 | * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads, | |
5655 | * s-dmotpr.ads: Package names updated. | |
5656 | * s-diflio.ads, s-diinio.ads: Documentation added and package | |
5657 | names updated. | |
5658 | ||
5659 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
5660 | ||
5661 | * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test | |
5662 | for storage pools to test for an underlying record type rather than | |
5663 | testing Is_Tagged_Type, so that simple storage pools will be handled | |
5664 | the same as normal Ada storage pools. | |
5665 | ||
b15003c3 | 5666 | 2012-02-08 Yannick Moy <moy@adacore.com> |
5667 | ||
5668 | * gnat_rm.texi: Minor reshuffling to place restriction at | |
5669 | appropriate place. | |
5670 | ||
5671 | 2012-02-08 Bob Duff <duff@adacore.com> | |
5672 | ||
5673 | * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value | |
5674 | False for '-gnatwA', to suppress these warnings. | |
5675 | ||
5676 | 2012-02-08 Vincent Celier <celier@adacore.com> | |
5677 | ||
5678 | * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before | |
5679 | starting to scan, so that UTF8 encoding is taken into account. | |
5680 | ||
5681 | 2012-02-08 Arnaud Charlet <charlet@adacore.com> | |
5682 | ||
5683 | * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New | |
5684 | function. | |
5685 | (Complete_Rendezvous): Now call Internal_Complete_Rendezvous. | |
5686 | (Exceptional_Complete_Rendezvous): Mark No_Return. | |
5687 | ||
5688 | 2012-02-08 Eric Botcazou <ebotcazou@adacore.com> | |
5689 | ||
5690 | * exp_aggr.adb (Compile_Time_Known_Composite_Value): | |
5691 | New predicate to compute whether a composite value can be | |
5692 | evaluated at compile time. | |
5693 | (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all | |
5694 | expressions of elementary type and Compile_Time_Known_Composite_Value | |
5695 | for all other expressions. | |
5696 | (Expand_Record_Aggregate): Convert to assignments in the case | |
5697 | of a type with mutable components if the aggregate cannot be | |
5698 | built statically. | |
5699 | ||
5700 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
5701 | ||
5702 | * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type. | |
5703 | (Impl_Defined_Aspects): Add association for | |
5704 | Aspect_Simple_Storage_Pool_Type. | |
5705 | (Aspect_Names): Add | |
5706 | association for Aspect_Simple_Storage_Pool_Type. | |
5707 | * aspects.adb: | |
5708 | (Canonical_Aspect): Add association for Simple_Storage_Pool_Type. | |
5709 | * exp_attr.adb (Expand_N_Attribute_Reference): | |
5710 | Change name to Name_Simple_Storage_Pool_Type. | |
5711 | * exp_ch4.adb (Expand_N_Allocator): Change | |
5712 | name to Name_Simple_Storage_Pool_Type. | |
5713 | * exp_intr.adb (Expand_Unc_Deallocation): Change name to | |
5714 | Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity): | |
5715 | Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb: | |
5716 | Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb: | |
5717 | (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type. | |
5718 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): | |
5719 | Change name to Name_Simple_Storage_Pool_Type. | |
5720 | * sem_prag.adb: | |
5721 | (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type. | |
5722 | (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type. | |
5723 | * sem_res.adb (Resolve_Allocator): Change name to | |
5724 | Name_Simple_Storage_Pool_Type. * snames.ads-tmpl: | |
5725 | (Name_Simple_Storage_Pool_Type): New name constant. | |
5726 | (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and | |
5727 | move to main pragma section because it no longer matches the | |
5728 | attribute name. | |
5729 | * snames.adb-tmpl (Get_Pragma_Id): Remove test for | |
5730 | Name_Simple_Storage_Pool. | |
5731 | (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool. | |
5732 | ||
5733 | 2012-02-08 Robert Dewar <dewar@adacore.com> | |
5734 | ||
5735 | * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws. | |
5736 | ||
2006ed41 | 5737 | 2012-02-08 Pascal Obry <obry@adacore.com> |
5738 | ||
5739 | * prj.adb (Compute_All_Imported_Projects): Use new | |
5740 | For_Project_And_Aggregated_Context to ensure proper context is | |
5741 | used for encapsulated aggregate libraries. | |
5742 | * prj-proc.adb (Recursive_Process): Call | |
5743 | Process_Aggregated_Projects earlier to ensure that all dependent | |
5744 | projects are set with the proper encapsulated status. | |
5745 | ||
5746 | 2012-02-08 Pascal Obry <obry@adacore.com> | |
5747 | ||
5748 | * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null | |
5749 | terminated string. | |
5750 | ||
51d8eafc | 5751 | 2012-02-08 Pascal Obry <obry@adacore.com> |
5752 | ||
5753 | * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New | |
5754 | generic routine with a context parameter. | |
5755 | ||
b55f7641 | 5756 | 2012-02-08 Robert Dewar <dewar@adacore.com> |
5757 | ||
5758 | * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb, | |
5759 | a-convec.adb: Minor reformatting and code reorganization. | |
5760 | ||
5761 | 2012-02-08 Steve Baird <baird@adacore.com> | |
5762 | ||
5763 | * sem_cat.adb (In_Preelaborated_Unit): A child | |
5764 | unit instantiation does not inherit preelaboration requirements | |
5765 | from its parent. | |
5766 | ||
5767 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
5768 | ||
5769 | * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool. | |
5770 | (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool. | |
5771 | (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool. | |
5772 | (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool. | |
5773 | * aspects.adb (Canonical_Aspect): Add entry for | |
5774 | Aspect_Simple_Storage_Pool. | |
5775 | * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of | |
5776 | Attribute_Simple_Storage_Pool in the same way as Storage_Pool | |
5777 | (add conversion, analyze/resolve). For the Storage_Size attribute, | |
5778 | for the simple pool case, locate and use the simple pool type's | |
5779 | Storage_Size function (if any), otherwise evaluate to zero. | |
5780 | * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator | |
5781 | for an access type with an associated simple storage pool, | |
5782 | locate and use the pool type's Allocate. | |
5783 | * exp_intr.adb (Expand_Unc_Deallocation): In the case where the | |
5784 | access type has a simple storage pool, locate the pool type's | |
5785 | Deallocate procedure (if present) and use it as the procedure | |
5786 | to call on the Free operation. | |
5787 | * freeze.adb (Freeze_Entity): In the case of a full type for | |
5788 | a private type defined with pragma Simple_Storage_Pool, check | |
5789 | that the full type is also appropriate for the pragma. For | |
5790 | a simple storage pool type, validate that the operations | |
5791 | Allocate, Deallocate (if present), and Storage_Size | |
5792 | (if present) are defined with appropriate expected profiles. | |
5793 | (Validate_Simple_Pool_Op_Formal): New procedure | |
5794 | (Validate_Simple_Pool_Operation): New procedure Add with and | |
5795 | use of Rtsfind. | |
5796 | * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement | |
5797 | (no action required). | |
5798 | * sem_attr.adb (Analyze_Attribute): For the case of the | |
5799 | Storage_Pool attribute, give a warning if the prefix type has an | |
5800 | associated simple storage pool, and rewrite the attribute as a | |
5801 | raise of Program_Error. In the case of the Simple_Storage_Pool | |
5802 | attribute, check that the prefix type has an associated simple | |
5803 | storage pool, and set the attribute type to the pool's type. | |
5804 | * sem_ch13.adb (Analyze_Aspect_Specifications): Add | |
5805 | Aspect_Simple_Storage_Pool case choice. | |
5806 | (Analyze_Attribute_Definition_Clause): Add | |
5807 | Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses | |
5808 | (no action). Add handling for Simple_Storage_Pool attribute | |
5809 | definition, requiring the name to denote a simple storage pool | |
5810 | object. | |
5811 | (Check_Aspect_At_Freeze_Point): For a simple storage pool | |
5812 | aspect, set the type to that of the name specified for the aspect. | |
5813 | * sem_prag.adb (Analyze_Pragma): Add handling for pragma | |
5814 | Simple_Storage_Pool, requiring that it applies to a library-level | |
5815 | type declared in a package declaration that is a limited private | |
5816 | or limited record type. | |
5817 | * sem_res.adb (Resolve_Allocator): Flag an attempt to call a | |
5818 | build-in-place function in an allocator for an access type with | |
5819 | a simple storage pool as unsupported. | |
5820 | * snames.ads-tmpl: Add Name_Simple_Storage_Pool. | |
5821 | (type Attribute_Id): Add Attribute_Simple_Storage_Pool. | |
5822 | (type Pragma_Id): Add Pragma_Simple_Storage_Pool. | |
5823 | * snames.adb-tmpl (Get_Pragma_Id): Handle case of | |
5824 | Name_Simple_Storage_Pool. | |
5825 | (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool. | |
5826 | ||
5827 | 2012-02-08 Cyrille Comar <comar@adacore.com> | |
5828 | ||
5829 | * projects.texi: Clarify doc for interfaces. | |
5830 | ||
346b8434 | 5831 | 2012-02-07 Eric Botcazou <ebotcazou@adacore.com> |
5832 | ||
5833 | * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable. | |
5834 | (GCC_LINK): Use it. | |
5835 | ||
2a0abb3a | 5836 | 2012-02-01 Tristan Gingold <gingold@adacore.com> |
5837 | ||
5838 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype | |
5839 | instead of size_type_node. | |
5840 | ||
62b2aa7d | 5841 | 2012-01-30 Nicolas Roche <roche@adacore.com> |
5842 | ||
5843 | * gcc-interface/Make-lang.in: Update dependencies. | |
5844 | * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads | |
5845 | when needed. | |
5846 | Remove Linker_Options -crtbe when building sjlj run-time. | |
5847 | ||
9deff044 | 5848 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
5849 | ||
5850 | * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode. | |
5851 | * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of | |
5852 | form 2 * small-literal. | |
5853 | * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious | |
5854 | mod value). | |
5855 | * sem_ch4.ads (Analyze_Mod): New procedure. | |
5856 | ||
5857 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
5858 | ||
5859 | * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy | |
5860 | types and return expression when building spec for implicit | |
5861 | body, to preserve global references that may be present in an | |
5862 | instantiation. | |
5863 | ||
5864 | 2012-01-30 Matthew Heaney <heaney@adacore.com> | |
5865 | ||
5866 | * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort, | |
5867 | Reverse_Elements): Check for cursor tampering. | |
5868 | ||
5869 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
5870 | ||
5871 | * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a | |
5872 | type with aspect Default_Value or Default_Component_Value is | |
5873 | fully initialized, and use of variables of such types do not | |
5874 | generate warnings. | |
5875 | ||
5876 | 2012-01-30 Javier Miranda <miranda@adacore.com> | |
5877 | ||
5878 | PR ada/15846 | |
5879 | * sem_ch8.adb (Analyze_Subprogram_Renaming): | |
5880 | Handle self-renaming when the renamed entity is referenced using | |
5881 | its expanded name. | |
5882 | ||
5883 | 2012-01-30 Vincent Celier <celier@adacore.com> | |
5884 | ||
5885 | * projects.texi: Add documentation for attribute Interfaces. | |
5886 | ||
516da07f | 5887 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> |
5888 | ||
5889 | * exp_ch7.adb (Build_Finalizer_Call): Set loc again. | |
5890 | * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source | |
5891 | location for the wrapped call to the original AT_END routine | |
5892 | and the subsequent return statement. | |
5893 | ||
5894 | 2012-01-30 Pascal Obry <obry@adacore.com> | |
5895 | ||
5896 | * s-rannum.adb: Minor reformatting. | |
5897 | ||
5898 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
5899 | ||
5900 | * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds | |
5901 | to 25 and add the hard time value for 2012-06-30. | |
5902 | ||
30fe3fdc | 5903 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
5904 | ||
5905 | * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb, | |
5906 | freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads, | |
5907 | s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb: | |
5908 | Minor reformatting/code reorganization. | |
5909 | ||
27121718 | 5910 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
5911 | ||
5912 | * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return | |
5913 | Unsigned_64 rather than Duration. | |
5914 | (System.Random_Numbers.Reset): Use full value of seed | |
5915 | (do not truncate sub-second bits). | |
5916 | ||
5917 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
5918 | ||
5919 | * sem_cat.adb, sem_ch12.adb: Minor reformatting. | |
5920 | ||
7b9b2f05 | 5921 | 2012-01-30 Yannick Moy <moy@adacore.com> |
5922 | ||
5923 | * gnat_ugn.texi: Minor correction of GNAT UG, to take into | |
5924 | account changes to -gnatwa and more recent warnings. | |
5925 | ||
5926 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
5927 | ||
5928 | * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source | |
5929 | location when creating a call to a finalizer. | |
5930 | * exp_ch11.adb (Expand_Exception_Handlers): Do not provide | |
5931 | a source location for the first actual of Save_Occurrence for | |
5932 | consistency sake. | |
5933 | ||
5934 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
5935 | ||
5936 | * einfo.ads, einfo,adb: New attribute on scalar types: | |
5937 | Default_Aspect_Value New attribute on array types: | |
5938 | Default_Aspect_Component_Value Move attribute Related_Array_Object | |
5939 | to a different position to accomodate new aspect attributes. | |
5940 | * freeze.adb (Freeze_Entity): Use new attributes to retrieve value | |
5941 | of defaults set with an aspect specification, rather than using | |
5942 | the list of aspects attached to the type, to prevent issues with | |
5943 | partial views. | |
5944 | * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects | |
5945 | Default_Value and Default_Component _Value, store corresponding | |
5946 | expression in type entity. | |
5947 | (Check_Aspect_At_End_Of_Declaration): If the default aspects | |
5948 | are declared on the full view, use the full view to resolve the | |
5949 | correseponding expression. | |
5950 | * exp_ch3.adb (Init_Component): Use attribute | |
5951 | Default_Aspect_Component_Value to perform default initialization, | |
5952 | rather than relying on the rep item list for the type. | |
5953 | (Get_Simple_Init_Val): Ditto. | |
5954 | ||
013c9832 | 5955 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
5956 | ||
5957 | * a-strhas.ads: Document risk of collision attack. | |
5958 | ||
5959 | 2012-01-30 Yannick Moy <moy@adacore.com> | |
5960 | ||
5961 | * gnat_ugn.texi: Minor update wrt warning switches. | |
5962 | ||
9f64ee09 | 5963 | 2012-01-30 Vincent Celier <celier@adacore.com> |
5964 | ||
5965 | * prj-nmsc.adb (Check_Interfaces): Report an error when a | |
5966 | unit from Library_Interface is not a unit of the project. | |
5967 | ||
5968 | 2012-01-30 Vincent Pucci <pucci@adacore.com> | |
5969 | ||
5970 | * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent | |
5971 | links fixed inside PPC pragmas. | |
5972 | * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl. | |
5973 | ||
5974 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
5975 | ||
5976 | * s-ransee.ads: Minor reformatting. | |
5977 | ||
9f269bd8 | 5978 | 2012-01-30 Pascal Obry <obry@adacore.com> |
5979 | ||
5980 | * prj.ads, prj.adb (For_Each_Source): Add support for skipping | |
5981 | sources coming from an encapsulated library. | |
5982 | ||
5983 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
5984 | ||
5985 | * sem_ch3.adb (Process-Full_View): fix typo. | |
5986 | * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates | |
5987 | appear on a private type and the full view is available, ensure | |
5988 | existence of freeze node for full view. | |
5989 | (Build_Predicate_Function): Attach predicate function to both | |
5990 | views of a private type. | |
5991 | ||
5992 | 2012-01-30 Vincent Celier <celier@adacore.com> | |
5993 | ||
5994 | * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs | |
5995 | for the project if either attribute Library_Interface or | |
5996 | Interfaces is declared. | |
5997 | (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in | |
5998 | Check_Interfaces. | |
5999 | ||
a82d9bf4 | 6000 | 2012-01-30 Pascal Obry <obry@adacore.com> |
6001 | ||
6002 | * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib | |
6003 | boolean value to true in the process list created by this routine. | |
6004 | * prj.ads (Project_List_Element): New field From_Encapsulated_Lib. | |
6005 | Continued work for KA06-021. | |
6006 | * prj.adb (Compute_All_Imported_Projects): Set | |
6007 | From_Encapsulated_Lib boolean flag. | |
6008 | ||
caad910a | 6009 | 2012-01-30 Vincent Pucci <pucci@adacore.com> |
6010 | ||
6011 | * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor | |
6012 | code clean up. | |
6013 | * s-diflio.ads: Minor change. | |
6014 | ||
6015 | 2012-01-30 Javier Miranda <miranda@adacore.com> | |
6016 | ||
6017 | * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call | |
6018 | to Get_Entry_Index. Required to generate code which provides | |
6019 | the correct value of Entry_Index in the target entry. | |
6020 | ||
6021 | 2012-01-30 Nicolas Roche <roche@adacore.com> | |
6022 | ||
6023 | * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to | |
6024 | fix issue with zcx on VxWorks5. | |
6025 | ||
6026 | 2012-01-30 Pascal Obry <obry@adacore.com> | |
6027 | ||
6028 | * prj.ads, prj.adb (For_Every_Project_Imported): Remove | |
6029 | In_Aggregate_Lib. | |
6030 | (For_Every_Project_Imported_Context): New generic routine with | |
6031 | a context parameter. | |
6032 | * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid | |
6033 | distributed complexity. | |
6034 | * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto. | |
6035 | ||
04e29e1d | 6036 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
6037 | ||
6038 | * exp_aggr.adb (Expand_Record_Aggregate): After creating the | |
6039 | _parent aggregate for an extension aggregate, check whether it | |
6040 | requires delayed (top-down) expansion. | |
6041 | ||
6042 | 2012-01-30 Vincent Pucci <pucci@adacore.com> | |
6043 | ||
6044 | * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten. | |
6045 | * snames.ads-tmpl: Name_Item and Name_Symbols added. | |
6046 | * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename | |
6047 | and change the position of parameter Symbols in every Put routine. | |
6048 | * s-dimmks.ads: Convert long float type Mks_Type into long | |
6049 | long float. | |
6050 | * s-llflex.ads: Modifications in comments. | |
6051 | ||
6052 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
6053 | ||
6054 | * sem_ch12.adb (Earlier): Do not use the | |
6055 | top level source locations of the two input nodes. | |
6056 | ||
daa6a3ae | 6057 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
6058 | ||
6059 | * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads, | |
6060 | sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting. | |
6061 | ||
14cf7fa7 | 6062 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
6063 | ||
6064 | * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. | |
6065 | ||
6066 | 2012-01-30 Olivier Hainque <hainque@adacore.com> | |
6067 | ||
6068 | * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back + | |
6069 | comments. | |
6070 | ||
6071 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
6072 | ||
6073 | * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb, | |
6074 | sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb, | |
6075 | sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type): | |
6076 | New subprogram (extracted from | |
6077 | Sem_Cat.Validate_Remote_Access_Object_Type_Declaration). | |
6078 | (Einfo.Is_Remote_Types): Now applies to generic types. Update | |
6079 | documentation accordingly. | |
6080 | (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as | |
6081 | actual for a formal type to which a pragma Remote_Access_Type | |
6082 | applies. | |
6083 | (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect | |
6084 | Remote_Access_Type. | |
6085 | (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can | |
6086 | be applied to a generic type if pragma Remote_Access_Type | |
6087 | applies, in which case the type of the attribute is | |
6088 | System.Partition_Interface.RACW_Stub_Type. | |
6089 | ||
bfa2a0ba | 6090 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6091 | ||
6092 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set | |
6093 | an alignment on fields of the RETURN type built for the CICO mechanism. | |
6094 | ||
0c1dfc4b | 6095 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6096 | ||
6097 | * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for | |
6098 | a call to a function that returns an unconstrained type with default | |
bfa2a0ba | 6099 | discriminant. Similarly, avoid doing the conversion to the nominal |
0c1dfc4b | 6100 | result type in this case. |
6101 | ||
587b5d75 | 6102 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6103 | ||
6104 | * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag. | |
6105 | * gcc-interface/decl.c (is_variable_size): Rename to... | |
6106 | (type_has_variable_size): ...this. | |
6107 | (adjust_packed): Adjust to above renaming. | |
6108 | (gnat_to_gnu_field): Set DECL_ALIASED_P on the field. | |
6109 | (field_is_artificial): New predicate. | |
6110 | (field_is_aliased): Likewise. | |
6111 | (field_has_self_size): Likewise. | |
6112 | (field_has_variable_size): Likewise. | |
6113 | (components_to_record): Record information for the final layout during | |
6114 | the first pass on fields. | |
6115 | If there is an aliased field placed after a field whose length depends | |
6116 | on discriminants, put all the fields of the latter sort, last. | |
6117 | ||
15bd2796 | 6118 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6119 | ||
6120 | * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare. | |
6121 | * gcc-interface/decl.c (get_minimal_subprog_decl): New function. | |
6122 | * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an | |
6123 | Access-like attribute in a dispatch table if the subprogram is public. | |
6124 | ||
7e9d30ae | 6125 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6126 | ||
6127 | * gcc-interface/gigi.h (create_label_decl): Adjust. | |
6128 | * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter | |
6129 | and invoke gnat_pushdecl on it. Remove obsolete settings. | |
6130 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to | |
6131 | create_label_decl. | |
6132 | * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the | |
6133 | label for debugging purposes. | |
6134 | ||
48954d78 | 6135 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
6136 | ||
6137 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased | |
6138 | object with an unconstrained nominal subtype and if optimization isn't | |
6139 | enabled, create a special VAR_DECL for debugging purposes. | |
6140 | ||
4db325e6 | 6141 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6142 | ||
6143 | * sem_prag.ads, sem_prag.adb: Minor reformatting. | |
6144 | ||
6145 | 2012-01-23 Robert Dewar <dewar@adacore.com> | |
6146 | ||
6147 | * sem_ch13.adb (Analyze_Aspect_Specifications): Check for | |
6148 | language defined aspect applied to renaming or formal type | |
6149 | declaration (not permitted) | |
6150 | ||
6151 | 2012-01-23 Matthew Heaney <heaney@adacore.com> | |
6152 | ||
6153 | * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced | |
6154 | comment with pragma Assert. | |
6155 | ||
cf46479c | 6156 | 2012-01-23 Vincent Pucci <pucci@adacore.com> |
6157 | ||
6158 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call | |
6159 | to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode. | |
6160 | * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New | |
6161 | routine. In ASIS mode, convert any PPC pragmas into aspects in generic | |
6162 | subprogram declaration in order to enable the analysis of PPC boolean | |
6163 | expressions. | |
6164 | ||
24f0ba72 | 6165 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6166 | ||
6167 | * sem_ch3.adb (Analyze_Object_Declaration): Properly | |
6168 | handle Current_Value for volatile variables (also propagate | |
6169 | Treat_As_Volatile from type to object). | |
6170 | ||
6171 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
6172 | ||
6173 | * sem_ch12.adb (Install_Body): Detect the case | |
6174 | where the enclosing context is a package with a stub body that | |
6175 | has already been replaced by the actual body. In such cases, | |
6176 | the freeze node for the enclosing context must be inserted after | |
6177 | the real body. | |
6178 | ||
6179 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
6180 | ||
6181 | * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called | |
6182 | subprogram before expanding the pragma into an if-statement with | |
6183 | a block, to ensure that when the subprogram is null its body is | |
6184 | properly generated before expansion. | |
6185 | ||
362e5ece | 6186 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
6187 | ||
6188 | * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and | |
6189 | constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal | |
6190 | to Saved_Formal. | |
6191 | Freeze all eligible subprograms which appear as actuals in | |
6192 | the instantiation. | |
6193 | (Has_Fully_Defined_Profile): New routine. | |
6194 | (Renames_Standard_Subprogram): New routine. | |
6195 | (Earlier): Add local variable N. Comment update. Do not use source | |
6196 | locations when trying to determine whether one node precedes another. | |
6197 | ||
6198 | 2012-01-23 Gary Dismukes <dismukes@adacore.com> | |
6199 | ||
6200 | * exp_ch4.adb (Expand_Concatenate): In the case | |
6201 | where the result of a concatentation can be null, set the to | |
6202 | result have both the low and high bounds of the right operand (not | |
6203 | just the high bound, as was the case prior to this fix). Also, | |
6204 | fix the saved high bound setting (Last_Opnd_High_Bound) in the | |
6205 | empty string literal case (should have been low bound minus one, | |
6206 | rather than plus one). | |
6207 | ||
6208 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
6209 | ||
6210 | * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not | |
6211 | omit statement SCOs for disabled pragmas. | |
6212 | ||
dee4c239 | 6213 | 2012-01-23 Matthew Heaney <heaney@adacore.com> |
6214 | ||
6215 | * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads, | |
6216 | a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads, | |
6217 | a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads, | |
6218 | a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read, | |
6219 | Cursor'Write): Declare in private part. | |
6220 | (Reference_Type'Read, Reference_Type'Write): Ditto. | |
6221 | (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto. | |
6222 | ||
25122b4c | 6223 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6224 | ||
6225 | * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor | |
6226 | reformatting. | |
6227 | ||
98108069 | 6228 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> |
6229 | ||
6230 | * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the | |
6231 | Corresponding_Body on a defaulted null formal subprogram. | |
6232 | * sem_ch12.adb (Check_Formal_Package_Instance): No check needed | |
6233 | on a defaulted formal subprogram that is a null procedure. | |
6234 | ||
6235 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
6236 | ||
6237 | * exp_ch9.adb: Update the comments involving pragma Implemented. | |
6238 | * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local | |
6239 | constant Subp_Alias and local variable Impl_Subp. Properly | |
6240 | handle aliases of synchronized wrappers. Code cleanup. | |
6241 | (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add | |
6242 | Name_Optional as part of the condition. | |
6243 | * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the | |
6244 | valid choices of implementation kind. | |
6245 | (Check_Arg_Is_One_Of): New routine. | |
6246 | * snames.ads-tmlp: Add Name_Optional. | |
6247 | ||
6248 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
6249 | ||
6250 | * par-ch13.adb: Better error recovery in illegal aspect | |
6251 | specification. | |
6252 | ||
6253 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
6254 | ||
6255 | * a-calend.adb: Add with clause for Interfaces.C. Add constant | |
6256 | Unix_Max. | |
6257 | (Day_Of_Week): Call the internal UTC_Time_Offset. | |
6258 | (Split): Call the internal UTC_Time_Offset. | |
6259 | (Time_Of): Call the internal UTC_Time_Offset. | |
6260 | (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset. | |
6261 | (UTC_Time_Offset): New library-level routine. | |
6262 | * a-calend.ads (UTC_Time_Offset): Remove parameter | |
6263 | Is_Historic. Update related comment on usage. | |
6264 | * a-catizo.adb (UTC_Time_Offset): Removed. | |
6265 | (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset. | |
6266 | * a-caltizo.ads (UTC_Time_Offset): Removed. | |
6267 | (UTC_Time_Offset (Time)): Add back the default expression of parameter | |
6268 | Date. | |
6269 | ||
f65e883c | 6270 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6271 | ||
6272 | * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter | |
6273 | (pg,po,ps): Make sure each entry starts on new line. | |
6274 | ||
6275 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
6276 | ||
6277 | * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update | |
6278 | the parameter profile of procedure localtime_tzoff and its associated | |
6279 | comment. | |
6280 | (Day_Of_Week): Do not treat the input date as historical | |
6281 | with respect to time zones. | |
6282 | (Split): Do not treat the input | |
6283 | date as historical with respect to time zones. (Time_Of): Do | |
6284 | not treat the input constituents as forming a historical date | |
6285 | with respect to time zones. | |
6286 | (UTC_Time_Offset): Add new formal | |
6287 | parameter Is_Historic. Add local variable Flag. Update the call | |
6288 | to localtime_tzoff. | |
6289 | * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine. | |
6290 | (UTC_Time_Offset (Time)): Update the call to | |
6291 | Time_Zone_Operations.UTC_Time_Offset. | |
6292 | * sysdep.c (__gnat_localtime_tzoff): Update parameter | |
6293 | profile. Split the processing of offsets on Windows into two - one | |
6294 | part of historic time stamps and the other for the current time. | |
6295 | ||
6d852e2b | 6296 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6297 | ||
6298 | * a-calend.adb: Minor reformatting. | |
6299 | ||
6300 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
6301 | ||
6302 | * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized | |
6303 | interface in requeue statement. | |
6304 | ||
6305 | 2012-01-23 Cyrille Comar <comar@adacore.com> | |
6306 | ||
6307 | * projects.texi: Remove references to main units and replace | |
6308 | with references to main programs to be coherent with the | |
6309 | documentation. | |
6310 | ||
cb9cb2d7 | 6311 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6312 | ||
6313 | * s-utf_32.adb: Minor reformatting. | |
6314 | ||
6315 | 2012-01-23 Vincent Celier <celier@adacore.com> | |
6316 | ||
6317 | * snames.ads-tmpl: Minor comment addition Indicate that | |
6318 | Name_Library_Encapsulated_Options is only used in gprbuild. | |
6319 | ||
49213728 | 6320 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6321 | ||
6322 | * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit | |
6323 | restrictions. | |
6324 | ||
6325 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
6326 | ||
6327 | * snames.ads-tmpl: Add Name_Synchronization. | |
6328 | * aspects.ads, aspects.adb: Add Aspect_Synchronization to | |
6329 | enumeration type and related maps. | |
6330 | * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect | |
6331 | Synchronization, build corresponding pragma Implemented. | |
6332 | * sem_util.adb (Implementation_Kind): Handle both explicit and | |
6333 | implicit pragma_argument association to retrieve the given | |
6334 | synchronization mode. | |
6335 | ||
bc3646ef | 6336 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
6337 | ||
6338 | * sem_ch10.adb, errout.adb: Minor reformatting. | |
6339 | ||
6340 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
6341 | ||
6342 | * sem_res.adb (Resolve_Actuals): An actual in a call to an | |
6343 | Ada 2012 Reference function does not lead to a dangerous order | |
6344 | dependence. | |
6345 | ||
6daf2e31 | 6346 | 2012-01-23 Gary Dismukes <dismukes@adacore.com> |
6347 | ||
6348 | * exp_util.adb (Is_Iterated_Container): Test | |
6349 | Is_Entity_Name when searching for calls to the default iterator, | |
6350 | to avoid blowing up on indirect calls which have an explicit | |
6351 | dereference as the call name. | |
6352 | ||
6353 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
6354 | ||
6355 | * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output | |
6356 | the complete expanded name, rather than just its Selector_Name. | |
6357 | ||
6358 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
6359 | ||
6360 | * a-textio.adb (Put): Rewrite one-parameter Character version to | |
6361 | just call the two-parameter one with Current_Out. | |
6362 | ||
2691091b | 6363 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
6364 | ||
6365 | * freeze.adb (Check_Current_Instance): Issue an | |
6366 | error when the prefix of 'Unchecked_Access or 'Access does not | |
6367 | denote a legal aliased view of a type. | |
6368 | (Freeze_Record_Type): Do not halt the processing of record components | |
6369 | once the Has_Controlled_Component is set as this bypasses the remaining | |
6370 | checks. | |
6371 | (Is_Aliased_View_Of_Type): New routine. | |
6372 | ||
6373 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
6374 | ||
6375 | * errout.ads, freeze.adb: Minor reformatting. | |
6376 | ||
6377 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
6378 | ||
6379 | * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error | |
6380 | messages. | |
6381 | ||
6382 | 2012-01-23 Olivier Hainque <hainque@adacore.com> | |
6383 | ||
6384 | * adadecode.c (__gnat_decode): Deal with empty input early, | |
6385 | preventing potential erroneous memory access later on. | |
6386 | ||
465cee25 | 6387 | 2012-01-21 Eric Botcazou <ebotcazou@adacore.com> |
6388 | ||
6389 | PR ada/46192 | |
6390 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a | |
6391 | renaming, preserve the volatileness through the indirection, if any. | |
6392 | ||
cfe97a8d | 6393 | 2012-01-14 Andreas Schwab <schwab@linux-m68k.org> |
6394 | ||
6395 | * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add | |
6396 | $(GNATLIBCFLAGS). | |
6397 | ||
ae8e99a3 | 6398 | 2012-01-10 Pascal Obry <obry@adacore.com> |
6399 | ||
6400 | * prj-nmsc.adb (Check_Library_Attributes): | |
6401 | Kill check for object/source directories for aggregate libraries. | |
6402 | ||
6403 | 2012-01-10 Matthew Heaney <heaney@adacore.com> | |
6404 | ||
6405 | * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb, | |
6406 | a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads, | |
6407 | a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb, | |
6408 | a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads, | |
6409 | a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb, | |
6410 | a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb, | |
6411 | a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb, | |
6412 | a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads, | |
6413 | a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare | |
6414 | container parameter as aliased in/in out. | |
6415 | Code clean ups. | |
6416 | ||
6417 | 2012-01-10 Bob Duff <duff@adacore.com> | |
6418 | ||
6419 | * s-os_lib.ads: Improve comment. | |
6420 | ||
6421 | 2012-01-10 Geert Bosch <bosch@adacore.com> | |
6422 | ||
6423 | * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing | |
6424 | for complex Scalar. | |
6425 | ||
43537c96 | 6426 | 2012-01-10 Bob Duff <duff@adacore.com> |
6427 | ||
6428 | * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when | |
6429 | checking that the 'Size is correct. If the type is "mod 2**12", | |
6430 | for example, it's illegal, but Esize is the 'Object_Size, which | |
6431 | will be something like 16 or 32, so the error ('Size = 12) was | |
6432 | not detected. | |
6433 | * gnat_rm.texi: Improve documentation of shift | |
6434 | and rotate intrinsics. | |
6435 | ||
6436 | 2012-01-10 Pascal Obry <obry@adacore.com> | |
6437 | ||
6438 | * prj.adb (For_Every_Project_Imported): Fix | |
6439 | implementation to make sure we return each project only once | |
6440 | for aggragte libraries. It is fine to return a project twice for | |
6441 | aggregate projects, this was the case as a Project_Id is different | |
6442 | in each project tree. The new implementation use a table based on | |
6443 | the project name to ensure proper detection of duplicate project | |
6444 | in aggregate library. A new context is then created to continue | |
6445 | retrurning duplicate project for aggregate libraries. | |
6446 | ||
5c0db21d | 6447 | 2012-01-09 Eric Botcazou <ebotcazou@adacore.com> |
6448 | ||
6449 | * gcc-interface/trans.c (call_to_gnu): Create the temporary for the | |
6450 | return value in the variable-sized return type case if the target is | |
6451 | an array with fixed size. However, do not create it if this is the | |
6452 | expression of an object declaration. | |
6453 | ||
2f7233cb | 6454 | 2012-01-09 Eric Botcazou <ebotcazou@adacore.com> |
6455 | ||
6456 | * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko. | |
6457 | ||
c8e4bf42 | 6458 | 2012-01-06 Robert Dewar <dewar@adacore.com> |
6459 | ||
6460 | * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads, | |
6461 | s-utf_32.ads: Add pragma Pure | |
6462 | * s-utf_32.adb: Suppress warnings on non-static constants (now | |
6463 | that this is Pure). | |
6464 | ||
6465 | 2012-01-06 Bob Duff <duff@adacore.com> | |
6466 | ||
6467 | * s-rpc.ads (Read, Write): Add overriding indicators. | |
6468 | ||
6469 | 2012-01-06 Robert Dewar <dewar@adacore.com> | |
6470 | ||
6471 | * gnat_rm.texi: Add documentation for conventions | |
6472 | Ada_Pass_By_Copy and Ada_Pass_By_Reference. | |
6473 | ||
6474 | 2012-01-06 Gary Dismukes <dismukes@adacore.com> | |
6475 | ||
6476 | * a-tienio.adb (Put): Add exception message on | |
6477 | raise statements. Remove unneeded blocks and object declarations. | |
6478 | ||
6479 | 2012-01-06 Robert Dewar <dewar@adacore.com> | |
6480 | ||
6481 | * sem_prag.adb: Minor reformatting. | |
6482 | ||
6483 | 2012-01-06 Ed Schonberg <schonberg@adacore.com> | |
6484 | ||
6485 | * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate | |
6486 | that a selected component within a generic unit has been resolved | |
6487 | as a prefixed call with local references. | |
6488 | * sem_ch3.adb (Is_Visible_Component): In an instance body a selected | |
6489 | component is always visible. | |
6490 | * sem_ch4.adb (Analyze_Selected_Component): If the node is a | |
6491 | prefixed call in an instance, do not look for visible components | |
6492 | of the type. | |
6493 | * sem_ch12.adb (Reset_Entity): If a selected component has resolved | |
6494 | to a prefixed call, mark the node accordingly when prefix and | |
6495 | selector are local references. | |
6496 | ||
4e6fa7c5 | 6497 | 2012-01-02 Eric Botcazou <ebotcazou@adacore.com> |
6498 | ||
6499 | * gnatvsn.ads (Current_Year): Bump to 2012. | |
7dfbd804 | 6500 | \f |
8dfa851a | 6501 | Copyright (C) 2012 Free Software Foundation, Inc. |
7dfbd804 | 6502 | |
6503 | Copying and distribution of this file, with or without modification, | |
6504 | are permitted in any medium without royalty provided the copyright | |
6505 | notice and this notice are preserved. |