1 |
706 |
jeremybenn |
2006-12-07 Geoffrey Keating
|
2 |
|
|
|
3 |
|
|
* Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
|
4 |
|
|
* adaint.c: Likewise.
|
5 |
|
|
|
6 |
|
|
2006-12-05 Aldy Hernandez
|
7 |
|
|
|
8 |
|
|
Merge from gimple-tuples-branch:
|
9 |
|
|
2006-11-02 Aldy Hernandez
|
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
|
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
|
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
|
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
|
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
|
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
|
57 |
|
|
Bob Duff
|
58 |
|
|
Ed Schonberg
|
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
|
107 |
|
|
|
108 |
|
|
* g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
|
109 |
|
|
error status.
|
110 |
|
|
|
111 |
|
|
2006-10-31 Hristian Kirtchev
|
112 |
|
|
Jose Ruiz
|
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
|
154 |
|
|
Jose Ruiz
|
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
|
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
|
220 |
|
|
Eric Botcazou
|
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
|
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
|
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
|
260 |
|
|
Eric Botcazou
|
261 |
|
|
Vincent Celier
|
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
|
289 |
|
|
Nicolas Setton
|
290 |
|
|
Olivier Hainque
|
291 |
|
|
Gary Dismukes
|
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) : 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 |
|
|
: 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 |
|
|
: 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) : Restore comment.
|
322 |
|
|
(gnat_to_gnu_entity) : Do not use a dummy type.
|
323 |
|
|
(gnat_to_gnu_entity) : 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) : 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) : Do not force
|
348 |
|
|
TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
|
349 |
|
|
: Likewise.
|
350 |
|
|
(gnat_to_gnu_entity) : 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) : 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) : Ignore constant overflow
|
437 |
|
|
stemming from type conversion for the lhs.
|
438 |
|
|
(Attribute_to_gnu) : Also divide the alignment by the
|
439 |
|
|
number of bits per unit for components of records.
|
440 |
|
|
(gnat_to_gnu) : 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) : 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
|
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
|
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
|
490 |
|
|
Jose Ruiz
|
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
|
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
|
631 |
|
|
|
632 |
|
|
* binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
|
633 |
|
|
|
634 |
|
|
2006-10-31 Robert Dewar
|
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
|
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
|
649 |
|
|
Ed Schonberg
|
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
|
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
|
694 |
|
|
Ed Schonberg
|
695 |
|
|
Bob Duff
|
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
|
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
|
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
|
793 |
|
|
Ed Schonberg
|
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
|
820 |
|
|
Thomas Quinot
|
821 |
|
|
Javier Miranda
|
822 |
|
|
Robert Dewar
|
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
|
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
|
859 |
|
|
Robert Dewar
|
860 |
|
|
Ed Schonberg
|
861 |
|
|
Gary Dismukes
|
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
|
921 |
|
|
Ed Schonberg
|
922 |
|
|
Bob Duff
|
923 |
|
|
Gary Dismukes
|
924 |
|
|
Robert Dewar
|
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
|
950 |
|
|
Robert Dewar
|
951 |
|
|
Gary Dismukes
|
952 |
|
|
Ed Schonberg
|
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
|
992 |
|
|
Ed Schonberg
|
993 |
|
|
Bob Duff
|
994 |
|
|
Gary Dismukes
|
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
|
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
|
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
|
1090 |
|
|
Pablo Oliveira
|
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
|
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
|
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
|
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
|
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
|
1171 |
|
|
Ed Schonberg
|
1172 |
|
|
Robert Dewar
|
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
|
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
|
1223 |
|
|
Ed Schonberg
|
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
|
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
|
1266 |
|
|
Robert Dewar
|
1267 |
|
|
Ed Schonberg
|
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
|
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
|
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
|
1414 |
|
|
Robert Dewar
|
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
|
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
|
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
|
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
|
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
|
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
|
1479 |
|
|
|
1480 |
|
|
* g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
|
1481 |
|
|
|
1482 |
|
|
2006-10-31 Robert Dewar
|
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
|
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
|
1504 |
|
|
Eric Botcazou
|
1505 |
|
|
Arnaud Charlet
|
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
|
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
|
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
|
1579 |
|
|
|
1580 |
|
|
* par-ch10.adb (P_Context_Clause): Minor error message fix
|
1581 |
|
|
|
1582 |
|
|
2006-10-31 Hristian Kirtchev
|
1583 |
|
|
Javier Miranda
|
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
|
1597 |
|
|
Javier Miranda
|
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
|
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
|
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
|
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
|
1649 |
|
|
|
1650 |
|
|
* repinfo.adb (List_Entities): Don't list entities from renaming
|
1651 |
|
|
declarations.
|
1652 |
|
|
|
1653 |
|
|
2006-10-31 Arnaud Charlet
|
1654 |
|
|
Robert Dewar
|
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
|
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
|
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
|
1687 |
|
|
Thomas Quinot
|
1688 |
|
|
Javier Miranda
|
1689 |
|
|
Gary Dismukes
|
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
|
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
|
1745 |
|
|
Hristian Kirtchev
|
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
|
1797 |
|
|
Thomas Quinot
|
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
|
1812 |
|
|
Javier Miranda
|
1813 |
|
|
Robert Dewar
|
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
|
1856 |
|
|
Ed Schonberg
|
1857 |
|
|
Gary Dismukes
|
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
|
1880 |
|
|
Hristian Kirtchev
|
1881 |
|
|
Bob Duff
|
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
|
1936 |
|
|
Javier Miranda
|
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
|
1957 |
|
|
Hristian Kirtchev
|
1958 |
|
|
Javier Miranda
|
1959 |
|
|
Ed Schonberg
|
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
|
1995 |
|
|
Ed Schonberg
|
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
|
2015 |
|
|
Ed Schonberg
|
2016 |
|
|
Javier Miranda
|
2017 |
|
|
Gary Dismukes
|
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
|
2039 |
|
|
Ed Schonberg
|
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
|
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
|
2053 |
|
|
Hristian Kirtchev
|
2054 |
|
|
Javier Miranda
|
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
|
2068 |
|
|
Hristian Kirtchev
|
2069 |
|
|
Ed Schonberg
|
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
|
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
|
2139 |
|
|
Ed Schonberg
|
2140 |
|
|
Bob Duff
|
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
|
2185 |
|
|
Robert Dewar
|
2186 |
|
|
Bob Duff
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2259 |
|
|
|
2260 |
|
|
* a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
|
2261 |
|
|
in file names.
|
2262 |
|
|
|
2263 |
|
|
2006-10-31 Vincent Celier
|
2264 |
|
|
|
2265 |
|
|
* a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
|
2266 |
|
|
|
2267 |
|
|
2006-10-31 Vincent Celier
|
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
|
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
|
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
|
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
|
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
|
2349 |
|
|
Cyrille Comar
|
2350 |
|
|
Ben Brosgol
|
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
|
2413 |
|
|
Thomas Quinot
|
2414 |
|
|
Arnaud Charlet
|
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
|
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
|
2592 |
|
|
|
2593 |
|
|
* Makefile.in: Add TEXI2PDF definition.
|
2594 |
|
|
* Make-lang.in: Add "ada.pdf" target.
|
2595 |
|
|
|
2596 |
|
|
2006-10-03 Kazu Hirata
|
2597 |
|
|
|
2598 |
|
|
* decl.c, utils.c: Fix comment typos.
|
2599 |
|
|
* utils.c: Fix a typo.
|
2600 |
|
|
|
2601 |
|
|
2006-09-28 Eric Botcazou
|
2602 |
|
|
|
2603 |
|
|
* decl.c (gnat_to_gnu_entity) : 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
|
2612 |
|
|
|
2613 |
|
|
PR ada/28716
|
2614 |
|
|
g-socket.adb (Bind_Socket): Call Set_Address.
|
2615 |
|
|
|
2616 |
|
|
2006-09-15 Eric Botcazou
|
2617 |
|
|
|
2618 |
|
|
PR ada/15802
|
2619 |
|
|
* decl.c (same_discriminant_p): New static function.
|
2620 |
|
|
(gnat_to_gnu_entity) : 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
|
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
|
2632 |
|
|
|
2633 |
|
|
PR ada/29025
|
2634 |
|
|
* trans.c (gnat_gimplify_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
|
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
|
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
|
2659 |
|
|
|
2660 |
|
|
* Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
|
2661 |
|
|
|
2662 |
|
|
2006-06-23 Olivier Hainque
|
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
|
2668 |
|
|
Eric Botcazou
|
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
|
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
|
2680 |
|
|
|
2681 |
|
|
PR ada/27944
|
2682 |
|
|
* s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
|
2683 |
|
|
|
2684 |
|
|
2006-06-06 Laurent Guerby
|
2685 |
|
|
|
2686 |
|
|
PR ada/27769
|
2687 |
|
|
mlib-utl.adb: Use Program_Name.
|
2688 |
|
|
|
2689 |
|
|
2006-05-28 Kazu Hirata
|
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
|
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
|
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
|
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
|
2715 |
|
|
|
2716 |
|
|
* Make-lang.in: Rename docdir to gcc_docdir.
|
2717 |
|
|
|
2718 |
|
|
2006-03-04 Eric Botcazou
|
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
|
2725 |
|
|
|
2726 |
|
|
* uintp.adb (Num_Bits): Handle Uint_Int_First specially.
|
2727 |
|
|
|
2728 |
|
|
2006-03-02 Richard Sandiford
|
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
|
2734 |
|
|
|
2735 |
|
|
* Make-lang.in (Ada): Remove.
|
2736 |
|
|
(.PHONY): Remove Ada
|
2737 |
|
|
|
2738 |
|
|
2006-02-17 Ed Schonberg
|
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
|
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
|
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
|
2769 |
|
|
Robert Dewar
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2826 |
|
|
Ed Schonberg
|
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
|
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
|
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
|
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
|
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
|
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
|
2898 |
|
|
Thomas Quinot
|
2899 |
|
|
Robert Dewar
|
2900 |
|
|
Javier Miranda
|
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
|
2913 |
|
|
|
2914 |
|
|
* env.c (__gnat_setenv): Use size_t.
|
2915 |
|
|
(__gnat_unsetenv): Likewise.
|
2916 |
|
|
(__gnat_clearenv): Likewise.
|
2917 |
|
|
|
2918 |
|
|
2006-02-16 Arnaud Charlet
|
2919 |
|
|
|
2920 |
|
|
* opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
|
2921 |
|
|
|
2922 |
|
|
2006-02-13 Arnaud Charlet
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
3047 |
|
|
Nicolas Roche
|
3048 |
|
|
Arnaud Charlet
|
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
|
3113 |
|
|
Olivier Hainque
|
3114 |
|
|
Eric Botcazou
|
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)
|
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) : 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
|
3184 |
|
|
Robert Dewar
|
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
|
3238 |
|
|
Vincent Celier
|
3239 |
|
|
Robert Dewar
|
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
|
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
|
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
|
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
|
3359 |
|
|
|
3360 |
|
|
* a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
|
3361 |
|
|
quicksort.
|
3362 |
|
|
|
3363 |
|
|
2006-02-13 Eric Botcazou
|
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
|
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
|
3379 |
|
|
|
3380 |
|
|
* a-envvar.adb, a-envvar.ads: New files.
|
3381 |
|
|
|
3382 |
|
|
2006-02-13 Douglas Rupp
|
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
|
3389 |
|
|
|
3390 |
|
|
* a-rttiev.adb, a-rttiev.ads: New files.
|
3391 |
|
|
|
3392 |
|
|
2006-02-13 Hristian Kirtchev
|
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
|
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
|
3405 |
|
|
Gary Dismukes
|
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
|
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
|
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
|
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
|
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
|
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
|
3457 |
|
|
Eric Botcazou
|
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
|
3477 |
|
|
|
3478 |
|
|
* s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
|
3479 |
|
|
wrapped around.
|
3480 |
|
|
|
3481 |
|
|
2006-02-13 Vincent Celier
|
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
|
3492 |
|
|
Thomas Quinot
|
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
|
3505 |
|
|
Vincent Celier
|
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
|
3525 |
|
|
Serguei Rybin
|
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
|
3551 |
|
|
Robert Dewar
|
3552 |
|
|
Ed Schonberg
|
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
|
3577 |
|
|
Olivier Hainque
|
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) : 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
|
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
|
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
|
3619 |
|
|
Gary Dismukes
|
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
|
3682 |
|
|
Ed Schonberg
|
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
|
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
|
3708 |
|
|
Javier Miranda
|
3709 |
|
|
Robert Dewar
|
3710 |
|
|
Gary Dismukes
|
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
|
3809 |
|
|
Hristian Kirtchev
|
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
|
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
|
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
|
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
|
3882 |
|
|
|
3883 |
|
|
* exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
|
3884 |
|
|
call.
|
3885 |
|
|
|
3886 |
|
|
2006-02-13 Thomas Quinot
|
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
|
3897 |
|
|
Javier Miranda
|
3898 |
|
|
Eric Botcazou
|
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
|
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
|
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
|
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
|
3950 |
|
|
|
3951 |
|
|
* g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
|
3952 |
|
|
Constraint_Error.
|
3953 |
|
|
|
3954 |
|
|
2006-02-13 Arnaud Charlet
|
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
|
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
|
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
|
3977 |
|
|
Robert Dewar
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
4069 |
|
|
Gary Dismukes
|
4070 |
|
|
Robert Dewar
|
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
|
4100 |
|
|
|
4101 |
|
|
* s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
|
4102 |
|
|
|
4103 |
|
|
2006-02-13 Javier Miranda
|
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
|
4115 |
|
|
Ed Schonberg
|
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
|
4143 |
|
|
Ed Schonberg
|
4144 |
|
|
Gary Dismukes
|
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
|
4177 |
|
|
Robert Dewar
|
4178 |
|
|
Ed Schonberg
|
4179 |
|
|
Javier Miranda
|
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
|
4240 |
|
|
Javier Miranda
|
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
|
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
|
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
|
4295 |
|
|
Robert Dewar
|
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
|
4303 |
|
|
Javier Miranda
|
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
|
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
|
4328 |
|
|
Robert Dewar
|
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
|
4340 |
|
|
|
4341 |
|
|
* s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
|
4342 |
|
|
task name.
|
4343 |
|
|
|
4344 |
|
|
2006-02-13 Bob Duff
|
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
|
4376 |
|
|
|
4377 |
|
|
* s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
|
4378 |
|
|
|
4379 |
|
|
2006-02-13 Eric Botcazou
|
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
|
4388 |
|
|
Ben Brosgol
|
4389 |
|
|
Robert Dewar
|
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
|
4429 |
|
|
|
4430 |
|
|
* Make-lang.in (check-gnat): Run run_acats with $(SHELL).
|
4431 |
|
|
|
4432 |
|
|
2006-02-06 Roger Sayle
|
4433 |
|
|
|
4434 |
|
|
* decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
|
4435 |
|
|
|
4436 |
|
|
2006-02-03 John David Anglin
|
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
|
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
|
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.
|