Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/ChangeLog-2004 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 2004-12-30 Sohail Somani <sohail@sohailsomani.com> | |
2 | |
3 PR ada/19128 | |
4 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable. | |
5 | |
6 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
7 | |
8 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. | |
9 * utils2.c (build_unary_op): Likewise. | |
10 | |
11 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
12 | |
13 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED. | |
14 | |
15 2004-12-19 Richard Henderson <rth@redhat.com> | |
16 | |
17 * trans.c (gigi): Update gimplify_body call. | |
18 | |
19 2004-12-09 Nathan Sidwell <nathan@codesourcery.com> | |
20 | |
21 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case. | |
22 | |
23 2004-12-07 Ed Falis <falis@adacore.com> | |
24 | |
25 * s-intman-vxworks.adb (Notify_Exception): removed useless check for | |
26 current task being suspended. | |
27 | |
28 * init.c (__gnat_clear_exception): added to reset VxWorks exception | |
29 count. | |
30 (__gnat_map_signal): removed test for current task being suspended. | |
31 | |
32 2004-12-07 Gary Dismukes <dismukes@adacore.com> | |
33 | |
34 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values | |
35 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit | |
36 targets (such as AAMP). | |
37 | |
38 2004-12-07 Ed Schonberg <schonberg@adacore.com> | |
39 | |
40 * atree.adb (Visit_Itype): Create a new name for the generated itype, | |
41 because the back-end may otherwise treat it as a redefinition of the | |
42 old symbol. | |
43 | |
44 2004-12-07 Eric Botcazou <ebotcazou@adacore.com> | |
45 | |
46 * back_end.adb (Scan_Back_End_Switches): Accept --param. | |
47 | |
48 * lang-specs.h: Accept --param. | |
49 | |
50 2004-12-07 Vincent Celier <celier@adacore.com> | |
51 | |
52 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in | |
53 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, | |
54 Current_Body_Suffix => Ada_Body_Suffix). | |
55 Take into account Externally_Built attribute. | |
56 | |
57 * clean.adb (In_Extension_Chain): Always return False when one of the | |
58 parameter is No_Project. | |
59 (Clean_Project): Adapt to changes in package Prj (Lang_Ada => | |
60 Ada_Language_Index). | |
61 (Gnatclean): Adapt to change in package Prj.Pars (no parameter | |
62 Process_Languages for procedure Parse). | |
63 | |
64 * gnatcmd.adb (Carg_Switches): New table. | |
65 (GNATCmd): Put all switches following -cargs in the Carg_Switches table. | |
66 Adapt to name changes in package Prj (Current_Spec_Suffix => | |
67 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). | |
68 | |
69 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type | |
70 Header_Num and function Hash are now declared in package Prj, | |
71 not Prj.Com. | |
72 | |
73 * prj.adb (Suffix_Of): New function. | |
74 (Set (Suffix)): New procedure. | |
75 (Hash): One function moved from Prj.Com | |
76 (Is_Present, Language_Processing_Data_Of): New functions | |
77 (Set): Two new procedures | |
78 (Add_Language_Name, Display_Language_Name): New procedures | |
79 | |
80 * prj.ads: (Suffix_Of): New function | |
81 (Set (Suffix)): New procedure | |
82 Add several types and tables for multi-language support. | |
83 (Header_Num): Type moved from Prj.Com | |
84 (Hash): Two functions moved from Prj.Com | |
85 (Is_Present, Language_Processing_Data_Of): New functions | |
86 (Set): Two new procedures | |
87 (Add_Language_Name, Display_Language_Name): New procedures | |
88 (Naming): Component name changes: | |
89 Current_Spec_Suffix => Ada_Spec_Suffix, | |
90 Current_Body_Suffix => Ada_Body_Suffix. Add new components: | |
91 Impl_Suffixes, Supp_Suffixes. | |
92 (Project_Data): New components: Externally_Built, Supp_Languages, | |
93 First_Language_Processing, Supp_Language_Processing, Default_Linker, | |
94 Default_Linker_Path. | |
95 | |
96 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and | |
97 new package Language_Processing with its attributes (Compiler_Driver, | |
98 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, | |
99 Binder_Driver, Default_Linker). | |
100 | |
101 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. | |
102 (Header_Num): Type moved to package Prj | |
103 | |
104 * prj-env.adb: Adapt to name changes in package Prj | |
105 (Current_Spec_Suffix => Ada_Spec_Suffix, | |
106 Current_Body_Suffix => Ada_Body_Suffix). | |
107 | |
108 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by | |
109 default to the project path, except the "-" is one of the directories | |
110 in env var ADA_PROJECT_PATH. | |
111 (Current_Project_Path): Global variable, replacing Project_Path | |
112 that was in the body of Prj.Part. | |
113 (Project_Path): New function | |
114 (Set_Project_Path): New procedure | |
115 Initialize Current_Project_Path during elaboration of the package | |
116 Remove dependency on Prj.Com, no longer needed | |
117 | |
118 * prj-ext.ads (Project_Path): New function | |
119 (Set_Project_Path): New procedure | |
120 | |
121 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no | |
122 suffix is defined for language <lang>. | |
123 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of | |
124 accessing directly the components of Naming. | |
125 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. | |
126 Reorganise of this package. | |
127 Break procedure Check in several procedures. | |
128 | |
129 * prj-nmsc.ads: Replace all procedures (Ada_Check, | |
130 Other_Languages_Check and Language_Independent_Check) with a single | |
131 procedure Check. | |
132 | |
133 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter | |
134 Process_Languages, no longer needed. | |
135 | |
136 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as | |
137 Current_Project_Path. | |
138 Remove elaboration code, moved to the body of Prj.Ext | |
139 Use new function Prj.Ext.Project_Path instead of old variable | |
140 Project_Path. | |
141 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. | |
142 When comparing with project paths on the stack, first put the resolved | |
143 path in canonical case. | |
144 (Parse_Single_Project): Set the path name of the project file in the | |
145 tree to the normalized path. | |
146 | |
147 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove | |
148 parameter Process_Languages, no longer needed. | |
149 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and | |
150 Other_Languages_Check. | |
151 | |
152 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path | |
153 to store the resolved canonical path of the project file. | |
154 Remove dependency to Prj.Com, no longer needed | |
155 | |
156 * prj-util.adb: Adapt to name changes in package Prj | |
157 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => | |
158 Ada_Body_Suffix). | |
159 | |
160 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, | |
161 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, | |
162 Externally_Built, Include_Option, Language_Processing. | |
163 | |
164 * makegpr.adb: Numerous changes due to changes in packages | |
165 Prj and Prj.Nmsc. | |
166 | |
167 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by | |
168 default to the project path, except whe "-" is one of the directories | |
169 in env var ADA_PROJECT_PATH. | |
170 (Gnatls): In verbose mode, add the new section "Project Search Path:" | |
171 | |
172 2004-12-07 Robert Dewar <dewar@adacore.com> | |
173 | |
174 * debug.adb: Document that -gnatdA automatically sets -gnatR3m | |
175 | |
176 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically | |
177 set -gnatR3m mode. | |
178 | |
179 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA | |
180 flag. No longer needed now that we handle this in gnat1drv.adb. | |
181 | |
182 * repinfo.ads: Minor reformatting | |
183 | |
184 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
185 Olivier Hainque <hainque@adacore.com> | |
186 Eric Botcazou <ebotcazou@adacore.com> | |
187 | |
188 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for | |
189 TYPE_SIZE_UNIT of result type if SIZE is not specified. | |
190 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation | |
191 of a bitfield, which we know is useless and causes trouble because of | |
192 alignment implications. | |
193 | |
194 * utils.c (create_var_decl): Set DECL_COMMON again on targets without | |
195 BSS sections. | |
196 (process_attributes): Clear DECL_COMMON again when a section attribute | |
197 is present. | |
198 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or | |
199 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. | |
200 (create_field_decl): Special case ADDRESSABLE negative to mean | |
201 "no bitfield creation", to be used by make_aligning_type. Don't | |
202 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode | |
203 fields claimed addressable still have to be bitfields. Use | |
204 value_factor_p instead of a raw binop construction to check for the | |
205 position's alignment. | |
206 | |
207 2004-12-07 Geert Bosch <bosch@adacore.com> | |
208 | |
209 * eval_fat.adb: Revert previous change. | |
210 | |
211 2004-12-07 Thomas Quinot <quinot@adacore.com> | |
212 Ed Schonberg <schonberg@adacore.com> | |
213 | |
214 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component | |
215 with an implicit dereference as its prefix, use | |
216 Insert_Explicit_Dereference instead of merely rewriting the prefix into | |
217 an explicit dereference. This ensures that a reference to the original | |
218 prefix is generated, if appropriate. | |
219 | |
220 * sem_util.adb (Insert_Explicit_Dereference): When an implicit | |
221 dereference is rewritten to an explicit one, generate a reference to | |
222 the entity denoted by its prefix using the original prefix node, so | |
223 the dereference can be properly recorded as a read of the denoted | |
224 access value, if appropriate. | |
225 | |
226 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from | |
227 emitting 'assigned but never read' warning on a variable on the basis | |
228 that it has an access type. | |
229 (Check_References): Emit unreferenced warning when the scope is a | |
230 subprogram body. | |
231 | |
232 2004-12-07 Robert Dewar <dewar@adacore.com> | |
233 Ed Schonberg <schonberg@adacore.com> | |
234 | |
235 * exp_ch6.adb (Expand_Call): Add comment on handling of back end | |
236 intrinsic | |
237 | |
238 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic, | |
239 leaving call unchanged. | |
240 This deals with the case where the pragma Import specified | |
241 an external name, to be handled by the back end. | |
242 | |
243 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of | |
244 subprogram which is Imported with convention Intrinsic if an | |
245 External_Name argument is specified. | |
246 (Process_Import_Or_Interface): Properly diagnose link name argument. | |
247 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion | |
248 with Sem_Ch6.Cannot_Inline. | |
249 (Process_Inline): Provide separate warning for inapplicable inline | |
250 pragma. | |
251 (Cannot_Inline): Reject subprograms that have an at_end handler, so that | |
252 treatment is uniform on different targets. | |
253 | |
254 2004-12-07 Ed Schonberg <schonberg@adacore.com> | |
255 | |
256 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of | |
257 construct is rewritten, preserve end label to permit source navigation. | |
258 | |
259 2004-12-07 Thomas Quinot <quinot@adacore.com> | |
260 | |
261 * exp_dist.adb (Specific_Build_General_Calling_Stubs, | |
262 Specific_Build_Stub_Target): New subprograms. | |
263 (Build_Subprogram_Calling_Stubs): Make this procedure independent from | |
264 the PCS implementation used, using the above PCS-customized subprograms. | |
265 Minor reformatting. | |
266 (PolyORB_Support.Helpers): New subunit containing supporting subprograms | |
267 for generation of DSA code targeted to the PolyORB PCS. | |
268 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one | |
269 implementation of the partition communication subsystem in ancillary | |
270 subprograms. | |
271 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type, | |
272 PolyORB_Support.Build_Stub_Type): New subrograms containing the | |
273 PCS-specific part of Add_Stub_Type. | |
274 (Insert_Partition_Check): Use runtime library function to perform | |
275 E.4(19) check. | |
276 | |
277 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref | |
278 (RE_Same_Partition): New entity, from s-parint. | |
279 | |
280 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram. | |
281 | |
282 2004-12-07 Gary Dismukes <dismukes@adacore.com> | |
283 | |
284 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb: | |
285 Output the copyright message on a separate line from the version | |
286 message. | |
287 | |
288 2004-12-07 Joel Brobecker <brobecker@adacore.com> | |
289 | |
290 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a | |
291 compile-time warning. | |
292 | |
293 2004-12-07 Robert Dewar <dewar@adacore.com> | |
294 | |
295 * g-regpat.adb: (Match): Change a misuse of or to or else | |
296 | |
297 2004-12-07 Ed Schonberg <schonberg@adacore.com> | |
298 | |
299 * lib-xref.adb: | |
300 (Generate_Reference): Handle properly a reference to an entry formal, | |
301 when an accept statement has a pragma Unreferenced for it. | |
302 | |
303 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag | |
304 and the Has_Pragma_Unreferenced flag for each formal before analyzing | |
305 the body, to ensure that warnings are properly emitted for each accept | |
306 statement of a given task entry. | |
307 | |
308 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com> | |
309 | |
310 * Makefile.in: Add support for foreign threads on VMS. | |
311 | |
312 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
313 | |
314 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P): | |
315 Remove. | |
316 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New. | |
317 | |
318 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls. | |
319 | |
320 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed | |
321 exception. | |
322 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it. | |
323 | |
324 2004-12-07 Robert Dewar <dewar@adacore.com> | |
325 | |
326 * nlists.adb (Prepend_Debug): Remove parameters and nest within | |
327 Prepend. | |
328 (Remove_Next_Debug): Same fix | |
329 | |
330 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do | |
331 maintain back pointers now, though we did not used to, and comments | |
332 were out of date). | |
333 (Prepend): Remove pragma Inline. | |
334 (Remove_Next): Same cleanup | |
335 | |
336 2004-12-07 Thomas Quinot <quinot@adacore.com> | |
337 | |
338 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram | |
339 used to record an implicit dereference as a read operation on its | |
340 prefix when operating under -gnatc. Necessary to avoid spurious | |
341 'variable assigned but never read' warnings in that mode. | |
342 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix | |
343 is a non-overloaded implicit dereference, call the above subprogram to | |
344 ensure proper recording of references. | |
345 | |
346 2004-12-07 Gary Dismukes <dismukes@adacore.com> | |
347 | |
348 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs | |
349 to be resolved later as part of Analyze_Iteration_Scheme's call to | |
350 Make_Index. | |
351 | |
352 2004-12-07 Ed Schonberg <schonberg@adacore.com> | |
353 | |
354 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the | |
355 prefix is not a scalar type, place error message on prefix, not on | |
356 type entity. | |
357 | |
358 2004-12-07 Bernard Banner <banner@adacore.com> | |
359 | |
360 * vxaddr2line.adb: Add support for x86 vxworks | |
361 | |
362 2004-12-07 Thomas Quinot <quinot@adacore.com> | |
363 | |
364 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify | |
365 documentation of the behaviour of these functions when passed an IP | |
366 address that has no record in the system hosts database and no reverse | |
367 record in the DNS. | |
368 | |
369 * cstand.adb, a-tags.ads: Fix typos in comment. | |
370 | |
371 2004-12-07 Robert Dewar <dewar@adacore.com> | |
372 | |
373 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb, | |
374 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb, | |
375 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, | |
376 s-poosiz.ads: Minor reformatting | |
377 | |
378 * make.adb: Minor reformatting | |
379 Add some ??? comments asking for more comments | |
380 | |
381 * s-poosiz.adb: Minor reformatting | |
382 Add comments on alignment requirement | |
383 | |
384 * sinfo.ads: Remove obsolete comment and fix typo. | |
385 | |
386 2004-12-07 Vincent Celier <celier@adacore.com> | |
387 Sergey Rybin <rybin@adacore.com> | |
388 | |
389 * gnat_ugn.texi: Update the section "The GNAT Driver and Project | |
390 Files" with the new tool and package names. | |
391 Reformatting to suppress most of the warnings for line too long | |
392 Document the new section "Project Search Path:" in the output of | |
393 gnatls -v. | |
394 Add gnatmetric section | |
395 | |
396 2004-12-07 Vincent Celier <celier@adacore.com> | |
397 | |
398 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and | |
399 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps | |
400 and -eit to -ept. Added qualifier | |
401 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec. | |
402 | |
403 2004-11-27 Andreas Schwab <schwab@suse.de> | |
404 | |
405 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H). | |
406 | |
407 2004-11-25 Arnaud Charlet <charlet@adacore.com> | |
408 | |
409 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from | |
410 internal implementation unit GNAT.Sockets.Thin, | |
411 as their usage for sockets is non-portable (using the read and write | |
412 functions from the system runtime library is fine on UNIX but won't | |
413 work under Windows). | |
414 | |
415 * mingw32.h: Update copyright notice. | |
416 | |
417 2004-11-25 Arnaud Charlet <charlet@adacore.com> | |
418 | |
419 * ada-tree.h: Minor reformatting of previous change to avoid lines | |
420 longer than 79 characters. | |
421 | |
422 2004-11-25 Olivier Hainque <hainque@adacore.com> | |
423 | |
424 * tb-gcc.c: GCC infrastructure based implementation of | |
425 __gnat_backtrace. | |
426 | |
427 2004-11-24 Steven Bosscher <stevenb@suse.de> | |
428 | |
429 * misc.c (gnat_post_options): Don't clear | |
430 flag_inline_functions. | |
431 | |
432 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> | |
433 | |
434 PR ada/17986 | |
435 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the | |
436 tree. | |
437 | |
438 2004-11-21 Andreas Jaeger <aj@suse.de> | |
439 | |
440 * stylesw.adb: Change Style_Check_Subprogram_Order to | |
441 Style_Check_Order_Subprograms. | |
442 | |
443 2004-11-18 Arnaud Charlet <charlet@adacore.com> | |
444 | |
445 * adaint.h, adaint.c | |
446 (__gnat_portable_spawn): Fix cast of spawnvp third parameter | |
447 to avoid warnings. | |
448 Add also a cast to kill another warning. | |
449 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags | |
450 parameter with the priority class of the parent process instead of | |
451 always using the NORMAL_PRIORITY_CLASS. | |
452 (__gnat_dup): New function. | |
453 (__gnat_dup2): New function. | |
454 (__gnat_is_symbolic_link): Enable the effective body of this | |
455 function when __APPLE__ is defined. | |
456 | |
457 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures. | |
458 Update comments. | |
459 | |
460 2004-11-18 Olivier Hainque <hainque@adacore.com> | |
461 | |
462 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the | |
463 address of which may be used to represent "others" and "all others" | |
464 choices in exception tables, instead of the current harcoded | |
465 (void *)0 and (void *)1. | |
466 (Setup_Exception): Do nothing in the GNAT SJLJ case. | |
467 | |
468 * gigi.h (others_decl, all_others_decl): New decls representing the | |
469 new Others_Value and All_Others_Value objects. | |
470 (struct attrib): Rename "arg" component as "args", since GCC expects a | |
471 list of arguments in there. | |
472 | |
473 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the | |
474 corresponding objects exported by a-exexpr, instead of hardcoded dummy | |
475 addresses. | |
476 | |
477 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of | |
478 others_decl and all_others_decl instead of hardcoded dummy addresses | |
479 to represent "others" and "all others" choices, which is cleaner and | |
480 more flexible with respect to the possible eh pointer encoding policies. | |
481 | |
482 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl. | |
483 (process_attributes): Account for the naming change of the "args" | |
484 attribute list entry component. | |
485 | |
486 * decl.c (build_attr_list): Rename into prepend_attributes to allow | |
487 cumulating attributes for different entities into a single list. | |
488 (gnat_to_gnu_entity): Use prepend_attributes to build the list of | |
489 attributes for the current entity and propagate first subtype | |
490 attributes to other subtypes. | |
491 <E_Procedure>: Attribute arguments are attr->args and not | |
492 attr->arg any more. | |
493 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an | |
494 argument provided, as this is what GCC expects. Use NULL_TREE instead | |
495 of 0 for trees. | |
496 | |
497 2004-11-18 Robert Dewar <dewar@adacore.com> | |
498 | |
499 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb: | |
500 Minor reformatting througout (including new function specs) | |
501 Add ??? comments asking for clarification. | |
502 | |
503 2004-11-18 Thomas Quinot <quinot@adacore.com> | |
504 | |
505 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove | |
506 incomplete duplicate implementation of this subprogram from butil. | |
507 | |
508 2004-11-18 Thomas Quinot <quinot@adacore.com> | |
509 | |
510 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This | |
511 procedures factors the common processing for building an RPC receiver | |
512 for an RCI package or an RACW type. | |
513 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of | |
514 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order. | |
515 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently | |
516 in use. | |
517 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of | |
518 Add_RACW_Features. | |
519 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of | |
520 Add_RAST_Features. | |
521 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning | |
522 distribution subprogram identifiers that are either subprogram numbers | |
523 or strings. | |
524 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and | |
525 string distribution identifiers assigned to a given subprogram. | |
526 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids. | |
527 (Add_RAS_Dereference_TSS): Add comments. | |
528 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter | |
529 is not referenced yet because it will be used by the PolyORB DSA | |
530 implementation. | |
531 (Insert_Partition_Check): Remove fossile code. | |
532 (First_RCI_Subprogram_Id): Document this constant. | |
533 (Add_RAS_Access_TSS): Correct the setting of the Etype of the | |
534 RAS_Access TSS. | |
535 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are | |
536 replaced with calls to Get_Library_Unit_Name_String. Previously there | |
537 were several instances of the same code in different locations in the | |
538 compiler; this checkin completes the replacement of all of these | |
539 instances with calls to a common subprogram. | |
540 Minor reformatting. | |
541 | |
542 * sem_dist.adb: Remove comment noting that RPC receiver generation | |
543 should be disabled for RACWs that implement RASs. | |
544 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String. | |
545 | |
546 * sem_util.ads, sem_util.adb (Has_Stream): New function | |
547 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully | |
548 qualified name of a library unit into the name buffer. | |
549 (Note_Possible_Modification): Generate a reference only | |
550 if the context comes from source. | |
551 | |
552 * snames.ads (PCS_Names): New subtype corresponding to names of | |
553 supported implementations of the Partition Communication Subsystem | |
554 (PCS) (i.e. the runtime library support modules for the distributed | |
555 systems annex). | |
556 | |
557 2004-11-18 Robert Dewar <dewar@adacore.com> | |
558 Ed Schonberg <schonberg@adacore.com> | |
559 | |
560 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used | |
561 (Has_Rep_Pragma): New function | |
562 (Has_Attribute_Definition_Clause): New function | |
563 (Record_Rep_Pragma): Moved here from sem_ch13.adb | |
564 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma | |
565 | |
566 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb | |
567 | |
568 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure | |
569 (Expand_Pragma_Psect_Object): New procedure | |
570 These procedures contain the revised and cleaned up processing for | |
571 these two pragmas. This processing was formerly in Sem_Prag, but | |
572 is more appropriately moved here. The cleanup involves making sure | |
573 that the pragmas are properly attached to the tree, and that no | |
574 nodes are improperly shared. | |
575 | |
576 * sem_prag.adb: Move expansion of Common_Object and Psect_Object | |
577 pragmas to Exp_Prag, which is more appropriate. | |
578 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to | |
579 check for duplicates Remove use of Is_Psected flag, no longer needed. | |
580 Use new Make_String_Literal function with string. | |
581 | |
582 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes | |
583 that are functions return universal values, that have to be converted | |
584 to the context type. | |
585 Use new Make_String_Literal function with string. | |
586 (Get_Stream_Convert_Pragma): New function, replaces the use of | |
587 Get_Rep_Pragma, which had to be kludged to work in this case. | |
588 | |
589 * freeze.adb: Use new Has_Rep_Pragma function | |
590 | |
591 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal | |
592 function with string. | |
593 Use new Has_Rep_Pragma function. | |
594 | |
595 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes | |
596 string argument. | |
597 | |
598 2004-11-18 Robert Dewar <dewar@adacore.com> | |
599 | |
600 * errout.ads, errout.adb: (First_Sloc): New function | |
601 | |
602 * par-ch5.adb (P_Condition): Check for redundant parens is now a style | |
603 check (-gnatyx) instead of being included as a redundant construct | |
604 warning. | |
605 | |
606 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to | |
607 Style_Check_Order_Subprograms. | |
608 | |
609 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads, | |
610 stylesw.adb: Add Style_Check_Xtra_Parens | |
611 | |
612 * usage.adb: Add line for -gnatyx (check extra parens) | |
613 | |
614 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx | |
615 | |
616 2004-11-18 Ed Schonberg <schonberg@adacore.com> | |
617 Robert Dewar <dewar@adacore.com> | |
618 | |
619 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the | |
620 discriminant of a constrained subtype, analyze the copy of the | |
621 corresponding constraint, because in some cases it may be only | |
622 partially analyzed. | |
623 Removes long-lived ??? comments. | |
624 | |
625 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that | |
626 handled controlled or secondary-stack expressions within the | |
627 iteration_scheme of a loop. | |
628 | |
629 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate | |
630 bounds that may contain functions calls, to prevent memory leaks when | |
631 the bound contains a call to a function that uses the secondary stack. | |
632 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to | |
633 generate temporaries for loop bounds that might contain function calls | |
634 that require secondary stack and/or finalization actions. | |
635 | |
636 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a | |
637 selected component and the selector is overloadable (not just a | |
638 function) treat as function call, Analyze_Call will disambiguate if | |
639 necessary. | |
640 (Analyze_Selected_Component): Do not generate an actual subtype for the | |
641 selected component if expansion is disabled. The actual subtype is only | |
642 needed for constraint checks. | |
643 (Analyze_Allocator): If restriction No_Streams is set, then do | |
644 not permit objects to be declared of a stream type, or of a | |
645 composite type containing a stream. | |
646 | |
647 * restrict.ads: Remove the a-stream entry from Unit_Array, since | |
648 No_Streams no longer prohibits with'ing this package. | |
649 | |
650 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has | |
651 discriminants, but the parent base has unknown discriminants, there is | |
652 no discriminant constraint to inherit. Such a discrepancy can arise | |
653 when the actual for a formal type with unknown discriminants is a | |
654 similar private type whose full view has discriminants. | |
655 (Analyze_Object_Declaration): If restriction No_Streams is set, then | |
656 do not permit objects to be declared of a stream type, or of a | |
657 composite type containing a stream. | |
658 | |
659 2004-11-18 Ed Schonberg <schonberg@adacore.com> | |
660 | |
661 * exp_dbug.ads: Update documentation to reflect simpler encoding for | |
662 protected operations. | |
663 | |
664 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in | |
665 generated name, it complicates decoding in gdb and hinders debugging | |
666 of protected operations. | |
667 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info | |
668 flag for the protected entry barrier function. | |
669 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info | |
670 flag for the protected entry function. | |
671 | |
672 2004-11-18 Nicolas Setton <setton@adacore.com> | |
673 | |
674 * expect.c: Define __unix__ when __APPLE__ is defined. | |
675 | |
676 * Makefile.in: Inform the value of the variable GMEM_LIB in the | |
677 Darwin-specific section. | |
678 | |
679 * lang-specs.h: Change the placement of the %1 marker. | |
680 Works around the fact that gcc adds -fPIC by default under Darwin. | |
681 | |
682 2004-11-18 Ed Schonberg <schonberg@adacore.com> | |
683 | |
684 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original | |
685 type of the object with the packed array type, set the Analyzed flag | |
686 on the object if it is an entity or simple indexed component, to avoid | |
687 spurious type errors. | |
688 | |
689 2004-11-18 Gary Dismukes <dismukes@adacore.com> | |
690 | |
691 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb, | |
692 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a | |
693 separate line from the version message. | |
694 | |
695 2004-11-18 Ed Falis <falis@adacore.com> | |
696 | |
697 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653 | |
698 vthreads. | |
699 (init_float): Eliminate initialization of floating point status for | |
700 AE653. The instructions have no effect for vThreads. | |
701 | |
702 2004-11-18 Vincent Celier <celier@adacore.com> | |
703 | |
704 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when | |
705 gnatbind is invoked with -shared. | |
706 | |
707 2004-11-18 Jose Ruiz <ruiz@adacore.com> | |
708 | |
709 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error | |
710 for Detect_Blocking which is redundant with the check done within the | |
711 procedure Protected_Single_Entry_Call. | |
712 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for | |
713 Detect_Blocking which is redundant with the check done within the | |
714 procedure Protected_Single_Entry_Call. | |
715 | |
716 2004-11-18 Vincent Celier <celier@adacore.com> | |
717 | |
718 * makegpr.adb (Compile): Put the compiling switches (in package | |
719 Compiler and on the command line) immediately after "-c", instead of | |
720 at the end of the command line invocation of the compiler, when | |
721 compiling a non-Ada file. | |
722 (Build_Global_Archive): When there is no need to rebuild the archive, | |
723 set Global_Archive_Exists, so that the archive is passed to the linker | |
724 if one is needed. | |
725 | |
726 2004-11-18 Robert Dewar <dewar@adacore.com> | |
727 Sergey Rybin <rybin@adacore.com> | |
728 | |
729 * gnat_ugn.texi: | |
730 Remove extra paren check from list of checks for redundant constructs | |
731 Add documentation of new -gnatyx style check (check extra parens) | |
732 Remove paragraph about gnatelim debug options. | |
733 | |
734 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream | |
735 objects rather than forbidding dependencies on the package Ada.Streams. | |
736 | |
737 * sinfo.ads: Add ??? note that we should document pragmas passed to | |
738 back end. | |
739 | |
740 * g-expect.ads: Fix a few typos in the comments. | |
741 | |
742 2004-11-09 Joseph S. Myers <joseph@codesourcery.com> | |
743 | |
744 * misc.c (gnat_handle_option): Use %< and %> for quoting in | |
745 warning message. | |
746 | |
747 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
748 | |
749 * a-numaux-x86.adb (Tan): Fix fdivp syntax. | |
750 | |
751 2004-11-07 Andreas Schwab <schwab@suse.de> | |
752 | |
753 * Makefile.in (install-gnatlib): Remove spurious hyphen. | |
754 | |
755 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu> | |
756 | |
757 PR ada/18228 | |
758 * Makefile.in (darwin): Set soext to .dylib. | |
759 | |
760 2004-10-26 Vincent Celier <celier@gnat.com> | |
761 Thomas Quinot <quinot@act-europe.fr> | |
762 | |
763 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads: | |
764 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as | |
765 there is no use of GNAT.Sockets.Constants. | |
766 Remove remaining pragma Import for C_Write | |
767 Remove C_Read and C_Write from internal implementation unit | |
768 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using | |
769 the read and write functions from the system runtime library is fine | |
770 on UNIX but won't work under Windows). | |
771 | |
772 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write. | |
773 (Check_Selector): Use C_Recv instead of C_Read. | |
774 Selectors are the GNAT.Sockets abstraction to perform a select() | |
775 call on a set of descriptors. To allow abortion of an ongoing | |
776 select operation, some data is written to a dedicated socket that | |
777 is always monitored. | |
778 Under Windows, the write and read library functions cannot operate | |
779 on sockets, so we need to use send and recv instead, which is portable | |
780 across all supported platforms. | |
781 | |
782 * g-socthi.ads: Remove C_Read and C_Write from internal implementation | |
783 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable | |
784 (using the read and write functions from the system runtime library is | |
785 fine on UNIX but won't work under Windows). | |
786 | |
787 2004-10-26 Nicolas Setton <setton@act-europe.fr> | |
788 | |
789 * mlib-tgt-darwin.adb: New file. | |
790 | |
791 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, | |
792 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, | |
793 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, | |
794 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New | |
795 subprogram body. | |
796 | |
797 * Makefile.in: Add support for building shared libraries under Darwin. | |
798 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing | |
799 the low level EH init subprogram to be called from __gnat_initialize. | |
800 | |
801 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram, | |
802 indicates which options to pass to the archive indexer. | |
803 | |
804 * mlib-utl.adb: Add support for calling ranlib with additional | |
805 options. This is needed for instance under Mac OS X. | |
806 (Ranlib_Options): New global variable, used to store the potential | |
807 options to pass to ranlib. | |
808 (Ar): Use Ranlib_Options when spawning ranlib. | |
809 (Initialize): Set the value of ranlib option. | |
810 | |
811 2004-10-26 Olivier Hainque <hainque@act-europe.fr> | |
812 | |
813 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K | |
814 instead of 8K, to reflect the real potential needs for stack-checking | |
815 in the ZCX case. | |
816 | |
817 2004-10-26 Pascal Obry <obry@gnat.com> | |
818 | |
819 * s-parame-mingw.adb (Default_Stack_Size): Add some comments. | |
820 | |
821 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On | |
822 Windows only the initial thread stack size can be set so it is good to | |
823 start we a low stack size. | |
824 The OS will adjust the size as needed. | |
825 | |
826 2004-10-26 Olivier Hainque <hainque@act-europe.fr> | |
827 Nicolas Setton <setton@act-europe.fr> | |
828 | |
829 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with | |
830 "__unix__" instead of "unix". | |
831 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the | |
832 sections were just mistakenly ignored. The former is | |
833 implicitely defined by gcc2.8, gcc3.2 and gcc3.4. | |
834 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead | |
835 of hpux. This prevents an unwanted definition of the symbol | |
836 convert_addresses in adaint.o. | |
837 | |
838 2004-10-26 Gary Dismukes <dismukes@gnat.com> | |
839 | |
840 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for | |
841 compatibility with type Unwind_Word on 16-bit targets such as AAMP. | |
842 | |
843 2004-10-26 Cyrille Comar <comar@act-europe.fr> | |
844 | |
845 * a-filico.ads, a-filico.adb: fix incorrect header. | |
846 | |
847 2004-10-26 Javier Miranda <miranda@gnat.com> | |
848 | |
849 * a-ststio.ads: Fix typo in identifier | |
850 | |
851 2004-10-26 Thomas Quinot <quinot@act-europe.fr> | |
852 | |
853 * sem_ch4.adb: Minor reformatting. | |
854 | |
855 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
856 | |
857 * checks.adb (Expr_Known_Valid): If floating-point validity checks are | |
858 enabled, check the result of unary and binary operations when the | |
859 expression is the right-hand side of an assignment. | |
860 | |
861 2004-10-26 Vincent Celier <celier@gnat.com> | |
862 | |
863 * clean.adb (Delete): Do not output warnings when in quiet output and | |
864 not in verbose mode. | |
865 (Force_Deletions): New Boolean flag, defaulted to False | |
866 (Delete): Only delete a file if it is writable, and when | |
867 Force_Deletions is True. | |
868 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True | |
869 (Usage): Line for new switch -f | |
870 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our | |
871 own. | |
872 | |
873 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> | |
874 | |
875 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a | |
876 JM type only if its size matches that of the wrapper. When a size is | |
877 prescribed and the field is not aliased, remove the wrapper of a JM | |
878 type only if the size is not greater than that of the packed array. | |
879 (gnat_to_gnu_entity): Change the extension of packed array wrappers | |
880 from LJM to JM. | |
881 | |
882 2004-10-26 Geert Bosch <bosch@gnat.com> | |
883 | |
884 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used. | |
885 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes. | |
886 (Pred): Implement in terms of Succ. | |
887 | |
888 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
889 | |
890 * exp_aggr.adb (Safe_Component): An aggregate component that is an | |
891 unchecked conversion is safe for in-place use if the expression of the | |
892 conversion is safe. | |
893 (Expand_Array_Aggregate): An aggregate that initializes an allocator may | |
894 be expandable in place even if the aggregate does not come from source. | |
895 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the | |
896 designated object of an allocator in place, rather than building it | |
897 first on the stack. The previous scheme forces a full copy of the array, | |
898 and may be altogether unsusable if the size of the array is too large | |
899 for stack allocation. | |
900 | |
901 2004-10-26 Robert Dewar <dewar@gnat.com> | |
902 | |
903 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array | |
904 compares if the component is atomic. | |
905 | |
906 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for | |
907 array assignment if the component type is atomic. | |
908 | |
909 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
910 Eric Botcazou <ebotcazou@act-europe.fr> | |
911 | |
912 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter | |
913 is aliased and is a by_reference type, do not pass by copy. | |
914 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to | |
915 detect whether the call is in the right side of an assignment or | |
916 the expression of an object declaration. Recurse on component | |
917 association within aggregates. | |
918 Call it in the condition that determines whether the temporary is | |
919 necessary for correct stack-checking. | |
920 | |
921 2004-10-26 Thomas Quinot <quinot@act-europe.fr> | |
922 | |
923 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter | |
924 RACW_Type, used in the PolyORB version. | |
925 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB | |
926 version and the GARLIC version. | |
927 | |
928 * snames.ads, snames.adb, s-parint.ads, s-parint.adb: | |
929 Rename RCI_Info to RCI_Locator for better consistency between the | |
930 GARLIC and PolyORB versions of the distributed systems annex. | |
931 (DSA_Implementation_Name): This enumeration lists the possible | |
932 implementations of the Partition Communication Subsystem for the | |
933 Distributed Systems Annex (DSA). The three available implementations | |
934 are the dummy stub implementation (No_DSA), and two versions based on | |
935 two different distribution runtime libraries: GARLIC and PolyORB. Both | |
936 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution | |
937 technology. | |
938 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe | |
939 that organization. | |
940 | |
941 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency | |
942 between the GARLIC and PolyORB versions of the distributed systems | |
943 annex. | |
944 Remove RE_Unbounded_Reclaim_Pool since it is unused. | |
945 | |
946 2004-10-26 Gary Dismukes <dismukes@gnat.com> | |
947 | |
948 * gnat1drv.adb: Suppress calling the back end when | |
949 Frontend_Layout_On_Target is true. | |
950 | |
951 2004-10-26 Thomas Quinot <quinot@act-europe.fr> | |
952 | |
953 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable, | |
954 Set_Read_Only): New subprograms. | |
955 These new routines allow the user to set or unset the Owner execute | |
956 and Owner write permission flags on a file. | |
957 | |
958 * makegpr.adb, mlib.adb, mlib-prj.adb: Use | |
959 GNAT.OS_Lib.Set_Executable instead of rolling our own. | |
960 | |
961 2004-10-26 Matthew Gingell <gingell@gnat.com> | |
962 | |
963 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI. | |
964 | |
965 2004-10-26 Pascal Obry <obry@gnat.com> | |
966 | |
967 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the | |
968 memory before the faulting page we properly test the process read | |
969 access for this address using appropriate Win32 routine. | |
970 (HPUX sections): guard with "__hpux__" instead of "hpux". | |
971 | |
972 2004-10-26 Robert Dewar <dewar@gnat.com> | |
973 | |
974 * lib-xref.adb (Generate_Reference): Don't complain about reference to | |
975 entry parameter if pragma Unreferenced set, since we do not properly | |
976 handle the case of multiple parameters. | |
977 | |
978 2004-10-26 Vincent Celier <celier@gnat.com> | |
979 | |
980 * prj-env.adb: (Contains_ALI_Files): New Boolean function | |
981 (Ada_Objects_Path.Add): For a library project, add to the object path | |
982 the library directory only if there is no object directory or if the | |
983 library directory contains ALI files. | |
984 (Set_Ada_Paths.Add.Recursive_Add): Ditto | |
985 | |
986 2004-10-26 Vincent Celier <celier@gnat.com> | |
987 | |
988 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual | |
989 extension of library projects. | |
990 | |
991 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project | |
992 path defaults to ".:<prefix>/lib/gnat". | |
993 (Parse): For an extending all project, allow direct import of a project | |
994 that is virtually extended. | |
995 | |
996 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with | |
997 the specified name is directly imported, return its ID. Otherwise, if | |
998 an extension of this project is imported, return the ID of the | |
999 extension. | |
1000 | |
1001 2004-10-26 Robert Dewar <dewar@gnat.com> | |
1002 | |
1003 * s-arit64.adb: (Le3): New function, used by Scaled_Divide | |
1004 (Sub3): New procedure, used by Scaled_Divide | |
1005 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also | |
1006 correct more than one instance of failure to propagate carries | |
1007 correctly. | |
1008 (Double_Divide): Handle overflow case of largest negative number | |
1009 divided by minus one. | |
1010 | |
1011 * s-arit64.ads (Double_Divide): Document that overflow can occur in | |
1012 the case of a quotient value out of range. | |
1013 Fix comments. | |
1014 | |
1015 2004-10-26 Robert Dewar <dewar@gnat.com> | |
1016 | |
1017 * s-bitops.adb (Bit_Eq): Remove redundant check. | |
1018 | |
1019 * s-bitops.ads: Minor comment updates | |
1020 Change some occurrences of Address to System.Address | |
1021 | |
1022 * s-carsi8.ads: Fix minor cut-and-paste error in comments | |
1023 | |
1024 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1025 | |
1026 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper | |
1027 accessibility check to prefix that is a protected operation. | |
1028 | |
1029 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1030 | |
1031 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is | |
1032 empty, post message on stub. | |
1033 | |
1034 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1035 Javier Miranda <miranda@gnat.com> | |
1036 | |
1037 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the | |
1038 current instance appears within a unit that is directly in the context | |
1039 of the main unit. | |
1040 Used to determine whether the body of the instance should be analyzed | |
1041 immediately after its spec, to make its subprogram bodies available | |
1042 for front-end inlining. | |
1043 (Analyze_Formal_Array_Type): Cleanup condition that checks that range | |
1044 constraint is not allowed on the component type (AARM 12.5.3(3)) | |
1045 | |
1046 2004-10-26 Cyrille Comar <comar@act-europe.fr> | |
1047 | |
1048 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
1049 'Storage_Pool): enhance, document & limit detection of non-sharable | |
1050 internal pools. | |
1051 | |
1052 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible. | |
1053 | |
1054 * s-pooglo.ads: Add more documentation now that this pool is properly | |
1055 documented. | |
1056 | |
1057 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1058 | |
1059 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task | |
1060 or protected type with discriminants, do not constrain the | |
1061 corresponding record type if the subtype declaration has no | |
1062 discriminant constraints. This can be the case in source code, or in | |
1063 the subtype declaration created to rename an actual type within an | |
1064 instantiation. | |
1065 | |
1066 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1067 | |
1068 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a | |
1069 different kind of stub (possibly wrong name for file), do not check | |
1070 for conformance. | |
1071 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body | |
1072 includes call to some function that returns an unconstrained type, do | |
1073 not inline. | |
1074 | |
1075 2004-10-26 Ed Schonberg <schonberg@gnat.com> | |
1076 | |
1077 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not | |
1078 appear in the code for the main unit. Dependencies among units in the | |
1079 context of the main unit are established when those other units are | |
1080 compiled. Otherwise spurious elaboration constraints can generate | |
1081 incorrect elaboration circularities. | |
1082 | |
1083 2004-10-26 Thomas Quinot <quinot@act-europe.fr> | |
1084 Ed Schonberg <schonberg@gnat.com> | |
1085 | |
1086 * sem_util.adb (Is_Aliased_View): Defend against the case where this | |
1087 subprogram is called with a parameter that is not an object name. This | |
1088 situation arises for some cases of illegal code, which is diagnosed | |
1089 later, and in this case it is wrong to call Is_Aliased, as that might | |
1090 cause a compiler crash. | |
1091 (Explain_Limited_Type): Refine previous fix to include | |
1092 inherited components of derived types, to provide complete information. | |
1093 | |
1094 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that | |
1095 is the prival for a protected object. | |
1096 It is necessary to mark this entity as a variable, in addition to | |
1097 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been | |
1098 modified to avoid checking the Aliased flag on entities that are not | |
1099 objects. (Checking that flag for non-objects is erroneous and could | |
1100 lead to a compiler crash). | |
1101 | |
1102 2004-10-26 Robert Dewar <dewar@gnat.com> | |
1103 | |
1104 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if | |
1105 X_Frac = 0.5, then we know that the number X must be positive. | |
1106 (Succ): Remove the same redundant test, and also fix the primary test | |
1107 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong. | |
1108 Minor reformatting | |
1109 (Decompose): Add fuller comments to spec | |
1110 | |
1111 2004-10-26 Pascal Obry <obry@gnat.com> | |
1112 | |
1113 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr | |
1114 validity (process must have read access). Set to 0 in all other cases. | |
1115 (STOP_FRAME): Now check for ptr validity to avoid a segmentation | |
1116 violation on Win32. | |
1117 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a | |
1118 segmentation violation. | |
1119 | |
1120 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> | |
1121 | |
1122 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference | |
1123 whose type is a constructed subtype of an aliased object with an | |
1124 unconstrained nominal subtype, convert the actual to the constructed | |
1125 subtype before taking its address. | |
1126 | |
1127 2004-10-26 Vincent Celier <celier@gnat.com> | |
1128 | |
1129 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb | |
1130 (Is_Path_Name_Case_Sensitive): New function | |
1131 | |
1132 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure | |
1133 (Base_Name, Simple_Name, Current_Directory, Compose, | |
1134 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on | |
1135 the result. | |
1136 | |
1137 2004-10-26 Cyrille Comar <comar@act-europe.fr> | |
1138 Vasiliy Fofanov <fofanov@act-europe.fr> | |
1139 Vincent Celier <celier@gnat.com> | |
1140 | |
1141 * gnat_ugn.texi: Generalize "finding memory problems" section into a | |
1142 "memory management issues" section and document some of the useful | |
1143 memory pools provided as part of the GNAT library. | |
1144 Remove "virtual" from declaration of A::method2 in | |
1145 the simple example of Ada/C++ mixed system. | |
1146 Library Projects may be virtually extended: their virtual extensions | |
1147 are not Library Projects. | |
1148 Added section on extending project hierarchies. | |
1149 | |
1150 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com> | |
1151 | |
1152 * adaint.c (__gnat_get_libraries_from_registry): Cast value | |
1153 to LPBYTE. | |
1154 (__gnat_portable_spawn): Remove const. | |
1155 | |
1156 * mingw32.h (MAXPATHLEN): Check for previous definition. | |
1157 | |
1158 2004-10-17 Matthias Klose <doko@debian.org> | |
1159 | |
1160 * gnatvsn.ads: Set gnat library version to 4.0. | |
1161 | |
1162 2004-10-05 Vincent Celier <celier@gnat.com> | |
1163 | |
1164 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2 | |
1165 | |
1166 2004-10-04 Laurent Guerby <laurent@guerby.net> | |
1167 | |
1168 PR ada/15156 | |
1169 * Makefile.in: Define and use RANLIB_FLAGS. | |
1170 | |
1171 2004-10-04 Pascal Obry <obry@gnat.com> | |
1172 | |
1173 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all | |
1174 other x86 platforms). | |
1175 | |
1176 2004-10-04 Olivier Hainque <hainque@act-europe.fr> | |
1177 | |
1178 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense | |
1179 in general and triggers stack alignment adjustment for thread entry | |
1180 points on targets where this is necessary. | |
1181 | |
1182 2004-10-04 Bernard Banner <banner@gnat.com> | |
1183 | |
1184 PR ada/13897 | |
1185 * Makefile.in: Add section for powerpc linux | |
1186 Add variant i-vxwork-x86.ads | |
1187 | |
1188 * i-vxwork-x86.ads, system-linux-ppc.ads: New files. | |
1189 | |
1190 2004-10-04 Olivier Hainque <hainque@act-europe.fr> | |
1191 | |
1192 * init.c (__gnat_initialize): Call an Ada subprogram to perform the | |
1193 table registration calls when need be. Ensures no reference to the crt | |
1194 ctors symbol are issued in the SJLJ case, which avoids possible | |
1195 undefined symbol errors in the case of modules to be statically linked | |
1196 with the kernel. | |
1197 | |
1198 2004-10-04 Javier Miranda <miranda@gnat.com> | |
1199 | |
1200 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand | |
1201 in-line the code corresponding to subprogram Analyze_Actuals. In | |
1202 addition, analyze the actuals only in case of subprogram call. | |
1203 | |
1204 2004-10-04 Ed Falis <falis@gnat.com> | |
1205 | |
1206 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size | |
1207 | |
1208 2004-10-04 Sergey Rybin <rybin@act-europe.fr> | |
1209 | |
1210 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter | |
1211 in the documentation. | |
1212 | |
1213 2004-10-04 Robert Dewar <dewar@gnat.com> | |
1214 | |
1215 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as | |
1216 IF and CASE. | |
1217 (Analyze_Block_Statement): Add circuitry to detect following dead code | |
1218 (Check_Unreachable_Code): Handle case of block exit | |
1219 | |
1220 2004-10-04 Robert Dewar <dewar@gnat.com> | |
1221 | |
1222 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call | |
1223 (XMatchD): Avoid warning for Logic_Error call | |
1224 | |
1225 2004-10-04 Robert Dewar <dewar@gnat.com> | |
1226 | |
1227 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not | |
1228 consider expressions buried within a procedure actual to be an actual. | |
1229 This caused some blowups with uses of packed slices within a procedure | |
1230 actual. | |
1231 | |
1232 2004-10-04 Robert Dewar <dewar@gnat.com> | |
1233 | |
1234 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no | |
1235 longer need to be initialized to zero. | |
1236 (Get_Simple_Init_Val): Modular packed arrays no longer need to be | |
1237 initialized to zero. | |
1238 | |
1239 * checks.adb (Expr_Known_Valid): Packed arrays are now always | |
1240 considered valid, even if the representation is modular. That's correct | |
1241 now that we no longer initialize packed modular arrays to zero. | |
1242 | |
1243 * exp_dbug.ads: Clarify documentation on handling of PAD and JM | |
1244 suffixes. These are now documented as the only cases in which the | |
1245 debugger ignores outer records. | |
1246 Previously, the spec allowed arbitrary suffixes for this purpose. | |
1247 Change name of LJM to JM for packed array pad records | |
1248 Create separate section on packed array handling, and add a whole new | |
1249 set of comments to this section describing the situation with packed | |
1250 modular types and justification requirements depending on endianness. | |
1251 | |
1252 2004-10-04 Robert Dewar <dewar@gnat.com> | |
1253 | |
1254 * a-except.adb: Add a comment for last change | |
1255 | |
1256 * einfo.ads: Minor spelling correction in comment | |
1257 | |
1258 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting | |
1259 | |
1260 * sem_ch11.adb: Fix a case of using | instead of \ for continuation | |
1261 messages. | |
1262 | |
1263 * sem_util.ads: Minor comment update | |
1264 | |
1265 2004-10-04 Ed Schonberg <schonberg@gnat.com> | |
1266 | |
1267 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as | |
1268 Inline_Always when in Configurable_Run_Time mode. | |
1269 | |
1270 * sem_prag.adb (Process_Convention): If entity is an inherited | |
1271 subprogram, apply convention to parent subprogram if in same scope. | |
1272 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always | |
1273 when in Configurable_Run_Time mode. | |
1274 | |
1275 2004-10-04 Ed Schonberg <schonberg@gnat.com> | |
1276 | |
1277 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of | |
1278 class_wide type after component list has been inherited. | |
1279 | |
1280 2004-10-04 Ed Schonberg <schonberg@gnat.com> | |
1281 | |
1282 * sem_ch12.adb (Check_Generic_Actuals): New predicate | |
1283 Denotes_Previous_Actual, to handle properly the case of a private | |
1284 actual that is also the component type of a subsequent array actual. | |
1285 The visibility status of the first actual is not affected when the | |
1286 second is installed. | |
1287 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to | |
1288 make fully recursive the treatment of formals of packages declared | |
1289 with a box. | |
1290 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo | |
1291 the above on exit from an instantiation. | |
1292 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore | |
1293 current instantiation which is now complete. | |
1294 (Analyze_Package_Instantiation): No instantiated body is needed if the | |
1295 main unit is generic. Efficient, and avoid anomalies when a instance | |
1296 appears in a package accessed through rtsfind. | |
1297 | |
1298 2004-10-04 Ed Schonberg <schonberg@gnat.com> | |
1299 | |
1300 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled, | |
1301 do not generate a declaration for a temporary if the call is part of a | |
1302 library-level instantiation. | |
1303 | |
1304 2004-10-04 Ed Schonberg <schonberg@gnat.com> | |
1305 | |
1306 * sem_util.adb (Explain_Limited_Type): Ignore internal components when | |
1307 searching for a limited component to flag. | |
1308 | |
1309 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to | |
1310 expansion of Input, to account for the fact that the implicit call | |
1311 generated by the attribute reference must freeze the user-defined | |
1312 stream subprogram. This is only relevant to 'Input, because it can | |
1313 appear in an object declaration, prior to the body of the subprogram. | |
1314 | |
1315 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that | |
1316 expansion can proceed and further errors uncovered. | |
1317 (Minor clean up): Fix cases of using | instead of \ for continuation | |
1318 messages. | |
1319 | |
1320 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
1321 | |
1322 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable. | |
1323 | |
1324 * trans.c (assoc_to_constructor): Fix unused var warning if no checking. | |
1325 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change. | |
1326 Use gcc_assert and gcc_unreachable. | |
1327 | |
1328 * decl.c (gnat_to_gnu_entity, case object): Check and process a | |
1329 specified alignment before validating size. | |
1330 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a | |
1331 stripped-down declaration for the type of the inner field when making | |
1332 a JM type. | |
1333 | |
1334 * utils.c (finish_record_type): Do not compute the size in units | |
1335 incrementally. Instead compute it once for the rep clause case. | |
1336 Use gcc_assert and gcc_unreachable. | |
1337 | |
1338 2004-10-04 Vincent Celier <celier@gnat.com> | |
1339 | |
1340 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character | |
1341 in file name. | |
1342 (Is_Valid_Path_Name): Take '/' as a directory separator. | |
1343 | |
1344 2004-10-04 Vincent Celier <celier@gnat.com> | |
1345 | |
1346 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All | |
1347 (Extended_Project) only if Extended_Project is defined, to avoid | |
1348 assertion error. | |
1349 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a | |
1350 resolved path. | |
1351 (Parse_Single_Project): Ditto. | |
1352 | |
1353 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call | |
1354 Add_To_Project_Path for virtual projects. | |
1355 | |
1356 2004-10-04 Vincent Celier <celier@gnat.com> | |
1357 | |
1358 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, | |
1359 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, | |
1360 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, | |
1361 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New | |
1362 parameter Options_2. | |
1363 | |
1364 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call | |
1365 Build_Dynamic_Library with an empty Options_2. | |
1366 | |
1367 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no | |
1368 default anymore. | |
1369 | |
1370 * makegpr.adb (Get_Imported_Directories.add): Remove trailing | |
1371 directory separator, if any. | |
1372 (Gprmake): Do not allow mains on the command line for library projects. | |
1373 Do not attempt to link when the project is a library project. | |
1374 (Library_Opts): New table to store Library_Options. | |
1375 (Build_Library): If Library_Options is specified, pass these options | |
1376 when building a shared library. | |
1377 | |
1378 2004-10-04 Jose Ruiz <ruiz@act-europe.fr> | |
1379 | |
1380 * s-tposen.adb (Service_Entry): The object must be always unlocked at | |
1381 the end of this procedure now that the unlock operation was inserted | |
1382 by the expander. | |
1383 | |
1384 2004-10-04 Jose Ruiz <ruiz@act-europe.fr> | |
1385 | |
1386 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value | |
1387 corresponding to the Preallocated_Stacks flags in System. | |
1388 (Get_Target_Parameters): Including the processing for | |
1389 Preallocated_Stacks. | |
1390 | |
1391 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, | |
1392 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, | |
1393 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, | |
1394 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, | |
1395 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, | |
1396 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, | |
1397 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, | |
1398 system-vxworks-mips.ads, system-os2.ads, system-interix.ads, | |
1399 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, | |
1400 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, | |
1401 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is | |
1402 used to signal whether the compiler creates the required stacks and | |
1403 descriptors for the different tasks (when True) or it is done by the | |
1404 underlying operating system at run time (when False). | |
1405 It is initially set to False in all targets. | |
1406 | |
1407 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack | |
1408 if it is supported by the target. | |
1409 (Make_Task_Create_Call): Pass the stack address if it has been | |
1410 previously created. Otherwise pass a Null_Address. | |
1411 | |
1412 * snames.adb: Add _stack. | |
1413 | |
1414 * snames.ads: Add Name_uStack. Required to allow the expander to | |
1415 statically allocated task stacks. | |
1416 | |
1417 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add | |
1418 Stack_Address argument. | |
1419 Check that its value is equal to Null_Address because this target does | |
1420 not support the static stack allocation. | |
1421 | |
1422 2004-10-04 Thomas Quinot <quinot@act-europe.fr> | |
1423 | |
1424 * usage.adb: Change "pragma inline" to "pragma Inline" in information | |
1425 and error messages | |
1426 | |
1427 2004-10-04 Thomas Quinot <quinot@act-europe.fr> | |
1428 | |
1429 * exp_dist.adb: Split declaration of asynchronous flag out of | |
1430 Add_RACW_Read_Attribute. | |
1431 Minor reformatting for better alignment with PolyORB version. | |
1432 Store the entity for the asynchronous flag of an RACW, rather than the | |
1433 expression, in the asynchronous flags table. This will allow this flag | |
1434 to be used in other subprograms beside Add_RACW_Read_Attribute. | |
1435 | |
1436 2004-10-04 Thomas Quinot <quinot@act-europe.fr> | |
1437 | |
1438 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c, | |
1439 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, | |
1440 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, | |
1441 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, | |
1442 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new | |
1443 sockets constant MSG_NOSIGNAL (Linux-specific). | |
1444 Add new sockets constant MSG_Forced_Flags, list of flags to be set on | |
1445 all Send operations. | |
1446 For Linux, set MSG_NOSIGNAL on all send operations to prevent them | |
1447 from trigerring SIGPIPE. | |
1448 Rename components to avoid clash with Ada 2005 possible reserved | |
1449 word 'interface'. | |
1450 (Check_Selector): When the select system call returns with an error | |
1451 condition, propagate Socket_Error to the caller. | |
1452 | |
1453 2004-10-01 Jan Hubicka <jh@suse.cz> | |
1454 | |
1455 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation. | |
1456 | |
1457 2004-09-23 Robert Dewar <dewar@gnat.com> | |
1458 | |
1459 PR ada/17540 | |
1460 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here, | |
1461 instead do this at freeze time (we won't do it if there is an address | |
1462 clause). | |
1463 Change "pragma inline" to "pragma Inline" in information and error | |
1464 messages. | |
1465 Minor reformatting. | |
1466 | |
1467 * freeze.adb (Check_Address_Clause): Remove previous change, not the | |
1468 right way of doing things after all. | |
1469 (Freeze_Entity): For object, set Is_Public for imported entities | |
1470 unless there is an address clause present. | |
1471 | |
1472 2004-09-21 Olivier Hainque <hainque@act-europe.fr> | |
1473 | |
1474 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a | |
1475 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This | |
1476 ensures proper handling of types with rep clauses, which might have | |
1477 their TYPE_SIZE set already. | |
1478 | |
1479 2004-09-21 Robert Dewar <dewar@gnat.com> | |
1480 | |
1481 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular | |
1482 packed array types in both little- and big-endian cases. This change | |
1483 ensures that we no longer count on the unused bits being initialized | |
1484 for such types (and in particular ensures that equality testing will | |
1485 only read the relevant bits). | |
1486 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P | |
1487 These changes mean that we no longer need to initialize small packed | |
1488 arrays. | |
1489 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same | |
1490 optimization to an LJM field as to its parent field. | |
1491 | |
1492 * ada-tree.h, trans.c, utils.c, utils2.c: | |
1493 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P | |
1494 | |
1495 2004-09-20 Jan Hubicka <jh@suse.cz> | |
1496 | |
1497 * utils.c (gnat_finalize): Remove. | |
1498 (end_subprog_body): Directly call cgraph_finalize_function; | |
1499 do not lower the nested functions. | |
1500 | |
1501 2004-09-20 Robert Dewar <dewar@gnat.com> | |
1502 | |
1503 PR ada/17540 | |
1504 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public | |
1505 if an address clause is present, since that means that the Import | |
1506 should be ignored. | |
1507 | |
1508 2004-09-20 Arnaud Charlet <charlet@act-europe.fr> | |
1509 | |
1510 * 5tsystem.ads: Removed, no longer used. | |
1511 | |
1512 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com> | |
1513 Zack Weinberg <zack@codesourcery.com> | |
1514 | |
1515 * ada-tree.def: Use tree_code_class enumeration constants | |
1516 instead of code letters. | |
1517 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c: | |
1518 Update for new tree-class enumeration constants. | |
1519 | |
1520 2004-09-17 Vincent Celier <celier@gnat.com> | |
1521 | |
1522 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private | |
1523 capabilities of the general project manager. | |
1524 | |
1525 2004-09-09 Vincent Celier <celier@gnat.com> | |
1526 | |
1527 * a-direct.ads: Add pragma Ada_05 | |
1528 (Directory_Entry_Type): Give default value to component Kind to avoid | |
1529 not initialized warnings. | |
1530 | |
1531 * a-direct.adb (Current_Directory): Remove directory separator at the | |
1532 end. | |
1533 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not | |
1534 an existing directory. | |
1535 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning | |
1536 (Size (String)): Function C_Size returns Long_Integer, not File_Size. | |
1537 Convert the result to File_Size. | |
1538 | |
1539 * prj.ads: (Project_Error): New exception | |
1540 | |
1541 * prj-attr.adb: Except in procedure Initialize, Fail comes from | |
1542 Prj.Com, not from Osint. | |
1543 (Attrs, Package_Attributes): Tables moved to private part of spec | |
1544 (Add_Attribute, Add_Unknown_Package): Moved to new child package | |
1545 Prj.Attr.PM. | |
1546 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise | |
1547 Prj.Project_Error after call to Fail. | |
1548 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling | |
1549 Fail. Check that package name is not already in use. | |
1550 | |
1551 * prj-attr.ads: Comment updates to indicate that all subprograms may be | |
1552 used by tools, not only by the project manager, and to indicate that | |
1553 exception Prj.Prj_Error may be raised in case of problem. | |
1554 (Add_Unknown_Package, Add_Attribute): Moved to new child package | |
1555 Prj.Attr.PM. | |
1556 (Attrs, Package_Attributes): Table instantiations moved from the body to | |
1557 the private part to be accessible from Prj.Attr.PM body. | |
1558 | |
1559 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package | |
1560 from new package Prj.Attr.PM. | |
1561 (Parse_Attribute_Declaration): Call Add_Attribute from new package | |
1562 Prj.Attr.PM. | |
1563 | |
1564 * Makefile.in: Add prj-attr-pm.o to gnatmake object list | |
1565 | |
1566 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check | |
1567 instead of Elaboration_Checks). | |
1568 | |
1569 * a-calend.adb: Minor reformatting | |
1570 | |
1571 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
1572 | |
1573 * gigi.h (maybe_pad_type): New declaration. | |
1574 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR. | |
1575 | |
1576 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro. | |
1577 | |
1578 * cuintp.c: Convert to use buildN. | |
1579 | |
1580 * decl.c (maybe_pad_type): No longer static. | |
1581 (gnat_to_gnu_entity, case E_Function): Handle case of returning by | |
1582 target pointer. | |
1583 Convert to use buildN. | |
1584 | |
1585 * trans.c (call_to_gnu): Add arg GNU_TARGET; support | |
1586 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed. | |
1587 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on | |
1588 RHS. | |
1589 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P. | |
1590 (gnat_gimplify_expr, case ADDR_EXPR): New case. | |
1591 Convert to use buildN. | |
1592 | |
1593 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and | |
1594 TREE_READONLY for const. | |
1595 Convert to use buildN. | |
1596 | |
1597 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR. | |
1598 (create_var_decl): Refine when TREE_STATIC is set. | |
1599 Convert to use buildN. | |
1600 | |
1601 2004-09-09 Gary Dismukes <dismukes@gnat.com> | |
1602 | |
1603 * gnat_ugn.texi: Delete text relating to checking of ali and object | |
1604 consistency. | |
1605 | |
1606 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these | |
1607 routines. | |
1608 | |
1609 2004-09-09 Jose Ruiz <ruiz@act-europe.fr> | |
1610 | |
1611 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration | |
1612 pragmas recognized by GNAT. | |
1613 | |
1614 * gnat_rm.texi: Document pragma Detect_Blocking. | |
1615 | |
1616 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active, | |
1617 raise Program_Error if called from a protected operation. | |
1618 | |
1619 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase | |
1620 the protected action nesting level. | |
1621 (Lock_Read_Only): When pragma Detect_Blocking is active increase the | |
1622 protected action nesting level. | |
1623 (Unlock): When pragma Detect_Blocking is active decrease the protected | |
1624 action nesting level. | |
1625 | |
1626 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the | |
1627 Protected_Action_Nesting. | |
1628 | |
1629 * s-taskin.ads: Adding the field Protected_Action_Nesting to the | |
1630 Common_ATCB record. It contains the dynamic level of protected action | |
1631 nesting for each task. It is needed for checking whether potentially | |
1632 blocking operations are called from protected operations. | |
1633 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma | |
1634 Detect_Blocking is active or not in the partition. | |
1635 | |
1636 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active, | |
1637 raise Program_Error if called from a protected operation. | |
1638 (Task_Entry_Call): When pragma Detect_Blocking is active, raise | |
1639 Program_Error if called from a protected operation. | |
1640 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise | |
1641 Program_Error if called from a protected operation. | |
1642 | |
1643 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active, | |
1644 raise Program_Error if called from a protected operation. | |
1645 | |
1646 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active, | |
1647 raise Program_Error if called from a protected operation, and increase | |
1648 the protected action nesting level. | |
1649 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise | |
1650 Program_Error if called from a protected operation, and increase the | |
1651 protected action nesting level. | |
1652 (Unlock_Entries): When pragma Detect_Blocking is active decrease the | |
1653 protected action nesting level. | |
1654 | |
1655 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active, | |
1656 raise Program_Error if called from a protected operation, and increase | |
1657 the protected action nesting level. | |
1658 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise | |
1659 Program_Error if called from a protected operation, and increase the | |
1660 protected action nesting level. | |
1661 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active, | |
1662 raise Program_Error if called from a protected operation. | |
1663 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is | |
1664 active, raise Program_Error if called from a protected operation. | |
1665 (Unlock_Entry): When pragma Detect_Blocking is active decrease the | |
1666 protected action nesting level. | |
1667 | |
1668 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the | |
1669 insertion of the statement raising Program_Error. The run time | |
1670 contains the required machinery for handling that. | |
1671 | |
1672 * sem_util.ads: Change comment associated to procedure | |
1673 Check_Potentially_Blocking_Operation. | |
1674 This procedure does not insert a call for raising the exception because | |
1675 that is currently done by the run time. | |
1676 | |
1677 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter. | |
1678 | |
1679 * init.c: Add the global variable __gl_detect_blocking that indicates | |
1680 whether pragma Detect_Blocking is active (1) or not (0). Needed for | |
1681 making the pragma available at run time. | |
1682 (__gnat_set_globals): Pass and update the detect_blocking parameter. | |
1683 | |
1684 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if | |
1685 pragma Detect_Blocking is active. | |
1686 | |
1687 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files. | |
1688 | |
1689 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag | |
1690 DB is found in the ali file. Any unit compiled with pragma | |
1691 Detect_Blocking active forces its effect in the whole partition. | |
1692 | |
1693 * a-retide.adb (Delay_Until): Raise Program_Error if pragma | |
1694 Detect_Blocking is active and delay is called from a protected | |
1695 operation. | |
1696 | |
1697 * bindgen.adb (Gen_Adainit_Ada): When generating the call to | |
1698 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma | |
1699 Detect_Blocking is active (0 otherwise). | |
1700 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1 | |
1701 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 | |
1702 otherwise). | |
1703 | |
1704 2004-09-09 Thomas Quinot <quinot@act-europe.fr> | |
1705 | |
1706 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to | |
1707 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash | |
1708 package. | |
1709 | |
1710 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram. | |
1711 (Register_Receiving_Stub): Add Subp_Info formal parameter. | |
1712 Update API in placeholder implemetation of s-parint to reflect changes | |
1713 in distribution runtime library. | |
1714 | |
1715 * sem_ch3.adb (Expand_Derived_Record): Rename to | |
1716 Expand_Record_Extension. | |
1717 | |
1718 * sem_disp.adb (Check_Controlling_Formals): Improve error message for | |
1719 primitive operations of potentially distributed object types that have | |
1720 non-controlling anonymous access formals. | |
1721 | |
1722 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New | |
1723 subprogram. | |
1724 New implementation of expansion for remote access-to-subprogram types, | |
1725 based on the RACW infrastructure. | |
1726 This version of sem_dist is compatible with PolyORB/DSA as well as | |
1727 GLADE. | |
1728 | |
1729 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma | |
1730 Asynchrronous that applies to a remote access-to-subprogram type, mark | |
1731 the underlying RACW type as asynchronous. | |
1732 | |
1733 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and | |
1734 __gnat_using_gnu_linker to 1. | |
1735 | |
1736 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads, | |
1737 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to | |
1738 GNAT.Perfect_Hash_Generators, and remove the empty | |
1739 GNAT.Perfect_Hash package. | |
1740 | |
1741 * atree.adb: Minor reformatting | |
1742 | |
1743 * exp_ch3.adb (Expand_Derived_Record): Rename to | |
1744 Expand_Record_Extension. | |
1745 (Build_Record_Init_Proc.Build_Assignment): The default expression in | |
1746 a component declaration must remain attached at that point in the | |
1747 tree so New_Copy_Tree copies it if the enclosing record type is derived. | |
1748 It is therefore necessary to take a copy of the expression when building | |
1749 the corresponding assignment statement in the init proc. | |
1750 As a side effect, in the case of a derived record type, we now see the | |
1751 original expression, without any rewriting that could have occurred | |
1752 during expansion of the ancestor type's init proc, and we do not need | |
1753 to go back to Original_Node. | |
1754 | |
1755 * exp_ch3.ads (Expand_Derived_Record): Rename to | |
1756 Expand_Record_Extension. | |
1757 | |
1758 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram. | |
1759 Returns the RACW type used to implement a remote access-to-subprogram | |
1760 type. | |
1761 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type): | |
1762 New subprograms. Used to create a proxy tagged object for a remote | |
1763 subprogram. The proxy object is used as the designated object | |
1764 for RAS values on the same partition (unless All_Calls_Remote applies). | |
1765 (Build_Get_Unique_RP_Call): New subprogram. Build a call to | |
1766 System.Partition_Interface.Get_Unique_Remote_Pointer. | |
1767 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS): | |
1768 Renamed from Add_RAS_*_Attribute. | |
1769 (Add_Receiving_Stubs_To_Declarations): Generate a table of local | |
1770 subprograms. | |
1771 New implementation of expansion for remote access-to-subprogram types, | |
1772 based on the RACW infrastructure. | |
1773 | |
1774 * exp_dist.ads (Copy_Specification): Update comment to note that this | |
1775 function can copy the specification from either a subprogram | |
1776 specification or an access-to-subprogram type definition. | |
1777 | |
1778 2004-09-09 Ed Schonberg <schonberg@gnat.com> | |
1779 | |
1780 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity | |
1781 in an instance, between an explicit subprogram an one inherited from a | |
1782 type derived from an actual. | |
1783 | |
1784 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not | |
1785 add a polling call if the subprogram is to be inlined by the back-end, | |
1786 to avoid repeated calls with multiple inlinings. | |
1787 | |
1788 * checks.adb (Apply_Alignment_Check): If the expression in the address | |
1789 clause is a call whose name is not a static entity (e.g. a dispatching | |
1790 call), treat as dynamic. | |
1791 | |
1792 2004-09-09 Robert Dewar <dewar@gnat.com> | |
1793 | |
1794 * g-trasym.ads: Minor reformatting | |
1795 | |
1796 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except | |
1797 packed arrays, since unused bits are expected to be zero for a | |
1798 comparison. | |
1799 | |
1800 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr> | |
1801 | |
1802 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head | |
1803 comment. | |
1804 | |
1805 2004-09-09 Pascal Obry <obry@gnat.com> | |
1806 | |
1807 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to | |
1808 enable map file generation. Add the right option to generate the map | |
1809 file if Map_File is set to True. | |
1810 | |
1811 * gnatdll.adb (Gen_Map_File): New variable. | |
1812 (Syntax): Add info about new -m (Map_File) option. | |
1813 (Parse_Command_Line): Add support for -m option. | |
1814 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls. | |
1815 Minor reformatting. | |
1816 | |
1817 2004-09-09 Laurent Pautet <pautet@act-europe.fr> | |
1818 | |
1819 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the | |
1820 new gnatdist implementation. | |
1821 Define a subpackage isolating the output routines specific to this | |
1822 verbose mode. | |
1823 | |
1824 2004-09-09 Joel Brobecker <brobecker@gnat.com> | |
1825 | |
1826 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta. | |
1827 | |
1828 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted. | |
1829 | |
1830 2004-09-09 Cyrille Comar <comar@act-europe.fr> | |
1831 | |
1832 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile | |
1833 internal unit. | |
1834 | |
1835 * opt.ads: Add Ada_Version_Runtime constant used to decide which | |
1836 version of the language is used to compile the run time. | |
1837 | |
1838 2004-09-09 Arnaud Charlet <charlet@act-europe.fr> | |
1839 | |
1840 * sem_util.adb (Requires_Transient_Scope): Re-enable handling | |
1841 of variable length temporaries for function return now that the | |
1842 back-end and gigi support it. | |
1843 | |
1844 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
1845 | |
1846 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM. | |
1847 | |
1848 * trans.c (struct stmt_group): Delete field GLOBAL. | |
1849 (gnat_init_stmt_group): Do not initialize it. | |
1850 (call_to_gnu): Use save_expr, not protect_multiple_eval. | |
1851 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2 | |
1852 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise. | |
1853 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group. | |
1854 (start_stmt_group): Likewise. | |
1855 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs. | |
1856 | |
1857 * utils2.c (ggc.h): Include. | |
1858 (build_call_raise): Call build_int_cst, not build_int_2. | |
1859 | |
1860 * utils.c (gnat_init_decl_processing): Fix arg to | |
1861 build_common_tree_nodes. | |
1862 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST. | |
1863 (gnat_define_builtin): Set built_in_decls. | |
1864 (init_gigi_decls): Call build_int_cst, not build_int_2. | |
1865 | |
1866 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree. | |
1867 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros. | |
1868 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise. | |
1869 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE, | |
1870 SET_TYPE_MODULE): Use them. | |
1871 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise. | |
1872 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise. | |
1873 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE, | |
1874 SET_TYPE_ADA_SIZE): Likewise. | |
1875 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise. | |
1876 (DECL_CONST_CORRESPONDING_VAR, | |
1877 SET_DECL_CONST_CORRESPONDING_VAR): Likewise. | |
1878 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise. | |
1879 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted. | |
1880 (TYPE_RM_SIZE_NUM): New macro. | |
1881 (TYPE_RM_SIZE): Modified to use above. | |
1882 | |
1883 * cuintp.c: (build_cst_from_int): New function. | |
1884 (UI_To_gnu): Use it. | |
1885 | |
1886 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM. | |
1887 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type. | |
1888 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a | |
1889 MIN_EXPR for the size, copy it into new. | |
1890 | |
1891 2004-09-01 Robert Dewar <dewar@gnat.com> | |
1892 | |
1893 * exp_ch6.adb (Expand_Call): Properly handle validity checks for | |
1894 packed indexed component where array is an IN OUT formal. This | |
1895 generated garbage code previously. | |
1896 | |
1897 * gnat_ugn.texi: Document -fverbose-asm | |
1898 | |
1899 * gnat-style.texi: Minor updates (note that boolean constants and | |
1900 variables are joined with AND/OR rather than short circuit forms). | |
1901 | |
1902 2004-09-01 Ed Schonberg <schonberg@gnat.com> | |
1903 | |
1904 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if | |
1905 it is an upward conversion of an untagged type with no representation | |
1906 change. | |
1907 | |
1908 2004-09-01 Thomas Quinot <quinot@act-europe.fr> | |
1909 | |
1910 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to | |
1911 System.Partition_Interface. | |
1912 | |
1913 * checks.adb (Apply_Access_Checks): Do not generate checks when | |
1914 expander is not active (but check for unset reference to prefix of | |
1915 dereference). | |
1916 | |
1917 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite | |
1918 pragma Debug as an if statement with a constant condition, for | |
1919 consistent treatment of entity references contained within the | |
1920 enclosed procedure call. | |
1921 | |
1922 2004-09-01 Vincent Celier <celier@gnat.com> | |
1923 | |
1924 * bindgen.adb: (Set_EA_Last): New procedure | |
1925 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure | |
1926 Set_EA_Last. | |
1927 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing | |
1928 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be | |
1929 linked without errors. | |
1930 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays | |
1931 ST and EA. | |
1932 (Gen_Exception_Table_C): Correct same bugs | |
1933 | |
1934 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches | |
1935 | |
1936 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty, | |
1937 on Windows, make sure that the drive letter is in upper case. | |
1938 | |
1939 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on | |
1940 Windows, when the drive letter is added and Case_Sensitive is True, the | |
1941 drive letter is forced to upper case. | |
1942 | |
1943 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options | |
1944 to Options_2 for the call to MLib.Utl.Gcc. | |
1945 | |
1946 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as | |
1947 directory separator when defining BASE_DIR. | |
1948 | |
1949 2004-09-01 Pascal Obry <obry@gnat.com> | |
1950 | |
1951 * gprcmd.adb (Extend): Do not output trailing directory separator. This | |
1952 is not needed and it confuses Windows GNU/make which does not report | |
1953 directory terminated by a slash as a directory. | |
1954 (gprcmd): Idem for "pwd" internal command. | |
1955 | |
1956 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in | |
1957 target names rewrite to fix regressions with recent version of | |
1958 GNU/make. Starting with GNU/make 3.80 the pipe character was not | |
1959 handled properly anymore. | |
1960 | |
1961 2004-09-01 Andreas Schwab <schwab@suse.de> | |
1962 | |
1963 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change. | |
1964 * raise.c [!IN_RTS]: Undef abort. | |
1965 | |
1966 2004-08-27 Nathan Sidwell <nathan@codesourcery.com> | |
1967 | |
1968 * utils2.c (build_allocator): Use ssize_int. | |
1969 | |
1970 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype. | |
1971 | |
1972 2004-08-27 Andreas Schwab <schwab@suse.de> | |
1973 | |
1974 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o. | |
1975 | |
1976 2004-08-25 Nathan Sidwell <nathan@codesourcery.com> | |
1977 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
1978 | |
1979 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1. | |
1980 | |
1981 2004-08-25 Nathan Sidwell <nathan@codesourcery.com> | |
1982 | |
1983 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls. | |
1984 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. | |
1985 * utils.c (init_gigi_decls): Likewise. | |
1986 * utils2.c (build_call_raise, build_allocator): Likewise. | |
1987 | |
1988 2004-08-24 Nathan Sidwell <nathan@codesourcery.com> | |
1989 | |
1990 * utils.c (gnat_init_decl_processing): Adjust | |
1991 build_common_tree_nodes call. | |
1992 | |
1993 2004-08-20 Nathan Sidwell <nathan@codesourcery.com> | |
1994 | |
1995 * utils2.c (build_allocator): Use build_int_cst for negative | |
1996 size types. | |
1997 | |
1998 2004-08-18 Richard Henderson <rth@redhat.com> | |
1999 | |
2000 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove. | |
2001 | |
2002 2004-08-16 Nathan Sidwell <nathan@codesourcery.com> | |
2003 | |
2004 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst | |
2005 call.s | |
2006 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise. | |
2007 (gnat_to_gnu): Likewise. | |
2008 | |
2009 2004-08-16 Pascal Obry <obry@gnat.com> | |
2010 | |
2011 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC | |
2012 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared | |
2013 option and not mdll anymore. Update comment. | |
2014 | |
2015 2004-08-16 Pascal Obry <obry@gnat.com> | |
2016 | |
2017 * bld.adb (Put_Include_Project): Properly handle directory separators | |
2018 on Windows. | |
2019 | |
2020 2004-08-16 Ed Schonberg <schonberg@gnat.com> | |
2021 | |
2022 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by | |
2023 decreasing the number of allocated junk nodes while searching for the | |
2024 appropriate subprogram. | |
2025 | |
2026 2004-08-15 Nathan Sidwell <nathan@codesourcery.com> | |
2027 | |
2028 * cuintp.c (UI_To_gnu): Use build_int_cst.. | |
2029 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. | |
2030 * utils.c (init_gigi_decls): Likewise. | |
2031 * utils2.c (build_call_raise): Likewise. | |
2032 | |
2033 2004-08-13 Olivier Hainque <hainque@act-europe.fr> | |
2034 | |
2035 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator | |
2036 for a global aliased object with a variable size and an unconstrained | |
2037 nominal subtype, pretend there is no initializer if the one we have is | |
2038 incomplete, and avoid referencing an inexistant component in there. The | |
2039 part we have will be rebuilt anyway and the reference may confuse | |
2040 further operations. | |
2041 | |
2042 2004-08-13 Thomas Quinot <quinot@act-europe.fr> | |
2043 | |
2044 * einfo.ads: Minor reformatting | |
2045 | |
2046 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter | |
2047 restrictions in the ALI if we only want to warn about violations. | |
2048 | |
2049 2004-08-13 Vincent Celier <celier@gnat.com> | |
2050 | |
2051 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False | |
2052 when creating a new Unit_Record in table Units. | |
2053 | |
2054 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions | |
2055 that are violated, if any. | |
2056 | |
2057 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not | |
2058 add directory separator if path already ends with a directory separator. | |
2059 | |
2060 2004-08-13 Ed Schonberg <schonberg@gnat.com> | |
2061 | |
2062 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined | |
2063 unit, this is an attempt to inline a construct that is not available in | |
2064 the current restricted mode, so abort rather than trying to continue. | |
2065 | |
2066 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has | |
2067 discriminants that rename those of the parent, recover names of | |
2068 original discriminants for the constraint on the full view of the | |
2069 parent. | |
2070 (Complete_Private_Subtype): Do not create a subtype declaration if the | |
2071 subtype is an itype. | |
2072 | |
2073 * gnat_rm.texi: Added section on implementation of discriminated | |
2074 records with default values for discriminants. | |
2075 | |
2076 2004-08-13 Ed Schonberg <schonberg@gnat.com> | |
2077 | |
2078 PR ada/15601 | |
2079 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where | |
2080 the second operand is overloaded. | |
2081 | |
2082 2004-08-10 Richard Henderson <rth@redhat.com> | |
2083 | |
2084 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc, | |
2085 add __builtin_alloca. | |
2086 | |
2087 2004-08-10 Richard Henderson <rth@redhat.com> | |
2088 | |
2089 * config-lang.in (boot_language): Yes. | |
2090 | |
2091 2004-08-09 Thomas Quinot <quinot@act-europe.fr> | |
2092 | |
2093 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind | |
2094 from complaining on potential uninitialized reference. | |
2095 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for | |
2096 new specification and test explicitly for non-zero return value. | |
2097 | |
2098 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as | |
2099 returning C.int, to avoid using a derived boolean type. | |
2100 | |
2101 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use | |
2102 Duplicate_Subexpr_No_Checks in preference to direct use of | |
2103 Remove_Side_Effects and New_Copy_Tree. | |
2104 Clear Comes_From_Source on prefix of 'Size attribute reference. | |
2105 | |
2106 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, | |
2107 g-socthi-vxworks.adb: Change calls to | |
2108 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification | |
2109 and test explicitly for non-zero return value. | |
2110 | |
2111 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: | |
2112 (Is_Socket_In_Set): Declare imported function as returning C.int, to | |
2113 avoid using a derived boolean type. | |
2114 | |
2115 2004-08-09 Albert Lee <lee@gnat.com> | |
2116 | |
2117 * system-irix-n32.ads: Refine tasking priority constants for IRIX. | |
2118 | |
2119 2004-08-09 Pascal Obry <obry@gnat.com> | |
2120 | |
2121 * gnat_ugn.texi: Document new way to build DLLs on Windows using | |
2122 GCC's -shared option. | |
2123 | |
2124 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into | |
2125 Options_2 parameter (options put after object files). | |
2126 | |
2127 2004-08-09 Olivier Hainque <hainque@act-europe.fr> | |
2128 | |
2129 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to | |
2130 ignore overflows on low and high bounds of an index to also account for | |
2131 differences in signedness between sizetype and gnu_index_subtype. | |
2132 These are as legitimate as the ones caused by a lower TYPE_PRECISION | |
2133 on sizetype. | |
2134 | |
2135 2004-08-09 Robert Dewar <dewar@gnat.com> | |
2136 | |
2137 * s-solita.ads, s-solita.adb: Minor reformatting | |
2138 | |
2139 * gnat_rm.texi: Add documentation for pragma Profile (Restricted) | |
2140 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new | |
2141 obsolescent section | |
2142 Add note that No_Implicit_Conditionals does not suppress | |
2143 run time constraint checks. | |
2144 | |
2145 * vms_conv.ads: Minor reformatting | |
2146 | |
2147 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup | |
2148 and necessary for following change). | |
2149 (Mark): Return new format Mark_Id containing sec stack address | |
2150 (Release): Use sec stack address from Mark_Id avoiding Self call | |
2151 | |
2152 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack | |
2153 pointer (cleanup and necessary for following change). | |
2154 Define Mark_Id as record containing address of secondary stack, that way | |
2155 Release does not need to find the stack again, decreasing the number of | |
2156 calls to Self and improving efficiency. | |
2157 | |
2158 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference | |
2159 | |
2160 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of | |
2161 case variable into the individual case branches when possible. | |
2162 | |
2163 * sem_ch11.adb: Minor reformatting | |
2164 | |
2165 * prj.ads: Correct spelling of suffixs | |
2166 | |
2167 * prj-nmsc.adb: Minor reformatting | |
2168 Correct spelling suffixs throughout (also in identifiers) | |
2169 | |
2170 * freeze.adb: Minor spelling correction | |
2171 | |
2172 * exp_ch2.adb: Cleanups to handling of Current_Value | |
2173 (no functional effect). | |
2174 | |
2175 * bld.adb: Correct spelling of suffixs | |
2176 | |
2177 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument | |
2178 | |
2179 2004-08-09 Ed Schonberg <schonberg@gnat.com> | |
2180 | |
2181 PR ada/15408 | |
2182 * sem_ch7.adb (Install_Private_Declarations): In the body of the | |
2183 package or of a child, private entities are both immediately_visible | |
2184 and not hidden. | |
2185 | |
2186 2004-08-09 Ed Schonberg <schonberg@gnat.com> | |
2187 | |
2188 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, | |
2189 there are no range checks on the value of the literal. | |
2190 | |
2191 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being | |
2192 wrapped is the triggering alternative of an asynchronous select, action | |
2193 statements mustbe inserted before the select itself. | |
2194 | |
2195 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the | |
2196 case where the prefix is a protected function call. | |
2197 (Resolve_Attribute, case 'Access): The attribute reference on a | |
2198 subprogram is legal in a generic body if the subprogram is declared | |
2199 elsewhere. | |
2200 | |
2201 2004-08-09 Vincent Celier <celier@gnat.com> | |
2202 | |
2203 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the | |
2204 languages, otherwise building the library may fail with unresolved | |
2205 symbols. | |
2206 (Compile_Sources): Do not build libraries if -c switch is used | |
2207 | |
2208 * gnatlink.adb (Process_Args): New switches -M and -Mmap | |
2209 (Write_Usage): If map file creation is supported, output new switches | |
2210 -M and -Mmap. | |
2211 (Gnatlink): When -M is specified, add the necessary switch(es) to the | |
2212 gcc call, when supported. | |
2213 | |
2214 * Makefile.in: Added indepsw.o to the object list for gnatlink | |
2215 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb | |
2216 | |
2217 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, | |
2218 indepsw.adb, indepsw.ads: New files. | |
2219 | |
2220 2004-08-09 Bernard Banner <banner@gnat.com> | |
2221 | |
2222 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. | |
2223 | |
2224 * Makefile.in: add section for vxworks x86 | |
2225 | |
2226 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com> | |
2227 | |
2228 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with | |
2229 per-object constrained components where the discriminant is of an | |
2230 Access type. | |
2231 (Build_Record_Init_Proc): Add condition to prevent the inheritance of | |
2232 the parent initialization procedure for derived Unchecked_Unions. | |
2233 Instead, derived Unchecked_Unions build their own initialization | |
2234 procedure. | |
2235 (Build_Variant_Record_Equality): Implement Unchecked_Union equality. | |
2236 Check the body of the subprogram for details. | |
2237 (Freeze_Record_Type): Prevent the inheritance of discriminant checking | |
2238 functions for derived Unchecked_Union types by introducing a condition. | |
2239 Allow the creation of TSS equality functions for Unchecked_Unions. | |
2240 (Make_Eq_Case): Rename formal parameter Node to E in function signature. | |
2241 Add formal parameter Discr to function signature. Discr is used to | |
2242 control the generated case statement for Unchecked_Union types. | |
2243 (Make_Eq_If): Rename formal parameter Node to E in function signature. | |
2244 | |
2245 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for | |
2246 Unchecked_Unions. | |
2247 Check the body of the subprogram for details. | |
2248 (Expand_Composite_Equality): Augment composite type equality to include | |
2249 correct handling of Unchecked_Union components. | |
2250 (Expand_N_In): Add condition to detect illegal membership tests when the | |
2251 subtype mark is a constrained Unchecked_Union and the expression lacks | |
2252 inferable discriminants, and build a Raise_Program_Error node. | |
2253 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used | |
2254 to detect types that contain components of unconstrained Unchecked_Union | |
2255 subtype. Add condition to detect equality between types that have an | |
2256 unconstrained Unchecked_Union component, and build a Raise_Program_Error | |
2257 node. Add condition to detect equality between Unchecked_Union types | |
2258 that lack inferable discriminants, and build a Raise_Program_Error node. | |
2259 Otherwise build a TSS equality function call. | |
2260 (Expand_N_Type_Conversion): Add condition to detect illegal conversions | |
2261 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union | |
2262 with the operand lacking inferable discriminants, and build a Raise_ | |
2263 Program_Error node. | |
2264 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union | |
2265 composite equality. | |
2266 (Has_Inferable_Discriminants): Implement new predicate for objects and | |
2267 expressions of Unchecked_Union type. Check the body of subprogram for | |
2268 details. | |
2269 (Has_Unconstrained_UU_Components): Add function | |
2270 Component_Is_Unconstrained_UU. It is used to detect whether a single | |
2271 component is of an unconstrained Unchecked_Union subtype. Add function | |
2272 Variant_Is_Unconstrained_UU. It is used to detect whether a single | |
2273 component inside a variant is of an unconstrained Unchecked_Union type. | |
2274 | |
2275 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the | |
2276 inferred discriminant values. Add condition to generate a case | |
2277 statement with an inferred discriminant as the switch. | |
2278 (Make_Component_List_Assign): Introduce a Boolean flag that determines | |
2279 the behaviour of the subprogram in the presence of an Unchecked_Union. | |
2280 Add condition to trigger the usage of the inferred discriminant value | |
2281 as the generated case statement switch. | |
2282 (Make_Field_Assign): Introduce a Boolean flag that determines the | |
2283 behaviour of the subprogram in the presence of an Unchecked_Union. Add | |
2284 condition to trigger the usage of the inferred discriminant value as | |
2285 the right-hand side of the generated assignment. | |
2286 | |
2287 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual | |
2288 parameter generation when dealing with Unchecked_Unions. | |
2289 | |
2290 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant | |
2291 checks for Unchecked_Unions. | |
2292 | |
2293 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint | |
2294 | |
2295 * exp_attr.adb (Expand_N_Attribute_Reference): Produce | |
2296 Raise_Program_Error nodes for the execution of Read and Write | |
2297 attributes of Unchecked_Union types and the execution of Input and | |
2298 Output attributes of Unchecked_Union types that lack default | |
2299 discriminant values. | |
2300 | |
2301 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma | |
2302 Unchecked_Union. Add procedure Check_Component. It is used to inspect | |
2303 per-object constrained components of Unchecked_Unions for being | |
2304 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to | |
2305 check individual components withing a variant. | |
2306 | |
2307 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents | |
2308 comparison of Unchecked_Unions. | |
2309 (Resolve_Equality_OP): Remove guard that prevents equality between | |
2310 Unchecked_Unions. | |
2311 | |
2312 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation | |
2313 of component subtypes for Unchecked_Union components. | |
2314 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type | |
2315 since it is the actual subtype. | |
2316 | |
2317 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct | |
2318 pass of Unchecked_Union subtypes as generic actuals to formal types | |
2319 that lack known_discriminant_parts or that are derived Unchecked_Union | |
2320 types, and do nothing. In any other case, produce an error message. | |
2321 | |
2322 * sem_ch3.adb (Analyze_Component_Declaration): Add function | |
2323 Contains_POC. It determines whether a constraint uses the discriminant | |
2324 of an enclosing record type. | |
2325 Add condition to detect per-object constrained component and set the | |
2326 appropriate flag. | |
2327 (Derived_Type_Declaration): Remove guard that prevents derivation from | |
2328 Unchecked_Union types. | |
2329 (Process_Subtype): Remove quard that prevents the creation of Unchecked_ | |
2330 Union subtypes. | |
2331 | |
2332 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of | |
2333 references to Unchecked_Union discriminants. | |
2334 | |
2335 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra | |
2336 formal generation when dealing with Unchecked_Unions. | |
2337 (Set_Actual_Subtypes): Add condition to prevent generation of actual | |
2338 subtypes for Unchecked_Unions. | |
2339 | |
2340 * sem_ch7.adb (Analyze_Package_Specification): Add procedure | |
2341 Inspect_Unchecked_Union_Completion. It is used to detect incorrect | |
2342 completions of discriminated partial views by Unchecked_Unions and | |
2343 produce an error message. | |
2344 | |
2345 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2346 | |
2347 * trans.c (struct stmt_group): New field, GLOBAL. | |
2348 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. | |
2349 (struct elab_info): New struct. | |
2350 (elab_info_list, gnu_elab_proc_stack): New variables. | |
2351 (Compilation_Unit_to_gnu): New procedure. | |
2352 (gigi): Call it and also handle elaboration procs we've saved. | |
2353 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize | |
2354 global field from parent. | |
2355 (gnat_to_gnu): Get decl from gnu_elab_proc_stack. | |
2356 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. | |
2357 (start_stmt_group): Initialize global field from parent. | |
2358 (add_decl_expr): Set to global for current statement group. | |
2359 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not | |
2360 post. | |
2361 | |
2362 * utils.c (global_bindings_p): True when no current_function_decl; no | |
2363 longer check current_binding_level. | |
2364 | |
2365 2004-08-09 Ben Brosgol <brosgol@gnat.com> | |
2366 | |
2367 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition | |
2368 choice. | |
2369 | |
2370 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. | |
2371 | |
2372 2004-08-06 Andreas Schwab <schwab@suse.de> | |
2373 | |
2374 * utils.c (gnat_define_builtin): Remove second parameter of | |
2375 make_decl_rtl. | |
2376 (begin_subprog_body): Likewise. | |
2377 | |
2378 2004-07-26 Arnaud Charlet <charlet@act-europe.fr> | |
2379 | |
2380 * sem_util.adb (Requires_Transient_Scope): Temporarily disable | |
2381 optimization, not supported by the tree-ssa back-end. | |
2382 | |
2383 2004-07-26 Olivier Hainque <hainque@act-europe.fr> | |
2384 | |
2385 * s-mastop-irix.adb: Update comments. | |
2386 | |
2387 * a-except.adb (Exception_Information): Raise Constraint_Error if | |
2388 exception Id is Null_Id. | |
2389 This is required behavior, which is more reliably and clearly checked | |
2390 at the top level interface level. | |
2391 | |
2392 2004-07-26 Javier Miranda <miranda@gnat.com> | |
2393 | |
2394 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization | |
2395 call if a component has no default_expression and the box is used. | |
2396 | |
2397 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no | |
2398 default_expression and you use box, it behaves as if you had declared a | |
2399 stand-alone object. | |
2400 (Resolve_Record_Aggregate): If a component has no default_expression and | |
2401 you use box, it behaves as if you had declared a stand-alone object. | |
2402 | |
2403 * sem_ch10.adb (Install_Siblings): Do not make visible the private | |
2404 entities of private-with siblings. | |
2405 | |
2406 2004-07-26 Ed Schonberg <schonberg@gnat.com> | |
2407 | |
2408 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view | |
2409 for a component of an itype, set the parent pointer for analysis, | |
2410 there is no list in which to insert it. | |
2411 | |
2412 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for | |
2413 bona-fide renamings, not for inherited operations. | |
2414 | |
2415 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an | |
2416 actual for a formal that is an access parameter, create local | |
2417 finalization list even if the expression is not an aggregate. | |
2418 | |
2419 2004-07-26 Ed Schonberg <schonberg@gnat.com> | |
2420 | |
2421 PR ada/16213 | |
2422 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming): | |
2423 Diagnose properly illegal subprogram renamings that are library units. | |
2424 | |
2425 2004-07-26 Ed Schonberg <schonberg@gnat.com> | |
2426 | |
2427 PR ada/15588 | |
2428 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type | |
2429 conversion rewritten as an unchecked conversion, check that original | |
2430 expression is a variable. | |
2431 | |
2432 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an | |
2433 unchecked_conversion, create new node rather than rewriting in place, | |
2434 to preserve original construct. | |
2435 | |
2436 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2437 | |
2438 * gigi.h (gnat_expand_body): Deleted. | |
2439 | |
2440 * Make-lang.in: (trans.o): Depends on function.h. | |
2441 | |
2442 * misc.c: (gnat_expand_body): Moved to here. | |
2443 | |
2444 * trans.c (gnat_expand_body_1): Deleted. | |
2445 (gnat_expand_body): Moved from here. | |
2446 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc. | |
2447 (add_stmt): Check for marked visited with global_bindings_p. | |
2448 (gnat_gimplify_expr, case COMPONENT_REF): New case. | |
2449 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp. | |
2450 | |
2451 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a | |
2452 VIEW_CONVERT_EXPR if not operation type. | |
2453 | |
2454 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for | |
2455 fat pointer. | |
2456 | |
2457 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor | |
2458 changes: reformatting of negation operators, removing unneeded | |
2459 inequality comparison with zero, converting equality comparisons with | |
2460 zero to negations, changing int/0/1 to bool/false/true, replace calls | |
2461 to gigi_abort with abort, and various other similar changes. | |
2462 | |
2463 2004-07-26 Vincent Celier <celier@gnat.com> | |
2464 | |
2465 * gnatcmd.adb (GNATCmd): Add processing for new built-in command | |
2466 "setup". | |
2467 | |
2468 * make.adb (Gnatmake): Fail when a library is not present and there is | |
2469 no object directory. | |
2470 | |
2471 * mlib-prj.adb (Check_Library): No need to check if the library needs | |
2472 to be rebuilt if there is no object directory, hence no object files | |
2473 to build the library. | |
2474 | |
2475 * opt.ads (Setup_Projects): New Boolean flag. | |
2476 | |
2477 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and | |
2478 Location. | |
2479 Create directory when Kind /= "" and in "gnat setup". Report error if | |
2480 directory cannot be created. | |
2481 (Ada_Check): Create library interface copy dir if it does not exist | |
2482 and we are in "gnat setup". | |
2483 (Find_Sources): No error if in "gnat setup" and no Ada sources were | |
2484 found. | |
2485 (Language_Independent_Check): Create object directory, exec directory | |
2486 and/or library directory if they do not exist and we are in | |
2487 "gnat setup". | |
2488 | |
2489 * vms_conv.ads: (Command_Type): New command Setup. | |
2490 | |
2491 * vms_conv.adb (Initialize): Add Setup component of Cammand_List. | |
2492 | |
2493 * vms_data.ads: Add qualifiers/switches for new built-in command | |
2494 "setup". | |
2495 | |
2496 2004-07-25 Richard Henderson <rth@redhat.com> | |
2497 | |
2498 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and | |
2499 DECL_IGNORED_P on RESULT_DECL. | |
2500 | |
2501 2004-07-20 Olivier Hainque <hainque@act-europe.fr> | |
2502 | |
2503 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic | |
2504 allocation and potentially overflowing update with | |
2505 Tailored_Exception_Information. Use the sec-stack free procedural | |
2506 interface to output Exception_Information instead. | |
2507 | |
2508 * a-except.adb (To_Stderr): New subprogram for character, and string | |
2509 version moved from a-exextr to be visible from other separate units. | |
2510 (Tailored_Exception_Information): Remove the procedural version, | |
2511 previously used by the default Last_Chance_Handler and not any more. | |
2512 Adjust various comments. | |
2513 | |
2514 * a-exexda.adb: Generalize the exception information procedural | |
2515 interface, to minimize the use of secondary stack and the need for | |
2516 local buffers when the info is to be output to stderr: | |
2517 (Address_Image): Removed. | |
2518 (Append_Info_Character): New subprogram, checking for overflows and | |
2519 outputing to stderr if buffer to fill is of length 0. | |
2520 (Append_Info_String): Output to stderr if buffer to fill is of length 0. | |
2521 (Append_Info_Address, Append_Info_Exception_Name, | |
2522 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information, | |
2523 Append_Info_Basic_Exception_Traceback, | |
2524 Append_Info_Exception_Information): New subprograms. | |
2525 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character. | |
2526 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength, | |
2527 Exception_Info_Maxlength, Exception_Name_Length, | |
2528 Exception_Message_Length): New subprograms. | |
2529 (Exception_Information): Use Append_Info_Exception_Information. | |
2530 (Tailored_Exception_Information): Use | |
2531 Append_Info_Basic_Exception_Information. | |
2532 Export services for the default Last_Chance_Handler. | |
2533 | |
2534 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by | |
2535 other separate units. | |
2536 | |
2537 2004-07-20 Vincent Celier <celier@gnat.com> | |
2538 | |
2539 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting. | |
2540 | |
2541 2004-07-20 Ed Schonberg <schonberg@gnat.com> | |
2542 | |
2543 * freeze.adb (Freeze_Entity): If entity is a discriminated record type, | |
2544 emit itype references for the designated types of component types that | |
2545 are declared outside of the full record declaration, and that may | |
2546 denote a partial view of that record type. | |
2547 | |
2548 2004-07-20 Ed Schonberg <schonberg@gnat.com> | |
2549 | |
2550 PR ada/15607 | |
2551 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype | |
2552 which is the designated type in an access component declaration, to the | |
2553 list of incomplete dependents of the parent type, to avoid elaboration | |
2554 issues with out-of-scope subtypes. | |
2555 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the | |
2556 full view of the parent. | |
2557 | |
2558 2004-07-20 Ed Schonberg <schonberg@gnat.com> | |
2559 | |
2560 PR ada/15610 | |
2561 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject | |
2562 entities that are hidden, such as references to generic actuals | |
2563 outside an instance. | |
2564 | |
2565 2004-07-20 Javier Miranda <miranda@gnat.com> | |
2566 | |
2567 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives | |
2568 support to the new notation. | |
2569 (Analyze_Selected_Component): Add call to Try_Object_Operation. | |
2570 | |
2571 2004-07-20 Jose Ruiz <ruiz@act-europe.fr> | |
2572 | |
2573 * s-taprob.adb: Adding the elaboration code required for initializing | |
2574 the tasking soft links that are common to the full and the restricted | |
2575 run times. | |
2576 | |
2577 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the | |
2578 restricted run time has been moved to the package | |
2579 System.Soft_Links.Tasking. | |
2580 | |
2581 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the | |
2582 restricted run time has been moved to the package | |
2583 System.Soft_Links.Tasking. | |
2584 | |
2585 * Makefile.rtl: Add entry for s-solita.o in run-time library list. | |
2586 | |
2587 * s-solita.ads, s-solita.adb: New files. | |
2588 | |
2589 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2590 | |
2591 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu, | |
2592 Case_Statement_to_gnu): Split off from gnat_to_gnu. | |
2593 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu, | |
2594 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj, | |
2595 Exception_Handler_to_gnu_zcx): Likewise. | |
2596 | |
2597 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> | |
2598 | |
2599 * gigi.h (builtin_function): Declare. | |
2600 | |
2601 2004-07-15 Robert Dewar <dewar@gnat.com> | |
2602 | |
2603 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor | |
2604 reformatting | |
2605 | |
2606 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with | |
2607 access values as an example of a warning. | |
2608 | |
2609 * gnat_rm.texi: Document new attribute Has_Access_Values | |
2610 | |
2611 * gnat-style.texi: Document that box comments belong on nested | |
2612 subprograms | |
2613 | |
2614 * sem_util.ads (Has_Access_Values): Improved documentation | |
2615 | |
2616 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment | |
2617 | |
2618 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure | |
2619 (Process_Interface_Name): Call to this new procedure | |
2620 (Set_Extended_Import_Export_External_Name): Call to this new procedure | |
2621 | |
2622 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment | |
2623 | |
2624 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values | |
2625 | |
2626 * einfo.ads: Minor comment typo fixed | |
2627 | |
2628 2004-07-15 Jose Ruiz <ruiz@act-europe.fr> | |
2629 | |
2630 * snames.adb: Add _atcb. | |
2631 | |
2632 * snames.ads: Add Name_uATCB. | |
2633 | |
2634 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated | |
2635 (in the expanded code) when using the restricted run time. | |
2636 | |
2637 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into | |
2638 a in parameter in order to allow ATCBs to be preallocated (in the | |
2639 expanded code). | |
2640 | |
2641 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in | |
2642 order to allow ATCBs to be preallocated. In case of error, the ATCB is | |
2643 deallocated in System.Tasking.Stages. | |
2644 | |
2645 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in | |
2646 order to allow ATCBs to be preallocated. | |
2647 | |
2648 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated | |
2649 here. It was previously done in Initialize_ATCB. | |
2650 | |
2651 * rtsfind.ads: Make the Ada_Task_Control_Block visible. | |
2652 | |
2653 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the | |
2654 Restricted run time. | |
2655 | |
2656 * exp_ch3.adb: When using the Restricted run time, pass the | |
2657 preallocated Ada_Task_Control_Block when creating a task. | |
2658 | |
2659 2004-07-15 Ed Schonberg <schonberg@gnat.com> | |
2660 | |
2661 * sem_util.adb (Normalize_Actuals): If there are no actuals on a | |
2662 function call that is itself an actual in an enclosing call, diagnose | |
2663 problem here rather than assuming that resolution will catch it. | |
2664 | |
2665 * sem_ch7.adb (Analyze_Package_Specification): If the specification is | |
2666 the local copy of a generic unit for a formal package, and the generic | |
2667 is a child unit, install private part of ancestors before compiling | |
2668 private part of spec. | |
2669 | |
2670 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to | |
2671 use scope entities rather than tree structures, to handle properly | |
2672 parent units that are instances rewritten as bodies for inlining | |
2673 purposes. | |
2674 | |
2675 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent, | |
2676 Remove_Parents): Handle properly a parent unit that is an | |
2677 instantiation, when the unit has been rewritten as a body for inlining | |
2678 purposes. | |
2679 | |
2680 * par.adb (Goto_List): Global variable to collect goto statements in a | |
2681 given unit, for use in detecting natural loops. | |
2682 | |
2683 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for | |
2684 use in detecting natural loops. | |
2685 | |
2686 * par-labl.adb (Find_Natural_Loops): Recognize loops create by | |
2687 backwards goto's, and rewrite as a infinite loop, to improve locality | |
2688 of temporaries. | |
2689 | |
2690 * exp_util.adb (Force_Evaluation): Recognize a left-hand side | |
2691 subcomponent that includes an indexed reference, to prevent the | |
2692 generation of copies that would miscompile the desired assignment | |
2693 statement. | |
2694 (Build_Task_Image_Decls): Add a numeric suffix to | |
2695 generated name for string variable, to avoid spurious conflicts with | |
2696 the name of the type of a single protected object. | |
2697 | |
2698 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a | |
2699 loop with an explicit exit statement, to avoid generating an | |
2700 out-of-range value with 'Succ leading to spurious constraint_errors | |
2701 when compiling with -gnatVo. | |
2702 | |
2703 2004-07-15 Thomas Quinot <quinot@act-europe.fr> | |
2704 | |
2705 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it | |
2706 might not be analyzed yet, even if its Etype is already set (case of an | |
2707 unchecked conversion built using Unchecked_Convert_To, for example). | |
2708 If the prefix has already been analyzed, this will be a nop anyway. | |
2709 | |
2710 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a | |
2711 controller type, or an assignment of a record type with controlled | |
2712 components, copy only user data, and leave the finalization chain | |
2713 pointers untouched. | |
2714 | |
2715 2004-07-15 Vincent Celier <celier@gnat.com> | |
2716 | |
2717 * make.adb (Collect_Arguments): Improve error message when attempting | |
2718 to compile a source not part of any project, when -x is not used. | |
2719 | |
2720 * prj.ads: (Defined_Variable_Kind): New subtype | |
2721 | |
2722 * prj-attr.adb (Register_New_Package): Two new procedures to register | |
2723 a package with or without its attributes. | |
2724 (Register_New_Attribute): Mew procedure to register a new attribute in a | |
2725 package. | |
2726 New attribute oriented subprograms: Attribute_Node_Id_Of, | |
2727 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, | |
2728 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, | |
2729 Next_Attribute. | |
2730 New package oriented subprograms: Package_Node_Id_Of, | |
2731 Add_Unknown_Package, First_Attribute_Of, Add_Attribute. | |
2732 | |
2733 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized | |
2734 type. | |
2735 (Package_Node_Id): Now a private, self initialized type | |
2736 (Register_New_Package): New procedure to register a package with its | |
2737 attributes. | |
2738 New attribute oriented subprograms: Attribute_Node_Id_Of, | |
2739 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, | |
2740 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, | |
2741 Next_Attribute. | |
2742 New package oriented subprograms: Package_Node_Id_Of, | |
2743 Add_Unknown_Package, First_Attribute_Of, Add_Attribute. | |
2744 | |
2745 * prj-dect.adb (Parse_Attribute_Declaration, | |
2746 Parse_Package_Declaration): Adapt to new spec of Prj.Attr. | |
2747 | |
2748 * prj-makr.adb (Make): Parse existing project file before creating | |
2749 other files. Fail if there was an error during parsing. | |
2750 | |
2751 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to | |
2752 new spec of Prj.Attr. | |
2753 | |
2754 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt | |
2755 to new spec of Prj.Attr. | |
2756 | |
2757 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2758 | |
2759 * utils2.c: Fix typo in comment. | |
2760 | |
2761 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2762 | |
2763 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL. | |
2764 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs. | |
2765 | |
2766 2004-07-14 Andreas Schwab <schwab@suse.de> | |
2767 | |
2768 * trans.c (gnat_init_stmt_group): Remove duplicate definition. | |
2769 | |
2770 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2771 | |
2772 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to | |
2773 object type. | |
2774 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set | |
2775 TYPE_STUB_DECL. | |
2776 | |
2777 * misc.c (gnat_types_compatible_p): New function. | |
2778 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it. | |
2779 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New. | |
2780 | |
2781 * trans.c (gigi): Move processing of main N_Compilation_Unit here. | |
2782 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here. | |
2783 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR. | |
2784 (mark_visited): Don't mark dummy type. | |
2785 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In | |
2786 parameter, we must remove any LJM building from GNU_NAME. | |
2787 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR. | |
2788 (pos_to_constructor): Use int_const_binop. | |
2789 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of | |
2790 PARM_DECL. | |
2791 | |
2792 * utils.c (gnat_init_decl_processing): Don't make two "void" decls. | |
2793 (gnat_pushlevel): Set TREE_USE on BLOCK node. | |
2794 (gnat_install_builtins): Add __builtin_memset. | |
2795 | |
2796 2004-07-13 Olivier Hainque <hainque@act-europe.fr> | |
2797 | |
2798 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer | |
2799 for a renaming, stabilize the initialization expression if we are at a | |
2800 local level. At the local level, uses of the renaming may be performed | |
2801 by a direct dereference of the initializing expression, and we don't | |
2802 want possible variables there to be evaluated for every use. | |
2803 | |
2804 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1): | |
2805 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing | |
2806 them on the way. Account for the fact that we may introduce side | |
2807 effects in the process. | |
2808 | |
2809 2004-07-13 Richard Henderson <rth@redhat.com> | |
2810 | |
2811 * misc.c (default_pass_by_ref): Use pass_by_reference. | |
2812 | |
2813 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
2814 | |
2815 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, | |
2816 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
2817 | |
2818 2004-07-08 Richard Henderson <rth@redhat.com> | |
2819 | |
2820 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update | |
2821 commentary. | |
2822 | |
2823 2004-07-06 Vincent Celier <celier@gnat.com> | |
2824 | |
2825 * vms_conv.ads: Minor reformatting. | |
2826 Alphabetical order for enumerated values of type Command_Type, to have | |
2827 the command in alphabetical order for the usage. | |
2828 | |
2829 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for | |
2830 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters). | |
2831 | |
2832 * gnat_ugn.texi: Document new switch -dn for the GNAT driver. | |
2833 | |
2834 * makegpr.adb (Global_Archive_Exists): New global Boolean variable | |
2835 (Add_Archive_Path): Only add the global archive if there is one. | |
2836 (Build_Global_Archive): Set Global_Archive_Exists depending if there is | |
2837 or not any object file to put in the global archive, and don't build | |
2838 a global archive if there is none. | |
2839 (X_Switches): New table | |
2840 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored | |
2841 in the X_Switches table, if any. | |
2842 (Initialize): Make sure the X_Switches table is empty | |
2843 (Scan_Arg): Record -X switches in table X_Switches | |
2844 | |
2845 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False. | |
2846 | |
2847 * make.adb: Minor comment fix | |
2848 | |
2849 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been | |
2850 invoked with directory information, add the directory in front of the | |
2851 path. | |
2852 | |
2853 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been | |
2854 invoked with directory information, add the directory in front of the | |
2855 path. | |
2856 | |
2857 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files | |
2858 when Keep_Temporary_Files is False. | |
2859 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with | |
2860 directory information, add the directory in front of the path. | |
2861 When not on VMS, handle new switch -dn before the command to set | |
2862 Keep_Temporary_Files to True. | |
2863 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid | |
2864 everywhere. | |
2865 | |
2866 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been | |
2867 invoked with directory information, add the directory in front of the | |
2868 path. | |
2869 | |
2870 2004-07-06 Thomas Quinot <quinot@act-europe.fr> | |
2871 | |
2872 * snames.ads, snames.adb (Name_Stub): New name for the distributed | |
2873 systems annex. | |
2874 | |
2875 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB. | |
2876 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA. | |
2877 | |
2878 * g-socket.adb (To_Timeval): Fix incorrect conversion of | |
2879 Selector_Duration to Timeval for the case of 0.0. | |
2880 | |
2881 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of | |
2882 documentation from Evolve_And_Then. | |
2883 | |
2884 2004-07-06 Jose Ruiz <ruiz@act-europe.fr> | |
2885 | |
2886 * s-taprop-tru64.adb, s-taprop-os2.adb, | |
2887 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment. | |
2888 | |
2889 2004-07-06 Robert Dewar <dewar@gnat.com> | |
2890 | |
2891 * s-osinte-hpux.ads, s-osinte-freebsd.ads, | |
2892 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads, | |
2893 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb, | |
2894 s-interr-sigaction.adb, s-taprop-irix-athread.adb, | |
2895 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb, | |
2896 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, | |
2897 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb, | |
2898 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb, | |
2899 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb, | |
2900 a-tags.ads, bindgen.ads, checks.adb, checks.adb, | |
2901 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb, | |
2902 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb, | |
2903 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb, | |
2904 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb, | |
2905 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb, | |
2906 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb, | |
2907 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads, | |
2908 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads, | |
2909 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb, | |
2910 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb, | |
2911 vms_data.ads: Minor reformatting, | |
2912 Fix bad box comment format. | |
2913 | |
2914 * gnat_rm.texi: Fix minor grammatical error | |
2915 | |
2916 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values | |
2917 | |
2918 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many | |
2919 more cases of discriminated records to be recognized as not needing a | |
2920 secondary stack. | |
2921 (Has_Access_Values): New function. | |
2922 | |
2923 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values | |
2924 | |
2925 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name | |
2926 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence | |
2927 with LRM terminology). | |
2928 Change terminology in comments primitive type => elementary type. | |
2929 | |
2930 2004-07-06 Ed Schonberg <schonberg@gnat.com> | |
2931 | |
2932 PR ada/15602 | |
2933 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal | |
2934 parameters do not impose any requirements on the presence of a body. | |
2935 | |
2936 2004-07-06 Ed Schonberg <schonberg@gnat.com> | |
2937 | |
2938 PR ada/15593 | |
2939 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a | |
2940 compilation unit and is in an open scope at the point of instantiation, | |
2941 assume that a body may be present later. | |
2942 | |
2943 2004-07-06 Ed Schonberg <schonberg@gnat.com> | |
2944 | |
2945 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size): | |
2946 Improve error message when specified size is not supported. | |
2947 | |
2948 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram | |
2949 is never a primitive operation. | |
2950 | |
2951 2004-07-05 Andreas Schwab <schwab@suse.de> | |
2952 | |
2953 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use | |
2954 RECORD_OR_UNION_CHECK. | |
2955 (TYPE_CONTAINS_TEMPLATE_P): Likewise. | |
2956 | |
2957 2004-07-04 Kelley Cook <kcook@gcc.gnu.org> | |
2958 | |
2959 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit | |
2960 dependency on xgnatugn, instead build it via a submake. | |
2961 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi. | |
2962 | |
2963 2004-07-04 Richard Henderson <rth@redhat.com> | |
2964 | |
2965 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack. | |
2966 | |
2967 2004-07-01 Richard Henderson <rth@redhat.com> | |
2968 | |
2969 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR. | |
2970 * utils.c (max_size): Likewise. | |
2971 | |
2972 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2973 | |
2974 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation, | |
2975 and rest_of_type_compilation; add arg to create_*_decl. | |
2976 (annotate_decl_with_node): Deleted. | |
2977 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields. | |
2978 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted. | |
2979 (get_current_block_context, gnat_pushdecl): New declarations. | |
2980 (gnat_init_stmt_group): Likewise. | |
2981 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg. | |
2982 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted. | |
2983 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted. | |
2984 (gnat_init): Call gnat_init_stmt_group. | |
2985 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables. | |
2986 (gnu_pending_elaboration_list): Deleted. | |
2987 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions. | |
2988 (gigi): Rearrange initialization calls and move some to last above. | |
2989 (gnat_to_gnu): If statement and not in procedure, go into elab proc. | |
2990 Delete calls to add_decl_expr; add arg to create_*_decl. | |
2991 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR. | |
2992 (gnat_to_gnu, case N_Subprogram_Body): Move some code to | |
2993 begin_subprog_body and call it. | |
2994 Don't push and pop ggc context. | |
2995 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc. | |
2996 (add_stmt): Remove handling of DECL_EXPR from here. | |
2997 If not in function, mark visited. | |
2998 (add_decl_expr): Put global at top level. | |
2999 Check for cases of DECL_INITIAL we have to handle here. | |
3000 (process_type): Add extra arg to create_type_decl. | |
3001 (build_unit_elab): Rework to just gimplify. | |
3002 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted. | |
3003 (block_has_vars, mark_visited, add_pending_elaborations): Likewise. | |
3004 (get_pending_elaborations, pending_elaborations_p): Likewise. | |
3005 (push_pending_elaborations, pop_pending_elaborations): Likewise. | |
3006 (get_elaboration_location, insert_elaboration_list): Likewise. | |
3007 (gnat_binding_level): Renamed from ada_binding_level. | |
3008 (init_gnat_to_gnu): Don't clear pending_elaborations. | |
3009 (global_bindings_p): Treat as global if no current_binding_level. | |
3010 (set_current_block_context): New function. | |
3011 (gnat_pushdecl): Renamed from pushdecl; major rework. | |
3012 All callers changed. | |
3013 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg. | |
3014 (finish_record_type): Call call pushdecl for stub decl. | |
3015 (function_nesting_depth): Deleted. | |
3016 (begin_subprog_body): Delete obsolete code. | |
3017 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl. | |
3018 | |
3019 2004-06-28 Robert Dewar <dewar@gnat.com> | |
3020 | |
3021 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, | |
3022 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, | |
3023 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb, | |
3024 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, | |
3025 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting | |
3026 | |
3027 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to | |
3028 deal with problem of inefficient slices on machines with strict | |
3029 alignment, when the slice is a component of a composite. | |
3030 | |
3031 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit | |
3032 machines, we need the check there as well. | |
3033 | |
3034 2004-06-28 Ed Schonberg <schonberg@gnat.com> | |
3035 | |
3036 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to | |
3037 determine safe copying direction for overlapping slice assignments | |
3038 when component is controlled. | |
3039 | |
3040 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a | |
3041 formal derived type in the actual for a formal package are visible in | |
3042 the enclosing instance. | |
3043 | |
3044 2004-06-28 Ed Schonberg <schonberg@gnat.com> | |
3045 | |
3046 PR ada/15600 | |
3047 * sem_util.adb (Trace_Components): Diagnose properly an illegal | |
3048 circularity involving a private type whose completion includes a | |
3049 self-referential component. | |
3050 (Enter_Name): Use Is_Inherited_Operation to distinguish a source | |
3051 renaming or an instantiation from an implicit derived operation. | |
3052 | |
3053 2004-06-28 Pascal Obry <obry@gnat.com> | |
3054 | |
3055 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from | |
3056 DLL. | |
3057 (Library_File_Name_For): Idem. | |
3058 | |
3059 2004-06-28 Matthew Gingell <gingell@gnat.com> | |
3060 | |
3061 * g-traceb.ads: Add explanatory note on the format of addresses | |
3062 expected by addr2line. | |
3063 | |
3064 2004-06-28 Jerome Guitton <guitton@act-europe.fr> | |
3065 | |
3066 * Makefile.in: Force debugging information on s-tasdeb.adb, | |
3067 a-except.adb and s-assert.adb needed by the debugger. | |
3068 | |
3069 2004-06-28 Vincent Celier <celier@gnat.com> | |
3070 | |
3071 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to | |
3072 Need_To_Build_Lib. | |
3073 (Gnatmake): Ditto. | |
3074 | |
3075 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib | |
3076 | |
3077 * prj.adb: Minor reformatting | |
3078 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2. | |
3079 | |
3080 * prj.ads: Comment updates | |
3081 Minor reformatting | |
3082 (Project_Data): Change Flag1 to Need_To_Build_Lib. | |
3083 Remove Flag2: not used. | |
3084 | |
3085 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a | |
3086 declaration. | |
3087 | |
3088 * gnat_ugn.texi: Put a "null;" declaration in one project file example | |
3089 | |
3090 * gnat_rm.texi: Document Empty declarations "null;". | |
3091 | |
3092 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in | |
3093 front of the linker options. | |
3094 (Link_Foreign): Put the global archives and the libraries in front of | |
3095 the linker options. | |
3096 | |
3097 2004-06-28 Javier Miranda <miranda@gnat.com> | |
3098 | |
3099 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment | |
3100 (RTU_Loaded): Code cleanup | |
3101 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly | |
3102 withed predefined units. | |
3103 | |
3104 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded* | |
3105 explicitly withed predefined units. | |
3106 Fix typo in comment | |
3107 | |
3108 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded* | |
3109 explicitly withed predefined units. | |
3110 | |
3111 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3112 | |
3113 * ada-tree.def (DECL_STMT): Deleted. | |
3114 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT. | |
3115 (DECL_STMT_VAR): Deleted. | |
3116 * decl.c: add_decl_stmt now add_decl_expr. | |
3117 * gigi.h: Likewise. | |
3118 * trans.c: Likewise. | |
3119 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. | |
3120 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus. | |
3121 (add_stmt): Only handle padded type here. | |
3122 (add_stmt_with_node): Allow gnat_node to not be present. | |
3123 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null. | |
3124 (gnat_gimplify_stmt, case DECL_STMT): Deleted. | |
3125 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer, | |
3126 make a SAVE_EXPR for the entire fat pointer. | |
3127 * utils.c (pushdecl): Walk a DECL_EXPR in global case. | |
3128 (create_index_type): Make a DECL_EXPR. | |
3129 (end_subprog_body): Don't call allocate_struct_function here but | |
3130 do clear cfun. | |
3131 | |
3132 2004-06-25 Pascal Obry <obry@gnat.com> | |
3133 | |
3134 * makegpr.adb (Build_Library): Remove parameter Lib_Address and | |
3135 Relocatable from Build_Dynamic_Library call. | |
3136 | |
3137 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and | |
3138 Relocatable are now synonym. | |
3139 | |
3140 * Makefile.in: Use s-parame-mingw.adb on MingW platform. | |
3141 | |
3142 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition. | |
3143 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library | |
3144 call. | |
3145 | |
3146 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter | |
3147 Lib_Address and Relocatable. | |
3148 (Default_DLL_Address): Removed. | |
3149 | |
3150 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, | |
3151 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, | |
3152 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb: | |
3153 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable. | |
3154 (Default_DLL_Address): Removed. | |
3155 | |
3156 * mlib-tgt-mingw.adb: Ditto. | |
3157 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name. | |
3158 | |
3159 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute | |
3160 the initial thread stack size. | |
3161 | |
3162 * a-strmap.ads: Move package L to private part as it is not used in | |
3163 the spec. Found while reading code. | |
3164 | |
3165 2004-06-25 Olivier Hainque <hainque@act-europe.fr> | |
3166 | |
3167 * tracebak.c: Introduce support for a GCC infrastructure based | |
3168 implementation of __gnat_backtrace. | |
3169 | |
3170 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record | |
3171 any more. Use accessors instead. This eases maintenance and relaxes | |
3172 some alignment constraints. | |
3173 (_GNAT_Exception structure): Remove the Ada specific fields | |
3174 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by | |
3175 a-exexpr.adb. | |
3176 (is_handled_by, __gnat_eh_personality): Replace component references to | |
3177 exception structure by use of the new accessors. | |
3178 | |
3179 * init.c (__gnat_initialize): Adjust comments to match the just | |
3180 reverted meaning of the -static link-time option. | |
3181 | |
3182 * adaint.c (convert_addresses): Arrange not to define a stub for | |
3183 mips-irix any more, as we now want to rely on a real version from a | |
3184 recent libaddr2line. | |
3185 | |
3186 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that | |
3187 the personality routine can use them and not have to rely on a C | |
3188 counterpart of the record anymore. This simplifies maintenance and | |
3189 relaxes the constraint of having Standard'Maximum_Alignment match | |
3190 BIGGEST_ALIGNMENT. | |
3191 Update comments, and add a section on the common header alignment issue. | |
3192 | |
3193 2004-06-25 Geert Bosch <bosch@gnat.com> | |
3194 | |
3195 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in | |
3196 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm. | |
3197 | |
3198 2004-06-25 Robert Dewar <dewar@gnat.com> | |
3199 | |
3200 * gnat_rm.texi: Fix section on component clauses to indicate that the | |
3201 restriction on byte boundary placement still applies for bit packed | |
3202 arrays. | |
3203 Add comment on stack usage from Initialize_Scalars | |
3204 | |
3205 * gnat_ugn.texi: Add documentation for -gnatyLnnn | |
3206 | |
3207 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for | |
3208 limiting nesting level. | |
3209 | |
3210 * usage.adb: Add line for -gnatyLnnn switch | |
3211 | |
3212 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads, | |
3213 sem_ch13.adb, exp_aggr.adb: Minor reformatting | |
3214 | |
3215 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base | |
3216 type as well as on the subtype. This corrects a problem in freeze in | |
3217 setting alignments of atomic types. | |
3218 | |
3219 * sem_eval.ads: Minor comment typo fixed | |
3220 | |
3221 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting | |
3222 level. Minor reformatting. | |
3223 | |
3224 * fname.adb (Is_Predefined_File_Name): Require a letter after the | |
3225 minus sign. This means that file names like a--b.adb will not be | |
3226 considered predefined. | |
3227 | |
3228 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing | |
3229 record Test new flag and give diagnostic for bad component clause. | |
3230 (Freeze_Entity): Set alignment of array from component alignment in | |
3231 cases where this is safe to do. | |
3232 | |
3233 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed | |
3234 arrays. | |
3235 | |
3236 * cstand.adb: (Create_Standard): Set alignment of String to 1 | |
3237 | |
3238 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary | |
3239 | |
3240 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated | |
3241 code in the common constrained array cases. | |
3242 | |
3243 * a-storio.adb: Change implementation to avoid possible alignment | |
3244 problems on machines requiring strict alignment (data should be moved | |
3245 as type Buffer, not type Elmt). | |
3246 | |
3247 * checks.adb (Apply_Array_Size_Check): Improve these checks by | |
3248 killing the overflow checks which we really do not need (64-bits is | |
3249 enough). | |
3250 | |
3251 2004-06-25 Vincent Celier <celier@gnat.com> | |
3252 | |
3253 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function | |
3254 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path | |
3255 inconditionally for the main project. | |
3256 (Recursive_Add_Archives.Add_Archive_Path): New procedure | |
3257 (Link_Executables.Check_Time_Stamps): New procedure | |
3258 (Link_Executables.Link_Foreign): New procedure | |
3259 Changes made to reduce nesting level of this package | |
3260 (Check): New procedure | |
3261 (Add_Switches): When not in quiet output, check that a switch is not | |
3262 the concatenation of several valid switches. If it is, issue a warning. | |
3263 (Build_Global_Archive): If the global archive is rebuilt, linking need | |
3264 to be done. | |
3265 (Compile_Sources): Rebuilding a library archive does not imply | |
3266 rebuilding the global archive. | |
3267 (Build_Global_Archive): New procedure | |
3268 (Build_Library): New name for Build_Archive, now only for library | |
3269 project | |
3270 (Check_Archive_Builder): New procedure | |
3271 (Create_Global_Archive_Dependency_File): New procedure | |
3272 (Gprmake): Call Build_Global_Archive before linking | |
3273 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present | |
3274 throughout. | |
3275 (Scan_Arg): Display the Copyright notice when -v is used | |
3276 | |
3277 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=) | |
3278 for gnatls. | |
3279 | |
3280 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT | |
3281 COMPILE. | |
3282 Add new GNAT LIST qualifier /FILES= | |
3283 Added qualifier /DIRECTORY= to GNAT METRIC | |
3284 Added qualifier /FILES= to GNAT METRIC | |
3285 Added qualifier /FILES to GNAT PRETTY | |
3286 | |
3287 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS, | |
3288 to take into account both versions of the switch. | |
3289 | |
3290 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should | |
3291 always be the last switch to the gcc driver. Disable switch storing so | |
3292 that switches automatically added by the gcc driver are not put in the | |
3293 ALI file. | |
3294 | |
3295 * prj.adb (Project_Empty): Take into account changes in components of | |
3296 Project_Data. | |
3297 | |
3298 * prj.ads (Languages_Processed): New enumaration value All_Languages. | |
3299 | |
3300 * prj.ads (Project_Data): Remove component Lib_Elaboration: never | |
3301 used. Split Boolean component Ada_Sources_Present in two Boolean | |
3302 components Ada_Sources_Present and Other_Sources_Present. | |
3303 Minor reformatting | |
3304 | |
3305 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present | |
3306 instead of Sources_Present. | |
3307 (Set_Ada_Paths.Add.Recursive_Add): Ditto | |
3308 | |
3309 * prj-nmsc.adb: Minor reformatting | |
3310 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme | |
3311 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure | |
3312 Check_Ada_Naming_Scheme. | |
3313 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present | |
3314 throughout. | |
3315 | |
3316 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter | |
3317 In_Limited. | |
3318 Make sure that all cycles where there is at least one "limited with" | |
3319 are detected. | |
3320 (Parse_Single_Project): New Boolean parameter In_Limited | |
3321 | |
3322 * prj-proc.adb (Recursive_Check): When Process_Languages is | |
3323 All_Languages, call first Prj.Nmsc.Ada_Check, then | |
3324 Prj.Nmsc.Other_Languages_Check. | |
3325 | |
3326 * prj-proc.adb (Process): Use Ada_Sources_Present or | |
3327 Other_Sources_Present (instead of Sources_Present) depending on | |
3328 Process_Languages. | |
3329 | |
3330 * lang-specs.h: Keep -g and -m switches in the same order, and as the | |
3331 last switches. | |
3332 | |
3333 * lib.adb (Switch_Storing_Enabled): New global Boolean flag | |
3334 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to | |
3335 False. | |
3336 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is | |
3337 False. | |
3338 | |
3339 * lib.ads (Disable_Switch_Storing): New procedure. | |
3340 | |
3341 * make.adb: Modifications to reduce nesting level of this package. | |
3342 (Check_Standard_Library): New procedure | |
3343 (Gnatmake.Check_Mains): New procedure | |
3344 (Gnatmake.Create_Binder_Mapping_File): New procedure | |
3345 (Compile_Sources.Compile): Add switch -gnatez as the last option | |
3346 (Display): Never display -gnatez | |
3347 | |
3348 * Makefile.generic: | |
3349 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT) | |
3350 | |
3351 * gnatcmd.adb (Check_Project): New function | |
3352 (Process_Link): New procedure to reduce nesting depth | |
3353 (Check_Files): New procedure to reduce the nesting depth. | |
3354 For GNAT METRIC, include the inherited sources in extending projects. | |
3355 (GNATCmd): When GNAT LS is invoked with a project file and no files, | |
3356 add the list of files from the sources of the project file. If this list | |
3357 is too long, put it in a temp text files and use switch -files= | |
3358 (Delete_Temp_Config_Files): Delete the temp text file that contains | |
3359 a list of source for gnatpp or gnatmetric, if one has been created. | |
3360 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources | |
3361 in the project file is too large, create a temporary text file that | |
3362 list them and pass it to the tool with "-files=<temp text file>". | |
3363 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch | |
3364 | |
3365 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the | |
3366 generated file is in not in Ada. | |
3367 | |
3368 * gnatls.adb: Remove all parameters And_Save that are no longer used. | |
3369 (Scan_Ls_Arg): Add processing for -files= | |
3370 (Usage): Add line for -files= | |
3371 | |
3372 * g-os_lib.adb (On_Windows): New global constant Boolean flag | |
3373 (Normalize_Pathname): When on Windows and the path starts with a | |
3374 directory separator, make sure that the resulting path will start with | |
3375 a drive letter. | |
3376 | |
3377 * clean.adb (Clean_Archive): New procedure | |
3378 (Clean_Project): When there is non-Ada code, delete the global archive, | |
3379 the archive dependency files, the object files and their dependency | |
3380 files, if they exist. | |
3381 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only. | |
3382 | |
3383 2004-06-25 Thomas Quinot <quinot@act-europe.fr> | |
3384 | |
3385 * sinfo.ads: Fix typo in comment. | |
3386 | |
3387 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses | |
3388 the TSS for remote access-to-subprogram types, since these TSS are | |
3389 always present once the type has been analyzed. | |
3390 (RAS_E_Dereference): Same. | |
3391 | |
3392 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute | |
3393 reference raises Bad_Attribute, mark the reference as analyzed so the | |
3394 node (and any children resulting from rewrites that could have occurred | |
3395 during the analysis that ultimately failed) is not analyzed again. | |
3396 | |
3397 * exp_ch7.ads (Find_Final_List): Fix misaligned comment. | |
3398 | |
3399 * exp_dist.adb: Minor comment fix. | |
3400 | |
3401 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected | |
3402 type is an anonymous access type, no unchecked deallocation of the | |
3403 allocated object can occur. If the object is controlled, attach it with | |
3404 a count of 1. This allows attachment to the Global_Final_List, if | |
3405 no other relevant list is available. | |
3406 (Get_Allocator_Final_List): For an anonymous access type that is | |
3407 the type of a discriminant or record component, the corresponding | |
3408 finalisation list is the one of the scope of the type. | |
3409 | |
3410 2004-06-25 Ed Schonberg <schonberg@gnat.com> | |
3411 | |
3412 * sem_ch3.adb (Replace_Type): When computing the signature of an | |
3413 inherited subprogram, use the first subtype if the derived type | |
3414 declaration has no constraint. | |
3415 | |
3416 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array | |
3417 before applying previous optimization. Minor code cleanup. | |
3418 | |
3419 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is | |
3420 placed at the beginning of an unpacked record without explicit | |
3421 alignment, a slice of it will be aligned and does not need a copy when | |
3422 used as an actual. | |
3423 | |
3424 2004-06-25 Ed Schonberg <schonberg@gnat.com> | |
3425 | |
3426 PR ada/15591 | |
3427 PR ada/15592 | |
3428 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute | |
3429 reference is written with expressions mimicking parameters. | |
3430 | |
3431 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com> | |
3432 | |
3433 PR ada/15589 | |
3434 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to | |
3435 STEP 2a. The constraints of a full type declaration of a derived record | |
3436 type are checked for conformance with those declared in the | |
3437 corresponding private extension declaration. The message | |
3438 "not conformant with previous declaration" is emitted if an error is | |
3439 detected. | |
3440 | |
3441 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr> | |
3442 | |
3443 * g-traceb.ads: Document the need for -E binder switch in the spec. | |
3444 | |
3445 * g-trasym.ads: Document the need for -E binder switch in the spec. | |
3446 | |
3447 2004-06-25 Jose Ruiz <ruiz@act-europe.fr> | |
3448 | |
3449 * sem_prag.adb: Add handling of pragma Detect_Blocking. | |
3450 | |
3451 * snames.h, snames.ads, snames.adb: Add entry for pragma | |
3452 Detect_Blocking. | |
3453 | |
3454 * s-rident.ads: Change reference to pragma Detect_Blocking. | |
3455 | |
3456 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in | |
3457 system.ads. | |
3458 | |
3459 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False) | |
3460 to indicate whether pragma Detect_Blocking is active. | |
3461 | |
3462 * par-prag.adb: Add entry for pragma Detect_Blocking. | |
3463 | |
3464 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug | |
3465 of not handling WITH. | |
3466 Note that this replaces the previous update which was incorrect. | |
3467 | |
3468 2004-06-25 Javier Miranda <miranda@gnat.com> | |
3469 | |
3470 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the | |
3471 use-clauses to have a clean environment. | |
3472 | |
3473 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force | |
3474 the installation of the use-clauses to stablish a clean environment in | |
3475 case of compilation of a separate unit; otherwise the call to | |
3476 use_one_package is protected by the barrier Applicable_Use. | |
3477 | |
3478 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force | |
3479 the installation of the use-clauses to stablish a clean environment in | |
3480 case of compilation of a separate unit. | |
3481 (End_Use_Clauses): Minor comment cleanup. | |
3482 | |
3483 2004-06-25 Sergey Rybin <rybin@act-europe.fr> | |
3484 | |
3485 * gnat_ugn.texi: Add description of the gnatpp 'files' switch | |
3486 | |
3487 2004-06-23 Richard Henderson <rth@redhat.com> | |
3488 | |
3489 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call. | |
3490 | |
3491 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3492 | |
3493 * decl.c (elaborate_expression, elaborate_expression_1): Arguments | |
3494 now bool instead of int. | |
3495 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF. | |
3496 * trans.c (gnu_switch_label_stack): New function. | |
3497 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the | |
3498 elaboration of renamed entity returns. | |
3499 (gnat_to_gnu, case N_Case_Statement): Add branches to end label. | |
3500 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE. | |
3501 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt. | |
3502 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and | |
3503 DECL_SIZE_UNIT and simplify variable-sized case. | |
3504 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. | |
3505 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos. | |
3506 (gnat_stabilize_reference): Add arg to COMPONENT_REF. | |
3507 (build_unit_elab): Disable for now. | |
3508 * utils.c (mark_visited): New function. | |
3509 (pushdecl): Walk tree to call it for global decl. | |
3510 (update_pointer_to): Update all variants of pointer and ref types. | |
3511 Add arg to COMPONENT_REF. | |
3512 (convert): Likewise. | |
3513 Move check for converting between variants lower down. | |
3514 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF. | |
3515 (build_allocator): Don't force type of MODIFY_EXPR. | |
3516 (gnat_mark_addressable, case VAR_DECL): Unconditionally call | |
3517 put_var_into_stack. | |
3518 | |
3519 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3520 | |
3521 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation. | |
3522 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP. | |
3523 * decl.c (gnat_to_gnu_entity): Also set force_global for imported | |
3524 subprograms. | |
3525 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack; | |
3526 all callers changed. | |
3527 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change | |
3528 the way that EXIT_STMT finds the loop label. | |
3529 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise. | |
3530 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here. | |
3531 (add_stmt): Use annotate_with_locus insted of setting directly. | |
3532 (pos_to_construct): Set TREE_PURPOSE of each entry to index. | |
3533 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF. | |
3534 * utils.c (gnat_install_builtins): Install __builtin_memcmp. | |
3535 (build_vms_descriptor): Add extra args to ARRAY_REF. | |
3536 (convert): Use VIEW_CONVERT_EXPR between aggregate types. | |
3537 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST): | |
3538 New cases. | |
3539 (build_binary_op): Don't make explicit CONVERT_EXPR. | |
3540 Add extra rgs to ARRAY_REF. | |
3541 | |
3542 2004-06-14 Pascal Obry <obry@gnat.com> | |
3543 | |
3544 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on | |
3545 Windows. Fix minor typo. | |
3546 | |
3547 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option | |
3548 which is now supported on Windows. With this implementation using the | |
3549 Library Project feature is no different on Windows than on UNIX. | |
3550 | |
3551 2004-06-14 Vincent Celier <celier@gnat.com> | |
3552 | |
3553 * makegpr.adb (Compile_Sources): Nothing to do when there are no | |
3554 non-Ada sources. | |
3555 | |
3556 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment | |
3557 | |
3558 * prj-part.adb (Parse_Single_Project): When a duplicate project name is | |
3559 found, show the project name and the path of the previously parsed | |
3560 project file. | |
3561 | |
3562 2004-06-14 Ed Schonberg <schonberg@gnat.com> | |
3563 | |
3564 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an | |
3565 array, avoid copying the actual before the call. | |
3566 | |
3567 2004-06-14 Thomas Quinot <quinot@act-europe.fr> | |
3568 | |
3569 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools. | |
3570 Instead, allocate memory on worst-case alignment assumptions, and then | |
3571 return an aligned address within the allocated zone. | |
3572 | |
3573 2004-06-14 Robert Dewar <dewar@gnat.com> | |
3574 | |
3575 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to | |
3576 elab entities in predefined units in No_Run_Time_Mode. | |
3577 (Gen_Adainit_C): Same fix | |
3578 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined | |
3579 units in No_Run_Time_Mode | |
3580 (Gen_Elab_Calls_C): Same fix | |
3581 | |
3582 * symbols-vms-alpha.adb: Minor reformatting | |
3583 | |
3584 * g-debpoo.ads: Minor reformatting | |
3585 | |
3586 * lib.adb (In_Same_Extended_Unit): Version working on node id's | |
3587 | |
3588 * lib.ads (In_Same_Extended_Unit): Version working on node id's | |
3589 | |
3590 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit | |
3591 working on nodes. | |
3592 | |
3593 * make.adb: Minor reformatting | |
3594 | |
3595 * par-ch12.adb: Minor reformatting | |
3596 | |
3597 * par-prag.adb: Add dummy entry for pragma Profile_Warnings | |
3598 | |
3599 * prj-strt.adb: Minor reformatting | |
3600 | |
3601 * restrict.ads, restrict.adb: Redo handling of profile restrictions to | |
3602 be more general. | |
3603 | |
3604 * sem_attr.adb: Minor reformatting | |
3605 | |
3606 * sem_ch7.adb: Minor reformatting | |
3607 | |
3608 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc | |
3609 for type in the same unit as the object declaration. | |
3610 | |
3611 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows | |
3612 static string expressions and not just string literals. | |
3613 Minor reformatting | |
3614 (Set_Warning): Reset restriction warning flag for restriction pragma | |
3615 Implement pragma Profile_Warnings | |
3616 Implement pragma Profile (Restricted) | |
3617 Give obolescent messages for old restrictions and pragmas | |
3618 | |
3619 * snames.h, snames.ads, snames.adb: Add new entry for pragma | |
3620 Profile_Warnings. | |
3621 | |
3622 * s-rident.ads: Add declarations for restrictions required by profile | |
3623 Restricted and profile Ravenscar. | |
3624 | |
3625 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads | |
3626 | |
3627 * gnat_ugn.texi: Correct some missing entries in the list of GNAT | |
3628 configuration pragmas. | |
3629 | |
3630 2004-06-11 Vincent Celier <celier@gnat.com> | |
3631 | |
3632 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to | |
3633 gnatsym, when symbol policy is Restricted. | |
3634 | |
3635 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to | |
3636 gnatsym, when symbol policy is Restricted. | |
3637 | |
3638 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted, | |
3639 read the symbol file. | |
3640 (Finalize): Fail in symbol policy Restricted if a symbol in the original | |
3641 symbol file is not in the object files. Do not create a new symbol file | |
3642 when symbol policy is Restricted. | |
3643 | |
3644 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used | |
3645 in Scng. | |
3646 | |
3647 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy | |
3648 Restricted. | |
3649 (Usage): Line for new switch -R | |
3650 | |
3651 * make.adb (Initialize): When the platform is not VMS, add the | |
3652 directory where gnatmake is invoked in the front of the path, if | |
3653 gnatmake is invoked with directory information. Change the Scan_Args | |
3654 while loop to a for loop. | |
3655 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency: | |
3656 if Depth is equal or greater than the proposed depth, there is nothing | |
3657 to do. | |
3658 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1 | |
3659 instead of 0. | |
3660 | |
3661 * prj.ads: Add new symbol policy Restricted. | |
3662 | |
3663 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction | |
3664 with the new parameters Check_All_Labels and Case_Location. | |
3665 | |
3666 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted | |
3667 (Library_Symbol_File needs to be defined). | |
3668 | |
3669 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels | |
3670 and Case_Location If Check_All_Labels is True, check that all values of | |
3671 the string type are used, and output warning(s) if they are not. | |
3672 | |
3673 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels | |
3674 and Case_Location. | |
3675 | |
3676 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc" | |
3677 | |
3678 * gnat_ugn.texi: Update documentation about the library directory in | |
3679 Library Projects. | |
3680 | |
3681 * makegpr.adb (Display_Command): In verbose mode, also display the | |
3682 value of the CPATH env var, when the compiler is gcc. | |
3683 (Initialize): Change the Scan_Args while loop to a for loop | |
3684 (Compile_Individual_Sources): Change directory to object directory | |
3685 before compilations. | |
3686 | |
3687 * symbols.ads: New symbol policy Restricted. | |
3688 | |
3689 2004-06-11 Olivier Hainque <hainque@act-europe.fr> | |
3690 | |
3691 * a-except.adb (Raise_After_Setup family): Remove. The responsibility | |
3692 is now taken care of internally in the Exception_Propagation package | |
3693 and does not require clients assistance any more. | |
3694 | |
3695 * a-exexpr.adb (Is_Setup_And_Not_Propagated, | |
3696 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New | |
3697 functions. Helpers to maintain a predicate required in the handling of | |
3698 occurrence transfer between tasks. | |
3699 This is now handled internally and does not require clients assistance | |
3700 for the setup/propagate separation anymore. | |
3701 (Setup_Exception, Propagate_Exception): Simplify the Private_Data | |
3702 allocation strategy, handle the Setup_And_Not_Propagated predicate and | |
3703 document. | |
3704 | |
3705 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of | |
3706 raise_after_setup, now that everything is handled internally within the | |
3707 setup/propagation engine. | |
3708 | |
3709 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com> | |
3710 | |
3711 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once. | |
3712 Add additional conditions for the case of an actual being a simple | |
3713 name or literal. Improve inlining by preventing the generation | |
3714 of temporaries with a short lifetime (one use). | |
3715 | |
3716 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com> | |
3717 | |
3718 PR ada/15587 | |
3719 * einfo.ads: Minor comment updates for Has_Completion and | |
3720 E_Constant list of flags. | |
3721 | |
3722 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations | |
3723 and constant redeclarations now set the Has_Completion flag of their | |
3724 defining identifiers. | |
3725 | |
3726 * sem_ch7.adb (Analyze_Package_Spec): Add procedure | |
3727 Inspect_Deferred_Constant_Completion. | |
3728 Used to detect private deferred constants that have not been completed | |
3729 either by a constant redeclaration or pragma Import. Emits error message | |
3730 "constant declaration requires initialization expression". | |
3731 | |
3732 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now | |
3733 completes a deferred constant. | |
3734 | |
3735 2004-06-11 Geert Bosch <bosch@gnat.com> | |
3736 | |
3737 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers. | |
3738 | |
3739 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in | |
3740 calculating exponent for scaling denormal numbers. | |
3741 (Leading_Part): Properly raise Constraint_Error for zero or negative | |
3742 Adjustment. | |
3743 (Remainder): Properly raise Constraint_Error for zero divisor. | |
3744 | |
3745 2004-06-11 Thomas Quinot <quinot@act-europe.fr> | |
3746 | |
3747 * sem_util.adb: Minor reformatting. | |
3748 | |
3749 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit | |
3750 dereference when accessing the entry parameter record. | |
3751 (Check_Array_Type): Always check for possible implicit dereference. | |
3752 (maybe_implicit_dereference): Rename to check_no_implicit_derefence. | |
3753 Abort if a pointer is still present (denoting that an implicit | |
3754 dereference was left in the tree by the front-end). | |
3755 | |
3756 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit | |
3757 dereference when accessing the entry parameter record. | |
3758 (Check_Array_Type): Always check for possible implicit dereference. | |
3759 (maybe_implicit_dereference): Rename to check_no_implicit_derefence. | |
3760 Abort if a pointer is still present (denoting that an implicit | |
3761 dereference was left in the tree by the front-end). | |
3762 | |
3763 2004-06-11 Emmanuel Briot <briot@act-europe.fr> | |
3764 | |
3765 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error | |
3766 message, like the compiler itself does. Easier to parse the output. | |
3767 | |
3768 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments. | |
3769 | |
3770 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should | |
3771 be base names, and not includes directories. | |
3772 | |
3773 2004-06-11 Arnaud Charlet <charlet@act-europe.fr> | |
3774 | |
3775 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES), | |
3776 so that dependencies are properly taken into account by make. | |
3777 | |
3778 2004-06-11 Arnaud Charlet <charlet@act-europe.fr> | |
3779 | |
3780 PR ada/15622 | |
3781 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads, | |
3782 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic | |
3783 | |
3784 2004-06-11 Jerome Guitton <guitton@act-europe.fr> | |
3785 | |
3786 * Makefile.in (install-gnatlib): install target-specific run-time files. | |
3787 | |
3788 * Make-lang.in: Remove obsolete targets. | |
3789 | |
3790 2004-06-11 Ed Schonberg <schonberg@gnat.com> | |
3791 | |
3792 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram | |
3793 specification, to catch misuses of program unit names. | |
3794 | |
3795 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on | |
3796 superfluous conversions in an instance. | |
3797 | |
3798 2004-06-11 Ed Schonberg <schonberg@gnat.com> | |
3799 | |
3800 PR ada/15403 | |
3801 * sem_ch12.adb (Save_References): If operator node has been folded to | |
3802 enumeration literal, associated_node must be discarded. | |
3803 | |
3804 2004-06-11 Jose Ruiz <ruiz@act-europe.fr> | |
3805 | |
3806 * s-stchop-vxworks.adb: Add required pragma Convention to | |
3807 Task_Descriptor because it is updated by a C function. | |
3808 | |
3809 2004-06-08 Arnaud Charlet <charlet@act-europe.fr> | |
3810 | |
3811 PR ada/15568 | |
3812 * Makefile.in: Remove target specific SO_OPT on IRIX | |
3813 | |
3814 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3815 | |
3816 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted. | |
3817 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise. | |
3818 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise. | |
3819 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise. | |
3820 (STMT_STMT, USE_STMT): New statement codes. | |
3821 (LOOP_STMT, EXIT_STMT): Make slight semantic changes. | |
3822 * ada-tree.h: Reflect above changes. | |
3823 (struct tree_loop_id): Deleted. | |
3824 (union lang_tree_node, struct lang_decl, struct lang_type): | |
3825 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC | |
3826 and DECL_LANGUAGE_SPECIFIC to reflect these changes. | |
3827 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted. | |
3828 (IS_ADA_STMT): New macro. | |
3829 * decl.c (annotate_decl_with_node): New function. | |
3830 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno. | |
3831 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR. | |
3832 Call add_stmt_with_node to do needed assignments. | |
3833 Add call to update setjmp buffer directly, not via EXPR_STMT. | |
3834 (maybe_variable): Argment GNAT_NODE deleted. | |
3835 * gigi.h (maybe_variable): Likewise. | |
3836 (make_transform, add_stmt_with_node, set_block_for_group): New. | |
3837 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise. | |
3838 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise. | |
3839 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted. | |
3840 (set_lineno, set_lineno_from_sloc): Likewise. | |
3841 (record_code_position, insert_code_for): Likewise. | |
3842 (gnat_poplevel): Now returns void. | |
3843 (end_subprog_body): Now takes argument. | |
3844 * misc.c (cgraph.h, tree-inline.h): New includes. | |
3845 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted. | |
3846 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New. | |
3847 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise. | |
3848 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise. | |
3849 (gnat_parse_file): Don't set immediate_size_expand. | |
3850 Call cgraph functions. | |
3851 (gnat_expand_expr): Remove most cases. | |
3852 (record_code_position, insert_code_for): Remove from here. | |
3853 * trans.c (toplev.h, tree-gimple.h): Now included. | |
3854 (discard_file_names): Deleted. | |
3855 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del. | |
3856 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise. | |
3857 (struct stmt_group, current_stmt_group, stmt_group_free_list): New. | |
3858 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise. | |
3859 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise. | |
3860 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise. | |
3861 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise. | |
3862 (set_block_for_group, add_stmt_list): Likewise. | |
3863 (start_stmt_group): Renamed from start_block_stmt. | |
3864 (end_stmt_group): Likewise, from end_block_stmt. | |
3865 (build_stmt_group): Likewise, from build_block_stmt, also add arg. | |
3866 (gigi): Don't set discard_file_names or call set_lineno. | |
3867 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code. | |
3868 (tree_transform): Deleted, now renamed to be gnat_to_gnu. | |
3869 Numerous changes throughout to reflect new names and complete | |
3870 function-at-a-time implementation. | |
3871 (gnat_expand_stmt): Delete or comment out all cases. | |
3872 (process_inlined_subprograms): Use add_stmt. | |
3873 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't | |
3874 call set_lineno; also remove unneeded block handling. | |
3875 (process_type): Remove unneeded block handling. | |
3876 (build_unit_elab): Remove calls to deleted functions. | |
3877 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include. | |
3878 (tree-dump.h): Likewise. | |
3879 (struct ada_binding_level): Add field jmpbuf_decl. | |
3880 (gnat_define_builtin, gnat_install_builtins): New. | |
3881 (gnat_gimplify_function, gnat_finalize): Likewise. | |
3882 (gnat_poplevel): No longer return BLOCK, set it instead. | |
3883 Remove code dealing with nested functions. | |
3884 (gnat_init_decl_processing): Also set size_type_node. | |
3885 Call gnat_install_builtins. | |
3886 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN. | |
3887 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC. | |
3888 Remove special-case for "main". | |
3889 (end_subprog_body): Add arg and rework for tree-ssa. | |
3890 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR. | |
3891 Add case for BOOLEAN_TYPE. | |
3892 * utils2.c (rtl.h): Now include. | |
3893 (build_call_raise): Test Debug_Flag_NN directly. | |
3894 (build_call_alloc_dealloc): Don't use local stack allocation for now. | |
3895 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted. | |
3896 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases. | |
3897 | |
3898 2004-06-07 Robert Dewar <dewar@gnat.com> | |
3899 | |
3900 * a-direct.ads, einfo.ads: Minor comment updates | |
3901 | |
3902 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, | |
3903 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, | |
3904 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb, | |
3905 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, | |
3906 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting. | |
3907 | |
3908 * s-interr-sigaction.adb: Remove unreferenced variable | |
3909 (Attached_Interrupts). Minor reformatting. | |
3910 Avoid use of variable I (replace by J). | |
3911 | |
3912 * par-ch10.adb: Fix text of one error message | |
3913 | |
3914 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads, | |
3915 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb, | |
3916 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb, | |
3917 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb, | |
3918 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb, | |
3919 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, | |
3920 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb, | |
3921 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, | |
3922 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb, | |
3923 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb, | |
3924 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada | |
3925 2005 support. | |
3926 | |
3927 2004-06-07 Doug Rupp <rupp@gnat.com> | |
3928 | |
3929 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb | |
3930 | |
3931 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb | |
3932 | |
3933 * mlib-tgt-vms-ia64.adb: New file. | |
3934 | |
3935 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb | |
3936 Add mlib-tgt-vms-ia64.adb | |
3937 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb. | |
3938 Move to alpha specific ifeq section. | |
3939 Add VMS specific versions of symbols.adb | |
3940 Renaming of 5q vms files. | |
3941 | |
3942 * 5qsystem.ads renamed to system-vms_64.ads. | |
3943 | |
3944 2004-06-07 Vincent Celier <celier@gnat.com> | |
3945 | |
3946 * a-calend.ads: Add a GNAT Note comment after function Time_Of to | |
3947 explain that when a time of day corresponding to the non existing hour | |
3948 on the day switching to DST is specified, Split may return a different | |
3949 value for Seconds. | |
3950 | |
3951 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar | |
3952 to GNAT PRETTY. | |
3953 | |
3954 * g-os_lib.adb (OpenVMS): New Boolean value imported from System. | |
3955 (Normalize_Pathname): Only resolve VMS logical names when on VMS. | |
3956 | |
3957 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize | |
3958 to False. | |
3959 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to | |
3960 the linking options. | |
3961 (Build_Library.Check_Libs): On VMS, if there is a dependency on | |
3962 g-trasym.ads, set Gtrasymobj_Needed to True. | |
3963 | |
3964 * prj-attr.adb: Add new package Metrics for gnatmetric | |
3965 | |
3966 * prj-nmsc.adb (Record_Other_Sources): Put source file names in | |
3967 canonical case to take into account files with upper case characters on | |
3968 Windows. | |
3969 (Ada_Check): Load the reference symbol file name in the name buffer to | |
3970 check it, not the symbol file name. | |
3971 | |
3972 * snames.ads, snames.adb: Add standard name Metrics (name of project | |
3973 file package for gnatmetric). | |
3974 | |
3975 * vms_conv.ads: Add Metric to Comment_Type | |
3976 | |
3977 * vms_conv.adb (Initialize): Add component dor Metric in Command_List | |
3978 | |
3979 * vms_data.ads: Add qualifiers for GNAT METRIC | |
3980 | |
3981 * makegpr.adb (Link_Executables): Take into account the switches | |
3982 specified in package Linker of the main project. | |
3983 | |
3984 2004-06-07 Thomas Quinot <quinot@act-europe.fr> | |
3985 | |
3986 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so | |
3987 the index of the last element is Units.Last, not Units.Table'Last | |
3988 (which is usually not a valid index within the actually allocated | |
3989 storage for the table). | |
3990 | |
3991 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that | |
3992 determines whether to generate a call to a checked storage pool | |
3993 Dereference action. | |
3994 Generate such a call only for a dereference that either comes from | |
3995 source, or is the result of rewriting a dereference that comes from | |
3996 source. | |
3997 | |
3998 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr> | |
3999 | |
4000 * bindgen.adb (Gen_Output_File): Add support for GAP builds. | |
4001 | |
4002 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr> | |
4003 | |
4004 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at | |
4005 file level, elaborate the stride for inner dimensions in alignment | |
4006 units, not bytes. | |
4007 | |
4008 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned | |
4009 in a comment. | |
4010 | |
4011 2004-06-07 Javier Miranda <miranda@gnat.com> | |
4012 | |
4013 * exp_ch6.adb: Correct wrong modification in previous patch | |
4014 | |
4015 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr> | |
4016 | |
4017 * g-trasym.ads: Corrected comment to properly reflect level of support | |
4018 on VMS. | |
4019 | |
4020 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com> | |
4021 | |
4022 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It | |
4023 includes case of a variable referenced on the left hand side of an | |
4024 assignment, therefore remove redundant code. Variables and prefixes of | |
4025 indexed or selected components are now marked as referenced on left | |
4026 hand side. Warnings are now properly emitted when variables or prefixes | |
4027 are assigned but not read. | |
4028 | |
4029 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to | |
4030 left hand side referenced variables. Private access types do not | |
4031 produce the warning "variable ... is assigned but never read". | |
4032 Add also additional checks to left hand side referenced variables. | |
4033 Aliased, renamed objects and access types do not produce the warning | |
4034 "variable ... is assigned but never read" since other entities may read | |
4035 the memory location. | |
4036 | |
4037 2004-06-07 Jerome Guitton <guitton@act-europe.fr> | |
4038 | |
4039 * Makefile.in: In the powerpc/vxworks-specific section, restore | |
4040 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed | |
4041 by mistake). | |
4042 | |
4043 2004-06-07 Ed Schonberg <schonberg@gnat.com> | |
4044 | |
4045 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of | |
4046 predefined operators. | |
4047 Removes spurious type errors from g-trasym-vms.adb. | |
4048 | |
4049 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is | |
4050 distinct from the operator appearing in the source, call appropriate | |
4051 routine to insert conversions when needed, and complete resolution of | |
4052 node. | |
4053 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of | |
4054 interpretations for rewritten right operand. | |
4055 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when | |
4056 the other operand is overloaded and the context is a type conversion. | |
4057 | |
4058 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
4059 | |
4060 * ada-tree.def (BLOCK_STMT): Now has two operands. | |
4061 (BREAK_STMT): New. | |
4062 | |
4063 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro. | |
4064 | |
4065 * gigi.h: (gnat_poplevel): Now returns a tree. | |
4066 | |
4067 * trans.c (end_block_stmt): Add arg; all callers changed. | |
4068 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN. | |
4069 (start_block_stmt): Clear BLOCK_STMT_BLOCK. | |
4070 (add_stmt): Set TREE_TYPE. | |
4071 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK. | |
4072 (gnat_expand_stmt, case BREAK_STMT): New case. | |
4073 | |
4074 * utils.c (gnat_poplevel): Return a BLOCK, if we made one. | |
4075 | |
4076 2004-06-07 Jose Ruiz <ruiz@act-europe.fr> | |
4077 | |
4078 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the | |
4079 procedure Set_Stack_Size that is not needed. | |
4080 | |
4081 2004-06-07 Sergey Rybin <rybin@act-europe.fr> | |
4082 | |
4083 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is | |
4084 used for gnatpp input file and for the files upon which it depends | |
4085 | |
4086 2004-06-07 Ben Brosgol <brosgol@gnat.com> | |
4087 | |
4088 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter | |
4089 | |
4090 2004-06-07 Arnaud Charlet <charlet@act-europe.fr> | |
4091 | |
4092 * gnatvsn.ads: Bump version numbers appropriately. | |
4093 Add new build type. | |
4094 | |
4095 2004-06-07 Pascal Obry <obry@gnat.com> | |
4096 | |
4097 * gnat_ugn.texi: Improve comments about imported names and link names | |
4098 on Windows. Add a note about the requirement to use -k gnatdll's option | |
4099 when working with a DLL which has stripped stdcall symbols (no @nn | |
4100 suffix). | |
4101 | |
4102 2004-05-27 Vincent Celier <celier@gnat.com> | |
4103 | |
4104 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and | |
4105 COMMENTS_LAYOUT=UNTOUCHED | |
4106 | |
4107 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to | |
4108 symbols-vms-alpha.adb | |
4109 | |
4110 2004-05-27 Thomas Quinot <quinot@act-europe.fr> | |
4111 | |
4112 * sem.ads: Clarify documentation on checks suppression. | |
4113 | |
4114 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing. | |
4115 | |
4116 2004-05-27 Ed Schonberg <schonberg@gnat.com> | |
4117 | |
4118 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in | |
4119 the case of multiple derivations. | |
4120 (Is_Object_Reference): For a selected component, verify that the prefix | |
4121 is itself an object and not a value. | |
4122 | |
4123 * sem_ch12.adb (Same_Instantiated_Constant): New name for | |
4124 Same_Instantiated_Entity. | |
4125 (Same_Instantiated_Variable): Subsidiary to | |
4126 Check_Formal_Package_Instance, to recognize actuals for in-out generic | |
4127 formals that are obtained from a previous formal package. | |
4128 (Instantiate_Subprogram_Body): Emit proper error when | |
4129 generating code and the proper body of a stub is missing. | |
4130 | |
4131 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still | |
4132 has a universal interpretation, do the disambiguation here. | |
4133 | |
4134 * exp_ch4.adb (Expand_N_Type_Conversion, | |
4135 Expand_N_Unchecked_Type_Conversion): Special handling when target type | |
4136 is Address, to avoid typing anomalies when Address is a visible integer | |
4137 type. | |
4138 | |
4139 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address | |
4140 to determine whether a subprogram should not be marked Pure, even when | |
4141 declared in a pure package. | |
4142 | |
4143 2004-05-27 Jose Ruiz <ruiz@act-europe.fr> | |
4144 | |
4145 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile. | |
4146 | |
4147 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length | |
4148 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts. | |
4149 Update the documentation about the Ravenscar profile, following the | |
4150 definition found in AI-249. | |
4151 | |
4152 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when | |
4153 setting the Profile (Ravenscar). This must be done in addition to | |
4154 setting the required restrictions. | |
4155 | |
4156 * rtsfind.ads: Add the set of operations defined in package | |
4157 Ada.Interrupts. | |
4158 | |
4159 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment | |
4160 restriction. | |
4161 | |
4162 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr> | |
4163 | |
4164 lang-specs.h: Always require -c or -S and always redirect to /dev/null | |
4165 if -gnatc or -gnats is passed. | |
4166 | |
4167 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com> | |
4168 | |
4169 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as | |
4170 a significant reference. Warnings are now properly emitted when a | |
4171 discriminated type is not referenced. | |
4172 | |
4173 * lib-xref.adb (Generate_Reference): A deferred constant completion, | |
4174 record representation clause or record type discriminant does not | |
4175 produce a reference to its corresponding entity. Warnings are now | |
4176 properly emitted when deferred constants and record types are not | |
4177 referenced. | |
4178 | |
4179 2004-05-27 Geert Bosch <bosch@gnat.com> | |
4180 | |
4181 * Makefile.in: Use long version of libm routines on ia64 gnu/linux. | |
4182 Fixes ACATS Annex G tests. | |
4183 | |
4184 2004-05-27 Robert Dewar <dewar@gnat.com> | |
4185 | |
4186 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not | |
4187 handling WITH | |
4188 | |
4189 2004-05-27 Arnaud Charlet <charlet@act-europe.fr> | |
4190 | |
4191 * s-interr.adb (Server_Task): Take into account case of early return | |
4192 from sigwait under e.g. linux. | |
4193 | |
4194 2004-05-27 Sergey Rybin <rybin@act-europe.fr> | |
4195 | |
4196 * gnat_ugn.texi: Add description for the new gnatpp options: | |
4197 -rnb - replace the original source without creating its backup copy | |
4198 -c0 - do not format comments | |
4199 | |
4200 2004-05-24 Geert Bosch <bosch@gnat.com> | |
4201 | |
4202 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi | |
4203 with 192 bits of precision, sufficient to reduce a double-extended | |
4204 arguments X with a maximum relative error of T'Machine_Epsilon, for X | |
4205 in -2.0**32 .. 2.0**32. | |
4206 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent | |
4207 reduction by the processor, which only uses a 68-bit approximation of | |
4208 Pi. | |
4209 (Tan): Always reduce arguments and compute function either using | |
4210 the processor's fptan instruction, or by dividing sin and cos as needed. | |
4211 | |
4212 2004-05-24 Doug Rupp <rupp@gnat.com> | |
4213 | |
4214 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid | |
4215 gcc error on 32/64 bit VMS. | |
4216 | |
4217 2004-05-24 Olivier Hainque <hainque@act-europe.fr> | |
4218 | |
4219 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs, | |
4220 since this is what we get for stack overflows although not documented | |
4221 as such. | |
4222 Document the issues which may require adjustments to our signal | |
4223 handlers. | |
4224 | |
4225 2004-05-24 Ed Schonberg <schonberg@gnat.com> | |
4226 | |
4227 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the | |
4228 enclosing dynamic scope if the instantiation is within a generic unit. | |
4229 | |
4230 2004-05-24 Arnaud Charlet <charlet@act-europe.fr> | |
4231 | |
4232 * exp_dbug.ads: Fix typo. | |
4233 | |
4234 * Makefile.in: s-osinte-linux-ia64.ads was misnamed. | |
4235 Rename it to its proper name: system-linux-ia64.ads | |
4236 (stamp-gnatlib1): Remove extra target specific run time files when | |
4237 setting up the rts directory. | |
4238 | |
4239 2004-05-24 Javier Miranda <miranda@gnat.com> | |
4240 | |
4241 * einfo.ads, einfo.adb (Limited_Views): Removed. | |
4242 (Limited_View): New attribute that replaces the previous one. It is | |
4243 now a bona fide package with the limited-view list through the | |
4244 first_entity and first_private attributes. | |
4245 | |
4246 * sem_ch10.adb (Install_Private_With_Clauses): Give support to | |
4247 limited-private-with clause. | |
4248 (Install_Limited_Withed_Unit): Install the private declarations of a | |
4249 limited-private-withed package. Update the installation of the shadow | |
4250 entities according to the new structure (see Build_Limited_Views) | |
4251 (Build_Limited_Views): Replace the previous implementation of the | |
4252 limited view by a package entity that references the first shadow | |
4253 entity plus the first shadow private entity (required for limited- | |
4254 private-with clause) | |
4255 (New_Internal_Shadow_Entity): Code cleanup. | |
4256 (Remove_Limited_With_Clause): Update the implementation to undo the | |
4257 new work carried out by Build_Limited_Views. | |
4258 (Build_Chain): Complete documentation. | |
4259 Replace Ada0Y by Ada 0Y in comments | |
4260 Minor reformating | |
4261 | |
4262 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access | |
4263 types the level of accessibility depends on the enclosing type | |
4264 declaration. | |
4265 | |
4266 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow | |
4267 entities. Complete documentation of previous change. | |
4268 | |
4269 2004-05-24 Robert Dewar <dewar@gnat.com> | |
4270 | |
4271 * namet.adb: Minor reformatting | |
4272 Avoid use of name I (replace by J) | |
4273 Minor code restructuring | |
4274 | |
4275 * sem_ch6.adb: Minor reformatting | |
4276 | |
4277 * lib-writ.adb: Do not set restriction as active if this is a | |
4278 Restriction_Warning case. | |
4279 | |
4280 * sem_prag.adb: Reset restriction warning flag if real pragma | |
4281 restriction encountered. | |
4282 | |
4283 * s-htable.adb: Minor reformatting | |
4284 Change rotate count to 3 in Hash (improves hash for small strings) | |
4285 | |
4286 * 5qsystem.ads: Add comments for type Address (no literals allowed). | |
4287 | |
4288 * gnat_ugn.texi: Add new section of documentation "Code Generation | |
4289 Control", which describes the use of -m switches. | |
4290 | |
4291 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr> | |
4292 | |
4293 trans.c (tree_transform) <N_Identifier>: Do the dereference directly | |
4294 through the DECL_INITIAL for renamed variables. | |
4295 | |
4296 2004-05-24 Arnaud Charlet <charlet@act-europe.fr> | |
4297 | |
4298 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads | |
4299 | |
4300 2004-05-19 Joel Brobecker <brobecker@gnat.com> | |
4301 | |
4302 * exp_dbug.ads: Correct comments concerning handling of overloading, | |
4303 since we no longer use $ anymore. | |
4304 | |
4305 2004-05-19 Sergey Rybin <rybin@act-europe.fr> | |
4306 | |
4307 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not | |
4308 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees | |
4309 with illegal subunits. | |
4310 | |
4311 2004-05-19 Ed Schonberg <schonberg@gnat.com> | |
4312 | |
4313 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram | |
4314 body with front-end inlining enabled, check whether an inline pragma | |
4315 appears immediately after the body and applies to it. | |
4316 | |
4317 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is | |
4318 enabled and the pragma appears after the body of the subprogram. | |
4319 | |
4320 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
4321 | |
4322 Part of function-at-a-time conversion | |
4323 | |
4324 * misc.c (adjust_decl_rtl): Deleted. | |
4325 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): | |
4326 Define. | |
4327 | |
4328 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted. | |
4329 (add_decl_stmt, add_stmt, block_has_vars): New functions. | |
4330 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel. | |
4331 | |
4332 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt | |
4333 when making a decl. | |
4334 (gnat_to_gnu_entity): Likewise. | |
4335 Use add_stmt to update setjmp buffer. | |
4336 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and | |
4337 flush_addressof. | |
4338 No longer call adjust_decl_rtl. | |
4339 (DECL_INIT_BY_ASSIGN_P): New macro. | |
4340 (DECL_STMT_VAR): Likewise. | |
4341 | |
4342 * trans.c (gigi): Call start_block_stmt to make the outermost | |
4343 BLOCK_STMT. | |
4344 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type): | |
4345 Call start_block_stmt and end_block_stmt temporarily. | |
4346 Use gnat_expand_stmt instead of expand_expr_stmt. | |
4347 (add_decl_stmt): New function. | |
4348 (tree_transform): Call it. | |
4349 (add_stmt): Also emit initializing assignment for DECL_STMT if needed. | |
4350 (end_block_stmt): Set type and NULL_STMT. | |
4351 (gnat_expand_stmt): Make recursize call instead of calling | |
4352 expand_expr_stmt. | |
4353 (gnat_expand_stmt, case DECL_STMT): New case. | |
4354 (set_lineno_from_sloc): Do nothing if global. | |
4355 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables. | |
4356 (start_block_stmt, add_stmt, end_block_stmt): New functions. | |
4357 (build_block_stmt): Call them. | |
4358 (gnat_to_code): Don't expand NULL_STMT. | |
4359 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change | |
4360 args. | |
4361 (tree_transform): Likewise. | |
4362 (tree_transform, case N_Null_Statement): Return NULL_STMT. | |
4363 (gnat_expand_stmt, case NULL_STMT): New case. | |
4364 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no | |
4365 IF_STMT_TRUE. | |
4366 | |
4367 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set | |
4368 TREE_ADDRESSABLE. | |
4369 | |
4370 * utils.c (create_var_decl): Do not call expand_decl or | |
4371 expand_decl_init. | |
4372 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable. | |
4373 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR | |
4374 here. | |
4375 (struct e_stack): Add chain_next to GTY. | |
4376 (struct binding_level): Deleted. | |
4377 (struct ada_binding_level): New struct. | |
4378 (free_block_chain): New. | |
4379 (global_binding_level, clear_binding_level): Deleted. | |
4380 (global_bindings_p): Rework to see if no chain. | |
4381 (kept_level_p, set_block): Deleted. | |
4382 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use | |
4383 new data structure and work directly on BLOCK node. | |
4384 (gnat_poplevel): Similarly. | |
4385 (get_decls): Look at BLOCK_VARS. | |
4386 (insert_block): Work directly on BLOCK node. | |
4387 (block_has_var): New function. | |
4388 (pushdecl): Rework for new binding structures. | |
4389 (gnat_init_decl_processing): Rename and rework calls to pushlevel and | |
4390 poplevel. | |
4391 (build_subprog_body): Likewise. | |
4392 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL. | |
4393 | |
4394 * ada-tree.def (DECL_STMT, NULL_STMT): New codes. | |
4395 | |
4396 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro. | |
4397 (DECL_STMT_VAR): Likewise. | |
4398 | |
4399 2004-05-17 Robert Dewar <dewar@gnat.com> | |
4400 | |
4401 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New | |
4402 procedure | |
4403 | |
4404 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling | |
4405 of restriction synonyums by using | |
4406 Restrict.Process_Restriction_Synonyms. | |
4407 | |
4408 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym | |
4409 | |
4410 * s-restri.ads (Tasking_Allowed): Correct missing comment | |
4411 | |
4412 * s-rident.ads: Add entries for restriction synonyms | |
4413 | |
4414 * ali.adb: Fix some problems with badly formatted ALI files that can | |
4415 result in infinite loops. | |
4416 | |
4417 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb, | |
4418 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb, | |
4419 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, | |
4420 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb, | |
4421 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb, | |
4422 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb, | |
4423 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb, | |
4424 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb, | |
4425 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb, | |
4426 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb, | |
4427 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb, | |
4428 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb, | |
4429 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads, | |
4430 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, | |
4431 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, | |
4432 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, | |
4433 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads, | |
4434 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads, | |
4435 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb, | |
4436 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID | |
4437 to Task_Id (minor cleanup). | |
4438 | |
4439 2004-05-17 Vincent Celier <celier@gnat.com> | |
4440 | |
4441 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing | |
4442 directory separator. | |
4443 | |
4444 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from | |
4445 project being extended, if Languages is not declared in extending | |
4446 project. | |
4447 | |
4448 2004-05-17 Javier Miranda <miranda@gnat.com> | |
4449 | |
4450 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the | |
4451 limited view of a visible sibling. | |
4452 | |
4453 2004-05-14 Robert Dewar <dewar@gnat.com> | |
4454 | |
4455 * gnat_ugn.texi: Minor change to -gnatS documentation | |
4456 | |
4457 * sprint.adb: Remove some instances of Assert (False) and for this | |
4458 purpose replace them by output of a ??? string. | |
4459 | |
4460 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma | |
4461 Assert (False). | |
4462 | |
4463 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit | |
4464 flag processing. This was suppressing required dependencies in | |
4465 No_Run_Time mode and is not needed since the binder does not generate | |
4466 references for things in libgnat anyway. | |
4467 | |
4468 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC | |
4469 warning. | |
4470 | |
4471 2004-05-14 Thomas Quinot <quinot@act-europe.fr> | |
4472 | |
4473 * gnat_ugn.texi: Document AIX-specific issue with initialization of | |
4474 resolver library. | |
4475 | |
4476 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference | |
4477 action for the case of an actual parameter in an init proc call. | |
4478 | |
4479 2004-05-14 Ed Schonberg <schonberg@gnat.com> | |
4480 | |
4481 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected | |
4482 subtype, check visible entities in base type. | |
4483 | |
4484 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup | |
4485 actions if the object is a renaming. | |
4486 | |
4487 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for | |
4488 Check_Formal_Package_Instance, to determine more precisely when the | |
4489 formal and the actual denote the same entity. | |
4490 | |
4491 2004-05-14 Javier Miranda <miranda@gnat.com> | |
4492 | |
4493 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262 | |
4494 | |
4495 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity | |
4496 corresponding to a private_with must be removed from visibility; it | |
4497 will be made visible later, just before we analyze the private part of | |
4498 the package. | |
4499 (Check_Private_Child_Unit): Allow private_with clauses in public | |
4500 siblings. | |
4501 (Install_Siblings): Make visible the private entities of private-withed | |
4502 siblings. | |
4503 (Install_Withed_Unit): Do not install the private withed unit if we | |
4504 are compiling a package declaration and the Private_With_OK flag was | |
4505 not set by the caller. These declarations will be installed later, | |
4506 just before we analyze the private part of the package. | |
4507 | |
4508 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected | |
4509 during the evaluation of the expression that initializes the object, | |
4510 decorate it with the expected type to avoid cascade errors. | |
4511 Code cleanup. | |
4512 | |
4513 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library | |
4514 subprogram we have to install the private_with clauses after its | |
4515 specification has been analyzed (as documented in AI-262.TXT). | |
4516 | |
4517 * sem_ch8.adb (Has_Private_With): New function. Determines if the | |
4518 current compilation unit has a private with on a given entity. | |
4519 (Find_Direct_Name): Detect the Beaujolais problem described in | |
4520 AI-262.TXT | |
4521 | |
4522 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It | |
4523 provides the functionality of the function Is_Ancestor that was | |
4524 previously available in sem_ch10. It has been renamed to avoid | |
4525 overloading. | |
4526 | |
4527 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses | |
4528 | |
4529 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
4530 | |
4531 * utils.c (build_vms_descriptor): Use SImode pointers. | |
4532 | |
4533 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr> | |
4534 | |
4535 * gnat_ugn.texi: Revised chapter "GNAT and Libraries". | |
4536 | |
4537 2004-05-14 GNAT Script <nobody@gnat.com> | |
4538 | |
4539 * Make-lang.in: Makefile automatically updated | |
4540 | |
4541 2004-05-14 Arnaud Charlet <charlet@act-europe.fr> | |
4542 | |
4543 Renaming of target specific files for clarity | |
4544 | |
4545 * Makefile.in: Rename GNAT target specific files. | |
4546 | |
4547 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads, | |
4548 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads, | |
4549 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb, | |
4550 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, | |
4551 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads, | |
4552 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads, | |
4553 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads, | |
4554 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads, | |
4555 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, | |
4556 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads, | |
4557 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads, | |
4558 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads, | |
4559 51osinte.adb, 51osinte.ads, 51system.ads, | |
4560 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads, | |
4561 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb, | |
4562 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads, | |
4563 56tpopsp.adb, 57system.ads, 58system.ads, | |
4564 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads, | |
4565 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, | |
4566 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb, | |
4567 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads, | |
4568 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb, | |
4569 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads, | |
4570 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb, | |
4571 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads, | |
4572 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb, | |
4573 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads, | |
4574 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, | |
4575 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, | |
4576 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads, | |
4577 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads, | |
4578 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads, | |
4579 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb, | |
4580 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb, | |
4581 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads, | |
4582 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb, | |
4583 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb, | |
4584 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb, | |
4585 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads, | |
4586 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb, | |
4587 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads, | |
4588 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads, | |
4589 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb, | |
4590 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb, | |
4591 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb, | |
4592 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb, | |
4593 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads, | |
4594 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads, | |
4595 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb, | |
4596 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb, | |
4597 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb, | |
4598 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb, | |
4599 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, | |
4600 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb, | |
4601 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb, | |
4602 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads, | |
4603 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below. | |
4604 | |
4605 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb, | |
4606 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb, | |
4607 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads, | |
4608 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads, | |
4609 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads, | |
4610 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads, | |
4611 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads, | |
4612 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads, | |
4613 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads, | |
4614 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb, | |
4615 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads, | |
4616 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads, | |
4617 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads, | |
4618 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads, | |
4619 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb, | |
4620 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads, | |
4621 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads, | |
4622 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb, | |
4623 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb, | |
4624 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb, | |
4625 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb, | |
4626 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb, | |
4627 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb, | |
4628 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb, | |
4629 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb, | |
4630 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb, | |
4631 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads, | |
4632 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb, | |
4633 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb, | |
4634 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads, | |
4635 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb, | |
4636 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads, | |
4637 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads, | |
4638 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads, | |
4639 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads, | |
4640 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, | |
4641 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb, | |
4642 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb, | |
4643 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads, | |
4644 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads, | |
4645 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb, | |
4646 s-osinte-vms.ads, s-osinte-vxworks.adb, | |
4647 s-osinte-vxworks.ads, s-osprim-mingw.adb, | |
4648 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb, | |
4649 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads, | |
4650 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads, | |
4651 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb, | |
4652 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads, | |
4653 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads, | |
4654 s-stchop-vxworks.adb, s-taprop-dummy.adb, | |
4655 s-taprop-hpux-dce.adb, s-taprop-irix.adb, | |
4656 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb, | |
4657 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb, | |
4658 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, | |
4659 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb, | |
4660 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads, | |
4661 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads, | |
4662 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads, | |
4663 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads, | |
4664 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads, | |
4665 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb, | |
4666 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb, | |
4667 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb, | |
4668 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb, | |
4669 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb, | |
4670 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb, | |
4671 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads, | |
4672 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads, | |
4673 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads, | |
4674 system-hpux.ads, system-interix.ads, system-irix-n32.ads, | |
4675 system-irix-o32.ads, system-linux-x86_64.ads, | |
4676 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, | |
4677 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads, | |
4678 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads, | |
4679 system-unixware.ads, system-vms.ads, system-vms-zcx.ads, | |
4680 system-vxworks-alpha.ads, system-vxworks-m68k.ads, | |
4681 system-vxworks-mips.ads, system-vxworks-ppc.ads, | |
4682 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files | |
4683 above. | |
4684 | |
4685 2004-05-13 Zack Weinberg <zack@codesourcery.com> | |
4686 | |
4687 * trans.c (gnat_stabilize_reference_1): Remove case 'b'. | |
4688 | |
4689 2004-05-13 Diego Novillo <dnovillo@redhat.com> | |
4690 | |
4691 Merge from tree-ssa-20020619-branch. | |
4692 | |
4693 * config-lang.in (boot_language, build_by_default): Set | |
4694 to no. | |
4695 * utils.c (unchecked_convert): Use OEP_ONLY_CONST. | |
4696 (max_size): Add static chain op for call_expr. | |
4697 | |
4698 2004-05-12 Richard Sandiford <rsandifo@redhat.com> | |
4699 | |
4700 PR target/15331 | |
4701 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '. | |
4702 | |
4703 2004-05-11 Roger Sayle <roger@eyesopen.com> | |
4704 | |
4705 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a | |
4706 COND_EXPR. | |
4707 | |
4708 2004-05-10 Doug Rupp <rupp@gnat.com> | |
4709 | |
4710 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to | |
4711 system.aux_dec. | |
4712 | |
4713 * s-auxdec.ads: Add Short_Address subtype (moved here from System). | |
4714 | |
4715 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads. | |
4716 | |
4717 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha. | |
4718 Fixes undefined symbols in IA64 gnatlib. | |
4719 | |
4720 * 5vinmaop.adb: Reference s-auxdec for Short_Address. | |
4721 | |
4722 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype | |
4723 Short_Address). This will be moved to system.auxdec. | |
4724 | |
4725 2004-05-10 Thomas Quinot <quinot@act-europe.fr> | |
4726 | |
4727 * sem_util.adb: Replace test for presence of a node that is always | |
4728 present with a call to Discard_Node. | |
4729 | |
4730 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to | |
4731 Analyze on the library unit node after generation of distribution stub | |
4732 constructs. The call was a no-op because Unit_Node has already been | |
4733 Analyzed, and the tree fragments for the distribution stubs are | |
4734 analyzed as they are inserted in Exp_Dist. | |
4735 Update comment regarding to distribution stubs to reflect that we | |
4736 do not generate stub in separate files anymore. | |
4737 | |
4738 * einfo.ads: Clarify the fact that a tagged private type has the | |
4739 E_Record_Type_With_Private Ekind. | |
4740 | |
4741 * erroutc.adb: Minor reformatting | |
4742 | |
4743 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger | |
4744 values if line length is increased using -gnatyM (noticed during code | |
4745 reading). | |
4746 | |
4747 * eval_fat.adb: Minor reformatting | |
4748 Put spaces around exponentiation operator | |
4749 | |
4750 2004-05-10 Ed Schonberg <schonberg@gnat.com> | |
4751 | |
4752 PR ada/15005 | |
4753 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix | |
4754 has been rewritten as an explicit dereference, retrieve type of | |
4755 original node to check for possibly unconstrained record type. | |
4756 | |
4757 2004-05-10 Ed Schonberg <schonberg@gnat.com> | |
4758 | |
4759 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not | |
4760 overriding, use the operation of the parent unconditionally. | |
4761 | |
4762 * sem_ch4.adb (Remove_Address_Interpretations): Remove address | |
4763 operation when either operand is a literal, to avoid further | |
4764 ambiguities. | |
4765 | |
4766 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and | |
4767 overridden by a previous explicit declaration, mark the previous entity | |
4768 as overriding. | |
4769 | |
4770 * sem_disp.adb (Check_Dispatching_Operation): New predicate | |
4771 Is_Visibly_Controlled, to determine whether a declaration of a | |
4772 primitive control operation for a derived type overrides an inherited | |
4773 one. Add warning if the explicit declaration does not override. | |
4774 | |
4775 2004-05-10 Vincent Celier <celier@gnat.com> | |
4776 | |
4777 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in | |
4778 some cases when the sources are no longer present. | |
4779 | |
4780 * make.adb (Collect_Arguments): Fail if an external source, not part | |
4781 of any project need to be compiled, when switch -x has not been | |
4782 specified. | |
4783 | |
4784 * makeusg.adb: Document new switch -x | |
4785 | |
4786 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag, | |
4787 defaulted to False. | |
4788 | |
4789 * switch-m.adb (Scan_Make_Switches): New switch -x | |
4790 | |
4791 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for | |
4792 gnatmake switch -x. | |
4793 | |
4794 * gnat_ugn.texi: Document new gnatmake switch -x | |
4795 | |
4796 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr> | |
4797 | |
4798 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0. | |
4799 | |
4800 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag. | |
4801 (process_attributes): Likewise. | |
4802 | |
4803 2004-05-10 Joel Brobecker <brobecker@gnat.com> | |
4804 | |
4805 * s-inmaop.ads: Fix spelling mistake in one of the comments. | |
4806 | |
4807 2004-05-10 Robert Dewar <dewar@gnat.com> | |
4808 | |
4809 * gnat_ugn.texi: Document that for config pragma files, the maximum | |
4810 line length is always 32767. | |
4811 | |
4812 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string | |
4813 literals is now allowed. | |
4814 | |
4815 * gnat-style.texi: Remove statement about splitting long lines before | |
4816 an operator rather than after, since we do not follow this rule at all. | |
4817 Clarify rule (really lack of rule) for spaces around exponentiation | |
4818 | |
4819 * sem_elim.adb: Allow concatenation of string literals as well as a | |
4820 single string literal for pragma arguments. | |
4821 | |
4822 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function | |
4823 | |
4824 * a-textio.adb (Terminate_Line): Do not add line feed if nothing | |
4825 written for append case. | |
4826 | |
4827 * frontend.adb: Changes to avoid checking max line length in config | |
4828 pragma files. | |
4829 | |
4830 * g-os_lib.ads: Minor reformatting | |
4831 | |
4832 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was | |
4833 wrong in any case. Instead use standard value. Noticed during code | |
4834 reading. | |
4835 | |
4836 * opt.ads (Max_Line_Length): New field, used to implement removal of | |
4837 limitation on length of lines when scanning config pragma files. | |
4838 | |
4839 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb, | |
4840 makeutl.ads, makeutl.adb: Minor reformatting | |
4841 | |
4842 * scn.adb: Do not check line length while scanning config pragma files | |
4843 Do not check line length while scanning out license information | |
4844 | |
4845 * scng.adb: Changes to avoid line length checks while parsing config | |
4846 pragma files. | |
4847 | |
4848 2004-05-10 GNAT Script <nobody@gnat.com> | |
4849 | |
4850 * Make-lang.in: Makefile automatically updated | |
4851 | |
4852 2004-05-05 Arnaud Charlet <charlet@act-europe.fr> | |
4853 | |
4854 * osint.adb (Find_Program_Name): Fix handling of VMS version | |
4855 number. | |
4856 | |
4857 2004-05-05 Emmanuel Briot <briot@act-europe.fr> | |
4858 | |
4859 * g-os_lib.ads (Invalid_Time): New constant | |
4860 | |
4861 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now | |
4862 return OS_Time instead of time_t to match what is imported by Ada. | |
4863 Now return -1 if the file doesn't exist, instead of a random value | |
4864 | |
4865 2004-05-05 Robert Dewar <dewar@gnat.com> | |
4866 | |
4867 * usage.adb: Add line for -gnatR?s switch | |
4868 | |
4869 * sem_ch13.adb, exp_ch2.adb: Minor reformatting | |
4870 | |
4871 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size | |
4872 and for Match (Data_First, Data_last) | |
4873 | |
4874 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is | |
4875 written when we are dealing with multi-unit files. | |
4876 | |
4877 2004-05-05 Jerome Guitton <guitton@act-europe.fr> | |
4878 | |
4879 * Makefile.in: Remove unused targets and variables. | |
4880 | |
4881 2004-05-05 Vincent Celier <celier@gnat.com> | |
4882 | |
4883 * switch-m.adb: New gnatmake switch -eI | |
4884 | |
4885 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and | |
4886 of new gnatmake switch -eInnn. | |
4887 | |
4888 * makegpr.adb: Take into account new parameters Index and Src_Index in | |
4889 Prj.Util. | |
4890 | |
4891 * clean.adb: Implement support for multi-unit sources, including new | |
4892 switch -i. | |
4893 | |
4894 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter | |
4895 Src_Index. | |
4896 | |
4897 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0 | |
4898 (Extract_From_Q): New out parameter Index | |
4899 (Mark, Is_Marked): Subprograms moved to Makeutl | |
4900 (Switches_Of): New parameter Source_Index | |
4901 (Add_Switch): New parameter Index | |
4902 (Check): New parameter Source_Index | |
4903 (Collect_Arguments): New parameter Source_Index | |
4904 (Collect_Arguments_And_Compile): New parameter Source_Index | |
4905 (Compile): New parameter Source_Index | |
4906 Put subprograms in alphabetical order | |
4907 Add support for multi-source sources, including in project files. | |
4908 | |
4909 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function | |
4910 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from | |
4911 Make. | |
4912 | |
4913 * makeusg.adb: New gnatmake switch -eInnn | |
4914 | |
4915 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to | |
4916 Prj.Util.Value_Of. | |
4917 | |
4918 * opt.ads (Main_Index): New variable, defaulted to 0. | |
4919 | |
4920 * osint.ads, osinte.adb (Add_File): New parameter Index | |
4921 (Current_Source_Index): New function | |
4922 | |
4923 * prj.adb: Take into account new components Index and Src_Index | |
4924 | |
4925 * prj.ads (String_Element): New component Index | |
4926 (Variable_Value): New component Index | |
4927 (Array_Element): New component Src_Index | |
4928 | |
4929 * prj-attr.adb: Indicate that optional index may be specified for | |
4930 attributes Main, Executable, Spec, Body and some of Switches. | |
4931 | |
4932 * prj-attr.ads (Attribute_Kind): New values for optional indexes | |
4933 (Attribute_Record): New component Optional_Index | |
4934 | |
4935 * prj-com.ads (File_Name_Data): New component Index | |
4936 | |
4937 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index | |
4938 | |
4939 * prj-env.adb (Put): Output optional index | |
4940 | |
4941 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and | |
4942 attributes Spec and Body. | |
4943 | |
4944 * prj-nmsc.adb: Process optional indexes | |
4945 | |
4946 * prj-pp.adb: Ouput "at" for optional indexes | |
4947 | |
4948 * prj-proc.adb: Take into account optional indexes | |
4949 | |
4950 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter | |
4951 Optional_Index. For string literal, | |
4952 process optional index when Optional_Index is True. | |
4953 (Parse_Expresion): New Boolean parameter Optional_Index | |
4954 | |
4955 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function | |
4956 (Set_Source_Index_Of): New procedure | |
4957 | |
4958 * prj-util.adb (Executable_Of, Value_Of): Take into account optional | |
4959 index. | |
4960 | |
4961 * prj-util.ads (Executable_Of): New parameter Index | |
4962 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value): | |
4963 New parameter Src_Index, defaulted to 0. | |
4964 | |
4965 2004-05-05 Ed Schonberg <schonberg@gnat.com> | |
4966 | |
4967 PR ada/15257 | |
4968 * sem_ch3.adb (Access_Definition): If this is an access parameter | |
4969 whose designated type is imported through a limited_with clause, do | |
4970 not add the enclosing subprogram to the list of private dependents of | |
4971 the type. | |
4972 | |
4973 2004-05-05 Ed Schonberg <schonberg@gnat.com> | |
4974 | |
4975 PR ada/15258 | |
4976 * sem_ch6.adb (Base_Types_Match): True if one type is imported through | |
4977 a limited_with clause, and the other is its non-limited view. | |
4978 | |
4979 2004-05-05 Thomas Quinot <quinot@act-europe.fr> | |
4980 | |
4981 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals. | |
4982 | |
4983 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb, | |
4984 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use | |
4985 Stand.Boolean_Literals to produce references to entities | |
4986 Standard_False and Standard_True from compile-time computed boolean | |
4987 values. | |
4988 | |
4989 * stand.ads (Boolean_Literals): New variable, provides the entity | |
4990 values for False and True, for use by the expander. | |
4991 | |
4992 2004-05-05 Doug Rupp <rupp@gnat.com> | |
4993 | |
4994 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype | |
4995 5vinmaop.adb: Unchecked convert Short_Address vice Address | |
4996 | |
4997 * adaint.c, raise.c: Caste CRTL function return value | |
4998 to avoid gcc error on 32/64 bit IVMS. | |
4999 | |
5000 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and | |
5001 target = IA64/VMS. | |
5002 | |
5003 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS. | |
5004 | |
5005 * 5qsystem.ads (Address): Declare as Long_Integer | |
5006 (Short_Address): Declare as 32 bit subtype of Address | |
5007 Declare abstract address operations to avoid gratuitous ambiguities. | |
5008 | |
5009 2004-05-05 Jose Ruiz <ruiz@act-europe.fr> | |
5010 | |
5011 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249) | |
5012 instead of the old Boolean_Entry_Barriers. | |
5013 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes. | |
5014 | |
5015 2004-05-05 GNAT Script <nobody@gnat.com> | |
5016 | |
5017 * Make-lang.in: Makefile automatically updated | |
5018 | |
5019 2004-05-03 Arnaud Charlet <charlet@act-europe.fr> | |
5020 | |
5021 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used. | |
5022 | |
5023 2004-05-03 Olivier Hainque <hainque@act-europe.fr> | |
5024 | |
5025 PR ada/15152 | |
5026 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments | |
5027 alone. Replacing object references by literals is inappropriate in a | |
5028 so low level context. | |
5029 | |
5030 2004-05-03 Arnaud Charlet <charlet@act-europe.fr> | |
5031 | |
5032 * a-exexpr.adb: Add comments | |
5033 | |
5034 2004-05-03 Joel Brobecker <brobecker@gnat.com> | |
5035 | |
5036 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to | |
5037 declare the Ancestor_Tags array in Type_Specific_Data with a small size | |
5038 without risking a bounds check error when accessing one of its | |
5039 components. | |
5040 (Type_Specific_Data): Define Ancestor_Tags as a small array. | |
5041 This prevents us from hitting a limitation during the debug info | |
5042 generation when using stabs. | |
5043 | |
5044 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a | |
5045 small array. | |
5046 This prevents us from hitting a limitation during the debug info | |
5047 generation when using stabs. | |
5048 | |
5049 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr> | |
5050 | |
5051 lang-specs.h: Remove -gnatz* from specs. | |
5052 | |
5053 2004-05-03 Vincent Celier <celier@gnat.com> | |
5054 | |
5055 * gprmake.adb, makegpr.ads, makegpr.adb: New files. | |
5056 | |
5057 * Make-lang.in, Makefile.in: Add gprmake | |
5058 | |
5059 2004-05-03 Thomas Quinot <quinot@act-europe.fr> | |
5060 | |
5061 * sem_aggr.adb: Fix typo in comment. | |
5062 | |
5063 2004-05-03 Robert Dewar <dewar@gnat.com> | |
5064 | |
5065 * make.adb: Minor reformatting | |
5066 | |
5067 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function | |
5068 | |
5069 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address | |
5070 so that it works when address is not a private type. | |
5071 | |
5072 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal | |
5073 properly with rewritten unchecked conversions. This prevents | |
5074 order-of-elaboration issues that can otherwise arise. | |
5075 (Minimum_Size): Don't check size of access types under VMS | |
5076 | |
5077 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove | |
5078 interpretations of integer literals as type System.Address. | |
5079 | |
5080 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function | |
5081 (Is_Descendent_Of): New function | |
5082 | |
5083 2004-05-03 Jose Ruiz <ruiz@act-europe.fr> | |
5084 | |
5085 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. | |
5086 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length. | |
5087 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment. | |
5088 | |
5089 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead | |
5090 of the old Max_Entry_Queue_Depth. | |
5091 | |
5092 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. | |
5093 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length | |
5094 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment | |
5095 | |
5096 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers. | |
5097 New entry for proper handling of Max_Entry_Queue_Depth. | |
5098 New entry for proper handling of No_Dynamic_Interrupts. | |
5099 | |
5100 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that | |
5101 supersedes the GNAT specific restriction Boolean_Entry_Barriers. | |
5102 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes | |
5103 the GNAT specific restriction Max_Entry_Queue_Depth. | |
5104 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes | |
5105 the GNAT specific restriction No_Dynamic_Interrupts. | |
5106 | |
5107 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers | |
5108 instead of the old Boolean_Entry_Barriers. | |
5109 Use the new restriction No_Dynamic_Attachment instead of the old | |
5110 No_Dynamic_Interrupts. | |
5111 | |
5112 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that | |
5113 supersedes the GNAT specific restriction Boolean_Entry_Barriers. | |
5114 | |
5115 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead | |
5116 of the old Max_Entry_Queue_Depth. | |
5117 | |
5118 2004-05-03 GNAT Script <nobody@gnat.com> | |
5119 | |
5120 * Make-lang.in: Makefile automatically updated | |
5121 | |
5122 2004-04-29 Ed Schonberg <schonberg@gnat.com> | |
5123 | |
5124 * checks.adb (Enable_Range_Check): If the prefix of an index component | |
5125 is an access to an unconstrained array, perform check unconditionally. | |
5126 | |
5127 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5128 | |
5129 * decl.c (gnat_to_gnu_field): Also call make_packable_type if | |
5130 Component_Clause. | |
5131 | |
5132 2004-04-29 Olivier Hainque <hainque@act-europe.fr> | |
5133 | |
5134 * init.c (__gnat_install_handler, __gnat_error_handler): Remove | |
5135 alternate stack setting. There was no support for the tasking cases | |
5136 and the changes eventually caused a number of side-effect failures in | |
5137 the non-tasking case too. | |
5138 | |
5139 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr> | |
5140 | |
5141 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or | |
5142 -gnats is passed. | |
5143 | |
5144 2004-04-29 Vincent Celier <celier@gnat.com> | |
5145 | |
5146 * make.adb (Gnatmake): Increase max size of argument array for | |
5147 gnatbind for the potential addition of -F. | |
5148 If there are Stand-Alone Library projects, invoke gnatbind with -F to | |
5149 be sure that elaboration flags will be checked. | |
5150 | |
5151 * switch-c.adb: Correct call to Scan_Pos for -gnateI | |
5152 | |
5153 2004-04-29 Thomas Quinot <quinot@act-europe.fr> | |
5154 | |
5155 * sem_warn.adb (Check_References): Move '<access-variable> may be | |
5156 null' warning out of under Warn_On_No_Value_Assigned. | |
5157 | |
5158 2004-04-29 Ed Falis <falis@gnat.com> | |
5159 | |
5160 * gnat_ugn.texi: Fixed texi error | |
5161 | |
5162 2004-04-29 Robert Dewar <dewar@gnat.com> | |
5163 | |
5164 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove | |
5165 abstract operations if they come from predefined files. | |
5166 | |
5167 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be | |
5168 Dynamic, not RM). | |
5169 | |
5170 * s-addope.adb: Correct obvious error in mod function | |
5171 | |
5172 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com> | |
5173 | |
5174 * Makefile.in: Add target pairs for powerpc darwin* | |
5175 tasking support. | |
5176 | |
5177 * a-intnam-darwin.ads, s-osinte-darwin.adb, | |
5178 s-osinte-darwin.ads, system-darwin-ppc.ads: New files. | |
5179 | |
5180 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> | |
5181 | |
5182 * Makefile.in: Add target macro definitions for s390*-linux*. | |
5183 * system-linux-s390.ads: New file. | |
5184 * system-linux-s390x.ads: New file. | |
5185 | |
5186 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
5187 | |
5188 * gnat_ugn.texi: Correct argument to @setfilename. | |
5189 | |
5190 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> | |
5191 | |
5192 * a-exexpr.adb (Unwind_Word): New data type. | |
5193 (Unwind_Exception): Use it as type of Private1 and Private2. | |
5194 | |
5195 * raise.c (db_action_for): Fix debug printf. | |
5196 | |
5197 2004-04-27 Ed Schonberg <schonberg@gnat.com> | |
5198 | |
5199 * a-wtmoio.ads: Formal type must be a modular type, not a signed | |
5200 integer type. | |
5201 | |
5202 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5203 | |
5204 * decl.c (gnat_to_gnu_entity, case object): Call | |
5205 __builtin_update_setjmp_buf. | |
5206 | |
5207 * gigi.h (update_setjmp_buf): Deleted. | |
5208 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New. | |
5209 | |
5210 * misc.c: (update_setjmp_buf): Deleted. | |
5211 | |
5212 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue | |
5213 around block of RTL. | |
5214 | |
5215 * utils.c (init_gigi_decls): Initialize update_setjmp_buf. | |
5216 | |
5217 2004-04-26 Thomas Quinot <quinot@act-europe.fr> | |
5218 | |
5219 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local | |
5220 subprogram for which no pragma All_Calls_Remote applies, store the | |
5221 address of the real subprogram in the underlying record type, so local | |
5222 dereferences do not go through the PCS. | |
5223 | |
5224 2004-04-26 Robert Dewar <dewar@gnat.com> | |
5225 | |
5226 * i-c.ads: Add some type qualifications to avoid ambiguities when | |
5227 compiling with s-auxdec.ads and a non-private address type. | |
5228 | |
5229 2004-04-26 Arnaud Charlet <charlet@act-europe.fr> | |
5230 | |
5231 * Makefile.rtl: Fix error in previous check-in: | |
5232 Add s-addope.o to non tasking object list (rather than tasking object | |
5233 list). | |
5234 | |
5235 2004-04-26 Javier Miranda <miranda@gnat.com> | |
5236 | |
5237 * sem_aggr.adb: Fix typo in comments | |
5238 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate. | |
5239 Required to check the null-exclusion attribute. | |
5240 | |
5241 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in | |
5242 case of anonymous access types in record and array components. For a | |
5243 component definition the level is the same of the enclosing composite | |
5244 type. | |
5245 | |
5246 * sem_ch3.adb (Analyze_Component_Declaration): In case of components | |
5247 that are anonymous access types the level of accessibility depends on | |
5248 the enclosing type declaration. In order to have this information, set | |
5249 the scope of the anonymous access type to the enclosing record type | |
5250 declaration. | |
5251 (Array_Type_Declaration): In case of components that are anonymous | |
5252 access types the level of accessibility depends on the enclosing type | |
5253 declaration. In order to have this information, set the scope of the | |
5254 anonymous access type to the enclosing array type declaration. | |
5255 | |
5256 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous | |
5257 access type. | |
5258 | |
5259 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that | |
5260 renaming of anonymous access-to-constant types allowed if and only if | |
5261 the renamed object is access-to-constant. | |
5262 | |
5263 * sem_util.adb (Type_Access_Level): In case of anonymous access types | |
5264 that are component_definition or discriminants of a nonlimited type, | |
5265 the level is the same as that of the enclosing component type. | |
5266 | |
5267 2004-04-26 Sergey Rybin <rybin@act-europe.fr> | |
5268 | |
5269 * sem_elim.adb: Some minor code reorganization from code reading. Fix | |
5270 misprint in the function name (File_Name_Match). | |
5271 | |
5272 2004-04-23 Laurent Guerby <laurent@guerby.net> | |
5273 | |
5274 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after | |
5275 install. | |
5276 | |
5277 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
5278 | |
5279 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o. | |
5280 | |
5281 2004-04-23 Emmanuel Briot <briot@act-europe.fr> | |
5282 | |
5283 * adaint.c (__gnat_try_lock): No longer requires that the parent | |
5284 directory be writable, the directory itself is enough. | |
5285 (gnat_is_absolute_path): Change profile, so that the call from | |
5286 GNAT.OS_Lib can be made more efficient. | |
5287 | |
5288 * adaint.h (gnat_is_absolute_path): Change profile, so that the call | |
5289 from GNAT.OS_Lib can be made more efficient. | |
5290 | |
5291 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid | |
5292 one copy of the file name. Found by code reading. | |
5293 | |
5294 2004-04-23 Vincent Celier <celier@gnat.com> | |
5295 | |
5296 * gnat_ugn.texi: Add documentation for gnatmake switch -eL | |
5297 Correct documentation on gnatmake switches transmitted to the compiler | |
5298 | |
5299 * ali.ads: Minor comment fix | |
5300 | |
5301 2004-04-23 Javier Miranda <miranda@gnat.com> | |
5302 | |
5303 * sem_ch6.adb: (Confirming Types): Code cleanup | |
5304 | |
5305 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to | |
5306 subprogram types: E_Anonymous_Access_Subprogram_Type and | |
5307 E_Anonymous_Access_Protected_Subprogram_Type. | |
5308 | |
5309 2004-04-23 Thomas Quinot <quinot@act-europe.fr> | |
5310 | |
5311 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating | |
5312 whether a pragma All_Calls_Remote applies to the subprogram on which | |
5313 'Access is taken. | |
5314 No functional change is introduced by this revision; the new parameter | |
5315 will be used to allow calls to local RCI subprograms to be optimized | |
5316 to not use the PCS in the case where no pragma All_Calls_Remote applies, | |
5317 as is already done in the PolyORB implementation of the DSA. | |
5318 | |
5319 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating | |
5320 whether a pragma All_Calls_Remote applies to the subprogram on which | |
5321 'Access is taken. | |
5322 No functional change is introduced by this revision; the new parameter | |
5323 will be used to allow calls to local RCI subprograms to be optimized | |
5324 to not use the PCS in the case where no pragma All_Calls_Remote applies, | |
5325 as is already done in the PolyORB implementation of the DSA. | |
5326 | |
5327 2004-04-23 Robert Dewar <dewar@gnat.com> | |
5328 | |
5329 * Makefile.rtl: Add entry for s-addope.o in run time library list | |
5330 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects | |
5331 * s-addope.ads, s-addope.adb: New files. | |
5332 | |
5333 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, | |
5334 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, | |
5335 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow | |
5336 System.Address to be non-private and signed. | |
5337 | |
5338 * sem_elim.adb: Minor reformatting (fairly extensive) | |
5339 Some minor code reorganization from code reading | |
5340 Add a couple of ??? comments | |
5341 | |
5342 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5343 | |
5344 * trans.c (tree_transform, build_unit_elab): Don't call getdecls. | |
5345 (tree_transform, case N_If_Statement): Remove non-determinism. | |
5346 | |
5347 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL. | |
5348 | |
5349 2004-04-23 Sergey Rybin <rybin@act-europe.fr> | |
5350 | |
5351 * gnat_rm.texi: Small fixes in the changes made in the 'pragma | |
5352 Eliminate' section. | |
5353 | |
5354 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is | |
5355 no longer used as a parameter name for Eliminate pragma). | |
5356 | |
5357 2004-04-22 Laurent Guerby <laurent@guerby.net> | |
5358 | |
5359 PR optimization/14984 | |
5360 PR optimization/14985 | |
5361 * trans.c (gigi): Fix non determinism leading to bootstrap | |
5362 comparison failures. | |
5363 | |
5364 2004-04-21 Pascal Obry <obry@gnat.com> | |
5365 | |
5366 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0]) | |
5367 passed to spawnvp() to properly handle program pathname with spaces on | |
5368 Win32. | |
5369 | |
5370 2004-04-21 Emmanuel Briot <briot@act-europe.fr> | |
5371 | |
5372 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False. | |
5373 (Allocate, Deallocate, Free_Physically): Make sure the tasks are | |
5374 unlocked in case of exceptions. | |
5375 | |
5376 2004-04-21 Joel Brobecker <brobecker@gnat.com> | |
5377 | |
5378 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration. | |
5379 This function does not exist anymore. | |
5380 | |
5381 2004-04-21 Thomas Quinot <quinot@act-europe.fr> | |
5382 | |
5383 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol. | |
5384 | |
5385 * link.c: Move variables to the __gnat name space. | |
5386 | |
5387 * Makefile.in: list link.o explicitly when needed. | |
5388 | |
5389 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib. | |
5390 | |
5391 2004-04-21 Javier Miranda <miranda@gnat.com> | |
5392 | |
5393 * einfo.adb (Original_Access_Type): New subprogram | |
5394 (Set_Original_Access_Type): New subprogram | |
5395 (Write_Field21_Name): Write the name of the new field | |
5396 | |
5397 * einfo.ads (Original_Access_Type): New field present in access to | |
5398 subprogram types. | |
5399 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and | |
5400 E_Anonymous_Access_Protected_Subprogram_Type. | |
5401 | |
5402 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to | |
5403 subprogram types. | |
5404 | |
5405 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding | |
5406 to anonymous access to subprogram types. | |
5407 | |
5408 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access | |
5409 to subprogram types. | |
5410 | |
5411 * sem_ch3.adb (Access_Definition): Complete decoration of entities | |
5412 corresponding to anonymous access to subprogram types. | |
5413 (Analyze_Component_Declaration): Add new actual to the call to | |
5414 subprogram replace_anonymous_access_to_protected_subprogram. | |
5415 (Array_Type_Declaration): Add new actual to the call to subprogram | |
5416 replace_anonymous_access_to_protected_subprogram. | |
5417 (Process_Discriminants): Add new actual to the call to subprogram | |
5418 replace_anonymous_access_to_protected_subprogram. | |
5419 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal. | |
5420 | |
5421 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New | |
5422 formal. | |
5423 | |
5424 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous | |
5425 access to subprogram types. | |
5426 | |
5427 * sem_util.adb (Has_Declarations): Addition of package_specification | |
5428 nodes. | |
5429 | |
5430 2004-04-21 Ed Schonberg <schonberg@gnat.com> | |
5431 | |
5432 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate | |
5433 inlined flags to renamed entity only if in current unit. | |
5434 | |
5435 2004-04-21 Thomas Quinot <quinot@act-europe.fr> | |
5436 | |
5437 * s-parint.ads: Add DSA implementation marker. | |
5438 | |
5439 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the | |
5440 value of System.Partition_Interface.DSA_Implementation to determine | |
5441 what version of the distributed systems annex is available (no | |
5442 implementation, GLADE, or PolyORB). | |
5443 | |
5444 2004-04-21 Joel Brobecker <brobecker@gnat.com> | |
5445 | |
5446 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used. | |
5447 | |
5448 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5449 | |
5450 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node | |
5451 with new type if alias sets differ. | |
5452 Fixes ACATS c41103b. | |
5453 | |
5454 2004-04-21 Vincent Celier <celier@gnat.com> | |
5455 | |
5456 * prj.ads: Remove FORTRAN as an accepted language: not tested yet. | |
5457 Add array Lang_Args for the language specific compiling argument | |
5458 switches. | |
5459 | |
5460 * gnat_ugn.texi: Explain in more details when a library is rebuilt. | |
5461 | |
5462 2004-04-21 Sergey Rybin <rybin@act-europe.fr> | |
5463 | |
5464 * gnat_rm.texi: Update the descripton of the Eliminate pragma | |
5465 according to the recent changes in the format of the parameters of the | |
5466 pragma (replacing Homonym_Number with Source_Location). | |
5467 | |
5468 2004-04-19 Arnaud Charlet <charlet@act-europe.fr> | |
5469 | |
5470 * 5isystem.ads: Removed, unused. | |
5471 | |
5472 * gnat_rm.texi: Redo 1.13 change. | |
5473 | |
5474 2004-04-19 Robert Dewar <dewar@gnat.com> | |
5475 | |
5476 * s-stoele.ads: Clean up definition of Storage_Offset (the new | |
5477 definition is cleaner, avoids the kludge of explicit Standard operator | |
5478 references, and also is consistent with a visible System.Address with | |
5479 no visible operations. | |
5480 | |
5481 * s-geveop.adb: Add declarations to avoid assumption of visible | |
5482 operations on type System.Address (since these might not be available | |
5483 if Address is a non-private type for which the operations | |
5484 are made abstract). | |
5485 | |
5486 * sem_eval.adb: Minor reformatting | |
5487 | |
5488 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads, | |
5489 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor | |
5490 reformatting (new function spec format). | |
5491 | |
5492 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb, | |
5493 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, | |
5494 s-caun64.adb: Add declarations to avoid assumption of visible | |
5495 operations on type System.Address (since these might not be available | |
5496 if Address is a non-private type for which the operations are made | |
5497 abstract). | |
5498 | |
5499 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure. | |
5500 | |
5501 * exp_intr.adb: Minor comment update | |
5502 | |
5503 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting. | |
5504 | |
5505 * 5omastop.adb: Add declarations to avoid assumption of visible | |
5506 operations on type System.Address (since these might not be available | |
5507 if Address is a non-private type for which the operations | |
5508 are made abstract). | |
5509 | |
5510 2004-04-19 Vincent Celier <celier@gnat.com> | |
5511 | |
5512 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL | |
5513 | |
5514 * prj-pars.ads (Parse): New Boolean parameter Process_Languages, | |
5515 defaulted to Ada. | |
5516 | |
5517 * prj-proc.adb (Process): New Boolean parameter Process_Languages, | |
5518 defaulted to Ada. | |
5519 Call Check with Process_Languages. | |
5520 (Check): New Boolean parameter Process_Languages. Call Recursive_Check | |
5521 with Process_Languages. | |
5522 (Recursive_Check): New Boolean parameter Process_Languages. Call | |
5523 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to | |
5524 Process_Languages. | |
5525 | |
5526 * prj-proc.ads (Process): New Boolean parameter Process_Languages, | |
5527 | |
5528 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean | |
5529 parameter Ada_Main, defaulted to True. | |
5530 Check for Ada specific characteristics only when Ada_Main is True. | |
5531 | |
5532 * opt.ads: (Follow_Links): New Boolean flag for gnatmake | |
5533 | |
5534 * prj.adb: (Project_Empty): Add new Project_Data components. | |
5535 | |
5536 * prj.ads: New types and tables for non Ada languages. | |
5537 (Project_Data): New components Languages, Impl_Suffixes, | |
5538 First_Other_Source, Last_Other_Source, Imported_Directories_Switches, | |
5539 Include_Path, Include_Data_Set. | |
5540 | |
5541 * prj-env.ads, prj-env.adb: Minor reformatting | |
5542 | |
5543 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure | |
5544 Put subprograms in alphabetical order | |
5545 | |
5546 * prj-pars.adb (Parse): New Boolean parameter Process_Languages, | |
5547 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and | |
5548 Opt.Follow_Links. | |
5549 | |
5550 * mlib-prj.adb: Back out modification in last version, as they are | |
5551 incorrect. | |
5552 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off) | |
5553 | |
5554 * make.adb: (Mains): Moved to package Makeutl | |
5555 (Linker_Opts): Moved to package Makeutl | |
5556 (Is_External_Assignment): Moved to package Makeutl | |
5557 (Test_If_Relative_Path): Moved to package Makeutl | |
5558 (Gnatmake): Move sorting of linker options to function | |
5559 Makeutl.Linker_Options_Switches. | |
5560 | |
5561 * makeutl.ads, makeutl.adb: New files. | |
5562 | |
5563 * Makefile.in: Add makeutl.o to the object files for gnatmake | |
5564 | |
5565 * makeusg.adb: Add line for new switch -eL. | |
5566 | |
5567 * gnatls.adb (Image): New function. | |
5568 (Output_Unit): If in verbose mode, output the list of restrictions | |
5569 specified by pragmas Restrictions. | |
5570 | |
5571 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use | |
5572 Text_IO. | |
5573 | |
5574 * a-calend.adb (Split): Shift the date by multiple of 56 years, if | |
5575 needed, to put it in the range 1970 (included) - 2026 (excluded). | |
5576 (Time_Of): Do not shift Unix_Min_Year (1970). | |
5577 Shift the date by multiple of 56 years, if needed, to put it in the | |
5578 range 1970 (included) - 2026 (excluded). | |
5579 | |
5580 * adaint.h, adaint.c (__gnat_set_executable): New function. | |
5581 | |
5582 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5583 | |
5584 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push | |
5585 and pop GC context. | |
5586 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE. | |
5587 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH. | |
5588 (tree_transform, case N_Procedure_Call_Statement): Build a tree. | |
5589 (tree_transform, case N_Code_Statement): Likewise. | |
5590 (gnat_expand_stmt, case LABEL_STMT): Don't look at | |
5591 LABEL_STMT_FIRST_IN_EH. | |
5592 (gnat_expand_stmt, case ASM_STMT): New case. | |
5593 | |
5594 * utils2.c (build_unary_op): Properly set TREE_READONLY of | |
5595 UNCONSTRAINED_ARRAY_REF. | |
5596 | |
5597 * utils.c (poplevel): Temporarily push/pop GC context around inline | |
5598 function expansion. | |
5599 | |
5600 * decl.c (maybe_variable): Properly set TREE_READONLY of | |
5601 UNCONSTRAINED_ARRAY_REF. | |
5602 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE. | |
5603 | |
5604 * ada-tree.def: (ASM_STMT): New. | |
5605 | |
5606 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted. | |
5607 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT, | |
5608 ASM_STMT_INPUT): New. | |
5609 (ASM_STMT_CLOBBER): Likewise. | |
5610 | |
5611 2004-04-19 Thomas Quinot <quinot@act-europe.fr> | |
5612 | |
5613 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use | |
5614 general rcheck mechanism to raise Program_Error for E.4(18), instead | |
5615 of a custom raiser in System.Partition_Interface. | |
5616 Part of general cleanup work before PolyORB integration. | |
5617 | |
5618 * snames.ads, snames.adb: Add new runtime library entities and names | |
5619 for PolyORB DSA. | |
5620 | |
5621 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to | |
5622 exp_dist. | |
5623 (Build_Subprogram_Id): New subprogram provided by exp_dist | |
5624 Code reorganisation in preparation for PolyORB integration. | |
5625 | |
5626 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to | |
5627 exp_dist. | |
5628 (Build_Subprogram_Id): New subprogram provided by exp_dist | |
5629 | |
5630 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in | |
5631 actual parameter types for call to dereference of an | |
5632 access-to-subprogram type. | |
5633 | |
5634 * rtsfind.ads: Add new runtime library entities and names for PolyORB | |
5635 DSA. | |
5636 | |
5637 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value | |
5638 instead, which has the same behaviour here since we never pass it a | |
5639 NULL pointer. | |
5640 | |
5641 * link.c (run_path_option, Solaris case): Use -Wl, as for other | |
5642 platforms. | |
5643 | |
5644 * Makefile.in: adjust object file lists for gnatlink and gnatmake | |
5645 to account for new dependency upon Interfaces.C.Strings + link.o | |
5646 For x86 FreeBSD, use 86numaux. | |
5647 | |
5648 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up | |
5649 from Mlib.Tgt to Mlib. | |
5650 | |
5651 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now | |
5652 target-independent. | |
5653 | |
5654 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove | |
5655 target-specific versions of this subprogram, now implemented as a | |
5656 target-independent function in Mlib. | |
5657 | |
5658 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb, | |
5659 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb | |
5660 (Linker_Library_Path_Option): Remove target-specific versions of this | |
5661 subprogram, now implemented as a target-independent function in Mlib. | |
5662 | |
5663 * atree.adb: (Allocate_Initialize_Node): New subprogram. | |
5664 Factors out node table slots allocation. | |
5665 (Fix_Parents): New subprogram. | |
5666 Encapsulate the pattern of fixing up parent pointers for syntactic | |
5667 children of a rewritten node. | |
5668 (New_Copy_Tree): Use New_Copy to copy non-entity nodes. | |
5669 (Rewrite): Use New_Copy when creating saved copy of original node. | |
5670 (Replace): Use Copy_Node to copy nodes. | |
5671 | |
5672 2004-04-19 Javier Miranda <miranda@gnat.com> | |
5673 | |
5674 * sprint.adb (Sprint_Node_Actual): Give support to the new | |
5675 Access_To_Subprogram node available in Access_Definition nodes. In | |
5676 addition, give support to the AI-231 node fields: null-exclusion, | |
5677 all-present, constant-present. | |
5678 | |
5679 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram | |
5680 | |
5681 * sinfo.ads, sinfo.adb: | |
5682 New field Access_To_Subprogram_Definition in Access_Definition nodes | |
5683 | |
5684 * sem_ch6.adb (Process_Formals): Move here the code that creates and | |
5685 decorates internal subtype declaration corresponding to the | |
5686 null-excluding formal. This code was previously in Set_Actual_Subtypes. | |
5687 In addition, carry out some code cleanup on this code. In case of | |
5688 access to protected subprogram call | |
5689 Replace_Anonymous_Access_To_Protected_Subprogram. | |
5690 (Set_Actual_Subtypes): Code cleanup. | |
5691 | |
5692 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to | |
5693 Find_Type in case of anonymous access renamings. Add warning in case of | |
5694 null-excluding attribute used in anonymous access renaming. | |
5695 | |
5696 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New | |
5697 subprogram | |
5698 | |
5699 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New | |
5700 subprogram. | |
5701 (Access_Definition): In case of anonymous access to subprograms call | |
5702 the corresponding semantic routine to decorate the node. | |
5703 (Access_Subprogram_Declaration): Addition of some comments indicating | |
5704 some code that probably should be added here. Detected by comparison | |
5705 with the access_definition subprogram. | |
5706 (Analyze_Component_Declaration): In case of access to protected | |
5707 subprogram call Replace_Anonymous_Access_To_Protected. | |
5708 (Array_Type_Declaration): In case of access to protected subprogram call | |
5709 Replace_Anonymous_Access_To_Protected_Subprogram. | |
5710 (Process_Discriminants): In case of access to protected subprogram call | |
5711 Replace_Anonymous_Access_To_Protected_Subprogram. | |
5712 | |
5713 * par.adb (P_Access_Definition): New formal that indicates if the | |
5714 null-exclusion part was present. | |
5715 (P_Access_Type_Definition): New formal that indicates if the caller has | |
5716 already parsed the null-excluding part. | |
5717 | |
5718 * par-ch3.adb (P_Subtype_Declaration): Code cleanup. | |
5719 (P_Identifier_Declarations): Code cleanup and give support to renamings | |
5720 of anonymous access to subprogram types. | |
5721 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup. | |
5722 (P_Array_Type_Definition): Give support to AI-254. | |
5723 (P_Component_Items): Give support to AI-254. | |
5724 (P_Access_Definition): New formal that indicates if the header was | |
5725 already parsed by the caller. | |
5726 (P_Access_Type_Definition): New formal that indicates if the caller has | |
5727 already parsed the null-excluding part. | |
5728 | |
5729 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the | |
5730 call to P_Access_Definition. | |
5731 | |
5732 2004-04-19 Geert Bosch <bosch@gnat.com> | |
5733 | |
5734 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement | |
5735 the delicate semantics of floating-point to integer conversion. | |
5736 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check. | |
5737 | |
5738 * eval_fat.adb (Machine_Mantissa): Moved to spec. | |
5739 (Machine_Radix): New function. | |
5740 | |
5741 * eval_fat.ads (Machine_Mantissa): Moved from body for use in | |
5742 conversion checks. | |
5743 (Machine_Radix): New function also for use in conversion checks. | |
5744 | |
5745 2004-04-19 Ed Schonberg <schonberg@gnat.com> | |
5746 | |
5747 * par-prag.adb (Source_File_Name_Project): Fix typo in error message. | |
5748 | |
5749 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze | |
5750 to decorate the access-to-protected subprogram and the equivalent type. | |
5751 | |
5752 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support | |
5753 to anonymous access to subprogram types. | |
5754 | |
5755 * exp_ch4.adb (Expand_N_In): Preserve Static flag before | |
5756 constant-folding, for legality checks in contexts that require an RM | |
5757 static expression. | |
5758 | |
5759 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large | |
5760 temporary but stack checking is not enabled, increment serial number | |
5761 to so that symbol generation is consistent with and without stack | |
5762 checking. | |
5763 | |
5764 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is | |
5765 independent on whether stack checking is enabled, caller must check | |
5766 the corresponding flag. | |
5767 | |
5768 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need | |
5769 range checks. | |
5770 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from | |
5771 parent if it has discriminants. | |
5772 (Build_Derived_Private_Type): Constructed full view does | |
5773 not come from source. | |
5774 (Process_Discriminants): Default discriminants on a tagged type are | |
5775 legal if this is the internal completion of a private untagged | |
5776 derivation. | |
5777 | |
5778 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs | |
5779 no constraint checks, because it corresponds to an existing object. | |
5780 | |
5781 * sem_prag.adb (Process_Convention): Pragma applies | |
5782 only to subprograms in the same declarative part, i.e. the same unit, | |
5783 not the same scope. | |
5784 | |
5785 * sem_res.adb (Valid_Conversion): In an instance or inlined body, | |
5786 ignore type mismatch on a numeric conversion if expression comes from | |
5787 expansion. | |
5788 | |
5789 2004-04-19 Sergey Rybin <rybin@act-europe.fr> | |
5790 | |
5791 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for | |
5792 Homonym_Number parameter, add processing for Source_Location parameter | |
5793 corresponding. | |
5794 (Check_Eliminated): Remove the check for homonym numbers, add the check | |
5795 for source location traces. | |
5796 | |
5797 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number | |
5798 with Arg_Source_Location corresponding to the changes in the format of | |
5799 the pragma. | |
5800 | |
5801 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of | |
5802 Eliminate pragma corresponding to the changes in the format of the | |
5803 pragma: Homonym_Number is replaced with Source_Location, two ways of | |
5804 distinguishing homonyms are mutially-exclusive. | |
5805 | |
5806 2004-04-19 Joel Brobecker <brobecker@gnat.com> | |
5807 | |
5808 * get_targ.ads (Get_No_Dollar_In_Label): Remove. | |
5809 | |
5810 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of | |
5811 No_Dollar_In_Label, no longer necessary, as it is always True. | |
5812 (Strip_Suffixes): Likewise. | |
5813 | |
5814 2004-04-19 Gary Dismukes <dismukes@gnat.com> | |
5815 | |
5816 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of | |
5817 modulus for compatibility with size clause on targets with 16-bit | |
5818 Integer. | |
5819 | |
5820 * layout.adb (Discrimify): In the case of private types, set Vtyp to | |
5821 full type to fix type mismatches on calls to size functions for | |
5822 discriminant-dependent array components. | |
5823 | |
5824 2004-04-19 Jerome Guitton <guitton@act-europe.fr> | |
5825 | |
5826 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time | |
5827 lib. | |
5828 | |
5829 2004-04-19 Pascal Obry <obry@gnat.com> | |
5830 | |
5831 * mdll-utl.adb (Locate): New version is idempotent. | |
5832 | |
5833 2004-04-17 Laurent Guerby <laurent@guerby.net> | |
5834 | |
5835 PR ada/14988 (partial) | |
5836 * impunit.adb: Fix typo. | |
5837 | |
5838 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org> | |
5839 | |
5840 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none, | |
5841 and install-rts-cert targets. Remove all gnatlib and gnattools | |
5842 targets and all other rts-* targets (moved to libada). Remove (now) | |
5843 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND, | |
5844 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS. | |
5845 | |
5846 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5847 | |
5848 * trans.c (tree_transform): Shortcut returning error_mark_node for | |
5849 statements in annotate_only_mode. | |
5850 (tree_transform, case N_Label, case N_Return_Statement, | |
5851 N_Goto_Statement): Make statement tree instead of generating code. | |
5852 (tree_transform, case N_Assignment_Statement): No longer check | |
5853 type_annotate_only. | |
5854 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case | |
5855 RETURN_STMT): New. | |
5856 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl): | |
5857 New fcns. | |
5858 (gnat_to_gnu): Collect any RTL generated and deal with it. | |
5859 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR. | |
5860 (tree_transform case N_If_Statement): Rewrite to make IF_STMT. | |
5861 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases. | |
5862 | |
5863 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes. | |
5864 | |
5865 * ada-tree.def (EXPR_STMT): Fix typo in name. | |
5866 (BLOCK_STMT, IF_STMT): New nodes. | |
5867 | |
5868 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL, | |
5869 LABEL_STMT_FIRST_IN_EH): New macros. | |
5870 (RETURN_STMT_EXPR): Likewise. | |
5871 | |
5872 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE, | |
5873 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros. | |
5874 | |
5875 2004-04-08 Thomas Quinot <quinot@act-europe.fr> | |
5876 | |
5877 * atree.ads: Correct documentation on extended nodes. | |
5878 | |
5879 * link.c: Set run_path_option for FreeBSD. | |
5880 | |
5881 2004-04-08 Vincent Celier <celier@gnat.com> | |
5882 | |
5883 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is | |
5884 one of the ALI file, do not link with DEC lib. | |
5885 | |
5886 * par.adb Remove the last two characters ("%s" or "%b") when checking | |
5887 if a language defined unit may be recompiled. | |
5888 | |
5889 2004-04-08 Ed Schonberg <schonberg@gnat.com> | |
5890 | |
5891 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when | |
5892 removal of abstract operation leaves no possible interpretation for | |
5893 expression. | |
5894 | |
5895 * sem_eval.adb (Eval_Qualified_Expression): Use | |
5896 Set_Raises_Constraint_Error on node when needed, so that it does not | |
5897 get optimized away by subsequent optimizations. | |
5898 | |
5899 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of | |
5900 operands even when they are not wrapped in a type conversion. | |
5901 | |
5902 2004-04-08 Olivier Hainque <hainque@act-europe.fr> | |
5903 | |
5904 * sem_prag.adb (Set_Exported): Warn about making static as result of | |
5905 export only when the export is coming from source. This may be not | |
5906 be true e.g. on VMS where we expand export pragmas for exception codes | |
5907 together with imported or exported exceptions, and we don't want the | |
5908 user to be warned about something he didn't write. | |
5909 | |
5910 2004-04-08 Thomas Quinot <quinot@act-europe.fr> | |
5911 | |
5912 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code | |
5913 duplication between normal entities and those declared as renamings. | |
5914 No functional change. | |
5915 | |
5916 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently | |
5917 inline functions returning an unconstrained result. | |
5918 | |
5919 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr> | |
5920 | |
5921 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to | |
5922 conform to what other front-ends do. | |
5923 | |
5924 2004-04-08 Doug Rupp <rupp@gnat.com> | |
5925 | |
5926 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared | |
5927 libraries. | |
5928 | |
5929 2004-04-06 Pascal Obry <obry@gnat.com> | |
5930 | |
5931 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32. | |
5932 | |
5933 * osint.adb (Program_Name): Do not look past a directory separator. | |
5934 | |
5935 2004-04-06 Thomas Quinot <quinot@act-europe.fr> | |
5936 | |
5937 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists). | |
5938 | |
5939 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of | |
5940 requirement for preserving a copy of the original assignment node. | |
5941 | |
5942 * sinfo.ads: Update comment (Original_Tree -> Original_Node). | |
5943 | |
5944 2004-04-06 Olivier Hainque <hainque@act-europe.fr> | |
5945 | |
5946 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits | |
5947 when supported. | |
5948 | |
5949 2004-04-06 Ed Schonberg <schonberg@gnat.com> | |
5950 | |
5951 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to | |
5952 operator calls in functional notation, and apply | |
5953 Universal_Interpretation to operands, not to their type. | |
5954 | |
5955 2004-04-06 Robert Dewar <dewar@gnat.com> | |
5956 | |
5957 * 5wdirval.adb: Minor reformatting | |
5958 | |
5959 2004-04-06 Ed Falis <falis@gnat.com> | |
5960 | |
5961 * gnat_rm.texi: Improve a reference to the GCC manual | |
5962 | |
5963 2004-04-05 Vincent Celier <celier@gnat.com> | |
5964 | |
5965 * adaint.h, adaint.c: Add function __gnat_named_file_length | |
5966 | |
5967 * impunit.adb: Add Ada.Directories to the list | |
5968 | |
5969 * Makefile.in: Add VMS and Windows versions of | |
5970 Ada.Directories.Validity package body. | |
5971 | |
5972 * Makefile.rtl: Add a-direct and a-dirval | |
5973 | |
5974 * mlib-tgt.ads: Minor comment update. | |
5975 | |
5976 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb, | |
5977 a-direct.ads, a-direct.adb: New files. | |
5978 | |
5979 2004-04-05 Vincent Celier <celier@gnat.com> | |
5980 | |
5981 PR ada/13620 | |
5982 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not | |
5983 just to the compiler. | |
5984 | |
5985 2004-04-05 Robert Dewar <dewar@gnat.com> | |
5986 | |
5987 * a-except.adb (Exception_Name_Simple): Make sure lower bound of | |
5988 returned string is 1. | |
5989 | |
5990 * ali-util.adb: Use proper specific form for Warnings (Off, entity) | |
5991 | |
5992 * eval_fat.ads: Minor reformatting | |
5993 | |
5994 * g-curexc.ads: Document that lower bound of returned string values | |
5995 is always one. | |
5996 | |
5997 * gnatlink.adb: Add ??? comment for previous change | |
5998 (need to document why this is VMS specific) | |
5999 | |
6000 * s-stoele.ads: Minor reformatting | |
6001 | |
6002 * tbuild.ads: Minor reformatting throughout (new function specs) | |
6003 | |
6004 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon | |
6005 after WITH. | |
6006 | |
6007 * scng.adb: Minor reformatting | |
6008 | |
6009 2004-04-05 Geert Bosch <bosch@gnat.com> | |
6010 | |
6011 * eval_fat.adb (Machine): Remove unnecessary suppression of warning. | |
6012 (Leading_Part): Still perform truncation to machine number if the | |
6013 specified radix_digits is greater or equal to machine_mantissa. | |
6014 | |
6015 2004-04-05 Javier Miranda <miranda@gnat.com> | |
6016 | |
6017 * par-ch3.adb: Complete documentation of previous change | |
6018 Correct wrong syntax documentation of the OBJECT_DECLARATION rule | |
6019 (aliased must appear before constant). | |
6020 | |
6021 * par-ch4.adb: Complete documentation of previous change. | |
6022 | |
6023 * par-ch6.adb: Complete documentation of previous change. | |
6024 | |
6025 * sinfo.ads: Fix typo in commment. | |
6026 | |
6027 2004-04-05 Ed Schonberg <schonberg@gnat.com> | |
6028 | |
6029 * sem_ch3.adb (Inherit_Components): If derived type is private and has | |
6030 stored discriminants, use its discriminants to constrain parent type, | |
6031 as is done for non-private derived record types. | |
6032 | |
6033 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement | |
6034 Ada 2005 AI-310: an abstract non-dispatching operation is not a | |
6035 candidate interpretation in an overloaded call. | |
6036 | |
6037 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if | |
6038 expression is Null and target type is not an access type (e.g. a | |
6039 non-private address type). | |
6040 | |
6041 2004-04-05 Thomas Quinot <quinot@act-europe.fr> | |
6042 | |
6043 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment | |
6044 statement whose right-hand side is an inlined call, save a copy of the | |
6045 original assignment subtree to preserve enough consistency for | |
6046 Analyze_Assignment to proceed. | |
6047 | |
6048 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the | |
6049 complete assignment subtree which is now unnecessary, as the expansion | |
6050 of inlined call has been improved to preserve a consistent assignment | |
6051 tree. Note_Possible_Modification must be called only | |
6052 after checks have been applied, or else unnecessary checks will | |
6053 be generated. | |
6054 | |
6055 * sem_util.adb (Note_Possible_Modification): Reorganise the handling | |
6056 of explicit dereferences that do not Come_From_Source: | |
6057 - be selective on cases where we must go back to the dereferenced | |
6058 pointer (an assignment to an implicit dereference must not be | |
6059 recorded as modifying the pointer); | |
6060 - do not rely on Original_Node being present (Analyze_Assignment | |
6061 calls Note_Possible_Modification on a copied tree). | |
6062 | |
6063 * sem_warn.adb (Check_References): When an unset reference to a pointer | |
6064 that is never assigned is encountered, prefer '<pointer> may be null' | |
6065 warning over '<pointer> is never assigned a value'. | |
6066 | |
6067 2004-04-05 Ramon Fernandez <fernandez@gnat.com> | |
6068 | |
6069 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with | |
6070 the ABI. | |
6071 | |
6072 2004-04-05 Olivier Hainque <hainque@act-europe.fr> | |
6073 | |
6074 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for | |
6075 libexc. We currently don't reference anything in this library and | |
6076 linking it in triggers linker warnings we don't want to see. | |
6077 | |
6078 * init.c: Update comments. | |
6079 | |
6080 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6081 | |
6082 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY. | |
6083 * utils.c (create_field_decl): Likewise. | |
6084 * utils2.c (build_unary_op, gnat_build_constructor): Likewise. | |
6085 | |
6086 2004-04-02 Arnaud Charlet <charlet@act-europe.fr> | |
6087 | |
6088 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags. | |
6089 Replace ifinfo by ifnottex, to make makeinfo --html happy again. | |
6090 Add info directory entry and category. | |
6091 | |
6092 2004-04-02 Jan Hubicka <jh@suse.cz> | |
6093 | |
6094 * utils.c: Include function.h | |
6095 (end_subprog_body): Clear DECL_STRUCT_FUNCTION. | |
6096 | |
6097 2004-04-01 Arnaud Charlet <charlet@act-europe.fr> | |
6098 | |
6099 PR ada/14150 | |
6100 * Make-lang.in: Clean up generation of documentation | |
6101 | |
6102 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version | |
6103 | |
6104 * xgnatug.adb: Removed, replaced by xgnatugn.adb | |
6105 | |
6106 * xgnatugn.adb: Replaces xgnatug.adb | |
6107 | |
6108 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi | |
6109 | |
6110 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version | |
6111 | |
6112 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, | |
6113 gnat_ug_wnt.texi: Removed. | |
6114 | |
6115 2004-04-01 Arnaud Charlet <charlet@act-europe.fr> | |
6116 | |
6117 * utils2.c: Update copyright notice. | |
6118 | |
6119 2004-04-01 Robert Dewar <dewar@gnat.com> | |
6120 | |
6121 * checks.adb: Minor reformatting throughout | |
6122 Note that prev checkin added RM reference to alignment warning | |
6123 | |
6124 2004-04-01 Ed Schonberg <schonberg@gnat.com> | |
6125 | |
6126 * exp_aggr.adb (Get_Component_Val): Treat a string literal as | |
6127 non-static when building aggregate for bit-packed array. | |
6128 | |
6129 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a | |
6130 function call that is itself the actual in a procedure call, build | |
6131 temporary for it. | |
6132 | |
6133 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is | |
6134 a string literal, create a temporary for it, constant folding only | |
6135 handles scalars here. | |
6136 | |
6137 2004-04-01 Vincent Celier <celier@gnat.com> | |
6138 | |
6139 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC, | |
6140 Error_Msg_SP): New empty procedures to instantiate the Scanner. | |
6141 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan | |
6142 tokens. | |
6143 (Accumulate_Checksum, Initialize_Checksum): Remove procedures. | |
6144 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens | |
6145 and get the checksum. | |
6146 | |
6147 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is | |
6148 already in the Q. | |
6149 Increase the Marking_Label at the end of the Multiple_Main_Loop, | |
6150 instead of at the beginning. | |
6151 | |
6152 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~' | |
6153 directly. | |
6154 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if | |
6155 on VMS. | |
6156 | |
6157 * osint.ads (Multi_Unit_Index_Character): New Character global variable | |
6158 | |
6159 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character, | |
6160 not '~' directly. | |
6161 | |
6162 * par.adb: Remove test on file name to detect language defined units. | |
6163 Add test on unit name, after parsing, to detect language defined units | |
6164 that are not compiled with -gnatg (except System.RPC and its children) | |
6165 | |
6166 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the | |
6167 following units without style checking. | |
6168 | |
6169 * switch-c.adb: Change -gnatC to -gnateI | |
6170 | |
6171 * usage.adb: Document new switch -gnateInnn | |
6172 | |
6173 * scng.adb (Accumulate_Token_Checksum): New procedure | |
6174 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved | |
6175 word or literal number. | |
6176 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral | |
6177 numbers. | |
6178 | |
6179 2004-04-01 Thomas Quinot <quinot@act-europe.fr> | |
6180 | |
6181 * a-tasatt.adb, | |
6182 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb, | |
6183 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb, | |
6184 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, | |
6185 5vtpopde.adb: Add missing 'constant' keywords. | |
6186 | |
6187 2004-04-01 Javier Miranda <miranda@gnat.com> | |
6188 | |
6189 * par-ch4.adb: (P_Allocator): Code cleanup | |
6190 | |
6191 * sem_ch3.adb (Access_Definition): Properly set the null-excluding | |
6192 attribute. | |
6193 | |
6194 * sinfo.ads: Complete documentation of previous change | |
6195 | |
6196 2004-04-01 Pascal Obry <obry@gnat.com> | |
6197 | |
6198 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options | |
6199 only on VMS. This special handling was done because an old GNU/ld bug | |
6200 on Windows which has been fixed. | |
6201 | |
6202 2004-04-01 GNAT Script <nobody@gnat.com> | |
6203 | |
6204 * Make-lang.in: Makefile automatically updated | |
6205 | |
6206 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6207 | |
6208 * decl.c (gnat_to_gnu_entity, make_type_from_size): | |
6209 Use TYPE_UNSIGNED, not TREE_UNSIGNED. | |
6210 * trans.c (tree_transform, convert_with_check): Likewise. | |
6211 * utils.c (gnat_signed_or_unsigned_type): Likewise. | |
6212 (build_vms_descriptor, unchecked_convert): Likewise. | |
6213 * utils2.c (nonbinary_modular_operation): Likewise. | |
6214 | |
6215 2004-03-29 Javier Miranda <miranda@gnat.com> | |
6216 | |
6217 * checks.adb (Null_Exclusion_Static_Checks): New subprogram | |
6218 (Install_Null_Excluding_Check): Local subprogram that determines whether | |
6219 an access node requires a runtime access check and if so inserts the | |
6220 appropriate run-time check. | |
6221 (Apply_Access_Check): Call Install_Null_Excluding check if required | |
6222 (Apply_Constraint_Check): Call Install_Null_Excluding check if required | |
6223 | |
6224 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram | |
6225 | |
6226 * einfo.ads: Fix typo in comment | |
6227 | |
6228 * exp_ch3.adb (Build_Assignment): Generate conversion to the | |
6229 null-excluding type to force the corresponding run-time check. | |
6230 (Expand_N_Object_Declaration): Generate conversion to the null-excluding | |
6231 type to force the corresponding run-time check. | |
6232 | |
6233 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to | |
6234 the null-excluding type to force the corresponding run-time check. | |
6235 | |
6236 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in | |
6237 case of access types unless they have the null-excluding attribute. | |
6238 | |
6239 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing | |
6240 part. | |
6241 | |
6242 * exp_util.ads: Fix typo in comment | |
6243 | |
6244 * par.adb (P_Null_Exclusion): New subprogram | |
6245 (P_Subtype_Indication): New formal that indicates if the null-excluding | |
6246 part has been scanned-out and it was present | |
6247 | |
6248 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231 | |
6249 | |
6250 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram | |
6251 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding | |
6252 type to force the corresponding run-time check | |
6253 (Resolve_Aggregate): Propagate the null-excluding attribute to the array | |
6254 components | |
6255 (Resolve_Array_Aggregate): Carry out some static checks | |
6256 (Resolve_Record_Aggregate.Get_Value): Carry out some static check | |
6257 | |
6258 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null | |
6259 attribute must be set only if specified by means of the null-excluding | |
6260 part. In addition, we must also propagate the access-constant attribute | |
6261 if present. | |
6262 (Access_Subprogram_Declaration, Access_Type_Declaration, | |
6263 Analyze_Component_Declaration, Analyze_Object_Declaration, | |
6264 Array_Type_Declaration, Process_Discriminants, | |
6265 Analyze_Subtype_Declaration): Propagate the null-excluding attribute | |
6266 and carry out some static checks. | |
6267 (Build_Derived_Access_Type): Set the null-excluding attribute | |
6268 (Derived_Type_Declaration, Process_Subtype): Carry out some static | |
6269 checks. | |
6270 | |
6271 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks | |
6272 | |
6273 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks | |
6274 | |
6275 * sem_ch6.adb (Process_Formals): Carry out some static checks. | |
6276 (Set_Actual_Subtypes): Generate null-excluding subtype if the | |
6277 null-excluding part was present; it is not required to be done here in | |
6278 case of anonymous access types. | |
6279 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null | |
6280 value. | |
6281 | |
6282 * sem_res.adb (Resolve_Actuals): Carry out some static check | |
6283 (Resolve_Null): Allow null in anonymous access | |
6284 | |
6285 * sinfo.adb: New subprogram Null_Exclusion_Present | |
6286 All_Present and Constant_Present available on access_definition nodes | |
6287 | |
6288 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration, | |
6289 object_declaration, derived_type_definition, component_definition, | |
6290 discriminant_specification, access_to_object_definition, | |
6291 access_function_definition, allocator, access_procedure_definition, | |
6292 access_definition, parameter_specification, All_Present and | |
6293 Constant_Present flags available on access_definition nodes. | |
6294 | |
6295 2004-03-29 Robert Dewar <dewar@gnat.com> | |
6296 | |
6297 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, | |
6298 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb, | |
6299 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb, | |
6300 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb, | |
6301 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb, | |
6302 sem_prag.adb: Updates to handle multiple units/file | |
6303 | |
6304 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children | |
6305 | |
6306 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb, | |
6307 sem_util.adb: Minor reformatting | |
6308 | |
6309 * sem_ch12.adb: Add comment for previous change | |
6310 | |
6311 2004-03-29 Laurent Pautet <pautet@act-europe.fr> | |
6312 | |
6313 * osint.adb (Executable_Prefix): Set Exec_Name to the current | |
6314 executable name when not initialized. Otherwise, use its current value. | |
6315 | |
6316 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to | |
6317 initialize it to another executable name than the current one. This | |
6318 allows to configure paths for an executable name (gnatmake) different | |
6319 from the current one (gnatdist). | |
6320 | |
6321 2004-03-29 Ed Schonberg <schonberg@gnat.com> | |
6322 | |
6323 * exp_ch6.adb (Expand_Call): A call to a function declared in the | |
6324 current unit cannot be inlined if it appears in the body of a withed | |
6325 unit, to avoid order of elaboration problems in gigi. | |
6326 | |
6327 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging | |
6328 information for protected (wrapper) operation as well, to simplify gdb | |
6329 use. | |
6330 | |
6331 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a | |
6332 protected body, indicate that the entity for the generated spec comes | |
6333 from source, to ensure that references are properly generated for it. | |
6334 (Build_Body_To_Inline): Do not inline a function that returns a | |
6335 controlled type. | |
6336 | |
6337 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only | |
6338 apply convention to homonyms that are declared explicitly. | |
6339 | |
6340 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function | |
6341 that renames an equality operator and the operands are overloaded, | |
6342 resolve them with the declared formal types, before rewriting as an | |
6343 operator. | |
6344 | |
6345 2004-03-29 GNAT Script <nobody@gnat.com> | |
6346 | |
6347 * Make-lang.in: Makefile automatically updated | |
6348 | |
6349 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr> | |
6350 | |
6351 * memtrack.adb: Log realloc calls, which are treated as free followed | |
6352 by alloc. | |
6353 | |
6354 2004-03-25 Vincent Celier <celier@gnat.com> | |
6355 | |
6356 * prj-makr.adb (Process_Directories): Detect when a file contains | |
6357 several units. Do not include such files in the config pragmas or | |
6358 in the naming scheme. | |
6359 | |
6360 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode. | |
6361 Resolve links only when not in Trusted_Mode. | |
6362 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory): | |
6363 Do not resolve links for the display names. | |
6364 | |
6365 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not | |
6366 resolve links when computing the display names. | |
6367 | |
6368 2004-03-25 Thomas Quinot <quinot@act-europe.fr> | |
6369 | |
6370 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag | |
6371 attribute reference does not denote a subtype, it can be any | |
6372 expression that has a classwide type, potentially after an implicit | |
6373 dereference. In particular, the prefix can be a view conversion for | |
6374 a classwide type (for which Is_Object_Reference holds), but it can | |
6375 also be a value conversion for an access-to-classwide type. In the | |
6376 latter case, there is an implicit dereference, and the original node | |
6377 for the prefix does not verify Is_Object_Reference. | |
6378 | |
6379 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view | |
6380 conversion of a discriminant-dependent component of a mutable object | |
6381 is one itself. | |
6382 | |
6383 2004-03-25 Ed Schonberg <schonberg@gnat.com> | |
6384 | |
6385 * freeze.adb (Freeze_Entity): When an inherited subprogram is | |
6386 inherited, has convention C, and has unconstrained array parameters, | |
6387 place the corresponding warning on the derived type declaration rather | |
6388 than the original subprogram. | |
6389 | |
6390 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default | |
6391 indication on renaming declaration, if formal has a box and actual | |
6392 is absent. | |
6393 | |
6394 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to | |
6395 determine whether to generate an implicit or explicit reference to | |
6396 the renamed entity. | |
6397 | |
6398 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a | |
6399 subprogram renaming comes from a defaulted formal subprogram in an | |
6400 instance. | |
6401 | |
6402 2004-03-25 Gary Dismukes <dismukes@gnat.com> | |
6403 | |
6404 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default | |
6405 value expressions to ensure that calls within a component definition | |
6406 will be checked (since those are evaluated during the record type's | |
6407 elaboration). | |
6408 | |
6409 2004-03-25 Arnaud Charlet <charlet@act-europe.fr> | |
6410 | |
6411 * s-tpobop.adb: Code clean up: | |
6412 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated | |
6413 code. | |
6414 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call. | |
6415 | |
6416 2004-03-25 Jose Ruiz <ruiz@act-europe.fr> | |
6417 | |
6418 * Makefile.in: Clean up in the ravenscar run time. | |
6419 | |
6420 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6421 | |
6422 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value | |
6423 of No_Strict_Aliasing to build_pointer_type_for_mode. | |
6424 * utils.c (update_pointer_to): Walk pointer and ref chains. | |
6425 | |
6426 2004-03-22 Cyrille Comar <comar@act-europe.fr> | |
6427 | |
6428 * ali.ads: Fix Comment about Dynamic_Elab. | |
6429 | |
6430 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab, | |
6431 Has_RACW, Is_Generic, etc.) | |
6432 (Output_Object, Gnatls): Take into account ALI files not attached to | |
6433 an object. | |
6434 | |
6435 2004-03-22 Vincent Celier <celier@gnat.com> | |
6436 | |
6437 * gprep.adb: Change all String_Access to Name_Id | |
6438 (Is_ASCII_Letter): new function | |
6439 (Double_File_Name_Buffer): New procedure | |
6440 (Preprocess_Infile_Name): New procedure | |
6441 (Process_Files): New procedure | |
6442 (Gnatprep): Check if output and input are existing directories. | |
6443 Call Process_Files to do the real job. | |
6444 | |
6445 2004-03-22 Robert Dewar <dewar@gnat.com> | |
6446 | |
6447 * prj-env.adb, prj-nmsc.ads, prj-proc.ads, | |
6448 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting. | |
6449 | |
6450 2004-03-22 Sergey Rybin <rybin@act-europe.fr> | |
6451 | |
6452 * scn.adb (Contains): Add check for EOF, is needed for a degenerated | |
6453 case when the source contains only comments. | |
6454 | |
6455 2004-03-22 Ed Schonberg <schonberg@gnat.com> | |
6456 | |
6457 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a | |
6458 declaration for a child subprogram body that acts as a spec, indicate | |
6459 that the entity in the declaration needs debugging information. | |
6460 | |
6461 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying | |
6462 full view if the subtype is created for a constrained record component; | |
6463 gigi has enough information to construct the record, and there is no | |
6464 place in the tree for the declaration. | |
6465 | |
6466 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without | |
6467 serial number for the dummy body that is built for analysis, to avoid | |
6468 inconsistencies in the generation of internal names when compiling | |
6469 with -gnatN. | |
6470 | |
6471 2004-03-22 Thomas Quinot <quinot@act-europe.fr> | |
6472 | |
6473 * sem_util.adb (Is_Object_Reference): A view conversion denotes an | |
6474 object. | |
6475 | |
6476 2004-03-22 GNAT Script <nobody@gnat.com> | |
6477 | |
6478 * Make-lang.in: Makefile automatically updated | |
6479 | |
6480 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6481 | |
6482 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. | |
6483 * trans.c (tree_transform, emit_index_check): Likewise. | |
6484 * utils.c (build_template): Likewise. | |
6485 (max_size, convert): Remove handling of WITH_RECORD_EXPR. | |
6486 (maybe_unconstrained_array, unchecked_convert): Likewise. | |
6487 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise. | |
6488 (build_unary_op): Likewise. | |
6489 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. | |
6490 (fill_vms_descriptor): Likewise. | |
6491 (build_call_alloc_dealloc): Likewise. | |
6492 ALIGN is unsigned. | |
6493 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned. | |
6494 | |
6495 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk> | |
6496 | |
6497 PR other/14630 | |
6498 * gnat_ug.texi: Add info directory category and entry. | |
6499 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, | |
6500 gnat_ug_wnt.texi: Regenerate. | |
6501 | |
6502 2004-03-19 Arnaud Charlet <charlet@act-europe.fr> | |
6503 | |
6504 * ada-tree.h: Update copyright notice. | |
6505 Minor reformatting. | |
6506 | |
6507 2004-03-19 Olivier Hainque <hainque@act-europe.fr> | |
6508 | |
6509 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions | |
6510 as regular exception objects and not as mere integers representing the | |
6511 condition code. The latter approach required some dynamics to mask off | |
6512 severity bits, which did not fit well into the GCC table based model. | |
6513 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS | |
6514 exception data objects. We don't it and it would conflict with the other | |
6515 external symbol we have to generate for such exceptions. | |
6516 | |
6517 * trans.c (tree_transform, case N_Exception_Handler): Remove part of | |
6518 the special code for VMS exceptions, since these are now represented | |
6519 as regular exceptions objects. | |
6520 | |
6521 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6522 | |
6523 * decl.c (debug_no_type_hash): Remove. | |
6524 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it. | |
6525 * misc.c (LANG_HOOK_HASH_TYPE): Redefine. | |
6526 | |
6527 2004-03-19 Laurent Guerby <laurent@guerby.net> | |
6528 | |
6529 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of | |
6530 aggregate, allows bootstrap from 3.3 on powerpc-darwin. | |
6531 | |
6532 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6533 | |
6534 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking. | |
6535 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise. | |
6536 (TYPE_RM_SIZE_INT): Directly use type.values. | |
6537 (TREE_LOOP_ID): Clean up check. | |
6538 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use | |
6539 TYPE_VALUES, not TYPE_FIELDS. | |
6540 * trans.c (convert_with_check): Delay access of bounds of basetype | |
6541 until sure is numeric. | |
6542 | |
6543 2004-03-18 Arnaud Charlet <charlet@act-europe.fr> | |
6544 | |
6545 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file. | |
6546 | |
6547 Code clean up: | |
6548 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb, | |
6549 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use | |
6550 Specific.Set instead of direct call to e.g pthread_setspecific. | |
6551 | |
6552 2004-03-18 Thomas Quinot <quinot@act-europe.fr> | |
6553 | |
6554 * adaint.c: Update comments. | |
6555 | |
6556 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and | |
6557 GNATLIB_SHARED for FreeBSD. | |
6558 | |
6559 2004-03-18 Jose Ruiz <ruiz@act-europe.fr> | |
6560 | |
6561 * init.c [VxWorks]: Do not fix the stack size for the environment task. | |
6562 When needed (stack checking) the stack size is retrieved | |
6563 from the VxWorks kernel. | |
6564 | |
6565 * Makefile.in: Flag -nostdinc is required when building the run time | |
6566 for avoiding looking for files in the base compiler. | |
6567 Add the VxWorks specific version of the package body for | |
6568 System.Stack_checking.Operations (5zstchop.adb). | |
6569 | |
6570 * Make-lang.in: Add the object file for | |
6571 System.Stack_Checking.Operations. | |
6572 | |
6573 * Makefile.rtl: Add object file for the package | |
6574 System.Stack_Checking.Operations. | |
6575 | |
6576 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files. | |
6577 | |
6578 * s-stache.ads, s-stache.adb: Move the operations related to stack | |
6579 checking from this package to package System.Stack_Checking.Operations. | |
6580 This way, stack checking operations are only linked in the final | |
6581 executable when using the -fstack-check flag. | |
6582 | |
6583 2004-03-18 Doug Rupp <rupp@gnat.com> | |
6584 | |
6585 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads). | |
6586 Reorganize ifeq's. | |
6587 | |
6588 * 5qsystem.ads, 5xcrtl.ads: New files. | |
6589 | |
6590 2004-03-18 Vincent Celier <celier@gnat.com> | |
6591 | |
6592 * prj.adb (Reset): Reset hash table Files_Htable | |
6593 | |
6594 * prj-env.adb (Source_Paths, Object_Paths): New tables. | |
6595 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace | |
6596 the procedures Add_To_Path_File. | |
6597 (Set_Ada_Paths): Accumulate source and object dirs in the tables, | |
6598 making sure that each directory is present only once and, for object | |
6599 dirs, when a directory already present is added, the duplicate is | |
6600 removed and the directory is always put as the last in the table. | |
6601 Write the path files at the end of these accumulations. | |
6602 | |
6603 * prj-nmsc.adb (Record_Source): Add source file name in hash table | |
6604 Files_Htable for all sources. | |
6605 | |
6606 * prj-proc.adb (Process): Remove restrictions between not directly | |
6607 related extending projects. | |
6608 | |
6609 2004-03-18 Emmanuel Briot <briot@act-europe.fr> | |
6610 | |
6611 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode. | |
6612 (Find_Sources): Minor speed optimization. | |
6613 | |
6614 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New | |
6615 parameter Trusted_Mode. | |
6616 | |
6617 2004-03-18 Sergey Rybin <rybin@act-europe.fr> | |
6618 | |
6619 * scn.adb (Determine_License): Take into account a degenerated case | |
6620 when the source contains only comments. | |
6621 | |
6622 2004-03-18 Ed Schonberg <schonberg@gnat.com> | |
6623 | |
6624 * sem_warn.adb (Check_References): For a warning on a selected | |
6625 component that does not come from source, locate an uninitialized | |
6626 component of the record type to produce a more precise error message. | |
6627 | |
6628 2004-03-15 Jerome Guitton <guitton@act-europe.fr> | |
6629 | |
6630 * 3zsoccon.ads: Fix multicast options. | |
6631 | |
6632 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address | |
6633 in the spec. | |
6634 | |
6635 2004-03-15 Robert Dewar <dewar@gnat.com> | |
6636 | |
6637 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when | |
6638 pragma used for a private type. | |
6639 | |
6640 * lib-xref.adb (Generate_Reference): Do not generate warning if | |
6641 reference is in a different unit from the pragma Unreferenced. | |
6642 | |
6643 * 5vtpopde.adb: Minor reformatting | |
6644 Fix casing of To_Task_ID | |
6645 | |
6646 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing | |
6647 flag if we have an unchecked conversion to an access type in the same | |
6648 unit. | |
6649 | |
6650 2004-03-15 Geert Bosch <bosch@gnat.com> | |
6651 | |
6652 * a-ngcoty.adb (Modulus): In alternate formula for large real or | |
6653 imaginary parts, use Double precision throughout. | |
6654 | |
6655 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only | |
6656 we want to be able to compile run-time with -gnata for testing, but | |
6657 this may also be instantiated in user code that is compiled with -gnata. | |
6658 | |
6659 2004-03-15 Olivier Hainque <hainque@act-europe.fr> | |
6660 | |
6661 * s-stalib.ads (Exception_Code): New type, to represent Import/Export | |
6662 codes. Having a separate type for this is useful to enforce consistency | |
6663 throughout the various run-time units. | |
6664 (Exception_Data): Use Exception_Code for Import_Code. | |
6665 | |
6666 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of | |
6667 Natural and Integer in various places. | |
6668 (Register_VMS_Exception): Use Base_Code_In to compute the exception code | |
6669 with the severity bits masked off. | |
6670 (Register_VMS_Exception): Handle the additional exception data pointer | |
6671 argument. | |
6672 | |
6673 * raise.c (_GNAT_Exception structure): Remove the handled_by_others | |
6674 component, now reflected by an exported accessor. | |
6675 (is_handled_by): New routine to compute whether the propagated | |
6676 occurrence matches some handler choice specification. Extracted out of | |
6677 get_action_description_for, and expanded to take care of the VMS | |
6678 specifities. | |
6679 (get_action_description_for): Use is_handled_by instead of an explicit | |
6680 complex condition to decide if the current choice at hand catches the | |
6681 propagated occurrence. | |
6682 | |
6683 * raise.h (Exception_Code): New type for C. | |
6684 | |
6685 * rtsfind.ads (RE_Id, RE_Unit_Table): Add | |
6686 System.Standard_Library.Exception_Code, to allow references from the | |
6687 pragma import/export expander. | |
6688 | |
6689 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For): | |
6690 New accessors to allow easy access to GNAT exception data | |
6691 characteristics. | |
6692 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the | |
6693 redundant Handled_By_Others component, helper for the personality | |
6694 routine which will now be able to call the appropriate exception data | |
6695 accessor instead. | |
6696 | |
6697 * cstand.adb (Create_Standard): Adjust the type of the Import_Code | |
6698 component of Standard_Exception_Type to be the closest possible to | |
6699 Exception_Code in System.Standard_Library, that we cannot get at this | |
6700 point. Expand a ??? comment to notify that this type node should | |
6701 probably be rewritten later on. | |
6702 | |
6703 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the | |
6704 registration call to include a pointer to the exception object in the | |
6705 arguments. | |
6706 | |
6707 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In | |
6708 instead of int and explicit bitmasks. | |
6709 | |
6710 2004-03-15 Vincent Celier <celier@gnat.com> | |
6711 | |
6712 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED | |
6713 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED. | |
6714 | |
6715 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no | |
6716 longer needed now that it is in the spec of | |
6717 System.Tasking.Task_Attributes. | |
6718 | |
6719 * adaint.h, adaint.c: (__gnat_create_output_file): New function | |
6720 | |
6721 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of = | |
6722 | |
6723 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function. | |
6724 | |
6725 * make.adb (Gnatmake): Do not check the executable suffix; it is being | |
6726 taken care of in Scan_Make_Arg. | |
6727 (Scan_Make_Arg): Add the executable suffix only if the argument | |
6728 following -o, in canonical case, does not end with the executable | |
6729 suffix. When in verbose mode and executable file name does not end | |
6730 with executable suffix, output the executable name, in canonical case. | |
6731 | |
6732 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing | |
6733 to avoid warnings when instantiating Ada.Task_Attributes. | |
6734 Minor reformating. | |
6735 | |
6736 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries | |
6737 in the correct order. | |
6738 | |
6739 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but | |
6740 redirect standard output and error to a file for the invocation of the | |
6741 compiler, then read the file. | |
6742 | |
6743 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each | |
6744 directory, instead of the Value. | |
6745 (Find_Source_Dirs): Remove useless code & comments. | |
6746 | |
6747 2004-03-15 Ed Schonberg <schonberg@gnat.com> | |
6748 | |
6749 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a | |
6750 tagged type is inherited, and the parent operation is not frozen yet, | |
6751 force generation of a freeze node for the inherited operation, so the | |
6752 corresponding dispatch entry is properly initialized. | |
6753 (Make_Predefined_Primitive_Specs): Check that return type is Boolean | |
6754 when looking for user-defined equality operation. | |
6755 | |
6756 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is | |
6757 boolean when locating primitive equality of tagged component. | |
6758 | |
6759 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a | |
6760 bit-aligned field and the right-hand side a string literal, introduce | |
6761 a temporary before expanding assignment into a loop. | |
6762 | |
6763 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for | |
6764 priority in full, to ensure that any expanded subepxressions of it are | |
6765 elaborated in the scope of the init_proc. | |
6766 | |
6767 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call | |
6768 after object declaration, skipping over code that may have been | |
6769 generated for validity checks. | |
6770 | |
6771 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown | |
6772 discriminants, ignore the known discriminants of its full view, if | |
6773 any, to check legality. | |
6774 | |
6775 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained | |
6776 component if type has unknown discriminants. | |
6777 (Analyze_Private_Extension_Declaration): Discriminant constraint is | |
6778 null if type has unknown discriminants. | |
6779 | |
6780 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference | |
6781 for end label when present. | |
6782 | |
6783 * s-fileio.adb (Open): When called with a C_Stream, use given name for | |
6784 temporary file, rather than an empty string. | |
6785 | |
6786 2004-03-15 Ed Falis <falis@gnat.com> | |
6787 | |
6788 * s-thread.adb: Removed, no longer used. | |
6789 | |
6790 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6791 | |
6792 * decl.c (target.h): Now include. | |
6793 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE | |
6794 in new build_pointer_from_mode calls for non-fat/non-thin pointer. | |
6795 (validate_size): For POINTER_TYPE, get smallest size permitted on | |
6796 machine. | |
6797 | |
6798 * fe.h: Sort Einfo decls and add Set_Mechanism. | |
6799 | |
6800 * Makefile.in: (LIBGNAT_SRCS): Remove types.h. | |
6801 (ada/decl.o): Depends on target.h. | |
6802 | |
6803 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use | |
6804 FUNCTION_BOUNDARY; always use TYPE_ALIGN. | |
6805 | |
6806 2004-03-15 Thomas Quinot <quinot@act-europe.fr> | |
6807 | |
6808 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID. | |
6809 | |
6810 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call | |
6811 Insert_Dereference_Action when rewriting an implicit dereference into | |
6812 an explicit one, this will be taken care of during expansion of the | |
6813 explicit dereference. | |
6814 (Expand_N_Slice): Same. Always do the rewriting, even for the case | |
6815 of non-packed slices, since the dereference action generated by | |
6816 expansion of the explicit dereference is needed in any case. | |
6817 (Expand_N_Selected_Component): When rewriting an implicit dereference, | |
6818 analyze and resolve the rewritten explicit dereference so it is seen | |
6819 by the expander. | |
6820 (Insert_Dereference_Action): This procedure is now called only for the | |
6821 expansion of an N_Explcit_Dereference_Node. Do insert a check even for | |
6822 dereferences that do not come from source (including explicit | |
6823 dereferences resulting from rewriting implicit ones), but do not | |
6824 recursively insert a check for the dereference nodes contained within | |
6825 the check. | |
6826 (Insert_Dereference_Action): Clarify and correct comment. | |
6827 | |
6828 2004-03-08 Paolo Bonzini <bonzini@gnu.org> | |
6829 | |
6830 PR ada/14131 | |
6831 Move language detection to the top level. | |
6832 * config-lang.in: Build by default. | |
6833 | |
6834 2004-03-05 Robert Dewar <dewar@gnat.com> | |
6835 | |
6836 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions | |
6837 | |
6838 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads, | |
6839 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads, | |
6840 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb, | |
6841 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move | |
6842 unchecked conversion to spec to avoid warnings. | |
6843 | |
6844 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id | |
6845 to Task_ID | |
6846 | |
6847 * 7stpopsp.adb: Correct casing in To_Task_ID call | |
6848 | |
6849 * a-strsea.ads, a-strsea.adb: Minor reformatting | |
6850 | |
6851 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing | |
6852 | |
6853 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING. | |
6854 Adjust Max_Msg_Length to be clearly large enough. | |
6855 | |
6856 * fe.h: Define In_Same_Source_Unit | |
6857 | |
6858 * osint.adb: Add pragma Warnings Off to suppress warnings | |
6859 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill | |
6860 aliasing warnings. | |
6861 | |
6862 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing | |
6863 | |
6864 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma | |
6865 | |
6866 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc. | |
6867 | |
6868 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set. | |
6869 | |
6870 * sem_prag.adb: Implement pragma No_Strict_Aliasing. | |
6871 | |
6872 * sinfo.ads: Remove obsolete comment on validate unchecked conversion | |
6873 node. We now do generate them for gcc back end. | |
6874 | |
6875 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing | |
6876 warning. | |
6877 | |
6878 * sinput-c.adb: Fix bad name in header. | |
6879 Add pragma Warnings Off to suppress aliasing warning. | |
6880 | |
6881 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning. | |
6882 | |
6883 * snames.h, snames.ads, snames.adb: Add entry for pragma | |
6884 No_Strict_Aliasing. | |
6885 | |
6886 2004-03-05 Vincent Celier <celier@gnat.com> | |
6887 | |
6888 * prj-com.ads: Add hash table Files_Htable to check when a file name | |
6889 is already a source of another project. | |
6890 | |
6891 * prj-nmsc.adb (Record_Source): Before recording a new source, check | |
6892 if its file name is not already a source of another project. Report an | |
6893 error if it is. | |
6894 | |
6895 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no | |
6896 source file name, call gnatpp with all the sources of the main project. | |
6897 | |
6898 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number | |
6899 of file names. | |
6900 | |
6901 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword | |
6902 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY: | |
6903 /RUNTIME_SYSTEM=, converted to --RTS= | |
6904 /NOTABS, converted to -notabs | |
6905 | |
6906 2004-03-05 Pascal Obry <obry@gnat.com> | |
6907 | |
6908 * make.adb: Minor reformatting. | |
6909 | |
6910 2004-03-05 Ed Schonberg <schonberg@gnat.com> | |
6911 | |
6912 Part of implemention of AI-262. | |
6913 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses. | |
6914 | |
6915 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New | |
6916 procedure. | |
6917 | |
6918 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message | |
6919 when component type is a partially constrained class-wide subtype. | |
6920 (Constrain_Discriminated_Type): If parent type has unknown | |
6921 discriminants, a constraint is illegal, even if full view has | |
6922 discriminants. | |
6923 (Build_Derived_Record_Type): Inherit discriminants when deriving a type | |
6924 with unknown discriminants whose full view is a discriminated record. | |
6925 | |
6926 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants | |
6927 flag, to handle properly derivations of tagged types with unknown | |
6928 discriminants. | |
6929 (Analyze_Package_Spec, Analyze_Package_Body): Install | |
6930 Private_With_Clauses before analyzing private part or body. | |
6931 | |
6932 * einfo.ads: Indicate that both Has_Unknown_Discriminants and | |
6933 Has_Discriminants can be true for a given type (documentation). | |
6934 | |
6935 2004-03-05 Arnaud Charlet <charlet@act-europe.fr> | |
6936 | |
6937 * s-restri.ads: Fix license (GPL->GMGPL). | |
6938 | |
6939 * s-tassta.adb: Minor reformatting. | |
6940 | |
6941 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level | |
6942 by calls to Exit_One_ATC_Level, since additional clean up is performed | |
6943 by this function. | |
6944 | |
6945 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level | |
6946 by calls to Exit_One_ATC_Level, since additional clean up is performed | |
6947 by this function. | |
6948 | |
6949 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6950 | |
6951 * trans.c: Reflect GCC changes to fix bootstrap problem. | |
6952 Add warning for suspicious aliasing unchecked conversion. | |
6953 | |
6954 2004-03-05 GNAT Script <nobody@gnat.com> | |
6955 | |
6956 * Make-lang.in: Makefile automatically updated | |
6957 | |
6958 2004-03-02 Emmanuel Briot <briot@act-europe.fr> | |
6959 | |
6960 * ali.adb (Read_Instantiation_Instance): Do not modify the | |
6961 current_file_num when reading information about instantiations, since | |
6962 this corrupts files in later references. | |
6963 | |
6964 2004-03-02 Vincent Celier <celier@gnat.com> | |
6965 | |
6966 * bcheck.adb (Check_Consistency): Get the full path of an ALI file | |
6967 before checking if it is read-only. | |
6968 | |
6969 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front | |
6970 of SRC_DIRS and eliminate duplicates. | |
6971 | |
6972 * gprcmd.adb: Replace command "path" with command "path_sep" to return | |
6973 the path separator. | |
6974 (Usage): Document path_sep | |
6975 | |
6976 * Makefile.generic: For Ada and GNU C++ cases, link directly with the | |
6977 C++ compiler. No need for a script. | |
6978 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH. | |
6979 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function | |
6980 subst. | |
6981 | |
6982 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project | |
6983 where there are Ada sources. | |
6984 (Set_Ada_Paths): Only add to the include path the source dirs of project | |
6985 with Ada sources. | |
6986 (Add_To_Path): Add the Display_Values of the directories, not their | |
6987 Values. | |
6988 | |
6989 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project | |
6990 data. | |
6991 | |
6992 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value | |
6993 is not No_Name. | |
6994 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only | |
6995 Value is canonicalized. | |
6996 (Language_Independent_Check): Do not copy Value to Display_Value when | |
6997 canonicalizing Value. | |
6998 | |
6999 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased | |
7000 path to find limited with cycles. | |
7001 (Parse_Single_Project): Use canonical cased path to find the end of a | |
7002 with cycle. | |
7003 | |
7004 2004-03-02 Ed Schonberg <schonberg@gnat.com> | |
7005 | |
7006 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit | |
7007 and not a child unit. | |
7008 | |
7009 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can | |
7010 appear in a with_clause. | |
7011 | |
7012 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can | |
7013 only happen in type_annotate mode, do not try to elaborate it. | |
7014 | |
7015 * exp_util.adb (Force_Evaluation): If expression is a selected | |
7016 component on the left of an assignment, use a renaming rather than a | |
7017 temporary to remove side effects. | |
7018 | |
7019 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an | |
7020 inlined instance body, which is analyzed before the end of the | |
7021 enclosing scope. | |
7022 | |
7023 2004-03-02 Robert Dewar <dewar@gnat.com> | |
7024 | |
7025 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb, | |
7026 sem_ch4.adb: Use new feature for substitution of keywords in VMS | |
7027 | |
7028 * errout.ads, errout.adb: Implement new circuit for substitution of | |
7029 keywords in VMS. | |
7030 | |
7031 * sem_case.adb (Analyze_Choices): Place message properly when case is | |
7032 a subtype reference rather than an explicit range. | |
7033 | |
7034 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting | |
7035 | |
7036 2004-03-02 Doug Rupp <rupp@gnat.com> | |
7037 | |
7038 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF. | |
7039 | |
7040 2004-03-02 Thomas Quinot <quinot@act-europe.fr> | |
7041 | |
7042 * s-tporft.adb: Add missing locking around call to Initialize_ATCB. | |
7043 | |
7044 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7045 | |
7046 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a | |
7047 BLKmode bitfield. | |
7048 | |
7049 2004-02-25 Robert Dewar <dewar@gnat.com> | |
7050 | |
7051 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads, | |
7052 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads, | |
7053 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads, | |
7054 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads, | |
7055 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads, | |
7056 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to | |
7057 the defining instance of the type to avoid aliasing problems. | |
7058 Fix copyright header. Fix bad comments in package header. | |
7059 | |
7060 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting | |
7061 | |
7062 2004-02-25 Ed Schonberg <schonberg@gnat.com> | |
7063 | |
7064 * exp_ch2.adb (Param_Entity): Handle properly formals that have been | |
7065 rewritten as references when aliased through an address clause. | |
7066 | |
7067 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking | |
7068 whether call can be interpreted as an indirect call to the result of a | |
7069 parameterless function call returning an access subprogram. | |
7070 | |
7071 2004-02-25 Arnaud Charlet <charlet@act-europe.fr> | |
7072 | |
7073 Code clean up: | |
7074 * exp_ch7.adb (Make_Clean): Remove generation of calls to | |
7075 Unlock[_Entries], since this is now done by Service_Entries directly. | |
7076 | |
7077 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto. | |
7078 | |
7079 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure | |
7080 Requeue_Call for better code readability. Change spec and update calls: | |
7081 PO_Service_Entries now unlock the PO on exit. | |
7082 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to | |
7083 PO_Service_Entries. | |
7084 | |
7085 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit. | |
7086 | |
7087 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries. | |
7088 | |
7089 2004-02-25 Sergey Rybin <rybin@act-europe.fr> | |
7090 | |
7091 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the | |
7092 protected subprogram call and analyzing the result of such expanding | |
7093 in case when the called protected subprogram is eliminated. | |
7094 | |
7095 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope | |
7096 names. | |
7097 | |
7098 2004-02-25 Jerome Guitton <guitton@act-europe.fr> | |
7099 | |
7100 * Makefile.in: Clean ups. | |
7101 | |
7102 2004-02-23 Ed Schonberg <schonberg@gnat.com> | |
7103 | |
7104 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create | |
7105 protected operations if original subprogram is flagged as eliminated. | |
7106 (Expand_N_Subprogram_Body): For a protected operation, create | |
7107 discriminals for next operation before checking whether the operation | |
7108 is eliminated. | |
7109 | |
7110 * exp_ch9.adb (Expand_N_Protected_Body, | |
7111 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies | |
7112 for internal protected operations if the original subprogram is | |
7113 eliminated. | |
7114 | |
7115 * sem_elim.adb (Check_Eliminated): Handle properly protected operations | |
7116 declared in a single protected object. | |
7117 | |
7118 2004-02-23 Vincent Celier <celier@gnat.com> | |
7119 | |
7120 * prj-attr.adb: Make attribute Builder'Executable an associative array, | |
7121 case insensitive if file names are case insensitive, instead of a | |
7122 standard associative array. | |
7123 | |
7124 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set | |
7125 them as case insensitive on platforms where the file names are case | |
7126 sensitive. | |
7127 | |
7128 * prj-part.adb (Parse_Single_Project): Make sure, when checking if | |
7129 project file has already been parsed that canonical path are compared. | |
7130 | |
7131 2004-02-23 Robert Dewar <dewar@gnat.com> | |
7132 | |
7133 * sinput-c.ads: Correct bad unit title in header | |
7134 | |
7135 * freeze.adb: Minor reformatting | |
7136 | |
7137 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7138 | |
7139 * trans.c (tree_transform, case N_Procedure_Call_Statement): For | |
7140 nonaddressable COMPONENT_REF that is removing padding that we are | |
7141 taking the address of, take the address of the padded record instead | |
7142 if item is variable size. | |
7143 | |
7144 2004-02-20 Robert Dewar <dewar@gnat.com> | |
7145 | |
7146 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting | |
7147 | |
7148 2004-02-20 Ed Schonberg <schonberg@gnat.com> | |
7149 | |
7150 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates | |
7151 itype references for the constrained designated type of a component | |
7152 whose base type is already frozen. | |
7153 | |
7154 2004-02-20 Arnaud Charlet <charlet@act-europe.fr> | |
7155 | |
7156 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to | |
7157 avoid GCC warnings. | |
7158 | |
7159 2004-02-20 Sergey Rybin <rybin@act-europe.fr> | |
7160 | |
7161 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining | |
7162 identifier for a phantom package that rewrites the formal package | |
7163 declaration with a box. The Add semantic decorations for the defining | |
7164 identifier from the original node (that represents the formal package). | |
7165 | |
7166 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu> | |
7167 | |
7168 * Make-lang.in (ada/stamp-sdefault): Use the top level | |
7169 move-if-change. | |
7170 | |
7171 2004-02-19 Richard Henderson <rth@redhat.com> | |
7172 | |
7173 * misc.c (record_code_position): Add third build arg for RTL_EXPR. | |
7174 | |
7175 2004-02-18 Emmanuel Briot <briot@act-europe.fr> | |
7176 | |
7177 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that | |
7178 Scan_ALI can be used for multiple ALI files without reinitializing | |
7179 between calls. | |
7180 | |
7181 2004-02-18 Robert Dewar <dewar@gnat.com> | |
7182 | |
7183 * debug.adb: Minor reformatting. | |
7184 | |
7185 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7186 | |
7187 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET | |
7188 to zero if there is an address clause. | |
7189 | |
7190 2004-02-18 Thomas Quinot <quinot@act-europe.fr> | |
7191 | |
7192 * exp_util.adb (Side_Effect_Free): Any literal is side effects free. | |
7193 | |
7194 2004-02-18 Gary Dismukes <dismukes@gnat.com> | |
7195 | |
7196 * layout.adb (Layout_Component_List): Revise generation of call to | |
7197 discriminant-checking function to pass selections of all of the type's | |
7198 discriminants rather than just the variant-controlling discriminant. | |
7199 | |
7200 2004-02-18 Olivier Hainque <hainque@act-europe.fr> | |
7201 | |
7202 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to | |
7203 fail in the current setup and triggers spurious system error messages. | |
7204 Pretend it occurred and failed instead. | |
7205 | |
7206 2004-02-18 Vincent Celier <celier@gnat.com> | |
7207 | |
7208 * bld.adb: Mark FLDFLAGS as saved | |
7209 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when | |
7210 it is not the root project. Put each directory to be | |
7211 extended between double quotes to prevent it to be expanded on Windows. | |
7212 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing | |
7213 the project file. Set them back to their initial values if they have not | |
7214 been set in the project file. | |
7215 | |
7216 * gprcmd.adb: (Gprdebug, Debug): New global variables | |
7217 (Display_Command): New procedure | |
7218 (Usage): Document new command "linkopts" | |
7219 Call Display_Command when env var GPRDEBUG has the value "TRUE" | |
7220 Implement new command "linkopts" | |
7221 Remove quotes that may be around arguments for "extend" | |
7222 Always call Normalize_Pathname with arguments formatted for the platform | |
7223 | |
7224 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS) | |
7225 Change @echo to @$(display) in target clean to be able to clean silently | |
7226 | |
7227 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value | |
7228 | |
7229 * prj-part.adb (Project_Path_Name_Of): Do not put final result in | |
7230 canonical case. | |
7231 | |
7232 * prj-part.adb (Parse_Single_Project): Always call with From_Extended | |
7233 = Extending_All when current project is an extending all project. | |
7234 | |
7235 * vms_conv.adb (Output_File_Expected): New Boolean global variable, | |
7236 set to True only for LINK command, after Unix switch -o. | |
7237 (Process_Arguments): Set Output_File_Expected to True for LINK command | |
7238 after Unix switch -o. When Output_File_Expected is True, never add an | |
7239 extension to a file name. | |
7240 | |
7241 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the | |
7242 option file name, only to the --for-linker= switch. | |
7243 (Option_File_Name): If option file name do not end with ".opt", append | |
7244 "/OPTIONS". | |
7245 | |
7246 2004-02-18 GNAT Script <nobody@gnat.com> | |
7247 | |
7248 * Make-lang.in: Makefile automatically updated | |
7249 | |
7250 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu> | |
7251 | |
7252 * Make-lang.in (stamp-sdefault): Do not depend on | |
7253 move-if-change. | |
7254 | |
7255 2004-02-12 Zack Weinberg <zack@codesourcery.com> | |
7256 | |
7257 * config-lang.in: Disable Ada by default until probe logic for | |
7258 a bootstrap Ada compiler can be moved to the top level configure | |
7259 script. | |
7260 | |
7261 2004-02-12 Olivier Hainque <hainque@act-europe.fr> | |
7262 | |
7263 * decl.c (components_to_record): Don't claim that the internal fields | |
7264 we make to hold the variant parts are semantically addressable, because | |
7265 they are not. | |
7266 | |
7267 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and | |
7268 adjust the comment describing the modular type form when we can use it. | |
7269 (Install_PAT): Account for the Esiz renaming. | |
7270 | |
7271 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the | |
7272 sc_onstack context indication before raising the exception to which | |
7273 the signal is mapped. Allows better handling of later signals possibly | |
7274 triggered by the resumed user code if the exception is handled. | |
7275 | |
7276 2004-02-12 Arnaud Charlet <charlet@act-europe.fr> | |
7277 | |
7278 * 5zinit.adb: Removed, no longer used. | |
7279 | |
7280 2004-02-12 Robert Dewar <dewar@gnat.com> | |
7281 | |
7282 * ali.adb: Remove separating space between parameters on R line. Makes | |
7283 format consistent with format used by the binder for Set_Globals call. | |
7284 | |
7285 * atree.ads, atree.adb: Minor reformatting (new function header format) | |
7286 | |
7287 * bindgen.adb: Add Run-Time Globals documentation section containing | |
7288 detailed documentation of the globals passed from the binder file to | |
7289 the run time. | |
7290 | |
7291 * gnatls.adb: Minor reformatting | |
7292 | |
7293 * init.c (__gnat_set_globals): Add note pointing to documentation in | |
7294 bindgen. | |
7295 | |
7296 * lib-writ.ads, lib-writ.adb: Remove separating space between | |
7297 parameters on R line. | |
7298 Makes format consistent with format used by the binder for Set_Globals | |
7299 call. | |
7300 | |
7301 * osint.ads: Add 2004 to copyright notice | |
7302 Minor reformatting | |
7303 | |
7304 * snames.ads: Correct capitalization of FIFO_Within_Priorities | |
7305 Noticed during code reading, documentation issue only | |
7306 | |
7307 * usage.adb: Remove junk line for obsolete C switch | |
7308 Noticed during code reading | |
7309 | |
7310 2004-02-12 Vincent Celier <celier@gnat.com> | |
7311 | |
7312 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd | |
7313 extend for each directory, so that multiple /** directories are | |
7314 extended individually. | |
7315 (Recursive_Process): Set the default for LANGUAGES to ada | |
7316 | |
7317 * gprcmd.adb: Define new command "ignore", to do nothing. | |
7318 Implement new comment "path". | |
7319 | |
7320 * Makefile.generic: Suppress output when SILENT is set | |
7321 Make sure that when compiler for C/C++ is gcc, the correct -x switch is | |
7322 used, so that the correct compiler is invoked. | |
7323 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/ | |
7324 CXX_INCLUDE_PATH, to avoid failure with too long command lines. | |
7325 | |
7326 2004-02-12 Jerome Guitton <guitton@act-europe.fr> | |
7327 | |
7328 * Makefile.in: Clean ups and remove obsolete targets. | |
7329 | |
7330 2004-02-12 Ed Schonberg <schonberg@gnat.com> | |
7331 | |
7332 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar | |
7333 predicate declared in exp_util. | |
7334 | |
7335 * exp_util.adb: Add comments. | |
7336 | |
7337 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from | |
7338 visibility before compiling context of the subunit. | |
7339 | |
7340 * sem_res.adb (Check_Parameterless_Call): If the context expects a | |
7341 value but the name is a procedure, do not attempt to analyze as a call, | |
7342 in order to obtain more telling diagnostics. | |
7343 | |
7344 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing | |
7345 'Access on parameterless function calls. | |
7346 (Normalize_Actuals): For a parameterless function call with missing | |
7347 actuals, defer diagnostic until resolution of enclosing call. | |
7348 | |
7349 * sem_util.adb (Wrong_Type): If the context type is an access to | |
7350 subprogram and the expression is a procedure name, suggest a missing | |
7351 'attribute. | |
7352 | |
7353 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>, | |
7354 Nathanael Nerode <neroden@gcc.gnu.org> | |
7355 | |
7356 PR ada/6637 | |
7357 PR ada/5911 | |
7358 Merge with libada-branch: | |
7359 * config-lang.in: Build libada only when ada is built. | |
7360 | |
7361 2004-02-09 Ed Schonberg <schonberg@gnat.com> | |
7362 | |
7363 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality | |
7364 for a tagged type, verify that both formals have the same type. | |
7365 | |
7366 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the | |
7367 temporary when the formal is an in-parameter and the actual a possibly | |
7368 unaligned slice. | |
7369 | |
7370 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even | |
7371 when expansion is disabled, to ensure proper name capture with | |
7372 overloaded literals. Condition can be of any boolean type, resolve | |
7373 accordingly. | |
7374 | |
7375 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the | |
7376 renaming is for a formal subprogram with a default operator name, and | |
7377 there is a usable operator that is visible at the point of | |
7378 instantiation. | |
7379 | |
7380 2004-02-09 Robert Dewar <dewar@gnat.com> | |
7381 | |
7382 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major | |
7383 rewrite to ignore errors in ali files, intended to allow tools downward | |
7384 compatibility with new versions of ali files. | |
7385 | |
7386 * ali.ads: Add new parameter Ignore_Errors | |
7387 | |
7388 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes | |
7389 duplicating the error message giving the file with restrictions. | |
7390 | |
7391 * debug.adb: Add debug flag I for gnatbind | |
7392 | |
7393 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around | |
7394 operators for the case where the operator is a defining operator. | |
7395 | |
7396 * exp_ch3.adb: Minor reformatting (new function spec format). | |
7397 | |
7398 * exp_ch4.adb: Add comment for previous change, and make minor | |
7399 adjustment to loop to always check for improper loop termination. | |
7400 Minor reformatting throughout (new function spec format). | |
7401 | |
7402 * gnatbind.adb: Implement -di debug flag for gnatbind | |
7403 | |
7404 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True | |
7405 | |
7406 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True | |
7407 | |
7408 * lib-load.adb: Fix bad assertion. | |
7409 Found by testing and code reading. | |
7410 Minor reformatting. | |
7411 | |
7412 * lib-load.ads: Minor reformatting. | |
7413 | |
7414 * lib-writ.adb: There is only one R line now. | |
7415 | |
7416 * lib-writ.ads: Add documentation on making downward compatible changes | |
7417 to ali files so old tools work with new ali files. | |
7418 There is only one R line now. | |
7419 Add documentation on format incompatibilities (with special GPS note) | |
7420 | |
7421 * namet.ads, namet.adb: (Is_Operator_Name): New procedure | |
7422 | |
7423 * par-load.adb: Minor reformatting | |
7424 | |
7425 * sem_ch8.adb: Fix to error message from last update | |
7426 Minor reformatting and restructuring of code from last update | |
7427 | |
7428 * par-prag.adb, snames.adb, snames.ads, snames.h, | |
7429 sem_prag.adb: Implement pragma Profile. | |
7430 | |
7431 * stylesw.adb: Implement -gnatyN switch to turn off all style check | |
7432 options. | |
7433 | |
7434 * usage.adb: Add line for -gnatyN switch | |
7435 | |
7436 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN | |
7437 | |
7438 2004-02-09 Albert Lee <lee@gnat.com> | |
7439 | |
7440 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX | |
7441 | |
7442 2004-02-09 Ed Schonberg <schonberg@gnat.com> | |
7443 | |
7444 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null | |
7445 slices. | |
7446 | |
7447 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram | |
7448 is nested in an instance that is not frozen yet, to avoid | |
7449 order-of-elaboration problems in gigi. | |
7450 | |
7451 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined | |
7452 body the attribute is legal. | |
7453 | |
7454 2004-02-09 Robert Dewar <dewar@gnat.com> | |
7455 | |
7456 * s-rident.ads: Minor comment correction | |
7457 | |
7458 * targparm.adb: Remove dependence on uintp completely. There was | |
7459 always a bug in Make in that it called Targparm before initializing | |
7460 the Uint package. The old code appeared to get away with this, but | |
7461 the new code did not! This caused an assertion error in gnatmake. | |
7462 | |
7463 * targparm.ads: Fix bad comment, restriction pragmas with parameters | |
7464 are indeed fully supported. | |
7465 | |
7466 2004-02-06 Alan Modra <amodra@bigpond.net.au> | |
7467 | |
7468 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call. | |
7469 | |
7470 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
7471 | |
7472 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES | |
7473 with targetm.calls.promote_prototypes. | |
7474 | |
7475 2004-02-04 Robert Dewar <dewar@gnat.com> | |
7476 | |
7477 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb, | |
7478 ali.ads, gprcmd.adb: Minor reformatting | |
7479 | |
7480 * bindgen.adb: Output restrictions string for new style restrictions | |
7481 handling | |
7482 | |
7483 * impunit.adb: Add s-rident.ads (System.Rident) and | |
7484 s-restri (System.Restrictions) | |
7485 | |
7486 * lib-writ.adb: Fix bug in writing restrictions string (last few | |
7487 entries wrong) | |
7488 | |
7489 * s-restri.ads, s-restri.adb: Change name Restrictions to | |
7490 Run_Time_Restrictions to avoid conflict with package name. | |
7491 Add circuit to read and acquire run time restrictions. | |
7492 | |
7493 2004-02-04 Jose Ruiz <ruiz@act-europe.fr> | |
7494 | |
7495 * restrict.ads, restrict.adb: Use the new restriction | |
7496 No_Task_Attributes_Package instead of the old No_Task_Attributes. | |
7497 | |
7498 * sem_prag.adb: No_Task_Attributes is a synonym of | |
7499 No_Task_Attributes_Package. | |
7500 | |
7501 * snames.ads, snames.adb: New entry for proper handling of | |
7502 No_Task_Attributes. | |
7503 | |
7504 * s-rident.ads: Adding restriction No_Task_Attributes_Package | |
7505 (AI-00249) that supersedes the GNAT specific restriction | |
7506 No_Task_Attributes. | |
7507 | |
7508 2004-02-04 Ed Schonberg <schonberg@gnat.com> | |
7509 | |
7510 * sem_prag.adb: | |
7511 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance | |
7512 body, an identifier may be wrapped in an unchecked conversion. | |
7513 | |
7514 2004-02-04 Vincent Celier <celier@gnat.com> | |
7515 | |
7516 * lib-writ.ads: Comment update for the W lines | |
7517 | |
7518 * bld.adb: (Expression): An empty string list is static | |
7519 | |
7520 * fname-uf.adb: Minor comment update | |
7521 | |
7522 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail | |
7523 | |
7524 * gnatbind.adb: Initialize Cumulative_Restrictions with the | |
7525 restrictions on the target. | |
7526 | |
7527 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
7528 | |
7529 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of | |
7530 gen_rtx. | |
7531 | |
7532 2004-02-02 Arnaud Charlet <charlet@gnat.com> | |
7533 | |
7534 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded. | |
7535 | |
7536 2004-02-02 Vincent Celier <celier@gnat.com> | |
7537 | |
7538 * gprcmd.adb (Check_Args): If condition is false, print the invoked | |
7539 comment before the usage. | |
7540 Gprcmd: Fail when command is not recognized. | |
7541 (Usage): Document command "prefix" | |
7542 | |
7543 * g-md5.adb (Digest): Process last block. | |
7544 (Update): Do not process last block. Store remaining characters and | |
7545 length in Context. | |
7546 | |
7547 * g-md5.ads (Update): Document that several call to update are | |
7548 equivalent to one call with the concatenated string. | |
7549 (Context): Add fields to allow new Update behaviour. | |
7550 | |
7551 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail, | |
7552 defaulted to False. | |
7553 When May_Fail is True and no existing file can be found, return No_File. | |
7554 | |
7555 * 6vcstrea.adb: Inlined functions are now wrappers to implementation | |
7556 functions. | |
7557 | |
7558 * lib-writ.adb (Write_With_Lines): When body file does not exist, use | |
7559 spec file name instead on the W line. | |
7560 | |
7561 2004-02-02 Robert Dewar <dewar@gnat.com> | |
7562 | |
7563 * ali.adb: Read and acquire info from new format restrictions lines | |
7564 | |
7565 * bcheck.adb: Add circuits for checking restrictions with parameters | |
7566 | |
7567 * bindgen.adb: Output dummy restrictions data | |
7568 To be changed later | |
7569 | |
7570 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, | |
7571 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, | |
7572 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb, | |
7573 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb, | |
7574 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling. | |
7575 | |
7576 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses | |
7577 the warning message on access to possibly uninitialized variable S) | |
7578 Minor changes for new restrictions handling. | |
7579 | |
7580 * gnatbind.adb: Minor reformatting | |
7581 Minor changes for new restrictions handling | |
7582 Move circuit for -r processing here from bcheck (cleaner) | |
7583 | |
7584 * gnatcmd.adb, gnatlink.adb: Minor reformatting | |
7585 | |
7586 * lib-writ.adb: Output new format restrictions lines | |
7587 | |
7588 * lib-writ.ads: Document new R format lines for new restrictions | |
7589 handling. | |
7590 | |
7591 * s-restri.ads/adb: New files | |
7592 | |
7593 * Makefile.rtl: Add entry for s-restri.ads/adb | |
7594 | |
7595 * par-ch3.adb: Fix bad error messages starting with upper case letter | |
7596 Minor reformatting | |
7597 | |
7598 * restrict.adb: Major rewrite throughout for new restrictions handling | |
7599 Major point is to handle restrictions with parameters | |
7600 | |
7601 * restrict.ads: Major changes in interface to handle restrictions with | |
7602 parameters. Also generally simplifies setting of restrictions. | |
7603 | |
7604 * snames.ads/adb: New entry for proper handling of No_Requeue | |
7605 | |
7606 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks | |
7607 restriction counting. | |
7608 Other minor changes for new restrictions handling | |
7609 | |
7610 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements. | |
7611 Restriction_Warnings now allows full parameter notation | |
7612 Major rewrite of Restrictions for new restrictions handling | |
7613 | |
7614 2004-02-02 Javier Miranda <miranda@gnat.com> | |
7615 | |
7616 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y | |
7617 syntax rule for object renaming declarations. | |
7618 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for | |
7619 component definitions. | |
7620 | |
7621 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access | |
7622 components. | |
7623 (Array_Type_Declaration): Give support to access components. In addition | |
7624 it was also modified to reflect the name of the object in anonymous | |
7625 array types. The old code did not take into account that it is possible | |
7626 to have an unconstrained anonymous array with an initial value. | |
7627 (Check_Or_Process_Discriminants): Allow access discriminant in | |
7628 non-limited types. | |
7629 (Process_Discriminants): Allow access discriminant in non-limited types | |
7630 Initialize the new Access_Definition field in N_Object_Renaming_Decl | |
7631 node. Change Ada0Y to Ada 0Y in comments | |
7632 | |
7633 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in | |
7634 equality operators. | |
7635 Change Ada0Y to Ada 0Y in comments | |
7636 | |
7637 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access | |
7638 renamings Change Ada0Y to Ada 0Y in comments | |
7639 | |
7640 * sem_type.adb (Find_Unique_Type): Give support to the equality | |
7641 operators for universal access types | |
7642 Change Ada0Y to Ada 0Y in comments | |
7643 | |
7644 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms | |
7645 | |
7646 * sinfo.ads (N_Component_Definition): Addition of Access_Definition | |
7647 field. | |
7648 (N_Object_Renaming_Declaration): Addition of Access_Definition field | |
7649 Change Ada0Y to Ada 0Y in comments | |
7650 | |
7651 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for | |
7652 component definition and object renaming nodes | |
7653 Change Ada0Y to Ada 0Y in comments | |
7654 | |
7655 2004-02-02 Jose Ruiz <ruiz@act-europe.fr> | |
7656 | |
7657 * restrict.adb: Use the new restriction identifier | |
7658 No_Requeue_Statements instead of the old No_Requeue for defining the | |
7659 restricted profile. | |
7660 | |
7661 * sem_ch9.adb (Analyze_Requeue): Check the new restriction | |
7662 No_Requeue_Statements. | |
7663 | |
7664 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249) | |
7665 that supersedes the GNAT specific restriction No_Requeue. The later is | |
7666 kept for backward compatibility. | |
7667 | |
7668 2004-02-02 Ed Schonberg <schonberg@gnat.com> | |
7669 | |
7670 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads, | |
7671 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant | |
7672 pragma and fix incorrect ones. | |
7673 | |
7674 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a | |
7675 warning if the pragma is redundant. | |
7676 | |
7677 2004-02-02 Thomas Quinot <quinot@act-europe.fr> | |
7678 | |
7679 * 5staprop.adb: Add missing 'constant' keywords. | |
7680 | |
7681 * Makefile.in: use consistent value for SYMLIB on | |
7682 platforms where libaddr2line is supported. | |
7683 | |
7684 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7685 | |
7686 * utils.c (end_subprog_body): Do not call rest_of_compilation if just | |
7687 annotating types. | |
7688 | |
7689 2004-02-02 Olivier Hainque <hainque@act-europe.fr> | |
7690 | |
7691 * init.c (__gnat_install_handler): Setup an alternate stack for signal | |
7692 handlers in the environment thread. This allows proper propagation of | |
7693 an exception on stack overflows in this thread even when the builtin | |
7694 ABI stack-checking scheme is used without support for a stack reserve | |
7695 region. | |
7696 | |
7697 * utils.c (create_field_decl): Augment the head comment about bitfield | |
7698 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P | |
7699 here, because the former is not accurate enough at this point. | |
7700 Let finish_record_type decide instead. | |
7701 Don't make a bitfield if the field is to be addressable. | |
7702 Always set a size for the field if the record is packed, to ensure the | |
7703 checks for bitfield creation are triggered. | |
7704 (finish_record_type): During last pass over the fields, clear | |
7705 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is | |
7706 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P | |
7707 from DECL_BIT_FIELD. | |
7708 | |
7709 2004-01-30 Kelley Cook <kcook@gcc.gnu.org> | |
7710 | |
7711 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir). | |
7712 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise. | |
7713 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise. | |
7714 | |
7715 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
7716 | |
7717 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB. | |
7718 | |
7719 * 5fsystem.ads (Functions_Return_By_DSP): Set to False. | |
7720 (ZCX_By_Default): Likewise. | |
7721 (Front_End_ZCX_Support): Likewise. | |
7722 | |
7723 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced. | |
7724 (Initialize_Lock): Mark Level unreferenced. | |
7725 (Sleep): Mark Reason unreferenced. | |
7726 (Timed_Sleep): Likewise. | |
7727 (Wakeup): Likewise. | |
7728 (Exit_Task): Use Result. | |
7729 (Check_No_Locks): Mark Self_ID unreferenced. | |
7730 | |
7731 * 5gtasinf.adb (New_Sproc): Make Attr constant. | |
7732 (Bound_Thread_Attributes): Make Sproc constant. | |
7733 (New_Bound_Thread_Attributes): Likewise. | |
7734 | |
7735 2004-01-26 Ed Schonberg <schonberg@gnat.com> | |
7736 | |
7737 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for | |
7738 one-dimensional array an slice assignments, when component type is | |
7739 controlled. | |
7740 | |
7741 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional, | |
7742 component type is controlled, and control_actions are in effect, use | |
7743 TSS procedure rather than generating inline code. | |
7744 | |
7745 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional | |
7746 arrays with controlled components. | |
7747 | |
7748 2004-01-26 Vincent Celier <celier@gnat.com> | |
7749 | |
7750 * gnatcmd.adb (GNATCmd): Add specification of argument file on the | |
7751 command line for the non VMS case. | |
7752 | |
7753 * gnatlink.adb (Process_Binder_File): When building object file, if | |
7754 GNU linker is used, put all object paths between quotes, to prevent ld | |
7755 error when there are unusual characters (such as '!') in the paths. | |
7756 | |
7757 * Makefile.generic: When there are sources in Ada and the main is in | |
7758 C/C++, invoke gnatmake with -B, instead of -z. | |
7759 | |
7760 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted | |
7761 from VMS_Conversion. | |
7762 (Process_Argument): New procedure, extracted from VMS_Conversion. Add | |
7763 specification of argument file on the command line. | |
7764 | |
7765 2004-01-26 Bernard Banner <banner@gnat.com> | |
7766 | |
7767 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64 | |
7768 | |
7769 2004-01-26 Ed Schonberg <schonberg@gnat.com> | |
7770 | |
7771 * snames.adb: Update copyright notice. | |
7772 Add info on slice assignment for controlled arrays. | |
7773 | |
7774 2004-01-23 Robert Dewar <dewar@gnat.com> | |
7775 | |
7776 * exp_aggr.adb: Minor reformatting | |
7777 | |
7778 * exp_ch9.adb: Minor code clean up | |
7779 Minor reformatting | |
7780 Fix bad character in comment | |
7781 | |
7782 PR ada/13471 | |
7783 * targparm.adb (Get_Target_Parameters): Give clean abort error on | |
7784 unexpected end of file, along with more detailed message. | |
7785 | |
7786 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7787 | |
7788 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of | |
7789 PAT. | |
7790 | |
7791 * decl.c (copy_alias_set): New function. | |
7792 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it. | |
7793 | |
7794 2004-01-23 Doug Rupp <rupp@gnat.com> | |
7795 | |
7796 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to | |
7797 lib$${file} in case subsequent character is not a separator. | |
7798 | |
7799 2004-01-23 Vincent Celier <celier@gnat.com> | |
7800 | |
7801 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc | |
7802 when the GCC version is at least 3. | |
7803 | |
7804 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches | |
7805 Remove all "Opt.", to prepare for opt split | |
7806 | |
7807 * prj-part.adb (Parse_Single_Project): New Boolean out parameter | |
7808 Extends_All. Set to True when the project parsed is an extending all | |
7809 project. Fails for importing an extending all project only when the | |
7810 imported project is an extending all project. | |
7811 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause, | |
7812 depending on the value of Extends_All returned. | |
7813 | |
7814 * prj-proc.adb (Process): Check that no project shares its object | |
7815 directory with a project that extends it, directly or indirectly, | |
7816 including a virtual project. | |
7817 Check that no project extended by another project shares its object | |
7818 directory with another also extended project. | |
7819 | |
7820 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for | |
7821 Kind = N_With_Clause | |
7822 | |
7823 * prj-tree.ads: Minor reformatting | |
7824 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All). | |
7825 | |
7826 2004-01-23 Ed Schonberg <schonberg@gnat.com> | |
7827 | |
7828 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute | |
7829 applies to a type with an incomplete view, use full view in Name of | |
7830 clause, for consistency with uses of Get_Attribute_Definition_Clause. | |
7831 | |
7832 2004-01-23 Arnaud Charlet <charlet@act-europe.fr> | |
7833 | |
7834 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using | |
7835 SCHED_RR, since other values are not supported by this policy. | |
7836 (Initialize): Move initialization of mutex attribute to package | |
7837 elaboration, to prevent early access to this variable. | |
7838 | |
7839 * Makefile.in: Remove mention of Makefile.adalib, unused. | |
7840 | |
7841 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb, | |
7842 1ssecsta.ads: Removed, unused. | |
7843 | |
7844 2004-01-21 Javier Miranda <miranda@gnat.com> | |
7845 | |
7846 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master | |
7847 entity if already built in the current scope. | |
7848 | |
7849 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity | |
7850 reminder in internal scopes. Required for nested limited aggregates. | |
7851 | |
7852 2004-01-21 Doug Rupp <rupp@gnat.com> | |
7853 | |
7854 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on | |
7855 VMS. Replace all occurences of libgnat- and libgnarl- with | |
7856 libgnat$(hyphen) and libgnarl$(hyphen). | |
7857 Fixed shared library build problem on VMS. | |
7858 | |
7859 2004-01-21 Robert Dewar <dewar@gnat.com> | |
7860 | |
7861 * mlib-prj.adb: Minor reformatting | |
7862 | |
7863 2004-01-21 Thomas Quinot <quinot@act-europe.fr> | |
7864 | |
7865 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing | |
7866 'constant' keywords for declaration of pointers that are not modified. | |
7867 | |
7868 * exp_pakd.adb: Fix English in comment. | |
7869 | |
7870 2004-01-21 Ed Schonberg <schonberg@gnat.com> | |
7871 | |
7872 PR ada/10889 | |
7873 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype, | |
7874 copy all attributes of the parent, including the foreign language | |
7875 convention. | |
7876 | |
7877 2004-01-21 Sergey Rybin <rybin@act-europe.fr> | |
7878 | |
7879 PR ada/10565 | |
7880 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check | |
7881 for 'delay until' statement. | |
7882 | |
7883 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> | |
7884 | |
7885 * Make-lang.in: Replace $(docdir) with doc. | |
7886 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info | |
7887 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update | |
7888 to use consistent MAKEINFO rule. | |
7889 (ada.man, ada.srcman): Dummy entry. | |
7890 (ADA_INFOFILES): Define. | |
7891 (ada.info, ada.srcinfo): New rules. | |
7892 | |
7893 2004-01-19 Arnaud Charlet <charlet@act-europe.fr> | |
7894 | |
7895 * utils.c: Update copyright notice, missed in previous change. | |
7896 | |
7897 2004-01-19 Vincent Celier <celier@gnat.com> | |
7898 | |
7899 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the | |
7900 args if Bind is True. Set First_ALI, if not already done. | |
7901 (Build_Library): For Stand Alone Libraries, extract from one ALI file | |
7902 an eventual --RTS switch, for gnatbind, and all backend switches + | |
7903 --RTS, for linking. | |
7904 | |
7905 2004-01-19 Robert Dewar <dewar@gnat.com> | |
7906 | |
7907 * sem_attr.adb, memtrack.adb: Minor reformatting | |
7908 | |
7909 2004-01-19 Ed Schonberg <schonberg@gnat.com> | |
7910 | |
7911 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions | |
7912 that rename enumeration literals. This is properly done in sem_eval. | |
7913 | |
7914 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls | |
7915 to functions that rename enumeration literals. | |
7916 | |
7917 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to | |
7918 functions that rename enumeration literals. | |
7919 | |
7920 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> | |
7921 | |
7922 * Make-lang.in (utils.o): Depend on target.h. | |
7923 * utils.c: Include target.h. | |
7924 (process_attributes): Use targetm.have_named_sections instead | |
7925 of ASM_OUTPUT_SECTION_NAME. | |
7926 | |
7927 2004-01-16 Andreas Jaeger <aj@suse.de> | |
7928 | |
7929 * Makefile.in: Add $(DESTDIR). | |
7930 | |
7931 2004-01-15 Olivier Hainque <hainque@act-europe.fr> | |
7932 | |
7933 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size | |
7934 also when not defining if a Size clause applies. That information is | |
7935 not to be ignored. | |
7936 | |
7937 2004-01-15 Arnaud Charlet <charlet@act-europe.fr> | |
7938 | |
7939 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up | |
7940 symbolic links for the shared gnat run time when needed. | |
7941 | |
7942 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr> | |
7943 | |
7944 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened | |
7945 for writing, and terminate with an error message if not. | |
7946 | |
7947 2004-01-15 Ed Schonberg <schonberg@gnat.com> | |
7948 | |
7949 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious | |
7950 warning on an access to subprogram in an instance, when the target | |
7951 type is declared in the same generic unit. | |
7952 (Eval_Attribute): If 'access is known to fail accessibility check, | |
7953 rewrite as a raise statement. | |
7954 | |
7955 2004-01-15 GNAT Script <nobody@gnat.com> | |
7956 | |
7957 * Make-lang.in: Makefile automatically updated | |
7958 | |
7959 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> | |
7960 | |
7961 * Make-lang.in (ada.srcextra): Dummy entry. | |
7962 | |
7963 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> | |
7964 | |
7965 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode. | |
7966 | |
7967 2004-01-13 Ed Schonberg <schonberg@gnat.com> | |
7968 | |
7969 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled | |
7970 components that are initialized with aggregates. | |
7971 | |
7972 2004-01-13 Vincent Celier <celier@gnat.com> | |
7973 | |
7974 * gnatlink.adb (Process_Binder_File): To find directory of shared | |
7975 libgcc, if "gcc-lib" is not a subdirectory, look for the last | |
7976 subdirectory "lib" in the path of the shared libgnat or libgnarl. | |
7977 | |
7978 * make.adb (Gnatmake): If GCC version is at least 3, link with | |
7979 -shared-libgcc, when there is at least one shared library project. | |
7980 | |
7981 * opt.ads (GCC_Version): New integer constant. | |
7982 | |
7983 * adaint.c (get_gcc_version): New function. | |
7984 | |
7985 2004-01-13 Robert Dewar <dewar@gnat.com> | |
7986 | |
7987 * sem_dist.adb, sem_res.adb, sem_util.adb, | |
7988 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb, | |
7989 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting | |
7990 | |
7991 2004-01-13 Thomas Quinot <quinot@act-europe.fr> | |
7992 | |
7993 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb, | |
7994 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object | |
7995 declarations. | |
7996 | |
7997 2004-01-12 Arnaud Charlet <charlet@act-europe.fr> | |
7998 | |
7999 * misc.c: Remove trailing spaces. | |
8000 Update copyright notice missed in previous change. | |
8001 | |
8002 PR ada/13572 | |
8003 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of | |
8004 prefix/share/make | |
8005 | |
8006 * Makefile.generic: Update copyright. | |
8007 Add license notice. | |
8008 | |
8009 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead | |
8010 of prefix/share/make. | |
8011 | |
8012 * Makefile.prolog: Update copyright. | |
8013 Add license notice. | |
8014 | |
8015 2004-01-12 Laurent Pautet <pautet@act-europe.fr> | |
8016 | |
8017 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb, | |
8018 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb, | |
8019 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr | |
8020 instead of String. | |
8021 | |
8022 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message | |
8023 signature. | |
8024 | |
8025 2004-01-12 Javier Miranda <miranda@gnat.com> | |
8026 | |
8027 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb, | |
8028 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb, | |
8029 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb, | |
8030 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of | |
8031 Component_Definition node. | |
8032 | |
8033 2004-01-12 Ed Falis <falis@gnat.com> | |
8034 | |
8035 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit | |
8036 | |
8037 2004-01-12 Thomas Quinot <quinot@act-europe.fr> | |
8038 | |
8039 * link.c: Change default libgnat kind to STATIC for FreeBSD. | |
8040 | |
8041 2004-01-12 Bernard Banner <banner@gnat.com> | |
8042 | |
8043 * Makefile.in: map 86numaux to a-numaux for x86_64 | |
8044 | |
8045 2004-01-12 Ed Schonberg <schonberg@gnat.com> | |
8046 | |
8047 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity | |
8048 generated to rename a generic actual, go to the actual itself, the | |
8049 subtype is not a user-visible entity. | |
8050 | |
8051 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible | |
8052 part is a private subtype, reset the visibility of its full view, if | |
8053 any, to be consistent. | |
8054 | |
8055 PR ada/13417 | |
8056 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt | |
8057 to use a generic package G as a formal package for another generic | |
8058 declared within G. | |
8059 | |
8060 2004-01-12 Robert Dewar <dewar@gnat.com> | |
8061 | |
8062 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg | |
8063 | |
8064 * usage.adb: Remove mention of obsolete -gnatwb switch | |
8065 Noticed during code reading | |
8066 | |
8067 2004-01-12 Jerome Guitton <guitton@act-europe.fr> | |
8068 | |
8069 * 1ssecsta.adb: Minor changes for -gnatwa warnings | |
8070 | |
8071 2004-01-12 GNAT Script <nobody@gnat.com> | |
8072 | |
8073 * Make-lang.in: Makefile automatically updated | |
8074 | |
8075 2004-01-09 Mark Mitchell <mark@codesourcery.com> | |
8076 | |
8077 * misc.c (gnat_expand_expr): Add alt_rtl parameter. | |
8078 | |
8079 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
8080 | |
8081 * link.c [sgi] (shared_libgnat_default): Change to STATIC. | |
8082 | |
8083 2004-01-05 Kelley Cook <kcook@gcc.gnu.org> | |
8084 | |
8085 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18. | |
8086 Update comment and copyright date. | |
8087 * stamp-xgnatug: Delete. | |
8088 | |
8089 2004-01-05 Robert Dewar <dewar@gnat.com> | |
8090 | |
8091 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may | |
8092 be modified by the binder generated main program if the -D switch is | |
8093 used. | |
8094 | |
8095 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all | |
8096 imported functions (since now we expect this to be done for imported | |
8097 functions) | |
8098 | |
8099 * 5vtaprop.adb: Add several ??? for sections requiring more comments | |
8100 Minor reformatting throughout | |
8101 | |
8102 * 5zinit.adb: Minor reformatting | |
8103 Add 2004 to copyright date | |
8104 Minor changes to avoid -gnatwa warnings | |
8105 Correct some instances of using OR instead of OR ELSE (noted while | |
8106 doing reformatting) | |
8107 | |
8108 * sprint.adb: Minor updates to avoid -gnatwa warnings | |
8109 | |
8110 * s-secsta.ads, s-secsta.adb: | |
8111 (SS_Get_Max): New function to obtain high water mark for ss stack | |
8112 Default_Secondary_Stack is not a constant since it may be modified by | |
8113 the binder generated main program if the -D switch is used. | |
8114 | |
8115 * switch-b.adb: New -Dnnn switch for binder | |
8116 | |
8117 * switch-c.adb: | |
8118 Make -gnatg imply all warnings currently in -gnatwa | |
8119 | |
8120 * vms_conv.adb: Minor reformatting | |
8121 Add 2004 to copyright notice | |
8122 Add 2004 to printed copyright notice | |
8123 | |
8124 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb, | |
8125 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb, | |
8126 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb, | |
8127 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb, | |
8128 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb, | |
8129 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb, | |
8130 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb, | |
8131 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb, | |
8132 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb, | |
8133 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb, | |
8134 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb, | |
8135 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb, | |
8136 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads, | |
8137 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb, | |
8138 checks.adb, clean.adb, cstand.adb, einfo.ads, | |
8139 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb, | |
8140 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb, | |
8141 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb, | |
8142 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb, | |
8143 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb, | |
8144 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb: | |
8145 Minor reformatting and code clean ups. | |
8146 Minor changes to prevent -gnatwa warnings | |
8147 | |
8148 * ali.adb: Minor reformatting and cleanup of code | |
8149 Acquire new SS indication of secondary stack use from ali files | |
8150 | |
8151 * a-numaux.ads: Add Pure_Function pragmas for all imported functions | |
8152 (since now we expect this to be done for imported functions) | |
8153 | |
8154 * bindgen.adb: Generate call to modify default secondary stack size if | |
8155 -Dnnn switch given | |
8156 | |
8157 * bindusg.adb: Add line for new -D switch | |
8158 | |
8159 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate | |
8160 replacement name for Type_May_Have_Non_Bit_Aligned_Components! | |
8161 Add circuitry for both records and arrays to avoid gigi | |
8162 processing if the type involved has non-bit-aligned components | |
8163 | |
8164 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that | |
8165 N_String_Literal node always references an E_String_Literal_Subtype | |
8166 entity. This may not be true in the future. | |
8167 (Possible_Bit_Aligned_Component): Move processing of | |
8168 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util | |
8169 | |
8170 * exp_ch6.adb (Expand_Thread_Body): Pick up | |
8171 Default_Secondary_Stack_Size as variable so that we get value modified | |
8172 by possible -Dnnn binder parameter. | |
8173 | |
8174 * exp_util.adb (Component_May_Be_Bit_Aligned): New function. | |
8175 (Type_May_Have_Bit_Aligned_Components): New function. | |
8176 | |
8177 * exp_util.ads (Component_May_Be_Bit_Aligned): New function. | |
8178 (Type_May_Have_Bit_Aligned_Components): New function. | |
8179 | |
8180 * fe.h: (Set_Identifier_Casing): Fix prototype. | |
8181 Add declaration for Sem_Elim.Eliminate_Error_Msg. | |
8182 Minor reformatting. | |
8183 | |
8184 * freeze.adb (Freeze_Entity): Add RM reference to error message about | |
8185 importing constant atomic/volatile objects. | |
8186 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram | |
8187 unless explicit Pure_Function pragma given, to avoid insidious bug of | |
8188 call to non-pure imported function getting eliminated. | |
8189 | |
8190 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, | |
8191 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb, | |
8192 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting | |
8193 Add 2004 to printed copyright notice | |
8194 | |
8195 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary | |
8196 stack used. | |
8197 | |
8198 * Makefile.rtl: Add entry for g-sestin.o | |
8199 g-sestin.ads: New file. | |
8200 | |
8201 * mdll.adb: Minor changes to avoid -gnatwa warnings | |
8202 | |
8203 * mlib-tgt.adb: Minor reformatting | |
8204 | |
8205 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND) | |
8206 New switch Sec_Stack_Used (GNAT, GNATBIND) | |
8207 Make Default_Secondary_Stack_Size a variable instead of a constant, | |
8208 so that it can be modified by the new -Dnnn bind switch. | |
8209 | |
8210 * rtsfind.adb (Load_Fail): Give full error message in configurable | |
8211 run-time mode if all_errors mode is set. This was not done in the case | |
8212 of a file not found, which was an oversight. | |
8213 Note if secondary stack unit is used by compiler. | |
8214 | |
8215 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put | |
8216 ineffective elaborate all pragmas on non-visible packages (this | |
8217 happened when a renamed subprogram was called). Now the elaborate all | |
8218 always goes on the package containing the renaming rather than the one | |
8219 containing the renamed subprogram. | |
8220 | |
8221 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure | |
8222 (Process_Eliminate_Pragma): Add parameter to capture pragma location. | |
8223 | |
8224 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal | |
8225 has an Etype that references an E_String_Literal. | |
8226 (Eval_String_Literal): Avoid assumption that N_String_Literal node | |
8227 always references an E_String_Literal_Subtype entity. This may not | |
8228 be true in the future. | |
8229 | |
8230 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture | |
8231 pragma location. | |
8232 | |
8233 * sem_res.adb (Resolve): Specialize msg for function name used in proc | |
8234 call. | |
8235 | |
8236 2004-01-05 Ed Falis <falis@gnat.com> | |
8237 | |
8238 * g-debuti.adb: Replaced direct boolean operator with short-circuit | |
8239 form. | |
8240 | |
8241 2004-01-05 Vincent Celier <celier@gnat.com> | |
8242 | |
8243 * bld.adb: Minor comment updates | |
8244 (Process_Declarative_Items): Correct incorrect name (Index_Name instead | |
8245 of Item_Name). | |
8246 | |
8247 * make.adb (Gnatmake): Special process for files to compile/check when | |
8248 -B is specified. Fail when there are only foreign mains in attribute | |
8249 Main of the project file and -B is not specified. Do not skip bind/link | |
8250 steps when -B is specified. | |
8251 | |
8252 * makeusg.adb: Document new switch -B | |
8253 | |
8254 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag | |
8255 | |
8256 * switch-m.adb: (Scan_Make_Switches): Process -B switch | |
8257 | |
8258 * vms_data.ads: Add new GNAT PRETTY qualifier | |
8259 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff | |
8260 | |
8261 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
8262 | |
8263 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer | |
8264 case. | |
8265 | |
8266 * misc.c (gnat_printable_name): If VERBOSITY is 2, call | |
8267 Set_Identifier_Casing. | |
8268 | |
8269 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type | |
8270 has size that overflows. | |
8271 | |
8272 2004-01-05 Gary Dismukes <dismukes@gnat.com> | |
8273 | |
8274 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid | |
8275 -gnatwa warning on static condition. | |
8276 | |
8277 2004-01-05 Doug Rupp <rupp@gnat.com> | |
8278 | |
8279 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC. | |
8280 | |
8281 2004-01-05 Arnaud Charlet <charlet@act-europe.fr> | |
8282 | |
8283 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve | |
8284 all attributes, including read-only attribute. | |
8285 | |
8286 2004-01-05 Pascal Obry <obry@gnat.com> | |
8287 | |
8288 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared | |
8289 library naming scheme. | |
8290 | |
8291 * mlib-prj.adb (Build_Library): Generate different names for the static | |
8292 or dynamic version of the GNAT runtime. This is needed to support the | |
8293 new shared library naming scheme. | |
8294 (Process_Binder_File): Add detection of shared library in binder file | |
8295 based on the new naming scheme. | |
8296 | |
8297 * gnatlink.adb (Process_Binder_File): Properly detect the new naming | |
8298 scheme for the shared runtime libraries. | |
8299 | |
8300 * Makefile.in: | |
8301 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming | |
8302 scheme. | |
8303 (install-gnatlib): Do not create symlinks for shared libraries. | |
8304 (gnatlib-shared-default): Idem. | |
8305 (gnatlib-shared-dual-win32): New target. Not used for now as the | |
8306 auto-import feature does not support arrays/records. | |
8307 (gnatlib-shared-win32): Do not create copy for the shared libraries. | |
8308 (gnatlib-shared-vms): Fix shared runtime libraries names. | |
8309 | |
8310 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target | |
8311 dependent runtime shared library name. | |
8312 | |
8313 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr> | |
8314 | |
8315 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older | |
8316 than the object. | |
8317 | |
8318 2004-01-05 Ed Schonberg <schonberg@gnat.com> | |
8319 | |
8320 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic | |
8321 protected objects when allocator has a subtype indication, not a | |
8322 qualified expression. Note that qualified expressions may have to be | |
8323 checked when limited aggregates are implemented. | |
8324 | |
8325 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is | |
8326 pure, emit warning. | |
8327 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and | |
8328 subprogram is imported, remove warning. | |
8329 | |
8330 2004-01-05 Geert Bosch <bosch@gnat.com> | |
8331 | |
8332 * s-poosiz.adb: Update copyright notice. | |
8333 (Allocate): Use Task_Lock to protect against concurrent access. | |
8334 (Deallocate): Likewise. | |
8335 | |
8336 2004-01-05 Joel Brobecker <brobecker@gnat.com> | |
8337 | |
8338 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ??? | |
8339 comment. | |
8340 | |
8341 | |
8342 | |
8343 Copyright (C) 2004 Free Software Foundation, Inc. | |
8344 | |
8345 Copying and distribution of this file, with or without modification, | |
8346 are permitted in any medium without royalty provided the copyright | |
8347 notice and this notice are preserved. |