Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/ChangeLog-2006 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 2006-12-07 Geoffrey Keating <geoffk@apple.com> | |
2 | |
3 * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE. | |
4 * adaint.c: Likewise. | |
5 | |
6 2006-12-05 Aldy Hernandez <aldyh@redhat.com> | |
7 | |
8 Merge from gimple-tuples-branch: | |
9 2006-11-02 Aldy Hernandez <aldyh@redhat.com> | |
10 | |
11 * ada-tree.h (lang_tree_node): Handle gimple tuples. | |
12 * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with | |
13 GIMPLE_MODIFY_STMT. | |
14 | |
15 2006-12-02 Kazu Hirata <kazu@codesourcery.com> | |
16 | |
17 * Makefile.in, mingw32.h, trans.c: Fix comment typos. | |
18 * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions. | |
19 Fix typos. | |
20 | |
21 2006-11-17 Eric Botcazou <ebotcazou@adacore.com> | |
22 | |
23 PR ada/27936 | |
24 * trans.c (add_decl_expr): Do not dynamically elaborate padded objects | |
25 if the initializer takes into account the padding. | |
26 | |
27 2006-11-11 Richard Guenther <rguenther@suse.de> | |
28 | |
29 * trans.c (maybe_stabilize_reference): Remove handling of | |
30 FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR. | |
31 | |
32 2006-11-05 Arnaud Charlet <charlet@adacore.com> | |
33 | |
34 PR ada/29707 | |
35 * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads | |
36 (To_Target_Priority): New function. | |
37 | |
38 2006-10-31 Robert Dewar <dewar@adacore.com> | |
39 | |
40 * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb, | |
41 a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb, | |
42 s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb, | |
43 a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, | |
44 a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, | |
45 a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb, | |
46 a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb, | |
47 a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb, | |
48 a-szbzha.adb: Minor reformatting. Fix header. | |
49 | |
50 * a-numaux-x86.adb: Add parentheses for use of unary minus | |
51 * a-ngcefu.adb: Supply missing parentheses for unary minus | |
52 * a-ngcoty.adb: Add parens for use of unary minus | |
53 * a-ngelfu.adb: Add missing parens for unary minus | |
54 * a-tifiio.adb: Add parentheses for uses of unary minus | |
55 | |
56 2006-10-31 Robert Dewar <dewar@adacore.com> | |
57 Bob Duff <duff@adacore.com> | |
58 Ed Schonberg <schonberg@adacore.com> | |
59 | |
60 * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus | |
61 with multiplying operator. | |
62 (Expected_Type_Is_Any_Real): New function to determine from the Parent | |
63 pointer whether the context expects "any real type". | |
64 (Resolve_Arithmetic_Op): Do not give an error on calls to the | |
65 universal_fixed "*" and "/" operators when they are used in a context | |
66 that expects any real type. Also set the type of the node to | |
67 Universal_Real in this case, because downstream processing requires it | |
68 (mainly static expression evaluation). | |
69 Reword some continuation messages | |
70 Add some \\ sequences to continuation messages | |
71 (Resolve_Call): Refine infinite recursion case. The test has been | |
72 sharpened to eliminate some false positives. | |
73 Check for Current_Task usage now includes entry barrier, and is now a | |
74 warning, not an error. | |
75 (Resolve): If the call is ambiguous, indicate whether an interpretation | |
76 is an inherited operation. | |
77 (Check_Aggr): When resolving aggregates, skip associations with a box, | |
78 which are priori correct, and will be replaced by an actual default | |
79 expression in the course of expansion. | |
80 (Resolve_Type_Conversion): Add missing support for conversion from | |
81 a class-wide interface to a tagged type. Minor code cleanup. | |
82 (Valid_Tagged_Converion): Add support for abstact interface type | |
83 conversions. | |
84 (Resolve_Selected_Component): Call Generate_Reference here rather than | |
85 during analysis, and use May_Be_Lvalue to distinguish read/write. | |
86 (Valid_Array_Conversion): New procedure, abstracted from | |
87 Valid_Conversion, to incorporate accessibility checks for arrays of | |
88 anonymous access types. | |
89 (Valid_Conversion): For a conversion to a numeric type occurring in an | |
90 instance or inlined body, no need to check that the operand type is | |
91 numeric, since this has been checked during analysis of the template. | |
92 Remove legacy test for scope name Unchecked_Conversion. | |
93 | |
94 * sem_res.ads: Minor reformatting | |
95 | |
96 * a-except.adb, a-except-2005.adb: Turn off subprogram ordering | |
97 (PE_Current_Task_In_Entry_Body): New exception code | |
98 (SE_Restriction_Violation): Removed, not used | |
99 | |
100 * a-except.ads: Update comments. | |
101 | |
102 * types.h, types.ads: Add definition for Validity_Check | |
103 (PE_Current_Task_In_Entry_Body): New exception code | |
104 (SE_Restriction_Violation): Removed, not used | |
105 | |
106 2006-10-31 Thomas Quinot <quinot@adacore.com> | |
107 | |
108 * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned | |
109 error status. | |
110 | |
111 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> | |
112 Jose Ruiz <ruiz@adacore.com> | |
113 | |
114 * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private | |
115 part of Ada.Calendar: all subprogram raise Unimplemented. | |
116 (Split_W_Offset): Temp function body, raising Unimplemented | |
117 | |
118 * a-calend.ads, a-calend-vms.ads: | |
119 Add imported variable Invalid_TZ_Offset used to designate targets unable | |
120 to support time zones. | |
121 (Unimplemented): Temporary function raised by the body of new | |
122 subprograms below. | |
123 (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This | |
124 unit provides handling of leap seconds and is used by the new Ada 2005 | |
125 packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting. | |
126 (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This | |
127 version returns an extra value which is the offset to UTC. | |
128 | |
129 * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff. | |
130 (Leap_Sec_Ops): New body for package in private part of Ada.Calendar. | |
131 (Split_W_Offset): New function body. | |
132 (Time_Of): When a date is close to UNIX epoch, compute the time for | |
133 that date plus one day (that amount is later substracted after | |
134 executing mktime) so there are no problems with time zone adjustments. | |
135 | |
136 * a-calend-mingw.adb: Remove Windows specific version no longer needed. | |
137 | |
138 * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb, | |
139 a-catizo.ads, a-catizo.adb: New files. | |
140 | |
141 * impunit.adb: Add new Ada 2005 entries | |
142 | |
143 * sysdep.c: Add external variable __gnat_invalid_tz_offset. | |
144 Rename all occurences of "__gnat_localtime_r" to | |
145 "__gnat_localtime_tzoff". | |
146 (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time | |
147 zone data and calculate the GMT offset. | |
148 (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64): | |
149 Use the field "tm_gmtoff" to extract the GMT offset. | |
150 (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use | |
151 the external variable "timezone" to calculate the GMT offset. | |
152 | |
153 2006-10-31 Arnaud Charlet <charlet@adacore.com> | |
154 Jose Ruiz <ruiz@adacore.com> | |
155 | |
156 * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb, | |
157 s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads, | |
158 s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads, | |
159 s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from | |
160 System.Any_Priority to a POSIX priority on the target. | |
161 | |
162 * system-linux-ia64.ads: | |
163 Extend range of Priority types on Linux to use the whole range made | |
164 available by the system. | |
165 | |
166 * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New | |
167 function maps from System.Any_Priority to a POSIX priority on the | |
168 target. | |
169 (PTHREAD_PRIO_PROTECT): Set real value. | |
170 (PTHREAD_PRIO_INHERIT): Now a function. | |
171 (SIGCPUFAIL): New signal. | |
172 (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals | |
173 are documented as reserved by the OS. | |
174 | |
175 * system-aix.ads: Use the full range of priorities provided by the | |
176 system on AIX. | |
177 | |
178 * s-taprop-posix.adb: Call new function To_Target_Priority. | |
179 (Set_Priority): Take into account Task_Dispatching_Policy and | |
180 Priority_Specific_Dispatching pragmas when determining if Round Robin | |
181 must be used for scheduling the task. | |
182 | |
183 * system-linux-x86_64.ads, system-linux-x86.ads, | |
184 system-linux-ppc.ads: Extend range of Priority types on Linux to use | |
185 the whole range made available by the system. | |
186 | |
187 * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb, | |
188 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb, | |
189 s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache | |
190 when deallocating the TCB in order to avoid potential references to | |
191 deallocated data. | |
192 (Set_Priority): Take into account Task_Dispatching_Policy and | |
193 Priority_Specific_Dispatching pragmas when determining if Round Robin | |
194 or FIFO within priorities must be used for scheduling the task. | |
195 | |
196 * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in | |
197 the Thread field (to be used internally by the run-time system) and the | |
198 kernel-level task id in the LWP field (to be used by the debugger). | |
199 (Create_Task): Reorganize to unify the calls to taskSpawn into a single | |
200 instance, and propagate the current task options to the spawned task. | |
201 (Set_Priority): Take into account Priority_Specific_Dispatching pragmas. | |
202 (Initialize): Set Round Robin dispatching when the corresponding pragma | |
203 is in effect. | |
204 | |
205 2006-10-31 Robert Dewar <dewar@adacore.com> | |
206 | |
207 * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, | |
208 system-linux-hppa.ads, system-hpux-ia64.ads, | |
209 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads, | |
210 system-vxworks-sparcv9.ads, system-solaris-x86.ads, | |
211 system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, | |
212 system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads, | |
213 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, | |
214 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, | |
215 system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off, | |
216 Default_Bit_Order) to kill constant condition warnings for references | |
217 to this switch. | |
218 | |
219 2006-10-31 Vincent Celier <celier@adacore.com> | |
220 Eric Botcazou <ebotcazou@adacore.com> | |
221 | |
222 * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb, | |
223 mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, | |
224 mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of | |
225 Ext_To, when building the library file name | |
226 | |
227 * mlib-tgt-vxworks.adb: ditto. | |
228 (Get_Target_Suffix): Add support for x86 targets. | |
229 | |
230 * mlib-fil.ads, mlib-fil.adb: (Append_To): New function | |
231 | |
232 * mlib-tgt-darwin.adb: | |
233 Use Append_To, instead of Ext_To, when building the library file name | |
234 (Flat_Namespace): New global variable. | |
235 (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options. | |
236 (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options. | |
237 (Link_Shared_Libgcc): Delete. | |
238 (Build_Dynamic_Library): Adjust for above changes. | |
239 Use Opt package. | |
240 (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later. | |
241 | |
242 2006-10-31 Eric Botcazou <ebotcazou@adacore.com> | |
243 | |
244 * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer. | |
245 (Initialize): Add type conversions required by above change. | |
246 | |
247 2006-10-31 Jose Ruiz <ruiz@adacore.com> | |
248 | |
249 * s-osinte-vxworks.ads, s-osinte-vxworks.adb: | |
250 (getpid): New body for this function that uses the underlying taskIdSelf | |
251 function for VxWorks 5 and VxWorks 6 in kernel mode. | |
252 (unsigned_int): New type, modular to allow logical bit operations. | |
253 (taskOptionsGet): New imported function. | |
254 | |
255 * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP | |
256 field to be compliant with the type used by the corresponding operating | |
257 system primitive. | |
258 | |
259 2006-10-31 Pascal Obry <obry@adacore.com> | |
260 Eric Botcazou <ebotcazou@adacore.com> | |
261 Vincent Celier <celier@adacore.com> | |
262 | |
263 * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the | |
264 ASCII version of the registry API. This is needed as the GNAT runtime | |
265 is now UNICODE by default. | |
266 Include version.h. | |
267 (get_gcc_version): Do not hardcode the return value. | |
268 (__gnat_file_time_name): On Windows properly set the default returned | |
269 value to -1 which corresponds to Invalid_Time. | |
270 (__gnat_fopen): New routine. A simple wrapper on all plateforms | |
271 except on Windows where it does conversion for unicode support. | |
272 (__gnat_freopen): Idem. | |
273 (__gnat_locate_exec_on_path): If environment variable PATH does not | |
274 exist, return a NULL pointer | |
275 | |
276 * adaint.h: (__gnat_fopen): Declare. | |
277 (__gnat_freopen): Likewise. | |
278 | |
279 * mingw32.h (_tfreopen): Define this macro here for older MingW | |
280 version. | |
281 Activate the unicode support on platforms using a MingW runtime | |
282 version 3.9 or newer. | |
283 | |
284 * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen. | |
285 This is needed for proper unicode support on Windows. | |
286 (freopen): Idem. | |
287 | |
288 2006-10-31 Eric Botcazou <ebotcazou@adacore.com> | |
289 Nicolas Setton <setton@adacore.com> | |
290 Olivier Hainque <hainque@adacore.com> | |
291 Gary Dismukes <dismukes@adacore.com> | |
292 | |
293 * gigi.h: (tree_code_for_record_type): Declare. | |
294 (add_global_renaming_pointer): Rename to record_global_renaming_pointer. | |
295 (get_global_renaming_pointers): Rename to | |
296 invalidate_global_renaming_pointers. | |
297 (static_ctors): Delete. | |
298 (static_dtors): Likewise. | |
299 (gnat_write_global_declarations): Declare. | |
300 (create_var_decl): Adjust descriptive comment to indicate that the | |
301 subprogram may return a CONST_DECL node. | |
302 (create_true_var_decl): Declare new function, similar to | |
303 create_var_decl but forcing the creation of a VAR_DECL node. | |
304 (get_global_renaming_pointers): Declare. | |
305 (add_global_renaming_pointer): Likewise. | |
306 | |
307 * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro. | |
308 | |
309 * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type | |
310 tree before setting TREE_ADDRESSABLE for by-reference return mechanism | |
311 processing. | |
312 (gnat_to_gnu_entity): Remove From_With_Type from computation for | |
313 imported_p. | |
314 <E_Access_Type>: Use the Non_Limited_View as the full view of the | |
315 designated type if the pointer comes from a limited_with clause. Make | |
316 incomplete designated type if it is in the main unit and has a freeze | |
317 node. | |
318 <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and | |
319 Underlying_Full_View similarly. Return earlier if the full view already | |
320 has an associated tree. | |
321 (gnat_to_gnu_entity) <E_Record_Type>: Restore comment. | |
322 (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type. | |
323 (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the | |
324 reference type built for objects with an address clause. | |
325 Use create_true_var_decl with const_flag set for | |
326 DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with | |
327 TREE_READONLY set. | |
328 (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME | |
329 for Character and Wide_Character types. This info is read by the | |
330 dwarf-2 writer, and is needed to be able to use the command "ptype | |
331 character" in the debugger. | |
332 (gnat_to_gnu_entity): When generating a type representing | |
333 a Character or Wide_Character type, set the flag TYPE_STRING_FLAG, | |
334 so that debug writers can distinguish it from ordinary integers. | |
335 (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in | |
336 addition to TREE_READONLY to assert the constantness of variables for | |
337 elaboration purposes. | |
338 (gnat_to_gnu_entity, subprogram cases): Change loops on formal | |
339 parameters to call new Einfo function First_Formal_With_Extras. | |
340 (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a | |
341 protected type with its corresponding discriminant, to obtain a usable | |
342 declaration | |
343 (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared | |
344 for a multiple elaboration of the "equivalent" type. | |
345 (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer | |
346 into record_global_renaming_pointer. | |
347 (gnat_to_gnu_entity) <E_Array_Type>: Do not force | |
348 TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate. | |
349 <E_Array_Subtype>: Likewise. | |
350 (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular | |
351 incomplete subtypes and incomplete subtypes of incomplete types visible | |
352 through a limited with clause. | |
353 (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of | |
354 the base index type for the maximum size of the array only if they are | |
355 constant. | |
356 (gnat_to_gnu_entity, renaming object case): Do not wrap up the | |
357 expression into a SAVE_EXPR if stabilization failed. | |
358 | |
359 * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of | |
360 a result decl into DECL_BY_REFERENCE on this decl, now what is expected | |
361 by lower level compilation passes. | |
362 (gnat_genericize): New function, lowering a function body to GENERIC. | |
363 Turn the type of RESULT_DECL into a real reference type if the decl | |
364 has been marked DECL_BY_REFERENCE, and adjust references to the latter | |
365 accordingly. | |
366 (gnat_genericize_r): New function. Tree walking callback for | |
367 gnat_genericize. | |
368 (convert_from_reference, is_byref_result): New functions. Helpers for | |
369 gnat_genericize_r. | |
370 (create_type_decl): Call gnat_pushdecl before calling | |
371 rest_of_decl_compilation, to make sure that field TYPE_NAME of | |
372 type_decl is properly set before calling the debug information writers. | |
373 (write_record_type_debug_info): The heuristics which compute the | |
374 alignment of a field in a variant record might not be accurate. Add a | |
375 safety test to make sure no alignment is set to a smaller value than | |
376 the alignment of the field type. | |
377 (make_dummy_type): Use the Non_Limited_View as the underlying type if | |
378 the type comes from a limited_with clause. Do not loop on the full view. | |
379 (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros. | |
380 (dummy_node_table): New global variable, moved from decl.c. | |
381 (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros. | |
382 (save_gnu_tree): Use above macros. | |
383 (get_gnu_tree): Likewise. | |
384 (present_gnu_tree): Likewise. | |
385 (init_dummy_type): New function, moved from decl.c. Use above macros. | |
386 (make_dummy_type): Likewise. | |
387 (tree_code_for_record_type): New function extracted from make_dummy_type | |
388 (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc. | |
389 (static_ctors): Change it to a vector, make static. | |
390 (static_dtors): Likewise. | |
391 (end_subprog_body): Adjust for above change. | |
392 (build_global_cdtor): Moved from trans.c. | |
393 (gnat_write_global_declarations): Emit global constructor and | |
394 destructor, and call cgraph_optimize before emitting debug info for | |
395 global declarations. | |
396 (global_decls): New global variable. | |
397 (gnat_pushdecl): Store the global declarations in global_decls, for | |
398 later use. | |
399 (gnat_write_global_declarations): Emit debug information for global | |
400 declarations. | |
401 (create_var_decl_1): Former create_var_decl, with an extra argument to | |
402 state whether the creation of a CONST_DECL is allowed. | |
403 (create_var_decl): Behavior unchanged. Now a wrapper around | |
404 create_var_decl_1 allowing CONST_DECL creation. | |
405 (create_true_var_decl): New function, similar to create_var_decl but | |
406 forcing the creation of a VAR_DECL node (CONST_DECL not allowed). | |
407 (create_field_decl): Do not always mark the field as addressable | |
408 if its type is an aggregate. | |
409 (global_renaming_pointers): New static variable. | |
410 (add_global_renaming_pointer): New function. | |
411 (get_global_renaming_pointers): Likewise. | |
412 | |
413 * misc.c (gnat_dwarf_name): New function. | |
414 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name. | |
415 (gnat_post_options): Add comment about structural alias analysis. | |
416 (gnat_parse_file): Do not call cgraph_optimize here. | |
417 (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations. | |
418 | |
419 * trans.c (process_freeze_entity): Don't abort if we already have a | |
420 non dummy GCC tree for a Concurrent_Record_Type, as it might | |
421 legitimately have been elaborated while processing the associated | |
422 Concurrent_Type prior to this explicit freeze node. | |
423 (Identifier_to_gnu): Do not make a variable referenced in a SJLJ | |
424 exception handler volatile if it is of variable size. | |
425 (process_type): Remove bypass for types coming from a limited_with | |
426 clause. | |
427 (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT | |
428 actual, convert the corresponding gnu_actual to the real destination | |
429 type when necessary. | |
430 (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables | |
431 originally TREE_READONLY but whose elaboration cannot be performed | |
432 statically. | |
433 Part of fix for F504-021. | |
434 (tree_transform, subprogram cases): Change loops on formal parameters to | |
435 call new Einfo function First_Formal_With_Extras. | |
436 (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow | |
437 stemming from type conversion for the lhs. | |
438 (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the | |
439 number of bits per unit for components of records. | |
440 (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed. | |
441 (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated | |
442 with At_End_Proc after the SJLJ EH cleanup. | |
443 (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main | |
444 compilation unit. | |
445 (elaborate_all_entities): Do not retest type_annotate_only. | |
446 (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the | |
447 result type of an abstract subprogram, which may be an itype associated | |
448 with an anonymous access result (related to AI-318-02). | |
449 (build_global_cdtor): Move to utils.c. | |
450 (Case_Statement_to_gnu): Avoid adding the choice of a when statement if | |
451 this choice is not a null tree nor an integer constant. | |
452 (gigi): Run unshare_save_expr via walk_tree_without_duplicates | |
453 on the body of elaboration routines instead of mark_unvisited. | |
454 (add_stmt): Do not mark the tree. | |
455 (add_decl_expr): Tweak comment. | |
456 (mark_unvisited): Delete. | |
457 (unshare_save_expr): New static function. | |
458 (call_to_gnu): Issue an error when making a temporary around a | |
459 procedure call because of non-addressable actual parameter if the | |
460 type of the formal is by_reference. | |
461 (Compilation_Unit_to_gnu): Invalidate the global renaming pointers | |
462 after building the elaboration routine. | |
463 | |
464 2006-10-31 Bob Duff <duff@adacore.com> | |
465 | |
466 * a-filico.adb (Finalize(List_Controller)): Mark the finalization list | |
467 as finalization-started, so we can raise Program_Error on 'new'. | |
468 | |
469 * s-finimp.adb: Raise Program_Error on 'new' if finalization of the | |
470 collection has already started. | |
471 | |
472 * s-finimp.ads (Collection_Finalization_Started): Added new special | |
473 flag value for indicating that a collection's finalization has started. | |
474 | |
475 * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to | |
476 create a task whose master has already waited for dependent tasks. | |
477 | |
478 2006-10-31 Robert Dewar <dewar@adacore.com> | |
479 | |
480 * lib.adb, lib.ads: (In_Predefined_Unit): New functions | |
481 | |
482 * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads, | |
483 a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads, | |
484 a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads, | |
485 a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads, | |
486 a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads, | |
487 a-except-2005.ads: Add pragma Preelaborable_Warning | |
488 | |
489 2006-10-31 Robert Dewar <dewar@adacore.com> | |
490 Jose Ruiz <ruiz@adacore.com> | |
491 | |
492 * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files. | |
493 | |
494 * ali.adb (Get_Name): Properly handle scanning of wide character names | |
495 encoded with brackets notation. | |
496 (Known_ALI_Lines): Add S lines to this list. | |
497 (Scan_ALI): Acquire S (priority specific dispatching) lines. | |
498 New flag Elaborate_All_Desirable in unit table | |
499 | |
500 * ali.ads (Priority_Specific_Dispatching): Add this range of | |
501 identifiers to be used for Priority_Specific_Dispatching table entries. | |
502 (ALIs_Record): Add First_Specific_Dispatching and | |
503 Last_Specific_Dispatching that point to the first and last entries | |
504 respectively in the priority specific dispatching table for this unit. | |
505 (Specific_Dispatching): Add this table for storing each S (priority | |
506 specific dispatching) line encountered in the input ALI file. | |
507 New flag Elaborate_All_Desirable in unit table | |
508 | |
509 * bcheck.adb: (Check_Configuration_Consistency): Add call to | |
510 Check_Consistent_Dispatching_Policy. | |
511 (Check_Consistent_Dispatching_Policy): Add this procedure in charge of | |
512 verifying that the use of Priority_Specific_Dispatching, | |
513 Task_Dispatching_Policy, and Locking_Policy is consistent across the | |
514 partition. | |
515 | |
516 * bindgen.adb: (Public_Version_Warning): function removed. | |
517 (Set_PSD_Pragma_Table): Add this procedure in charge of getting the | |
518 required information from ALI files in order to initialize the table | |
519 containing the specific dispatching policy. | |
520 (Gen_Adainit_Ada): Generate the variables required for priority specific | |
521 dispatching entries (__gl_priority_specific_dispatching and | |
522 __gl_num_specific_dispatching). | |
523 (Gen_Adainit_C): Generate the variables required for priority specific | |
524 dispatching entries (__gl_priority_specific_dispatching and | |
525 __gl_num_specific_dispatching). | |
526 (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching | |
527 pragma entries. | |
528 (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed. | |
529 (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures. | |
530 (Tab_To): Removed. | |
531 (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of | |
532 a call to gnat_set_globals. | |
533 Generate a string containing settings from | |
534 Priority_Specific_Dispatching pragma entries. | |
535 (Gen_Object_Files_Options): Do not include the runtime libraries when | |
536 pragma No_Run_Time is specified. | |
537 | |
538 * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for | |
539 consistency with s-intman-posix.adb. | |
540 (__gnat_error_handler, case FreeBSD): Account for the fact that the | |
541 handler is installed with SA_SIGINFO. | |
542 (__gnat_adjust_context_for_raise, FreeBSD case): New function for | |
543 FreeBSD ZCX support, copied from Linux version. | |
544 Add MaRTE-specific definitions for the linux target. Redefine sigaction, | |
545 sigfillset, and sigemptyset so the routines defined by MaRTE. | |
546 (__gl_priority_specific_dispatching): Add this variable that stores the | |
547 string containing priority specific dispatching policies in the | |
548 partition. | |
549 (__gl_num_specific_dispatching): Add this variable that indicates the | |
550 highest priority for which a priority specific dispatching pragma | |
551 applies. | |
552 (__gnat_get_specific_dispatching): Add this routine that returns the | |
553 priority specific dispatching policy, as set by a | |
554 Priority_Specific_Dispatching pragma appearing anywhere in the current | |
555 partition. The input argument is the priority number, and the result | |
556 is the upper case first character of the policy name. | |
557 (__gnat_set_globals): Now a dummy function. | |
558 (__gnat_handle_vms_condition): Feed adjust_context_for_raise with | |
559 mechargs instead of sigargs, as the latter can be retrieved from the | |
560 former and sigargs is not what we want on ia64. | |
561 (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the | |
562 mechargs argument. | |
563 (__gnat_adjust_context_for_raise, ia64-vms): New function. | |
564 (tasking_error): Remove unused symbol. | |
565 (_abort_signal): Move this symbol to the IRIX specific part since this | |
566 is the only target that uses this definition. | |
567 (Check_Abort_Status): Move this symbol to the IRIX specific part since | |
568 this is the only target that uses this definition. | |
569 (Lock_Task): Remove unused symbol. | |
570 (Unlock_Task): Remove unused symbol. | |
571 | |
572 * lib-writ.adb (Write_ALI): Output new S lines for | |
573 Priority_Specific_Dispatching pragmas. | |
574 Implement new flag BD for elaborate body desirable | |
575 | |
576 * lib-writ.ads: Document S lines for Priority Specific Dispatching. | |
577 (Specific_Dispatching): Add this table for storing the entries | |
578 corresponding to Priority_Specific_Dispatching pragmas. | |
579 Document new BD flag for elaborate body desirable | |
580 | |
581 * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list | |
582 of known pragmas. | |
583 | |
584 2006-10-31 Javier Miranda <miranda@adacore.com> | |
585 | |
586 * a-tags.ads, a-tags.adb: | |
587 (Predefined_DT): New function that improves readability of the code. | |
588 (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address, | |
589 Inherit_DT): Use the new function Predefined_DT to improve code | |
590 readability. | |
591 (Register_Interface_Tag): Update assertion. | |
592 (Set_Interface_Table): Update assertion. | |
593 (Interface_Ancestor_Tags): New subprogram required to implement AI-405: | |
594 determining progenitor interfaces in Tags. | |
595 (Inherit_CPP_DT): New subprogram. | |
596 | |
597 * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the | |
598 analysis of the thunk code. | |
599 (Expand_Interface_Conversion): Handle run-time conversion of | |
600 access to class wide types. | |
601 (Expand_Dispatching_Call): When generating the profile for the | |
602 subprogram itype for a dispatching operation, properly terminate the | |
603 formal parameters chaind list (set the Next_Entity of the last formal | |
604 to Empty). | |
605 (Collect_All_Interfaces): Removed. This routine has been moved to | |
606 sem_util and renamed as Collect_All_Abstract_Interfaces. | |
607 (Set_All_DT_Position): Hidden entities associated with abstract | |
608 interface primitives are not taken into account in the check for | |
609 3.9.3(10); this check is done with the aliased entity. | |
610 (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for | |
611 interfacing with CPP by default. | |
612 (Expand_Interface_Conversion): Add missing support for static conversion | |
613 from an interface to a tagged type. | |
614 (Collect_All_Interfaces): Add new out formal containing the list of | |
615 abstract interface types to cleanup the subprogram Make_DT. | |
616 (Make_DT): Update the code to generate the table of interfaces in case | |
617 of abstract interface types. | |
618 (Is_Predefined_Dispatching_Alias): New function that returns true if | |
619 a primitive is not a predefined dispatching primitive but it is an | |
620 alias of a predefined dispatching primitive. | |
621 (Make_DT): If the ancestor of the type is a CPP_Class and we are | |
622 compiling under full ABI compatibility mode we avoid the generation of | |
623 calls to run-time services that fill the dispatch tables because under | |
624 this mode we currently inherit the dispatch tables in the IP subprogram. | |
625 (Write_DT): Emit an "is null" indication for a null procedure primitive. | |
626 (Expand_Interface_Conversion): Use an address as the type of the formal | |
627 of the internally built function that handles the case in which the | |
628 target type is an access type. | |
629 | |
630 2006-10-31 Robert Dewar <dewar@adacore.com> | |
631 | |
632 * binde.adb (Better_Choice, Worse_Choice): Implement new preferences. | |
633 | |
634 2006-10-31 Robert Dewar <dewar@adacore.com> | |
635 | |
636 * bindusg.ads, bindusg.adb: | |
637 Change to package and rename procedure as Display, which | |
638 now ensures that it only outputs usage information once. | |
639 | |
640 2006-10-31 Jose Ruiz <ruiz@adacore.com> | |
641 | |
642 * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when | |
643 using RTPs. | |
644 | |
645 * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater | |
646 when using RTPs. | |
647 | |
648 2006-10-31 Robert Dewar <dewar@adacore.com> | |
649 Ed Schonberg <schonberg@adacore.com> | |
650 | |
651 * treepr.adb: Use new subtype N_Membership_Test | |
652 | |
653 * checks.ads, checks.adb: Add definition for Validity_Check | |
654 (Range_Or_Validity_Checks_Suppressed): New function | |
655 (Ensure_Valid): Test Validity_Check suppressed | |
656 (Insert_Valid_Check): Test Validity_Check suppressed | |
657 (Insert_Valid_Check): Preserve Do_Range_Check flag | |
658 (Validity_Check_Range): New procedure | |
659 (Expr_Known_Valid): Result of membership test is always valid | |
660 (Selected_Range_Checks): Range checks cannot be applied to discriminants | |
661 by themselves. Disabling those checks must also be done for task types, | |
662 where discriminants may be used for the bounds of entry families. | |
663 (Apply_Address_Clause_Check): Remove side-effects if address expression | |
664 is non-static and is not the name of a declared constant. | |
665 (Null_Exclusion_Static_Checks): Extend to handle Function_Specification. | |
666 Code cleanup and new error messages. | |
667 (Enable_Range_Check): Test for some cases of suppressed checks | |
668 (Generate_Index_Checks): Suppress index checks if index checks are | |
669 suppressed for array object or array type. | |
670 (Apply_Selected_Length_Checks): Give warning for compile-time detected | |
671 length check failure, even if checks are off. | |
672 (Ensure_Valid): Do not generate a check on an indexed component whose | |
673 prefix is a packed boolean array. | |
674 * checks.adb: (Alignment_Checks_Suppressed): New function | |
675 (Apply_Address_Clause_Check): New procedure, this is a completely | |
676 rewritten replacement for Apply_Alignment_Check | |
677 (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that | |
678 we request a discriminal value only in case of discriminants. | |
679 (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for | |
680 assignments where the target subtype is unconstrained and the target | |
681 object is a parameter or dereference (other aliased cases are known | |
682 to be unconstrained). | |
683 | |
684 2006-10-31 Robert Dewar <dewar@adacore.com> | |
685 | |
686 * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads, | |
687 prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads, | |
688 vms_conv.adb: Fix bad table increment values (much too small) | |
689 | |
690 * table.adb (Realloc): Make sure we get at least some new elements | |
691 Defends against silly small values for table increment | |
692 | |
693 2006-10-31 Robert Dewar <dewar@adacore.com> | |
694 Ed Schonberg <schonberg@adacore.com> | |
695 Bob Duff <duff@adacore.com> | |
696 | |
697 * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all | |
698 entities. Move other fields around to make this possible | |
699 (Is_Derived_Type): Add missing call to Is_Type. | |
700 (Extra_Formals): New function for subprograms, entries, subprogram | |
701 types. | |
702 (Set_Extra_Formals): New procedure for subprograms, entries, subp types. | |
703 (First_Formal_With_Extras): New function for subprogs, entries, subp | |
704 types. | |
705 (Write_Field28_Name): New procedure for node display of "Extra_Formals". | |
706 Add node information for E_Return_Statement. | |
707 (Elaborate_Body_Desirable): New flag | |
708 (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type | |
709 to be Is_Inherently_Limited_Type, because return-by-reference has | |
710 no meaning in Ada 2005. | |
711 (E_Return_Statement): New entity kind. | |
712 (Return_Applies_To): Field of E_Return_Statement. | |
713 (Is_Return_Object): New flag in object entities. | |
714 (Is_Dynamic_Scope): Make it True for E_Return_Statement. | |
715 (Must_Have_Preelab_Init): New flag | |
716 (Known_To_Have_Preelab_Init): New flag | |
717 (Is_Formal_Object): Move from Sem_Ch8 body to Einfo | |
718 (Is_Visible_Formal): New flag on entities in formal packages. | |
719 (Low_Bound_Known): New flag | |
720 (Non_Limited_View, Set_Non_Limited_View): Add membership test agains | |
721 Incomplete_Kind. | |
722 (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name | |
723 output when Id is an incomplete subtype. | |
724 | |
725 2006-10-31 Robert Dewar <dewar@adacore.com> | |
726 | |
727 * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m | |
728 Avoid abbreviation Creat | |
729 (Finalize): List all sources in extended mail source if -gnatl | |
730 switch is active. | |
731 Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set | |
732 (Finalize): Implement new -gnatl=xxx switch to output listing to file | |
733 (Set_Specific_Warning_On): New procedure | |
734 (Set_Specific_Warning_Off): New procedure | |
735 Add implementation of new insertion \\ | |
736 (Error_Msg_Internal): Add handling for Error_Msg_Line_Length | |
737 (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram | |
738 types. | |
739 (Error_Msg_Internal): Make sure that we set Last_Killed to | |
740 True when a message from another package is suppressed. | |
741 Implement insertion character ~ (insert string) | |
742 (First_Node): Minor adjustments to get better placement. | |
743 | |
744 * frontend.adb: | |
745 Implement new -gnatl=xxx switch to output listing to file | |
746 | |
747 * gnat1drv.adb: | |
748 Implement new -gnatl=xxx switch to output listing to file | |
749 | |
750 * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch | |
751 (Commands_To_Stdout): New flag | |
752 Implement new -gnatl=xxx switch to output listing to file | |
753 New switch Dump_Source_Text | |
754 (Warn_On_Deleted_Code): New warning flag for -gnatwt | |
755 Define Error_Msg_Line_Length | |
756 (Warn_On_Assumed_Low_Bound): New switch | |
757 | |
758 * osint.ads, osint.adb | |
759 (Normalize_Directory_Name): Fix bug. | |
760 Implement new -gnatl=xxx switch to output listing to file | |
761 (Concat): Removed, replaced by real concatenation | |
762 Make use of concatenation now allowed in compiler | |
763 (Executable_Prefix.Get_Install_Dir): First get the full path, so that | |
764 we find the 'lib' or 'bin' directory even when the tool has been | |
765 invoked with a relative path. | |
766 (Executable_Name): New function taking string parameters. | |
767 | |
768 * osint-c.ads, osint-c.adb: | |
769 Implement new -gnatl=xxx switch to output listing to file | |
770 | |
771 * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File | |
772 | |
773 * switch-c.adb: | |
774 Implement new -gnatl=xxx switch to output listing to file | |
775 Recognize new -gnatL switch | |
776 (no longer keep in old warning about old style usage) | |
777 Use concatenation to simplify code | |
778 Recognize -gnatjnn switch | |
779 (Scan_Front_End_Switches): Clean up handling of -gnatW | |
780 (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg | |
781 | |
782 2006-10-31 Robert Dewar <dewar@adacore.com> | |
783 | |
784 * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure | |
785 (Set_Specific_Warning_Off): New procedure | |
786 (Warning_Specifically_Suppressed): New function | |
787 (Validate_Specific_Warnings): New procedure | |
788 (Output_Msg_Text): Complete rewrite to support -gnatjnn | |
789 | |
790 * err_vars.ads: Implement insertion character ~ (insert string) | |
791 | |
792 2006-10-31 Bob Duff <duff@adacore.com> | |
793 Ed Schonberg <schonberg@adacore.com> | |
794 | |
795 * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if | |
796 the parent part is a build-in-place function call, generate assignments. | |
797 (Expand_Record_Aggregate): Call Convert_To_Assignments if any components | |
798 are build-in-place function calls. | |
799 (Replace_Self_Reference): New subsidiary of | |
800 Make_OK_Assignment_Statement, to replace an access attribute that is a | |
801 self-reference into an access to the appropriate component of the | |
802 target object. Generalizes previous mechanism to handle self-references | |
803 nested at any level. | |
804 (Is_Self_Referential_Init): Remove, not needed. | |
805 (Is_Self_Referential_Init): New predicate to simplify handling of self | |
806 referential components in record aggregates. | |
807 (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to | |
808 check for presence of entity before checking for self-reference. | |
809 (Has_Default_Init_Comps): Return True if a component association is a | |
810 self-reference to the enclosing type, which can only come from a | |
811 default initialization. | |
812 (Make_OK_Assignment_Statement): If the expression is of the form | |
813 Typ'Acc, where Acc is an access attribute, the expression comes from a | |
814 default initialized self-referential component. | |
815 (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type | |
816 that has been derived from several abstract interfaces we must also | |
817 initialize the tags of the secondary dispatch tables. | |
818 | |
819 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
820 Thomas Quinot <quinot@adacore.com> | |
821 Javier Miranda <miranda@adacore.com> | |
822 Robert Dewar <dewar@adacore.com> | |
823 | |
824 * exp_attr.adb: | |
825 (Expand_Access_To_Protected_Op): If the context indicates that an access | |
826 to a local operation may be transfered outside of the object, create an | |
827 access to the wrapper operation that must be used in an external call. | |
828 (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP | |
829 target, pass the Valid attribute applied to a floating-point prefix on | |
830 to the back end without expansion. | |
831 (Storage_Size): Use the new run-time function Storage_Size to retrieve | |
832 the allocated storage when it is specified by a per-object expression. | |
833 (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type. | |
834 Nothing to do here, the attribute has been rewritten during semantic | |
835 analysis. | |
836 (Expand_Attribute_Reference): Handle expansion of the new Priority | |
837 attribute | |
838 (Find_Fat_Info): Handle case of universal real | |
839 (Expand_Access_To_Protected_Op): Fix use of access to protected | |
840 subprogram from inside the body of a protected entry. | |
841 (Expand_Access_To_Protected_Op): Common procedure for the expansion of | |
842 'Access and 'Unrestricted_Access, to transform the attribute reference | |
843 into a fat pointer. | |
844 (Is_Constrained_Aliased_View): New predicate to help determine whether a | |
845 subcomponent's enclosing variable is aliased with a constrained subtype. | |
846 (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05, | |
847 test Is_Constrained_Aliased_View rather than Is_Aliased_View, because | |
848 an aliased prefix must be known to be constrained in order to use True | |
849 for the attribute value, and now it's possible for some aliased views | |
850 to be unconstrained. | |
851 | |
852 2006-10-31 Robert Dewar <dewar@adacore.com> | |
853 | |
854 * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue | |
855 (Expand_Entity_Reference): Correct error of not handling subprogram | |
856 formals in current_value processing. | |
857 | |
858 2006-10-31 Javier Miranda <miranda@adacore.com> | |
859 Robert Dewar <dewar@adacore.com> | |
860 Ed Schonberg <schonberg@adacore.com> | |
861 Gary Dismukes <dismukes@adacore.com> | |
862 | |
863 * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not | |
864 register in the final list objects containing class-wide interfaces; | |
865 otherwise we incorrectly register the tag of the interface in the final | |
866 list. | |
867 (Make_Controlling_Function_Wrappers): Add missing barrier to do not | |
868 generate the wrapper if the parent primitive is abstract. This is | |
869 required to report the correct error message. | |
870 (Expand_N_Subtype_Indication): Do validity checks on range | |
871 (Clean_Task_Names): If an initialization procedure includes a call to | |
872 initialize a task (sub)component, indicate that the procedure will use | |
873 the secondary stack. | |
874 (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI | |
875 compatibility for interfacing with CPP by default. | |
876 (Expand_N_Object_Declaration): Only build an Adjust call when the | |
877 object's type is a nonlimited controlled type. | |
878 * exp_ch3.adb: Add with and use of Exp_Ch6. | |
879 (Expand_N_Object_Declaration): Check for object initialization that is a | |
880 call to build-in-place function and apply Make_Build_In_Place_Call_In_ | |
881 Object_Declaration to the call. | |
882 (Freeze_Type): When the designated type of an RACW was not frozen at the | |
883 point where the RACW was declared, validate the primitive operations | |
884 with respect to E.2.2(14) when it finally is frozen. | |
885 (Build_Initialization_Call,Expand_Record_Controller): Rename | |
886 Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because | |
887 return-by-reference has no meaning in Ada 2005. | |
888 (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top | |
889 to register tag of the immediate ancestor interfaces in the | |
890 run-time structure. | |
891 (Init_Secondary_Tags): Moved to the specification to allow the | |
892 initialization of extension aggregates with abstract interfaces. | |
893 (Build_Master_Renaming): Make public, for use by function declarations | |
894 whose return type is an anonymous access type. | |
895 (Freeze_Record_Type): Replace call to Insert_List_Before by call to | |
896 Insert_List_Before_And_Analyze after the generation of the specs | |
897 associated with null procedures. | |
898 (Expand_Tagged_Root): Update documentation in its specification. | |
899 (Init_Secondary_Tags): Update documentation. | |
900 (Build_Init_Procedure): If we are compiling under CPP full ABI compa- | |
901 tibility mode and the immediate ancestor is a CPP_Pragma tagged type | |
902 then generate code to inherit the contents of the dispatch table | |
903 directly from the ancestor. | |
904 (Expand_Record_Controller): Insert controller component after tags of | |
905 implemented interfaces. | |
906 (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to | |
907 create null procedure overridings when null procedures are inherited | |
908 from interfaces. | |
909 (Make_Null_Procedure_Specs): New procedure to generate null procedure | |
910 declarations for overriding null primitives inherited from interfaces. | |
911 (Is_Null_Interface_Procedure): New function in | |
912 Make_Null_Procedure_Specs. | |
913 (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the | |
914 immediate ancestor of a tagged type is an abstract interface type we | |
915 must generate the specification of the predefined primitives associated | |
916 with controlled types (because the dispatch table of the ancestor is | |
917 null and hence these entries cannot be inherited). This is required to | |
918 elaborate well the dispatch table. | |
919 | |
920 2006-10-31 Javier Miranda <miranda@adacore.com> | |
921 Ed Schonberg <schonberg@adacore.com> | |
922 Bob Duff <duff@adacore.com> | |
923 Gary Dismukes <dismukes@adacore.com> | |
924 Robert Dewar <dewar@adacore.com> | |
925 | |
926 * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type | |
927 conversion. | |
928 (Expand_N_In): Do validity checks on range | |
929 (Expand_Selected_Component): Use updated for of Denotes_Discriminant. | |
930 (Expand_N_Allocator): For "new T", if the object is constrained by | |
931 discriminant defaults, allocate the right amount of memory, rather than | |
932 the maximum for type T. | |
933 (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects | |
934 when the allocator is initialized by a build-in-place call, since the | |
935 allocator is already rewritten as a reference to the function result, | |
936 and this prevents an unwanted duplication of the function call. | |
937 Add with and use of Exp_Ch6. | |
938 (Expand_Allocator_Expresssion): Check for an allocator whose expression | |
939 is a call to build-in-place function and apply | |
940 Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and | |
941 untagged designated types). | |
942 (Expand_N_Unchecked_Type_Conversion): Do not do integer literal | |
943 optimization if source or target is biased. | |
944 (Expand_N_Allocator): Add comments for case of an allocator within a | |
945 function that returns an anonymous access type designating tasks. | |
946 (Expand_N_Allocator): apply discriminant checks for access | |
947 discriminants of anonymous access types (AI-402, AI-416) | |
948 | |
949 2006-10-31 Bob Duff <duff@adacore.com> | |
950 Robert Dewar <dewar@adacore.com> | |
951 Gary Dismukes <dismukes@adacore.com> | |
952 Ed Schonberg <schonberg@adacore.com> | |
953 | |
954 * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure. | |
955 | |
956 * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range | |
957 (Expand_N_Assignment_Statement): Call | |
958 Make_Build_In_Place_Call_In_Assignment if the right-hand side is a | |
959 build-in-place function call. Currently, this can happen only for | |
960 assignments that come from aggregates. | |
961 Add -gnatd.l --Use Ada 95 semantics for limited function returns, | |
962 in order to alleviate the upward compatibility introduced by AI-318. | |
963 (Expand_N_Extended_Return_Statement): Add support for handling the | |
964 return object as a build-in-place result. | |
965 (Expand_Non_Function_Return): Implement simple return statements nested | |
966 within an extended return. | |
967 (Enable_New_Return_Processing): Turn on the new processing of return | |
968 statements. | |
969 (Expand_Non_Function_Return): For a return within an extended return, | |
970 don't raise Program_Error, because Sem_Ch6 now gives a warning. | |
971 (Expand_N_Extended_Return_Statement): Implement AI-318 | |
972 (Expand_Simple_Function_Return): Ditto. | |
973 (Expand_N_If_Statement): Handle new -gnatwt warning | |
974 (Expand_N_Case_Statement): Handle new -gnatwt warning | |
975 (Expand_N_Assignment): Handle assignment to the Priority attribute of | |
976 a protected object. | |
977 (Expand_N_Assignment_Statement): Implement -gnatVe/E to control | |
978 validity checking of assignments to elementary record components. | |
979 (Expand_N_Return_Statement): return Class Wide types on the secondary | |
980 stack independantly of their controlled status since with HIE runtimes, | |
981 class wide types are not potentially controlled anymore. | |
982 | |
983 * expander.adb (Expand): Add case for new N_Extended_Return_Statement | |
984 node kind. | |
985 | |
986 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid | |
987 Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because | |
988 it expects a block, procedure, or task. The return statement will get | |
989 turned into a block, and Expand_Cleanup_Actions will happen then. | |
990 | |
991 2006-10-31 Robert Dewar <dewar@adacore.com> | |
992 Ed Schonberg <schonberg@adacore.com> | |
993 Bob Duff <duff@adacore.com> | |
994 Gary Dismukes <dismukes@adacore.com> | |
995 | |
996 * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression | |
997 capability. | |
998 (Expand_Inlined_Call): Tagged types are by-reference types, and | |
999 therefore should be replaced by a renaming declaration in the expanded | |
1000 body, as is done for limited types. | |
1001 (Expand_Call): If this is a call to a function with dispatching access | |
1002 result, propagate tag from context. | |
1003 (Freeze_Subprogram): Enable full ABI compatibility for interfacing with | |
1004 CPP by default. | |
1005 (Make_Build_In_Place_Call_In_Assignment): New procedure to do | |
1006 build-in-place when the right-hand side of an assignment is a | |
1007 build-in-place function call. | |
1008 (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion | |
1009 of the explicit dereference of the allocator to the result subtype of | |
1010 the build-in-place function. This is needed to satisfy type checking | |
1011 in cases where the caller's return object is created by an allocator for | |
1012 a class-wide access type and the type named in the allocator is a | |
1013 specific type. | |
1014 (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked | |
1015 conversion of the reference to the declared object to the result subtype | |
1016 of the build-in-place function. This is needed to satisfy type checking | |
1017 in cases where the declared object has a class-wide type. Also, in the | |
1018 class-wide case, change the type of the object entity to the specific | |
1019 result subtype of the function, to avoid passing a class-wide object | |
1020 without explicit initialization to the back end. | |
1021 (Register_Interface_DT_Entry): Moved outside the body of | |
1022 Freeze_Subprogram because this routine is now public; it is called from | |
1023 Check_Dispatching_Overriding to handle late overriding of abstract | |
1024 interface primitives. | |
1025 (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for | |
1026 adding an implicit access actual on a call to a build-in-place function. | |
1027 (Expand_Actuals): Test for an actual parameter that is a call to a | |
1028 build-in-place function and apply | |
1029 Make_Build_In_Place_Call_In_Anonymous_Context to the call. | |
1030 (Is_Build_In_Place_Function): New function to determine whether an | |
1031 entity is a function whose calls should be handled as build-in-place. | |
1032 (Is_Build_In_Place_Function_Call): New function to determine whether an | |
1033 expression is a function call that should handled as build-in-place. | |
1034 (Make_Build_In_Place_Call_In_Allocator): New procedure for handling | |
1035 calls to build-in-place functions as the initialization of an allocator. | |
1036 (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for | |
1037 handling calls to build-in-place functions in contexts that do not | |
1038 involve init of a separate object (for example, actuals of subprogram | |
1039 calls). | |
1040 (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for | |
1041 handling calls to build-in-place functions as the initialization of an | |
1042 object declaration. | |
1043 (Detect_Infinite_Recursion): Add explicit parameter Process to | |
1044 instantiation of Traverse_Body to avoid unreferenced warning. | |
1045 (Check_Overriding_Inherited_Interfaces): Removed. | |
1046 (Register_Interface_DT_Entry): Code cleanup. | |
1047 (Register_Predefined_DT_Entry): Code cleanup. | |
1048 (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around | |
1049 inlined statements if within a transient scope. | |
1050 (Expand_Inlined_Call.Process_Formals): When replacing occurrences of | |
1051 formal parameters with occurrences of actuals in inlined body, establish | |
1052 visibility on the proper view of the actual's subtype for the body's | |
1053 context. | |
1054 (Freeze_Subprogram): Do nothing if we are compiling under full ABI | |
1055 compatibility mode and we have an imported CPP subprogram because | |
1056 for now we assume that imported CPP primitives correspond with | |
1057 objects whose constructor is in the CPP side (and therefore we | |
1058 don't need to generate code to register them in the dispatch table). | |
1059 (Expand_Actuals): Introduce copy of actual, only if it might be a bit- | |
1060 aligned selected component. | |
1061 (Add_Call_By_Copy_Node): Add missing code to handle the case in which | |
1062 the actual of an in-mode parameter is a type conversion. | |
1063 (Expand_Actuals): If the call does not come from source and the actual | |
1064 is potentially misaligned, let gigi handle it rather than rejecting the | |
1065 (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning | |
1066 Class Wide types as returning by reference independantly of their | |
1067 controlled status since with HIE runtimes class wide types are not | |
1068 potentially controlled anymore. | |
1069 | |
1070 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1071 | |
1072 * exp_ch9.adb (Update_Prival_Types): Simplify code for entity | |
1073 references that are private components of the protected object. | |
1074 (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function | |
1075 (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc | |
1076 instantiation to deal with warnings. | |
1077 (Initialize_Protection): If expression for priority is non-static, use | |
1078 System_Priority as its expected type, in case the expression has not | |
1079 been analyzed yet. | |
1080 | |
1081 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1082 | |
1083 * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing | |
1084 initialization of Homonym_Len. | |
1085 (Fully_Qualify_Name): Remove kludge to eliminate anonymous block | |
1086 names from fully qualified name. Fixes problem of duplicate | |
1087 external names differing only in the presence of such a block name. | |
1088 | |
1089 2006-10-31 Thomas Quinot <quinot@adacore.com> | |
1090 Pablo Oliveira <oliveira@adacore.com> | |
1091 | |
1092 * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign | |
1093 subprogram Ids, even if they are not yet assigned. | |
1094 (Build_Subprogram_Id): It is now this function that will take care of | |
1095 calling Assign_Subprogram_Ids if necessary. | |
1096 (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids | |
1097 should be done only once they are assigned. | |
1098 (Build_From_Any_Function, case of tagged types): Add missing call to | |
1099 Allocate_Buffer. | |
1100 (Corresponding_Stub_Type): New subprogram. Returns the associated stub | |
1101 type for an RACW type. | |
1102 (Add_RACW_Features): When processing an RACW declaration for which the | |
1103 designated type is already frozen, enforce E.2.2(14) rules immediately. | |
1104 (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any | |
1105 special reordering of controlling formals. | |
1106 | |
1107 * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the | |
1108 associated stub type for an RACW type. | |
1109 | |
1110 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1111 | |
1112 * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of | |
1113 fixed-point operations in an integer context, i.e. as operands of a | |
1114 conversion to an integer type, indicate that result must be rounded. | |
1115 | |
1116 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1117 | |
1118 * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character | |
1119 cases, pass the encoding method, since it is now required by the run | |
1120 time. | |
1121 | |
1122 * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid | |
1123 assumption that Str'First = 1. | |
1124 (Value_Wide_Character): Takes EM (encoding method) parameter and passes | |
1125 it on to the Value_Wide_Wide_Character call. | |
1126 (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and | |
1127 properly handles a string of the form quote-encoded_wide_char-quote. | |
1128 | |
1129 * s-wchcnv.adb: Minor reformatting | |
1130 | |
1131 2006-10-31 Javier Miranda <miranda@adacore.com> | |
1132 | |
1133 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing | |
1134 run-time membership test to ensure that the constructed object | |
1135 implements the target abstract interface. | |
1136 | |
1137 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1138 | |
1139 * exp_prag.adb (Expand_Pragma_Common_Object): Use a single | |
1140 Machine_Attribute pragma internally to implement the user pragma. | |
1141 Add processing for pragma Interface so that it is now completely | |
1142 equivalent to pragma Import. | |
1143 | |
1144 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma | |
1145 so that it can be applied to all entities, including record components | |
1146 and enumeration literals. | |
1147 (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether | |
1148 priority ranges are correct, verify compatibility against task | |
1149 dispatching and locking policies, and if everything is correct an entry | |
1150 is added to the table containing priority specific dispatching entries | |
1151 for this compilation unit. | |
1152 (Delay_Config_Pragma_Analyze): Delay processing | |
1153 Priority_Specific_Dispatching pragmas because when processing the | |
1154 pragma we need to access run-time data, such as the range of | |
1155 System.Any_Priority. | |
1156 (Sig_Flags): Add Pragma_Priority_Specific_Dispatching. | |
1157 Allow pragma Unreferenced as a context item | |
1158 Add pragma Preelaborable_Initialization | |
1159 (Analyze_Pragma, case Interface): Interface is extended so that it is | |
1160 now syntactically and semantically equivalent to Import. | |
1161 (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on | |
1162 insertion characters. | |
1163 Add handling for Pragma_Wide_Character_Encoding | |
1164 (Process_Restrictions_Restriction_Warnings): Ensure that a warning | |
1165 never supercedes a real restriction, and that a real restriction | |
1166 always supercedes a warning. | |
1167 (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of | |
1168 appropriate form. | |
1169 | |
1170 2006-10-31 Bob Duff <duff@adacore.com> | |
1171 Ed Schonberg <schonberg@adacore.com> | |
1172 Robert Dewar <dewar@adacore.com> | |
1173 | |
1174 * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs, | |
1175 Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be | |
1176 Is_Inherently_Limited_Type, because return-by-reference has no meaning | |
1177 in Ada 2005. | |
1178 (Find_Node_To_Be_Wrapped): Use new method of determining the result | |
1179 type of the function containing a return statement, because the | |
1180 Return_Type field was removed. We now use the Return_Applies_To field. | |
1181 | |
1182 * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test | |
1183 (Build_Task_Image_Decl): If procedure is not called from an | |
1184 initialization procedure, indicate that function that builds task name | |
1185 uses the sec. stack. Otherwise the enclosing initialization procedure | |
1186 will carry the indication. | |
1187 (Insert_Actions): Remove N_Return_Object_Declaration. We now use | |
1188 N_Object_Declaration instead. | |
1189 (Kill_Dead_Code): New interface to implement -gnatwt warning for | |
1190 conditional dead code killed, and change implementation accordingly. | |
1191 (Insert_Actions): Add N_Return_Object_Declaration case. | |
1192 Correct comment to mention N_Extension_Aggregate node. | |
1193 (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad | |
1194 attempts to save information for global variables which cannot be | |
1195 safely tracked. | |
1196 (Get_Current_Value_Condition): Handle conditions the other way round | |
1197 (constant on left). Also handle right operand of AND and AND THEN | |
1198 (Set_Current_Value_Condition): Corresponding changes | |
1199 (Append_Freeze_Action): Remove unnecessary initialization of Fnode. | |
1200 (Get_Current_Value_Condition): Handle simple boolean operands | |
1201 (Get_Current_Value_Condition): Handle left operand of AND or AND THEN | |
1202 (Get_Current_Value_Condition): If the variable reference is within an | |
1203 if-statement, does not appear in the list of then_statments, and does | |
1204 not come from source, treat it as being at unknown location. | |
1205 (Get_Current_Value_Condition): Enhance to allow while statements to be | |
1206 processed as well as if statements. | |
1207 (New_Class_Wide_Subtype): The entity for a class-wide subtype does not | |
1208 come from source. | |
1209 (OK_To_Do_Constant_Replacement): Allow constant replacement within body | |
1210 of loop. This is safe now that we fixed Kill_Current_Values. | |
1211 (OK_To_Do_Constant_Replacement): Check whether current scope is | |
1212 Standard, before examining outer scopes. | |
1213 | |
1214 2006-10-31 Vincent Celier <celier@adacore.com> | |
1215 | |
1216 * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target. | |
1217 When True, apply VMS treatment to children of packages A, G, I and S. | |
1218 For F320-016 | |
1219 | |
1220 * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target | |
1221 | |
1222 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1223 Ed Schonberg <schonberg@adacore.com> | |
1224 | |
1225 * freeze.adb: Add handling of Last_Assignment field | |
1226 (Warn_Overlay): Supply missing continuation marks in error msgs | |
1227 (Freeze_Entity): Add check for Preelaborable_Initialization | |
1228 | |
1229 * g-comlin.adb: Add Warnings (Off) to prevent new warning | |
1230 | |
1231 * g-expect.adb: Add Warnings (Off) to prevent new warning | |
1232 | |
1233 * lib-xref.adb: Add handling of Last_Assignment field | |
1234 (Generate_Reference): Centralize handling of pragma Obsolescent here | |
1235 (Generate_Reference): Accept an implicit reference generated for a | |
1236 default in an instance. | |
1237 (Generate_Reference): Accept a reference for a node that is not in the | |
1238 main unit, if it is the generic body corresponding to an subprogram | |
1239 instantiation. | |
1240 | |
1241 * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings | |
1242 | |
1243 * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for | |
1244 -gnatwq/Q. | |
1245 (Warn_On_Useless_Assignment): Suppress warning if enclosing inner | |
1246 exception handler. | |
1247 (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on | |
1248 use clauses, to avoid messages on packages used to qualify, and also | |
1249 to avoid messages from obsolescent units. | |
1250 (Warn_On_Useless_Assignments): Don't generate messages for imported | |
1251 and exported variables. | |
1252 (Warn_On_Useless_Assignments): New procedure | |
1253 (Output_Obsolescent_Entity_Warnings): New procedure | |
1254 (Check_Code_Statement): New procedure | |
1255 | |
1256 * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag | |
1257 Change name Is_Ada_2005 to Is_Ada_2005_Only | |
1258 (Last_Assignment): New field for useless assignment warning | |
1259 | |
1260 2006-10-31 Olivier Hainque <hainque@adacore.com> | |
1261 | |
1262 * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the | |
1263 closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16. | |
1264 | |
1265 2006-10-31 Bob Duff <duff@adacore.com> | |
1266 Robert Dewar <dewar@adacore.com> | |
1267 Ed Schonberg <schonberg@adacore.com> | |
1268 | |
1269 * g-awk.adb (Default_Session, Current_Session): Compile this file in | |
1270 Ada 95 mode, because it violates the new rules for AI-318. | |
1271 | |
1272 * g-awk.ads: Use overloaded subprograms in every case where we used to | |
1273 have a default of Current_Session. This makes the code closer to be | |
1274 correct for both Ada 95 and 2005. | |
1275 | |
1276 * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005 | |
1277 code, relying on the fact that the compiler generates a warning | |
1278 instead of an error in -gnatg mode. | |
1279 | |
1280 * lib-xref.ads (Xref_Entity_Letters): Add entry for new | |
1281 E_Return_Statement entity kind. | |
1282 Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters. | |
1283 | |
1284 * par.adb (P_Interface_Type_Definition): Addition of one formal to | |
1285 report an error if the reserved word abstract has been previously found. | |
1286 (SS_End_Type): Add E_Return for new extended_return_statement syntax. | |
1287 | |
1288 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for | |
1289 parenthesized range attribute usage | |
1290 (P_Expression_No_Right_Paren): Add missing comment about error recovery. | |
1291 | |
1292 * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant" | |
1293 in the syntax for extended_return_statement. This is not in the latest | |
1294 RM, but the ARG is expected to issue an AI allowing this. | |
1295 (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove | |
1296 N_Return_Object_Declaration. We now use N_Object_Declaration instead. | |
1297 (P_Return_Object_Declaration, P_Return_Subtype_Indication, | |
1298 P_Return_Statement): Parse the new syntax for extended_return_statement. | |
1299 | |
1300 * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected, | |
1301 Output_End_Missing): Add error-recovery code for the new | |
1302 extended_return_statement syntax; that is, the new E_Return entry on | |
1303 the scope stack. | |
1304 | |
1305 * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from | |
1306 limited to nonlimited, because otherwise we violate the new Ada 2005 | |
1307 rules about returning limited types in function Create_AST_Handler in | |
1308 s-asthan.adb. | |
1309 | |
1310 * sem.adb (Analyze): Add cases for new node kinds | |
1311 N_Extended_Return_Statement and N_Return_Object_Declaration. | |
1312 | |
1313 * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component | |
1314 type is in the same category as type of context before applying check, | |
1315 to prevent anomalies in instantiations. | |
1316 (Resolve_Aggregate): Remove test for limited components in aggregates. | |
1317 It's unnecessary in Ada 95, because if it has limited components, then | |
1318 it must be limited. It's wrong in Ada 2005, because limited aggregates | |
1319 are now allowed. | |
1320 (Resolve_Record_Aggregate): Move check for limited types later, because | |
1321 OK_For_Limited_Init requires its argument to have been resolved. | |
1322 (Get_Value): When copying the component default expression for a | |
1323 defaulted association in an aggregate, use the sloc of the aggregate | |
1324 and not that of the original expression, to prevent spurious | |
1325 elaboration errors, when the expression includes function calls. | |
1326 (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates | |
1327 were missing. We also didn't handle qualified expressions. Now also | |
1328 allow function calls. Use new common routine OK_For_Limited_Init. | |
1329 (Resolve_Extension_Aggregate): Minor fix to bad error message (started | |
1330 with space can upper case letter). | |
1331 | |
1332 * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set | |
1333 Has_Static_Discriminants flag | |
1334 (Record_Type_Declaration): Diagnose an attempt to declare an interface | |
1335 type with discriminants. | |
1336 (Process_Range_Expr_In_Decl): Do validity checks on range | |
1337 (Build_Discriminant_Constraints): Use updated form of | |
1338 Denotes_Discriminant. | |
1339 (Process_Subtype): If the subtype is a private subtype whose full view | |
1340 is a concurrent subtype, introduce an itype reference to prevent scope | |
1341 anomalies in gigi. | |
1342 (Build_Derived_Record_Type, Collect_Interface_Primitives, | |
1343 Record_Type_Declaration): The functionality of the subprograms | |
1344 Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces | |
1345 is now performed by a single routine. | |
1346 (Build_Derived_Record_Type): If the type definition includes an explicit | |
1347 indication of limitedness, then the type must be marked as limited here | |
1348 to ensure that any access discriminants will not be treated as having | |
1349 a local anonymous access type. | |
1350 (Check_Abstract_Overriding): Issue a detailed error message when an | |
1351 abstract subprogram was not overridden due to incorrect mode of its | |
1352 first parameter. | |
1353 (Analyze_Private_Extension_Declaration): Add support for the analysis of | |
1354 synchronized private extension declarations. Verify that the ancestor is | |
1355 a limited or synchronized interface or in the generic case, the ancestor | |
1356 is a tagged limited type or synchronized interface and all progenitors | |
1357 are either limited or synchronized interfaces. | |
1358 Derived_Type_Declaration): Check for presence of private extension when | |
1359 dealing with synchronized formal derived types. | |
1360 Process_Full_View): Enchance the check done on the usage of "limited" by | |
1361 testing whether the private view is synchronized. | |
1362 Verify that a synchronized private view is completed by a protected or | |
1363 task type. | |
1364 (OK_For_Limited_Init_In_05): New function. | |
1365 (Analyze_Object_Declaration): Move check for limited types later, | |
1366 because OK_For_Limited_Init requires its argument to have been resolved. | |
1367 Add -gnatd.l --Use Ada 95 semantics for limited function returns, | |
1368 in order to alleviate the upward compatibility introduced by AI-318. | |
1369 (Constrain_Corresponding_Record): If the constraint is for a component | |
1370 subtype, mark the itype as frozen, to avoid out-of-scope references to | |
1371 discriminants in the back-end. | |
1372 (Collect_Implemented_Interfaces): Protect the recursive algorithm of | |
1373 this subprogram against wrong sources. | |
1374 (Get_Discr_Value, Is_Discriminant): Handle properly references to a | |
1375 discriminant of limited type completed with a protected type, when the | |
1376 discriminant is used to constrain a private component of the type, and | |
1377 expansion is disabled. | |
1378 (Find_Type_Of_Object): Do not treat a return subtype that is an | |
1379 anonymous subtype as a local_anonymous_type, because its accessibility | |
1380 level is the return type of the enclosing function. | |
1381 (Check_Initialization): In -gnatg mode, turn the error "cannot | |
1382 initialize entities of limited type" into a warning. | |
1383 (OK_For_Limited_Init): Return true for generated nodes, since it | |
1384 sometimes violates the legality rules. | |
1385 (Make_Incomplete_Declaration): If the type for which an incomplete | |
1386 declaration is created happens to be the currently visible entity, | |
1387 preserve the homonym chain when removing it from visibility. | |
1388 (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of | |
1389 inherited subprograms. | |
1390 (Access_Definition): If this is an access to function that is the return | |
1391 type of an access_to_function definition, context is a type declaration | |
1392 and the scope of the anonymous type is the current one. | |
1393 (Analyze_Subtype_Declaration): Add the defining identifier of a regular | |
1394 incomplete subtype to the set of private dependents of the original | |
1395 incomplete type. | |
1396 (Constrain_Discriminated_Type): Emit an error message whenever an | |
1397 incomplete subtype is being constrained. | |
1398 (Process_Incomplete_Dependents): Transform an incomplete subtype into a | |
1399 corresponding subtype of the full view of the original incomplete type. | |
1400 (Check_Incomplete): Properly detect invalid usage of incomplete types | |
1401 and subtypes. | |
1402 | |
1403 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> | |
1404 | |
1405 * g-catiio.ads, g-catiio.adb (Value): New function. | |
1406 Given an input String, try and parse a valid Time value. | |
1407 | |
1408 2006-10-31 Vincent Celier <celier@adacore.com> | |
1409 | |
1410 * g-debpoo.adb (Is_Valid): Correctly compute Offset using | |
1411 Integer_Address arithmetic, as in Set_Valid. | |
1412 | |
1413 2006-10-31 Arnaud Charlet <charlet@adacore.com> | |
1414 Robert Dewar <dewar@adacore.com> | |
1415 | |
1416 * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of | |
1417 handling executable extension manually and duplicating code. | |
1418 | |
1419 * make.adb: Implement new -S switch | |
1420 (Gnatmake): Use new function Osint.Executable_Name instead | |
1421 of handling executable extension manually. | |
1422 | |
1423 * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix | |
1424 is specified, the executable name ends with this suffix. | |
1425 Take advantage of Osint.Executable_Name instead of duplicating code. | |
1426 | |
1427 * switch-m.adb: Recognize new gnatmake -S switch | |
1428 | |
1429 * targparm.ads, targparm.adb (Executable_Extension_On_Target): New | |
1430 variable. | |
1431 (Get_Target_Parameters): Set Executable_Extension_On_Target if | |
1432 available. | |
1433 | |
1434 * makeusg.adb: Add line for gnatmake -S switch | |
1435 | |
1436 2006-10-31 Vincent Celier <celier@adacore.com> | |
1437 | |
1438 * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc, | |
1439 call it with -static-libgcc, as there are some platforms, such as | |
1440 Darwin, where one of these two switches is compulsory to link. | |
1441 | |
1442 2006-10-31 Vincent Celier <celier@adacore.com> | |
1443 | |
1444 * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined, | |
1445 instead of ADA_PROJECT_PATH, for the project path. | |
1446 (Gnatls): When displaying the project path directories, use host dir | |
1447 specs. | |
1448 | |
1449 * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path | |
1450 names in the project path, as absolute paths may correspond to | |
1451 multi-valued VMS logical names. | |
1452 | |
1453 2006-10-31 Vincent Celier <celier@adacore.com> | |
1454 | |
1455 * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an | |
1456 absolute path name. | |
1457 (Locate_Regular_File): Ditto | |
1458 (Change_Dir): Remove, no longer used | |
1459 (Normalize_Pathname): Do not use Change_Dir to get the drive letter | |
1460 on Windows. Get it calling Get_Current_Dir. | |
1461 (OpenVMS): Remove imported boolean, no longer needed. | |
1462 (Normalize_Pathname)[VMS]: Do not resolve directory names. | |
1463 (Pid_To_Integer): New function to convert a Process_Id to Integer | |
1464 | |
1465 2006-10-31 Thomas Quinot <quinot@adacore.com> | |
1466 | |
1467 * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling | |
1468 sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components | |
1469 to No_Socket. | |
1470 (Selector_Type): Add default value of No_Socket for R_Sig_Socket and | |
1471 W_Sig_Socket. | |
1472 | |
1473 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1474 | |
1475 * g-speche.ads, g-speche.adb: Add special case to recognize misspelling | |
1476 initial letter o as a zero. | |
1477 | |
1478 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1479 | |
1480 * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First | |
1481 | |
1482 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1483 | |
1484 * layout.adb (Layout_Record_Type): Deal with non-static subtypes of | |
1485 variant records | |
1486 (Layout_Variant_Record): Retrieve the discriminants from the entity | |
1487 rather than from the type definition, because in the case of a full | |
1488 type for a private type we need to take the discriminants from the | |
1489 partial view. | |
1490 (Layout_Component_List): When applying the Max operator to variants with | |
1491 a nonstatic size, check whether either operand is static and scale that | |
1492 operand from bits to storage units before applying Max. | |
1493 (Layout_Type): In VMS, if a C-convention access type has no explicit | |
1494 size clause (and does not inherit one in the case of a derived type), | |
1495 then the size is reset to 32 from 64. | |
1496 | |
1497 2006-10-31 Vincent Celier <celier@adacore.com> | |
1498 | |
1499 * lib-load.adb (Load_Unit): Skip the test for a unit not found when | |
1500 its file has already been loaded, according to the unit being loaded, | |
1501 not to the current value of Multiple_Unit_Index. | |
1502 | |
1503 2006-10-31 Thomas Quinot <quinot@adacore.com> | |
1504 Eric Botcazou <ebotcazou@adacore.com> | |
1505 Arnaud Charlet <charlet@adacore.com> | |
1506 | |
1507 * Makefile.in: Set EH mechanism to ZCX for FreeBSD. | |
1508 (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if | |
1509 possible. | |
1510 (a-except.o): Pass it to the compiler. | |
1511 (gnatlib-shared-vms): Removed -nostartfiles switch in link step. | |
1512 (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific | |
1513 a-calend-mingw.adb version. | |
1514 | |
1515 * Makefile.rtl: Added s-dsaser. | |
1516 Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones] | |
1517 (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and | |
1518 Ada.Dispatching.Round_Robin. | |
1519 Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists | |
1520 | |
1521 * Make-lang.in: Remove all references to gt-ada-decl.h. | |
1522 Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler | |
1523 sources. | |
1524 Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects. | |
1525 Update dependencies. | |
1526 | |
1527 * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD | |
1528 | |
1529 2006-10-31 Vincent Celier <celier@adacore.com> | |
1530 | |
1531 * mlib-utl.adb (Initialized): Remove, no longer used | |
1532 (Initialize): Remove, no longer used | |
1533 (Ar): If Ar_Exec is null, get the location of the archive builder and, | |
1534 if there is one, the archive indexer. Fail if the archive builder cannot | |
1535 be found. | |
1536 (Gcc): If the driver path is unknown, get it. Fail if the driver cannot | |
1537 be found. | |
1538 | |
1539 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1540 | |
1541 * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs, | |
1542 Process_Body_Clauses): If the context of a body includes a use clause | |
1543 for P.Q then a with_clause for P in the same body is not redundant, | |
1544 even if the spec also has a with_clause on P. | |
1545 Add missing continuation mark to error msg | |
1546 (Build_Limited_Views): A limited view of a type is tagged if its | |
1547 declaration includes a record extension. | |
1548 (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit | |
1549 node, even if the subunit has errors. This avoids malfunction by | |
1550 Lib.Check_Same_Extended_Unit in the presence of syntax errors. | |
1551 (Analyze_Compilation_Unit): Add circuit to make sure we get proper | |
1552 generation of obsolescent messages for with statements (cannot do | |
1553 this too early, or we cannot implement avoiding the messages in the | |
1554 case of obsolescent units withing obsolescent units). | |
1555 (Install_Siblings): If the with_clause is on a remote descendant of | |
1556 an ancestor of the current compilation unit, find whether there is | |
1557 a sibling child unit that is immediately visible. | |
1558 (Remove_Private_With_Clauses): New procedure, invoked after completing | |
1559 the analysis of the private part of a nested package, to remove from | |
1560 visibility the private with_clauses of the enclosing package | |
1561 declaration. | |
1562 (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is | |
1563 now centralized in Generate_Reference. | |
1564 (Install_Limited_Context_Clauses): Remove superfluous error | |
1565 message associated with unlimited view visible through use | |
1566 and renamings. In addition, at the point in which the error | |
1567 is reported, we add the backslash to the text of the error | |
1568 to ensure that it is reported as a single error message. | |
1569 Use new // insertion for some continuation messages | |
1570 (Expand_Limited_With_Clause): Use copy of name rather than name itself, | |
1571 to create implicit with_clause for parent unit mentioned in original | |
1572 limited_with_clause. | |
1573 (Install_Limited_With_Unit): Set entity of parent identifiers if the | |
1574 unit is a child unit. For ASIS queries. | |
1575 (Analyze_Subunit): If the subunit appears within a child unit, make all | |
1576 ancestor child units directly visible again. | |
1577 | |
1578 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1579 | |
1580 * par-ch10.adb (P_Context_Clause): Minor error message fix | |
1581 | |
1582 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> | |
1583 Javier Miranda <miranda@adacore.com> | |
1584 | |
1585 * par-ch12.adb: Grammar update and cleanup. | |
1586 (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add | |
1587 support for synchronized derived type definitions. | |
1588 Add the new actual Abstract_Present to every call to | |
1589 P_Interface_Type_Definition. | |
1590 (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of | |
1591 a formal object declaration with an access definition or a subtype mark | |
1592 with a null exclusion. | |
1593 (P_Generic_Association): Handle association with box, and others_choice | |
1594 with box, to support Ada 2005 partially parametrized formal packages. | |
1595 | |
1596 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1597 Javier Miranda <miranda@adacore.com> | |
1598 | |
1599 * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses | |
1600 (P_Type_Declaration): Remove barrier against the reserved word "limited" | |
1601 after "abstract" to give support to the new syntax of AARM 3.4 (2/2). | |
1602 (P_Type_Declaration): Minor code cleanup. Add support for synchronized | |
1603 private extensions. | |
1604 (P_Type_Declaration): Add the new actual Abstract_Present to every call | |
1605 to P_Interface_Type_Definition. | |
1606 (P_Interface_Type_Definition): Addition of one formal to report an error | |
1607 if the reserved word abstract has been previously found. | |
1608 (P_Identifier_Declarations): Update grammar rules. Handle parsing of an | |
1609 object renaming declaration with an access definition or subtype mark | |
1610 with a possible null exclusion. | |
1611 | |
1612 * par-ch9.adb: Minor error msg fix | |
1613 | |
1614 * par-load.adb: Add missing continuation mark to error msg | |
1615 | |
1616 * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation | |
1617 | |
1618 2006-10-31 Vincent Celier <celier@adacore.com> | |
1619 | |
1620 * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for | |
1621 unknown attribute in unknown package or in package that does not need | |
1622 to be checked. | |
1623 (Parse_Package_Declaration): Do not issue warning for unknown package in | |
1624 quiet output. | |
1625 | |
1626 2006-10-31 Vincent Celier <celier@adacore.com> | |
1627 | |
1628 * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant | |
1629 (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter | |
1630 Packages_To_Check. | |
1631 | |
1632 2006-10-31 Vincent Celier <celier@adacore.com> | |
1633 | |
1634 * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S | |
1635 on VMS, change "__" to '.' before checking the name. | |
1636 (Record_Ada_Source): Always add the source file name in the list of | |
1637 of sources, even if it is not the first time, as it is for another | |
1638 source index. | |
1639 (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single | |
1640 dot, instead of replacing only the first '_'. | |
1641 | |
1642 * prj-part.adb (Parse): Convert project file path to canonical form | |
1643 | |
1644 * prj-proc.adb (Recursive_Process): Make sure that, when a project is | |
1645 extended, the project id of the project extending it is recorded in its | |
1646 data, even when it has already been processed as an imported project. | |
1647 | |
1648 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1649 | |
1650 * repinfo.adb (List_Entities): Don't list entities from renaming | |
1651 declarations. | |
1652 | |
1653 2006-10-31 Arnaud Charlet <charlet@adacore.com> | |
1654 Robert Dewar <dewar@adacore.com> | |
1655 | |
1656 * restrict.ads, restrict.adb (Restriction_Active): Now returns False if | |
1657 only a restriction warning is active for the given restriction. This is | |
1658 desirable because we do not want to modify code in the case where only | |
1659 a warning is set. | |
1660 (Set_Profile_Restrictions): Make sure that a Profile_Warnings never | |
1661 causes overriding of real restrictions. | |
1662 Take advantage of new No_Restrictions constant. | |
1663 | |
1664 * raise.h: (__gnat_set_globals): Change profile. | |
1665 | |
1666 2006-10-31 Arnaud Charlet <charlet@adacore.com> | |
1667 | |
1668 * rtsfind.adb: Remove s-polint from comment as it exists no more. | |
1669 | |
1670 * rtsfind.ads: | |
1671 Move entity RE_Get_Active_Partition_Id to package System.DSA_Services. | |
1672 Move all the entities in obsolete package System.PolyORB_Interface to | |
1673 System.Partition_Interface. | |
1674 (RE_Storage_Size): New function in System.Tasking. | |
1675 (RE_Get_Ceiling): New entity. | |
1676 (RE_Set_Ceiling): New entity. | |
1677 (RO_PE_Get_Ceiling): New entity. | |
1678 (RO_RE_Set_Ceiling): New entity. | |
1679 (Inherit_CPP_DT): New entity | |
1680 | |
1681 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1682 | |
1683 * scng.adb (Scan, case of numeric literal): Better msg for identifier | |
1684 starting with a digit. | |
1685 | |
1686 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1687 Thomas Quinot <quinot@adacore.com> | |
1688 Javier Miranda <miranda@adacore.com> | |
1689 Gary Dismukes <dismukes@adacore.com> | |
1690 | |
1691 * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose | |
1692 properly an attempt to apply Unchecked_Access to a protected operation. | |
1693 (OK_Self_Reference): New subprogram to check the legality of an access | |
1694 attribute whose prefix is the type of an enclosing aggregate. | |
1695 Generalizes previous mechanism to handle attribute references nested | |
1696 arbitrarily deep within the aggregate. | |
1697 (Analyze_Access_Attribute): An access attribute whose prefix is a type | |
1698 can appear in an aggregate if this is a default-initialized aggregate | |
1699 for a self-referential type. | |
1700 (Resolve_Attribute, case Access): Ditto. | |
1701 Add support for new implementation defined attribute Stub_Type. | |
1702 (Eval_Attribute, case Attribute_Stub_Type): New case. | |
1703 (Analyze_Attribute, case Attribute_Stub_Type): New case. | |
1704 (Stream_Attribute_Available): Implement using new subprogram from | |
1705 sem_cat, Has_Stream_Attribute_Definition, instead of incorrect | |
1706 Has_Specified_Stream_Attribute flag. | |
1707 Disallow Storage_Size and Storage_Pool for access to subprogram | |
1708 (Resolve_Attribute, case 'Access et al): Take into account anonymous | |
1709 access types of return subtypes in extended return statements. Remove | |
1710 accessibility checks on anonymous access types when Unchecked_Access is | |
1711 used. | |
1712 (Analyze_Attribute): Add support for the use of 'Class to convert | |
1713 a class-wide interface to a tagged type. | |
1714 Add support for the attribute Priority. | |
1715 (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for | |
1716 whether the designated type is discriminated with a constrained partial | |
1717 view and require static matching in that case. | |
1718 Add local variable Des_Btyp. The Designated_Type | |
1719 of an access to incomplete subtype is either its non-limited view if | |
1720 coming from a limited with or its etype if regular incomplete subtype. | |
1721 | |
1722 * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): | |
1723 Fix predicate to identify and allow cases of (expander-generated) | |
1724 references to tag of designated object of a RACW. | |
1725 (Validate_Static_Object_Name): In Ada 2005, a formal object is | |
1726 non-static, and therefore cannot appear as a primary in a preelaborable | |
1727 package. | |
1728 (Has_Stream_Attribute_Definition): New subprogram, abstracted from | |
1729 Has_Read_Write_Attributes. | |
1730 (Has_Read_Write_Attributes): Reimplement in termes of | |
1731 Has_Stream_Attribute_Definition. | |
1732 (Missing_Read_Write_Attributes): When checking component types in a | |
1733 record, unconditionally call Missing_Read_Write_Attributes recursively | |
1734 (remove guard checking for Is_Record_Type / Is_Access_Type). | |
1735 | |
1736 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1737 | |
1738 * sem_ch11.adb (Analyze_Handled_Statements): Move final test for | |
1739 useless assignments here and conditionalize it on absence of exception | |
1740 handlers. | |
1741 (Analyze_Exception_Handlers): Small code reorganization of error | |
1742 detection code, for new handling of formal packages. | |
1743 | |
1744 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1745 Hristian Kirtchev <kirtchev@adacore.com> | |
1746 | |
1747 * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator | |
1748 that has been constant-folded, preserve information of original tree, | |
1749 for ASIS uses. | |
1750 (Analyze_Formal_Derived_Type): Set the limited present flag of the newly | |
1751 generated private extension declaration if the formal derived type is | |
1752 synchronized. Carry synchronized present over to the generated private | |
1753 extension. | |
1754 (Validate_Derived_Type_Instance): Ensure that the actual of a | |
1755 synchronized formal derived type is a synchronized tagged type. | |
1756 (Instantiate_Formal_Package): When creating the instantiation used to | |
1757 validate the actual package of a formal declared without a box, check | |
1758 whether the formal itself depends on a prior actual. | |
1759 (Instantiate_Formal_Subprogram): Create new entities for the defining | |
1760 identifiers of the formals in the renaming declaration, for ASIS use. | |
1761 (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating | |
1762 a renaming declaration or a subtype declaration for an actual in an | |
1763 instance, capture location information of declaration in generic, for | |
1764 ASIS use. | |
1765 (Instantiate_Formal_Package): Add comments on needed additional tests. | |
1766 AI-317 (partial parametrization) is fully implemented. | |
1767 (Validate_Private_Type_Instance): Add check for actual which | |
1768 must have preelaborable initialization | |
1769 Use new // insertion for some continuation messages | |
1770 (Analyze_Formal_Object_Declaration): Change usage of Expression to | |
1771 Default_Expression. Add type retrieval when the declaration has an | |
1772 access definition. Update premature usage of incomplete type check. | |
1773 (Check_Access_Definition): New subsidiary routine. Check whether the | |
1774 current compilation version is Ada 05 and the supplied node has an | |
1775 access definition. | |
1776 (Instantiate object): Alphabetize local variables. Handle the creation | |
1777 of new renaming declarations with respect to the kind of definition | |
1778 used - either an access definition or a subtype mark. Guard against | |
1779 unnecessary error message in the context of anonymous access types after | |
1780 they have been resolved. Add check for required null exclusion in a | |
1781 formal object declaration. | |
1782 (Switch_View): A private subtype of a non-private type needs to be | |
1783 switched (the base type can have been switched without its private | |
1784 dependents because of the last branch of Check_Private_View. | |
1785 (Check_Private_View): Do not recompute Base_Type (T), instead use cached | |
1786 value from BT. | |
1787 (Instantiate_Type): Emit an error message whenever a class-wide type of | |
1788 a tagged incomplete type is used as a generic actual. | |
1789 (Find_Actual_Type): Extend routine to handle a component type in a child | |
1790 unit that is imported from a formal package in a parent. | |
1791 (Validate_Derived_Type_Instance): Check that analyzed formal and actual | |
1792 agree on constrainedness, rather than checking against ultimate ancestor | |
1793 (Instantiate_Subprogram_Body): Create a cross-reference link to the | |
1794 generic body, for navigation purposes. | |
1795 | |
1796 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1797 Thomas Quinot <quinot@adacore.com> | |
1798 | |
1799 * sem_ch13.adb: Storage pool cannot be given for access to subprogram | |
1800 type. | |
1801 (New_Stream_Subprogram): When processing an attribute definition clause | |
1802 for a stream-oriented subprogram, record an entity node occurring at | |
1803 the point of clause to use for checking the visibility of the clause, | |
1804 as defined by 8.3(23) as amended by AI-195. | |
1805 (New_Stream_Subprogram): New procedure, factoring behaviour from both | |
1806 New_Stream_Function and New_Stream_Procedure. | |
1807 (New_Stream_Function, New_Stream_Procedure): Removed. | |
1808 (Analyze_Attribute_Definition_Clause, case Address): Check new | |
1809 Alignment_Check check | |
1810 | |
1811 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1812 Javier Miranda <miranda@adacore.com> | |
1813 Robert Dewar <dewar@adacore.com> | |
1814 | |
1815 * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we | |
1816 generate the same errors compiling under -gnatc. | |
1817 (Try_Object_Operation): If no candidate interpretation succeeds, but | |
1818 there is at least one primitive operation with the right name, report | |
1819 error in call rather than on a malformed selected component. | |
1820 (Analyze_Selected_Component): If the prefix is an incomplete type from | |
1821 a limited view, and the full view is available, use the full view to | |
1822 determine whether this is a prefixed call to a primitive operation. | |
1823 (Operator_Check): Verify that a candidate interpretation is a binary | |
1824 operation before checking the type of its second formal. | |
1825 (Analyze_Call): Add additional warnings for function call contexts not | |
1826 yet supported. | |
1827 (Analyze_Allocator): Move the check for "initialization not allowed for | |
1828 limited types" after analyzing the expression. This is necessary, | |
1829 because OK_For_Limited_Init looks at the structure of the expression. | |
1830 Before analysis, we don't necessarily know what sort of expression it | |
1831 is. For example, we don't know whether F(X) is a function call or an | |
1832 indexed component; the former is legal in Ada 2005; the latter is not. | |
1833 (Analyze_Allocator): Correct code for AI-287 -- extension aggregates | |
1834 were missing. We also didn't handle qualified expressions. Now also | |
1835 allow function calls. Use new common routine OK_For_Limited_Init. | |
1836 (Analyze_Type_Conversion): Do not perform some legality checks in an | |
1837 instance, because the error message will be redundant or spurious. | |
1838 (Analyze_Overloaded_Selected_Component): Do not do style check when | |
1839 setting an entity, since we do not know it is the right entity yet. | |
1840 (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res | |
1841 (Analyze_Overloaded_Selected_Component): Same change | |
1842 (Analyze_Selected_Component): Remove unnecessary prefix type retrieval | |
1843 since regular incomplete subtypes are transformed into corresponding | |
1844 subtypes of their full views. | |
1845 (Complete_Object_Operation): Treat name of transformed subprogram call | |
1846 as coming from source, for browsing purposes. | |
1847 (Try_Primitive_Operation): If formal is an access parameter, compare | |
1848 with base type of object to determine whether it is a primitive | |
1849 operation. | |
1850 (Operator_Check): If no interpretation of the operator matches, check | |
1851 whether a use clause on any candidate might make the operation legal. | |
1852 (Try_Class_Wide_Operation): Check whether the first parameter is an | |
1853 access type whose designated type is class-wide. | |
1854 | |
1855 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1856 Ed Schonberg <schonberg@adacore.com> | |
1857 Gary Dismukes <dismukes@adacore.com> | |
1858 | |
1859 * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to | |
1860 warn on infinite loops. | |
1861 Add \\ to some continuation messages | |
1862 (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment | |
1863 (Process_Bounds): If the bounds are integer literals that result from | |
1864 constant-folding, and they carry a user-defined type, preserve that type | |
1865 rather than treating this as an integer range. | |
1866 (Analyze_Exit_Statement): Test for E_Return_Statement in legality check. | |
1867 (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check. | |
1868 (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for | |
1869 left hand side of assignment. | |
1870 (Analyze_Assignment): Add suport to manage assigments to the attribute | |
1871 priority of a protected object. | |
1872 (Check_Possible_Current_Value_Condition): Allow fully qualified names | |
1873 not just identifiers. | |
1874 (Check_Possible_Current_Value_Condition): Acquire left operand of AND | |
1875 or AND THEN for possible tracking. | |
1876 (Analyze_Iteration_Scheme): Check for setting Current_Value for the | |
1877 case of while loops so we can track values in the loop body. | |
1878 | |
1879 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1880 Hristian Kirtchev <kirtchev@adacore.com> | |
1881 Bob Duff <duff@adacore.com> | |
1882 | |
1883 * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null | |
1884 procedure cannot be a protected operation (it is a basic_declaration, | |
1885 not a subprogram_declaration). | |
1886 (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_ | |
1887 Subp. Add logic for entry processing. | |
1888 (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity. | |
1889 Determine whether an entry or subprogram of a protected or task type | |
1890 override an inherited primitive of an implemented interface. | |
1891 (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding. | |
1892 Update the actual used in calls to Check_Overriding_Indicator. | |
1893 (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit, | |
1894 generate the proper reference to the parent unit, for cross-reference. | |
1895 (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with | |
1896 Is_Formal. | |
1897 Add -gnatd.l --Use Ada 95 semantics for limited function returns, | |
1898 (Add_Extra_Formal): Revise procedure to allow passing in associated | |
1899 entity, scope, and name suffix, and handle setting of the new | |
1900 Extra_Formals field. | |
1901 (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to | |
1902 pass new parameters. Add support for adding the new extra access formal | |
1903 for functions whose calls are treated as build-in-place. | |
1904 (Analyze_A_Return_Statement): Correct casing in error message. | |
1905 Move Pop_Scope to after Analyze_Function_Return, because an extended | |
1906 return statement really is a full-fledged scope. Otherwise, visibility | |
1907 doesn't work right. Correct use of "\" for continuation messages. | |
1908 (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than | |
1909 evilly trying to call Analyze_Object_Declaration directly. Otherwise, | |
1910 the node doesn't get properly marked as analyzed. | |
1911 (Analyze_Subprogram_Body): If subprogram is a function that returns | |
1912 an anonymous access type that denotes a task, build a Master Entity | |
1913 for it. | |
1914 (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify | |
1915 proper usage of null exclusion in a result definition. | |
1916 (Process_Formals): Code cleanup and new error message. | |
1917 (Process_Formals): Detect incorrect application of null exclusion to | |
1918 non-access types. | |
1919 (Conforming_Types): Handle conformance between [sub]types and itypes | |
1920 generated for entities that have null exclusions applied to them. | |
1921 (Maybe_Primitive_Operation): Add an additional type retrieval when the | |
1922 base type is an access subtype. This case arrises with null exclusions. | |
1923 (New_Overloaded_Entity): Do not remove the overriden entity from the | |
1924 homonym chain if it corresponds with an abstract interface primitive. | |
1925 (Process_Formals): Replace membership test agains Incomplete_Kind with a | |
1926 call to the synthesized predicate Is_Incomplete_Type. | |
1927 (Analyze_Subprogram_Body): Check wrong placement of abstract interface | |
1928 primitives. | |
1929 (Analyze_Subprogram_Declaration): Check that abstract interface | |
1930 primitives are abstract or null. | |
1931 (Analyze_Subprogram_Specification): Remove previous check for abstract | |
1932 interfaces because it was not complete. | |
1933 (Has_Interface_Formals): Removed. | |
1934 | |
1935 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
1936 Javier Miranda <miranda@adacore.com> | |
1937 | |
1938 * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary | |
1939 of Analyze_Package_Body, to create Itype references for anonymous | |
1940 access types created in the package declaration, whose designated types | |
1941 may have only a limited view. | |
1942 (Analyze_Package_Specification): For the private part of a nested | |
1943 package, install private_with_clauses of enclosing compilation unit if | |
1944 we are in its visible part. | |
1945 (Declare_Inherited_Private_Subprograms): Complete barrier | |
1946 to ensure that the primitive operation has an alias to some parent | |
1947 primitive. This is now required because, after the changes done for the | |
1948 implementation of abstract interfaces, the contents of the list of | |
1949 primitives has entities whose alias attribute references entities of | |
1950 such list of primitives. | |
1951 (Analyze_Package_Specification): Simplify code that handles parent units | |
1952 of instances and formal packages. | |
1953 (Uninstall_Declarations): Check the convention consistency among | |
1954 primitive overriding operations of a tagged record type. | |
1955 | |
1956 2006-10-31 Robert Dewar <dewar@adacore.com> | |
1957 Hristian Kirtchev <kirtchev@adacore.com> | |
1958 Javier Miranda <miranda@adacore.com> | |
1959 Ed Schonberg <schonberg@adacore.com> | |
1960 | |
1961 * sem_ch8.adb: Minor error msg rewording | |
1962 (Undefined): When checking for misspellings, invert arguments (to get | |
1963 expected and found set right) | |
1964 (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated | |
1965 (Analyze_Generic_Renaming): Same fix | |
1966 (Use_One_Package): Do not take into account the internal entities of | |
1967 abstract interfaces during the analysis of entities that are marked | |
1968 as potentially use-visible. | |
1969 (Find_Type): Handle the case of an attribute reference for | |
1970 implementation defined attribute Stub_Type (simply let the analysis of | |
1971 the attribute reference rewrite it). | |
1972 (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a | |
1973 type that appears in a Use_Type clause. | |
1974 (Analyze_Object_Renaming): Add support for renaming of the Priority | |
1975 attribute. | |
1976 (Find_Type): In Ada 2005, a task type can be used within its own body, | |
1977 when it appears in an access definition. | |
1978 (Analyze_Object_Renaming): Remove warning on null_exclusion. | |
1979 (Analyze_Object_Renaming): Introduce checks for required null exclusion | |
1980 in a formal object declaration or in a subtype declaration. | |
1981 (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion. | |
1982 (Check_Null_Exclusion): New local routine to | |
1983 Analyze_Subprogram_Renaming. Check whether the formals and return | |
1984 profile of a renamed subprogram have required null exclusions when | |
1985 their counterparts of the renaming already impose them. | |
1986 (In_Generic_Scope): New local routine to Analyze_Object_Renaming. | |
1987 Determine whether an entity is inside a generic scope. | |
1988 (In_Open_Scope): First pass of documentation update. | |
1989 (Find_Expanded_Name): Add support for shadow entities associated with | |
1990 limited withed packages. This is required to handle nested packages. | |
1991 (Analyze_Package_Renaming): Remove the restriction imposed by AI-217 | |
1992 that makes a renaming of a limited withed package illegal. | |
1993 | |
1994 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> | |
1995 Ed Schonberg <schonberg@adacore.com> | |
1996 | |
1997 * sem_ch9.adb (Analyze_Protected_Definition): Remove call to | |
1998 Check_Overriding_Indicator. | |
1999 (Analyze_Task_Definition): Ditto. | |
2000 (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup. | |
2001 (Check_Overriding_Indicator): To find overridden interface operation, | |
2002 examine only homonyms that have an explicit subprogram declaration, not | |
2003 inherited operations created by an unrelated type derivation. | |
2004 (Check_Overriding_Indicator): When checking for the presence of "null" | |
2005 in a procedure, ensure that the queried node is a procedure | |
2006 specification. | |
2007 (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter | |
2008 type when the formal is an access to variable. | |
2009 (Analyze_Protected_Type): Add check for Preelaborable_Initialization | |
2010 (Analyze_Task_Type): Same addition | |
2011 (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to | |
2012 provide navigation capabilities for entries. | |
2013 | |
2014 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> | |
2015 Ed Schonberg <schonberg@adacore.com> | |
2016 Javier Miranda <miranda@adacore.com> | |
2017 Gary Dismukes <dismukes@adacore.com> | |
2018 | |
2019 * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms | |
2020 inherited from an interface ancestor by another interface in the | |
2021 context of an instance as 'late'. | |
2022 (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference | |
2023 of a call to a function that dispatches on access result. | |
2024 (Check_Dispatching_Operation): In case of late overriding of a primitive | |
2025 that covers abstract interface subprograms we register it in all the | |
2026 secondary dispatch tables associated with abstract interfaces. | |
2027 (Check_Dispatching_Call): Add check that a dispatching call is not made | |
2028 to a function with a controlling result of a limited type. This is a | |
2029 current implementation restriction. | |
2030 (Check_Controlling_Formal): Remove bogus checks for E.2.2(14). | |
2031 (Check_Dispatching_Operation): Do no emit a warning if the controlling | |
2032 argument is an interface type that is a generic formal. | |
2033 (Is_Interface_Subprogram): Removed. | |
2034 (Check_Dispatching_Operation): If the subprogram is not a dispatching | |
2035 operation, check the formals to handle the case in which it is | |
2036 associated with an abstract interface type. | |
2037 | |
2038 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2039 Ed Schonberg <schonberg@adacore.com> | |
2040 | |
2041 * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure | |
2042 Add new calls to this procedure during traversal | |
2043 (Activate_Elaborate_All_Desirable): Do not set elaboration flag on | |
2044 another unit if expansion is disabled. | |
2045 | |
2046 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2047 | |
2048 * sem_eval.adb (Compile_Time_Compare): Make use of information from | |
2049 Current_Value in the conditional case, to evaluate additional | |
2050 comparisons at compile time. | |
2051 | |
2052 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
2053 Hristian Kirtchev <kirtchev@adacore.com> | |
2054 Javier Miranda <miranda@adacore.com> | |
2055 | |
2056 * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve | |
2057 subprogram type to provide better diagnostics in case of ambiguity. | |
2058 (Covers): Handle coverage of formal and actual anonymous access types in | |
2059 the context of generic instantiation. | |
2060 (Covers/Interface_Present_In_Ancestors): Use the base type to manage | |
2061 abstract interface types; this is required to handle concurrent types | |
2062 with discriminants and abstract interface types. | |
2063 (Covers): Include type coverage of both regular incomplete subtypes and | |
2064 incomplete subtypes of incomplete type visibles through a limited with | |
2065 clause. | |
2066 | |
2067 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2068 Hristian Kirtchev <kirtchev@adacore.com> | |
2069 Ed Schonberg <schonberg@adacore.com> | |
2070 | |
2071 * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning | |
2072 messages for entities in packages which are not used. | |
2073 (Collect_Synchronized_Interfaces): New procedure. | |
2074 (Overrides_Synchronized_Primitive): New function. | |
2075 (Denotes_Discriminant): Extend predicate to apply to task types. | |
2076 Add missing continuation marks in error msgs | |
2077 (Unqualify): New function for removing zero or more levels of | |
2078 qualification from an expression. There are numerous places where this | |
2079 ought to be used, but we currently only deal properly with zero or one | |
2080 level. | |
2081 (In_Instance); The analysis of the actuals in the instantiation of a | |
2082 child unit is not within an instantiation, even though the parent | |
2083 instance is on the scope stack. | |
2084 (Safe_To_Capture_Value): Exclude the case of variables that are | |
2085 renamings. | |
2086 (Check_Obsolescent): Removed | |
2087 (Is_Aliased_View): A reference to an enclosing instance in an aggregate | |
2088 is an aliased view, even when rewritten as a reference to the target | |
2089 object in an assignment. | |
2090 (Get_Subprogram_Entity): New function | |
2091 (Known_To_Be_Assigned): New function | |
2092 (Type_Access_Level): Compute properly the access level of a return | |
2093 subtype that is an anonymous access type. | |
2094 (Explain_Limited_Type): Correct use of "\" for continuation messages. | |
2095 (Is_Transfer): The new extended_return_statement causes a transfer of | |
2096 control. | |
2097 (Has_Preelaborable_Initialization): New function | |
2098 (Has_Null_Exclusion): New function. Given a node N, determine whether it | |
2099 has a null exclusion depending on its Nkind. | |
2100 Change Is_Lvalue to May_Be_Lvalue | |
2101 (May_Be_Lvalue): Extensive additional code to deal with subprogram | |
2102 arguments (IN parameters are not Lvalues, IN OUT parameters are). | |
2103 (Safe_To_Capture_Value): Extend functionality so it can be used for | |
2104 the current value condition case. | |
2105 (Has_Compatible_Alignment): New function | |
2106 (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable | |
2107 objects to handle the Ada 2005 case, where aliasedness no longer implies | |
2108 that the object is constrained. In particular, for dereferenced names, | |
2109 the designated object must be assumed to be unconstrained. | |
2110 (Kill_Current_Values): Properly deal with the case where we encounter | |
2111 a loop in the scope chain. | |
2112 (Safe_To_Capture_Value): Do not let a loop stop us from capturing | |
2113 a value. | |
2114 (Compile_Time_Constraint_Error): Improve error message in error case | |
2115 | |
2116 * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node | |
2117 associated with entities of abstract interface primitives. | |
2118 Call Apply_Address_Clause_Check instead of Apply_Alignment_Check | |
2119 | |
2120 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2121 | |
2122 * s-osinte-tru64.adb: | |
2123 Mark Asm statements Volatile to prevent warnings (seems a | |
2124 reasonable change anyway) | |
2125 Fixes new warnings | |
2126 | |
2127 * s-mastop-irix.adb: Add Volatile to Asm statements | |
2128 Suppresses warning, and seems appropriate in any case | |
2129 | |
2130 * s-osinte-vms.adb: Add Volatile to Asm statement | |
2131 | |
2132 * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements | |
2133 | |
2134 * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be | |
2135 returned. | |
2136 Add call to Check_Code_Statement | |
2137 | |
2138 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2139 Ed Schonberg <schonberg@adacore.com> | |
2140 Bob Duff <duff@adacore.com> | |
2141 | |
2142 * sinfo.ads, sinfo.adb (Set_Synchronized_Present, | |
2143 Synchronized_Present): Add Formal_Derived_Type_Definition and | |
2144 Private_Extension_Declaration to the list of assertions. | |
2145 (Is_Entry_Barrier_Function): New flag | |
2146 (Has_Self_Reference): New flag on aggregates, to indicate that they | |
2147 contain a reference to the enclosing type, inserted through a default | |
2148 initialization. | |
2149 (Next_Rep_Item): Move from Node4 to Node5. | |
2150 (Entity): Add this field for N_Attribute_Definition_Clause. | |
2151 (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement | |
2152 (N_Return_Object_Declaration): Remove this node kind. We now use | |
2153 N_Object_Declaration instead. | |
2154 (Actual_Designated_Subtype): Move to a different place to make room in | |
2155 N_Extended_Return_Statement. | |
2156 (Procedure_To_Call): Move to a different place to make room in | |
2157 N_Extended_Return_Statement. | |
2158 (Return_Type): Removed this field to make room in return statements | |
2159 (both kinds). | |
2160 (Return_Statement_Entity): New field in return statements, in part to | |
2161 replace Return_Type, and in part to support the fact that return | |
2162 statements are now pushed on the scope stack during semantic analysis. | |
2163 (Return_Object_Declarations): New field to support extended return | |
2164 statements. | |
2165 (N_Extended_Return_Statement): New node for extended_return_statement | |
2166 nonterminal. | |
2167 (N_Return_Object_Declaration): New node for part of | |
2168 extended_return_statement nonterminal. Needed because all the necessary | |
2169 fields won't fit in N_Extended_Return_Statement. | |
2170 Generic_associations now carry the Box_Present flag, to indicate a | |
2171 default for an actual in a partially parametrized formal package. | |
2172 | |
2173 * snames.h, snames.ads, snames.adb: Add definition for Validity_Check | |
2174 (Preset_Names): Add entries for Priority_Specific_Dispatching pragma | |
2175 and for the new predefined dispatching policies: EDF_Across_Priorities, | |
2176 Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities. | |
2177 Introduce new name Stub_Type for implementation defined attribute. | |
2178 Add pragma Preelaborable_Initialization | |
2179 Add entry for Priority attribute. | |
2180 Add Pragma_Wide_Character_Encoding | |
2181 (Get_Convention_Name): Given a convention id, this function returns the | |
2182 corresponding name id from the names table. | |
2183 | |
2184 2006-10-31 Ed Schonberg <schonberg@adacore.com> | |
2185 Robert Dewar <dewar@adacore.com> | |
2186 Bob Duff <duff@adacore.com> | |
2187 | |
2188 * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not | |
2189 print null exclusion twice in the case of an access definition, | |
2190 Implement new -gnatL switch | |
2191 Remove N_Return_Object_Declaration. We now use | |
2192 N_Object_Declaration instead. Implement the case for | |
2193 N_Extended_Return_Statement. Alphabetize the cases. | |
2194 Add cases for new nodes N_Extended_Return_Statement and | |
2195 N_Return_Object_Declaration. The code is not yet written. | |
2196 Update the output for N_Formal_Object_Declaration | |
2197 and N_Object_Renaming_Declaration. | |
2198 (Write_Itype): Account for the case of a modular integer subtype whose | |
2199 base type is private. | |
2200 | |
2201 2006-10-31 Arnaud Charlet <charlet@adacore.com> | |
2202 | |
2203 * s-restri.ads, s-restri.adb: Mark this package as Preelaborate. | |
2204 Remove elaboration code, now done in the binder. | |
2205 | |
2206 * s-rident.ads: Make this unit Preelaborate. | |
2207 (No_Restrictions): New constant used to clean up code and follow | |
2208 preelaborate constraints. | |
2209 | |
2210 * s-stalib.adb: | |
2211 Add System.Restrictions dependence, referenced directly from the | |
2212 binder generated file. | |
2213 | |
2214 2006-10-31 Gary Dismukes <dismukes@adacore.com> | |
2215 | |
2216 * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set | |
2217 True when AAMP extended floating-point is in use (48-bit). Change type | |
2218 ByteLF to ByteLLF, add new array type ByteLF and condition the size of | |
2219 the two byte array types on AFloat. Change type of IV_Ilf overlay | |
2220 variable from Byte8 to ByteLF. Add appropriate initializations of | |
2221 floating-point overlays for AAMP cases. | |
2222 | |
2223 2006-10-31 Javier Miranda <miranda@adacore.com> | |
2224 | |
2225 * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb | |
2226 (Get_Ceiling): New subprogram that returns | |
2227 the ceiling priority of the protected object. | |
2228 (Set_Ceiling): New subprogram that sets the new ceiling priority of | |
2229 the protected object. | |
2230 | |
2231 * s-tarest.adb: (Create_Restricted_Task): Fix potential CE. | |
2232 | |
2233 * s-taskin.ads, s-taskin.adb: (Storage_Size): New function. | |
2234 | |
2235 2006-10-31 Jose Ruiz <ruiz@adacore.com> | |
2236 | |
2237 * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when | |
2238 requeuing to the same protected object to give higher priority tasks | |
2239 the opportunity to execute. | |
2240 | |
2241 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2242 | |
2243 * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding, | |
2244 add more precise check for the character sequence that follows '[' to | |
2245 avoid possible confusion in case if '[' is the last character of a | |
2246 string literals. | |
2247 (Scan_Wide): Always allow brackets encoding | |
2248 | |
2249 2006-10-31 Olivier Hainque <hainque@adacore.com> | |
2250 | |
2251 * s-stchop.ads: make this unit preelaborate. This is desirable in | |
2252 general and made mandatory by the use of this unit by s-taprop which | |
2253 is itself preelaborate. | |
2254 | |
2255 * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add | |
2256 Td_Events component. | |
2257 | |
2258 2006-10-31 Vincent Celier <celier@adacore.com> | |
2259 | |
2260 * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed | |
2261 in file names. | |
2262 | |
2263 2006-10-31 Vincent Celier <celier@adacore.com> | |
2264 | |
2265 * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005 | |
2266 | |
2267 2006-10-31 Vincent Celier <celier@adacore.com> | |
2268 | |
2269 * makegpr.adb (Check_Compilation_Needed): Take into account path names | |
2270 with spaces. | |
2271 (Check_Compilation_Needed): When checking a C or C++ source, do not | |
2272 resolve symbolic links. | |
2273 (Display_Command): New Boolean parameter Ellipse, defaulted to False. | |
2274 When not in verbose mode and Ellipse is True, display "..." for the | |
2275 first argument with Display set to False. | |
2276 (Build_Global_Archive): Always set Display True for the first object | |
2277 file. Call Display_Command with Ellipse set to True. | |
2278 | |
2279 2006-10-31 Matt Heaney <heaney@adacore.com> | |
2280 | |
2281 * a-crbtgo.ads: Commented each subprogram | |
2282 | |
2283 * a-crbtgo.adb: Added reference to book from which algorithms were | |
2284 adapted. | |
2285 | |
2286 * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to | |
2287 indicate which child. | |
2288 (Generic_Conditional_Insert): changed parameter name from "Success" to | |
2289 "Inserted". | |
2290 (Generic_Unconditional_Insert_With_Hint): improved algorithm | |
2291 | |
2292 * a-coorse.adb (Replace_Element): changed parameter name in call to | |
2293 conditional insert operation. | |
2294 | |
2295 * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment | |
2296 | |
2297 * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in | |
2298 Generic_Iteration | |
2299 | |
2300 * a-ciorse.adb (Replace_Element): changed parameter name in call to | |
2301 conditional insert operation. | |
2302 | |
2303 * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in | |
2304 Generic_Iteration. | |
2305 | |
2306 * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in | |
2307 instead of mode inout. | |
2308 | |
2309 * a-chtgop.adb (Adjust): modified comments to reflect current AI-302 | |
2310 draft | |
2311 (Generic_Read): preserve existing buckets array if possible | |
2312 (Generic_Write): don't send buckets array length anymore | |
2313 | |
2314 * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in | |
2315 instead of mode inout. | |
2316 | |
2317 * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets | |
2318 (Iterate): manipulate busy-bit here, instead of in Generic_Iteration | |
2319 | |
2320 * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets | |
2321 (Iterate): manipulate busy-bit here, instead of in Generic_Iteration | |
2322 (Replace_Element): local operation is now an instantiation | |
2323 | |
2324 * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually | |
2325 check current length. | |
2326 (Generic_Replace_Element): new operation | |
2327 | |
2328 2006-10-31 Doug Rupp <rupp@adacore.com> | |
2329 | |
2330 * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function. | |
2331 Call TBK$SYMBOLIZE without omitting parameters. | |
2332 | |
2333 2006-10-31 Vincent Celier <celier@adacore.com> | |
2334 | |
2335 * symbols-processing-vms-ia64.adb, | |
2336 symbols-processing-vms-alpha.adb (Process): Do not include symbols | |
2337 that come from generic instantiations in bodies. | |
2338 | |
2339 2006-10-31 Pat Rogers <rogers@adacore.com> | |
2340 | |
2341 * a-rttiev.ads, a-rttiev.adb: | |
2342 This is a significant redesign primarily for the sake of automatic | |
2343 timer task termination but also to fix a design flaw. | |
2344 Therefore we are now using an RTS lock, instead of a protected | |
2345 object, to provide mutual exclusion to the queue of pending events | |
2346 and the type Timing_Event is no longer a protected type. | |
2347 | |
2348 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2349 Cyrille Comar <comar@adacore.com> | |
2350 Ben Brosgol <brosgol@adacore.com> | |
2351 | |
2352 * debug.adb: Update flags documentation | |
2353 | |
2354 * gnat_ugn.texi: Add documentation for new -gnatwq switch | |
2355 Clean up documentation for several other warning switches | |
2356 Clarify how task stack size can be specified with various | |
2357 versions of Windows. | |
2358 Add note that -gnatVo includes ranges including loops | |
2359 Add documentation for -gnatL switch | |
2360 Add note on elaboration warning for initializing variables | |
2361 Add documentation for new -gnatwt warning switch | |
2362 Document new form of pragma Warnings (On|Off, string) | |
2363 Add comment on use of pragma Warnings to control warnings | |
2364 Add documentation for -gnatjnn switch | |
2365 Modify section on interfacing with C for VMS 64-bit. | |
2366 Add doc for -gnatVe/E | |
2367 Add documentation of new warning flags -gnatww/-gnatwW | |
2368 Add warnings about address clause overlays to list of warnings | |
2369 (Exception Handling Control): Document that the option --RTS must be | |
2370 used consistently for gcc and gnatbind. | |
2371 Clarify that inlining is not always possible | |
2372 Update documentation on pragma Unchecked_Union. | |
2373 | |
2374 * gnat_rm.texi: | |
2375 Add documentation for new extended version of pragma Obsolescent | |
2376 Add documentation for implementation defined attribute 'Stub_Type. | |
2377 Add note on use of Volatile in asm statements | |
2378 Add documentation on use of pragma Unreferenced in context clause | |
2379 Document new form of pragma Warnings (On|Off, pattern) | |
2380 Document pragma Wide_Character_Encoding | |
2381 Add note that pragma Restrictions (No_Elaboration_Code) is only fully | |
2382 enforced if code generation is active. | |
2383 Add section on pragma Suppress to document GNAT specific check | |
2384 Alignment_Check | |
2385 Clarify difference between No_Dispatching_Calls & No_Dispatch. | |
2386 Add documentation for pragma Restrictions (No_Elaboration_Code) | |
2387 | |
2388 * gnat-style.texi: | |
2389 Add comments on layout of subprogram local variables in the | |
2390 presence of nested subprograms. | |
2391 | |
2392 * ug_words: Resync. | |
2393 | |
2394 * elists.ads: Minor reformatting | |
2395 Node returns Node_Or_Entity_Id (doc change only) | |
2396 | |
2397 * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION | |
2398 | |
2399 * g-arrspl.ads (Create): Update comments. | |
2400 | |
2401 * sem.ads: Add details on the handling of the scope stack. | |
2402 | |
2403 * usage.adb: Update documentation. | |
2404 | |
2405 * validsw.ads, validsw.adb: | |
2406 Add definition of Validity_Check_Components and implement -gnatVe/E | |
2407 | |
2408 * vms_data.ads: Add missing VMS qualifiers. | |
2409 | |
2410 * s-addope.ads: Add documentation on overflow and divide by zero | |
2411 | |
2412 2006-10-31 Robert Dewar <dewar@adacore.com> | |
2413 Thomas Quinot <quinot@adacore.com> | |
2414 Arnaud Charlet <charlet@adacore.com> | |
2415 | |
2416 * fmap.adb: Put routines in alpha order | |
2417 | |
2418 * g-boumai.ads: Remove redundant 'in' keywords | |
2419 | |
2420 * g-cgi.adb: Minor reformatting | |
2421 | |
2422 * g-cgi.ads: Remove redundant 'in' keywords | |
2423 | |
2424 * get_targ.adb: Put routines in alpha order | |
2425 | |
2426 * prj-attr.ads: Minor reformatting | |
2427 | |
2428 * s-atacco.ads: Minor reformatting | |
2429 | |
2430 * scn.adb: Put routines in alpha order | |
2431 | |
2432 * sinput-l.adb: Minor comment fix | |
2433 | |
2434 * sinput-p.adb: Minor comment fix | |
2435 | |
2436 * s-maccod.ads: Minor reformatting | |
2437 | |
2438 * s-memory.adb: Minor reformatting | |
2439 | |
2440 * s-htable.adb: Fix typo in comment. | |
2441 | |
2442 * s-secsta.adb: Minor comment update. | |
2443 | |
2444 * s-soflin.adb: Minor reformatting | |
2445 | |
2446 * s-stoele.ads: | |
2447 Add comment about odd qualification in Storage_Offset declaration | |
2448 | |
2449 * s-strxdr.adb: | |
2450 Remove unnecessary 'in' keywords for formal parameters. | |
2451 | |
2452 * treeprs.adt: Minor reformatting | |
2453 | |
2454 * urealp.adb: Put routines in alpha order | |
2455 | |
2456 * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version | |
2457 taking string. | |
2458 | |
2459 * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords | |
2460 | |
2461 * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords | |
2462 | |
2463 * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so | |
2464 workaround as on other platforms. | |
2465 | |
2466 * g-eacodu-vms.adb: Remove redundant 'in' keywords | |
2467 * g-expect-vms.adb: Remove redundant 'in' keywords | |
2468 | |
2469 * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a | |
2470 clear error message if the list-of-files file cannot be opened. | |
2471 | |
2472 * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the | |
2473 equality operator is always visible. | |
2474 | |
2475 * lang.opt: Woverlength-strings: New option. | |
2476 | |
2477 * nmake.adt: | |
2478 Update copyright, since nmake.ads and nmake.adb have changed. | |
2479 | |
2480 * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function . | |
2481 (Binder_Output_Time_Stamps_Set): removed. | |
2482 (Old_Binder_Output_Time_Stamp): idem. | |
2483 (New_Binder_Output_Time_Stamp): idem. | |
2484 (Recording_Time_From_Last_Bind): idem. | |
2485 (Recording_Time_From_Last_Bind): Make constant. | |
2486 | |
2487 * output.ads, output.adb (Write_Str): Allow LF characters | |
2488 (Write_Spaces): New procedure | |
2489 | |
2490 * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100% | |
2491 | |
2492 * inline.adb: Minor reformatting | |
2493 | |
2494 * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords | |
2495 | |
2496 * s-mastop-vms.adb: Remove redundant 'in' keywords | |
2497 | |
2498 * s-osprim-vms.adb: Remove redundant 'in' keywords | |
2499 | |
2500 * s-trafor-default.adb: Remove redundant 'in' keywords | |
2501 | |
2502 * 9drpc.adb: Remove redundant 'in' keywords | |
2503 | |
2504 * s-osinte-mingw.ads: Minor reformatting | |
2505 | |
2506 * s-inmaop-posix.adb: Minor reformatting | |
2507 | |
2508 * a-direio.ads: Remove quotes from Compile_Time_Warning message | |
2509 | |
2510 * a-exexda.adb: Minor code reorganization | |
2511 | |
2512 * a-filico.adb: Minor reformatting | |
2513 | |
2514 * a-finali.adb: Minor reformatting | |
2515 | |
2516 * a-nudira.ads: Remove quote from Compile_Time_Warning message | |
2517 | |
2518 * a-numeri.ads: Minor reformatting | |
2519 | |
2520 * a-sequio.ads: Remove quotes from Compile_Time_Warning message | |
2521 | |
2522 * exp_pakd.ads: Fix obsolete comment | |
2523 | |
2524 * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb, | |
2525 a-wtenio.adb (Put): Avoid assuming low bound of string is 1. | |
2526 Probably not a bug, but certainly neater and more efficient. | |
2527 | |
2528 * a-tienio.adb: Minor reformatting | |
2529 | |
2530 * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start | |
2531 Avoid assuming low bound of string is 1. | |
2532 | |
2533 * gnatbind.adb: Change Bindusg to package and rename procedure as | |
2534 Display, which now ensures that it only outputs usage information once. | |
2535 (Scan_Bind_Arg): Avoid assuming low bound of string is 1. | |
2536 | |
2537 * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by | |
2538 Table'First. | |
2539 | |
2540 * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill | |
2541 warning. | |
2542 (Match): Add pragma Assert to ensure that Matches'First is zero | |
2543 | |
2544 * g-regpat.ads (Match): Document that Matches lower bound must be zero | |
2545 | |
2546 * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check | |
2547 documented preconditions (also kills warnings about bad indexes). | |
2548 | |
2549 * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First | |
2550 is 1. | |
2551 (Build_Import_Library): Ditto; | |
2552 | |
2553 * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1 | |
2554 | |
2555 * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1. | |
2556 | |
2557 * sem_case.adb (Analyze_Choices): Add pragma Assert to check that | |
2558 lower bound of choice table is 1. | |
2559 | |
2560 * sem_case.ads (Analyze_Choices): Document that lower bound of | |
2561 Choice_Table is 1. | |
2562 | |
2563 * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of | |
2564 string is 1. | |
2565 | |
2566 * uintp.adb (Init_Operand): Document that low bound of Vec is always 1, | |
2567 and add appropriate Assert pragma to suppress warnings. | |
2568 | |
2569 * atree.h, atree.ads, atree.adb | |
2570 Change Elist24 to Elist25 | |
2571 Add definitions of Field28 and Node28 | |
2572 (Traverse_Field): Use new syntactic parent table in sinfo. | |
2573 | |
2574 * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only | |
2575 | |
2576 * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only | |
2577 | |
2578 * exp_tss.adb: Put routines in alpha order | |
2579 | |
2580 * fe.h: Remove redundant declarations. | |
2581 | |
2582 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | |
2583 | |
2584 * utils.c (builtin_function): Rename to gnat_builtin_function. | |
2585 Move common code to add_builtin_function. | |
2586 * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as | |
2587 gnat_builtin_function. | |
2588 * gigi.h (builtin_function): Rename to gnat_builtin_function. | |
2589 Change the signature. | |
2590 | |
2591 2006-10-16 Brooks Moses <bmoses@stanford.edu> | |
2592 | |
2593 * Makefile.in: Add TEXI2PDF definition. | |
2594 * Make-lang.in: Add "ada.pdf" target. | |
2595 | |
2596 2006-10-03 Kazu Hirata <kazu@codesourcery.com> | |
2597 | |
2598 * decl.c, utils.c: Fix comment typos. | |
2599 * utils.c: Fix a typo. | |
2600 | |
2601 2006-09-28 Eric Botcazou <ebotcazou@adacore.com> | |
2602 | |
2603 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag | |
2604 on "pure" Ada subprograms if SJLJ exceptions are used. | |
2605 * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING | |
2606 on the declaration node of JMPBUF_SAVE. | |
2607 * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes | |
2608 of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception. | |
2609 * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS. | |
2610 | |
2611 2006-08-20 Laurent Guerby <laurent@guerby.net> | |
2612 | |
2613 PR ada/28716 | |
2614 g-socket.adb (Bind_Socket): Call Set_Address. | |
2615 | |
2616 2006-09-15 Eric Botcazou <ebotcazou@adacore.com> | |
2617 | |
2618 PR ada/15802 | |
2619 * decl.c (same_discriminant_p): New static function. | |
2620 (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent | |
2621 subtype and we have discriminants, fix up the COMPONENT_REFs | |
2622 for the discriminants to make them reference the corresponding | |
2623 fields of the parent subtype after it has been built. | |
2624 | |
2625 2006-09-15 Roger Sayle <roger@eyesopen.com> | |
2626 | |
2627 PR ada/18817 | |
2628 * utils.c (max_size): Perform constant folding of (A ? B : C) - D | |
2629 into A ? B - D : C - D when calculating the size of a MINUS_EXPR. | |
2630 | |
2631 2006-09-13 Olivier Hainque <hainque@adacore.com> | |
2632 | |
2633 PR ada/29025 | |
2634 * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address | |
2635 of a SAVE_EXPR, just make the operand addressable/not-readonly and | |
2636 let the common gimplifier code make and propagate a temporary copy. | |
2637 (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable | |
2638 out/in-out actuals and defer setting the addressable/readonly bits | |
2639 to the gimplifier. | |
2640 | |
2641 2006-09-13 Eric Botcazou <ebotcazou@adacore.com> | |
2642 | |
2643 PR ada/28591 | |
2644 * decl.c (components_to_record): Defer emitting debug info for the | |
2645 record type associated with the variant until after we are sure to | |
2646 actually use it. | |
2647 | |
2648 2006-09-13 Eric Botcazou <ebotcazou@adacore.com> | |
2649 | |
2650 PR ada/21952 | |
2651 * gigi.h (gnat_internal_attribute_table): Declare. | |
2652 * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above. | |
2653 * utils.c (gnat_internal_attribute_table): New global variable. | |
2654 (builtin_function): Always call decl_attributes on the builtin. | |
2655 (handle_const_attribute): New static function. | |
2656 (handle_nothrow_attribute): Likewise. | |
2657 | |
2658 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
2659 | |
2660 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies. | |
2661 | |
2662 2006-06-23 Olivier Hainque <hainque@adacore.com> | |
2663 | |
2664 * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have | |
2665 not been able to get a constant upper bound from TYPE_SIZE_UNIT. | |
2666 | |
2667 2006-06-20 James A. Morrison <phython@gcc.gnu.org> | |
2668 Eric Botcazou <ebotcazou@adacore.com> | |
2669 | |
2670 PR ada/18692 | |
2671 * Make-lang.in: Add check-gnat to lang_checks. Rename existing | |
2672 check-gnat into check-acats. | |
2673 | |
2674 2006-06-17 Karl Berry <karl@gnu.org> | |
2675 | |
2676 * gnat-style.texi (@dircategory): Use "Software development" | |
2677 instead of "Programming", following the Free Software Directory. | |
2678 | |
2679 2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2680 | |
2681 PR ada/27944 | |
2682 * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'. | |
2683 | |
2684 2006-06-06 Laurent Guerby <laurent@guerby.net> | |
2685 | |
2686 PR ada/27769 | |
2687 mlib-utl.adb: Use Program_Name. | |
2688 | |
2689 2006-05-28 Kazu Hirata <kazu@codesourcery.com> | |
2690 | |
2691 * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c, | |
2692 sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c, | |
2693 trans.c, utils.c: Fix comment typos. Follow spelling | |
2694 conventions. | |
2695 * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling | |
2696 conventions. | |
2697 | |
2698 2006-05-19 Nicolas Setton <setton@adacore.com> | |
2699 | |
2700 * misc.c (gnat_dwarf_name): New function. | |
2701 (LANG_HOOKS_DWARF_NAME): Define to it. | |
2702 | |
2703 2006-05-14 H.J. Lu <hongjiu.lu@intel.com> | |
2704 | |
2705 * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H). | |
2706 (ada/misc.o): Likewise. | |
2707 (ada/utils.o): Likewise. | |
2708 | |
2709 2006-04-08 Aurelien Jarno <aurel32@debian.org> | |
2710 | |
2711 * Makefile.in: Add Ada support for GNU/kFreeBSD. | |
2712 * s-osinte-kfreebsd-gnu.ads: New file. | |
2713 | |
2714 2006-03-29 Carlos O'Donell <carlos@codesourcery.com> | |
2715 | |
2716 * Make-lang.in: Rename docdir to gcc_docdir. | |
2717 | |
2718 2006-03-04 Eric Botcazou <ebotcazou@adacore.com> | |
2719 | |
2720 * gigi.h (get_ada_base_type): Delete. | |
2721 * utils2.c (get_ada_base_type): Likewise. | |
2722 * trans.c (convert_with_check): Operate in the real base type. | |
2723 | |
2724 2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2725 | |
2726 * uintp.adb (Num_Bits): Handle Uint_Int_First specially. | |
2727 | |
2728 2006-03-02 Richard Sandiford <richard@codesourcery.com> | |
2729 | |
2730 * utils.c (create_var_decl): Use have_global_bss_p when deciding | |
2731 whether to make the decl common. | |
2732 | |
2733 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | |
2734 | |
2735 * Make-lang.in (Ada): Remove. | |
2736 (.PHONY): Remove Ada | |
2737 | |
2738 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2739 | |
2740 * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an | |
2741 aggregate, check the interpretations of the other operand to find one | |
2742 that may be a boolean array. | |
2743 | |
2744 (Analyze_Selected_Component): Fix flow-of-control typo in case where | |
2745 the prefix is a private extension. | |
2746 | |
2747 2006-02-17 Eric Botcazou <botcazou@adacore.com> | |
2748 | |
2749 PR ada/26315 | |
2750 * utils2.c (find_common_type): If both input types are BLKmode and | |
2751 have the same constant size, keep using the first one. | |
2752 | |
2753 * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround. | |
2754 | |
2755 * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant. | |
2756 | |
2757 * misc.c (gnat_handle_option): New case for -Woverlength-strings. | |
2758 | |
2759 2006-02-17 Jose Ruiz <ruiz@adacore.com> | |
2760 | |
2761 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, | |
2762 s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, | |
2763 s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb, | |
2764 s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add | |
2765 Abort_Defer/Undefer pairs to avoid the possibility of a task being | |
2766 aborted while owning a lock. | |
2767 | |
2768 2006-02-17 Javier Miranda <miranda@adacore.com> | |
2769 Robert Dewar <dewar@adacore.com> | |
2770 | |
2771 * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed | |
2772 through an access to class-wide interface we force the displacement of | |
2773 the pointer to the allocated object to reference the corresponding | |
2774 secondary dispatch table. | |
2775 (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2, | |
2776 if Long_Shifts are supported on the target, even if 64 bit divides | |
2777 are not supported (configurable run time mode). | |
2778 (Expand_N_Type_Conversion): Do validity check if validity checks on | |
2779 operands are enabled. | |
2780 (Expand_N_Qualified_Expression): Do validity check if validity checks | |
2781 on operands are enabled. | |
2782 | |
2783 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2784 | |
2785 * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity | |
2786 must be materialized when the renamed expression is an explicit | |
2787 dereference. | |
2788 | |
2789 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2790 | |
2791 * freeze.adb (Statically_Discriminated_Components): Return false if | |
2792 the bounds of the type of the discriminant are not static expressions. | |
2793 | |
2794 * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if | |
2795 the bounds of the discriminant type are not static. | |
2796 | |
2797 2006-02-17 Robert Dewar <dewar@adacore.com> | |
2798 | |
2799 * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD, | |
2800 then we close To if it is valid. | |
2801 | |
2802 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com> | |
2803 | |
2804 * init.c (facility_resignal_table): new array | |
2805 (__gnat_default_resignal_p): enhance default predicate to resignal if | |
2806 VMS condition has one of the predefined facility codes. | |
2807 | |
2808 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com> | |
2809 | |
2810 * Makefile.in: Use VMS64 specialized versions of several units in | |
2811 Interfaces.C hierarchy to be compatible with HP C default size choices. | |
2812 Use the default version of Ada.Synchronous_Task_Control for VxWorks 653. | |
2813 | |
2814 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2815 | |
2816 * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram | |
2817 instantiation, the corresponding entity is the related_instance of the | |
2818 wrapper package created for the instance. | |
2819 | |
2820 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2821 | |
2822 * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if | |
2823 the current instance is nested within another instance in a child unit. | |
2824 | |
2825 2006-02-17 Javier Miranda <miranda@adacore.com> | |
2826 Ed Schonberg <schonberg@adacore.com> | |
2827 | |
2828 * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent | |
2829 type we cannot inherit the primitive operations; we inherit the | |
2830 Corresponding_Record_Type (which has the list of primitive operations). | |
2831 (Check_Anonymous_Access_Types): When creating anonymous access types for | |
2832 access components, use Rewrite in order to preserve the tree structure, | |
2833 for ASIS use. | |
2834 (Analyze_Object_Declaration): For limited types with access | |
2835 discriminants with defaults initialized by an aggregate, obtain | |
2836 subtype from aggregate as for other mutable types. | |
2837 (Derived_Type_Declaration): If the derived type is a limited interface, | |
2838 set the corresponding flag (Is_Limited_Record is not sufficient). | |
2839 | |
2840 2006-02-17 Ed Schonberg <schonberg@adacore.com> | |
2841 | |
2842 * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order | |
2843 to inline a function that returns an unconstrained type, the return | |
2844 expression must be the first variable declared in the body of the | |
2845 function. | |
2846 | |
2847 2006-02-17 Javier Miranda <miranda@adacore.com> | |
2848 | |
2849 * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an | |
2850 abstract interface type, the static analysis is not enough to know if | |
2851 the interface is implemented or not by the source tagged type. Hence | |
2852 we must pass the work to the expander to generate the required code to | |
2853 evaluate the conversion at run-time. | |
2854 (Resolve_Equality_Op): Do not apply previous | |
2855 transformation if expansion is disasbled, to prevent anomalies when | |
2856 locating global references in a generic unit. | |
2857 | |
2858 2006-02-17 Vincent Celier <celier@adacore.com> | |
2859 | |
2860 * snames.ads, snames.adb: New standard names for new project attributes: | |
2861 archive_builder, archive_indexer, compiler_pic_option, | |
2862 config_body_file_name, config_body_file_name_pattern, | |
2863 config_file_switches, config_file_unique, config_spec_file_name, | |
2864 config_spec_file_name_pattern, default_builder_switches, | |
2865 default_global_compiler_switches, default_language, | |
2866 dependency_file_kind, global_compiler_switches, include_path, | |
2867 include_path_file, language_kind, linker_executable_option, | |
2868 linker_lib_dir_option, linker_lib_name_option, mapping_file_switches, | |
2869 roots, runtime_project. | |
2870 | |
2871 2006-02-17 Matthew Heaney <heaney@adacore.com> | |
2872 | |
2873 * a-convec.ads, a-convec.adb: | |
2874 (operator "&"): handle potential overflow for large index types | |
2875 (Insert): removed Contraint_Error when using large index types | |
2876 (Insert_Space): removed Constraint_Error for large index types | |
2877 (Length): moved constraint check from Length to Insert | |
2878 | |
2879 * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared | |
2880 as not null access. | |
2881 Explicit raise statements now include an exception message. | |
2882 (operator "&"): handle potential overflow for large index types | |
2883 (Insert): removed Contraint_Error when using large index types | |
2884 (Insert_Space): removed Constraint_Error for large index types | |
2885 (Length): moved constraint check from Length to Insert | |
2886 | |
2887 2006-02-17 Robert Dewar <dewar@adacore.com> | |
2888 | |
2889 * s-wchcnv.adb: Document handling of [ on output (we do not change | |
2890 this to ["5B"] and the new comments say why not. | |
2891 | |
2892 * gnat_ugn.texi: | |
2893 Add note for -gnatVo that this now includes the cases of type | |
2894 conversions and qualified expressions. | |
2895 Add comments on handling of brackets encoding for Text_IO | |
2896 | |
2897 2006-02-17 Ramon Fernandez <fernandez@adacore.com> | |
2898 Thomas Quinot <quinot@adacore.com> | |
2899 Robert Dewar <dewar@adacore.com> | |
2900 Javier Miranda <miranda@adacore.com> | |
2901 | |
2902 * expander.adb: Fix typo in comment | |
2903 | |
2904 * exp_pakd.adb: Fix typo | |
2905 Minor comment reformatting. | |
2906 | |
2907 * g-dyntab.adb: Minor reformatting | |
2908 | |
2909 * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of | |
2910 aliased subprograms to look for the abstract interface subprogram. | |
2911 | |
2912 2006-02-16 Eric Botcazou <ebotcazou@adacore.com> | |
2913 | |
2914 * env.c (__gnat_setenv): Use size_t. | |
2915 (__gnat_unsetenv): Likewise. | |
2916 (__gnat_clearenv): Likewise. | |
2917 | |
2918 2006-02-16 Arnaud Charlet <charlet@adacore.com> | |
2919 | |
2920 * opt.ads (Ada_Version_Default): Set to Ada 2005 by default. | |
2921 | |
2922 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
2923 | |
2924 * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads, | |
2925 g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads, | |
2926 i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb, | |
2927 s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb, | |
2928 s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb, | |
2929 s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb, | |
2930 s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb, | |
2931 s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads, | |
2932 s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed, | |
2933 no longer used. | |
2934 | |
2935 2006-02-13 Jose Ruiz <ruiz@adacore.com> | |
2936 | |
2937 * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit | |
2938 protection against race conditions is not needed. | |
2939 (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the | |
2940 fallback handler. | |
2941 (Set_Specific_Handler): Add mutual exclusive access to the specific | |
2942 handler. | |
2943 (Specific_Handler): Add mutual exclusive access for retrieving the | |
2944 specific handler. | |
2945 | |
2946 * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall | |
2947 back handler. | |
2948 | |
2949 * s-taskin.ads (Common_ATCB): Remove pragma Atomic for | |
2950 Fall_Back_Handler and Specific_Handler. | |
2951 | |
2952 * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task | |
2953 termination handlers. | |
2954 Set two different owerflow depending on the maximal stack size. | |
2955 | |
2956 * s-solita.adb (Task_Termination_Handler_T): Document why explicit | |
2957 protection against race conditions is not needed when executing the | |
2958 task termination handler. | |
2959 | |
2960 2006-02-13 Robert Dewar <dewar@adacore.com> | |
2961 | |
2962 * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb, | |
2963 a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb, | |
2964 a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads, | |
2965 a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb, | |
2966 a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb, | |
2967 a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads, | |
2968 a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads, | |
2969 a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb, | |
2970 a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads, | |
2971 a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb, | |
2972 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb, | |
2973 a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads, | |
2974 a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb, | |
2975 a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb, | |
2976 a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb, | |
2977 a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb, | |
2978 a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, | |
2979 a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb, | |
2980 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads, | |
2981 a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb, | |
2982 g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb, | |
2983 g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb, | |
2984 mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb, | |
2985 prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb, | |
2986 s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb, | |
2987 s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads, | |
2988 s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb, | |
2989 s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb, | |
2990 s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads, | |
2991 s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb, | |
2992 a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb, | |
2993 fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb, | |
2994 par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb, | |
2995 system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor | |
2996 reformatting. | |
2997 | |
2998 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> | |
2999 | |
3000 * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb, | |
3001 s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb, | |
3002 s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb, | |
3003 s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb, | |
3004 a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb, | |
3005 s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb, | |
3006 a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb, | |
3007 s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb, | |
3008 s-tataat.adb, s-tpobop.adb: Remove redundant with clauses. | |
3009 | |
3010 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
3011 | |
3012 * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads, | |
3013 s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads, | |
3014 s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, | |
3015 s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, | |
3016 s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads, | |
3017 s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed, | |
3018 replaced by anonymous access type. | |
3019 (pthread_sigmask): Now take an access sigset_t | |
3020 | |
3021 * s-osinte-hpux.ads: Ditto. | |
3022 (pthread_mutex_t, pthread_cond_t): Update definitions to support | |
3023 properly 32 and 64 bit ABIs. | |
3024 | |
3025 2006-02-13 Pascal Obry <obry@adacore.com> | |
3026 | |
3027 * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, | |
3028 s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, | |
3029 s-taprop-linux.adb, s-taprop-solaris.adb, | |
3030 s-taprop-vms.adb (Create_Task): Remove task adjustment code. This | |
3031 adjustement is already done when calling this routine. | |
3032 | |
3033 2006-02-13 Pascal Obry <obry@adacore.com> | |
3034 | |
3035 * system-mingw.ads (Underlying_Priorities): Update the priority mapping | |
3036 table to take advantage of the 16 priority levels available on Windows | |
3037 2000 and XP. On NT4 there are only 7 priority levels, this is properly | |
3038 supported by this new mapping. | |
3039 | |
3040 2006-02-13 Nicolas Setton <setton@adacore.com> | |
3041 | |
3042 * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types. | |
3043 (get_encoding): New subprogram. Extracts the encodings from an encoded | |
3044 Ada name. | |
3045 | |
3046 2006-02-13 Pascal Obry <obry@adacore.com> | |
3047 Nicolas Roche <roche@adacore.com> | |
3048 Arnaud Charlet <charlet@adacore.com> | |
3049 | |
3050 * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode | |
3051 support. | |
3052 (__gnat_try_lock): Add unicode support by using a specific section on | |
3053 Windows. | |
3054 (__gnat_get_current_dir): Idem. | |
3055 (__gnat_open_read): Idem. | |
3056 (__gnat_open_rw): Idem. | |
3057 (__gnat_open_create): Idem. | |
3058 (__gnat_create_output_file): Idem. | |
3059 (__gnat_open_append): Idem. | |
3060 (__gnat_open_new): Idem. | |
3061 (__gnat_file_time_name): Idem. | |
3062 (__gnat_set_file_time_name): Idem. | |
3063 (__gnat_stat): Idem. | |
3064 (win32_no_block_spawn): Idem. | |
3065 (__gnat_locate_exec_on_path): Idem. | |
3066 (__gnat_opendir): New routine. | |
3067 (__gnat_closedir): Idem. | |
3068 (__gnat_readdir): Add new parameter length (pointer to int). Update | |
3069 implementation to use it and add specific Win32 code for Unicode | |
3070 support. | |
3071 (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c | |
3072 (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c | |
3073 (convert_addresses): Do not define this dummy routine on VMS. | |
3074 | |
3075 * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT | |
3076 runtime Unicode support will be activated. | |
3077 (S2WS): String to Wide-String conversion. This version just copy a | |
3078 string in non Unicode version. | |
3079 (WS2S): Wide-String to String conversion. This version just copy a | |
3080 string in non Unicode version. | |
3081 | |
3082 * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c. | |
3083 (Open): Now import __gnat_opendir from adaint.c. | |
3084 (Read): Change the implementation to support unicode characters. It is | |
3085 not possible to use strlen() on Windows as this version supports only | |
3086 standard ASCII characters. So the length of the directory entry is now | |
3087 returned from the imported __gnat_readdir routine. | |
3088 Update copyright notice. | |
3089 | |
3090 * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c. | |
3091 (opendir): Moved to adaint.c. | |
3092 | |
3093 * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation. | |
3094 (Get_Directory): Fix wrong indexing. | |
3095 (Getenv): replace __gnat_get_env_value_ptr from adaint.c by | |
3096 __gnat_getenv from env.c | |
3097 (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv | |
3098 from env.c | |
3099 | |
3100 * env.h, env.c: New file. | |
3101 | |
3102 * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from | |
3103 adaint.c by __gnat_getenv from env.c | |
3104 | |
3105 * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from | |
3106 adaint.c by __gnat_getenv from env.c | |
3107 | |
3108 * Make-lang.in: Add env.o in the list of C object needed by gnat1 | |
3109 and gnatbind. | |
3110 Update dependencies. | |
3111 | |
3112 2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3113 Olivier Hainque <hainque@adacore.com> | |
3114 Eric Botcazou <ebotcazou@adacore.com> | |
3115 | |
3116 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted. | |
3117 | |
3118 * gigi.h (value_factor_p): Add prototype and description, now public. | |
3119 | |
3120 * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type | |
3121 promotion for field with rep clause if the associated size was proven | |
3122 to be in error. | |
3123 Expand comments describing attempts to use a packable type. | |
3124 (gnat_to_gnu_entity) <E_Signed_Integer_Subtype, | |
3125 E_Floating_Point_Subtype>: Inherit alias set of what we are making a | |
3126 subtype of to ensure conflicts amongst all subtypes in a hierarchy, | |
3127 necessary since these are not different types and pointers may | |
3128 actually designate any subtype in this hierarchy. | |
3129 (gnat_to_gnu_entity, case E_Record_Type): Always make fields for | |
3130 discriminants but put them into record only if not Unchecked_Union; | |
3131 pass flag to components_to_record showing Unchecked_Union. | |
3132 (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no | |
3133 components before variants; don't set TYPE_UNCHECKED_UNION_P. | |
3134 (components_to_record): New argument UNCHECKED_UNION. | |
3135 Remove special case code for Unchecked_Union and instead use main code | |
3136 with small changes. | |
3137 | |
3138 PR ada/26096 | |
3139 (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning | |
3140 variable with the expression being built, only its inner field. | |
3141 | |
3142 * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to | |
3143 emit_sequence_entry_statements. | |
3144 (emit_sequence_entry_statements, body_with_handlers_p): Delete. | |
3145 (establish_gnat_vms_condition_handler): Move before | |
3146 Subprogram_Body_to_gnu. | |
3147 (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler | |
3148 for a subprogram if it has a foreign convention or is exported. | |
3149 (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is | |
3150 substituted for a CONST_DECL. | |
3151 (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass | |
3152 Etype to assoc_to_constructor. | |
3153 (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore | |
3154 discriminants of Unchecked_Union. | |
3155 (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses | |
3156 don't need cluttering preprocessor directives. | |
3157 (establish_gnat_vms_condition_handler): New function. Establish the GNAT | |
3158 condition handler as current in the compiled function. | |
3159 (body_with_handlers_p): New function. Tell whether a given sequence of | |
3160 statements node is attached to a package or subprogram body and involves | |
3161 exception handlers possibly nested within inner block statements. | |
3162 (emit_sequence_entry_statements): New function, to emit special | |
3163 statements on entry of sequences when necessary. Establish GNAT | |
3164 condition handler in the proper cases for VMS. | |
3165 (Handled_Sequence_Of_Statements_to_gnu): Start block code with | |
3166 emit_sequence_entry_statements. | |
3167 | |
3168 * utils2.c (find_common_type): If both input types are BLKmode and | |
3169 have a constant size, use the smaller one. | |
3170 (build_simple_component_ref): Also match if FIELD and NEW_FIELD are | |
3171 the same. | |
3172 | |
3173 * utils.c (value_factor_p): Make public, to allow uses from other gigi | |
3174 units. | |
3175 (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types. | |
3176 (convert, case UNION_TYPE): Remove special treatment for unchecked | |
3177 unions. | |
3178 | |
3179 PR ada/18659 | |
3180 (update_pointer_to): Update variants of pointer types to unconstrained | |
3181 arrays by attaching the list of fields of the main variant. | |
3182 | |
3183 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
3184 Robert Dewar <dewar@adacore.com> | |
3185 | |
3186 * a-exexpr.adb, a-exexpr-gcc.adb | |
3187 (Process_Raise_Exception): Removed, merged with Propagate_Exception. | |
3188 (Propagate_Exception): Now take extra From_Signal_Handler parameter. | |
3189 Remove code unused for exception propagation for the compiler itself | |
3190 from a-except.adb and update to still share separate packages. | |
3191 | |
3192 * a-except.ads, a-except.adb: Ditto. | |
3193 Add comments that this version is now used only by the compiler and | |
3194 other basic tools. The full version that includes the Ada 2005 stuff | |
3195 is in separate files a-except-2005.ads/adb. The reason is that we do | |
3196 not want to cause bootstrap problems with compilers not recognizing | |
3197 Wide_Wide_String. | |
3198 Add exception reason code PE_Implicit_Return | |
3199 Add new exception reason code (Null Exception_Id) | |
3200 | |
3201 * a-except-2005.adb, a-except-2005.ads: New files. | |
3202 | |
3203 * s-wchcon.ads: (Get_WC_Encoding_Method): New function. | |
3204 | |
3205 * s-wchcon.adb: New file. | |
3206 | |
3207 * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c. | |
3208 (traceback.o deps): Likewise. | |
3209 (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris. | |
3210 Activate build of GMEM instrumentation library on VMS targets. | |
3211 (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib. | |
3212 Use a-except-2005.ads/adb for all run-time library builds unless | |
3213 specified otherwise. | |
3214 [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to | |
3215 s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads. | |
3216 Use s-parame.adb on all native platforms. | |
3217 Use s-parame-vxworks.adb on all vxworks platforms. | |
3218 Add env.c env.h in LIBGNAT_SRCS | |
3219 Add env.o in LIBGNAT_OBJS | |
3220 (GNATMAKE_OBJS): Remove ctrl_c.o object. | |
3221 (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of | |
3222 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that | |
3223 supports VxWorks 6 RTPs. | |
3224 (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of | |
3225 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs. | |
3226 | |
3227 * types.h, types.ads (Terminate_Program): New exception | |
3228 Add comment on modifying multiple versions of a-except.adb when the | |
3229 table of exception reasons is modified. | |
3230 Add exception reason code PE_Implicit_Return | |
3231 Add new exception reason code (Null Exception_Id) | |
3232 | |
3233 * clean.adb (Initialize): Get the target parameters before checking | |
3234 if target is OpenVMS. Move the OpenVMS specific code here from package | |
3235 body elaboration code. | |
3236 | |
3237 2006-02-13 Thomas Quinot <quinot@adacore.com> | |
3238 Vincent Celier <celier@adacore.com> | |
3239 Robert Dewar <dewar@adacore.com> | |
3240 | |
3241 * ali-util.adb (Get_File_Checksum): Update to account for change in | |
3242 profile of Initialize_Scanner. | |
3243 | |
3244 * gprep.adb (Gnatprep): Update to account for change in profile of | |
3245 Initialize_Scanner. | |
3246 (Process_One_File): Same. | |
3247 | |
3248 * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the | |
3249 common code between Get_Code_Unit and Get_Source_Unit. Reimplement | |
3250 that behaviour using the new Unit information recorded in the source | |
3251 files table, rather than going through all units every time. | |
3252 (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit. | |
3253 (Get_Source_Unit): Same. | |
3254 | |
3255 * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for | |
3256 change in profile of Initialize_Scanner. | |
3257 (Prepare_To_Preprocess): Same. | |
3258 | |
3259 * lib.ads: Fix typo in comment (templace -> template). | |
3260 | |
3261 * prj-part.adb (Parse_Single_Project): Update to account for change in | |
3262 profile of Initialize_Scanner. | |
3263 | |
3264 * scn.adb (Initialize_Scanner): Account for change in profile of | |
3265 Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng. | |
3266 Also record the association of the given Source_File_Index to the | |
3267 corresponding Unit_Number_Type. | |
3268 | |
3269 * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove | |
3270 procedure. | |
3271 (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords. | |
3272 Remove Unit formal for generic scanner: this formal | |
3273 is only relevant to Scn (the scanner instance used to parse Ada source | |
3274 files), not to other instances. Update comment accordingly. | |
3275 (Scan): Use new function Snames.Is_Keyword_Name. | |
3276 | |
3277 * sinfo-cn.adb: Fix typo in comment. | |
3278 | |
3279 * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute | |
3280 Unit. | |
3281 | |
3282 * sinput.ads (Source_File_Record): New component Unit, used to capture | |
3283 the unit identifier (if any) associated to a source file. | |
3284 | |
3285 * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component | |
3286 Unit in Source_File_Record. | |
3287 | |
3288 * sinput-p.adb (Source_File_Is_Subunit): Update to account for change | |
3289 in profile of Initialize_Scanner. | |
3290 | |
3291 * scans.adb (Initialize_Ada_Keywords): New procedure | |
3292 | |
3293 * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the | |
3294 Ada keywords in the Namet table, without the need to call | |
3295 Initialize_Scanner. | |
3296 | |
3297 * snames.adb: Add pragma Ada_2005 (synonym for Ada_05) | |
3298 (Is_Keyword_Name): New function | |
3299 | |
3300 * snames.ads: Add subtype Configuration_Pragma_Names | |
3301 Add pragma Ada_2005 (synonym for Ada_05) | |
3302 (Is_Keyword_Name): New function | |
3303 | |
3304 * snames.h: Add pragma Ada_2005 (synonym for Ada_05) | |
3305 | |
3306 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
3307 | |
3308 * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice | |
3309 index. | |
3310 | |
3311 * a-stwima.adb (To_Set): Add extra check when N = 0. | |
3312 | |
3313 * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow. | |
3314 | |
3315 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
3316 | |
3317 * s-parame-mingw.adb, s-parame-linux.adb, | |
3318 s-parame-solaris.adb: Removed, replaced by s-parame.adb | |
3319 | |
3320 * s-parame-vxworks.ads: Fix typo. | |
3321 | |
3322 * s-parame-vxworks.adb: New file. | |
3323 | |
3324 * s-parame.adb: Version now used by all native platforms. | |
3325 (Default_Stack_Size): Use 2 megs for default stack size and use | |
3326 __gl_default_stack_size when available. | |
3327 (Minimum_Stack_Size): Use 12K. | |
3328 | |
3329 * s-taprop-mingw.adb: Set default stack size linker switch to 2megs. | |
3330 (Create_Task): Refine implementation taking advantage of the XP stack | |
3331 size support. On XP, we now create the thread using the flag | |
3332 STACK_SIZE_PARAM_IS_A_RESERVATION. | |
3333 | |
3334 * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant. | |
3335 | |
3336 * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows | |
3337 XP and 0 on older Windows versions. | |
3338 | |
3339 * interfac-vms.ads: Removed, no longer used. | |
3340 | |
3341 2006-02-13 Matthew Heaney <heaney@adacore.com> | |
3342 | |
3343 * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb, | |
3344 a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb, | |
3345 a-cohase.adb: All explicit raise statements now include an exception | |
3346 message. | |
3347 | |
3348 * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb | |
3349 (Update_Element_Preserving_Key): renamed op to just Update_Element. | |
3350 Explicit raise statements now include an exception message | |
3351 | |
3352 * a-cihase.ads, a-cohase.ads: Removed comment. | |
3353 | |
3354 * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb, | |
3355 a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads, | |
3356 a-szbzha.adb, a-szfzha.ads: New files. | |
3357 | |
3358 2006-02-13 Matthew Heaney <heaney@adacore.com> | |
3359 | |
3360 * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of | |
3361 quicksort. | |
3362 | |
3363 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> | |
3364 | |
3365 * lang.opt: Wvariadic-macros: New option. | |
3366 Wold-style-definition: Likewise. | |
3367 Wmissing-format-attribute: Likewise. | |
3368 | |
3369 * misc.c (gnat_handle_option): New cases for -Wvariadic-macros, | |
3370 -Wold-style-definition and -Wmissing-format-attribute. | |
3371 | |
3372 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3373 | |
3374 * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec) | |
3375 | |
3376 * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files. | |
3377 | |
3378 2006-02-13 Nicolas Roche <roche@adacore.com> | |
3379 | |
3380 * a-envvar.adb, a-envvar.ads: New files. | |
3381 | |
3382 2006-02-13 Douglas Rupp <rupp@adacore.com> | |
3383 | |
3384 * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads | |
3385 | |
3386 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files. | |
3387 | |
3388 2006-02-13 Pat Rogers <rogers@adacore.com> | |
3389 | |
3390 * a-rttiev.adb, a-rttiev.ads: New files. | |
3391 | |
3392 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> | |
3393 | |
3394 * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb, | |
3395 a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files. | |
3396 | |
3397 * impunit.adb, Makefile.rtl: Added new Ada 2005 units. | |
3398 | |
3399 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3400 | |
3401 * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb, | |
3402 sem_case.adb: Minor code reorganization (not Present should be No) | |
3403 | |
3404 2006-02-13 Geert Bosch <bosch@adacore.com> | |
3405 Gary Dismukes <dismukes@adacore.com> | |
3406 | |
3407 * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of | |
3408 0, since the lower bound of the actual string may be greater than one. | |
3409 | |
3410 PR ada/20753 | |
3411 * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid | |
3412 layout is requested. | |
3413 | |
3414 2006-02-13 Vincent Celier <celier@adacore.com> | |
3415 | |
3416 * back_end.adb (Scan_Compiler_Arguments): Check if | |
3417 Search_Directory_Present is True and, if it is, add the argument in | |
3418 the source search directory path. | |
3419 | |
3420 * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set | |
3421 Search_Directory_Present to True. | |
3422 | |
3423 2006-02-13 Joel Brobecker <brobecke@adacore.com> | |
3424 | |
3425 * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as | |
3426 volatile, to tell the compiler to preserve this variable at any level | |
3427 of optimization. | |
3428 (Gen_Versions_Ada): Temporarily work around codegen bug. | |
3429 | |
3430 2006-02-13 Vincent Celier <celier@adacore.com> | |
3431 | |
3432 * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke | |
3433 gcc to link with option -shared-libgcc. | |
3434 (Gnatlink): Remove duplicate switches -shared-libgcc | |
3435 | |
3436 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3437 | |
3438 * gnatvsn.ads (Current_Year): New constant, used to easily update | |
3439 copyright on all GNAT tools. | |
3440 | |
3441 * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed | |
3442 copyright notice. | |
3443 | |
3444 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3445 | |
3446 * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space | |
3447 after hyphen (small aesthetic change useful for a range of numbers | |
3448 using ^-^. | |
3449 Suppress range checks for a couple of assignments which otherwise | |
3450 cause validity checks with validity checking turned on. | |
3451 | |
3452 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size): | |
3453 Improvement in error message for object. | |
3454 (Rep_Item_Too_Late): Remove '!' in warning message. | |
3455 | |
3456 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3457 Eric Botcazou <ebotcazou@adacore.com> | |
3458 | |
3459 * err_vars.ads: Suppress range checks for a couple of assignments | |
3460 which otherwise cause validity checks with validity checking turned on. | |
3461 Update comments. | |
3462 | |
3463 * errout.adb (Error_Msg_Internal): Do not suppress warning messages. | |
3464 Make message unconditional if it is a warning. | |
3465 (Error_Msg_NEL): Always output warning messages. | |
3466 Suppress range checks for a couple of assignments which otherwise | |
3467 cause validity checks with validity checking turned on. | |
3468 | |
3469 * errout.ads (Message Insertion Characters): Document that '!' is | |
3470 implied by '?' in error messages. | |
3471 | |
3472 * gnat1drv.adb: (Bad_Body): Remove '!' in warning message. | |
3473 (Gnat1drv): Use a goto to end of main subprogram instead of | |
3474 Exit_Program (E_Success) so that finalization can occur normally. | |
3475 | |
3476 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> | |
3477 | |
3478 * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has | |
3479 wrapped around. | |
3480 | |
3481 2006-02-13 Vincent Celier <celier@adacore.com> | |
3482 | |
3483 * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New | |
3484 Unchecked_Conversion functions. | |
3485 (Modification_Time): Use direct conversion of OS_Time to Calendar time | |
3486 when OpenVMS returns False. | |
3487 | |
3488 * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads, | |
3489 a-dirval.adb (OpenVMS): New Boolean function | |
3490 | |
3491 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3492 Thomas Quinot <quinot@adacore.com> | |
3493 | |
3494 * checks.adb (Build_Discriminant_Checks): If the expression being | |
3495 checks is an aggregate retrieve the values of its discriminants to | |
3496 generate the check, rather than creating a temporary and a reference | |
3497 to it. | |
3498 (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag | |
3499 (Install_Null_Excluding_Check): Ditto | |
3500 (Selected_Length_Checks): Build actual subtype for the original Ck_Node, | |
3501 not for the renamed object, so that the actual itype is attached in the | |
3502 proper context. | |
3503 | |
3504 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3505 Vincent Celier <celier@adacore.com> | |
3506 | |
3507 * debug.adb: Eliminate numeric switches for binder/gnatmake | |
3508 | |
3509 * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug | |
3510 switches for the compiler. | |
3511 (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake | |
3512 (Scan_Make_Switches): When failing with an illegal switch, output an | |
3513 error message with the full switch. | |
3514 Eliminate numeric switches for binder/gnatmake | |
3515 | |
3516 * switch.ads, switch.adb (Bad_Switch): New procedure | |
3517 | |
3518 * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches. | |
3519 Remove 0-9 as debug flag character possibilities | |
3520 -d is now controlling the primary stack size when its value is a | |
3521 positive. Also add checks against invalid values, and support for kb, | |
3522 mb. Ditto for -D switch. | |
3523 | |
3524 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3525 Serguei Rybin <rybin@adacore.com> | |
3526 | |
3527 * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with | |
3528 save/restore routines. | |
3529 Properly handle Ada_Version_Explicit and Ada_Version_Config, which | |
3530 were not always properly handled previously. | |
3531 Since we are changing the tree format anyway, also get rid of the | |
3532 junk obsolete Immediate_Errors flag. | |
3533 (Tree_Read): Change the way of reading Tree_Version_String - now we | |
3534 read the version string from the tree even if its length is not the | |
3535 same as the length of the version string computed from Gnatvsn. | |
3536 (Search_Directory_Present): New Boolean flag for the compiler. | |
3537 Define Tree_Version_String as a dynamic string. | |
3538 (Default_Stack_Size): new variable, used to handle switch -d. | |
3539 | |
3540 * par-prag.adb: | |
3541 For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit | |
3542 only for main unit. | |
3543 Add pragma Ada_2005 (synonym for Ada_05) | |
3544 Properly handle Ada_Version_Explicit and Ada_Version_Config, which | |
3545 were not always properly handled previously. | |
3546 | |
3547 * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change | |
3548 explicit Ada_95 to Ada_2005. | |
3549 | |
3550 2006-02-13 Javier Miranda <miranda@adacore.com> | |
3551 Robert Dewar <dewar@adacore.com> | |
3552 Ed Schonberg <schonberg@adacore.com> | |
3553 | |
3554 * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend | |
3555 against errors in the source program: a private types for which the | |
3556 corresponding full type declaration is missing and pragma CPP_Virtual | |
3557 is used. | |
3558 (Is_Unchecked_Union): Check flag on Implementation_Base_Type. | |
3559 (Is_Known_Null): New flag | |
3560 (Has_Pragma_Pure): New flag | |
3561 (No_Return): Present in all entities, set only for procedures | |
3562 (Is_Limited_Type): A type whose ancestor is an interface is limited if | |
3563 explicitly declared limited. | |
3564 (DT_Offset_To_Top_Func): New attribute that is present in E_Component | |
3565 entities. Only used for component marked Is_Tag. If present it stores | |
3566 the Offset_To_Top function used to provide this value in tagged types | |
3567 whose ancestor has discriminants. | |
3568 | |
3569 * exp_ch2.adb: Update status of new Is_Known_Null flag | |
3570 | |
3571 * sem_ch7.adb: Maintain status of new Is_Known_Null flag | |
3572 | |
3573 * sem_cat.adb (Get_Categorization): Don't treat function as Pure in | |
3574 the categorization sense if Is_Pure was set by pragma Pure_Function. | |
3575 | |
3576 2006-02-13 Quentin Ochem <ochem@adacore.com> | |
3577 Olivier Hainque <hainque@adacore.com> | |
3578 | |
3579 * bindusg.adb: Updated documentation for -d and -D switches. | |
3580 | |
3581 * raise.h (__gnat_set_globals): added new parameter for | |
3582 Default_Stack_Size. | |
3583 | |
3584 * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement. | |
3585 (__gnat_handle_vms_condition): Adjust context before raise. | |
3586 (__gnat_install_handler): Restore the global vector setup for GCC | |
3587 versions before 3.4, as the frame based circtuitry is not available | |
3588 in this case. | |
3589 (__gnat_set_globals): added a parameter default_stack_size | |
3590 (__gl_default_stack_size): new variable. | |
3591 | |
3592 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3593 | |
3594 * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable | |
3595 "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept | |
3596 does not exist in the Ada RM. | |
3597 (Compatible_Int_Bounds): Determine whether two integer range bounds | |
3598 are of equal length and have the same start and end values. | |
3599 (Is_Int_Range_Bounds): Determine whether a node is an integer range. | |
3600 (Build_Record_Aggr_Code): Perform proper sliding of a nested array | |
3601 aggregate when it is part of an object declaration. | |
3602 (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that | |
3603 constrains discriminants of its parent, add explicitly the discriminant | |
3604 constraints of the ancestor by retrieving them from the | |
3605 stored_constraint of the parent. | |
3606 | |
3607 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3608 | |
3609 * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If | |
3610 attribute Mechanism_Code is applied to renamed subprogram, modify | |
3611 prefix to point to base subprogram. | |
3612 Max/Min attributes now violate Restriction No_Implicit_Conditionals | |
3613 | |
3614 * sinfo.ads: Document that Mechanism_Code cannot be applied to | |
3615 renamed subprograms so that the front-end must replace the prefix | |
3616 appropriately. | |
3617 | |
3618 2006-02-13 Javier Miranda <miranda@adacore.com> | |
3619 Gary Dismukes <dismukes@adacore.com> | |
3620 | |
3621 * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for | |
3622 availability of RE_Interface_Tag. | |
3623 (Build_Initialization_Call): Fix wrong access to the discriminant value. | |
3624 (Freeze_Record_Type): Do not generate the tables associated with | |
3625 timed and conditional dispatching calls through synchronized | |
3626 interfaces if compiling under No_Dispatching_Calls restriction. | |
3627 When compiling for Ada 2005, for a nonabstract | |
3628 type with a null extension, call Make_Controlling_Function_Wrappers | |
3629 and insert the wrapper function declarations and bodies (the latter | |
3630 being appended as freeze actions). | |
3631 (Predefined_Primitive_Bodies): Do not generate the bodies of the | |
3632 predefined primitives associated with timed and conditional | |
3633 dispatching calls through synchronized interfaces if we are | |
3634 compiling under No_Dispatching_Calls. | |
3635 (Build_Init_Procedure): Use RTE_Available to check if a run-time | |
3636 service is available before generating a call. | |
3637 (Make_Controlling_Function_Wrappers): New procedure. | |
3638 (Expand_N_Full_Type_Declaration): Create a class-wide master for | |
3639 access-to-limited-interfaces because they can be used to reference | |
3640 tasks that implement such limited interface. | |
3641 (Build_Offset_To_Top_Functions): Build the tree corresponding to the | |
3642 procedure spec and body of the Offset_To_Top function that is generated | |
3643 when the parent of a type with discriminants has secondary dispatch | |
3644 tables. | |
3645 (Init_Secondary_Tags): Handle the case in which the parent of the type | |
3646 containing secondary dispatch tables has discriminants to generate the | |
3647 correct arguments to call Set_Offset_To_Top. | |
3648 (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions. | |
3649 | |
3650 * a-tags.ads, a-tags.adb: (Check_Index): Removed. | |
3651 Add Wide_[Wide_]Expanded_Name. | |
3652 (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly | |
3653 the same functionality of Get_Prim_Op_Address but applied to predefined | |
3654 primitive operations because the pointers to the predefined primitives | |
3655 are now saved in a separate table. | |
3656 (Parent_Size): Modified to get access to the separate table of primitive | |
3657 operations or the parent type. | |
3658 (Set_Predefined_Prim_Op_Address): New subprogram that provides the same | |
3659 functionality of Set_Prim_Op_Address but applied to predefined primitive | |
3660 operations. | |
3661 (Set_Signature): New subprogram used to store the signature of a DT. | |
3662 (Displace): If the Offset_To_Top value is not static then call the | |
3663 function generated by the expander to get such value; otherwise use | |
3664 the value stored in the table of interfaces. | |
3665 (Offset_To_Top): The type of the actual has been changed to Address to | |
3666 give the correct support to tagged types with discriminants. In this | |
3667 case this value is stored just immediately after the tag field. | |
3668 (Set_Offset_To_Top): Two new formals have been added to indicate if the | |
3669 offset_to_top value is static and hence pass this value to the run-time | |
3670 to store it in the table of interfaces, or else if this value is dynamic | |
3671 and then pass to the run-time the address of a function that is | |
3672 generated by the expander to provide this value for each object of the | |
3673 type. | |
3674 | |
3675 * rtsfind.ads (Default_Prin_Op_Count): Removed. | |
3676 (Default_Prim_Op_Count): New entity | |
3677 (Get_Predefined_Prim_Op_Address): New entity | |
3678 (Set_Predefined_Prim_Op_Address): New entity | |
3679 (RE_Set_Signature): New entity | |
3680 | |
3681 2006-02-13 Thomas Quinot <quinot@adacore.com> | |
3682 Ed Schonberg <schonberg@adacore.com> | |
3683 | |
3684 * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to | |
3685 Make_Adjust_Call done for a newly-allocated object. | |
3686 | |
3687 * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements | |
3688 in a subprogram are wrapped in a cleanup block, indicate that the | |
3689 subprogram contains an inner block with an exception handler. | |
3690 (Make_Adjust_Call): New Boolean formal Allocator indicating whether the | |
3691 Adjust call is for a newly-allocated object. In that case we must not | |
3692 assume that the finalization list chain pointers are correct (since they | |
3693 come from a bit-for-bit copy of the original object's pointers) so if | |
3694 the attach level would otherwise be zero (no change), we set it to 4 | |
3695 instead to cause the pointers to be reset to null. | |
3696 | |
3697 * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning | |
3698 reset chain pointers to null. | |
3699 | |
3700 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3701 | |
3702 * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a | |
3703 string, and the context requires a loop for the assignment (e.g. | |
3704 because the left-hand side is packed), generate a unique name for the | |
3705 temporary that holds the string, to prevent spurious name clashes. | |
3706 | |
3707 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3708 Javier Miranda <miranda@adacore.com> | |
3709 Robert Dewar <dewar@adacore.com> | |
3710 Gary Dismukes <dismukes@adacore.com> | |
3711 | |
3712 * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that | |
3713 return unconstrained arrays. | |
3714 Update comments. | |
3715 (Expand_Call): An indirect call through an access parameter of a | |
3716 protected operation is not a protected call. | |
3717 Add circuit to raise CE in Ada 2005 mode following call | |
3718 to Raise_Exception. | |
3719 (Register_DT_Entry): Do nothing if | |
3720 the run-time does not give support to abstract interfaces. | |
3721 (Freeze_Subprogram): In case of dispatching operations, do not generate | |
3722 code to register the operation in the dispatch table if the source | |
3723 is compiled with No_Dispatching_Calls. | |
3724 (Register_Predefined_DT_Entry): Generate code that calls the new | |
3725 run-time subprogram Set_Predefined_Prim_Op_Address instead of | |
3726 Set_Prim_Op_Address. | |
3727 | |
3728 * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks | |
3729 on array assignments if the right-hand side is a function call that has | |
3730 been inlined. Check is performed on the assignment in the block. | |
3731 (Process_Bounds): If bounds and range are overloaded, apply preference | |
3732 rule for root operations to disambiguate, and diagnose true ambiguity. | |
3733 (Analyze_Assignment): Propagate the tag for a class-wide assignment with | |
3734 a tag-indeterminate right-hand side even when Expander_Active is True. | |
3735 Needed to ensure that dispatching calls to T'Input are allowed and | |
3736 get the tag of the target class-wide object. | |
3737 | |
3738 * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override | |
3739 an inherited primitive operation that already overrides several | |
3740 abstract interface primitives. For transitivity, the new entity must | |
3741 also override all the abstract interface primitives covered by the | |
3742 inherited overriden primitive. | |
3743 Emit warning if new entity differs from homograph in same scope only in | |
3744 that one has an access parameter and the other one has a parameter of | |
3745 a general access type with the same designated type, at the same | |
3746 position in the signature. | |
3747 (Make_Inequality_Operator): Use source locations of parameters and | |
3748 subtype marks from corresponding equality operator when creating the | |
3749 tree structure for the implicit declaration of "/=". This does not | |
3750 change anything in behaviour except that the decoration of the | |
3751 components of the subtree created for "/=" allows ASIS to get the | |
3752 string images of the corresponding identifiers. | |
3753 (Analyze_Return_Statement): Remove '!' in warning message. | |
3754 (Check_Statement_Sequence): Likewise. | |
3755 (Analyze_Subprogram_Body): For an access parameter whose designated type | |
3756 is an incomplete type imported through a limited_with clause, use the | |
3757 type of the corresponding formal in the body. | |
3758 (Check_Returns): Implicit return in No_Return procedure now raises | |
3759 Program_Error with a compile time warning, instead of beging illegal. | |
3760 (Has_Single_Return): Function returning unconstrained type cannot be | |
3761 inlined if expression in unique return statement is not an identifier. | |
3762 (Build_Body_To_Inline): It is possible to inline a function call that | |
3763 returns an unconstrained type if all return statements in the function | |
3764 return the same local variable. Subsidiary procedure Has_Single_Return | |
3765 verifies that the body conforms to this restriction. | |
3766 | |
3767 * sem_res.adb (Resolve_Equality_Op): If the operands do not have the | |
3768 same type, and one of them is of an anonymous access type, convert | |
3769 the other operand to it, so that this is a valid binary operation for | |
3770 gigi. | |
3771 (Resolve_Type_Conversion): Handle subtypes of protected types and | |
3772 task types when accessing to the corresponding record type. | |
3773 (Resolve_Allocator): Add '\' in 2-line warning message. | |
3774 Remove '!' in warning message. | |
3775 (Resolve_Call): Add '\' in 2-line warning message. | |
3776 (Valid_Conversion): Likewise. | |
3777 (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the | |
3778 resulting type may be an access type with an implicit dereference. | |
3779 Obtain the proper component from the designated type. | |
3780 (Make_Call_Into_Operator): Handle properly a call to predefined equality | |
3781 given by an expanded name with prefix Standard, when the operands are | |
3782 of an anonymous access type. | |
3783 (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_ | |
3784 Explicit_Dereference and Resolve_Selected_Component, to verify that the | |
3785 prefix of the expression is not of an incomplete type. Allows full | |
3786 diagnoses of all semantic errors. | |
3787 (Resolve_Actuals): If the actual is an allocator whose directly | |
3788 designated type is a class-wide interface we build an anonymous | |
3789 access type to use it as the type of the allocator. Later, when | |
3790 the subprogram call is expanded, if the interface has a secondary | |
3791 dispatch table the expander will add a type conversion to force | |
3792 the displacement of the pointer. | |
3793 (Resolve_Call): If a function that returns an unconstrained type is | |
3794 marked Inlined_Always and inlined, the call will be inlined and does | |
3795 not require the creation of a transient scope. | |
3796 (Check_Direct_Boolean_Op): Removed | |
3797 (Resolve_Comparison_Op): Remove call to above | |
3798 (Resolve_Equality_Op): Remove call to above | |
3799 (Resolve_Logical_Op): Inline above, since this is only call. | |
3800 (Valid_Conversion): Handle properly conversions between arrays of | |
3801 convertible anonymous access types. | |
3802 | |
3803 PR ada/25885 | |
3804 (Set_Literal_String_Subtype): If the lower bound is not static, wrap | |
3805 the literal in an unchecked conversion, because GCC 4.x needs a static | |
3806 value for a string bound. | |
3807 | |
3808 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3809 Hristian Kirtchev <kirtchev@adacore.com> | |
3810 | |
3811 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the | |
3812 components of the corresponding record, take into account component | |
3813 definitions that are access definitions. | |
3814 (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a | |
3815 procedure is not considered a dispatching call and will be expanded | |
3816 properly. | |
3817 | |
3818 2006-02-13 Javier Miranda <miranda@adacore.com> | |
3819 | |
3820 * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the | |
3821 controlling argument of the dispatching call is an abstract interface | |
3822 class-wide type then we use it directly. | |
3823 Check No_Dispatching_Calls restriction. | |
3824 (Default_Prim_Op_Position): Remove the code that looks for the last | |
3825 entity in the list of aliased subprograms. This code was wrong in | |
3826 case of renamings. | |
3827 (Fill_DT_Entry): Add assertion to avoid the use of this subprogram | |
3828 when the source is compiled with the No_Dispatching_Calls restriction. | |
3829 (Init_Predefined_Interface_Primitives): No need to inherit primitives | |
3830 if we are compiling with restriction No_Dispatching_Calls. | |
3831 (Make_Disp_XXX): Addition of assertion to avoid the use of all these | |
3832 subprograms if we are compiling under No_Dispatching_Calls restriction. | |
3833 (Make_DT): Generate a dispatch table with a single dummy entry if | |
3834 we are compiling with the No_Dispatching_Calls restriction. In | |
3835 addition, in this case we don't generate code that calls to the | |
3836 following run-time subprograms: Set_Type_Kind, Inherit_DT. | |
3837 (Make_Select_Specific_Data_Table): Add assertion to avoid the use | |
3838 of this subprogram if compiling with the No_Dispatching_Calls | |
3839 restriction. | |
3840 (Expand_Type_Conversion): Instead of using the actual parameter, | |
3841 the argument passed as parameter to the conversion function was | |
3842 erroneously referenced by the expander. | |
3843 (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address, | |
3844 Set_Predefined_Primitive_Op_Address and Set_Signature. | |
3845 (Expand_Dispatching_Call): Generate call to | |
3846 Get_Predefined_Prim_Op_Address for predefined primitives. | |
3847 (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for | |
3848 predefined primitives. | |
3849 (Make_DT, Make_Secondary_DT): If the tagged type has no user defined | |
3850 primitives we reserve one dummy entry to ensure that the tag does not | |
3851 point to some memory that is associated with some other object. In | |
3852 addition, remove all the old code that generated the assignments | |
3853 associated with the signature of the dispatch table and replace them | |
3854 by a call to the new subprogram Set_Signature. | |
3855 (Set_All_DT_Position): Change the algorithm because now we have a | |
3856 separate dispatch table associated with predefined primitive operations. | |
3857 (Expand_Interface_Conversion): In case of non-static offset_to_top | |
3858 add explicit dereference to get access to the object after the call | |
3859 to displace the pointer to the object. | |
3860 (Expand_Interface_Thunk): Modify the generation of the actual used | |
3861 in the calls to the run-time function Offset_To_Top to fulfil its | |
3862 new interface. | |
3863 (Make_DT): Add the new actuals required to call Set_Offset_To_Top. | |
3864 | |
3865 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3866 | |
3867 * exp_dist.adb (Copy_Specification): For access parameters, copy | |
3868 Null_Exclusion flag, which will have been set for stream subprograms | |
3869 in Ada2005 mode. | |
3870 | |
3871 2006-02-13 Pascal Obry <obry@adacore.com> | |
3872 | |
3873 * expect.c (__gnat_expect_portable_execvp): New implementation. The | |
3874 previous implementation was using the C runtime spawnve routine but | |
3875 the corresponding wait was using directly the Win32 API. This was | |
3876 causing some times a lock when waiting for an event using | |
3877 WaitForSingleObject in __gnat_waitpid. This new implementation uses | |
3878 the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32 | |
3879 API fixes this problem. | |
3880 | |
3881 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3882 | |
3883 * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze | |
3884 call. | |
3885 | |
3886 2006-02-13 Thomas Quinot <quinot@adacore.com> | |
3887 | |
3888 * exp_pakd.ads: Fix typos in comments. | |
3889 | |
3890 * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed | |
3891 array reference that is an explicit dereference, mark the converted | |
3892 (packed) array reference as analyzed to prevent a forthcoming | |
3893 reanalysis from resetting its type to the original (non-packed) array | |
3894 type. | |
3895 | |
3896 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3897 Javier Miranda <miranda@adacore.com> | |
3898 Eric Botcazou <ebotcazou@adacore.com> | |
3899 | |
3900 * exp_util.ads, exp_util.adb (Find_Prim_Op, | |
3901 Is_Predefined_Primitive_Operation): When | |
3902 searching for the predefined equality operator, verify that operands | |
3903 have the same type. | |
3904 (Is_Predefined_Dispatching_Operation): Remove the code that looks | |
3905 for the last entity in the list of aliased subprograms. This code | |
3906 was wrong in case of renamings. | |
3907 (Set_Renamed_Subprogram): New procedure | |
3908 (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the | |
3909 Exp_Type constant computed when entering this subprogram. | |
3910 (Known_Null): New function | |
3911 (OK_To_Do_Constant_Replacement): New function | |
3912 (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag | |
3913 (Side_Effect_Free): An attribute reference 'Input is not free of | |
3914 side effect, unlike other attributes that are functions. (from code | |
3915 reading). | |
3916 (Remove_Side_Effects): Expressions that involve packed arrays or records | |
3917 are copied at the point of reference, and therefore must be marked as | |
3918 renamings of objects. | |
3919 (Is_Predefined_Dispatching_Operation): Return false if the operation is | |
3920 not a dispatching operation. | |
3921 | |
3922 PR ada/18819 | |
3923 (Remove_Side_Effects): Lift enclosing type conversion nodes for | |
3924 elementary types in all cases. | |
3925 | |
3926 2006-02-13 Javier Miranda <miranda@adacore.com> | |
3927 | |
3928 * freeze.adb (Freeze_Entity): Handle subtypes of protected types and | |
3929 task types when accessing to the corresponding record type. | |
3930 Remove '!' in warning message. | |
3931 | |
3932 2006-02-13 Olivier Hainque <hainque@adacore.com> | |
3933 | |
3934 * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment), | |
3935 to avoid useless and space inefficient overalignments on targets where | |
3936 Max_Alignment is larger than 16. | |
3937 | |
3938 2006-02-13 Pascal Obry <obry@adacore.com> | |
3939 | |
3940 * g-catiio.adb (Sec_Number): New type used to compute the number of | |
3941 seconds since 1-1-1970. | |
3942 (Image) [Natural]: The parameter was an Integer, as we can't deal with | |
3943 negative numbers (years, months...) it is better to have a Natural here. | |
3944 Code clean-up. | |
3945 (Image) [Number]: Change parameter from Long_Integer to Number. | |
3946 (Image): Use Number type to compute the seconds since 1-1-1970 to fix an | |
3947 overflow for dates past year 2038. | |
3948 | |
3949 2006-02-13 Matthew Heaney <heaney@adacore.com> | |
3950 | |
3951 * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise | |
3952 Constraint_Error. | |
3953 | |
3954 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
3955 | |
3956 * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and | |
3957 native platforms. | |
3958 (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that | |
3959 finalization can occur normally. | |
3960 | |
3961 2006-02-13 Vincent Celier <celier@adacore.com> | |
3962 | |
3963 * gnatcmd.adb (Rules_Switches): New table | |
3964 (Add_To_Rules_Switches): New procedure | |
3965 (GNATCmd): For command CHECK, put all options following "-rules" in the | |
3966 Rules_Switches table. Append these -rules switches after the -cargs | |
3967 switches. | |
3968 | |
3969 2006-02-13 Robert Dewar <dewar@adacore.com> | |
3970 | |
3971 * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM): | |
3972 These two cases were generating incorrect output, and if this unit | |
3973 was built with checks on, generated a discriminant mismatch constraint | |
3974 error. | |
3975 | |
3976 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
3977 Robert Dewar <dewar@adacore.com> | |
3978 | |
3979 * lib-xref.adb (Get_Type_Reference): For a private type whose full | |
3980 view is an array type, indicate the component type as well, for | |
3981 navigation purposes. | |
3982 (Generate_Reference): Don't consider array ref on LHS to be a case | |
3983 of violating pragma Unreferenced. | |
3984 Do not give Ada 2005 warning except on real reference. | |
3985 | |
3986 2006-02-13 Vincent Celier <celier@adacore.com> | |
3987 | |
3988 * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the | |
3989 main source, add switch -mdebug-main=_ada_ so that the executable can | |
3990 be debugged by the standard VMS debugger. | |
3991 (Gnatmake): Set No_Main_Subprogram to True when there is no main | |
3992 subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly. | |
3993 Exit the Multi_Main_Loop when Unique_Compile is True after compilation | |
3994 of the last source, as the binding and linking phases are never | |
3995 performed. | |
3996 Set all executable obsolete when rebuilding a library. | |
3997 | |
3998 * makeutl.adb (Linker_Options_Switches): Do not process empty linker | |
3999 options. | |
4000 | |
4001 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4002 | |
4003 PR ada/23973 | |
4004 * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the | |
4005 code to improve the error message reported when the program has | |
4006 declarations of abstract interface types and it is not compiled with | |
4007 the -gnat05 switch. | |
4008 (P_Access_Definition): Reorganize the code to improve the error | |
4009 message reported when the new Ada 2005 syntax for anonymous | |
4010 access types is used and the program is not compiled with the | |
4011 -gnat05 switch. | |
4012 | |
4013 2006-02-13 Robert Dewar <dewar@adacore.com> | |
4014 | |
4015 * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb, | |
4016 stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch | |
4017 (MODE_IN) | |
4018 | |
4019 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4020 | |
4021 * par-endh.adb (Explicit_Start_Label): Add code to protect the parser | |
4022 against source containing syntax errors. | |
4023 | |
4024 2006-02-13 Vincent Celier <celier@adacore.com> | |
4025 | |
4026 * prj.adb (Reset): Initialize the first element of table Namings with | |
4027 the standard naming data. | |
4028 | |
4029 2006-02-13 Vincent Celier <celier@adacore.com> | |
4030 | |
4031 * prj.ads (Error_Warning): New enumeration type | |
4032 | |
4033 * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is | |
4034 unknown, use the location of the project to report the error. | |
4035 (When_No_Sources): New global variable | |
4036 (Report_No_Ada_Sources): New procedure | |
4037 (Check): New parameter When_No_Sources. Set value of global variable | |
4038 When_No_Sources, | |
4039 (Find_Sources): Call Report_No_Ada_Sources when appropriate | |
4040 (Get_Sources_From_File): Ditto | |
4041 (Warn_If_Not_Sources): Better warning messages indicating the unit name | |
4042 and the file name. | |
4043 | |
4044 * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources. | |
4045 Call Prj.Proc.Process with parameter When_No_Sources. | |
4046 | |
4047 * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources. | |
4048 Call Recursive_Check with parameter When_No_Sources. | |
4049 (Recursive_Check): New parameter When_No_Sources. Call itself and | |
4050 Prj.Nmsc.Check with parameter When_No_Sources. | |
4051 (Process): New parameter When_No_Sources. Call Check with parameter | |
4052 When_No_Sources. | |
4053 (Copy_Package_Declarations): New procedure to copy renamed parameters | |
4054 and setting the location of the declared attributes to the location | |
4055 of the renamed package. | |
4056 (Process_Declarative_Items): Call Copy_Package_Declarations for renamed | |
4057 packages. | |
4058 | |
4059 2006-02-13 Vincent Celier <celier@adacore.com> | |
4060 | |
4061 * prj-makr.adb (Make): Preserve the comments from the original project | |
4062 file. | |
4063 When removing nodes (attributes Source_Dirs, Source_Files, | |
4064 Source_List_File and package Naming), save the comments and attach the | |
4065 saved comments to the newly created nodes. | |
4066 Do not add a with clause for the naming package if one already exists. | |
4067 | |
4068 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4069 Gary Dismukes <dismukes@adacore.com> | |
4070 Robert Dewar <dewar@adacore.com> | |
4071 | |
4072 * restrict.ads (No_Dispatching_Calls): New GNAT restriction. | |
4073 | |
4074 * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of | |
4075 aliased entities to look for the overriden abstract interface | |
4076 subprogram. | |
4077 (Is_Interface_Subprogram): Complete documentation. | |
4078 (Check_Dispatching_Operation): Do not generate code to register the | |
4079 operation in the dispatch table if the source is compiled with | |
4080 restriction No_Dispatching_Calls. | |
4081 (Override_Dispatching_Operation): Check for illegal attempt to override | |
4082 No_Return procedure with procedure that is not No_Return | |
4083 (Check_Dispatching_Call): Suppress the check for an abstract operation | |
4084 when the original node of an actual is a tag-indeterminate attribute | |
4085 call, since the attribute, which must be 'Input, can never be abstract. | |
4086 (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a | |
4087 call to the Input attribute (even when rewritten). | |
4088 (Propagate_Tag): Augment comment to indicate the possibility of a call | |
4089 to an Input attribute. | |
4090 | |
4091 * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow | |
4092 calling it from Exp_Ch3.Make_Controlling_Function_Wrappers. | |
4093 | |
4094 * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction. | |
4095 No_Wide_Characters is no longer partition-wide | |
4096 No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257) | |
4097 rather than GNAT | |
4098 | |
4099 2006-02-13 Douglas Rupp <rupp@adacore.com> | |
4100 | |
4101 * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type. | |
4102 | |
4103 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4104 | |
4105 * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that | |
4106 handles default-initialized components to keep separate the management | |
4107 of this feature but also avoid the unrequired resolution and | |
4108 expansion of components that do not have partially initialized | |
4109 values. | |
4110 (Collect_Aggr_Bounds): Add '\' in 2-line warning message. | |
4111 (Check_Bounds): Likewise. | |
4112 (Check_Length): Likewise. | |
4113 | |
4114 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4115 Ed Schonberg <schonberg@adacore.com> | |
4116 | |
4117 * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an | |
4118 abstract interface type call analyze_and_resolve to expand the type | |
4119 conversion into the corresponding displacement of the | |
4120 reference to the base of the object. | |
4121 (Eval_Attribute, case Width): For systems where IEEE extended precision | |
4122 is supported, the maximum exponent occupies 4 decimal digits. | |
4123 (Accessibility_Message): Add '\' in 2-line warning message. | |
4124 (Resolve_Attribute): Likewise. | |
4125 (case Attribute_Access): Significantly revise checks | |
4126 for illegal access-to-subprogram Access attributes to properly enforce | |
4127 the rules of 3.10.2(32/2). | |
4128 Diagnose use of current instance with an illegal attribute. | |
4129 | |
4130 * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal | |
4131 to a Node_Id. | |
4132 (Enclosing_Generic_Unit): New function to return a node's innermost | |
4133 enclosing generic declaration node. | |
4134 (Compile_Time_Constraint_Error): Remove '!' in warning messages. | |
4135 (Type_Access_Level): The accessibility level of anonymous acccess types | |
4136 associated with discriminants is that of the current instance of the | |
4137 type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)). | |
4138 (Compile_Time_Constraint_Error): Handle case of conditional expression. | |
4139 (Kill_Current_Values_For_Entity): New function | |
4140 (Enter_Name): Change formal type to Entity_Id | |
4141 | |
4142 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> | |
4143 Ed Schonberg <schonberg@adacore.com> | |
4144 Gary Dismukes <dismukes@adacore.com> | |
4145 | |
4146 * sem_ch10.adb (Check_Redundant_Withs): New procedure in | |
4147 Analyze_Compilation_Unit. | |
4148 Detect and warn on redundant with clauses detected in a package spec | |
4149 and/or body when -gnatwr is used. | |
4150 (Analyze_Context): Analyze config pragmas before other items | |
4151 (Install_Context_Items): Don't analyze config pragmas here | |
4152 (Install_Limited_Withed_Unit): Set limited entity of package in | |
4153 with_clause so that cross-reference information or warning messages on | |
4154 unused packages can be properly generated | |
4155 (Is_Visible_Through_Renamings): Return false if the limited_with_clause | |
4156 has Error_Posted set. Prevent infinite loops in illegal programs. | |
4157 (Check_Private_Child_Unit): Move test for a nonprivate with clause down | |
4158 to the point of the error test requiring the current unit to be private. | |
4159 This ensures that private with clauses are not exempted from the basic | |
4160 checking for being a descendant of the same library unit parent as a | |
4161 withed private descendant unit. | |
4162 (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to | |
4163 handle private with clauses properly, as well as to account for cases | |
4164 where the withed unit is a public descendant of a private ancestor | |
4165 (in which case the current unit must be a descendant of the private | |
4166 ancestor's parent). The spec comments were updated accordingly. Also, | |
4167 the old error message in this subprogram was replaced with error | |
4168 messages that mirror the errors tested and reported by | |
4169 Check_Private_Child_Unit. | |
4170 Parameter and variable names improved for readability. | |
4171 (Install_Limited_Context_Clauses): Remove test for a withed unit being | |
4172 private as the precondition for calling | |
4173 Check_Private_Limited_Withed_Unit since that subprogram has been | |
4174 revised to test public units as well as private units. | |
4175 | |
4176 2006-02-13 Thomas Quinot <quinot@adacore.com> | |
4177 Robert Dewar <dewar@adacore.com> | |
4178 Ed Schonberg <schonberg@adacore.com> | |
4179 Javier Miranda <miranda@adacore.com> | |
4180 | |
4181 * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption | |
4182 that Scope_Stack.First = 1. | |
4183 Properly handle Ada_Version_Explicit and Ada_Version_Config, which | |
4184 were not always properly handled previously. | |
4185 (Formal_Entity): Complete rewrite, to handle properly some complex case | |
4186 with multiple levels of parametrization by formal packages. | |
4187 (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator | |
4188 to the corresponding derived type declaration for proper semantics. | |
4189 | |
4190 * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message. | |
4191 (Check_Component): Enforce restriction on components of | |
4192 unchecked_unions: a component in a variant cannot contain tasks or | |
4193 controlled types. | |
4194 (Unchecked_Union): Allow nested variants and multiple discriminants, to | |
4195 conform to AI-216. | |
4196 Add pragma Ada_2005 (synonym for Ada_05) | |
4197 Properly handle Ada_Version_Explicit and Ada_Version_Config, which | |
4198 were not always properly handled previously. | |
4199 Document that pragma Propagate_Exceptions has no effect | |
4200 (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure | |
4201 (Set_Convention_From_Pragma): Check that if a convention is | |
4202 specified for a dispatching operation, then it must be | |
4203 consistent with the existing convention for the operation. | |
4204 (CPP_Class): Because of the C++ ABI compatibility, the programmer is no | |
4205 longer required to specify an vtable-ptr component in the record. For | |
4206 compatibility reasons we leave the support for the previous definition. | |
4207 (Analyze_Pragma, case No_Return): Allow multiple arguments | |
4208 | |
4209 * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a | |
4210 non-overrideen inherited operation with a controlling result as | |
4211 illegal only its implicit declaration comes from the derived type | |
4212 declaration of its result's type. | |
4213 (Check_Possible_Deferred_Completion): Relocate the object definition | |
4214 node of the subtype indication of a deferred constant completion rather | |
4215 than directly analyzing it. The analysis of the generated subtype will | |
4216 correctly decorate the GNAT tree. | |
4217 (Record_Type_Declaration): Check whether this is a declaration for a | |
4218 limited derived record before analyzing components. | |
4219 (Analyze_Component_Declaration): Diagnose record types not explicitly | |
4220 declared limited when a component has a limited type. | |
4221 (Build_Derived_Record_Type): Code reorganization to check if some of | |
4222 the inherited subprograms of a tagged type cover interface primitives. | |
4223 This check was missing in case of a full-type associated with a private | |
4224 type declaration. | |
4225 (Constant_Redeclaration): Check that the subtypes of the partial and the | |
4226 full view of a constrained deferred constant statically match. | |
4227 (Mentions_T): A reference to the current type in an anonymous access | |
4228 component declaration must be an entity name. | |
4229 (Make_Incomplete_Type_Declaration): If type is tagged, set type of | |
4230 class_wide type to refer to full type, not to the incomplete one. | |
4231 (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not | |
4232 available. Required to give support to the certified run-time. | |
4233 (Analyze_Component_Declaration): In case of anonymous access components | |
4234 perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2). | |
4235 (Process_Discriminants): For an access discriminant, use the | |
4236 discriminant specification as the associated_node_for_itype, to | |
4237 simplify accessibility checks. | |
4238 | |
4239 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
4240 Javier Miranda <miranda@adacore.com> | |
4241 | |
4242 * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no | |
4243 abstract interpretations on an operator, remove interpretations that | |
4244 yield Address or a type derived from it, if one of the operands is an | |
4245 integer literal. | |
4246 (Try_Object_Operation.Try_Primitive_Operation, | |
4247 Try_Object_Operation.Try_Class_Wide_Operation): Set proper source | |
4248 location when creating the new reference to a primitive or class-wide | |
4249 operation as a part of rewriting a subprogram call. | |
4250 (Try_Primitive_Operations): If context requires a function, collect all | |
4251 interpretations after the first match, because there may be primitive | |
4252 operations of the same type with the same profile and different return | |
4253 types. From code reading. | |
4254 (Try_Primitive_Operation): Use the node kind to choose the proper | |
4255 operation when a function and a procedure have the same parameter | |
4256 profile. | |
4257 (Complete_Object_Operation): If formal is an access parameter and prefix | |
4258 is an object, rewrite as an Access reference, to match signature of | |
4259 primitive operation. | |
4260 (Find_Equality_Type, Find_One_Interp): Handle properly equality given | |
4261 by an expanded name with prefix Standard, when the operands are of an | |
4262 anonymous access type. | |
4263 (Remove_Abstract_Operations): If the operation is abstract because it is | |
4264 inherited by a user-defined type derived from Address, remove it as | |
4265 well from the set of candidate interpretations of an overloaded node. | |
4266 (Analyze_Membership_Op): Membership test not applicable to cpp-class | |
4267 types. | |
4268 | |
4269 2006-02-13 Bob Duff <duff@adacore.com> | |
4270 | |
4271 * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about | |
4272 redundant use clauses. | |
4273 In particular, if the scope of two use clauses overlaps, but one is not | |
4274 entirely included in the other, we should not warn. This can happen | |
4275 with nested packages. | |
4276 (Analyze_Subprogram_Renaming): Protect the compiler against previously | |
4277 reported errors. The bug was reported when the compiler was built | |
4278 with assertions enabled. | |
4279 (Find_Type): If the node is a 'Class reference and the prefix is a | |
4280 synchronized type without a corresponding record, return the type | |
4281 itself. | |
4282 | |
4283 2006-02-13 Javier Miranda <miranda@adacore.com> | |
4284 | |
4285 * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that | |
4286 if this is the full-declaration associated with a private declaration | |
4287 that implement interfaces, then the private type declaration must be | |
4288 limited. | |
4289 (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object | |
4290 as aliased. The use of the 'access attribute is not available for such | |
4291 object (for this purpose the object should be explicitly marked as | |
4292 aliased, but being an anonymous type this is not possible). | |
4293 | |
4294 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
4295 Robert Dewar <dewar@adacore.com> | |
4296 | |
4297 * sem_elab.adb (Same_Elaboration_Scope): A package that is a | |
4298 compilation unit is an elaboration scope. | |
4299 (Add_Task_Proc): Add '\' in 2-line warning message. | |
4300 (Activate_All_Desirable): Deal with case of unit with'ed by parent | |
4301 | |
4302 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
4303 Javier Miranda <miranda@adacore.com> | |
4304 | |
4305 * sem_type.adb (Write_Overloads): Improve display of candidate | |
4306 interpretations. | |
4307 (Add_One_Interp): Do not add to the list of interpretations aliased | |
4308 entities corresponding with an abstract interface type that is an | |
4309 immediate ancestor of a tagged type; otherwise we have a dummy | |
4310 conflict between this entity and the aliased entity. | |
4311 (Disambiguate): The predefined equality on universal_access is not | |
4312 usable if there is a user-defined equality with the proper signature, | |
4313 declared in the same declarative part as the designated type. | |
4314 (Find_Unique_Type): The universal_access equality operator defined under | |
4315 AI-230 does not cover pool specific access types. | |
4316 (Covers): If one of the types is a generic actual subtype, check whether | |
4317 it matches the partial view of the other type. | |
4318 | |
4319 2006-02-13 Thomas Quinot <quinot@adacore.com> | |
4320 | |
4321 * sinput-d.adb (Write_Line): Update the Source_Index_Table after each | |
4322 line. This is necessary to allow In_Extended_Main_Unit to provide | |
4323 correct results for itypes while writing out expanded source. | |
4324 (Close_File): No need to update the source_index_table here since it's | |
4325 now done for each line. | |
4326 | |
4327 2006-02-13 Ed Schonberg <schonberg@adacore.com> | |
4328 Robert Dewar <dewar@adacore.com> | |
4329 | |
4330 * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to | |
4331 preserve the source unit where the itype is declared, and prevent a | |
4332 backend abort. | |
4333 (Note_Implicit_Run_Time_Call): New procedure | |
4334 (Write_Itype): Handle missing cases (E_Class_Wide_Type and | |
4335 E_Subprogram_Type) | |
4336 | |
4337 * sprint.ads: Document use of $ for implicit run time routine call | |
4338 | |
4339 2006-02-13 Quentin Ochem <ochem@adacore.com> | |
4340 | |
4341 * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of | |
4342 task name. | |
4343 | |
4344 2006-02-13 Bob Duff <duff@adacore.com> | |
4345 | |
4346 * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of | |
4347 Scan_Unsigned, so we do not scan leading blanks and sign twice. | |
4348 Integer'Value("- 5") and Integer'Value("-+5") now correctly | |
4349 raise Constraint_Error. | |
4350 | |
4351 * s-vallli.adb (Scan_Long_Long_Integer): Call | |
4352 Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we | |
4353 do not scan leading blanks and sign twice. | |
4354 Integer'Value("- 5") and Integer'Value("-+5") now correctly | |
4355 raise Constraint_Error. | |
4356 | |
4357 * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned, | |
4358 Scan_Long_Long_Unsigned): Split out most of the processing from | |
4359 Scan_Long_Long_Unsigned out into | |
4360 Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version. | |
4361 This prevents scanning leading blanks and sign twice. | |
4362 Also fixed a bug: Modular'Value("-0") should raise Constraint_Error | |
4363 See RM-3.5(44). | |
4364 | |
4365 * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split | |
4366 out most of the processing from Scan_Unsigned out into | |
4367 Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version. | |
4368 This prevents scanning leading blanks and sign twice. | |
4369 | |
4370 * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for | |
4371 use with Modular'Value attribute. | |
4372 (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value | |
4373 attribute. | |
4374 | |
4375 2006-02-13 Robert Dewar <dewar@adacore.com> | |
4376 | |
4377 * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value | |
4378 | |
4379 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> | |
4380 | |
4381 * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1. | |
4382 (PPC VxWorks): Likewise. | |
4383 (Generic unwinder): Define FORCE_CALL to 0 if not already defined. | |
4384 (forced_callee): Make non-inlinable and non-pure. | |
4385 (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1. | |
4386 | |
4387 2006-02-13 Arnaud Charlet <charlet@adacore.com> | |
4388 Ben Brosgol <brosgol@adacore.com> | |
4389 Robert Dewar <dewar@adacore.com> | |
4390 | |
4391 * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64 | |
4392 support. | |
4393 Document that gnatbind -M option is for cross environments only. | |
4394 Added description of using gnatmem to trace gnat rtl allocs and deallocs | |
4395 Add note on use of $ to label implicit run time calls | |
4396 Add documentation for -gnatyI (check mode IN) | |
4397 Updated chapter on compatibility with HP Ada | |
4398 VMS-oriented edits. | |
4399 Ran spell and corrected errors | |
4400 Add documentation for gnatbind -d and rework documentation of -D | |
4401 at the same time. | |
4402 Add subprogram/data elimination section. | |
4403 Minor editing of annex A. | |
4404 Add section for gnatcheck. | |
4405 Add documentation for restriction No_Dispatching_Calls | |
4406 Add documentation for pragma Ada_2005 | |
4407 Remove mention of obsolete pragma Propagate_Exceptions | |
4408 Document that pragma Unreferenced can appear after DO in ACCEPT | |
4409 Clarify Pure_Function for library level units | |
4410 Mention Max/Min in connection with No_Implicit_Conditionals | |
4411 No_Wide_Characters restriction is no longer partition-wide | |
4412 Add a nice example for Universal_Literal_String attribute | |
4413 Document that pragma No_Return can take multiple arguments | |
4414 | |
4415 * ug_words: Added entry for gnatcheck | |
4416 | |
4417 * g-ctrl_c.ads (Install_Handler): Enhance comments | |
4418 | |
4419 * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination | |
4420 | |
4421 * g-trasym.ads: Add documentation on how to do off line symbolic | |
4422 traceback computation. | |
4423 | |
4424 * s-fatgen.adb: Add comments for Unaligned_Valid | |
4425 | |
4426 * stand.ads: Fix typo in comment | |
4427 | |
4428 2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
4429 | |
4430 * Make-lang.in (check-gnat): Run run_acats with $(SHELL). | |
4431 | |
4432 2006-02-06 Roger Sayle <roger@eyesopen.com> | |
4433 | |
4434 * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE. | |
4435 | |
4436 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
4437 | |
4438 PR target/25926 | |
4439 * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target | |
4440 implementation that calls __main. | |
4441 | |
4442 2006-01-25 Peter O'Gorman <peter@pogma.com> | |
4443 | |
4444 PR bootstrap/25859 | |
4445 * Makefile.in (GCC_LINK): Remove quotes. | |
4446 (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)" | |
4447 or $(GCC_LINK). | |
4448 | |
4449 (powerpc-darwin): Pass -shared-libgcc when building shared library. | |
4450 | |
4451 2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
4452 | |
4453 PR ada/24533 | |
4454 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. | |
4455 | |
4456 | |
4457 | |
4458 Copyright (C) 2006 Free Software Foundation, Inc. | |
4459 | |
4460 Copying and distribution of this file, with or without modification, | |
4461 are permitted in any medium without royalty provided the copyright | |
4462 notice and this notice are preserved. |