]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
java-gimplify.c (java_gimplify_labeled_block_expr): Use buildN instead of build.
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
87f2a9f5
RS
12005-12-01 Roger Sayle <roger@eyesopen.com>
2
3 * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
4 nodes.
5
f8d15f14
LG
62005-11-23 Laurent GUERBY <laurent@guerby.net>
7
8 * mlib-prj.adb (Build_Library): Initialize Delete.
9
04b5d587
JS
102005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
11
12 * socket.c: Add extern int h_errno for rtems since networking header
13 files are not available at this point in a tool bootstrap. Newlib
14 only has basic C library header files.
15
452b5b1e
RG
162005-11-19 Richard Guenther <rguenther@suse.de>
17 Roger Sayle <roger@eyesopen.com>
18
19 PR ada/23717
20 * misc.c (internal_error_function): Don't use vsprintf to format
21 the error message text, instead use pp_format_text and the new
22 pretty printer APIs. This allows handling of %qs, %w, etc.
23
e0709888
LG
242005-11-18 Laurent GUERBY <laurent@guerby.net>
25
26 PR ada/24857
27 * Makefile.in: Use s-auxdec-empty for RTEMS.
28
115a82d3
RK
292005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
30
31 PR ada/22333
32 * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
33 a temporary if taking the address of something that is neither
34 reference, declaration, or constant, since the gimplifier
35 can't handle that case.
36
f92af607
LG
372005-11-17 Laurent GUERBY <laurent@guerby.net>
38
39 PR ada/24857
40 * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
41
0678ec6b
RG
422005-11-16 Richard Guenther <rguenther@suse.de>
43
44 * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
45
b381d30b
JS
462005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
47
48 PR ada/24855
49 * raise-gcc.c: Add missing stdarg.h include.
50
1367ca38
RG
512005-11-16 Richard Guenther <rguenther@suse.de>
52
53 * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
54 (ada/misc.o): Likewise.
55
5de923eb
AC
562005-11-14 Thomas Quinot <quinot@adacore.com>
57
58 * g-soccon.ads: Minor reformatting. Update comments.
59
60 * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
61 gain visibility on the declaration of struct timeval.
62
63 * g-soccon-freebsd.ads,
64 g-soccon-darwin.ads,
65 g-soccon-tru64.ads,
66 g-soccon-aix.ads,
67 g-soccon-irix.ads,
68 g-soccon-hpux.ads,
69 g-soccon-solaris.ads,
70 g-soccon-vms.ads,
71 g-soccon-mingw.ads,
72 g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
73
74 * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
75 g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
76 g-soccon-linux-x86.ads: New files.
77
78 * g-socthi-mingw.adb:
79 (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
80
81 * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
82 (time_t, suseconds_t): New types constructed to match the tv_sec
83 and tv_usec fields of C struct timeval.
84 (Timeval): Construct structure in terms of the new types.
85 (Host_Errno): New function (imported from socket.c), returns last hosts
86 database error.
87
88 * g-socthi-vxworks.adb: Add error handling circuitry.
89
90 * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
91 components of struct timeval.
92 (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
93 (Check_Selector): In error conditions, clear internal socket sets to
94 avoid a memory leak.
95 (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
96 Send_Timeout, Receive_Timeout.
97
98 * g-socthi.ads (time_t, suseconds_t): New types constructed to match
99 the tv_sec and tv_usec fields of C struct timeval.
100 (Timeval): Construct structure in terms of the new types.
101 (Host_Errno): New function (imported from socket.c), returns last hosts
102 database error.
103
104 * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
105 hosts database last error code.
106
107 * gen-soccon.c: Complete value expansion should not be performed on
108 TARGET, as it has the form of a math expression, and some components
109 may be platform-defined macros.
110 For VxWorks, generate the OK and ERROR values.
111 New constants giving the sizes of the components of C struct timeval.
112
1132005-11-14 Robert Dewar <dewar@adacore.com>
114 Ed Schonberg <schonberg@adacore.com>
115
116 PR ada/18434
117
118 * types.ads: Include All_Checks in Suppress_Array
119
120 * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
121 not(a=b), since we no longer do this rewriting, and hence it is not
122 needed.
123 (Elaboration_Checks_Suppressed): Add special casing to
124 deal with different cases of static and dynamic elaboration checks (all
125 checks does not count in the first case, but does in the second).
126 (Expr_Known_Valid): Do not assume that the result of any arbitrary
127 function call is valid, since this is not the case.
128 (Ensure_Valid): Do not apply validity check to a real literal
129 in a universal or fixed context
130
131 * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
132 elementary types using the operator in standard. It is cleaner not to
133 modify the programmers intent, especially in the case of floating-point.
134 (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
135 it did not matter because we always rewrote a/=b to not(a=b).
136 (Expand_Allocator_Expression): For an allocator expression whose nominal
137 subtype is an unconstrained packed type, convert the expression to its
138 actual constrained subtype.
139 Implement warning for <= or >= where < or > not possible
140 Fix to Vax_Float tests (too early in many routines, causing premature
141 Vax_Float expansions.
142
143 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
144 to be used with packages and generic packages as well as with
145 subprograms.
146 (Suppress): Set All_Checks, but not Elaboration_Check, for case
147 of pragma Suppress (All_Checks)
148 (Analyze_Pragma, case Warnings): Implement first argument allowed to be
149 a string literal for precise control over warnings.
150 Avoid raise of pragma in case of unrecognized pragma and just return
151 instead.
152
153 * sem_prag.ads: Minor reformatting
154
155 * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
156 with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
157 Switch. Do not handle any exception.
158 Include -gnatwx as part of -gnatg (warn on redundant parens)
159 Allow optional = after -gnatm
160 (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
161 longer sets Elaboration_Checks.
162 Code to set warning mode moved to Sem_Warn
163 so that it can be shared by pragma processing.
164
165 * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
166 statement.
167
168 * s-taprop-solaris.adb:
169 Change some <= to =, to avoid new warning
170
171 * a-exexda.adb, prj-proc.adb:
172 Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
173 Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
174
1752005-11-14 Robert Dewar <dewar@adacore.com>
176
177 * exp_vfpt.adb: Handle /= case
178 (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
179 so that we do not get duplicate scaling for fixed point conversions.
180
181 * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
182
1832005-11-14 Matthew Gingell <gingell@adacore.com>
184
185 * system-lynxos-ppc.ads, system-lynxos-x86.ads:
186 Increase default priority on Lynx from 15 to 17, and meet the Ada
187 requirement that Default_Priority be ((Priority'First +
188 Priority'Last) / 2) by increasing the range of Interrupt_Priority.
189
1902005-11-14 Vincent Celier <celier@adacore.com>
191
192 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
193 mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
194 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
195 mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
196 mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
197 mlib-tgt-lynxos.adb (DLL_Prefix): New function
198
1992005-11-14 Doug Rupp <rupp@adacore.com>
200
201 * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
202 private part.
203
2042005-11-14 Arnaud Charlet <charlet@adacore.com>
205
206 * s-traces-default.adb, s-trafor-default.ads,
207 s-tratas-default.adb: Fix compilation errors.
208
2092005-11-14 Jose Ruiz <ruiz@adacore.com>
210
211 * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
212 raising the exception so the memory used is freed.
213
2142005-11-14 Arnaud Charlet <charlet@adacore.com>
215
216 * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
217 (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
218 (convert_address): Update comments and list of platforms using this.
219
220 * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
221 no longer used.
222
2232005-11-14 Pascal Obry <obry@adacore.com>
224 Vincent Celier <celier@adacore.com>
225
226 * gnatdll.adb (Parse_Command_Line): Remove redundant use of
227 GNAT.Command_Line.
228
229 * memroot.adb: Remove redundant with/use clause on
230 System.Storage_Elements.
231
2322005-11-14 Arnaud Charlet <charlet@adacore.com>
233
234 * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
235 (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
236 related code to a-exexpr.adb
237 (Save_Occurrence_And_Private): Move GCC EH related code to
238 a-exexpr-gcc.adb
239 (Raise_Current_Excep): Add new variable Id with pragma
240 volatile, to ensure that the variable lives on stack.
241
242 * a-exexpr-gcc.adb, raise-gcc.c: New file.
243
244 * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
245 from a-except.adb.
246 Move GCC EH related code to a-exexpr-gcc.adb
247
248 * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
249 64-bit Solaris
250 Split the Linux version of g-soccon into separate variants for 32 and 64
251 bit platforms.
252 (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
253 vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
254 install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
255 of host variable $(RANLIB_FLAGS).
256 (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
257 Code clean up: remove unused/obsolete targets.
258 (EH_MECHANISM): New variable introduced to differenciate between the
259 two EH mechanisms statically.
260 (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
261 (LIBGNAT_OBJS): Add raise-gcc.o
262 (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
263 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
264 supports VxWorks 6 RTPs.
265 (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
266 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
267
268 * raise.c: Move all GCC EH-related routines to raise-gcc.c
269
2702005-11-14 Jose Ruiz <ruiz@adacore.com>
271
272 * s-tassta.adb (Create_Task): Move the code in charge of resetting the
273 deferral level, when abort is not allowed, to a later stage (the
274 Task_Wrapper).
275 (Task_Wrapper): If Abort is not allowed, reset the deferral level since
276 it will not get changed by the generated code. It was previously done
277 in Create_Task.
278
2792005-11-14 Thomas Quinot <quinot@adacore.com>
280 Olivier Hainque <hainque@adacore.com>
281 Eric Botcazou <ebotcazou@adacore.com>
282
283 * decl.c:
284 Factor common code to build a storage type for an unconstrained object
285 from a fat or thin pointer type and a constrained object type.
286 (annotate_value): Handle BIT_AND_EXPR.
287 (annotate_rep): Don't restrict the back annotation of inherited
288 components to the type_annotate_only case.
289 (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
290 we are not defining the type.
291 <E_Record_Type>: Likewise.
292 (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
293 to get advantage of the new maybe_stabilize_reference interface, to
294 ensure that what we reference is indeed stabilized instead of relying
295 on assumptions on what the stabilizer does.
296 (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
297 type imported through a limited_with clause, use its non-limited view.
298 (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
299 differentiation.
300 (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
301 of #if sections + explicit comparisons of convention identifiers.
302 (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
303 before early-returning for certain types when code generation is
304 disabled.
305 (gnat_to_gnu_entity) <object>: Adjust comment attached to the
306 nullification of gnu_expr we do for objects with address clause and
307 that we are not defining.
308 (elaborate_expression_1): Do not create constants when creating
309 variables needed by the debug info: the dwarf2 writer considers that
310 CONST_DECLs is used only to represent enumeration constants, and emits
311 nothing for them.
312 (gnat_to_gnu_entity) <object>: When turning a non-definition of an
313 object with an address clause into an indirect reference, drop the
314 initializing expression.
315 Include "expr.h".
316 (STACK_CHECK_BUILTIN): Delete.
317 (STACK_CHECK_PROBE_INTERVAL): Likewise.
318 (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
319 (STACK_CHECK_MAX_VAR_SIZE): Likewise.
320 (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
321 corresponding to the renamed object as ignored for debugging purposes.
322
323 * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
324 related): For a prefix that is a dereference of a fat or thin pointer,
325 if there is an actual subtype provided by the front-end, use that
326 subtype to build an actual type with bounds template.
327 (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
328 is provided by the front-end, use that subtype to compute the size of
329 the deallocated object.
330 (gnat_to_gnu): When adding a statement into an elaboration procedure,
331 check for a potential violation of a No_Elaboration_Code restriction.
332 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
333 with extra arguments to control whether to recurse through non-values
334 and to let the caller know if the stabilization has succeeded.
335 (gnat_stabilize_reference): Now a simple wrapper around
336 maybe_stabilize, for common uses without restriction on lvalues and
337 without need to check for the success indication.
338 (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
339 pass false instead of 0 as the FORCE argument which is a bool.
340 (Identifier_to_gnu): Remove checks ensuring that an renamed object
341 attached to a renaming pointer has been properly stabilized, as no such
342 object is attached otherwise.
343 (call_to_gnu): Invoke create_var_decl to create the temporary when the
344 function uses the "target pointer" return mechanism.
345 Reinstate conversion of the actual to the type of the formal
346 parameter before any other specific treatment based on the passing
347 mechanism. This turns out to be necessary in order for PLACEHOLDER
348 substitution to work properly when the latter type is unconstrained.
349
350 * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
351 common pattern.
352 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
353 with extra arguments to control whether to recurse through non-values
354 and to let the caller know if the stabilization has succeeded.
355
356 * utils2.c (gnat_build_constructor): Only sort the fields for possible
357 static output of record constructor if all the components are constant.
358 (gnat_build_constructor): For a record type, sort the list of field
359 initializers in increasing bit position order.
360 Factor common code to build a storage type for an unconstrained object
361 from a fat or thin pointer type and a constrained object type.
362 (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
363 types variants, and process special cases of VIEW_CONVERT expressions
364 as their NOP_EXPR counterpart to ensure we get to the
365 CORRESPONDING_VARs associated with CONST_DECls.
366 (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
367 on the right-hand side.
368
369 * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
370 a common pattern.
371 (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
372 are converting back to its original type.
373 (convert) <JM input>: Fallthrough regular conversion code instead of
374 extracting the object if converting to a type variant.
375 (create_var_decl): When a variable has an initializer requiring code
376 generation and we are at the top level, check for a potential violation
377 of a No_Elaboration_Code restriction.
378 (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
379 SIZE and SIZE_UNIT which we need for later back-annotations.
380 * utils.c: (convert) <STRING_CST>: Remove obsolete code.
381 <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
382 is an unchecked union.
383 (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
384 (convert) <VIEW_CONVERT_EXPR>: When the types have the same
385 main variant, just replace the VIEW_CONVERT_EXPR.
386 <UNION_TYPE>: Revert 2005-03-02 change.
387
388 * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
389
390 * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
391
3922005-11-14 Matthew Heaney <heaney@adacore.com>
393
394 * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
395 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
396 a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
397 a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
398 a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
399 a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
400 Compiles against the spec for ordered maps described in sections
401 A.18.6 of the most recent (August 2005) AI-302 draft.
402
4032005-11-14 Olivier Hainque <hainque@adacore.com>
404
405 * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
406 to ensure bias adjustments take place when need be and to prevent
407 occurrences of intermediate overflows.
408
4092005-11-14 Matthew Gingell <gingell@adacore.com>
410 Olivier Hainque <hainque@adacore.com>
411
412 * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
413 ia64 HP-UX.
414
415 * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
416 tracebacks on ia64 HP-UX and provide explanatory comment.
417 Enable backtraces on ia64 GNU/Linux.
418 (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
419 base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
420
4212005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
422 Javier Miranda <miranda@adacore.com>
423
424 * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
425 exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
426 exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
427 einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
428
429 * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
430 properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
431 assertions).
432
433 * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
434 subprogram that generates the external name associated with a
435 secondary dispatch table.
436 (Get_Secondary_DT_External_Name): New subprogram that generates the
437 external name associated with a secondary dispatch table.
438
4392005-11-14 Emmanuel Briot <briot@adacore.com>
440
441 * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
442 line in the ALI file to include both an instantiation reference, and a
443 returned value.
444
4452005-11-14 Vincent Celier <celier@adacore.com>
446
447 * clean.adb (Check_Project): Look for Ada code in extending project,
448 even if Ada is not specified as a language.
449 Use new function DLL_Prefix for DLL_Name
450 (Clean_Interface_Copy_Directory): New procedure
451 (Clean_Library_Directory): New procedure
452 (Clean_Directory): Remove procedure, no longer used
453 (Clean_Project): Do not delete any file in an externally built project
454
455 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
456 directory of an extending project, even when there are no Ada source
457 present.
458 (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
459 (Set_Ada_Paths.Add.Recursive_Add): Ditto
460
461 * mlib-prj.adb (Check_Library): For all library projects, get the
462 library file timestamp.
463 (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
464 (Build_Library): Use new function DLL_Prefix for the DLL_Name
465 (Clean): Remove procedure, no longer used
466 (Ultimate_Extension_Of): New function
467 (Build_Library): When cleaning the library directory, only remove an
468 existing library file and any ALI file of a source of the project.
469 When cleaning the interface copy directory, remove any source that
470 could be a source of the project.
471
472 * prj.ads, prj.adb (Project_Empty): Add values of new components
473 Library_TS and All_Imported_Projects.
474 (Project_Empty): Add values for new components of Project_Data:
475 Library_ALI_Dir and Display_Library_ALI_Dir
476
477 * prj-attr.adb: New project level attribute name Library_ALI_Dir
478
479 * prj-nmsc.adb (Check_Library_Attributes): Take into account new
480 attribute Library_ALI_Dir.
481 (Check_Library_Attributes): The library directory cannot be the same as
482 any source directory of the project tree.
483 (Check_Stand_Alone_Library): The interface copy directory cannot be
484 the same as any source directory of the project tree.
485
486 * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
487 all temporary files.
488
4892005-11-14 Robert Dewar <dewar@adacore.com>
490 Ed Schonberg <schonberg@adacore.com>
491
492 * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
493 (Check_Elab_Call): A call within a protected body is never an
494 elaboration call, and does not require checking.
495 (Same_Elaboration_Scope): Take into account protected types for both
496 entities.
497 (Activate_Elaborate_All_Desirable): New procedure
498
499 * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
500 desirable
501
502 * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
503 (Elab_Error_Msg): Use -da to include internal unit links, not -de.
504
505 * lib-writ.ads, lib-writ.adb:
506 Implement new AD/ED for Elaborate_All/Elaborate desirable
507 Use new Elaborate_All_Desirable flag in N_With_Clause node
508
509 * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
510 N_Free_Statement nodes.
511 Define new class N_Subprogram_Instantiation
512 Add Elaborate_Desirable flag to N_With_Clause node
513 Add N_Delay_Statement (covering two kinds of delay)
514
515 * debug.adb: Introduce d.f flag for compiler
516 Add -da switch for binder
517
5182005-11-14 Ed Schonberg <schonberg@adacore.com>
519 Cyrille Comar <comar@adacore.com>
520
521 * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
522 for task component, in the case of a limited aggregate. The enclosed
523 object declaration will create it earlier. Otherwise, in the case of a
524 nested aggregate, the object may appear in the wrong scope.
525 (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
526 (Gen_Assign): If the component being assigned is an array type and the
527 expression is itself an aggregate, wrap the assignment in a block to
528 force finalization actions on the temporary created for each row of the
529 enclosing object.
530 (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
531 structures are initialized after all discriminants are set so that
532 they can be accessed even when their offset is dynamic.
533
5342005-11-14 Robert Dewar <dewar@adacore.com>
535 Hristian Kirtchev <kirtchev@adacore.com>
536
537 * sem_attr.adb: Implement Machine_Rounding attribute
538 (Analyze_Access_Attribute): The access attribute may appear within an
539 aggregate that has been expanded into a loop.
540 (Check_Task_Prefix): Add semantic check for attribute 'Callable and
541 'Terminated whenever the prefix is of a task interface class-wide type.
542 (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
543 the prefix is of a task interface class-wide type.
544
545 * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
546 to avoid warnings.
547
548 * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
549 Remove pragma Inline for [Unaligned_]Valid.
550 Add comments that Valid routines do not work for Vax_Float
551
552 * exp_attr.adb: Implement Machine_Rounding attribute
553
554 * snames.h: Add entry for Machine_Rounding attribute
555
5562005-11-14 Javier Miranda <miranda@adacore.com>
557 Robert Dewar <dewar@adacore.com>
558 Hristian Kirtchev <kirtchev@adacore.com>
559
560 * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
561 and related): For a prefix that is an explicit dereference of an
562 access to unconstrained packed array type, annotate the dereference
563 with an actual subtype so GIGI can make a correct size computation.
564 (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
565 'Unrestricted_Access, if the designated type is an interface we
566 add a type conversion to force the displacement of the pointer
567 to the secondary dispatch table.
568 Use Universal_Real instead of Long_Long_Float when we need a high
569 precision float type for the generated code (prevents gratuitous
570 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
571 (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
572 'Terminated for task interface class-wide objects. Generate a call to
573 the predefined dispatching routine used to retrieve the _task_id from
574 a task corresponding record.
575 (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
576
577 * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
578 (Check_Dispatching_Operation): Protect the frontend againts
579 previously detected errors.
580
581 * Makefile.rtl: Add new instantiations of system.fat_gen
582
583 * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
584 Change name of instantiated package for better consistency
585 with newly added system.fat_gen instantiations.
586
587 * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
588 s-fvagfl.ads: New files.
589
5902005-11-14 Cyrille Comar <comar@adacore.com>
591 Thomas Quinot <quinot@adacore.com>
592
593 * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
594 assignment of a value of a tagged type that has been rewritten to a
595 block statement, it is known by construction that no checks are
596 necessary for the statements within the block: analyze it with checks
597 suppressed.
598 (Expand_N_If_Statement): When killing a dead then-branch in an
599 if-statement that has elsif_parts, recompute the Current_Value node
600 for any entity whose value is known from the condition of the first
601 elsif_part.
602 (Expand_N_Return_Statement): When returning a mutable record, convert
603 the return value into its actual subtype in order to help the backend
604 to return the actual size instead of the maximum. This is another
605 aftermath of not returning mutable records on the sec-stack anymore.
606
607 * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
608 handling of error msg for suspicious reverse range iteration.
609 (Check_Possible_Current_Value_Condition): Move declaration from body to
610 spec, to allow this subprogram to be called from exp_ch5.
611
6122005-11-14 Thomas Quinot <quinot@adacore.com>
613
614 * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
615 generate a set of nested array aggregates instead of a single flat
616 aggregate for multi-dimensional arrays.
617
6182005-11-14 Pascal Obry <obry@adacore.com>
619
620 * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
621 by spawnve is a process handle, no need to convert. Add a parameter
622 close to control wether the process handle must be closed.
623 (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
624 a process handle, not need to convert.
625 (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
626
627 * g-expect.adb: (Kill): Document the new close parameter.
628 (Close): Do not release the process handle in the kill there as
629 waitpid() is using it.
630 (Send_Signal): Release the process handle.
631
6322005-11-14 Robert Dewar <dewar@adacore.com>
633
634 * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
635 need a high precision float type for the generated code (prevents
636 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
637 used).
638
639 * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
640 need a high precision float type for the generated code (prevents
641 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
642 used).
643 (Expand_Width_Attribute): In configurable run-time, the attribute is not
644 allowed on non-static enumeration subtypes. Force a load error to emit
645 the correct diagnostic.
646
6472005-11-14 Thomas Quinot <quinot@adacore.com>
648 Robert Dewar <dewar@adacore.com>
649 Ed Schonberg <schonberg@adacore.com>
650
651 * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
652 subtype to compute the size of the designated object at run-time,
653 create such a subtype and store it in the Actual_Designated_Subtype
654 attribute of the N_Free_Statement.
655 Generate itype for classwide designated object in both cases of
656 user-specified storage pool: specific and class-wide, not only in the
657 specific case.
658 Raise CE when trying to set a not null access type object to null.
659 (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
660 an explicit loop, because freeze nodes make its position variable.
661
662 * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
663 null object.
664
6652005-11-14 Javier Miranda <miranda@adacore.com>
666
667 * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
668 Build_Stream_Procedure): Add the null-excluding attribute to the first
669 formal.
670 This has no semantic meaning under Ada95 mode but it is a
671 requirement under Ada05 mode.
672
673 * par-ch3.adb (P_Access_Definition): Addition of warning message if
674 the null exclusion is used under Ada95 mode
675 (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
676 (P_Access_Definition): Remove assertion that forbids the use of
677 the null-exclusion feature in Ada95.
678
6792005-11-14 Robert Dewar <dewar@adacore.com>
680
681 * impunit.adb: Exclude container helper units not intended for use by
682 users.
683
6842005-11-14 Ed Schonberg <schonberg@adacore.com>
685
686 * freeze.adb (Freeze_Entity): For an access formal that is an access
687 to subprogram, freeze the anonymous subprogram type at the same time,
688 to prevent later freezing in the wrong scope, such as the enclosing
689 subprogram body.
690 (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
691 subprogram whenever available.
692
6932005-11-14 Arnaud Charlet <charlet@adacore.com>
694
695 PR ada/23732
696 * gnatvsn.ads (Library_Version): Bump to 4.1
697
6982005-11-14 Robert Dewar <dewar@adacore.com>
699
700 * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
701 Storage_Offset to avoid wrap around causing invalid results.
702
7032005-11-14 Pascal Obry <obry@adacore.com>
704
705 * gnatbind.adb (Is_Cross_Compiler): New function returning True for
706 cross-compiler.
707 (Scan_Bind_Arg): Fail with an error message if -M option is used
708 on a native compiler.
709
7102005-11-14 Robert Dewar <dewar@adacore.com>
711 Vincent Celier <celier@adacore.com>
712
713 * gprep.adb: Implement -C switch to scan comments
714
715 * scng.adb: Scan comment symbol separately if Replace_In_Comments set
716
717 * scans.ads: Comment updates (including new use of Tok_Comment in
718 preprocessing)
719
720 * opt.ads: Add documentation for flags that are used by gprmake,
721 currently and in the next version of gprmake.
722 (Verbosity_Level): New variable
723 Add Replace_In_Comments switch
724
725 * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
726 and -vm.
727 Add /REPLACE_IN_COMMENTS for gnatprep -C switch
728
7292005-11-14 Arnaud Charlet <charlet@adacore.com>
730
731 * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
732 message, friendlier.
733
7342005-11-14 Robert Dewar <dewar@adacore.com>
735
736 * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
737
7382005-11-14 Doug Rupp <rupp@adacore.com>
739
740 * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
741
7422005-11-14 Robert Dewar <dewar@adacore.com>
743
744 * interfac.ads: Change declarations of IEEE float types so that we no
745 longer need a separate version of this package for VMS.
746
7472005-11-14 Ed Schonberg <schonberg@adacore.com>
748
749 * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
750 internal entity created for the declaration of a child subprogram body
751 with no spec as coming from source, to generate proper cross-reference
752 information.
753
7542005-11-14 Vincent Celier <celier@adacore.com>
755
756 * make.adb (Compile_Sources): Change verbose message to minimum
757 verbosity level High for "is in an Ada library", "is a read-only
758 library" and "is an internal library",
759 (Create_Binder_Mapping_File): Path name of ALI file for library project
760 must include the library directory, not the object directory.
761 (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
762 for new switches -vl, -vm and -vh.
763 (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
764 (Check): Use minimum verbosity Medium for some Verbose_Msg calls
765 (Compile_Sources): Do not attempt to compile if an ALI file is missing
766 in a project that is externally built.
767 (Compute_All_Imported_Projects): New procedure
768 (Gnatmake): Check if importing libraries should be regenerated because
769 at least an imported library is more recent.
770 (Initialize): For each project compute the list of the projects it
771 imports directly or indirectly.
772 (Add_Library_Search_Dir): New procedure, used in place of
773 Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
774 put in the search paths.
775 (Add_Source_Search_Dir): New procedure, used in place of
776 Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
777 put in the search paths.
778 (Mark_Directory): Resolve the absolute path the directory before marking
779 it.
780
781 * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
782 call to new procedure Bad_Switch. Call Scan_Pos with new parameter
783 Switch. Do not handle any exception.
784 (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
785 so that the switch is recognized as valid.
786 (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
787
7882005-11-14 GNAT Script <nobody@adacore.com>
789
790 * Make-lang.in: Makefile automatically updated
791
7922005-11-14 Pascal Obry <obry@adacore.com>
793
794 * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
795 used.
796 (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
797 In both cases the last argument was dropped.
798
7992005-11-14 Eric Botcazou <ebotcazou@adacore.com>
800
801 * namet.h: (Column_Numbe): New type.
802 (Get_Column_Number): Define to sinput__get_column_number.
803 (Instantiation): Define to sinput__instantiation.
804 (Get_Column_Number): Declare.
805 (Instantiation): Likewise.
806
8072005-11-14 Robert Dewar <dewar@adacore.com>
808
809 * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
810 syntax, which could cause compiler hangs.
811
8122005-11-14 Vincent Celier <celier@adacore.com>
813
814 * prj-ext.adb: Take into account new environment variable
815 GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
816 are defined.
817 (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
818 normalize its path name, making it absolute and resolving symbolic
819 links, and replace the original if resolved path is different.
820
8212005-11-14 Vincent Celier <celier@adacore.com>
822
823 * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
824 into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
825
8262005-11-14 Emmanuel Briot <briot@adacore.com>
827
828 * prj-pp.adb (Print): Do not output the with statement if the
829 associated name is empty, which happens for virtual extending projects.
830 (Print): Preserve the "extends all" attribute when printing the project.
831
832 * prj-tree.ads (String_Value_Of): Add comment about returned value for
833 a virtual extending project.
834
8352005-11-14 Ed Schonberg <schonberg@adacore.com>
836
837 * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
838 rhs of an assignment even if the type is unconstrained, when the
839 context is non-expanding.
840 In an inlined body, if the context type is private,
841 resolve with its full view, which must be a composite type.
842
8432005-11-14 Robert Dewar <dewar@adacore.com>
844 Ed Schonberg <schonberg@adacore.com>
845
846 * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
847 Do not give obsolescent warning on with of subprogram (since we
848 diagnose calls)
849 (Analyze_With_Clause): Add test for obsolescent package
850 (Install_Context_Clauses): If the unit is the body of a child unit, do
851 not install twice the private declarations of the parents, to prevent
852 circular lists of Use_Clauses in a parent.
853 (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
854 compiling body of child unit.
855 Use new class N_Subprogram_Instantiation
856 (Expand_With_Clause): If this is a private with_clause for a child unit,
857 appearing in the context of a package declaration, then the implicit
858 with_clauses generated for parent units are private as well.
859 (License_Check): Do not generate message if with'ed unit is internal
860
8612005-11-14 Gary Dismukes <dismukes@adacore.com>
862 Ed Schonberg <schonberg@adacore.com>
863 Thomas Quinot <quinot@adacore.com>
864
865 * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
866 names are internal, because they will not have a corresponding partner
867 in the actual package.
868 (Analyze_Formal_Package): Move the setting of the formal package spec's
869 Generic_Parent field so that it occurs prior to analyzing the package,
870 to allow proper operation of Install_Parent_Private_Declarations.
871 (Analyze_Package_Instantiation): Set the instantiated package entity's
872 Package_Instantiation field.
873 (Get_Package_Instantiation_Node): Move declaration to package spec.
874 Retrieve the N_Package_Instantiation node when the Package_Instantiation
875 field is present.
876 (Check_Generic_Child_Unit): Within an inlined call, the only possible
877 instantiation is Unchecked_Conversion, for which no parents are needed.
878 (Inline_Instance_Body): Deinstall and record the use_clauses for all
879 parent scopes of a scope being removed prior to inlining an instance
880 body.
881 (Analyze_Package_Instantiation): Do not perform front-end inlining when
882 the current context is itself an instance within a non-instance child
883 unit, to prevent scope stack errors.
884 (Save_References): If the node is an aggregate that is an actual in a
885 call, rewrite as a qualified expression to preserve some type
886 information, to resolve possible ambiguities in the instance.
887 (Instance_Parent_Unit): New global variable to record the ultimate
888 parent unit associated with a generic child unit instance (associated
889 with the existing Parent_Unit_Visible flag).
890 (type Instance_Env): New component Instance_Parent_Unit for stacking
891 parents recorded in the global Instance_Parent_Unit.
892 (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
893 stack.
894 (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
895 it's not a top-level unit, and only do this if Instance_Parent_Unit is
896 not already set. Replace test of Is_Child_Unit with test of parent's
897 scope against package Standard. Add comments and a ??? comment.
898 (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
899 on a child instance parent to test that the parent equals
900 Instance_Parent rather than simply checking that the unit is not a
901 child unit.
902 (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
903 (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
904 a formal interface are ancestors of the corresponding actual.
905 (Validate_Formal_Interface_Type): Additional legality checks.
906 (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
907 interface types with ancestors.
908 (Analyze_Formal_Package): If formal is a renaming, use renamed entity
909 to diagnose attempts to use generic within its own declaration.
910
9112005-11-14 Ed Schonberg <schonberg@adacore.com>
912 Javier Miranda <miranda@adacore.com>
913
914 * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
915 discriminant.
916 (Build_Private_Derived_Type): The entity of the created full view of the
917 derived type does not come from source. If after installing the private
918 declarations of the parent scope the parent is still private, use its
919 full view to construct the full declaration of the derived type.
920 (Build_Derived_Record_Type): Relax the condition that controls the
921 execution of the check that verifies that the partial view and
922 the full view agree in the set of implemented interfaces. In
923 addition, this test now only takes into account the progenitors.
924 (Derive_Interface_Subprograms): No need to derive subprograms
925 of ancestors that are interfaces.
926 (Derive_Subprograms): Remove formal No_Predefined_Prims and the
927 associated code.
928 Change name Is_Package to Is_Package_Or_Generic_Package
929 (Complete_Subprograms_Derivation): Handle the case in which the full
930 view is a transitive derivation of the ancestor of the partial view.
931 (Process_Full_View): Rename local subprogram Find_Interface_In_
932 Descendant to Find_Ancestor_Interface to leave the code more clear.
933 Remove wrong code that avoids the generation of an error message
934 when the immediate ancestor of the partial view is an interface.
935 In addition some minor reorganization of the code has been done to
936 leave it more clear.
937 (Analyze_Type_Declaration): If type has previous incomplete tagged
938 partial view, inherit properly its primitive operations.
939 (Collect_Interfaces): Make public, for analysis of formal
940 interfaces.
941 (Analyze_Interface_Declaration): New procedure for use for regular and
942 formal interface declarations.
943 (Build_Derived_Record_Type): Add support for private types to the code
944 that checks if a tagged type implements abstract interfaces.
945 (Check_Aliased_Component_Type): The test applies in the spec of an
946 instance as well.
947 (Access_Type_Declaration): Clean up declaration of malformed type
948 declared as an access to its own classwide type, to prevent cascaded
949 crash.
950 (Collect_Interfaces): For private extensions and for derived task types
951 and derived protected types, the parent may be an interface that must
952 be included in the interface list.
953 (Access_Definition): If the designated type is an interface that may
954 contain tasks, create Master_Id for it before analyzing the expression
955 of the declaration, which may be an allocator.
956 (Record_Type_Declaration): Set properly the interface kind, for use
957 in allocators, the creation of master id's for task interfaces, etc.
958
9592005-11-14 Javier Miranda <miranda@adacore.com>
960 Ed Schonberg <schonberg@adacore.com>
961
962 * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
963 omitted in case of stream attribute subprograms.
964 (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
965 appear immediately after a subprogram body, when there is no previous
966 subprogram declaration.
967 Change name Is_Package to Is_Package_Or_Generic_Package
968 (Process_Formals): A non null qualifier on a non null named access
969 type is not an error, and is a warning only if Redundant_Constructs
970 are flagged.
971
9722005-11-14 Gary Dismukes <dismukes@adacore.com>
973 Ed Schonberg <schonberg@adacore.com>
974
975 * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
976 nested within Analyze_Package_Specification to install the private
977 declarations and use clauses within each of the parent units of a
978 package instance of a generic child package.
979 (Analyze_Package_Specification): When entering a private part of a
980 package associated with a generic instance or formal package, the
981 private declarations of the parent must be installed (by calling new
982 procedure Install_Parent_Private_Declarations).
983 Change name Is_Package to Is_Package_Or_Generic_Package
984 (Preserve_Full_Attributes): For a synchronized type, the corresponding
985 record is absent in a generic context, which does not indicate a
986 compiler error.
987
9882005-11-14 Ed Schonberg <schonberg@adacore.com>
989
990 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
991 not try to rewrite a renamed stream attribute, because the operations
992 on the type may not have been generated.
993 Handle properly a renaming_as_body generated for a stream operation
994 whose default is abstract because the object type itself is abstract.
995 (Find_Type): If the type is incomplete and appears as the prefix of a
996 'Class reference, it is tagged, and its list of primitive operations
997 must be initialized properly.
998 (Chain_Use_Clauses): When chaining the use clauses that appear in the
999 private declaration of a parent unit, prior to compiling the private
1000 part of a child unit, find on the scope stack the proper parent entity
1001 on which to link the use clause.
1002 (Note_Redundant_Use): Emit a warning when a redundant use clause is
1003 detected.
1004 (Analyze_Object_Renaming): An attribute reference is not a legal object
1005 if it is not a function call.
1006
10072005-11-14 Robert Dewar <dewar@adacore.com>
1008 Ed Schonberg <schonberg@adacore.com>
1009
1010 * sem_eval.adb: Implement d.f flag
1011 (Subtype_Statically_Match): A generic actual type has unknown
1012 discriminants when the corresponding actual has a similar partial view.
1013 If the routine is called to validate the signature of an inherited
1014 operation in a child instance, the generic actual matches the full view,
1015
10162005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
1017 Ed Schonberg <schonberg@adacore.com>
1018 Robert Dewar <dewar@adacore.com>
1019 Thomas Quinot <quinot@adacore.com>
1020
1021 * sem_res.adb (Resolve_Call): Provide a better error message whenever
1022 a procedure call is used as a select statement trigger and is not an
1023 entry renaming or a primitive of a limited interface.
1024 (Valid_Conversion): If the operand has a single interpretation do not
1025 remove address operations.
1026 (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
1027 statement to inhibit warning.
1028 (Resolve_Unary_Op): Do not produce a warning when
1029 processing an expression of the form -(A mod B)
1030 Use Universal_Real instead of Long_Long_Float when we need a high
1031 precision float type for the generated code (prevents gratuitous
1032 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1033 (Resolve_Concatenation_Arg): Improve error message when argument is an
1034 ambiguous call to a function that returns an array.
1035 (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
1036 there is an implicit operator in the given scope if we are within an
1037 instance: legality check has been performed on the generic.
1038 (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
1039 after resolving operand, to avoid false warnings on overloaded calls.
1040
10412005-11-14 Ed Schonberg <schonberg@adacore.com>
1042 Javier Miranda <miranda@adacore.com>
1043
1044 PR ada/15604
1045
1046 * sem_type.adb (Covers): In an inlined body, a composite type matches
1047 a private type whose full view is a composite type.
1048 (Interface_Present_In_Ancestor): Protect the frontend against
1049 previously detected errors to ensure that its compilation
1050 with assertions enabled gives the same output that its
1051 compilation without assertions.
1052 (Interface_Present_In_Ancestor): Add support for private types.
1053 Change name In_Actual to In_Generic_Actual (clean up)
1054 (Disambiguate): New predicate In_Actual, to recognize expressions that
1055 appear in the renaming declaration generated for generic actuals, and
1056 which must be resolved in the outer context.
1057
10582005-11-14 Robert Dewar <dewar@adacore.com>
1059 Thomas Quinot <quinot@adacore.com>
1060 Hristian Kirtchev <kirtchev@adacore.com>
1061 Ed Schonberg <schonberg@adacore.com>
1062
1063 * sem_util.ads, sem_util.adb: Change name Is_Package to
1064 Is_Package_Or_Generic_Package.
1065 (Check_Obsolescent): New procedure.
1066 (Set_Is_Public): Remove obsolete junk test.
1067 (Set_Public_Status): Do not set Is_Public on an object whose declaration
1068 occurs within a handled_sequence_of_statemets.
1069 (Is_Controlling_Limited_Procedure): Factor some of the logic, account
1070 for a parameterless procedure.
1071 (Enter_Name): Recognize renaming declarations created for private
1072 component of a protected type within protected operations, so that
1073 the source name of the component can be used in the debugger.
1074
10752005-11-14 Ed Schonberg <schonberg@adacore.com>
1076 Robert Dewar <dewar@adacore.com>
1077
1078 * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
1079 of a generic subprogram are not visible outside the body.
1080 (Set_Warning_Switch): New procedure (code to set warning mode moved
1081 here from Switch.C so that it can be shared by pragma processing.
1082 (Check_References): Special case warning for non-modified non-imported
1083 volatile objects.
1084 * par-prag.adb: Modify processing of pragma Warnings to accomodate new
1085 form with a string literal argument
1086
10872005-11-14 Javier Miranda <miranda@adacore.com>
1088
1089 * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
1090 anonymous access.
1091 (Write): Addition of "not null" to the anonymous access.
1092 (Read): Addition of "not null" to the anonymous access.
1093 (Write): Addition of "not null" to the anonymous access.
1094
1095 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
1096 I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
1097 I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
1098 (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
1099 W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
1100 "not null" to the anonymous access.
1101
11022005-11-14 Robert Dewar <dewar@adacore.com>
1103
1104 * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
1105 offset values
1106
11072005-11-14 Vincent Celier <celier@adacore.com>
1108
1109 * switch.adb (Bad_Switch): New procedure
1110 (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
1111 message when in error.
1112
1113 * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
1114 Too_Many_Output_Files): Remove declarations, no longer used.
1115 (Scan_Nat): New parameter Switch
1116 (Scan_Pos): Ditto
1117 (Bad_Switch): New procedure
1118
1119 * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
1120 with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
1121 new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
1122 to Osint.Fail. Do not handle any exception.
1123
11242005-11-14 Vincent Celier <celier@adacore.com>
1125
1126 * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
1127 designates a non existent directory.
1128
11292005-11-14 Robert Dewar <dewar@adacore.com>
1130
1131 * xgnatugn.adb: Replace invalid membership test by 'Valid
1132
11332005-11-14 Vincent Celier <celier@adacore.com>
1134
1135 * makegpr.adb (Gprmake): Do not attempt to build the global archive if
1136 there is no object directory.
1137
11382005-11-14 Robert Dewar <dewar@adacore.com>
1139
1140 * usage.adb: Minor adjustment to output format, use nn instead of nnn
1141 (so that -gnateInnn does not run into next column)
1142
11432005-11-14 Ed Falis <falis@adacore.com>
1144
1145 * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
1146 "constrained"
1147
11482005-11-14 Cyrille Comar <comar@adacore.com>
1149
1150 * s-chepoo.ads: Add comments on Dereference.
1151 Remove unnecessary inherited abstract primitives.
1152 Cosmetic cleanup.
1153
11542005-11-14 Robert Dewar <dewar@adacore.com>
1155
1156 * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
1157 node parameter, not needed, since it is available as Declaration_Node.
1158
11592005-11-14 Geert Bosch <bosch@adacore.com>
1160
1161 * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
1162 grammatically correct.
1163
11642005-11-14 Vincent Celier <celier@adacore.com>
1165
1166 * s-fileio.ads: Correct spelling error in comment
1167
11682005-11-14 Cyrille Comar <comar@adacore.com>
1169 Robert Dewar <dewar@adacore.com>
1170 Vincent Celier <celier@adacore.com>
1171 Ben Brosgol <brosgol@adacore.com>
1172 Jose Ruiz <ruiz@adacore.com>
1173 Pascal Obry <obry@adacore.com>
1174
1175 * gnat_ugn.texi:
1176 Document that -fstack-check is needed for strict compliance with the
1177 Ada 95 Reference Manual.
1178 Correct reference to VAX systems to meet HP guidelines
1179 Add documentation for new gnatmake switches -vl, -vm and -vh
1180 Replace DEC Ada by HP Ada
1181 Replace DIGITAL by HP
1182 Remove empty section on tools in compatibility section
1183 Clarify the Windows convention semantics.
1184 Document the Win32 calling convention.
1185 The Stdcall, Win32 and DLL convention are synonyms.
1186 Add a note in -gnatR description about zero size record components
1187 Note on new >= and <= warnings for -gnatwc
1188 Document that equal sign after -gnatm is optional.
1189 Note that strip is working fine on DLL built with a Library
1190 Project. The restriction apply only to DLL built with gnatdll.
1191 Update section about the way to debug a DLL.
1192 Update information about the DLL convention.
1193 Document -C switch for gnatprep
1194 Document new attribute Library_ALI_Dir
1195 Update elaboration doc to include implicit Elaborate pragmas now
1196 generated for subprogram instantiations.
1197 Document limitation on executable names that include spaces for --GCC,
1198 --GNATBIND, and --GNATLINK switches.
1199 Document that -w causes -gnatws to be added at start of gcc switches
1200
1201 * gnat_rm.texi: Document that -mieee is needed for generating infinite
1202 and NaN values in case of overflow on machines that are not fully
1203 compliant with the IEEE floating-point standard.
1204 Create a section describing the set of compiler options needed for
1205 strict compliance with the Ada 95 Reference Manual.
1206 Add documentation for pragma Obsolescent applied to a package
1207 Clarify potential issues of mixed language programs related to the
1208 I/O buffering enabling in the elaboration of the GNAT runtime.
1209 Add extra documentation for pragma Restrictions (No_Elaboration_Code)
1210 This documentation only patch adds extra documentsion for pragma
1211 Restrictions (No_Elaboration_Code), explaining why it is not possible
1212 to document this restriction in terms of allowed source constructs.
1213 Document string literal form of pragma Warnings
1214 Document new attribute Library_ALI_Dir
1215 Add documentation on stable attributes in project files that was missing
1216
1217 * gnat-style.texi: Indicate that paragraphs within a single comment
1218 should be separated by empty comment lines
1219
1220 * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
1221 /05 respectively)
1222
1223 * bindusg.adb: Minor cleanup, put -m before -M for consistency
1224
12252005-11-14 Robert Dewar <dewar@adacore.com>
1226
1227 * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
1228 a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
1229 a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
1230 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
1231 a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
1232 a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
1233 a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
1234 a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
1235 a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
1236 a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
1237 a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
1238 a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
1239 g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
1240 a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
1241 a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
1242 system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
1243 g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
1244 g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
1245 a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
1246 a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
1247 a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
1248 a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
1249 a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
1250 a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
1251 system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
1252 system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
1253 a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
1254 a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
1255 a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
1256 system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
1257 system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
1258 s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
1259 system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
1260 system-interix.ads, system-solaris-sparc.ads,
1261 system-solaris-sparcv9.ads, s-inmaop-vms.adb,
1262 s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
1263 system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
1264 s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
1265 a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
1266 a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
1267 a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
1268 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
1269 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
1270 a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
1271 a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
1272 a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
1273 a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
1274 a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
1275 a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
1276 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
1277 a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
1278 a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
1279 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
1280 a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
1281 a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
1282 a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
1283 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
1284 a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
1285 a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
1286 a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
1287 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
1288 a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
1289 a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
1290 a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
1291 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
1292 a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
1293 a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
1294 a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
1295 bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
1296 csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
1297 errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
1298 errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
1299 exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
1300 exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
1301 freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
1302 g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
1303 g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
1304 g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
1305 g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
1306 g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
1307 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
1308 g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
1309 g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
1310 gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
1311 gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
1312 g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
1313 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
1314 g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
1315 g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
1316 g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
1317 layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
1318 mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
1319 mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
1320 nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
1321 osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
1322 par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
1323 par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
1324 par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
1325 prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
1326 prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
1327 prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
1328 prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
1329 sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
1330 sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
1331 sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
1332 sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
1333 s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
1334 sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
1335 s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
1336 s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
1337 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
1338 s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
1339 s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
1340 s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
1341 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
1342 s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
1343 s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
1344 s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
1345 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
1346 s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
1347 s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
1348 s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
1349 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
1350 s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
1351 s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
1352 s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
1353 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
1354 s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
1355 s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
1356 s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
1357 s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
1358 s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
1359 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
1360 s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
1361 styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
1362 s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
1363 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
1364 s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
1365 s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
1366 s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
1367 s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
1368 s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
1369 s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
1370 s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
1371 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
1372 table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
1373 tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
1374 ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
1375 usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
1376 xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
1377 xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
1378 a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
1379 a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
1380 a-numaux-darwin.ads, a-numaux-darwin.adb,
1381 a-swuwha.ads, a-stunha.ads: Minor reformatting
1382
e0ac6309
RD
13832005-11-14 Robert Dewar <dewar@adacore.com>
1384
1385 PR ada/18434
1386 * osint-m.adb: Add pragma Elaborate_All for Osint
1387
f45ddfe0
EB
13882005-11-10 Eric Botcazou <ebotcazou@adacore.com>
1389
1390 PR ada/23995
1391 * trans.c (call_to_gnu): Restore statement lost in translation.
1392
13bb031a
EB
13932005-11-08 Eric Botcazou <ebotcazou@adacore.com>
1394
1395 * init.c: Use the Linux-specific section for the IA-64/Linux target.
1396 (__gnat_adjust_context_for_raise): Add conditional code so that the
1397 IA-64 is also supported.
1398
72098128
JW
13992005-11-03 James E Wilson <wilson@specifix.com>
1400
1401 PR ada/23427
13bb031a
EB
1402 * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1403 TREE_OVERFLOW check.
72098128 1404
8fafe21d
OH
14052005-09-21 Olivier Hainque <hainque@adacore.com>
1406
1407 PR ada/22418
1408 * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
1409 as we create them to store a size in bits.
1410
552725e3
EB
14112005-10-21 Eric Botcazou <ebotcazou@adacore.com>
1412
1413 PR ada/21937
1414 PR ada/22328
1415 PR ada/22381
1416 PR ada/22383
1417 PR ada/22419
1418 PR ada/22420
1419 * utils2.c (build_return_expr): New helper function.
1420 * gigi.h (build_return_expr): Declare it.
1421 * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
1422 of manually building the RETURN_EXPR tree.
1423 (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
1424 (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
8fafe21d 1425 build_binary_op for the "target pointer" case. Use build_return_expr
552725e3
EB
1426 instead of manually building the RETURN_EXPR tree.
1427
ccdeca37
LG
14282005-09-16 Laurent GUERBY <laurent@guerby.net>
1429
1430 PR ada/23788
1431 * s-tpinop.ads: Make this unit Preelaborate.
1432
da8f5fd9
AJ
14332005-09-16 Andreas Jaeger <aj@suse.de>
1434
1435 * socket.c: Add string.h for memcpy.
1436
98b40956
AC
14372005-09-05 Arnaud Charlet <charlet@adacore.com>
1438
1439 * dec-io.ads, dec-io.adb: Removed, no longer used.
1440
14412005-09-01 Arnaud Charlet <charlet@adacore.com>
1442
1443 * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
1444
1445 * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
1446 s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
1447 s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
1448 s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
1449 dependent units are Preelaborate.
1450 (Initialize): Call Interrupt_Managemeent.Initialize and
1451 OS_Primitives.Initialize to ensure proper initialization of this unit.
1452 Remove use of System.Soft_Links
1453 Make this unit Preelaborate.
1454
1455 * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
1456 s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
1457 s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
1458 s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
1459 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
1460 s-tratas.ads, s-tasinf.ads: Minor reformatting.
1461 Add pragma Preelaborate, since these packages are suitable for this
1462 categorization.
1463 Update comments.
1464
1465 * s-traent-vms.ads, s-intman-dummy.adb,
1466 s-taprop-dummy.adb: Make this unit Preelaborate.
1467
1468 * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
da8f5fd9 1469 s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
98b40956
AC
1470 s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
1471 s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
1472 s-intman-solaris.adb, s-intman-irix-athread.adb,
1473 s-intman-irix.adb: Mark this unit Preelaborate.
1474 (Initialize): New procedure.
1475 Update comments.
1476
1477 * s-taspri-linux.ads: Removed.
1478
1479 * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
1480 as done by other implementations (e.g. posix).
1481
1482 * s-taprop.ads (Timed_Delay): Update spec since the caller now is
1483 responsible for deferring abort.
1484 Mark this unit Preelaborate.
1485
1486 * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
1487 proper initialization of the tasking run-time.
1488
1489 * s-tasdeb.ads: Mark this unit Preelaborate.
1490 (Known_Tasks): Add explicit default value to avoid elaboration code.
1491
1492 * s-inmaop-vms.adb (Elaboration code): Add call to
1493 Interrupt_Management.Initialize since the elaboration code depends on
1494 proper initialization of this package.
1495
1496 * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
1497 s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
1498 s-osprim-posix.adb: Make this unit Preelaborate.
1499
1500 * a-calend.adb: Add call to OS_Primitives.Initialize
1501
1502 * a-elchha.adb: Update use of Except.Id.Full_Name.
1503 Minor reformatting.
1504 Remove use of Ada.Exceptions.Traceback when possible, cleaner.
1505
1506 * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
1507 Move with clauses outside Warnings Off now that dependent units are
1508 Preelaborate.
1509 Use raise xxx with "..."; Ada 2005 form.
1510
da8f5fd9 1511 * a-taside.ads, a-taside.adb:
98b40956
AC
1512 Remove some dependencies, to make it easier to make this unit truly
1513 Preelaborate.
1514 Rewrite some code to be conformant with Preelaborate rules.
1515
1516 * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
1517 marked Preelaborate in the future.
1518
1519 * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
1520 these units Preelaborate.
1521
1522 * s-exctab.adb: Update use of Except.Id.Full_Name.
1523
1524 * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
1525 (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
1526 Set_Exc_Stack_Addr): Removed, no longer used.
1527 Remove reference to *Machine_State_Addr*, no longer needed.
1528
1529 * s-stalib.ads: Mark this unit as Preelaborate[_05].
1530 (Exception_Data): Full_Name is now a System.Address so that this unit
1531 can be made Preelaborate.
1532 Clean up/simplify code thanks to Full_Name being a System.Address.
1533 Remove obsolete pragma Suppress (All_Checks), no longer needed.
1534
da8f5fd9 1535 * s-taskin.ads, s-taskin.adb:
98b40956
AC
1536 Move with clauses outside Warnings Off now that dependent units are
1537 Preelaborate.
1538 Make this unit Preelaborate.
1539 (Initialize): New proceduure, replace elaboration code and makes the
1540 set up of the tasking run-time cleaner.
1541 (Detect_Blocking): Now a function instead of a deferred boolean, to
1542 obey Preelaborate rules.
1543
1544 * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
1545 soft links, no longer used.
1546
1547 * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
1548 packages are suitable for this categorization.
1549
1550 * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
1551 since we compile run-time sources in Ada 2005 mode.
1552 (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
1553 avoid having s-taprop*.adb depend on s-soflin and to avoid code
1554 duplication.
1555 Remove reference to *Machine_State_Addr*, no longer needed.
1556
15572005-09-01 Arnaud Charlet <charlet@adacore.com>
1558
1559 * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
1560 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1561 Remove reference to System.Exceptions.
1562
1563 * s-mastop-x86.adb: Removed, no longer used.
1564
1565 * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
1566
1567 * a-excach.adb: Minor reformatting.
1568
1569 * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
1570 instead fix new warnings that were hidden by this change.
1571 (AAA, ZZZ): Removed, replaced by...
1572 (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
1573 are used instead of constants, to help make Ada.Exception truly
1574 preelaborate.
1575 (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
1576 Raise_Storage_Error): File is now a System.Address, to simplify code.
1577 (Elab code): Removed, no longer used.
1578 (Null_Occurrence): Remove Warnings Off and make this construct
1579 preelaborate.
1580 Remove code related to front-end zero cost exception handling, since
1581 it is no longer used.
1582 Remove -gnatL/-gnatZ switches.
1583
1584 * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
1585 Update use of Except.Msg.
1586
1587 * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
1588 freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
1589 to front-end zero cost exception handling, since it is no longer used.
1590 Remove -gnatL/-gnatZ switches.
1591
1592 * lib-writ.ads: Minor reformatting
1593 Remove doc of UX
1594
1595 * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
1596
1597 * Make-lang.in: Remove references to s-except.ads
1598
1599 * s-except.ads: Removed, no longer used.
1600
da8f5fd9 1601 * s-mastop.ads, s-mastop.adb:
98b40956
AC
1602 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1603 Remove reference to System.Exceptions.
1604
1605 * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
1606 switch-b.adb: Remove code related to front-end zero cost exception
1607 handling, since it is no longer used.
1608 Remove -gnatL/-gnatZ switches.
1609
16102005-09-01 Robert Dewar <dewar@adacore.com>
1611 Gary Dismukes <dismukes@adacore.com>
1612 Javier Miranda <miranda@adacore.com>
1613
1614 * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
1615 type by valid test and generate warning.
1616 (Tagged_Membership): Generate call to the run-time
1617 subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
1618 Change formal name Subtype_Mark to Result_Definition in several calls to
1619 Make_Function_Specification.
1620 (Expand_Allocator_Expression): Add tests for suppression of the AI-344
1621 check for proper accessibility of the operand of a class-wide allocator.
1622 The check can be left out if checks are suppressed or if the expression
1623 has a specific tagged type whose level is known to be safe.
1624
1625 * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
1626 generates the run-time check associated with null-excluding entities.
1627 (Expand_N_Return_Statement): Add tests to determine if the accessibility
1628 check on the level of the return expression of a class-wide function
1629 can be elided. The check usually isn't needed if the expression has a
1630 specific type (unless it's a conversion or a formal parameter). Also
1631 add a test for whether accessibility checks are suppressed. Augment
1632 the comments to describe the conditions for performing the check.
1633
16342005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1635 Javier Miranda <miranda@adacore.com>
1636 Gary Dismukes <dismukes@adacore.com>
1637 Ed Schonberg <schonberg@adacore.com>
1638
1639 * a-tags.adb (IW_Membership): Give support to
1640 "Iface_CW_Typ in T'Class". For this purpose the functionality of this
1641 subprogram has been extended to look for the tag in the ancestors tag
1642 table.
1643 Update the structure of the GNAT Dispatch Table to reflect the
1644 additional two tables used in dispatching selects.
1645 Introduce appropriate array types and record components in
1646 Type_Specific_Data to reflect the two tables.
1647 (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
1648 the TSD of a tag, indexed by position.
1649 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
1650 operation kind in the TSD of a tag, indexed by position.
1651
1652 * a-tags.ads: Introduce an enumeration type to capture different
1653 primitive operation kinds. Define a constant reflecting the number of
1654 predefined primitive operations.
1655 (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
1656 of an entry wrapper.
1657 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
1658 callable entity of a primitive operation.
1659
1660 * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
1661 primitive operations used in dispatching selects for limited
1662 interfaces, limited tagged, task and protected types what implement a
1663 limited interface.
1664 (Freeze_Type): Generate the bodies of the primitive operations used in
1665 dispatching selects for limited tagged, task and protected types that
1666 implement a limited interface. Generate statements to populate the two
1667 auxiliary tables used for dispatching in select statements.
1668 (Freeze_Record_Type): Add call to initialize the dispatch table entries
1669 associated with predefined interface primitive operations.
1670 (Build_Dcheck_Function): Change Set_Subtype_Mark to
1671 Set_Result_Definition.
1672 (Build_Variant_Record_Equality): Change Subtype_Mark to
1673 Result_Definition.
1674 (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
1675 (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
1676 (Build_Assignment): Simplify the code that adds the run-time-check.
1677 (Expand_N_Object_Declaration): Code cleanup.
1678
1679 * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
1680 entries when there is a protected type that implements a limited
1681 interface.
1682
1683 * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
1684 common routines used in expansion of dispatching selects.
1685 (Add_Private_Declarations): Select the appropriate protection type when
1686 there is a protected type that implements a limited interface.
1687 (Build_Parameter_Block): Generate a wrapped parameter block.
1688 (Build_Protected_Subprogram_Body): Select the appropriate type for
1689 locking entries when there is a protected type that implements a
1690 limited interface.
1691 (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
1692 classified as entry wrappers.
1693 (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
1694 asynchronous selects.
1695 (Expand_N_Conditional_Entry_Call): Add support for expansion of
1696 dispatching conditional selects.
1697 (Expand_N_Protected_Type_Declaration): Select the appropriate type for
1698 protection when there is a protected type that implements limited
1699 interfaces.
1700 (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
1701 timed selects.
1702 (Extract_Dispatching_Call): Extract the entity of the name of a
1703 dispatching call, the object parameter, actual parameters and
1704 corresponding formals.
1705 (Make_Initialize_Protection): Correct logic of protection initialization
1706 when there is a protected type that implements a limited interface.
1707 (Parameter_Block_Pack): Populate a wrapped parameter block with the
1708 values of actual parameters.
1709 (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
1710 block and assign them to the original actual parameters.
1711
1712 * exp_ch9.ads (Subprogram_Protection_Mode): New type.
1713 (Build_Protected_Sub_Specification): Change the type and name of the
1714 last formal to account for the increased variety of protection modes.
1715
1716 * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
1717 entities. Used to save the value of the Is_Hidden attribute when the
1718 limited-view is installed.
1719 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
1720 the attribute of procedures classified as entry wrappers.
1721 (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
1722 entity of a primitive wrapper.
1723 (Write_Entity_Flags): Output the name and value of the
1724 Is_Primitive_Wrapper attribute.
1725 (Write_Field27_Name): Output the name and entity of the field Wrapped_
1726 Entity.
1727 (Underlying_Type): If we have an incomplete entity that comes from
1728 the limited view then we return the Underlying_Type of its non-limited
1729 view if it is already available.
1730 (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
1731 including operators.
1732 (Write_Field26_Name): Add entry for Overridden_Operation
1733 (Overridden_Operation): New attribute of functions and procedures.
1734
1735 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
1736 predefined position in the dispatch table for the primitive operations
1737 used in dispatching selects.
1738 (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
1739 predefined primitive operations and replace it with
1740 Default_Prim_Op_Count.
1741 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
1742 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
1743 the names of the generated primitive operations used in dispatching
1744 selects.
1745 (Init_Predefined_Interface_Primitives): No need to inherit primitives in
1746 case of abstract interface types. They will be inherit by the objects
1747 implementing the interface.
1748 (Make_DT): There is no need to inherit the dispatch table of the
1749 ancestor interface for the elaboration of abstract interface types.
1750 The dispatch table will be inherited by the object implementing the
1751 interface.
1752 (Copy_Secondary_DTs): Add documentation.
1753 (Validate_Position): Improve this static check in case of
1754 aliased subprograms because aliased subprograms must have
1755 the same position.
1756 (Init_Predefined_Interface_Primitives): New subprogram that initializes
1757 the entries associated with predefined primitives of all the secondary
1758 dispatch tables.
1759 (Build_Anonymous_Access_Type): Removed.
1760 (Expand_Interface_Actuals): With the previous cleanup there is no need
1761 to build an anonymous access type. This allows further cleanup in the
1762 code generated by the expander.
1763 (Expand_Interface_Conversion): If the actual is an access type then
1764 build an internal function to handle the displacement. If the actual
1765 is null this function returns null because no displacement is
1766 required; otherwise performs a type conversion that will be
1767 expanded in the code that returns the value of the displaced actual.
1768 (Expand_Interface_Actuals): Avoid the generation of unnecessary type
1769 conversions that have no effect in the generated code because no
1770 displacement is required. Code cleanup; use local variables to
1771 avoid repeated calls to the subprogram directly_designated_type().
1772
1773 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
1774 Classify the primitive operations used in dispatching selects as
1775 predefined.
1776 (Implements_Limited_Interface): Determine whether some type either
1777 directly implements a limited interface or extends a type that
1778 implements a limited interface.
1779 (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
1780 (Expand_Subtype_From_Expr): Do not build actual subtype if the
1781 expression is limited.
1782 (Find_Interface_Tag): Add code to handle class-wide types and
1783 entities from the limited-view.
1784
1785 * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
1786 Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
1787 POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
1788 POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
1789 Set_Prim_Op_Kind.
1790
1791 * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
1792 of procedure name or prefix that appears as a trigger in a triggering
1793 alternative.
1794
1795 * uintp.ads: Introduce constants Uint_11 and Uint_13.
1796
17972005-09-01 Arnaud Charlet <charlet@adacore.com>
1798
1799 * s-tataat.adb, a-tasatt.adb:
1800 Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
1801
1802 * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
1803 these procedures to body, and renamed Abort_Defer, Abort_Undefer.
1804 (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
1805 longer used.
1806
18072005-09-01 Arnaud Charlet <charlet@adacore.com>
1808 Jose Ruiz <ruiz@adacore.com>
1809
da8f5fd9 1810 * s-taprop-vxworks.adb:
98b40956
AC
1811 Move with clauses outside Warnings Off now that dependent units are
1812 Preelaborate.
1813 (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
1814 initialization of this unit.
1815 (Specific): Add new procedures Initialize and Delete so that this
1816 package can be used for VxWorks 5.x and 6.x
1817 (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
1818 differences between VxWorks 5.x and 6.x
1819 Minor reformatting.
1820 (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
1821 caller.
1822 Use only Preelaborate-compatible constructs.
1823
1824 * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
1825 Primitives.Operations.
1826 (Delete, Initialize): New procedures.
1827
1828 * s-osinte-vxworks.adb: Body used to handle differences between
1829 VxWorks 5.x and 6.x
1830 (kill, Set_Time_Slice, VX_FP_TASK): New functions.
1831
1832 * s-osinte-vxworks.ads: Minor reformatting.
1833 Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
1834 (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
1835 and 6.
1836 (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
1837 between Vxworks 5 and 6.
1838 (taskLock, taskUnlock): Removeed, no longer used.
1839
1840 * adaint.c: The wait.h header is not located in the sys directory on
1841 VxWorks when using RTPs.
1842 (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
1843 using RTPs.
1844 (__gnat_dup): dup is available on Vxworks when using RTPs.
1845 (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
1846
1847 * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
1848
1849 * expect.c: The wait.h header is not located in the sys directory on
1850 VxWorks when using RTPs.
1851
18522005-09-01 Thomas Quinot <quinot@adacore.com>
1853
1854 * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
1855
1856 * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
1857
1858 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
1859 g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1860 g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
1861 g-soccon-freebsd.ads: Add new constants:
1862 IP_MULTICAST_IF
1863 SO_RCVTIMEO/SO_SNDTIMEO
1864 IOV_MAX
1865
da8f5fd9 1866 * gen-soccon.c:
98b40956
AC
1867 Move all target-specific file inclusions and macro definitions to
1868 gsocket.h, in order to ensure that any C code in socket.c will see a
1869 set of constants that is consistent with the contents of g-soccon.ads.
1870
1871 * gsocket.h: Code imported from gen-soccon.c:
1872 Move all target-specific file inclusions and macro definitions to
1873 gsocket.h, in order to ensure that any C code in socket.c will see a set
1874 of constants that is consistent with the contents of g-soccon.ads.
1875 This change also makes gen-soccon self-contained (removing dependencies
1876 upon GCC internal headers).
1877
1878 * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
1879 iovecs at a time.
1880 (To_Inet_Addr): Now a procedure instead of a function, more efficient.
1881
1882 * socket.c: Minor reformatting.
1883
18842005-09-01 Ed Schonberg <schonberg@adacore.com>
1885 Thomas Quinot <quinot@adacore.com>
1886
1887 * fname-sf.adb, mlib-tgt.ads,
1888 back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
1889 g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
1890 osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
1891 prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
1892 prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
1893 prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
1894 sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
1895 makegpr.adb: Remove redundant use_clauses.
1896
18972005-09-01 Arnaud Charlet <charlet@adacore.com>
1898
da8f5fd9
AJ
1899 * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
1900 s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
1901 s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
1902 s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
1903 s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
1904 s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
1905 s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
1906 table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
1907 s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
1908 s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
1909 a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
1910 a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
1911 a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
1912 a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
1913 system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
98b40956 1914 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
da8f5fd9
AJ
1915 s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
1916 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
1917 s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
1918 s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
1919 s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
1920 s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
1921 system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
1922 s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
1923 system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
1924 s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
1925 a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
1926 a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
98b40956
AC
1927 a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
1928 a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
da8f5fd9
AJ
1929 a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
1930 a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
1931 a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
1932 a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
1933 a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
1934 a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
1935 csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
1936 g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
1937 a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
1938 a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
1939 a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
1940 a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
1941 g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
1942 i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
1943 interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
1944 i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
1945 s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
1946 s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
1947 s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
1948 s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
1949 s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
1950 s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
1951 s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
1952 s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
1953 s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
1954 s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
1955 s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
1956 s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
1957 s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
1958 s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
1959 s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
1960 s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
1961 s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
1962 s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
1963 s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
1964 s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
1965 s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
98b40956
AC
1966 s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
1967 and always use the no parameter form for consistency.
1968
1969 * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
1970
19712005-09-01 Robert Dewar <dewar@adacore.com>
1972
1973 * binde.adb: Minor reformatting
1974 (Find_Elab_Order): Output warning if -p used with static elab order
1975
19762005-09-01 Robert Dewar <dewar@adacore.com>
1977
1978 * checks.adb (Check_Needed): New procedure, deals with removing checks
1979 based on analysis of short-circuited forms. Also generates warnings for
1980 improper use of non-short-circuited forms.
1981 Code clean ups.
1982
19832005-09-01 Robert Dewar <dewar@adacore.com>
1984
1985 * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
1986 with 'Valid tests.
1987
19882005-09-01 Robert Dewar <dewar@adacore.com>
1989
1990 * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
1991 spec.
1992 Implement new insertion char < (conditional warning)
1993 * errutil.adb, erroutc.adb: Implement new insertion char <
1994 (conditional warning).
1995 * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
1996 (Error_Msg_Warn): New variable for < insertion char.
1997 * prj-nmsc.adb: Implement new errout insertion char < (conditional
1998 warning).
1999 (Check_For_Source): Change value of Source_Id only after the current
2000 source has been dealt with.
2001
20022005-09-01 Robert Dewar <dewar@adacore.com>
2003 Doug Rupp <rupp@adacore.com>
2004
2005 * exp_attr.adb: Handle vax fpt for 'Valid attribute
2006 * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
2007 * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
2008 (Valid_D, Valid_F, Valid_G): New functions
2009
20102005-09-01 Ed Schonberg <schonberg@adacore.com>
2011 Hristian Kirtchev <kirtchev@adacore.com>
2012 Javier Miranda <miranda@adacore.com>
2013
2014 * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
2015 from object notation, the original node is unanalyzed and carries no
2016 semantic information, so that accessiblity checks must be performed on
2017 the type of the actual itself.
2018 (Expand_N_Subprogram_Declaration): Change last actual parameter for
2019 compatibility with Build_Protected_Sub_Specification.
2020 (Check_Overriding_Inherited_Interfaces): Add suport to handle
2021 overloaded primitives.
2022 (Register_Interface_DT_Entry): Use the new name of the formal
2023 the the calls to Expand_Interface_Thunk
2024
2025 * exp_dbug.ads: Augment comments on encoding of protected types to
2026 include the generation of dispatching subprograms when the type
2027 implements at least one interface.
2028
2029 * lib.ads: Extend information in Load_Stack to include whether a given
2030 load comes from a Limited_With_Clause.
2031
2032 * lib-load.adb (From_Limited_With_Chain): New predicate to determine
2033 whether a potential circularity is harmless, because it includes units
2034 loaded through a limited_with clause. Extends previous treatment which
2035 did not handle properly arbitrary combinations of limited and
2036 non-limited clauses.
2037
20382005-09-01 Nicolas Setton <setton@adacore.com>
2039
2040 * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
2041 to be encoded as typ___XBLU_lowerbound__upperbound instead of
2042 typ___XB_lowerbound__upperbound.
2043
20442005-09-01 Thomas Quinot <quinot@adacore.com>
2045
2046 * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
2047 dummy access formal for RACW/RAS TypeCode TSS.
2048 (Build_TypeCode_Call): Do not generate dummy null access actual for
2049 calls to the TypeCode TSS.
2050
20512005-09-01 Ed Schonberg <schonberg@adacore.com>
2052
2053 * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
2054 fully qualified name, to distinguish instances with the same local name.
2055
2056 * g-souinf.ads (Enclosing_Entity): Document that entity name is now
2057 fully qualified.
2058
20592005-09-01 Robert Dewar <dewar@adacore.com>
2060
2061 * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
2062 packed arrays.
2063
20642005-09-01 Jerome Lambourg <lambourg@adacore.com>
2065
2066 * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2067 (Free): New deallocation procedure for filter elements
2068 (Close): Deallocate any existing filter for the concerned connection
2069
20702005-09-01 Laurent Pautet <pautet@adacore.com>
2071
2072 * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
2073 position set is provided, we compute one in order to reduce the maximum
2074 length of the keys. This computation first selects a character
2075 position between 1 and the minimum length of the keys in order to
2076 avoid reducing one of the keys to an empty string.
2077 (Initialize, Compute): When the ratio V to K is too low, the algorithm
2078 does not converge. The initialization procedure now comes with a
2079 maximum number of iterations such that when exceeded, an exception is
2080 raised in Compute. The user can initialize this ratio to another value
2081 and try again
2082 Reformating and updated headers.
2083
20842005-09-01 Javier Miranda <miranda@adacore.com>
2085
2086 * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
2087 that given an entity T creates and returns an Itype that duplicates the
2088 contents of T. The returned Itype has the null-exclusion
2089 attribute set to True, and its Etype attribute references T
2090 to keep the association between the two entities.
2091 Update copyright notice
2092
2093 * sem_aggr.adb (Check_Can_Never_Be_Null,
2094 Aggregate_Constraint_Checks, Resolve_Aggregate,
2095 Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
2096
2097 * sem_ch5.adb (Analyze_Assignment): Code cleanup.
2098
20992005-09-01 Gary Dismukes <dismukes@adacore.com>
2100 Robert Dewar <dewar@adacore.com>
2101 Hristian Kirtchev <kirtchev@adacore.com>
2102
2103 * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
2104 Result_Definition.
2105
2106 * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
2107 function specs.
2108 Call Set_Result_Definition instead of Set_Subtype_Mark.
2109 (P_Subprogram_Specification): Add parsing of anonymous access result
2110 plus null exclusions. Call Set_Result_Definition instead of
2111 Set_Subtype_Mark.
2112
2113 * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2114 (P_Access_Type_Definition): Add parsing for an anonymous access result
2115 subtype, plus parsing for null exclusions. Call Set_Result_Definition
2116 instead of Set_Subtype_Mark.
2117
2118 * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2119 (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
2120 (Result_Definition): New function for N_Function_Specifications.
2121 (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
2122 N_Function_Specification.
2123 (Set_Null_Exclusion_Present): Allow this flag for
2124 N_Function_Specification.
2125 (Set_Result_Definition): New procedure for N_Function_Specifications.
2126 (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
2127 and N_Function_Specification.
2128
2129 * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
2130 Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
2131 Add support for LIMITED NEW for Ada 2005 AI-419
2132 Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
2133 syntax for anonymous access results.
2134 Replace Subtype_Mark field by Result_Definition in
2135 N_Function_Specification and N_Access_Definition specs.
2136 Add Null_Exclusion_Present to spec of N_Function_Specification.
2137 (Result_Definition): New function for N_Function_Specification and
2138 N_Access_Function_Definition.
2139 (Set_Result_Definition): New procedure for N_Function_Specification and
2140 N_Access_Function_Definition.
2141
2142 * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
2143 Result_Definition for cases of N_Access_Function_Definition and
2144 N_Function_Specification.
2145 Print "not null" if Null_Exclusion_Present on N_Function_Specification.
2146
21472005-09-01 Vincent Celier <celier@adacore.com>
2148
2149 * lib-writ.adb: Update Copyright notice
2150 (Write_With_Lines): On platforms where file names are case-insensitive,
2151 record the file names in lower case.
2152 (Write_ALI): For D lines, on platforms where file names are
2153 case-insensitive, record the file names in lower case.
2154
21552005-09-01 Ed Schonberg <schonberg@adacore.com>
2156 Emmanuel Briot <briot@adacore.com>
2157
2158 * lib-xref.adb (Output_Overridden_Op): Display information on
2159 overridden operation.
2160
2161 * lib-xref.ads: Add documentation on overridden operations.
2162
2163 * ali.ads (Xref_Entity_Record): Add support for storing the overriding
2164 information.
2165
2166 * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
2167 overriding entity information.
2168
21692005-09-01 Vincent Celier <celier@adacore.com>
2170
2171 * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
2172 including those that are inherited.
2173
21742005-09-01 Robert Dewar <dewar@adacore.com>
2175
2176 * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2177
2178 * par-prag.adb: Implement new pragma Debug_Policy
2179
2180 * sem_prag.adb Implement new pragma Debug_Policy
2181 (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
2182 Component_Size attribute specification. Give warning for ignored pragma
2183 Pack.
2184
2185 * snames.h, snames.ads, snames.adb: Introduce entries in
2186 Preset_Names for Name_Disp_Asynchronous_Select,
2187 Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
2188 Name_Disp_Timed_Select.
2189 New pragma Debug_Policy
2190
2191 * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
2192 explicitly.
2193 Switch -gnata also sets Debug_Pragmas_Enabled
2194
2195 * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
2196 handle an explicit -gnata when compiling predefined files.
2197
21982005-09-01 Vincent Celier <celier@adacore.com>
2199
2200 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
2201 directories of projects that have no Ada sources.
2202
22032005-09-01 Robert Dewar <dewar@adacore.com>
2204
2205 * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
2206 (makes a difference for wide characters)
2207
da8f5fd9 2208 * widechar.adb, widechar.ads:
98b40956
AC
2209 Add Wide_Char_Byte_Count feature to count chars vs bytes
2210
22112005-09-01 Thomas Quinot <quinot@adacore.com>
2212 Ed Schonberg <schonberg@adacore.com>
2213 Robert Dewar <dewar@adacore.com>
2214
2215 * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
2216 'Address attribute reference with an overloaded prefix, use the
2217 location of the prefix (not the location of the attribute reference) as
2218 the error location.
2219 (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
2220 a function renaming thereof, is a valid prefix for 'Size (where it is
2221 intepreted as a function call).
2222 (Statically_Denotes_Entity): New predicate to determine whether the
2223 prefix of an array attribute can be considered static.
2224
2225 PR ada/9087
2226 (Eval_Attr): Fix failure to evaluate Component_Size for
2227 unconstrained arrays (resulted in wrong value in packed case, since
2228 back end cannot handle this case)
2229
22302005-09-01 Robert Dewar <dewar@adacore.com>
2231
2232 * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
2233 error msgs for most common cases.
2234 Use new errout insertion char < (conditional warning)
2235
22362005-09-01 Javier Miranda <miranda@adacore.com>
2237 Ed Schonberg <schonberg@adacore.com>
2238
2239 * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
2240 become local to the whole package.
2241 (Install_Limited_Withed_Unit): Instead of unchaining real entities if
2242 the package was already analyzed the new algorithm "replaces" the
2243 real entities by the shadow ones. This is required to ensure that
2244 the order of these entities in the homonym chains does not change;
2245 otherwise we can have undefined references at linking time because
2246 in case of conflicts the external name of the entities will have
2247 a suffix that depends on the order of the entities in the chain.
2248 (Remove_Limited_With_Clause): Complementary code that completes the
2249 new algorithm and replaces the shadow entities by the real ones.
2250 (Install_Limited_Withed_Unit): When unchaining entities before the
2251 installation of the shadow entities, only regular entities of the
2252 public part must be taken into account. This is required to
2253 keep this routine in synch with the work done by Remove_Limited_
2254 With_Clause
2255 (Install_Limited_With_Clause): Introduce implicit limited_with_clause
2256 even if unit is analyzed, because the analysis of the unit is
2257 idempotent in any case, and the limited view of the unit may have to
2258 be installed for proper visibility.
2259 (Expand_Limited_With_Clause): Even if the unit in the implicit
2260 with_clause has been analyzed already, a limited view of the package
2261 must be built for the current context, if it does not exist yet.
2262
22632005-09-01 Ed Schonberg <schonberg@adacore.com>
2264 Javier Miranda <miranda@adacore.com>
2265 Gary Dismukes <dismukes@adacore.com>
2266
2267 * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
2268 defining entity for the instance body, make a new defining identifier
2269 rather than copying the entity of the spec, to prevent accidental
2270 sharing of the entity list.
2271 (Check_Private_View): When exchanging views of private types, build the
2272 list of exchanged views as a stack, to ensure that on exit the exchanges
2273 are undone in the proper order.
2274 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
2275 Restore the compilation environment in case of instantiation_error.
2276 (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
2277 for an anonymous access result.
2278 (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
2279 (Formal_Entity): Handle properly the case of a formal package that
2280 denotes a generic package renaming.
2281
22822005-09-01 Thomas Quinot <quinot@adacore.com>
2283
2284 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
2285 clause if the array aggregate is surrounded by parentheses.
2286
22872005-09-01 Cyrille Comar <comar@adacore.com>
2288 Gary Dismukes <dismukes@adacore.com>
2289 Ed Schonberg <schonberg@adacore.com>
2290 Javier Miranda <miranda@adacore.com>
2291
2292 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
2293 underlying type
2294 to check if a type is Constrained in cases related to code generation
2295 (rather than semantic checking) since otherwise we do not generate
2296 similar code for mutable private types depending if their
2297 discriminants are visible or not.
2298 (Check_Abstract_Overriding): Do not complain about failure to override
2299 the primitive operations used in dispatching selects since they will
2300 always be overriden at the freeze point of the type.
2301 (Access_Definition): Separate out handling for resetting the scope
2302 of an anonymous access function result type. Retrieve the scope
2303 of the associated function rather than using Current_Scope, which
2304 does not have a consistent value (depends on whether we're in the
2305 middle of analyzing formal parameters). Add ??? comment about
2306 finding a cleaner way to handle the special cases of scope setting.
2307 (Process_Incomplete_Dependents): A protected operation is never a
2308 dispatching operation (only its wrapper may be).
2309 (Build_Derived_Record_Type): In case of tagged private types that
2310 implement interfaces add derivation of predefined primitive
2311 operations.
2312 (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
2313 by two parameters that are used in case of derivation from abstract
2314 interface types: No_Predefined_Prims is used to avoid the derivation
2315 of predefined primitives from the interface, and Predefined
2316 Prims_Only is used to complete the derivation predefined primitives
2317 in case of private tagged types implementing interfaces.
2318 Fix typo in comments
2319 (Find_Interface_In_Descendant): Protect the frontend against
2320 wrong code with large circularity chains.
2321 (Is_Private_Overriding): Add support for entities overriding interface
2322 subprograms. The test failed because Entities associated with overriden
2323 interface subprograms are always marked as hidden (and used to build
2324 the secondary dispatch table); in this case the overriden entity is
2325 available through the field abstract_interface_alias (cf. override_
2326 dispatching_operation)
2327 (Access_Definition): Set the scope of the type to Current_Scope for the
2328 case of a function with an anonymous access result type.
2329 (Access_Subprogram_Declaration): Handle creation of the type entity for
2330 an access-to-function type with an anonymous access result.
2331 (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
2332 in handling for N_Access_Function_Definition.
2333 (Analyze_Subtype_Declaration): Modify the text of error message.
2334 (Derived_Type_Declaration): Modify the text of error message.
2335 (Process_Subtype): Modify the text of error message plus cleanup
2336 of one redundant error message.
2337 (Analyze_Component_Declaration): Code cleanup.
2338 (Analyze_Object_Declaration): Code cleanup.
2339 (Analyze_Subtype_Declaration): Propagate the null-exclusion
2340 attribute in case of access types. Code cleanup.
2341 (Array_Type_Declaration): Code cleanup.
2342 (Process_Discriminants): Create the new null-excluding itype
2343 if required. Code cleanup.
2344 (Process_Subtype): Create the new null-excluding itype if
2345 required. Code cleanup.
2346 (Build_Derived_Record_Type): Code cleanup to avoid calling
2347 twice the subprogram derive_subprograms in case of private
2348 types that implement interfaces. In this particular case the
2349 subprogram Complete_Subprograms_Derivation already does the
2350 job associated with the second call.
2351
2352 * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
2353 conversion to the full view when generating an operation for a
2354 discriminant whose type may currently be private.
2355
23562005-09-01 Ed Schonberg <schonberg@adacore.com>
2357 Javier Miranda <miranda@adacore.com>
2358
2359 * sem_ch4.adb (Transform_Object_Operation): In a context off the form
2360 V (Obj.F), the rewriting does not involve the indexed component, but
2361 only the selected component itself.
2362 Do not apply the transformation if the analyzed node is an actual of a
2363 call to another subprogram.
2364 (Complete_Object_Operation): Retain the entity of the
2365 dispatching operation in the selector of the rewritten node. The
2366 entity will be used in the expansion of dispatching selects.
2367 (Analyze_One_Call): Improve location of the error message associated
2368 with interface.
2369 (Analyze_Selected_Component): No need to resolve prefix when it is a
2370 function call, resolution is done when parent node is resolved, as
2371 usual.
2372 (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
2373 when attempting to resolve a call transformed from its object notation.
2374 (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
2375 of the argument list for each interpretation of the operation.
2376 (Try_Object_Operation): The designated type of an access parameter may
2377 be an incomplete type obtained through a limited_with clause, in which
2378 case the primitive operations of the type are retrieved from its full
2379 view.
2380 (Analyze_Call): If this is an indirect call, and the return type of the
2381 access_to_subprogram is incomplete, use its full view if available.
2382
23832005-09-01 Javier Miranda <miranda@adacore.com>
2384 Gary Dismukes <dismukes@adacore.com>
2385
2386 * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
2387 access types the null-exclusion and access-to-constant attributes must
2388 also match.
2389 (Analyze_Return_Statement): When the result type is an anonymous access
2390 type, apply a conversion of the return expression to the access type
2391 to ensure that appropriate accessibility checks are performed.
2392 (Analyze_Return_Type): For the case of an anonymous access result type,
2393 generate the Itype and set Is_Local_Anonymous_Access on the type.
2394 Add ??? placeholder for check to disallow returning a limited object
2395 in Ada 2005 unless it's an aggregate or a result of a function call.
2396 Change calls from Subtype_Mark to Result_Definition.
2397 (Analyze_Subprogram_Body): Change formal Subtype_Mark to
2398 Result_Definition in call to Make_Function_Specification.
2399 (Build_Body_To_Inline): Change Set_Subtype_Mark to
2400 Set_Result_Definition.
2401 (Make_Inequality_Operator): Change formal Subtype_Mark to
2402 Result_Definition in call to Make_Function_Specification.
2403 (Process_Formals): Create the new null-excluding itype if required.
2404 (New_Overloaded_Entity): For an entity overriding an interface primitive
2405 check if the entity also covers other abstract subprograms in the same
2406 scope. This is required to handle the general case, that is, overriding
2407 other interface primitives and overriding abstract subprograms inherited
2408 from some abstract ancestor type.
2409 (New_Overloaded_Entity): For an overriding entity that comes from
2410 source, note the operation that it overrides.
2411 (Check_Conformance, Type_Conformant): Addition of one new formal
2412 to skip controlling formals in the analysis. This is used to
2413 handle overloading of abstract interfaces.
2414 (Base_Types_Match): Add missing case for types imported from
2415 limited-with clauses
2416 (New_Overloaded_Entity): Add barrier to protect the use of
2417 the "alias" attribute.
2418
24192005-09-01 Ed Schonberg <schonberg@adacore.com>
2420
2421 * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
2422 verify that the procedure and the entry are mode conformant.
2423 (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
2424 as a different operator, which is often a cut-and-paste error.
2425
24262005-09-01 Javier Miranda <miranda@adacore.com>
2427 Ed Schonberg <schonberg@adacore.com>
2428
2429 * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
2430 used in controlling parameters exclude null because it is necessary to
2431 read the tag to dispatch, and null has no tag.
2432 (Override_Dispatching_Operation): If the previous operation is inherited
2433 from an interface, it becomes hidden and does not participate in later
2434 name resolution.
2435
24362005-09-01 Javier Miranda <miranda@adacore.com>
2437 Ed Schonberg <schonberg@adacore.com>
2438 Gary Dismukes <dismukes@adacore.com>
2439
2440 * sem_res.adb (Resolve_Membership_Op): In case of the membership test
2441 "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
2442 the expander will generate the corresponding run-time check to evaluate
2443 the expression.
2444 (Resolve_Call): Check for legal type of procedure name or prefix that
2445 appears as a trigger in a triggering alternative.
2446 (Valid_Conversion): If expression is ambiguous and the context involves
2447 an extension of System, remove System.Address interpretations.
2448 (Resolve_Qualified_Expression): Reject the case of a specific-type
2449 qualification applied to a class-wide argument. Enhance comment
2450 to explain checking of Original_Node.
2451 (Resolve_Type_Conversion): The location of the error message was not
2452 general enough to handle the general case and hence it has been removed.
2453 In addition, this patch improves the text of the message.
2454 (Resolve_Type_Conversion): Add missing support for access to interface
2455 types.
2456 (Resolve_Type_Conversion): If the target is a class-wide interface type,
2457 do not expand if the expression is the actual in a call, because proper
2458 expansion will take place when the call itself is expanded.
2459 (Resolve_Allocator): If the context is an unchecked conversion, the
2460 allocator inherits its storage pool, if any, from the target type of
2461 the conversion.
2462
24632005-09-01 Ed Schonberg <schonberg@adacore.com>
2464 Javier Miranda <miranda@adacore.com>
2465
2466 * sem_type.adb (Add_One_Interp): If a candidate operation is an
2467 inherited interface operation that has an implementation, use the
2468 implementation to avoid spurious ambiguities.
2469 (Interface_Present_In_Ancestor): In case of concurrent types we can't
2470 use the Corresponding_Record_Typ attribute to look for the interface
2471 because it is set by the expander (and hence it is not always
2472 available). For this reason we traverse the list of interfaces
2473 (available in the parent of the concurrent type).
2474 (Interface_Present_In_Ancestor): Handle entities from the limited view
2475
24762005-09-01 Ed Schonberg <schonberg@adacore.com>
2477
2478 * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
2479 from the list of required components.
2480 (Is_Controlling_Limited_Procedure): Determine whether an entity is a
2481 primitive procedure of a limited interface with a controlling first
2482 parameter.
2483 (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
2484 of an entry.
2485 (Safe_To_Capture_Value): A value (such as non_null) is not safe to
2486 capture if it is generated in the second operand of a short-circuit
2487 operation.
2488 Do not capture values for variables with address clauses.
2489 (Is_Object_Reference): Treat a function call as an object reference only
2490 if its type is not Standard_Void_Type.
2491
24922005-09-01 Ed Schonberg <schonberg@adacore.com>
2493
2494 * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
2495 to a variable that is statically known to be constant.
2496
24972005-09-01 Geert Bosch <bosch@adacore.com>
2498 Robert Dewar <dewar@adacore.com>
2499
2500 * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
2501 (VAXGF_Safe_First): Idem.
2502
25032005-09-01 Robert Dewar <dewar@adacore.com>
2504 Arnaud Charlet <charlet@adacore.com>
2505
2506 * g-dirope.ads: Minor reformatting
2507 Document that bounds of result of Base_Name match the input index
2508 positions.
2509 Add documentation on environment variable syntax for Expand_Path
2510
2511 * gnat_ugn.texi: Update documentation to include mention of -m switches
2512 Document new treatment of wide characters in max line length
2513 style check.
2514 Remove -gnatL/-gnatZ switches, no longer used.
2515 Add note on pragmas Assertion_Policy and Debug_Policy in discussion
2516 of -gnata switch.
2517
2518 * gnat_rm.texi: Add doc for two argument form of pragma
2519 Float_Representation.
2520 Add documentation for pragma No_Strict_Aliasing
2521 Add note that explicit component clause overrides pragma Pack.
2522 Add documentation of pragma Debug_Policy
2523
25242005-09-01 Matthew Heaney <heaney@adacore.com>
2525
da8f5fd9
AJ
2526 * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
2527 a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
2528 a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
98b40956
AC
2529 a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
2530 draft (Draft 13, August 2005) of Ada Amendment 1.
2531
25322005-09-01 Arnaud Charlet <charlet@adacore.com>
2533
2534 * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
2535 Note that the platform-specific version of g-soccon.ads for VMS is now
2536 named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
2537 really is a package spec).
2538 Replace s-taspri-linux.ads by s-taspri-posix.ads
2539 Remove references to s-mastop-x86.adb
2540
2541 * system-vxworks-xscale.ads: Removed, no longer used.
2542 * s-vxwork-xscale.ads: Removed, no longer used.
2543
25442005-09-01 Robert Dewar <dewar@adacore.com>
2545
2546 * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
2547 g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
2548 g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
2549 exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
2550 g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
2551 g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
2552 g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
2553 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
2554 g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
2555 g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
2556 sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
2557 a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
2558 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
2559 a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
2560 a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
2561 a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
2562 g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
2563 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
2564 g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
2565 i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
2566 a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
2567
332a1c2e
AC
25682005-08-29 Arnaud Charlet <charlet@adacore.com>
2569
2570 PR ada/23187
2571 * adaint.c
da8f5fd9 2572 (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
332a1c2e
AC
2573
25742005-08-29 Arnaud Charlet <charlet@adacore.com>
2575 Doug Rupp <rupp@adacore.com>
2576
2577 * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
2578 when needed.
2579 (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
2580 this code in the GNAT run-time.
2581
2582 * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
2583
2584 PR ada/21053
2585 * init.c (__gnat_error_handler [many]): Mark "msg" as const
2586 (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
2587
2588 (__gnat_inside_elab_final_code): Moved here from
2589 Standard_Library and only defined for the compiler.
2590 __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
2591 (__gnat_inum_to_ivec): Do not define this function on VxWorks when
2592 using RTPs because directly vectored Interrupt routines are not
2593 supported on this configuration.
2594 (getpid): Do not redefine this function on VxWorks when using RTPs
2595 because this primitive is well supported by the RTP libraries.
2596 (copy_msg): Correct the code that checks for buffer overflow.
2597 Discovered during code reading.
2598
25992005-08-29 Olivier Hainque <hainque@adacore.com>
2600
2601 * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
2602 a library level mutable variable with an initializer, tell
2603 build_allocator to ignore the initializer's size. It may not be large
2604 enough for all the values that might be assigned to the variable later
2605 on.
2606
26072005-08-29 Arnaud Charlet <charlet@adacore.com>
2608 Eric Botcazou <ebotcazou@adacore.com>
2609
2610 * trans.c: Protect < in error msg with quote
2611 Replace GCC_ZCX by Back_End_Exceptions.
2612 (addressable_p) <COMPONENT_REF>: Also return 1 if the field
2613 has been sufficiently aligned in the record.
2614
35fd1d77
JW
26152005-08-15 James E. Wilson <wilson@specifix.com>
2616
2617 * system-linux-alpha.ads: Change ia64 to alpha.
2618
b15341b8
KH
26192005-08-01 Kazu Hirata <kazu@codesourcery.com>
2620
2621 * decl.c, utils.c: Fix comment typos.
2622
9e4eb559
KH
26232005-07-29 Kazu Hirata <kazu@codesourcery.com>
2624
2625 * decl.c, init.c, initialize.c: Fix comment typos.
2626
4038c495
GB
26272005-07-20 Giovanni Bajo <giovannibajo@libero.it>
2628
2629 Make CONSTRUCTOR use VEC to store initializers.
2630 * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
2631 CONSTRUCTOR_ELTS.
2632 * trans.c (extract_values): Likewise.
2633 * utils.c (convert, remove_conversions): Likewise.
2634 * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
2635 gnat_build_constructor): Likewise.
2636
f685a2e6
AP
26372005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
2638
2639 * decl.c (components_to_record): Use DECL_FCONTEXT instead of
2640 DECL_SECTION_NAME.
2641 (compare_field_bitpos): Likewise.
2642
7c6ef73e
AP
26432005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
2644
2645 * utils.c (create_var_decl): Only set DECL_COMMON on
2646 VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
2647 VAR_OR_FUNCTION_DECL_P.
2648
820cc88f 26492005-07-08 Daniel Berlin <dberlin@dberlin.org>
da8f5fd9 2650
820cc88f
DB
2651 * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
2652 removed.
2653
1a9cb483
AC
26542005-07-07 Pascal Obry <obry@adacore.com>
2655
2656 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
2657 returned type on Windows.
2658
2659 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
2660 routine.
2661
2662 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
2663 exception in this case.
2664 Simplify the code as "Image (Image'Range)" = "Image".
2665
26662005-07-07 Vincent Celier <celier@adacore.com>
2667
2668 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
2669 the destructor/constructor attributes for <lib>final/<lib>init.
2670
2671 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
2672
26732005-07-07 Eric Botcazou <ebotcazou@adacore.com>
2674
2675 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
2676 type if the parameter is not passed by copy but reference by default.
2677
26782005-07-07 Javier Miranda <miranda@adacore.com>
2679
2680 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
2681 Reimplementation of the support for abstract interface types in order
2682 to leave the code more clear and easy to maintain.
2683
2684 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
2685 abstract interface types in order to leave the code clearer and easier
2686 to maintain.
2687
2688 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
2689 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
2690 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
2691 appropriate entry of the secondary dispatch table.
2692 (Make_DT): Add code to inherit the secondary dispatch tables of
2693 the ancestors.
2694
2695 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
2696 implementing both functionalities by means of a common routine, each
2697 routine has its own code.
2698
26992005-07-07 Javier Miranda <miranda@adacore.com>
2700
2701 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
2702
2703 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
2704 types:
2705 --
2706 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2707 --
2708
2709 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
2710 use of tag incomplete types.
2711
2712 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
2713 give support to tagged incomplete types.
2714
2715 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
2716 expression is a discriminant reference and its type is private, as can
2717 happen within a stream operation for a mutable record, use the full
2718 view of the type to resolve the case alternatives.
2719 (Analyze_Assignment): Check wrong dereference of incomplete types.
2720
2721 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
2722 types.
2723
2724 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
2725 incomplete types.
2726
2727 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
2728 N_Incomplete_Type_Declaration nodes.
2729
2730 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
2731 Tag_Present to give support to tagged incomplete types:
2732 --
2733 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2734 --
2735
27362005-07-07 Olivier Hainque <hainque@adacore.com>
2737
2738 PR ada/22301
2739
2740 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
2741 definitions for the Unwind wrappers in the compiler case.
2742
27432005-07-07 Ed Schonberg <schonberg@adacore.com>
2744 Javier Miranda <miranda@adacore.com>
2745
2746 * par-load.adb (Load): If a child unit is loaded through a limited_with
2747 clause, each parent must be loaded as a limited unit as well.
2748
2749 * sem_ch10.adb (Previous_Withed_Unit): Better name for
2750 Check_Withed_Unit. Return true if there is a previous with_clause for
2751 this unit, whether limited or not.
2752 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
2753 the current unit.
2754 (Is_Visible_Through_Renamings): New local subprogram of install_limited
2755 _withed_unit that checks if some package installed through normal with
2756 clauses has a renaming declaration of package whose limited-view is
2757 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
2758 of the current Draft document for Ada 2005.
2759 (Analyze_Context): Complete the list of compilation units that
2760 are allowed to contain limited-with clauses. It also contains
2761 checks that were previously done by Install_Limited_Context_Clauses.
2762 This makes the code more clear and easy to maintain.
2763 (Expand_Limited_With_Clause) It is now a local subprogram of
2764 Install_Limited_Context_Clauses, and contains the code that adds
2765 the implicit limited-with clauses for parents of child units.
2766 This functionality was prevously done by Analyze_Context.
2767
2768 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
2769 incomplete type.
2770
2771 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
2772 been erroneously named in a limited-with clause of its own context.
2773 In this case the error has been previously notified by Analyze_Context.
2774
27752005-07-07 Ed Schonberg <schonberg@adacore.com>
2776
2777 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
2778 generic package that contains local declarations with the same name.
2779 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
2780
27812005-07-07 Bernard Banner <banner@adacore.com>
2782
2783 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
2784 ia64 platform only on platforms that you the GCC unwind library
2785 rather than the system unwind library.
2786
27872005-07-07 Thomas Quinot <quinot@adacore.com>
2788
2789 * expect.c: Minor reformatting
2790
27912005-07-07 Sergey Rybin <rybin@adacore.com>
2792
2793 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
2794 --no-separate-is
2795
2796 * gnat_ugn.texi: Add description for new gnatpp option
2797 (--no-separate-is)
2798
7d300a99
AC
27992005-07-04 Thomas Quinot <quinot@adacore.com>
2800
2801 * g-expect-vms.adb, g-expect.ads, g-expect.adb
2802 (Get_Command_Output): New subprogram to launch a process and get its
2803 standard output as a string.
2804
28052005-07-04 Eric Botcazou <ebotcazou@adacore.com>
9bae2797 2806 Olivier Hainque <hainque@adacore.com>
7d300a99
AC
2807
2808 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
2809 fetch a code-range descriptor associated with the machine state. On
2810 failure set the machine state's PC to 0; on success, pass the
2811 descriptor to exc_virtual_unwind.
2812
2813 * init.c (Tru64 section): New function __gnat_set_code_loc.
2814
28152005-07-04 Vincent Celier <celier@adacore.com>
2816
da8f5fd9
AJ
2817 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2818 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7d300a99
AC
2819 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
2820 Remove all auto-initialization code, as this is now done through the
2821 constructor mechanism.
2822
2823 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
2824 __gnat_sals_init_using_constructors): New functions.
2825
2826 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
2827 Linker_Constructor and Linker_Destructor when switch -a is used.
2828
2829 * bindusg.adb: Add line for new switch -a
2830
2831 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
2832 (Gnatbind): When switch -a is used, check if it is allowed
2833
2834 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
2835
28362005-07-04 Joel Brobecker <brobecker@adacore.com>
2837
2838 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
2839 This prevents us from hitting a limitation during the debug info
2840 generation when using stabs.
2841 (Prims_Ptr): Likewise.
2842
28432005-07-04 Gary Dismukes <dismukes@adacore.com>
2844 Ed Schonberg <schonberg@adacore.com>
2845 Javier Miranda <miranda@adacore.com>
2846
2847 * checks.adb (Null_Exclusion_Static_Checks): In the case of
2848 N_Object_Declaration, only perform the checks if the Object_Definition
2849 is not an Access_Definition.
2850
2851 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
2852 where the parent of an the access definition is an N_Object_Declaration
2853 when determining the Associated_Node_For_Itype and scope of an
2854 anonymous access-to-subprogram type.
2855
2856 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
2857 Corresponding_Spec on the body created for a null procedure. Add ???
2858 comment. Remove New_Copy_Tree call on body argument to
2859 Set_Body_To_Inline.
2860
2861 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
2862 discriminants, use the type of the actual as well, because the
2863 discriminants may be read by the called subprogram.
2864
2865 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
2866 access type we do not need to handle non-limited views.
2867 (Build_Derived_Record_Type): Additional check to check that in case of
2868 private types, interfaces are only allowed in private extensions.
2869
28702005-07-04 Eric Botcazou <ebotcazou@adacore.com>
2871
2872 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
2873 <Pragma_Linker_Destructor>: Likewise.
2874
2875 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
2876 Pragma_Linker_Destructor.
2877
2878 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
2879 ATTR_LINK_DESTRUCTOR.
2880 (static_ctors, static_dtors): New variables.
2881
2882 * misc.c (gnat_expand_body): Output current function as constructor
2883 and destructor if requested.
2884
2885 * par-prag.adb: Add processing for pragma Linker_Constructor and
2886 Linker_Destructor.
2887
2888 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
2889 extracted from Check_Interrupt_Or_Attach_Handler.
2890 (Check_Interrupt_Or_Attach_Handler): Invoke it.
2891 Implement pragma Linker_Constructor and Linker_Destructor with the
2892 help of Find_Unique_Parameterless_Procedure.
2893 Replace Name_Alias with Name_Target for pragma Linker_Alias.
2894
da8f5fd9 2895 * snames.h, snames.ads, snames.adb:
7d300a99
AC
2896 Add Name_Linker_Constructor and Name_Linker_Destructor.
2897 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
2898 * snames.adb: Remove Name_Alias.
2899
2900 * trans.c: Include cgraph.h.
2901 (build_global_cdtor): New function.
2902 (Compilation_Unit_to_gnu): Build global constructor and destructor if
2903 needed.
2904 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
2905 of objects too.
2906 (addressable_p) <COMPONENT_REF>: Unconditionally test
2907 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
2908
2909 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
2910 variable if it is external.
2911
2912 (static_ctors, static_dtors): New global variables.
2913 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
2914 <ATTR_LINK_DESTRUCTOR>: Likewise.
2915 (end_subprog_body): Chain function as constructor and destructor
2916 if requested.
2917
2918 * exp_util.adb (Force_Evaluation): Unconditionally invoke
2919 Remove_Side_Effects with Variable_Ref set to true.
2920 (Remove_Side_Effects): Handle scalar types first. Use a renaming
2921 for non-scalar types even if Variable_Ref is true and for class-wide
2922 expressions.
2923
29242005-07-04 Ed Schonberg <schonberg@adacore.com>
2925
2926 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
2927 to prevent spurious warnings.
2928
29292005-07-04 Thomas Quinot <quinot@adacore.com>
2930
2931 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
2932 Itypes. Itypes are really unexpected there.
2933 (Build_TypeCode_Function): Generalise special processing for Itypes to
2934 handle the case of numeric implicit base types as well as enumerated
2935 ones.
2936
29372005-07-04 Ed Schonberg <schonberg@adacore.com>
2938
2939 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
2940 controlled, indicate the expected type of the dereference that is
2941 created for the call to Deep_Finalize, to prevent spurious errors when
2942 the designated type is private and completed with a derivation from
2943 another private type.
2944
29452005-07-04 Vincent Celier <celier@adacore.com>
2946
2947 * make.adb (Change_To_Object_Directory): When unable to change the
2948 current dir to the object directory, output the full path of the
2949 directory.
2950
29512005-07-04 Matthew Gingell <gingell@adacore.com>
2952
2953 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
2954
2955 * indepsw-linux.adb: Replace by...
2956
2957 * indepsw-gnu.adb: ...this new file
2958
29592005-07-04 Vincent Celier <celier@adacore.com>
2960
2961 * mlib-prj.adb (Auto_Initialize): New constant String
2962 (SALs_Use_Constructors): New Boolean function
2963 (Build_Library): Call gnatbind with Auto_Initialize switch when
2964 SALs_Use_Constructors returns True.
2965
2966 * mlib-tgt.ads: Minor reformatting
2967
2968 * mlib-utl.ads: Minor reformatting
2969
2970 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
2971
29722005-07-04 Ed Schonberg <schonberg@adacore.com>
2973
2974 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
2975 single protected declarations can have an interface list.
2976 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
2977 with seriously malformed entry declarations, and lead to compilation
2978 abandoned messages.
2979
29802005-07-04 Javier Miranda <miranda@adacore.com>
2981
2982 * par-load.adb: Load the context items in two rounds.
2983
29842005-07-04 Robert Dewar <dewar@adacore.com>
2985
2986 * scng.adb: Do not consider Mod used as an attribute to be a keyword
2987
29882005-07-04 Ed Schonberg <schonberg@adacore.com>
2989 Javier Miranda <miranda@adacore.com>
2990
2991 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
2992 type extension needs a limited view.
2993 Remove previous restriction on private types available through the
2994 limited-view (only tagged private types were previously allowed).
2995 (Install_Withed_Unit): In the code that implements the
2996 legality rule given in AI-377, exclude a child unit with the name
2997 Standard, because it is a homonym of the Standard environment package.
2998
29992005-07-04 Thomas Quinot <quinot@adacore.com>
3000
3001 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
3002 overloaded function call, carry interpretations from the original tree
3003 to the copy.
3004
30052005-07-04 Ed Schonberg <schonberg@adacore.com>
3006
3007 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
3008 types check whether some designated type is a limited view, and use
3009 the non-limited view if available.
3010
30112005-07-04 Gary Dismukes <dismukes@adacore.com>
3012
3013 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
3014 constraint of full view of a private view T1 if present, when T2 is a
3015 discriminated full view.
3016
30172005-07-04 Thomas Quinot <quinot@adacore.com>
3018
3019 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
3020 actual that is a view conversion of a bit packed array reference.
3021
30222005-07-04 Ed Schonberg <schonberg@adacore.com>
3023
3024 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
3025 present before checking whether an interface type covers a synchronized
3026 type.
3027
30282005-07-04 Ed Schonberg <schonberg@adacore.com>
3029
3030 * sem_util.adb (Is_Object_Reference): An indexed or selected component
3031 whose prefix is an implicit dereference is an object reference. Removes
3032 spurious errors when compiling with -gnatc.
3033
30342005-07-04 Robert Dewar <dewar@adacore.com>
3035
3036 PR ada/22039
3037
3038 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
3039
30402005-07-04 Matthew Gingell <gingell@adacore.com>
3041
3042 * tracebak.c: Enable tracebacks on ia64 platforms
3043
30442005-07-04 Vincent Celier <celier@adacore.com>
3045
3046 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
3047 the GNAT BIND command, as gnatbind accepts multiples ALI files with
3048 the -L or -n switches.
3049
30502005-07-04 Vincent Celier <celier@adacore.com>
3051
3052 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
3053 correctly computed and the main project data is not modified while
3054 doing so.
3055 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
3056 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
3057 c++linker as this does not work on some platforms.
3058
30592005-07-04 Matthew Heaney <heaney@adacore.com>
3060
3061 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
3062 was changed.
3063 * a-coinve.adb: Perform constraint checks explicitly.
3064
30652005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3066 Thomas Quinot <quinot@adacore.com>
3067
3068 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
3069 new target gen-soccon.
3070
30712005-07-04 Robert Dewar <dewar@adacore.com>
3072
3073 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
3074
30752005-07-04 Thomas Quinot <quinot@adacore.com>
3076
3077 * g-socket.ads (Check_Selector): Minor rewording of comment.
3078
30792005-07-04 Vincent Celier <celier@adacore.com>
3080
3081 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
3082
30832005-07-04 Thomas Quinot <quinot@adacore.com>
3084
3085 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
3086
30872005-07-04 Sergey Rybin <rybin@adacore.com>
3088
3089 * gnat_ugn.texi: Add description of --eol gnatpp option
3090
30912005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3092 Thomas Quinot <quinot@adacore.com>
3093
3094 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
3095 if the user wants all calls of a subprogram to be flagged,
3096 independently of whether they are made from within the same unit or
3097 another unit.
3098 Mention restriction for pragma Linker_Alias on some platforms.
3099 Document pragma Linker_Constructor and Linker_Destructor.
3100 Rewrite documentation of Weak_External, Linker_Section and
3101 Linker_Alias pragmas.
3102
fc64d83c
AC
31032005-07-04 Arnaud Charlet <charlet@adacore.com>
3104
3105 * s-stausa.ads, s-stausa.adb: New files.
3106
cb5fee25
KC
31072005-06-30 Kelley Cook
3108
3109 * all files: Update FSF address in copyright headers.
3110 * gen-soccon.co (main): Output new FSF address in generated files.
3111
617a1b71
PB
31122005-06-28 Paul Brook <paul@codesourcery.com>
3113
3114 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
3115
0adcdb66
AC
31162005-06-14 Olivier Hainque <hainque@adacore.com>
3117 Eric Botcazou <ebotcazou@adacore.com>
3118
3119 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
3120 exc_unwind, now that we are generating proper .debug_frame output for
3121 that target.
3122
3123 * tracebak.c: Remove the mips-irix section, as we are now using the
3124 s-mastop based unwinder again.
3125 Under SPARC/Solaris, take into account the stack bias to compute the
3126 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
3127 ABI.
3128
31292005-06-14 Doug Rupp <rupp@adacore.com>
3130
3131 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
3132
3133 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
3134
31352005-06-14 Pascal Obry <obry@adacore.com>
3136
3137 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
3138 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
3139 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
3140 package name).
3141
da8f5fd9
AJ
3142 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
3143 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
3144 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
3145 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
0adcdb66 3146 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
da8f5fd9
AJ
3147 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
3148 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
3149 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
3150 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
3151 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
3152 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
3153 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
3154 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
3155 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
3156 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
3157 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
3158 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
3159 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
3160 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
3161 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
3162 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
3163 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
3164 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
3165 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
3166 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
3167 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
3168 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
3169 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
3170 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
0adcdb66
AC
3171 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
3172 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
3173 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
3174 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
3175 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
3176 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
3177 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
3178 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
3179 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
3180 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
3181 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
3182 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
3183 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
3184 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
3185 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
3186 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
3187 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
3188 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
3189 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
3190 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
3191 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
3192 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
3193 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
3194 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
3195 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3196 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
3197 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
3198 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
3199 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
3200 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
3201 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
3202 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
3203 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
3204 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
3205 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
3206 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
3207 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
da8f5fd9
AJ
3208 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
3209 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
0adcdb66 3210 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
da8f5fd9 3211 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
0adcdb66
AC
3212 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
3213 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
3214 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
3215 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
3216 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
3217 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
3218 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
3219 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
3220 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
3221 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
3222 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
3223 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
3224 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
3225 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
3226 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
3227 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
3228 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
3229 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
3230 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
3231 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
3232 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
3233 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
3234 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
3235 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
3236 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
3237 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
3238 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
3239 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
3240 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
3241 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
3242 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
3243 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
3244 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
3245 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
3246 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
3247 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
3248 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
da8f5fd9
AJ
3249 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
3250 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
3251 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
3252 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
3253 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
3254 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3255 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
0adcdb66
AC
3256 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
3257 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
3258 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
3259 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
3260 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
3261 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
da8f5fd9
AJ
3262 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
3263 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
0adcdb66
AC
3264 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
3265 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
3266 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
3267 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
3268 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
3269 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
3270 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
3271 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
3272 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
3273 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
3274 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
3275
32762005-06-14 Jose Ruiz <ruiz@adacore.com>
3277 Arnaud Charlet <charlet@adacore.com>
3278
3279 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
3280 longer protected objects. They have been replaced by lower-level
3281 suspension objects made up by a mutex and a condition variable (or
3282 their equivalent given a particular OS) plus some internal data to
3283 reflect the state of the suspension object.
3284 (Initialize, Finalize): Add this initialization procedure for
3285 Suspension_Object, which is a controlled type.
3286 (Finalize): Add the finalization procedure for Suspension_Object,
3287 which is a controlled type.
3288
3289 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
3290 Ada.Synchronous_Task_Control because there is no longer a need for a
3291 VxWorks specific version of this package. Target dependencies
3292 has been moved to System.Task_Primitives.Operations.
3293
3294 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
3295 longer needed.
3296 (InitializeCriticalSection, EnterCriticalSection,
3297 LeaveCriticalSection, DeleteCriticalSection): Replace the type
3298 pCriticalSection by an anonymous access type so that we avoid problems
3299 of accessibility to local objects.
3300
3301 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
3302 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
3303 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
3304 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
3305 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
3306 set the environment task mask here.
3307 (Current_State): Add this function that returns the state of the
3308 suspension object.
3309 (Set_False): Add this procedure that sets the state of the suspension
3310 object to False.
3311 (Set_True): Add this procedure that sets the state of the suspension
3312 object to True, releasing the task that was suspended, if any.
3313 (Suspend_Until_True): Add this procedure that blocks the calling task
3314 until the state of the object is True. Program_Error is raised if
3315 another task is already waiting on that suspension object.
3316 (Initialize): Add this procedure for initializing the suspension
3317 object. It initializes the mutex and the condition variable which are
3318 used for synchronization and queuing, and it sets the internal state
3319 to False.
3320 (Finalize): Add this procedure for finalizing the suspension object,
3321 destroying the mutex and the condition variable.
3322
3323 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
3324 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
3325 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
3326 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
3327 which provides a low-level abstraction (using operating system
3328 primitives) for Ada.Synchronous_Task_Control.
3329 This object is made up by a mutex (for ensuring mutual exclusion), a
3330 condition variable (for queuing threads until the condition is
3331 signaled), a Boolean (State) indicating whether the object is open,
3332 and a Boolean (Waiting) reflecting whether there is a task already
3333 suspended on this object.
3334
3335 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
3336 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
3337 s-intman-vms.ads, s-intman-mingw.adb,
3338 (Initialize_Interrupts): Removed, no longer used.
3339
3340 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
3341 (Setup_Interrupt_Mask): New procedure.
3342
3343 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
3344
3345 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
3346
3347 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
3348 this is no longer done in the body of s-taprop
3349 (Server_Task): Explicitely test for Pending_Action in case
3350 System.Parameters.No_Abort is True.
3351
3352 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
3353 is no longer done in the body of s-taprop
3354
33552005-06-14 Robert Dewar <dewar@adacore.com>
3356
3357 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
3358 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
3359 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
3360 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
3361 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
3362 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
3363 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
3364 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
3365 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
3366 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
3367 system-linux-hppa.ads, system-vms_64.ads,
3368 system-vxworks-alpha.ads: Minor comment update for
3369 AI-362 (unit is Pure).
3370
3371 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
3372 Add pragma Pure_05 for AI-362
3373 Make remaining conversion functions obsolescent in Ada 95
3374
3375 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3376 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
3377 Add entries for a-wichun and a-zchuni
3378 Add a-widcha a-zchara for AI-395
3379 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
3380
3381 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3382 Add entries for a-wichun.o and a-zchuni.o
3383 Entries for a-widcha.o and a-zchara.o
3384 Add entry for a-chacon.o
3385
3386 * a-ztenau.adb: Add with of Ada.Characters.Conversions
3387
3388 * a-chacon.ads, a-chacon.adb: New files.
3389
3390 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
3391 categorization violations.
3392
3393 * a-strmap.ads: Add pragma Pure_05 for AI-362
3394 * a-strmap.ads: Add note on implicit categorization for AI-362
3395
3396 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
3397
3398 * par-prag.adb: Dummy entry for pragma Persistent_BSS
3399 Set Ada_Version_Explicit, for implementation of AI-362
3400 Add processing for pragma Pure_05 and Preelaborate_05
3401 Add entry for Assertion_Policy pragma
3402
3403 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
3404 when needed for proper processing of categorization stuff
3405
da8f5fd9 3406 * sem_cat.adb:
0adcdb66
AC
3407 For several cases, make errors in preealborate units warnings,
3408 instead of errors, if GNAT_Mode is set. For AI-362.
3409
3410 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
3411 preelaborate unit is now warning if in GNAT mode
3412
3413 * s-stoele.ads: Document AI-362 for pragma preelaborate
3414
34152005-06-14 Doug Rupp <rupp@adacore.com>
3416
3417 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
3418 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
3419 Default_Exception_Msg_Max_Length: new parameter.
3420
3421 * a-except.ads: (Exception_Msg_Max_Length): Set to
3422 System.Parameters.Default_Exception_Msg_Max_Length
3423 Add pragma Preelaborate_05 for AI-362
3424 Add warnings off to allow categorization violations for AI-362
3425
34262005-06-14 Vincent Celier <celier@adacore.com>
3427
3428 * gnatsym.adb: Adapt to modification of package Symbols: procedure
3429 Process is now in package Processing.
3430
3431 * symbols.ads, symbols.adb:
3432 (Processing): New package, containing procedure Process
3433
da8f5fd9 3434 * symbols-vms-alpha.adb:
0adcdb66
AC
3435 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
3436
3437 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
3438 symbols-processing-vms-ia64.adb: New files.
3439
34402005-06-14 Pascal Obry <obry@adacore.com>
3441
3442 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
3443 implementation. This new version generates the proper DllMain routine
3444 to initialize the SAL. The DllMain is generated in Ada and compiled
3445 before being added as option to the library build command.
3446
34472005-06-14 Doug Rupp <rupp@adacore.com>
3448 Pascal Obry <obry@adacore.com>
3449
3450 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
3451 call to decc$translate_vms.
3452 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
3453 need to remove those quotes before catenating the filename.
3454 (__gnat_locate_exec_on_path): improvements to the Win32 section:
3455 * avoid allocating the memory twice for better efficiency;
3456 * allocate 32K buffer for environment expansion as suggested by MSDN;
3457 * prepend ".;" to the path so that current directory is searched too.
3458
34592005-06-14 Robert Dewar <dewar@adacore.com>
3460
3461 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
3462 instead of raising CE (AI-241)
3463 Add warnings off to allow categorization violations for AI-362
3464
34652005-06-14 Robert Dewar <dewar@adacore.com>
3466
3467 * ali-util.adb, gnatbind.adb: Remove references to
3468 Force_RM_Elaboration_Order.
3469
3470 * switch-b.adb: Remove recognition of -f switch
3471
34722005-06-14 Pascal Obry <obry@adacore.com>
3473
3474 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
3475 implementation which is slightly more efficient.
3476
34772005-06-14 Gary Dismukes <dismukes@adacore.com>
3478 Javier Miranda <miranda@adacore.com>
3479 Ed Schonberg <schonberg@adacore.com>
3480 Hristian Kirtchev <kirtchev@adacore.com>
3481
3482 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
3483 allocator's designated type is a class-wide type, and compiling for
3484 Ada 2005, emit a run-time check that the accessibility level of the
3485 type given in the allocator's expression is not deeper than the level
3486 of the allocator's access type.
3487
3488 (Tagged_Membership): Modified to gives support to abstract interface
3489 types.
3490
3491 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
3492 Access_Level.
3493 (Descendant_Tag): New predefined function
3494 (Is_Descendant_At_Same_Level): New predefined function
3495 (Get_Access_Level): New private function
3496 (Set_Access_Level): New private procedure
3497 (IW_Membership): New function. Given the tag of an object and the tag
3498 associated with an interface, evaluate if the object implements the
3499 interface.
3500 (Register_Interface_Tag): New procedure used to initialize the table of
3501 interfaces used by the IW_Membership function.
3502 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
3503 of the dispatch table.
3504 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
3505 table of interfaces of the parent.
3506 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
3507 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
3508 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
3509 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
3510 Ada 2005 semantics for the new predefined function.
3511
3512 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
3513 call to Descendant_Tag rather than Internal_Tag.
3514 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
3515 the accessibility level of the attribute's Item parameter is not deeper
3516 than the level of the attribute's prefix type. Tag_Error is raised if
3517 the check fails. The check is only emitted for Ada_05.
3518 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
3519 requested stream attribute, use it.
3520 (Expand_N_Attribute_Reference): If the designated type is an interface
3521 then rewrite the referenced object as a conversion to force the
3522 displacement of the pointer to the secondary dispatch table.
3523 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
3524 is a dereference of an object with a constrained partial view.
3525
3526 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
3527 type is a class-wide type, emit a run-time check that the accessibility
3528 level of the returned object is not deeper than the level of the
3529 function's master (only when compiling for Ada 2005).
3530
3531 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
3532 Action_Nb_Arg): Add entries for new Get_Access_Level and
3533 Set_Access_Level routines in these tables.
3534 (Make_DT): Generate a call to set the accessibility level of the
3535 tagged type in its TSD.
3536 (Make_DT): Code cleanup. The functionality of generating all the
3537 secondary dispatch tables has been moved to freeze_record_type.
3538 (Make_Abstract_Interface_DT): Minor code cleanup.
3539 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
3540 this subprogram implements a new algorithm that provides the
3541 same functionality and it is more clear in case of primitives
3542 associated with abstract interfaces.
3543 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
3544 clean up, the functionality of this subprogram is now provided
3545 by Set_All_DT_Position.
3546 (Write_DT): New subprogram: a debugging procedure designed to be called
3547 within gdb to display the dispatch tables associated with a tagged
3548 type.
3549 (Collect_All_Interfaces): New subprogram that collects the whole list
3550 of interfaces that are directly or indirectly implemented by a tagged
3551 type.
3552 (Default_Prim_Op_Position): New subprogram that returns the fixed
3553 position in the dispatch table of the default primitive operations.
3554 (Expand_Interface_Actuals): New subprogram to generate code that
3555 displaces all the actuals corresponding to class-wide interfaces to
3556 reference the interface tag of the actual object.
3557 (Expand_Interface_Conversion): New subprogram. Reference the base of
3558 the object to give access to the interface tag associated with the
3559 secondary dispatch table.
3560 (Expand_Interface_Thunk): New subprogram that generates the code of the
3561 thunk. This is required for compatibility with the C+ ABI.
3562 (Make_Abstract_Interface_DT): New subprogram that generate the
3563 declarations for the secondary dispatch tables associated with an
3564 abstract interface.
3565 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
3566 attribute for each primitive operation covering interface subprograms
3567 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
3568 These subprograms were upgraded to give support to abstract interfaces
3569
3570 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
3571 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
3572 RE_Set_Access_Level.
3573 (RE_Unit_Table): Add entries for new Ada.Tags operations.
3574 Add support to call the followig new run-time subprograms:
3575 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
3576
3577 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
3578 match its full declaration when both have an access definition with
3579 statically matching designated subtypes.
3580 (Analyze_Component_Declaration): Delete commented out code that was
3581 incorrectly setting the scope of an anonymous access component's type.
3582 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
3583 an access discriminant when the containing type is nonlimited.
3584 (Make_Incomplete_Type_Declaration): Create an incomplete type
3585 declaration for a record type that includes self-referential access
3586 components.
3587 (Check_Anonymous_Access_Types): Before full analysis of a record type
3588 declaration, create anonymous access types for each self-referential
3589 access component.
3590 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
3591 an access component in this context is a Local_Anonymous_Access, for
3592 proper accessibility checks.
3593 (Access_Definition): Set properly the scope of the anonymous access type
3594 created for a stand-alone access object.
3595 (Find_Type_Of_Object): An object declaration may be given with an access
3596 definition.
3597 (Complete_Subprograms_Derivation): New subprogram used to complete
3598 type derivation of private tagged types implementing interfaces.
3599 In this case some interface primitives may have been overriden
3600 with the partial-view and, instead of re-calculating them, they
3601 are included in the list of primitive operations of the full-view.
3602 (Build_Derived_Record_Type): Modified to give support to private
3603 types implemening interfaces.
3604 (Access_Definition): Reject ALL on anonymous access types.
3605 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
3606 type derivation to occur at a deeper accessibility level than the
3607 parent type.
3608 For the case of derivation within a generic body however, disallow the
3609 derivation if the derived type has an ancestor that is a formal type
3610 declared in the formal part of an enclosing generic.
3611 (Analyze_Object_Declaration): For protected objects, remove the check
3612 that they cannot contain interrupt handlers if not declared at library
3613 level.
3614 (Add_Interface_Tag_Components): New subprogram to add the tag components
3615 corresponding to all the abstract interface types implemented by a
3616 record type or a derived record type.
3617 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3618 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3619 Process_Full_View, Record_Type_Declaration): Modified to give
3620 support to abstract interface types
3621 (Collect_Interfaces): New subprogram that collects the list of
3622 interfaces that are not already implemented by the ancestors
3623 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
3624 when partial view has no discriminants and full view has defaults.
3625 (Constrain_Access): Reject a constraint on a general access type
3626 if the discriminants of the designated type have defaults.
3627 (Access_Subprogram_Declaration): Associate the Itype node with the inner
3628 full-type declaration or subprogram spec. This is required to handle
3629 nested anonymous declarations.
3630 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3631 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3632 Process_Full_View, Record_Type_Declaration): Modified to give
3633 support to abstract interface types
3634 (Derive_Subprograms): Addition of a new formal to indicate if
3635 we are in the case of an abstact-interface derivation
3636 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
3637 to the specification because it is requied to analyze all the
3638 identifiers found in a list of interfaces
3639
3640 * debug.adb: Complete documentation of flag "-gnatdZ"
3641
3642 * exp_ch3.adb: Implement config version of persistent_bss pragma
3643 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
3644 testing for TSS presence to properly enforce visibility rules.
3645 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
3646 Make_Abstract_Interfaces_DT to generate the secondary tables
3647 associated with abstract interfaces.
3648 (Build_Init_Procedure): Modified to initialize all the tags
3649 corresponding.
3650 (Component_Needs_Simple_Initialization): Similar to other tags,
3651 interface tags do not need initialization.
3652 (Freeze_Record_Type): Modified to give support to abstract interface
3653 types.
3654 (Expand_N_Object_Declaration): Do not generate an initialization for
3655 a scalar temporary marked as internal.
3656
3657 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
3658 in-out parameter that is a component in an initialization procedure,
3659 whose constraint might depend on discriminants, and that may be
3660 misaligned because of packing or representation clauses.
3661 (Is_Legal_Copy): New predicate to determine whether a possibly
3662 misaligned in-out actual can actually be passed by copy/return. This
3663 is an error in case the type is by_reference, and a warning if this is
3664 the consequence of a DEC import pragma on the subprogram.
3665 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
3666 interface types
3667 (Expand_Inlined_Call): Mark temporary generated for the return value as
3668 internal, so that no useless scalar normalization is generated for it.
3669 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
3670 null procedure can always be inlined.
3671 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
3672 procedure, generate an explicit empty body for it.
3673
3674 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
3675 Given a type implementing an interface, returns the corresponding
3676 access_disp_table value.
3677 (Find_Interface_Tag): New subprogram. Given a type implementing an
3678 interface, returns the record component containing the tag of the
3679 interface.
3680 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
3681 previous ones that return the corresponding tag and access_disp_table
3682 entities.
3683 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
3684 is a predefined primitive operation.
3685 (Expand_Subtype_From_Expr): If the expression is a selected component
3686 within an initialization procedure, compute its actual subtype, because
3687 the component may depend on the discriminants of the enclosing record.
3688
da8f5fd9 3689 * i-cpp.ads, i-cpp.adb:
0adcdb66
AC
3690 This package has been left available for compatibility with previous
3691 versions of the frontend. As part of the new layout this is now a
3692 dummy package that uses declarations available at a-tags.ads
3693
3694 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
3695 "constant access" and "aliased [constant] access" when not compiling
3696 with -gnat05.
3697 Suppress Ada 2005 keyword warning if -gnatwY used
3698 (P_Identifier_Declarations): Add support for object declarations with
3699 access definitions.
3700 (Private_Extension_Declaration): Complete the documentation
3701 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
3702 attribute in case of private extension declaration
3703 (P_Type_Declaration): Mark as "abstract" the type declarations
3704 corresponding with protected, synchronized and task interfaces
3705 (P_Declarative_Items): "not" and "overriding" are overriding indicators
3706 for a subprogram or instance declaration.
3707
3708 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
3709 instantiation that is a dispatching operation has controlling access
3710 parameters that are null excluding.
3711 Save and restore Ada_Version_Explicit, for implementation of AI-362
3712 (Validate_Derived_Type_Instance): Add check for abstract interface
3713 types.
3714 (Analyze_Formal_Package): Establish Instantiation source for the copy of
3715 the generic that is created to represent the formal package.
3716 (Analyze_Package_Instantiation): Instantiate body immediately if the
3717 package is a predefined unit that contains inlined subprograms, and
3718 we are compiling for a Configurable_Run_Time.
3719 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
3720 If the program has a null default, generate an empty body for it.
3721
3722 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
3723 error message condition, null procedures are correctly detected now.
3724 (New_Overloaded_Entity): Bypass trivial overriding indicator check
3725 for subprograms in the context of protected types. Instead, the
3726 indicator is examined in Sem_Ch9 while analysing the subprogram
3727 declaration.
3728 (Check_Overriding_Indicator): Check consistency of overriding indicator
3729 on subprogram stubs as well.
3730 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
3731 the library level.
3732 (Analize_Subprogram_Specification): When analyzing a subprogram in which
3733 the type of the first formal is a concurrent type, replace this type
3734 by the corresponding record type.
3735 (Analyze_Subprogram_Body): Undo the previous work.
3736 (Analyze_Procedure_Call): If the call has the form Object.Op, the
3737 analysis of the prefix ends up analyzing the call itself, after which
3738 we are done.
3739 (Has_Interface_Formals): New subprogram subsidiary to analyze
3740 subprogram_specification that returns true if some non
3741 class-wide interface subprogram is found
3742 (New_Overloaded_Entity): Modified to give support to abstract
3743 interface types
3744 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
3745 access to subprograms must be recursive.
3746 (Is_Unchecked_Conversion): Improve the test that recognizes
3747 instantiations of Unchecked_Conversion, and allows them in bodies that
3748 are to be inlined by the front-end. When the body comes from an
3749 instantiation, a reference to Unchecked_Conversion will be an
3750 Expanded_Name, even though the body has not been analyzed yet.
3751 Replace Is_Overriding and Not_Overriding in subprogram_indication with
3752 Must_Override and Must_Not_Override, to better express intent of AI.
3753 (Analyze_Subprogram_Body): If an overriding indicator is given, check
3754 that it is consistent with the overrinding status of the subprogram
3755 at this point.
3756 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
3757 always inlined.
3758 If the subprogram is a null procedure, indicate that it does not need
3759 a completion.
3760
3761 * sem_disp.adb (Check_Controlling_Type): Give support to entities
3762 available through limited-with clauses.
3763 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
3764 allowed as the last primitive of a tagged type if it has no previous
3765 spec.
3766 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
3767 to give support to abstract interface types
3768
3769 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
3770 in the case where the target type is an anonymous access type of an
3771 object or component (that is, when Is_Local_Anonymous_Access is true).
3772 Prevent the special checks for conversions of access discriminants in
3773 the case where the discriminant belongs to a nonlimited type, since
3774 such discriminants have their accessibility level defined in the same
3775 way as a normal component of an anonymous access type.
3776 (Resolve_Allocator): When an allocator's designated type is a class-wide
3777 type, check that the accessibility level of type given in the
3778 allocator's expression or subtype indication is not statically deeper
3779 than the level of the allocator's access type.
3780 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
3781 name in a discriminant constraint of a record component.
3782 (Resolve_Explicit_Dereference): Do not check whether the type is
3783 incomplete when the dereference is a use of an access discriminant in
3784 an initialization procedure.
3785 (Resolve_Type_Conversion): Handle conversions to abstract interface
3786 types.
3787 (Valid_Tagged_Conversion): The conversion of a tagged type to an
3788 abstract interface type is always valid.
3789 (Valid_Conversion): Modified to give support to abstract interface types
3790 (Resolve_Actuals): Enable full error reporting on view conversions
3791 between unrelated by_reference array types.
3792 The rule for view conversions of arrays with aliased components is
3793 weakened in Ada 2005.
3794 Call to obsolescent subprogram is now considered to be a violation of
3795 pragma Restrictions (No_Obsolescent_Features).
3796 (Check_Direct_Boolean_Operator): If the boolean operation has been
3797 constant-folded, there is nothing to check.
3798 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
3799 check on possible violation of restriction No_Direct_Boolean_Operators
3800 until after expansion of operands, to prevent spurious errors when
3801 operation is constant-folded.
3802
3803 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
3804 Has_Compatible_Type): Modified to give support to abstract interface
3805 types.
3806 (Interface_Present_In_Ancestor): New function to theck if some ancestor
3807 of a given type implements a given interface
3808
3809 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
3810 prefix is a parameterless function that returns an access_to_procedure.
3811 (Transform_Object_Operation): Handle properly function calls of the
3812 form Obj.Op (X), which prior to analysis appear as indexed components.
3813 (Analyze_One_Call): Complete the error notification to help new Ada
3814 2005 users.
3815 (Analyze_Allocator): For an allocator without an initial value, where
3816 the designated type has a constrained partial view, a discriminant
3817 constraint is illegal.
3818
38192005-06-14 Robert Dewar <dewar@adacore.com>
3820
3821 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
3822 do with treatment of Set_Col when positioned at end of line character.
3823
38242005-06-14 Robert Dewar <dewar@adacore.com>
3825
3826 * atree.adb: (Elist*): Protect against uninitialized field
3827
38282005-06-14 Ed Schonberg <schonberg@adacore.com>
3829
3830 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
3831 for an attribute reference that returns an access type.
3832 (Apply_Discriminant_Check): No need for check if (designated) type has
3833 constrained partial view.
3834
3835 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
3836 both bound checks, rather than a conjunction.
3837 (Insert_Valid_Check): If the expression is an actual that is an indexed
3838 component of a bit-packed array, force expansion of the packed element
3839 reference, because it is specifically inhibited elsewhere.
3840
38412005-06-14 Vincent Celier <celier@adacore.com>
3842
3843 * clean.adb (Clean_Project): Correctly delete executable specified as
3844 absolute path names.
3845
3846 * make.adb (Gnatmake): Allow relative executable path names with
3847 directory information even when project files are used.
3848 (Change_To_Object_Directory): Fail gracefully when unable to change
3849 current working directory to object directory of a project.
3850 (Gnatmake): Remove exception handler that could no longer be exercized
3851 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
3852 may be deallocated by Normalize_Arguments.
3853 (Collect_Arguments): Eliminate empty arguments
3854
3855 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
3856 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
3857 (Check_Project): Return False when Project is No_Project. Return True
3858 when All_Projects is True.
3859 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
3860 All_Projects to True.
3861 Minor reformatting
3862
38632005-06-14 Ed Schonberg <schonberg@adacore.com>
3864 Javier Miranda <miranda@adacore.com>
3865 Thomas Quinot <quinot@adacore.com>
3866 Robert Dewar <dewar@adacore.com>
3867 Hristian Kirtchev <kirtchev@adacore.com>
3868 Gary Dismukes <dismukes@adacore.com>
3869
3870 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
3871 anonymous access types, to indicate that the accessibility level of
3872 the type is determined by that of the enclosing declaration.
3873 (Has_Persistent_BSS): New flag
3874 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
3875 of this attribute with functions.
3876 (Is_Primitive_Wrapper): Remove the barrier.
3877 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
3878 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
3879 New subprograms.
3880 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
3881 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
3882 New subprograms.
3883 (Is_Pure_Unit_Access_Type): New flag
3884 (Abstract_Interfaces): Complete the assertion to cover all usages.
3885 (Set_Is_Interface): Complete the assertion to cover all usages.
3886 (Is_Primitive_Wrapper): New attribute.
3887 (Is_Obsolescent): Now applies to all entities (though it is only set
3888 for subprograms currently)
3889 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
3890 which solves various problems concerning access subtypes.
3891 (Has_Persistent_BSS): New flag
3892 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
3893 Remove these subprograms because this attribute is currently
3894 not used.
3895 New entity flags:
3896 Has_Specified_Stream_Input (Flag190)
3897 Has_Specified_Stream_Output (Flag191)
3898 Has_Specified_Stream_Read (Flag192)
3899 Has_Specified_Stream_Write (Flag193)
3900 Present in all type and subtype entities. Set for a given view if the
3901 corresponding stream-oriented attribute has been defined by an
3902 attribute definition clause. When such a clause occurs, a TSS is set
3903 on the underlying full view; the flags are used to track visibility of
3904 the attribute definition clause for partial or incomplete views.
3905 (Is_Pure_Unit_Access_Type): New flag
3906 Clarify use of Is_Internal.
3907 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
3908 internally generated to wrap the invocation of tasks and protected
3909 types that implement interfaces.
3910 (Implementation_Base_Type): Documentation correction
3911 (Is_Obsolescent): Now applies to all entities (though it is only set
3912 for subprograms currently)
3913 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
3914 which solves various problems concerning access subtypes.
3915
3916 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
3917 for examined parameters. Identify unequal parameter list lengths as
3918 non-conformant parameters.
3919 (Overriding_Possible): Do not check for "All" qualifier in declaration
3920 of controlling access parameter, following prescription of AI-404.
3921 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
3922 that build the procedure body that wraps an entry invocation
3923 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
3924 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
3925 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
3926 give support to abstract interface types
3927
3928 * freeze.adb (Freeze_Entity): Issue error message if
3929 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
3930 type has no storage pool (Ada 2005) AI-366.
3931 Also modified to give support to abstract interface types
3932 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
3933 Inline_Always pragma.
3934
3935 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
3936 now begin an entry declaration.
3937 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
3938 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
3939 a subprogram declaration preceded by an overriding indicator.
3940 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
3941 declarations or subprogram declarations preceded by reserved words
3942 "not" or "overriding".
3943 (P_Entry_Declaration): Update comment. Parse and check overriding
3944 indicator, set semantic flags of entry declarations.
3945 (P_Task): New error message in case of private applied
3946 to a task type declaration.
3947 (P_Protected): New error message in case of private applied
3948 to a task type declaration.
3949
3950 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
3951 in which the full view of a type implementing an interface is a
3952 concurrent type.
3953 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
3954 Declare_Inherited_Private_Subprograms): If an explicit operation
3955 overrides an operation that is inherited in the private part, mark the
3956 explicit one as overriding, to enable overriding indicator checks.
3957 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
3958 full view to partial view, to simplify handling in back-end.
3959
3960 * sprint.adb: Print interface lists where needed: derived types,
3961 protected types, task types.
3962 output "is null" for null procedures. Part of implementation of
3963
3964 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
3965 relaxation of rules for access types in pure, shared passive partitions.
3966
3967 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
3968 first read discriminants into temporary objects, performing checks on
3969 the read values, then possibly performing discriminant checks on the
3970 actual (if it is constrained), and only finally reading the components
3971 into a constrained temporary object.
3972 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
3973 case of reading discriminants of a mutable record type to recognize
3974 the new form of the code generated by
3975 Build_Mutable_Record_Read_Procedure.
3976
3977 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
3978 of a simple call to Make_TSS_Name.
3979 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
3980 buffer, in order for Is_TSS to work correctly on local TSS names.
3981
3982 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
3983 Is_Local_Anonymous_Access to check legaliy of attributes in the
3984 context of access components and stand-alone access objects.
3985 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
3986 treated as available for a limited private type if there is an
3987 attribute_definition_clause that applies to its full view, but not in
3988 other cases where the attribute is available for the full view
3989 (specifically, the sole fact that the full view is non-limited does not
3990 make the attribute available for the partial view).
3991 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
3992 non-overloaded intrinsic subprogram.
3993 (Check_Stream_Attribute): Reject an attribute reference for an
3994 unavailable stream attribute even if the prefix is not a limited type
3995 (case of a 'Input attribute reference for an abstract, non-classwide
3996 type)
3997 (Stream_Attribute_Available): New function to determine whether a stream
3998 attribute is available at a place.
3999 (Check_Attribute): Use Stream_Attribute_Available instead of just
4000 testing for TSS presence on the implementation base type.
4001 (Analyze_Attribute): Modified to give support to task interfaces.
4002 (Analyze_Access_Attribute): Add error check for use of an Access (or
4003 Unrestricted_Access) attribute with a subprogram marked as
4004 Inline_Always.
4005 (Analyze_Attribute, case Attribute_Address): Add error check for use of
4006 an Address attribute with a subprogram marked as Inline_Always.
4007 Update Eval_Attribute to handle new value of Width from AI-395
4008
4009 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
4010 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
4011 Factor common code across the stream-oriented attribute circcuits into
4012 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
4013 processing is functionally identical to the previous duplicated one,
4014 except that an expression that denotes an abstract subprogram will now
4015 be rejected, as mandated by AI-195 item 5.
4016
4017 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
4018 Is_Local_Anonymous_Access to apply accessibility checks to access
4019 components and stand-alone access objects.
4020 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
4021 elsewhere.
4022 (Is_Potentially_Persistent_Type): New function
4023 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
4024 a heap-object whose type has a constrained partial view, the object is
4025 unconstrained and the component may depend on a discriminant, making its
4026 renaming illegal.
4027
4028 * sinfo.ads, sinfo.adb
4029 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
4030 (Must_Override): Flag applicable to N_Entry_Declaration.
4031 Indicate that interface_list can appear in single task and single
4032 protected declarations.
4033 Replace Is_Overriding and Not_Overriding with Must_Override and
4034 Must_Not_Override, to better express intent of AI.
4035 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
4036 of an overriding indicator in a subprogram or instance.
4037 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
4038 Add the overriding indicator [[not] overriding] construct to the
4039 following grammar productions:
4040 ENTRY_DECLARATION
4041 GENERIC_INSTANTIATION
4042 SUBPROGRAM_SPECIFICATION
4043
4044 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
4045 can start with an overriding indicator.
4046
4047 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
4048 flags accordingly on subrogram specifications or instances.
4049
da8f5fd9 4050 * sem_ch8.adb:
0adcdb66
AC
4051 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
4052 overriding_indicator, if present, is consistent with status of spec.
4053 Improve error message for null-excluding checks on controlling access
4054 parameters.
4055 (Check_In_Previous_With_Clause): Protect the frontend against
4056 previously reported critical errors in the context clauses.
4057 Save and restore Ada_Version_Explicit, for implementation of AI-362
4058 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
4059 operation verify that controlling formals of the renamed entity that
4060 are access parameters are explicitly non-null.
4061 (Find_Expanded_Name): Improve error message when prefix is an illegal
4062 reference to a private child unit.
4063
4064 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
da8f5fd9 4065 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
0adcdb66
AC
4066 Rewrite to correspond to new wide character names in AI-395
4067
4068 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
4069 default procedures.
4070
40712005-06-14 Ed Schonberg <schonberg@adacore.com>
4072 Robert Dewar <dewar@adacore.com>
4073
4074 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
4075 code, not on the bodies of predefined operations, to cut down on
4076 spurious noise.
4077
40782005-06-14 Ed Schonberg <schonberg@adacore.com>
4079
4080 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
4081 be expanded in place. The size computation does not require a
4082 subtraction, which would raise an exception on a compiler built with
4083 assertions when the upper bound is Integer'first.
4084 (Flatten): For an array of composite components, take into account the
4085 size of the components to determine whether it is safe to expand the
4086 array into a purely positional representation.
4087
40882005-06-14 Thomas Quinot <quinot@adacore.com>
4089
4090 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
4091 denoting a formal parameter into account.
4092
40932005-06-14 Ed Schonberg <schonberg@adacore.com>
4094
4095 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
4096 the entry_call alternative of a conditional entry call, wrap the
4097 conditional entry call itself.
4098
40992005-06-14 Nicolas Setton <setton@adacore.com>
4100 Ed Schonberg <schonberg@adacore.com>
4101
4102 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
4103 the "simple_choice" member in a variant record, in accordance with the
4104 description in the package spec: the information output for a constant
4105 should be "S number", not "SS number".
4106 (Get_Encoded_Name): Return at once if not generating code. Avoids name
4107 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
4108
41092005-06-14 Thomas Quinot <quinot@adacore.com>
4110
4111 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
4112 RACW without any primitives, do not generate the if statement for
4113 dispatching by name in the PolyORB/DSA case, as it would be malformed
4114 (it would have an Elsif_Parts list that is not No_List, but with a
4115 length of 0).
4116
41172005-06-14 Robert Dewar <dewar@adacore.com>
4118
4119 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
4120
41212005-06-14 Jose Ruiz <ruiz@adacore.com>
4122
4123 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
4124 can determine whether pragma Suppress_Exception_Locations is in effect.
4125
4126 * utils2.c (build_call_raise): Do not pass the file name to the
4127 exception handler if pragma Suppress_Exception_Locations is in effect.
4128 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
4129
41302005-06-14 Emmanuel Briot <briot@adacore.com>
4131
4132 * g-debpoo.adb (Deallocate, Dereference): Improve output.
4133
41342005-06-14 Nicolas Roche <roche@adacore.com>
4135
4136 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
4137 to ""
4138 (Next_Level): Fix minor bug in handling of ../dir case
4139 (Read): Add dir separator to Directory name so that "" is understood as
4140 "/"
4141
41422005-06-14 Pascal Obry <obry@adacore.com>
4143
4144 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
4145 releasing the items.
4146
41472005-06-14 Vincent Celier <celier@adacore.com>
4148 Cyrille Comar <comar@adacore.com>
4149
4150 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
4151 with output file descriptor and with output file name.
4152 (Dup, Dup2): Now global procedures as they are used by two subprograms
4153 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
4154
41552005-06-14 Thomas Quinot <quinot@adacore.com>
4156
4157 PR ada/6717
4158
4159 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
4160 broadcast address.
4161 (Create_Selector): Bind listening socket used to create the signalling
4162 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
4163 Set listen backlog to 1 to ensure that we detect socket theft by a
4164 failure of our own connect(2) call.
4165 (Check_Selector): Improve documentation of the selector mechanism.
4166 (Broadcast_Inet_Addr): New constant.
4167
41682005-06-14 Gary Dismukes <dismukes@adacore.com>
4169
4170 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
4171 type which turns out to be an incomplete and incorrect fix.
4172 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
4173 of the type is declared in a record (for determination of insertion
4174 type).
4175 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
4176 a private type and ensure that the primary entity is used for the type
4177 of the newly created function's V formal by taking the Etype of the
4178 view.
4179
41802005-06-14 Javier Miranda <miranda@adacore.com>
4181 Jose Ruiz <ruiz@adacore.com>
4182 Robert Dewar <dewar@adacore.com>
4183 Ed Schonberg <schonberg@adacore.com>
4184
4185 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
4186 that indicates if we are parsing a compilation unit found in a
4187 limited-with clause.
4188 It is use to avoid the circularity check.
4189
4190 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
4191 we are parsing a compilation unit found in a limited-with clause. This
4192 is use to avoid the circularity check.
4193
4194 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
4195 unit as a consequence of parsing a limited-with clause. This is used
4196 to avoid the circularity check.
4197
4198 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
4199 (Analyze_Context): Limited-with clauses are now allowed
4200 in more compilation units.
4201 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
4202 againts previously reported critical errors in context clauses
4203 (Install_Limited_Withed_Unit): Code cleanup plus static detection
4204 of two further errors: renamed subprograms and renamed packages
4205 are not allowed in limited with clauses.
4206 (Install_Siblings): Do not install private_with_clauses on the package
4207 declaration for a non-private child unit.
4208 (Re_Install_Parents): When a parent of the subunit is reinstalled,
4209 reset visibility of child units properly.
4210 (Install_Withed_Unit): When a child unit appears in a with_clause of its
4211 parent, it is immediately visible.
4212
42132005-06-14 Ed Schonberg <schonberg@adacore.com>
4214 Emmanuel Briot <briot@adacore.com>
4215
4216 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
4217 declared within an inlined body as referenced, to prevent spurious
4218 warnings.
4219 (Output_One_Ref): If an entity renames an array component, indicate in
4220 the ALI file that this aliases (renames) the array. Capture as well
4221 function renamings that rename predefined operations.
4222 Add information about generic parent for package and subprogram
4223 instances.
4224 (Get_Type_Reference): For a subtype that is the renaming of an actual in
4225 an instantiation, use the first_subtype to ensure that we don't generate
4226 cross-reference information for internal types.
4227 For objects and parameters of a generic private type, retain the '*'
4228 indicator to distinguish such an entity from its type.
4229
4230 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
4231 to store information about instantiated entities.
4232
4233 * ali.adb (Scan_ALI): Add support for parsing the reference to the
4234 generic parent
4235
4236 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
4237 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
4238 information.
4239
42402005-06-10 Doug Rupp <rupp@adacore.com>
4241 Arnaud Charlet <charlet@adacore.com>
4242 Olivier Hainque <hainque@adacore.com>
4243 Jose Ruiz <ruiz@adacore.com>
4244
4245 * Make-lang.in: Add initialize.o when needed.
4246 Remove obsolete references to RT_FLAGS.
4247 Add missing dependencies for sdefault.o
4248
4249 * initialize.c: New file.
4250
4251 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
4252 [VMS] cond_signal_table: Fix problem in declaration.
4253 [VMS] __gnat_error_handler: rewrite.
4254 Move all __gnat_initialize() routines to initialize.c
4255 Specialize the former "hpux" section to "hppa hpux", as this is what the
4256 section really is here for and we now have other hpux ports that need
4257 different contents.
4258 (__gnat_adjust_context_for_raise) i386-linux: First version of this
4259 function for this target. Adjust PC by one in the machine context. This
4260 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
4261 it is more reliable to do that in the signal handler itself.
4262 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
4263 flags, so that the handler is passed the context structure to adjust
4264 prior to the raise.
4265 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
4266 SA_SIGINFO sigaction should look like. Call
4267 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
4268 Machine_State_Operations stuff.
4269 Add conditional code so that the x86_64 is also supported.
4270
42712005-06-14 Pascal Obry <obry@adacore.com>
4272
4273 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
4274 the library name.
4275
42762005-06-14 Robert Dewar <dewar@adacore.com>
4277
4278 * opt.ads, opt.adb: New flags for persistent_bss mode
4279 Add Ada_Version_Explicit, for implementation of AI-362
4280 Add Assertions_Enabled_Config and associated handling
4281 Needed since setting can be changed with Assertion_Policy pragma
4282 Add new flag Warn_On_Ada_2005_Compatibility
4283
4284 * switch-c.adb: Recognize -gnatwy/Y
4285 Set Ada_Version_Explicit, for implementation of AI-362
4286 The -gnatg switch now includes -gnatyu
4287
4288 * usage.adb: Add -gnatwy/Y
4289 Remove wrong asterisk on -gnatwX line
4290 Add line for -gnatyu switch
4291
42922005-06-14 Vincent Celier <celier@adacore.com>
4293
4294 * osint.adb (Add_Default_Search_Dirs): Put source and object
4295 directories of project files before directories coming from
4296 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
4297
42982005-06-14 Robert Dewar <dewar@adacore.com>
4299
4300 PR ada/15613
4301
4302 * par-ch2.adb (Scan_Pragma_Argument): New procedure
4303 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
4304
43052005-06-14 Vincent Celier <celier@adacore.com>
4306
4307 * prep.adb (Preprocess): Ignore error when scanning the first token of
4308 a line.
4309
43102005-06-14 Vincent Celier <celier@adacore.com>
4311
4312 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
4313 (Check_Stand_Alone_Library): If the specified reference symbol file does
4314 not exist, only issue a warning when the symbol policy is not
4315 Controlled. And, when symbol policy is Compliant, set the symbol
4316 policy to Autonomous.
4317
43182005-06-14 Vincent Celier <celier@adacore.com>
4319
4320 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
4321 when the project file in a with clause is not the last one, that is the
4322 project file name is followed by a comma.
4323 * prj-pp.adb: (First_With_In_List): New Boolean global variable
4324 (Print): Issue list of project files separated by commas in with clauses
4325 according to the values returned by Is_Not_Last_In_List.
4326 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
4327 (Set_Is_Not_Last_In_List): New procedure
4328
43292005-06-14 Eric Botcazou <ebotcazou@adacore.com>
4330
4331 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
4332
43332005-06-14 Robert Dewar <dewar@adacore.com>
4334
4335 * scng.adb: Add call to new Check_EOF routine
4336 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
4337 Add some comments regarding wide character handling
4338
4339 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
4340
4341 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
4342
4343 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
4344 characters are now considered graphic characters and hence yield false
4345 in this call.
4346
4347 * nmake.adt: Modify header so that xnmake does not generate output
4348 files with multiple blank lines.
4349
4350 * treeprs.adt: Remove a blank line so that output from xtreeprs does
4351 not have an extra blank line
4352
43532005-06-14 Gary Dismukes <dismukes@adacore.com>
4354
4355 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
4356 expression when the component type is an anonymous access type to
4357 ensure that appropriate accessibility checks are done.
4358
4359 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
4360 expression of an assignment when the target object is of an anonymous
4361 access type. This ensures that required accessibility checks are done.
4362 (One_Bound): Move the check for type Universal_Integer to
4363 Process_Bounds.
4364 (Process_Bounds): Check whether the type of the preanalyzed range is
4365 Universal_Integer, and in that case set Typ to Integer_Type prior
4366 to setting the type of the original range and the calls to One_Bound.
4367
43682005-06-14 Ed Schonberg <schonberg@adacore.com>
4369
4370 * sem_case.adb (Expand_Others_Choice): Improve warning.
4371
43722005-06-14 Ed Schonberg <schonberg@adacore.com>
4373
4374 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
4375 constraint of full view if present, when other type is discriminated.
4376 (Eval_Relational_Op): Recognize tests of pointer values against Null,
4377 when the pointer is known to be non-null, and emit appropriate warning.
4378
43792005-06-14 Robert Dewar <dewar@adacore.com>
4380 Ed Schonberg <schonberg@adacore.com>
4381
4382 PR ada/10671
4383
4384 * sem_prag.adb: Implement pragma Persistent_BSS
4385 Remove obsolete pragma Persistent_Data, Persistent_Object
4386 Set Ada_Version_Explicit, for implementation of AI-362
4387 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
4388 Add processing for pragma Pure_05 and Preelaborate_05
4389 Add processing for Assertion_Policy pragma
4390 Add pragma identifiers for Assert
4391 (Analyze_Pragma, case Assert): Check number of arguments
4392 (Process_Inline): Additional guard against an illegal program, where the
4393 argument of the pragma is undefined, and warnings on redundant
4394 constructs are enabled.
4395 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
4396 Ada_05 to this pragma, specifying that the pragma is only active in
4397 Ada_05 mode.
4398 (Check_Arg_Order): New procedure
4399 Add appropriate calls to this procedure throughout
4400 Also throughout, check entity name before doing any other checks
4401
4402 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
4403 Remove obsolete pragma Persistent_Data, Persistent_Object
4404 Add entries for pragma Pure_05 and Preelaborate_05
4405 Add entries for Assertion_Policy pragma and associated names
4406 Add some names for pragma argument processing
4407
4408 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
4409
44102005-06-14 Ed Schonberg <schonberg@adacore.com>
4411
4412 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
4413 appears within a negation (either from source or as a rewriting of
4414 inequality) adjust text of warning accordingly.
4415
44162005-06-14 Thomas Quinot <quinot@adacore.com>
4417
4418 * s-strxdr.adb: Follow AI95-00132
4419
44202005-06-14 Arnaud Charlet <charlet@adacore.com>
4421
4422 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
4423
44242005-06-14 Arnaud Charlet <charlet@adacore.com>
4425 Jose Ruiz <ruiz@adacore.com>
4426
4427 * s-tposen.adb, s-tpobop.adb
4428 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
4429 the exception id.
4430 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
4431 there is no violation of the Max_Entry_Queue_Length restriction (if it
4432 has been set); Program_Error is raised otherwise.
4433 (Requeue_Call): Before requeuing the task on the target entry queue we
4434 check that there is no violation of the Max_Entry_Queue_Length
4435 restriction (if it has been set); Program_Error is raised otherwise.
4436
44372005-06-14 Robert Dewar <dewar@adacore.com>
4438
4439 * styleg.adb: Fix several remaining problems in -gnatyu switch
4440 Blank line count not reset at start
4441 Scanning outside source buffer in some cases
4442 Confusing message for blanks at end of file
4443 Non-empty blank lines not recognized
4444
4445 * nmake.adt: Modify header so that xnmake does not generate output
4446 files with multiple blank lines.
4447
4448 * treeprs.adt: Remove a blank line so that output from xtreeprs does
4449 not have an extra blank line
4450
44512005-06-14 Sergey Rybin <rybin@adacore.com>
4452
4453 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
4454
44552005-06-14 Doug Rupp <rupp@adacore.com>
4456 Vincent Celier <celier@adacore.com>
4457
4458 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
4459 Update copyright.
4460
4461 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4462 Remove "Library" command.
4463 Change keyword for style check -gnatyd from NOCRLF to
4464 DOS_LINE_ENDINGS.
4465 Remove useless second style check keyword NONE
4466 Remove help documentation for inexistent style check keyword
4467 RM_COLUMN_LAYOUT.
4468 Add help documentation for style check keywords DOS_LINE_ENDINGS,
4469 UNNECESSARY_BLANK_LINES and XTRA_PARENS
4470 Add UNNECESSARY_BLANK_LINES for -gnatyu
4471 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
4472
4473 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4474
44752005-06-14 Vincent Celier <celier@adacore.com>
4476
4477 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
4478 gprmake was invoked with -d.
4479 (Compile_Sources): If -d was used, output the "completed ..." message
4480 for each compilation.
4481 (Scan_Arg): Recognize new switch -d
4482 When -c and at least one main is specified, set
4483 Unique_Compile to True to guarantee that no other sources will be
4484 compiled.
4485
44862005-06-14 Matthew Heaney <heaney@adacore.com>
4487
4488 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
4489 * a-swuwha.ads, a-swuwha.adb: New files
4490
4491 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
4492 * a-szuzha.ads, a-szuzha.adb: New files.
4493
4494 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
da8f5fd9
AJ
4495 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
4496 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
4497 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
4498 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
0adcdb66 4499 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
da8f5fd9 4500 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
0adcdb66
AC
4501 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
4502 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
4503 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
4504 Ada 2005 RM.
4505
45062005-06-10 Eric Botcazou <ebotcazou@adacore.com>
4507 Olivier Hainque <hainque@adacore.com>
4508 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4509 Pascal Obry <obry@adacore.com>
4510
4511 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
4512
4513 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
4514 making a temporary around a procedure call because of non-addressable
4515 actual parameter.
4516 (process_freeze_entity): If entity is a private type, capture size
4517 information that may have been computed for the full view.
4518 (tree_transform, case N_Allocator): If have initializing expression,
4519 check type for Has_Constrained_Partial_View and pass that to
4520 build_allocator.
4521 (tree_transform, case N_Return_Statement): Pass extra arg to
4522 build_allocator.
4523
4524 * decl.c (annotate_value): Remove early return if -gnatR is not
4525 specified.
4526 (gnat_to_gnu_field): Don't make a packable type for a component clause
4527 if the position is byte aligned, the field is aliased, and the clause
4528 size isn't a multiple of the packable alignment. It serves no useful
4529 purpose packing-wise and would be rejected later on.
4530 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
4531
4532 PR ada/20515
4533 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
4534 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
4535 instead.
4536 (create_concat_name): Idem.
4537
45382005-06-10 Robert Dewar <dewar@adacore.com>
4539 Eric Botcazou <ebotcazou@adacore.com>
4540 Ben Brosgol <brosgol@adacore.com>
4541 Cyrille Comar <comar@adacore.com>
4542 Sergey Rybin <rybin@adacore.com>
4543 Pascal Obry <obry@adacore.com>
4544
4545 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
4546 Document second argument (Ada_05) of pragma Obsolescent
4547 Add note that call to subprogram marked with pragma Obsolescent
4548 is now considered to be a violation of program Restrictions
4549 (No_Obsolescent_Features).
4550 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
4551 that only machine-dependent attributes are supported.
4552
da8f5fd9 4553 * gnat_ugn.texi:
0adcdb66
AC
4554 Commented out menu lines and empty section for gnatclean examples
4555 Document -gnatwy/Y
4556 Fix some over long lines
4557 Clarify and enhance documentation of ADA_PROJECT_PATH.
4558 Rework section 2.11.2(3) about linking with a non-GNU compiler.
4559 Mention new switch -fcallgraph-info.
4560 Mention new switch -fstack-usage.
4561 For gnatpp, replace '-notab' with '-N' and add this option to Index
4562 Corrected VMS example.
4563 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
4564 Minor reformatting
4565 Add documentation for -gnatyu switch (unnecessary blank lines)
4566 Document new switch -U for GNAT PRETTY and GNAT METRIC
4567 Add note about Stdcall being handled as C convention on non Windows OS.
4568 Remove some junk typo in description of gnatbind -S switch
4569 Remove reference to Extensions_Allowed pragma
4570 Document the new order of the directories to be searched (source and
4571 object directories of project files before directories in ADA_*_PATH
4572 environment variables.
4573
4574 * g-trasym.ads: Document that IRIX is supported
4575
45762005-06-10 Arnaud Charlet <charlet@adacore.com>
4577
4578 * Makefile.in: Add initialize.o when needed.
4579 Adapt to new VMS package body Symbols and subunits
4580 No specialized version of a-sytaco is needed for VxWorks.
4581
4582 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
4583 * a-zchara.ads, a-widcha.ads: New files.
4584
4585 * system-hpux-ia64.ads: New file.
4586
4587 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
4588 is imported from the VxWorks kernel.
4589
45902005-06-14 Robert Dewar <dewar@adacore.com>
4591
4592 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
4593 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
4594 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
4595 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
4596 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
4597 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
4598 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
4599 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
4600 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
4601 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
4602 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
4603 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
4604
46052005-06-14 Thomas Quinot <quinot@adacore.com>
4606
4607 * xeinfo.adb: Fix typo in comment
4608
46092005-06-14 Javier Miranda <miranda@adacore.com>
4610
4611 * repinfo.ads: Fix typo in comment
4612
46132005-06-14 Gary Dismukes <dismukes@adacore.com>
4614
4615 * s-finimp.adb (Parent_Tag): Delete this imported function (function
4616 Parent_Tag is now in the visible part of Ada.Tags).
4617 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
4618 using imported function.
4619
46202005-06-14 Bernard Banner <banner@adacore.com>
4621
4622 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
4623 also apply for handling support for VxSim 653.
4624
46252005-06-14 Eric Botcazou <ebotcazou@adacore.com>
4626
4627 * xsnames.adb: Add automatic generation of snames.h.
4628
46292005-06-14 Thomas Quinot <quinot@adacore.com>
4630
4631 * gen-soccon.c: Add IP_MULTICAST_IF constant
4632 Minor reformatting and adjustments to prevent warnings.
4633
46342005-06-14 Pascal Obry <obry@adacore.com>
4635
4636 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
4637
e0d161cf
AP
46382005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
4639
4640 * trans.c (gnat_gimplify_expr): Call
4641 recompute_tree_invarant_for_addr_expr when we change
4642 the operand of the ADDR_EXPR.
4643
4c714dd4
KG
46442005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4645
4646 * misc.c: Don't include errors.h.
4647
7b9997f3
KG
46482005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4649
4650 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
4651
5ff62c2e
KH
46522005-05-29 Kazu Hirata <kazu@cs.umass.edu>
4653
4654 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
4655 comment typos.
4656 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
4657
8b37cc64
NN
46582005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
4659
4660 PR ada/20270
4661 * Makefile.in: Make TGT_LIB behave correctly.
4662
d4ee4d25
DD
46632005-04-23 DJ Delorie <dj@redhat.com>
4664
4665 * misc.c: Adjust warning() callers.
4666
159921c0
LG
46672005-04-16 Laurent GUERBY <laurent@guerby.net>
4668
4669 PR ada/18847
4670 * a-nudira.adb (Value): Check for valid string.
4671 * a-nuflra.adb (Value): Likewise.
4672
0b026622
RS
46732005-04-11 Richard Sandiford <rsandifo@redhat.com>
4674
4675 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
4676
bde83138
KH
46772005-04-10 Kazu Hirata <kazu@cs.umass.edu>
4678
4679 * adaint.c, init.c, tracebak.c: Fix comment typos.
4680 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
4681
ad9945b5
LG
46822005-04-07 Laurent GUERBY <laurent@guerby.net>
4683 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4684
4685 * Makefile.in: Add make ifeq define for hppa linux tasking support.
4686 * system-hpux.ads: Define Signed_Zeros to be True.
4687 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
4688
45f7cb60
KH
46892005-04-01 Kazu Hirata <kazu@cs.umass.edu>
4690
4691 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
4692 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
4693 typos.
4694
5662a50d
TT
46952005-03-30 Tom Tromey <tromey@redhat.com>
4696
4697 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
4698
e6e375cc
AL
46992005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
4700
4701 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
4702
5db8bc34
AC
47032005-03-29 Robert Dewar <dewar@adacore.com>
4704
4705 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
4706 fixed-point expression has value that is not a multiple of the Small
4707 value.
4708
4709 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
4710
4711 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
4712 nanoseconds.
4713
4714 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
4715
47162005-03-29 Vincent Celier <celier@adacore.com>
4717
4718 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
4719 (Build_Dynamic_Library.Version_String): Return the empty string when
4720 Lib_Version is empty or when the symbol policy is not Autonomous.
4721
4722 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
4723 a symbol is not in the reference symbol file, increase the Major ID
4724 and set the Minor ID to 0.
4725 Use gsmatch=lequal instead of gsmatch=equal
4726
47272005-03-29 Doug Rupp <rupp@adacore.com>
4728
4729 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
4730 name and translate.
4731
47322005-03-29 Javier Miranda <miranda@adacore.com>
4733
4734 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
4735 (Inherit_DT): The first formal has been redefined as a Tag.
4736 This allows us the removal of the subprogram Get_TSD.
4737 (TSD): Replace the call to Get_TSD by the actual code.
4738
4739 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
4740 (Make_DT): Upgrade the call to Inherit_TSD according to the
4741 new interface: the first formal is now a Tag.
4742
4743 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
4744 redefined as a Tag.
4745 This change allows us to remove the subprogram Get_TSD.
4746 (CPP_Get_TSD): Subprogram removed.
4747 (TSD): Replace the call to CPP_Get_TSD by the actual code.
4748
4749 * rtsfind.ads: Remove support to call the run-time
4750 subprogram Get_TSD
4751
47522005-03-29 Robert Dewar <dewar@adacore.com>
4753
da8f5fd9 4754 * errutil.adb, errout.adb:
5db8bc34
AC
4755 Minor comment updates on Line_Terminator references
4756
4757 * par-ch10.adb: Add ??? comment about line terminator
4758
4759 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
4760 (check dos line terminator).
4761 (Check_Line_Max_Length): New procedure, split off from the existing
4762 Check_Line_Terminator routine. Separating this out allows -gnatyf to
4763 be properly recognized.
4764
4765 * styleg.adb: Add ??? comment for line terminator reference
4766
4767 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
4768 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
4769
4770 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
4771 (check dos line terminator).
4772 (Check_Line_Max_Length): New procedure, split off from the existing
4773 Check_Line_Terminator routine. Separating this out allows -gnatyf to
4774 be properly recognized.
4775
da8f5fd9 4776 * stylesw.ads, stylesw.adb:
5db8bc34
AC
4777 Add handling for new -gnatyd switch (check dos line terminator)
4778
4779 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
4780 Recognize -gnatwb/-gnatwB switches
4781 Include Warn_On_Bad_Fixed_Value for -gnatg
4782
da8f5fd9 4783 * usage.adb:
5db8bc34
AC
4784 Add line for new -gnatyd switch (check dos line terminator)
4785
4786 * usage.adb: Add lines for -gnatwb/-gnatwB
4787
4788 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
4789
4790 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
4791
4792 * gnat_ugn.texi: Fix overlong lines
4793 Document new -gnatyd switch
4794 Document new -gnatwb/-gnatwB switches
4795
47962005-03-29 Ed Schonberg <schonberg@adacore.com>
4797
4798 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
4799 order to retrieve the component list of the type, before examining
4800 individual components.
4801
4802 * sem_type.adb (Covers): Types are compatible if one is the base type
4803 of the other, even though their base types might differ when private
4804 views are involved.
4805
48062005-03-29 Thomas Quinot <quinot@adacore.com>
4807
4808 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
4809 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
4810 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
4811 analyzed if expansion is disabled (which could otherwise cause spurious
4812 error messages if expansion has been disabled due to previous
4813 (unrelated) errors).
4814
4815 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
4816 is disabled, the entity denoted by the argument is the access type
4817 itself, not an underlying record type, so there is no need to go back
4818 to the Corresponding_Remote_Type.
4819
48202005-03-29 Gary Dismukes <dismukes@adacore.com>
4821 Robert Dewar <dewar@adacore.com>
4822
4823 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
4824 expand a call to an instance of
4825 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
4826 Constructor actual of the instance. A class-wide membership
4827 check is also generated, to ensure that the tag passed to the instance
4828 denotes a type in the class.
4829 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
4830 of Name_Generic_Dispatching_Constructor.
4831
4832 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
4833 05 unit for AI-260-02).
4834
4835 * a-tgdico.ads: New file.
4836
4837 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
4838 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
4839
4840 * snames.ads, snames.adb (Preset_Names): Add entry for
4841 Generic_Dispatching_Constructor.
4842
4843 PR ada/20300
4844
4845 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
4846 character type cases.
4847 (Analyze_Subprogram_Renaming): Add special handling for
4848 the case of renaming of stream attributes when the renaming denotes a
4849 generic formal subprogram association for an abstract formal subprogram.
4850 Check that the attribute is a primitive stream attribute (and not
4851 a class-wide stream attribute) and then rewrite the attribute name
4852 as the name of the appropriate compiler-generated stream primitive.
4853
48542005-03-29 Robert Dewar <dewar@adacore.com>
4855
4856 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
4857 recursive calls.
4858 (Is_Possibly_Unaligned_Object): Correct typo that
4859 resulted in inaccurate result for unaligned scalars within records.
4860
48612005-03-29 Ed Schonberg <schonberg@adacore.com>
4862
4863 * freeze.adb (Freeze_Record_Type): If the type of the component is an
4864 itype whose parent is controlled and not yet frozen, do not create a
4865 freeze node for the itype if expansion is disabled.
4866
48672005-03-29 Vincent Celier <celier@adacore.com>
4868
4869 * make.adb (Gnatmake): Don't fail if the main project file is declared
4870 as having no Ada sources. Do not display message "no sources to
4871 compile" in quiet output.
4872
48732005-03-29 Doug Rupp <rupp@adacore.com>
4874
4875 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
4876 extra tools.
4877
48782005-03-29 Robert Dewar <dewar@adacore.com>
4879
4880 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
4881 child.
4882
48832005-03-29 Robert Dewar <dewar@adacore.com>
4884
4885 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
4886 missing TYPE Improve the error message generated when compiling a
4887 limited interface in Ada83 or Ada95 mode.
4888
48892005-03-29 Robert Dewar <dewar@adacore.com>
4890
4891 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
4892 rather than proceed ahead using a junk attribute name.
4893
48942005-03-29 Vincent Celier <celier@adacore.com>
4895
4896 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
4897
4898 * prj-part.adb (Parse_Single_Project): Set the location of a project
4899 on its defining identifier, rather than on the reserved word "project".
4900
4901 * prj-proc.adb (Expression): Adapt to the fact that default of external
4902 references may be string expressions, not always literal strings.
4903 (Recursive_Process): Set Display_Name equal to Name
4904 when Location is No_Location, that is when there is no actual file.
4905 Get the Display_Name of the project from the source, when it is not a
4906 virtual project.
4907 (Process): Use the Display_Name in error messages
4908
4909 * prj-strt.adb (External_Reference): Allow default to be string
4910 expressions, not only literal strings.
4911
49122005-03-29 Vincent Celier <celier@adacore.com>
4913
4914 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
4915 file and the reference symbol file to be the same file.
4916
49172005-03-29 Thomas Quinot <quinot@adacore.com>
4918
4919 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
4920 forbid conversion of a local access-to-subprogram type to a remote one.
4921
4922 * sem_util.adb (Wrong_Type): For a record type that is the expanded
4923 equivalent type for a remote access-to-subprogram type, go back to the
4924 original RAS entity when displaying an error message, so the casing is
4925 the original source casing.
4926
49272005-03-29 Robert Dewar <dewar@adacore.com>
4928
4929 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
4930 on param update.
4931
49322005-03-29 Ed Schonberg <schonberg@adacore.com>
4933
4934 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
4935 subtype if code is being pre-analyzed, to prevent un-expanded
4936 references to protected formals, among others.
4937 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
4938 interpretation that can be a call, include the result of the call as a
4939 possible interpretation of the dereference.
4940
4941 * sem_ch5.adb (Process_Bounds): Determine type of range by
4942 pre-analyzing a copy of the original range, and then analyze the range
4943 with the expected type.
4944
4945 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
4946 with an overloaded prefix where not all interpretations yield an
4947 access to subprogram, do not rewrite node as a call.
4948 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
4949 the node as a call once the context identifies the interpretation of
4950 the prefix whose call yields the context type.
4951 (Valid_Conversion): For the case of a conversion between
4952 local access-to-subprogram types, check subtype conformance using
4953 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
4954 detailed error message.
4955
49562005-03-29 Ed Schonberg <schonberg@adacore.com>
4957
4958 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
4959 indicator, indicate that the formal can never be null.
4960 (Process_Formals): If a formal has a non_null indicator, insert the
4961 resulting subtype immediately before the enclosing subprogram decl,
4962 and not at the beginning of the corresponding declarative part, to
4963 prevent access before elaboration (Ada2005).
4964
49652005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4966
4967 PR ada/19956
4968 * utils.c (finish_record_type): Use variable_size when setting sizes.
4969
49702005-03-29 Robert Dewar <dewar@adacore.com>
4971
4972 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
4973 guarantee Unix style line terminators for the output files, even when
4974 running on windows.
4975
49762005-03-29 Robert Dewar <dewar@adacore.com>
4977
4978 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
4979 buffer if an exception is raised.
4980
49812005-03-29 Ed Falis <falis@adacore.com>
4982
4983 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
4984 VxWorks 653 1.4
4985
49862005-03-29 Robert Dewar <dewar@adacore.com>
4987
4988 * sem_util.ads: Minor reformatting
4989 * gnat_rm.texi: Minor editing.
4990
49912005-03-29 Eric Botcazou <ebotcazou@adacore.com>
4992
4993 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
4994 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
4995
aad9ff31
AL
49962005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
4997
4998 * adaint.c (__gnat_portable_spawn): Adjust cast.
4999
d101034c
JM
50002005-03-23 Joseph S. Myers <joseph@codesourcery.com>
5001
5002 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
5003
3a0c4f5a
AC
50042005-03-17 Pascal Obry <obry@adacore.com>
5005
5006 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
5007 used.
5008
5009 * expect.c (__gnat_waitpid): Moved here from adaint.c.
5010 Reimplement under Win32 using Win32 API.
5011
5012 (__gnat_kill) [Win32]: Properly close the process handle before leaving
5013 this routine.
5014
50152005-03-17 Eric Botcazou <ebotcazou@adacore.com>
5016
5017 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
5018 (DECL_RENAMED_OBJECT): New accessor macro.
5019 (SET_DECL_RENAMED_OBJECT): New setter macro.
5020
5021 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
5022 object in all cases. Attach the renamed object to the VAR_DECL.
5023 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
5024 field is not prescribed.
5025
5026 * misc.c (gnat_handle_option): Handle -gnatO separately.
5027 (gnat_print_decl) <VAR_DECL>: New case.
5028 Print the DECL_RENAMED_OBJECT node.
5029
5030 * lang.opt: Declare separate -gnatO option.
5031
5032 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
5033 pointer, replace it with the renamed object.
5034 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
5035 pointer type if the source is not a fat pointer type whose underlying
5036 array has the same non-zero alias set as that of the destination array.
5037
50382005-03-17 Javier Miranda <miranda@adacore.com>
5039
5040 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
5041 (Get_Inheritance_Depth): Removed.
5042 (Set_Inheritance_Depth): Removed.
5043
5044 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
5045 subprogram Get_Expanded_Name because it is not referenced by the
5046 frontend.
5047
5048 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
5049 (CPP_Get_Inheritance_Depth): Removed.
5050 (CPP_Set_Inheritance_Depth): Removed.
5051
5052 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
5053
50542005-03-17 Robert Dewar <dewar@adacore.com>
5055
5056 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
5057 3, since we now expect GCC 3 to do all the work.
5058
50592005-03-17 Javier Miranda <miranda@adacore.com>
5060
5061 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
5062 of one barrier to avoid wrong usage of this attribute.
5063
5064 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
5065 First_Private_Entity.
5066
5067 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
5068 the subprogram against wrong usage.
5069 Adapt the code to traverse the entities in the
5070 scope of a record_type because in addition to its usage regarding
5071 packages, this subprogram is also called by Expand_N_Freeze_Entity
5072 to install the visible declarations of the enclosing scope of a
5073 record_type_with_private to establish the proper visibility before
5074 freezing the entity and related subprograms.
5075
50762005-03-17 Ed Schonberg <schonberg@adacore.com>
5077
5078 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
5079 entry formals.
5080
50812005-03-17 Thomas Quinot <quinot@adacore.com>
5082
5083 * exp_ch3.adb (Check_Attr): New subprogram.
5084 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
5085 into a new Check_Attr subprogram, in order to provide a more
5086 explanatory error message (including the name of the missing attribute).
5087 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
5088 subprogram determines whether a default implementation exists for a
5089 given stream attribute.
5090 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
5091 Determine whether to generate a default implementation for each stream
5092 attribute separately, as this depends on the specific attribute.
5093
5094 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
5095 limited extension where a stream attribute is missing for a limited
5096 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
5097 generate a bogus reference to the missing attribute to prevent
5098 cascaded errors. Instead, generate a null statement.
5099
5100 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
5101 available for a limited type if it has been specified for an ancestor
5102 of the type.
5103
51042005-03-17 Ed Schonberg <schonberg@adacore.com>
5105
5106 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
5107 entity is an operator.
5108
51092005-03-17 Thomas Quinot <quinot@adacore.com>
5110
5111 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5112 spec, to make this predicate available to other units.
5113
5114 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
5115 reimplementing it.
5116
5117 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
5118 when no distribution runtime library is available.
5119
5120 * sem_res.adb, sem_dist.adb: Disable expansion of remote
5121 access-to-subprogram types when no distribution runtime library is
5122 available.
5123 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
5124 predicate available to other units.
5125
5126 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5127 spec, to make this predicate available to other units.
5128
51292005-03-17 Vincent Celier <celier@adacore.com>
5130
5131 * make.adb (Insert_Project_Sources): Make sure the Q is always
5132 initialized.
5133
5134 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
5135 the default for the tree, not the global default naming.
5136
5137 * prj-proc.adb (Recursive_Process): No need to put the default naming
5138 in the project data, it's already there.
5139
51402005-03-17 Doug Rupp <rupp@adacore.com>
5141
5142 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
5143
5144 * 5xcrtl.ads: Renamed to...
5145 * s-crtl-vms64.ads: ...this new file
5146
51472005-03-17 Robert Dewar <dewar@adacore.com>
5148
5149 PR ada/19519
5150
5151 * namet.adb (Copy_One_Character): Set proper wide character encoding
5152 for upper half character if we have upper half encoding.
5153
51542005-03-17 Robert Dewar <dewar@adacore.com>
5155
5156 * par.adb (Par): Improved msg for attempt to recompile predefined unit
5157
51582005-03-17 Thomas Quinot <quinot@adacore.com>
5159
5160 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
5161 tagged limited type, the TSS is a newly built renaming declaration:
5162 insert it using Set_TSS, not Copy_TSS.
5163
51642005-03-17 Javier Miranda <miranda@adacore.com>
5165
5166 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
5167 Try_Object_Operation): Analyze the object that is accessible
5168 through the prefix of the subprogram call before we apply
5169 the transformation of the object-operation notation.
5170
51712005-03-17 Jose Ruiz <ruiz@adacore.com>
5172
5173 * s-taprob.adb (Initialize_Protection): Initialize the protected
5174 object's owner to Null_Task.
5175 (Lock): If pragma Detect_Blocking is in effect and the caller of this
5176 procedure is already the protected object's owner then Program_Error
5177 is raised. In addition the protected object's owner is updated.
5178 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
5179 of this procedure is already the protected object's owner then
5180 Program_Error is raised.
5181 In addition the protected object's owner is updated.
5182 (Unlock): Remove the ownership of the protected object.
5183
5184 * s-taprob.ads (Protection): Add the field Owner, used to store the
5185 protected object's owner.
5186 This component is needed for detecting one type of potentially blocking
5187 operations (external calls on a protected subprogram with the same
5188 target object as that of the protected action). Document the rest of
5189 the components.
5190
5191 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
5192 Initialize the protected object's owner to Null_Task.
5193 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
5194 caller of this procedure is already the protected object's owner then
5195 Program_Error is raised.
5196 Do not raise Program_Error when this procedure is called from a
5197 protected action.
5198 (Unlock_Entries): Remove the ownership of the protected object.
5199 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
5200 of this procedure is already the protected object's owner then
5201 Program_Error is raised.
5202 Do not raise Program_Error when this procedure is called from
5203 a protected action.
5204
5205 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
5206 used to store the protected object's owner.
5207
5208 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
5209 effect and this procedure (a potentially blocking operation) is called
5210 from whithin a protected action, Program_Error is raised.
5211 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
5212 and this procedure (a potentially blocking operation) is called from
5213 whithin a protected action, Program_Error is raised.
5214
52152005-03-17 Vincent Celier <celier@adacore.com>
5216 Nicolas Setton <setton@adacore.com>
5217
5218 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
5219 switch, not supported by the linker on Darwin. Add '_' before
5220 <library>init, as this character is added unconditionally by the
5221 compiler.
5222 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
5223 correct one ".dylib". This fixes detection of the archive files when
5224 building library projects.
5225
52262005-03-17 Vincent Celier <celier@adacore.com>
5227
5228 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
5229 -gnat83, -gnat95 and -gnat05.
5230
52312005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
5232
5233 * gnat_ugn.texi: Document gnatmem restriction
5234
52352005-03-17 Thomas Quinot <quinot@adacore.com>
5236
5237 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
5238 cleanup
5239
52402005-03-17 Robert Dewar <dewar@adacore.com>
5241
5242 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
5243 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
5244 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
5245
5246 * casing.adb: Comment improvements
5247
52482005-03-17 Pascal Obry <obry@adacore.com>
5249
5250 * g-expect.adb: Minor reformatting.
5251
a1286ef5
ZW
52522005-03-15 Zack Weinberg <zack@codesourcery.com>
5253
5254 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
5255 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
5256 to dependencies.
5257
2532808d
VC
52582005-03-15 Vincent Celier <celier@adacore.com>
5259
a1286ef5
ZW
5260 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
5261 Add new parameter In_Tree to specify the project tree: needed
5262 by the project manager. Adapt to changes in project manager
5263 using new parameter In_Tree.
2532808d 5264
e2d6b9b9
JJ
52652005-03-15 Jakub Jelinek <jakub@redhat.com>
5266
5267 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
5268 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
5269 ada/bldtools to avoid make -jN failures.
5270
813edff1
EB
52712005-03-15 Eric Botcazou <ebotcazou@adacore.com>
5272
5273 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
5274 to NULL_TREE on entry.
5275
4f51c6e7
AC
52762005-03-15 Robert Dewar <dewar@adacore.com>
5277
5278 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
5279 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
5280 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
5281 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
5282 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
5283 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
5284 system-interix.ads, system-solaris-sparc.ads,
5285 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
5286 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
5287 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
5288 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
5289 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
5290 Compiler_System_Version to be False.
5291
5292 * opt.ads: Add new flag Opt.Address_Is_Private
5293
5294 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
5295 Add new parameter Compiler_System_Version to avoid checking for
5296 completeness of parameters when compiler is compiling itself.
5297 Allows old versions of GNAT to be compiled with new compiler.
5298
52992005-03-15 Eric Botcazou <ebotcazou@adacore.com>
5300
5301 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
5302 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
5303 calling thread.
5304 (Stack_Base_Available): New flag.
5305 (Get_Page_Size): New overloaded functions imported from C.
5306 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
5307 PROT_ON, PROT_OFF): New constants.
5308 (mprotect): New function imported from C.
5309 (pthread_teb_t): New record type.
5310
5311 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
5312 (Create_Task): Account for the Yellow Zone and the guard page.
5313
53142005-03-15 Vincent Celier <celier@adacore.com>
5315
5316 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5317 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5318 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
5319 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
5320 Library_File_Name_For): Add new parameter In_Tree
5321 to specify the project tree: needed by the project manager.
5322 Adapt to changes in project manager using new parameter In_Tree.
5323 Remove local imports, use functions in System.CRTL.
5324
5325 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
5326 to use the project manager.
5327
5328 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
5329 In_Tree to designate the project tree. Adapt to changes in the project
5330 manager, using In_Tree.
5331
5332 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
5333 Copy_Interface_Sources): Add new parameter In_Tree to specify the
5334 project tree: needed by the project manager.
5335 (Build_Library): Check that Arg'Length >= 6 before checking if it
5336 contains "--RTS=...".
5337
5338 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
5339 Library_File_Name_For): Add new parameter In_Tree to specify the
5340 project tree: needed by the project manager.
5341
5342 * prj.ads, prj.adb: Major modifications to allow several project trees
5343 in memory at the same time.
5344 Change tables to dynamic tables and hash tables to dynamic hash
5345 tables. Move tables and hash tables from Prj.Com (in the visible part)
5346 and Prj.Env (in the private part). Move some constants from the visible
5347 part to the private part. Make other constants deferred.
5348 (Project_Empty): Make it a variable, not a function
5349 (Empty_Project): Add parameter Tree. Returns the data with the default
5350 naming data of the project tree Tree.
5351 (Initialize): After updating Std_Naming_Data, copy its value to the
5352 component Naming of Project Empty.
5353 (Register_Default_Naming_Scheme): Use and update the default naming
5354 component of the project tree, instead of the global variable
5355 Std_Naming_Data.
5356 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
5357 Tree is not defaulted, return the default naming data of the Tree.
5358 (Initial_Buffer_Size): Constant moved from private part
5359 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
5360 variables initialized in procedure Initialize.
5361 (Add_To_Buffer): Add two in out parameters to replace global variables
5362 Buffer and Buffer_Last.
5363 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
5364 functions.
5365 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
5366 hash tables.
5367 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5368 for the project tree.
5369 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
5370 constant at the beginning of the package spec, so that they cane be used
5371 in subprograms before their full declarations.
5372 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
5373 (Empty_Project): Add parameter of type Project_Node_Ref
5374 (Private_Project_Tree_Data): Add component Default_Naming of type
5375 Naming_Data.
5376 (Buffer, Buffer_Last): remove global variables
5377 (Add_To_Buffer): Add two in out parameters to replace global variables
5378 Buffer and Buffer_Last.
5379 (Current_Packages_To_Check): Remove global variable
5380 (Empty_Name): Move to private part
5381 (No-Symbols): Make it a constant
5382 (Private_Project_Tree_Data): New type for the private part of the
5383 project tree data.
5384 (Project_Tree_Data): New type for the data of a project tree
5385 (Project_Tree_Ref): New type to designate a project tree
5386 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5387 for the project tree.
5388
5389 * prj-attr.ads: Add with Table; needed, as package Prj no longer
5390 imports package Table.
5391
5392 * prj-com.adb: Remove empty, no longer needed body
5393
5394 * prj-com.ads: Move most of the content of this package to package Prj.
5395
5396 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
5397 designate the project node tree and Packages_To_Check to replace
5398 global variable Current_Packages_To_Check.
5399 Add new parameters In_Tree and Packages_To_Check to local subprograms,
5400 when needed. Adapt to changes in project manager with project node tree
5401 In_Tree.
5402
5403 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
5404 project tree to most subprograms. Move tables and hash tables to
5405 private part of package Prj.
5406 Adapt to changes in project manager using project tree In_Tree.
5407
5408 * prj-makr.adb (Tree): New constant to designate the project node tree
5409 Adapt to change in project manager using project node tree Tree
5410
5411 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
5412 display the Library_Src_Dir and the Library_Dir.
5413 Add new parameter In_Tree to designate the project node tree to most
5414 subprograms. Adapt to changes in the project manager, using project tree
5415 In_Tree.
5416 (Check_Naming_Scheme): Do not alter the casing on platforms where
5417 the casing of file names is not significant.
5418 (Check): Add new parameter In_Tree to designate the
5419
5420 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
5421 designate the project tree.
5422 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
5423
5424 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
5425 to replace those that were in the private part of package Prj.
5426 Add new parameter In__Tree to designate the project node tree to most
5427 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5428 (Post_Parse_Context_Clause): When specifying the project node of a with
5429 clause, indicate that it is a limited with only if there is "limited"
5430 in the with clause, not necessarily when In_Limited is True.
5431 (Parse): Add new parameter In_Tree to designate the project node tree
5432
5433 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
5434 designate the project node tree. Adapt to change in Prj.Tree with
5435 project node tree In_Tree.
5436
5437 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
5438 tree In_Tree in the call to function Empty_Process to give its initial
5439 value to the project data Processed_Data.
5440 Add new parameters In_Tree to designate the project tree and
5441 From_Project_Node_Tree to designate the project node tree to several
5442 subprograms. Adapt to change in project manager with project tree
5443 In_Tree and project node tree From_Project_Node_Tree.
5444
5445 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
5446 to replace those that were in the private part of package Prj.
5447 Add new parameter In_Tree to designate the project node tree to most
5448 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5449
5450 * prj-tree.ads, prj-tree.adb: Add new parameter of type
5451 Project_Node_Tree_Ref to most subprograms.
5452 Use this new parameter to store project nodes in the designated project
5453 node tree.
5454 (Project_Node_Tree_Ref): New type to designate a project node tree
5455 (Tree_Private_Part): Change table to dynamic table and hash tables to
5456 dynamic hash tables.
5457
5458 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
5459 the project tree to most subprograms. Adapt to changes in project
5460 manager using project tree In_Tree.
5461
5462 * makegpr.adb (Project_Tree): New constant needed to use project
5463 manager.
5464
54652005-03-15 Olivier Hainque <hainque@adacore.com>
5466
5467 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
5468 for sigactions with SA_SIGINFO set. Call
5469 __gnat_adjust_context_for_raise before raising, to perform the
5470 potentially required adjustments to the machine context for the GCC
5471 unwinder.
5472
5473 * raise.h (__gnat_adjust_context_for_raise): New prototype.
5474
5475 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
5476 Adjust PC by one in the provided machine context.
5477 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
5478 so that the handler is passed the context structure to adjust prior to
5479 the raise.
5480 (__gnat_error_handler) HPUX: Adjust the signature to match what an
5481 SA_SIGINFO sigaction should look like. Call
5482 __gnat_adjust_context_for_raise before actually raising.
5483 (__gnat_adjust_context_for_raise): Default noop to help PC
5484 adjustments before raise from signal handlers.
5485 (__gnat_error_handler): Indirectly call a predicate function to
5486 determine if a condition should be resignaled or not.
5487 (__gnat_set_resignal_predicate): User interface to modify the predicate.
5488 (__gnat_default_resignal_p): Default GNAT predicate.
5489
54902005-03-15 Doug Rupp <rupp@adacore.com>
5491
5492 * adaint.c: Prefix #include of VMS system header files with vms/
5493 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
5494 Do not define a dummy function "convert_addresses" under Darwin,
5495 not needed.
5496
5497 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
5498 with vms/
5499
55002005-03-15 Nicolas Setton <setton@adacore.com>
5501
5502 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
5503 PPC/AIX.
5504
55052005-03-15 Robert Dewar <dewar@adacore.com>
5506
5507 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
5508 AI-386.
5509
5510 * a-retide.ads: Minor comment changes
5511
55122005-03-15 Robert Dewar <dewar@adacore.com>
5513
5514 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
5515 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
5516 Realloc_For_Chunk to private part of package.
5517 New subprograms for AI-301
5518
5519 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
5520 Get_Line procedure.
5521 Avoid unnecessary use of Get/Set_Wide_String
5522
55232005-03-15 Robert Dewar <dewar@adacore.com>
5524
5525 PR ada/13470
5526
a1286ef5 5527 * a-stunau.ads, a-stunau.adb:
4f51c6e7
AC
5528 Change interface to allow efficient (and correct) implementation
5529 The previous changes to allow extra space in unbounded strings had
5530 left this interface a bit broken.
5531
5532 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
5533
5534 * g-spipat.ads, g-spipat.adb: New interface for Get_String
5535 Minor reformatting (function specs)
5536
5537 * g-spitbo.adb: New interface for Get_String
5538
5539 * g-spitbo.ads: Minor reformatting
5540
5541 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
5542
5543 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
5544
55452005-03-15 Javier Miranda <miranda@adacore.com>
5546 Robert Dewar <dewar@adacore.com>
5547 Thomas Quinot <quinot@adacore.com>
5548 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5549
5550 * atree.ads, atree.adb: Add support for Elist24 field
5551
5552 * atree.h: Fix wrong definition of Field27
5553 Add support for Elist16 field
5554 Add support for Elist24 field
5555
5556 * einfo.ads, einfo.adb (Abstract_Interfaces,
5557 Set_Abstract_Interfaces): New subprograms.
5558 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
5559 subprograms.
5560 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
5561 entities rather than a single node.
5562 (Is_Interface, Set_Is_Interface): New subprogram
5563 (First_Tag_Component): New syntesized attribute
5564 (Next_Tag_Component): New synthesized attribute
5565 (Write_Entity_Flags): Upgraded to write Is_Interface
5566 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
5567 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
5568 (Task_Body_Procedure): New subprogram to read this attribute.
5569 (Set_Task_Body_Procedure): New subprogram to set this attribute.
5570 (Has_Controlled_Component): Now applies to all entities.
5571 This is only a documentation change, since it always worked to apply
5572 this to other than composite types (yielding false), but now this is
5573 official.
5574 Update documentation on Must_Be_Byte_Aligned for new spec
5575
5576 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
5577 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
5578 uses of the Access_Disp_Table attribute to reference the first dispatch
5579 table associated with a tagged type. As
5580 part of the implementation of abstract interface types,
5581 Access_Disp_Table has been redefined to contain a list of dispatch
5582 tables (rather than a single dispatch table).
5583 Similarly, upgrade all the references to Tag_Component by the
5584 new attribute First_Tag_Component.
5585 (Find_Inherited_TSS): Moved to exp_tss.
5586 Clean up test in Expand_N_Object_Declaration for cases
5587 where we need to do a separate assignment of the initial value.
5588 (Expand_N_Object_Declaration): If the expression in the
5589 declaration of a tagged type is an aggregate, no need to generate an
5590 additional tag assignment.
5591 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
5592 is to be deleted.
5593 Bit packed array ops are only called if operands are known to be
5594 aligned.
5595 (Component_Equality): When returning an N_Raise_Program_Error statement,
5596 ensure that its Etype is set to Empty to avoid confusing GIGI (which
5597 expects that only expressions have a bona fide type).
5598 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
5599 determine the amount of data to be copied.
5600
5601 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
5602 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
5603 INTERFACE_TYPE_DEFINITION ::=
5604 [limited | task | protected | synchronized] interface
a1286ef5 5605 [AND interface_list]
4f51c6e7
AC
5606
5607 * par-ch3.adb (P_Type_Declaration): Modified to give support to
5608 interfaces.
5609 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
5610 interfaces.
5611 (P_Interface_Type_Definition): New subprogram that parses the new
5612 syntax rule of Ada 2005 interfaces
5613 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
5614 messages by the correct RENAMES (quotes removed).
5615
5616 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
5617 attribute First_Tag_Component.
5618
5619 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
5620 (Interface_List, Set_Interface_List): New subprograms.
5621 (Interface_Present, Set_Interface_Present): New subprograms.
5622 (Limited_Present, Set_Limited_Present): Available also in derived
5623 type definition nodes.
5624 (Protected_Present, Set_Protected_Present): Available also in
5625 record type definition and
5626 derived type definition nodes.
5627 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
5628 (Task_Present, Set_Task_Present): New subprogram.
5629 (Task_Body_Procedure): Removed.
5630 (Set_Task_Body_Procedure): Removed.
5631 These subprogram have been removed because the attribute
5632 Task_Body_Procedure has been moved to the corresponding task type
5633 or task subtype entity to leave a field free to store the list
5634 of interfaces implemented by a task (for AI-345)
5635 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
5636 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
5637 expression flag Do_Range_Check
5638 (Exception_Junk): Change to Flag7 to accomodate above change
5639 (Box_Present, Default_Name, Specification, Set_Box_Present,
5640 Set_Default_Name, Set_Specification): Expand the expression
5641 "X in N_Formal_Subprogram_Declaration" into the corresponding
5642 two comparisons. Required to use the csinfo tool.
5643
5644 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
5645 "with string" given.
5646
a1286ef5
ZW
5647 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
5648 expression given.
4f51c6e7
AC
5649
5650 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
5651 in 2005 mode
5652
5653 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
5654 attribute Task_Body_Procedure rather than the old semantic field that
5655 was available in the task_type_declaration node.
5656
5657 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
5658 interface type definitions.
5659 (P_Formal_Derived_Type_Definition): Modified to handle the list of
5660 interfaces.
5661
5662 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
5663 task type declaration.
5664 (P_Protected): Modified to handle the list of interfaces in a
5665 protected type declaration.
5666
56672005-03-15 Doug Rupp <rupp@adacore.com>
5668 Vincent Celier <celier@adacore.com>
5669
5670 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
5671 (Gen_Output_File_C): Likewise.
5672 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
5673
56742005-03-15 Thomas Quinot <quinot@adacore.com>
5675
5676 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
5677 is an N_Raise_Constraint_Error node, create a new copy of it without
5678 going through a call to Duplicate_Subexpr.
5679
56802005-03-15 Eric Botcazou <ebotcazou@adacore.com>
5681 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5682 Nicolas Setton <setton@adacore.com>
5683 Ed Schonberg <schonberg@adacore.com>
5684
5685 PR ada/19900
5686 PR ada/19408
5687 PR ada/19140
5688 PR ada/20255
5689
5690 * decl.c (gnat_to_gnu_field): Reject aliased components with a
5691 representation clause that prescribes a size not equal to the rounded
5692 size of their types.
5693 (gnat_to_gnu_entity, case E_Component): Always look at
5694 Original_Record_Component if Present and not the entity.
5695 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
5696 of tagged extension types by not making field for components that are
5697 inside the parent.
5698 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
5699 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
5700 expression to the type of the object when the object is constant.
5701 Reverse defer_debug_incomplete_list before traversing it, so that trees
5702 are processed in the order at which they were added to the list. This
5703 order is important when using the stabs debug format.
5704 If we are deferring the output of debug information, also defer this
5705 output for a function return type.
5706 When adding fields to a record, prevent emitting debug information
5707 for incomplete records, emit the information only when the record is
5708 complete.
5709 (components_to_record): New parameter defer_debug.
5710 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
5711 (gnat_to_gnu_field_decl): New function.
5712 (substitution_list, annotate_rep): Call it.
5713 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
5714 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
5715 No longer update discriminants to not be a COMPONENT_REF.
5716 (copy_alias_set): Strip padding from input type; also handle
5717 unconstrained arrays properly.
5718
5719 * gigi.h (write_record_type_debug_info): New function.
5720 Convert to use ANSI-style prototypes. Remove unused
5721 declarations for emit_stack_check, elab_all_gnat and
5722 set_second_error_entity.
5723 (gnat_to_gnu_field_decl): New decl.
5724
5725 * utils.c (write_record_type_debug_info): New function.
5726 (finish_record_type): Delegate generation of debug information to
5727 write_record_type_debug_info.
5728 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
5729 (update_pointer_to): Fix pasto.
5730 (convert) <UNION_TYPE>: Accept slight type variations when
5731 converting to an unchecked union type.
5732
5733 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
5734 replace the N_Freeze_Entity with a null statement.
5735
5736 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
5737 within a constrained subcomponent of an enclosing record, place the
5738 freeze nodes in the scope stack entry for the enclosing record.
5739 (Undelay_Type): New Subprogram.
5740 (Set_Small_Size): Pass T, the type to modify; all callers changed.
5741 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
5742 within records; allow them to have freeze nodes if their base types
5743 aren't frozen yet.
5744
017205f5
EB
5745 * exp_util.adb (Remove_Side_Effects): Properly test for
5746 Expansion_Delayed and handle case when it's inside an
5747 N_Qualified_Expression.
5748
4f51c6e7
AC
5749 * sem_ch3.adb (Derived_Type_Declaration): New predicate
5750 Comes_From_Generic, to recognize accurately that the parent type in a
5751 derived type declaration can be traced back to a formal type, because
5752 it is one or is derived from one, or because its completion is derived
5753 from one.
5754 (Constrain_Component_Type): If component comes from source and has no
5755 explicit constraint, no need to constrain in in a subtype of the
5756 enclosing record.
5757 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
5758 Minor change to propagate Is_Ada_2005 flag
5759
5760 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
5761 Expansion_Delayed is False.
5762 (assoc_to_constructor): Ignore fields that have a
5763 Corresponding_Discriminant.
5764 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
5765 function returns "by target", dereference the target pointer using the
5766 type of the actual return value.
5767 <all>: Be prepared for a null gnu_result.
5768 (processed_inline_subprograms): Check flag_really_no_inline
5769 instead of flag_no_inline.
5770 (set_second_error_entity): Remove unused function.
5771 (gnat_to_gnu, case N_Selected_Component): Call
5772 gnat_to_gnu_field_decl.
5773 (assoc_to_constructor): Likewise.
5774
57752005-03-15 Robert Dewar <dewar@adacore.com>
5776 Ed Schonberg <schonberg@adacore.com>
5777 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5778
4f51c6e7
AC
5779 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
5780 Must_Be_Byte_Aligned for cases where we do not need to use a
5781 System.Pack_nn unit.
5782
5783 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
5784 as procedures.
5785 Needed now that we do some processing for IN parameters as well. This
5786 may well fix some unrelated errors.
5787 (Expand_Call): Handle case of unaligned objects (in particular those
5788 that come from packed arrays).
5789 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
5790 renamed entity is an inherited operation, re-expand the call using the
5791 original operation, which is the one to call.
5792 Detect attempt to inline parameterless recursive subprogram.
5793 (Represented_As_Scalar): Fix to work properly with private types
5794 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
5795 accurate estimate. Yields True in far fewer cases than before,
5796 improving the quality of code that depends on this test.
4f51c6e7
AC
5797
5798 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
5799 over both visible and private declarations to remove them from tree,
5800 and mark subprograms declared in package as eliminated, to prevent
5801 spurious use in subsequent compilation of generic units in the context.
5802
5803 * exp_util.ads: Minor cleanup in variable names
5804
5805 * sem_eval.ads, sem_eval.adb: Minor reformatting
5806 (Compile_Time_Known_Bounds): New function
5807
58082005-03-15 Ed Schonberg <schonberg@adacore.com>
5809
5810 * exp_ch7.adb (Convert_View): Use base types of underlying types when
5811 determining whether an unchecked conversion is needed for the argument
5812 of an initialization call.
5813
58142005-03-15 Ed Schonberg <schonberg@adacore.com>
5815
5816 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
5817 that appears in the instantiation rather than the internal subtype
5818 generated in the wrapper package, to avoid anomalies in gigi when the
5819 target is derived from a private type whose full view is an access type.
5820
58212005-03-15 Robert Dewar <dewar@adacore.com>
5822
5823 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
5824 not needed.
5825 Add documentation to replace the use of this flag
5826 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
5827 the x86_64.
5828
58292005-03-15 Thomas Quinot <quinot@adacore.com>
5830
5831 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
5832 here from exp_attr so it can be shared between exp_attr and exp_dist.
5833 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
5834 all TSS names, not a subset thereof, and the previous name introduced
5835 an unnecessarily confusion that a distinction might exist between
5836 "OK" TSS names and some "not OK" TSS names.
5837
58382005-03-15 Doug Rupp <rupp@adacore.com>
5839
5840 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
5841 Command_Name.
5842
58432005-03-15 Pascal Obry <obry@adacore.com>
5844 Eric Botcazou <ebotcazou@adacore.com>
5845
5846 PR ada/20226
5847 PR ada/20344
5848
5849 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
5850 when IN_RTS. This is to work around a bootstrap path problem.
5851
5852 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
5853 table and pass it to __gnat_install_SEH_handler().
5854 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
5855
5856 * lang.opt: Fix specification of -fRTS=.
5857
58582005-03-15 Doug Rupp <rupp@adacore.com>
5859 Bernard Banner <banner@adacore.com>
5860 Vincent Celier <celier@adacore.com>
5861 Arnaud Charlet <charlet@adacore.com>
5862
5863 PR ada/6852
5864 This change works fine when gnatlib is built from the gcc directory,
5865 but does not work when using the libada Makefile, since GCC_FOR_TARGET
5866 is not passed to ada/Makefile.in, so more work is needed by a
5867 Makefile/configure expert.
5868
5869 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
5870 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
5871 Setup gnatlink switch -M for x86_64 linux, as it is already setup
5872 for Linux x86.
5873 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
5874 Run ranlib on libgccprefix.a
5875 Define PREFIX_OBJS for Darwin, to build libgccprefix.
5876 (ADA_INCLUDE_SRCS): Split Ada packages.
5877
58782005-03-15 Robert Dewar <dewar@adacore.com>
5879
5880 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
5881
5882 * impunit.adb: Add GNAT.UTF_32
5883
5884 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
5885
5886 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
5887 now uses GNAT.UTF_32).
5888
5889 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
5890 capabilities for categorizing characters using Unicode categories
5891
58922005-03-15 Ed Schonberg <schonberg@adacore.com>
5893
5894 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
5895 instantiation that has been rewritten as a package body, retrieve spec
5896 to generate proper name for implicit_with_clause.
5897 (Install_Parents): Recognize a parent that is an instantiation but has
5898 been rewritten as a package declaration during analysis.
5899
59002005-03-15 Javier Miranda <miranda@adacore.com>
5901 Ed Schonberg <schonberg@adacore.com>
5902
5903 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
5904 parameter reported some error we immediately return. This improves the
5905 behaviour of the frontend in case of errors.
5906 (Install_Parent, Remove_Parent): Introduce new flag
5907 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
5908 ancestor of a generic child unit, when the child is being instantiated.
5909 (Inline_Instance_Body): If we are compiling the private
5910 part or the body of a child unit, restore the proper visibility of the
5911 parents after compiling the instance body.
5912
59132005-03-15 Ed Schonberg <schonberg@adacore.com>
5914 Javier Miranda <miranda@adacore.com>
5915
5916 PR ada/15608
5917 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
5918 of a private type, in which case it is underlying_type that denotes
5919 the proper task. Also modified to use the new entity attribute
5920 that is directly available in the task type and task subtype entities
5921 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
5922 arrays when other dimensions than the first are constrained by
5923 discriminants of an enclosing record.
5924 (Insert_Explicit_Dereference): If the prefix is an indexed component or
5925 a combination of indexed and selected components, find ultimate entity
5926 and generate the appropriate reference for it, to suppress spurious
5927 warnings.
5928 (Note_Possible_Modification): If an entity name has no entity, return.
5929 (Is_Variable): A function call never denotes a variable.
5930 (Requires_Transient_Scope): For record types, recurse only on
5931 components, not on internal subtypes that may have been generated for
5932 constrained components.
5933
59342005-03-15 Ed Schonberg <schonberg@adacore.com>
5935
5936 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
5937 Eliminated as candidates for resolution. Both efficient, and avoids
5938 anomalies with operators declared in deleted code.
5939 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
5940 expansion is disabled (as when compiling a generic) to prevent spurious
5941 warnings on prefixes of selected components.
5942
59432005-03-15 Ed Schonberg <schonberg@adacore.com>
5944
5945 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
5946 attached to a list before checking whether it appears in the private
5947 declarations of the current package.
5948 (Make_Inequality_Operator): Insert declaration in proper declarative
5949 list rather than just setting the Parent field, so that
5950 Is_Private_Declaration can handle it properly.
5951
59522005-03-15 Ed Schonberg <schonberg@adacore.com>
5953
5954 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
5955 a renaming a body, check that the renamed subprogram in not intrinsic.
5956 (Find_Direct_Name): If several use_visible entities hide
5957 each other, and the context is a predefined file compiled through
5958 rtsfind, keep only the entity that comes from a predefined file.
5959
59602005-03-15 Geert Bosch <bosch@adacore.com>
5961
5962 * s-fatgen.adb (Valid): Extend special exceptions to account for long
5963 long float padding to also cover AMD64 and IA64.
5964
59652005-03-15 Gary Dismukes <dismukes@adacore.com>
5966
5967 * s-imgwch.adb: Add with and use of Interfaces.
5968 (Img_Wide_Character): Change type of Val to Unsigned_16.
5969 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
5970
59712005-03-15 Matthew Gingell <gingell@adacore.com>
5972
5973 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
5974
59752005-03-15 Robert Dewar <dewar@adacore.com>
5976
5977 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
5978
5979 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
5980
5981 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
5982
59832005-03-15 Robert Dewar <dewar@adacore.com>
5984
5985 * s-bitops.adb, s-bitops.ads,
5986 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
5987 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
5988 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
5989 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
5990 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
5991 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
5992 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
5993 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
5994 reformatting.
5995
59962005-03-15 Eric Botcazou <ebotcazou@adacore.com>
5997
5998 * utils2.c (build_binary_op): Fix typo.
5999
60002005-03-15 Doug Rupp <rupp@adacore.com>
6001
6002 * s-crtl.ads (popen,pclose): New imports.
6003
60042005-03-15 Cyrille Comar <comar@adacore.com>
6005
6006 * comperr.adb (Compiler_Abort): remove references to obsolete
6007 procedures in the bug boxes for various GNAT builds.
6008
60092005-03-15 Vincent Celier <celier@adacore.com>
6010
6011 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
6012
60132005-03-15 Geert Bosch <bosch@adacore.com>
6014 Arnaud Charlet <charlet@adacore.com>
6015 Robert Dewar <dewar@adacore.com>
6016 Cyrille Comar <comar@adacore.com>
6017 Sergey Rybin <rybin@adacore.com>
6018
6019 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
6020 too specific and long-winded to be appropriate for the GNAT User's
6021 Guide.
6022 Warn about use of GCC switches not documented in the GNAT User's Guide,
6023 as these may cause generated code to not conform to Ada semantics.
6024 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
6025 Add documentation for -gnat95 and -gnat05 switches
6026 Remove paragraph documenting obsolete way to refer to third party
6027 libraries.
6028 Add a few references to Ada_05 that were missing.
6029 Update documentation on -gnatZ/-gnatL.
6030 Document limitation when using -m64 under Solaris.
6031 Change the "Name Casing" subsection of the pretty-printer section
6032 according to the changes in the dictionary processing.
6033
6034 * gnat_rm.texi: Document the Ada_05 pragma.
6035 Section on record representation clauses describes the new more
6036 relaxed rules about placement of large packed bit array components.
6037 Add documentation of GNAT.UTF_32
6038
c75ab022
DB
60392005-03-12 Daniel Berlin <dberlin@dberlin.org>
6040
6041 * misc.c (gnat_post_options): Turn off structural
6042 aliasing for now.
4f51c6e7 6043
391bdf45
LG
60442005-03-08 Laurent Guerby <laurent@guerby.net>
6045
6046 * system-linux-sparc.ads: Fix typo in previous commit.
6047
fe8a06f2 60482005-03-07 James A. Morrison <phython@gcc.gnu.org>
a1286ef5 6049 Laurent Guerby <laurent@guerby.net>
fe8a06f2 6050
a1286ef5
ZW
6051 PR ada/20035
6052 * system-linux-sparc.ads: New.
6053 * Makefile.in: Add sparc linux entry.
fe8a06f2 6054
a1286ef5 60552005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
9811fd17 6056
a1286ef5 6057 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
9811fd17
DS
6058 parameters as unused.
6059
5395b47b
NN
60602005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
6061 Partial merge from libada-gnattools-branch:
6062
6063 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5
ZW
6064 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6065 into code in gnattools/Makefile.in. Remove direct dependencies on
6066 stamp-tools by tools clauses.
5395b47b 6067 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5 6068 * config-lang.in: Add gnattools to $lang_dirs.
5395b47b 6069
4fa0972f
AP
60702005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
6071
6072 PR ada/19942
2532808d 6073 * utils.c (gnat_type_for_mode): Return null instead of ICE because
a1286ef5 6074 we asked for an unknown mode.
4fa0972f 6075
bd0b34a8
RH
60762005-02-12 Richard Henderson <rth@redhat.com>
6077
6078 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
6079 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
6080
0ebbef54
AJ
60812005-02-10 Andreas Jaeger <aj@suse.de>
6082
6083 * init.c (__gnat_initialize): Mark parameter as unused.
6084
fc5a191d
AC
60852005-02-09 Doug Rupp <rupp@adacore.com>
6086
6087 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
6088 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
6089
60902005-02-09 Doug Rupp <rupp@adacore.com>
6091
6092 * gnatchop.adb (dup, dup2),
6093 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
6094
6095 * gnatlbr.adb (mkdir),
6096 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
6097
6098 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
6099
61002005-02-09 Doug Rupp <rupp@adacore.com>
6101
6102 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
6103
61042005-02-09 Robert Dewar <dewar@adacore.com>
6105 Thomas Quinot <quinot@adacore.com>
6106 Javier Miranda <miranda@adacore.com>
6107 Pascal Obry <obry@adacore.com>
6108 Ed Schonberg <schonberg@adacore.com>
6109 Doug Rupp <rupp@adacore.com>
6110 Gary Dismukes <dismukes@adacore.com>
6111 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6112
6113 * g-zstspl.ads: New file.
6114
6115 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
6116
6117 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
6118 Ada 95 mode
6119 Add definition of Wide_Wide_Space for AI-285
6120
6121 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
6122 interface (to support Ada 95 and Ada 2005 units).
6123 Add Unbounded_IO files
6124 Add entries for Wide_Wide packages for AI-285
6125 Add list of containers packages to Ada 2005 unit list
6126
6127 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
6128 support new Unbounded_IO package cleanly.
6129
6130 * g-utf_32.ads, g-utf_32.adb: New files.
6131
6132 * Makefile.rtl: Add entry for g-utf_32
6133 Add new files for Unbounded_IO
6134 Adjust make file for new AI-285 wide wide packages
6135 Add AI-302 containers to the run time.
6136
6137 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
6138 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
6139 subprograms for AI-301.
6140
6141 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
6142
6143 * a-stunau.ads: Minor comment correction
6144
6145 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
6146 etc.
6147 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
6148 (Check_RPC): Update to match changes in expanded code.
6149 Clean up unused entity.
6150
6151 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
6152 was not taken into account.
6153 This includes proper initialization with Normalize_Scalars.
6154 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
6155 normalize scalars cases (particularly the latter) to do a better job
6156 of finding invalid representations.
6157
6158 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
6159
6160 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
6161 used
6162
6163 * exp_dist.adb: Add support for wide wide character type
6164 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
6165 private part, generate stub bodies at the end of the private part,
6166 not the visible part.
6167 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
6168 PolyORB support.
6169 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
6170 generic wrapper to execute final processing after completing the
6171 expansion of the RPC receiver for an RACW.
6172
6173 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
6174 packages and attributes.
6175 (Preset_Names): Addition of the new reserved words of Ada 2005,
6176 that is interface, overriding and synchronized.
6177 (Get_Pragma_Id): Give support to the use of the new reserved word
6178 "interface" as a pragma name.
6179 (Is_Pragma_Name): Give support to the use of the new reserved word
6180 "interface" as a pragma name.
6181 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
6182 attribute implementation.
6183
6184 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
6185 checks to entities that are output parameters of Asm operations.
6186 Handle the Stream_Size attribute.
6187 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
6188
6189 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
6190
6191 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
6192 for second parameter being 0.0.
6193 Add support for wide wide character type.
6194 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
6195
6196 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
6197 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
6198 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
6199 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
6200 for wide wide character cases.
6201
6202 * cstand.adb: Create entities for Wide_Wide_Character and
6203 Wide_Wide_String.
6204
6205 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
6206 accordance with AI-258.
6207 Add new declarations for 16/32 bit C character types (Part of AI285)
6208
6209 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
6210 (Obsolescent_Warning): New field
6211 (Rep_Clause): New local subprogram used to share code. Returns the rep
6212 clause for which the name is given in parameter.
6213 (Has_Stream_Size_Clause): New routine.
6214 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
6215 (Address_Clause): Implementation is now using Rep_Clause.
6216 (Alignment_Clause): Idem.
6217 (Size_Clause): Idem.
6218
6219 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
6220 entity in non-Ada 2005 mode and generate warning.
6221
6222 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
6223 (Prag): Code cleanup. Remove old gnat pragma "overriding"
6224
6225 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
6226 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
6227 on the named unit if the pragma is not in the current compilation unit,
6228 so that elaboration calls in the current unit can set up an elaboration
6229 dependency on the named unit, as needed.
6230 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
6231 subprogram as well as for subprograms declared within a package.
6232 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
6233 pragma overriding.
6234
6235 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
6236 to z) to avoid some instances of duplication for Wide_Wide packages.
6237
6238 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
6239 characters.
6240
6241 * scn.adb: Char_Literal_Value field is now a Uint
6242
6243 * scng.adb: Significant rewrite to handle new Ada 2005 features
6244 allowing wide and wide wide characters in program text, e.g. for
6245 identifiers, as described in AI-285.
6246 (Set_Reserved): New procedure, makes setting up keywords cleaner.
6247 (Initialize_Scanner): Register the new reserved words of Ada 2005.
6248 (Scan): Give support to the new reserved words.
6249
6250 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
6251 warning notifying that interface, overriding, and synchronized are
6252 new reserved words.
6253 (P_Pragma): Allow the use of the new reserved word "interface" as
6254 a pragma name.
6255
6256 * gnatls.adb, gnatbind.adb,
6257 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
6258 identifiers named "interface" to "SAL_Interface".
6259
6260 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
6261 (Structured Exception handling).
6262 (Gen_Main_C): Idem.
6263
a1286ef5 6264 * bindgen.adb:
fc5a191d
AC
6265 (Gen_Main_Ada): Set the default exit code if specified.
6266 (Gen_Main_C): Likewise.
6267 Part of *DC20-006.
6268 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
6269 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
6270
6271 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
6272 new -Xnnn switch.
6273
6274 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
6275 has a collision with the new Ada 2005 "interface" reserved word.
6276
6277 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
6278 generate a warning notifying that interface, overriding, and
6279 synchronized are new reserved words.
6280
6281 * scans.ads (Token_Type): Addition of the tokens corresponding to the
6282 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
6283 and Tok_Synchronized.
6284
6285 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
6286 "dispatching" rather than "primitive" operations, since dispatching
6287 calls are now allowed to abstract formal subprograms (which are not
6288 primitive).
6289 Char_Literal_Value field is now a Uint
6290 (Resolve_Slice): If the prefix is an access to an unconstrained array,
6291 compute the actual subtype of the designated object to impose the proper
6292 index constraints.
6293 (Resolve_Selected_Component): Do not insert an access check if the
6294 prefix is an access type: such a node is expanded into an explicit
6295 dereference, on which the access check is performed anyway. Removes
6296 expensive duplicate checks.
6297 (Resolve_Call): Use new flag Is_Obsolescent and field
6298 Obsolescent_Warning so that pragma Obsolescent works on library
6299 subprograms.
6300 Add support for wide wide character type
6301 (Resolve_Allocator): Replace the error message on wrong null-exclusion
6302 value by a warning message.
6303 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
6304 as fixed-point, and one of the operands is non-static and universal, it
6305 can only be an illegal exponentiation operation, in which case there is
6306 no real value to retrieve.
6307
6308 * exp_strm.adb: Add support for wide wide character type
6309 (Build_Elementary_Input_Call): Compute the size of the stream element by
6310 querying the rep chain to find the Stream_Attribute attribute value.
6311 (Build_Elementary_Write_Call): Ditto.
6312
6313 * sem_aggr.adb: Char_Literal_Value field is now a Uint
6314 Add support for wide wide character type
6315 Replace the error messages on wrong null-exclusion value by warnings
6316 as described in Ada 2005.
6317 (Resolve_Extension_Aggregate): Document the fact that the error
6318 message on class-wide expressions in extensions aggregates.
6319
6320 * sem_case.adb: Add support for wide wide character type
6321
6322 * sem_ch13.adb: Add support for wide wide character type
6323 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
6324
6325 * sem_ch3.adb: Add support for wide wide character type
6326 (Process_Subtype): If constraint is illegal for the type, set Ekind of
6327 now-useless Itype, to prevent cascaded errors on a compiler built
6328 without -gnatp.
6329
6330 * sem_ch8.adb: Add with and use of Sem_Disp.
6331 (Analyze_Subprogram_Renaming): Replace unclean uses of
6332 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
6333 of Corresponding_Spec to Empty).
6334 (Attribute_Renaming): Replace use of Corresponding_Spec with
6335 Corresponding_ Formal_Spec and simplify condition.
6336 (Use_One_Package): Check that scope of homonym of identifier is defined,
6337 before checking whether it is a wrapper package.
6338 Add support for wide wide character type
6339
6340 * sem_eval.adb: Add support for wide wide character type.
6341 (Eval_Arithmetic_Op): Check for compile time known signed integer
6342 overflow in the non-static case.
6343 (Subtypes_Statically_Match): A formal scalar type and its base type do
6344 not statically match.
6345
6346 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
6347 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
6348 subtype).
6349 (Unit_Declaration_Node): Ditto.
6350 (Is_Variable_Prefix): For the case of an indexed component whose prefix
6351 has a packed array type, the prefix has been rewritten into a type
6352 conversion. Determine variable-ness from the converted expression.
6353 Handle wide wide character cases.
6354
6355 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
6356
6357 * stringt.ads, stringt.adb: Handle full UTF-32 range.
6358 Remove ["0A"] from comment, since it can look like a line terminator.
6359 Currently we don't permit this, but this is under discussion by the
6360 ARG, and it is easy enough to use a different example.
6361
6362 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
6363 handling UTF-32 encoding for wide wide character.
6364 Implement new brackets coding ["hhhhhhhh"]
6365 Add UTF-8 encodings for full UTF-32 range
6366
6367 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
6368
6369 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
6370 bit range Add full UTF-32 support.
6371 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
6372 notify that constraint error will be raised at run-time
6373 because a null value is assigned to a null-excluding object.
6374 Remove some obsolete declarations and make Char_Code
6375 unsigned.
6376
6377 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
6378 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
6379 Rcheck subprograms.
6380
6381 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
6382 wrong null-exclusion value by a warning message.
6383 (Enable_Range_Check): Do range check if the prefix is an
6384 explicit dereference whose designated object is an unconstrained array.
6385 Current algorithm for removing duplicate checks is over-eager in this
6386 case.
6387
6388 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
6389 null-exclusion value by a warning message
6390
6391 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
6392 completely. Add support for Uint2 field
6393
6394 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
6395 exp_prag.adb: Char_Literal_Value field is now a Uint.
6396
6397 * exp_util.adb (Insert_Actions): Replace
6398 N_Formal_Subprogram_Declaration by
6399 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
6400 Char_Literal_Value field is now a Uint.
6401
6402 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
6403 defined for subprogram renaming declarations. When set, the field
6404 indicates the defining entity of a corresponding formal subprogram
6405 when the renaming corresponds to a formal subprogram association in an
6406 instantiation.
6407 (Set_Corresponding_Formal_Spec): New procedure to return
6408 Corresponding_Formal_Spec field.
6409 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
6410 (which is now a subtype).
6411 Char_Literal_Value field is now a Uint
6412
6413 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
6414 pointer to the base of the dispatch table.
6415 Minor changes to comments.
6416 (Controlling_Type): New function for determining the tagged type
6417 associated with a tagged primitive subprogram.
6418 (Expand_Dispatching_Call): Add support for a controlling actual that is
6419 directly a value of type Ada.Tag rather than a tagged object.
6420
6421 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
6422 describing the new layout.
6423 (Dispatch_Table): The expander computes the actual array size, allocates
6424 the Dispatch_Table record accordingly, and generates code that displaces
6425 the base of the record after the Typeinfo_Ptr component. The access to
6426 these components is done by means of local functions.
6427 (Offset_To_Top): New function.
6428 (Typeinfo_Ptr): New function.
6429 (Get_TSD): Modified to access the new position of the TSD.
6430 (Set_TSD): Modified to save the TSD in its new position.
6431
6432 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
6433 case of formal abstract subprograms. Add check and message for -gnat05.
6434 Update comments.
6435
6436 * sem_ch12.adb: Add with and use for Sem_Disp.
6437 (Analyze_Associations): Minor change from "=" to "in" for use of
6438 N_Formal_Subtype_Declaration (which is now a subtype).
6439 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
6440 N_Formal_Subtype_Declaration (which is now a subtype).
6441 (Analyze_Formal_Subprogram): Add handling for
6442 N_Formal_Abstract_Subprogram, marking the formal as abstract and
6443 dispatching, setting the controlling status of the formal parameters
6444 and result, and issuing an error if there is no controlling type for
6445 the formal subprogram.
6446 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
6447 which is an unclean use of that field, we set the new field
6448 Corresponding_Formal_Spec to make the formal subprogram available to
6449 processing in Analyze_Subprogram_Declaration.
6450 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
6451 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
6452 Constrained, so that it is is does not statically match its anonymous
6453 base type.
6454
6455 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
6456 abstract formal subprograms in error check for functions returning
6457 abstract types. Set scope of new designator for
6458 a parameterless subprogram, so that it is available when checking the
6459 body for nested subprograms, before full analysis of said body.
6460 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
6461 subprogram only if inner one comes from source.
6462 (Analyze_Function_Call): If the call is given in object notation, the
6463 analysis of the name rewrites the node and analyzes it with the proper
6464 argument list. After analyzing the name, if the call has been rewritten
6465 and the result type is set, no further analysis is needed.
6466 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
6467 mark in function specification, in a context where the formals are
6468 visible and hide outer homographs.
6469
6470 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
6471 as the tagged type for the cases of abstract formal subprograms and
6472 renamings of those. Clean up spec comments.
6473 (Check_Dispatching_Context): Add error message to indicate "abstract
6474 procedure", covering the case of a call to a formal abstract procedure
6475 that has statically tagged operands.
6476 (Check_Dispatching_Call): Check for the case of an actual given by
6477 a tag-indeterminate function call whose type is an ancestor of the
6478 containing call's associated tagged type. This situation can occur
6479 for inherited primitives with function defaults. In this case we
6480 use the tagged type's tag directly as the controlling argument for
6481 the calls.
6482 (Expand_Call): Name change on call to Expand_Dispatch_Call.
6483
6484 * sprint.adb (Sprint_Node_Actual): Split
6485 N_Formal_Subprogram_Declaration into two alternatives for the new
6486 cases N_Formal_Abstract_Subprogram_Declaration and
6487 N_Formal_Concrete_Subprogram_Declaration.
6488 Char_Literal_Value field is now a Uint.
6489
6490 * trans.c: Get rid of junk Uint2 reference.
6491 Char_Literal_Value field is now a Uint.
6492 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
6493 (gigi): Correct third arg to gimplify_body.
6494
6495 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
6496 (TYPE_LANG_FLAG_0): Check for record or union.
6497
6498 * treepr.adb: Char_Literal_Value field is now a Uint
6499
6500 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
6501 UI_From_CC.
6502
6503 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
6504 Add full UTF-32 support
6505 Char_Code is now 32 bits
6506
6507 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
6508 wide character UTF_32 line terminators.
6509 Initialize Main_Source_File to avoid error when no main
6510 source is loaded.
6511
6512 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
6513 (Main_Source_File) when no main source has been loaded, to avoid
6514 potential crash.
6515
65162005-02-09 Robert Dewar <dewar@adacore.com>
6517
a1286ef5
ZW
6518 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
6519 Fix name of Set routine
fc5a191d
AC
6520
6521 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
6522 fixed packages.
6523
6524 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
6525 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
6526 fixed packages
6527
6528 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
6529 forms of Get_Line subprograms for AI-301.
6530
6531 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
6532 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
6533 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
6534 a-stwima.ads: Minor reformatting.
6535
65362005-02-09 Doug Rupp <rupp@adacore.com>
6537 Thomas Quinot <quinot@adacore.com>
6538
6539 * adaint.c, adaint.h
6540 [VMS] (to_ptr32): New function.
6541 (MAYBE_TO_PTR32): New macro.
6542 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
6543 for pointer size.
6544 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
6545 [VMS] (#define fork()): Remove since unneccessary.
6546 (__gnat_set_close_on_exec): New routine to support
6547 GNAT.OS_Lib.Set_Close_On_Exec.
6548
6549 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
6550 the parent side as close-on-exec so that they are not inherited by the
6551 child.
6552
6553 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
6554 set or clear the FD_CLOEXEC flag on a file descriptor.
6555
65562005-02-09 Eric Botcazou <ebotcazou@adacore.com>
6557 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6558
6559 Fix for c330001 - PR ada/19386
6560
a1286ef5 6561 * decl.c:
fc5a191d
AC
6562 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
6563 on the field if Pragma Component_Alignment (Storage_Unit).
6564 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
6565 side-effects as if it were a constant; also make SAVE_EXPR to protect
6566 side-effects.
6567 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
6568 UNION_TYPE.
6569 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
6570 (components_to_record): Test it.
6571 Fix improper usage of REFERENCE_CLASS_P.
6572
6573 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
6574 RECORD_TYPE.
6575
6576 * utils2.c: Minor reformatting.
6577
6578 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
6579 handle other cases like RECORD_TYPE.
6580
6581 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
6582
65832005-02-09 Ed Schonberg <schonberg@adacore.com>
6584
6585 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
6586 component of an array of arrays in an assignment context, and the
6587 aggregate has component associations that require sliding on
6588 assignment, force reanalysis of the aggregate to generate a temporary
6589 before the assignment.
6590 (Must_Slide): Make global to the package, for use in Gen_Assign.
6591
65922005-02-09 Ed Schonberg <schonberg@adacore.com>
6593
6594 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
6595 unchecked union with no inferable discriminants, return a
6596 Raise_Program_Error node, rather than inserting it at the point the
6597 type is frozen.
6598 (Expand_Record_Equality, Component_Equality): Handle properly the case
6599 where some subcomponent is an unchecked union whose generated equality
6600 code raises program error.
6601
66022005-02-09 Doug Rupp <rupp@adacore.com>
6603
6604 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
6605 [VMS] (#define exit hack): Remove.
6606
66072005-02-09 Pascal Obry <obry@adacore.com>
6608 Arnaud Charlet <charlet@adacore.com>
6609
6610 * init.c (__gnat_initialize): Add a new parameter eh which contains the
6611 address of the exception registration. The Win32 version of this
6612 routine calls __gnat_install_SEH_handler() to initialize the SEH
6613 (Structured Exception Handling) handler.
6614 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
6615 SEH (Structured Exception Handling) now.
6616 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
6617 (__gnat_initialize for ppc-vxworks): Adjust comments and the
6618 preprocessor condition protecting the call to the extra eh setup
6619 subprogram, which is only available for the ppc target.
6620 (__gnat_clear_exception_count): replaced reference to
6621 variable taskIdCurrent by call to taskIdSelf(), cleaner.
6622
6623 * seh_init.c: New file.
6624
6625 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
6626 (GNATBIND_OBJS): Idem.
6627
6628 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
6629 routine takes a new parameter (a pointer to the exception registration
6630 for the SEH (Structured Exception Handling) support.
6631
6632 * raise.h: (__gnat_install_SEH_handler): New prototype.
6633 Update copyright notice.
6634
6635 * s-tassta.adb (Task_Wrapper): Declare the exception registration
6636 record and initialize it by calling __gnat_install_SEH_handler.
6637
66382005-02-09 Vincent Celier <celier@adacore.com>
6639
6640 * make.adb (Gnatmake): Do not fail when the main project has no object
6641 directory.
6642
66432005-02-09 Doug Rupp <rupp@adacore.com>
6644
6645 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
6646 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
6647 [VMS]: Add translations for g-enblsp.adb.
6648
6649 * s-asthan-vms.adb: Removed.
6650 * s-asthan-vms-alpha.adb: Added.
6651
66522005-02-09 Pascal Obry <obry@adacore.com>
6653
6654 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
6655 (LIBGNAT_OBJS): Add seh_init.o.
6656
66572005-02-09 Arnaud Charlet <charlet@adacore.com>
6658
6659 PR ada/16592
6660
6661 * Makefile.in: Link all gnat tools with -static-libgcc, since
6662 -shared-libgcc is now used by default on some systems (e.g. linux with
6663 recent binutils).
6664 Remove references to Makefile.prolog/generic, no longer used.
6665
66662005-02-09 Vincent Celier <celier@adacore.com>
6667
6668 * prj-makr.adb (Process_Directory): Put file name in canonical case
6669 before matching against the patterns.
6670 If gnatname has been invoked as <prefix>-gnatname
6671 then invoke the compiler as <prefix>-gcc, not just "gcc".
6672
66732005-02-09 Ed Schonberg <schonberg@adacore.com>
6674
6675 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
6676 with expansion disabled. The actual subtype is needed among other
6677 places when the selected component appears in the context of a loop
6678 bound, and denotes a packed array.
6679 (Operator_Check): Always use the first subtype in the
6680 error message, to avoid the appearance of internal base types.
6681 (Transform_Object_Operation): Copy each actual in full
6682 to the parameter associations of the constructed call, rather than
6683 using the shallow copy mechanism of New_Copy_List. This ensures that
6684 the chaining of named associations is done properly.
6685 (Complete_Object_Operation): Rewrite node, rather than
6686 replacing it, so that we can trace back to the original selected
6687 component.
6688
6689 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
6690 and calls that use object notation, if the called function is not
6691 declared in a withed unit, place the elaboration constraint on the
6692 unit in the context that makes the function accessible.
6693 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
6694 imposes an elaboration constraint between two packages.
6695
66962005-02-09 Ed Schonberg <schonberg@adacore.com>
6697
6698 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
6699 views of a private type after handling its private dependents, to
6700 maintain proper stack discipline between entry and exit from the
6701 package.
6702
67032005-02-09 Cyrille Comar <comar@adacore.com>
6704
6705 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
6706 Minor reformatting.
6707
67082005-02-09 Arnaud Charlet <charlet@adacore.com>
6709
6710 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
6711 fields for foreign threads.
6712
67132005-02-09 Doug Rupp <rupp@adacore.com>
6714
6715 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
6716 recursion warnings when compiled with -gnatdm.
6717
67182005-02-09 Robert Dewar <dewar@adacore.com>
6719
6720 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
6721 Slight fix to documentation of -gnaty with no parameters
6722
6723 * xr_tabls.ads: Add ??? comment for missing overall comment
6724
6725 * xsinfo.adb: Make default file name be sinfo.h, since this is what
6726 we now use by default.
6727
6728 * xsnames.adb: Adjust end of file test to look for five space followed
6729 by '#' instead of six spaces. The format of xsnames.adb was modified
6730 in the last update.
6731
6732 * a-numeri.ads: Add reference to AI-388 for greek letter pi
6733 identifier.
6734
6735 * clean.adb: Minor reformatting.
6736
6737 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
6738 gnatname.adb: Minor reformatting
6739 Add 2005 to copyright output when utility is run
6740
6741 * csets.adb: Eliminate obsolete comment
6742
6743 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
6744 Update comments.
6745
6746 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
6747
67482005-02-09 Sergey Rybin <rybin@adacore.com>
6749
6750 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
6751 the difference between compact and incompact layout and add the record
6752 representation clause to the example illustrating different layouts.
6753 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
6754 component clauses").
6755
67562005-02-09 Florian Villoing <villoing@adacore.com>
6757
6758 * gnat_ugn.texi: Fix typos.
6759 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
6760 @file.
6761 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
6762 in the generated documentation.
6763
67642005-02-09 Arnaud Charlet <charlet@adacore.com>
6765
6766 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
6767 longer supported.
6768 Update linker wrapper when linking with non GNU C++.
6769
67702005-02-09 Pascal Obry <obry@adacore.com>
6771
a1286ef5 6772 * gnat_ugn.texi:
fc5a191d
AC
6773 Document the procedure to debug the DllMain routine on Windows.
6774 Add note about -funwind-tables and mixed Ada and C/C++ programming in
6775 ZCX mode.
6776 Document new BIND qualifer /RETURN_CODES=VMS.
6777
67782005-02-09 Ben Brosgol <brosgol@adacore.com>
6779
6780 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6781 Edited gnatmetric chapter
6782
67832005-02-09 Robert Dewar <dewar@adacore.com>
6784
a1286ef5 6785 * gnat_rm.texi:
fc5a191d
AC
6786 Changes to document new wide wide character support
6787 For AI-285
6788 Update documentation on Normalize_Scalars and Initialize_Scalars
6789
67902005-02-09 Pascal Obry <obry@adacore.com>
6791
6792 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
6793
67942005-02-09 Jose Ruiz <ruiz@adacore.com>
6795
6796 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
6797 from the VxWorks kernel) that is needed for getting the active
6798 priority of the different tasks.
6799
6800 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
6801 Use a pragma Elaborate_Body in the spec file instead.
6802 Noticed by code reading.
6803
68042005-02-09 Thomas Quinot <quinot@adacore.com>
6805
6806 * exp_util.ads: Minor correction in comment.
6807
68082005-02-09 Arnaud Charlet <charlet@adacore.com>
6809
6810 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
6811 since this procedure is now too complex to be worth inlining.
6812
c6a912da
RH
68132005-02-09 Richard Henderson <rth@redhat.com>
6814
6815 * utils.c (gnat_define_builtin): Remove.
6816 (gnat_install_builtins): Use build_common_builtin_nodes.
6817
4c2d6a70
AC
68182005-02-09 Arnaud Charlet <charlet@adacore.com>
6819
6820 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
6821 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
6822 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
6823 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
6824 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
6825 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
6826 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
6827 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
6828 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
6829 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
6830 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
6831 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
6832 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
6833 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
6834 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
6835 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
6836 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
6837 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
6838 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
6839 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
6840 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
6841 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
6842 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
6843 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
6844 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
6845 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
6846 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
6847 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
6848 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
6849 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
6850 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
6851 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
6852 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
6853 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
6854 library.
6855
74a22497
LG
68562005-01-27 Laurent GUERBY <laurent@guerby.net>
6857
6858 * Makefile.in: Fix a-intnam.ads from previous commit,
6859 add 2005 to copyright.
6860 * a-intman-rtems.ads: Renamed to...
6861 * a-intnam-rtems.ads:
6862
7d921ba4
LG
68632005-01-27 Laurent GUERBY <laurent@guerby.net>
6864
6865 * Makefile.in: Rename GNAT RTEMS specific files.
a1286ef5 6866 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
da8f5fd9 6867 5rosinte.ads, 5rparame.adb: Replaced by files below.
7d921ba4
LG
6868 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
6869 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
6870
9011d4bb
JS
68712005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
6872 Laurent GUERBY <laurent@guerby.net>
6873
6874 PR ada/19488
6875 * 5rosinte.ads: Add No_Key constant.
a1286ef5
ZW
6876 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
6877 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
9011d4bb 6878
d487e3c1
LG
68792005-01-26 Laurent GUERBY <laurent@guerby.net>
6880
6881 PR ada/19414
6882 * i-cobol.adb (Valid_Numeric): Handle zero length case.
a1286ef5 6883
3f38e738
RH
68842005-01-20 Richard Henderson <rth@redhat.com>
6885
6886 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
6887 a-intnam-linux.ads and system-linux-alpha.ads.
6888 * a-intnam-linux-alpha.ads: Remove file.
6889 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
6890 * system-linux-alpha.ads: New file.
6891
4d960a7e
JJ
68922005-01-18 Jakub Jelinek <jakub@redhat.com>
6893
6894 PR ada/13470
6895 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
6896 set to the new string.
6897
b4c6a3a2
TM
68982005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
6899
6900 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
6901 to True.
6902
8d5e1df2
RH
69032005-01-18 Richard Henderson <rth@redhat.com>
6904
6905 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
6906 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
6907 for alpha-linux.
6908 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
6909
03eef11c
AP
69102005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
6911
6912 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
6913 (GCC_ZCX_Support): Likewise.
6914
bc7566ca
BB
69152005-01-11 Bastian Blank <waldi@debian.org>
6916
6917 * system-linux-s390.ads: Define Preallocated_Stacks.
6918 * system-linux-s390x.ads: Likewise.
6919
e550819c
AC
69202005-01-04 Arnaud Charlet <charlet@adacore.com>
6921
6922 * gnat_ugn.texi: Fix texi errors with null variables.
6923
376a74d4
AC
69242005-01-03 Thomas Quinot <quinot@adacore.com>
6925
6926 * gen-soccon.c: New utility program to generate g-soccon.ads
6927 automatically.
6928
6929 * socket.c, gsocket.h: Split inclusion of system header files into a
6930 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
6931
6932 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
6933 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
6934 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
6935 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
6936 should not be edited by hand anymore, but should be regenerated using
6937 gen-soccon.
6938
69392005-01-03 Robert Dewar <dewar@adacore.com>
6940 Ed Schonberg <schonberg@adacore.com>
6941 Vincent Celier <celier@adacore.com>
6942
6943 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
6944 on/off, since this is an obsolescent feature, for which we now generate
6945 a warning.
6946
6947 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
6948 warning mode is set and obsolescent usage of this attribute occurs.
6949 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
6950 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
6951 predates, and partly motivates, the adoption of the AI.
6952 Implement new Ada 2005 attribute Mod
6953
6954 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
6955 attribute Mod.
6956
6957 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
6958
6959 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
6960 pragma restrictions.
6961 New entry for Ada 2005 attribute Mod.
6962
a1286ef5 6963 * par-prag.adb:
376a74d4
AC
6964 Add recognition of new pragma Restrictions No_Dependence
6965 Recognize restriction No_Obsolescent_Features at parse time
6966
6967 * bcheck.adb: Add circuitry for checking for consistency of
6968 No_Dependence restrictions.
6969
6970 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
6971 restrictions.
6972
6973 * restrict.ads, restrict.adb: Add subprograms to deal with
6974 No_Dependence restrictions.
6975
6976 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
6977 restrictions.
6978
6979 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
6980 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
6981
6982 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
6983 dummy parameter to scng instantiation.
6984 Needed for new restriction No_Obsolescent_Features
6985
6986 * scn.adb: (Obsolescent_Check): New procedure
6987 Needed for new restriction No_Obsolescent_Features
6988
6989 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
6990 specified by AI-285, needed for implementation of AI-388 (adding greek
6991 pi to Ada.Numerics).
6992 Add new generic formal to scng, needed for new restriction
6993 No_Obsolescent_Features.
6994
6995 * s-rident.ads: Add new restriction No_Obsolescent_Features.
6996
6997 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
6998 restrictions lines.
6999 (Scan_ALI): When finding an unexpected character on an R line, raise
7000 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
7001 Ignore_Errors is True, default restrictions are set and scanning of the
7002 ALI file continues with the next line. Also, when Bad_R_Line is raised
7003 and Ignore_Errors is True, skip to the end of le line.
7004
7005 * sem_ch10.adb: Check that explicit with's do not violate
7006 No_Dependence restrictions.
7007 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
7008 illegal context clauses containing child units of instance.
7009
7010 * sem_prag.adb: Processing and checking for new No_Dependence
7011 restrictions.
7012 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
7013 analyze and check the External argument.
7014
7015 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
7016
70172005-01-03 Robert Dewar <dewar@adacore.com>
7018
7019 * atree.adb: Add a fifth component to entities
7020 This allows us to add 32 flags and four new fields
7021
7022 * atree.ads: Add a fifth component to entities
7023 This allows us to add 32 flags and four new fields
7024
7025 * einfo.ads, einfo.adb: Document new fields and new flags now available
7026 Add routines for printing new fields
7027
7028 * treepr.adb: Call routines to print out additional fields if present
7029
70302005-01-03 Arnaud Charlet <charlet@adacore.com>
7031
7032 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
7033 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
7034
7035 * Makefile.in: Add support to build shared Ada libraries on solaris x86
7036 Remove gpr2make, replaced by gprmake.
7037 Remove references to gnatmem and libaddr2line.
7038 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
7039 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
7040 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
7041 a-numaux-darwin.ads and a-numaux-darwin.adb
7042 Enable mlib-tgt-lynxos.adb on lynxos.
7043
7044 * Make-lang.in: Remove rules for gpr2make.
7045 When generating sdefault.adb, do not call Relocate_Path
7046 on S3 for function Target_Name, as it is not a path.
7047 Remove references to gnatmem and libaddr2line.
7048
7049 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
7050 files.
7051
70522005-01-03 Samuel Tardieu <tardieu@adacore.com>
7053
7054 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
7055 address is incompatible with its base type alignment constraints when
7056 this can be decided statically.
7057
70582005-01-03 Olivier Hainque <hainque@adacore.com>
7059
7060 * decl.c (compatible_signatures_p): New function. The intended purpose
7061 is to check if two function signatures for a call-site and a callee are
7062 compatible enough for the call to be valid. The underlying purpose is
7063 to check if a call to a mapped builtin is using the right interface.
7064 The current code actually does not check antyhing - this a placeholder
7065 for future refinements.
7066 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
7067 builtin calls for convention Intrinsic.
7068
7069 * gigi.h (builtin_decl_for): Declare (new function).
7070
7071 * utils.c (gnat_install_builtins): Install the target specific builtins.
7072 (builtin_decl_for): New function, provide a dummy body for now.
7073
70742005-01-03 Geert Bosch <bosch@adacore.com>
7075
7076 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
7077 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
7078 (Pred): Implement in terms of Succ.
a1286ef5 7079
376a74d4
AC
7080 * trans.c (convert_with_check): Reimplement conversion of float to
7081 integer.
7082
70832005-01-03 Ed Schonberg <schonberg@adacore.com>
7084 Vincent Celier <celier@adacore.com>
7085
7086 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
7087 bounds can be negative, and must be declared Int, not Nat.
7088
7089 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
7090 array is checked after using the index in the array.
7091
7092 * makegpr.adb (Add_Switches): Check if there is a package for the
7093 processor. If there is no package, do not look for switches.
7094
70952005-01-03 Ed Schonberg <schonberg@adacore.com>
7096
7097 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
7098 generation of predefined stream operations (specs and bodies) should
7099 proceed. Under various restrictions these subprograms must not be
7100 generated.
7101
71022005-01-03 Thomas Quinot <quinot@adacore.com>
7103
a1286ef5 7104 * exp_dist.adb:
376a74d4
AC
7105 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
7106 amount of PCS-specific code in RACW stubs generation.
7107 (Copy_Specification): Set Etype on copied formal parameter entities, as
7108 this information is needed for PolyORB stubs generation.
7109 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
7110 variable Dynamic_Async.
7111 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
7112 (Build_RPC_Receiver_Specification): Make generic again, as recent
7113 changes have allowed RPC receivers to have the same profile for both
7114 variants of the PCS.
7115 Reorganise RPC receiver generation to reduce differences between the
7116 structure of GARLIC and PolyORB RPC receivers.
7117 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
7118 PCS-specific.
7119 Simplify elaboration code for RCI packages.
7120
7121 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
7122 generation to reduce differences between the structure of GARLIC and
7123 PolyORB RPC receivers.
7124
7125 * s-stratt.adb: Fix typo in comment.
7126
71272005-01-03 Thomas Quinot <quinot@adacore.com>
7128
7129 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
7130 copied from Make_Init_Call).
7131
7132 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
7133 reads and assignments on a temporary variable declared with appropriate
7134 discriminants.
7135
71362005-01-03 Robert Dewar <dewar@adacore.com>
7137
7138 * i-c.adb (To_C): Raise CE if string is null and Append_Null
7139
71402005-01-03 Robert Dewar <dewar@adacore.com>
7141
7142 * i-cstrin.adb (Update): Do not append a null in form called with a
7143 String. This avoids unintended behavior.
7144
71452005-01-03 Arnaud Charlet <charlet@adacore.com>
7146
7147 PR ada/17527
7148 * init.c: Fix warnings on Free BSD section.
7149
71502005-01-03 Arnaud Charlet <charlet@adacore.com>
7151
7152 PR ada/16949
7153 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
7154 xsinfo.adb).
7155
71562005-01-03 Vincent Celier <celier@adacore.com>
7157
7158 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
7159 libraries when Unique_Compile is True (-u switch).
7160 (Gnatmake): ditto.
7161
71622005-01-03 Robert Dewar <dewar@adacore.com>
7163
7164 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
7165 upper case letter or underscore after W, as allowed by spec.
7166
71672005-01-03 Arnaud Charlet <charlet@adacore.com>
7168
7169 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
7170 darwin port by using proper type definitions from header files.
7171 Use SIGTERM instead of SIGABRT for SIGADAABORT.
7172
71732005-01-03 Robert Dewar <dewar@adacore.com>
7174
7175 * par.adb: Enhance error message handling for configuration file
7176 pragmas.
7177
71782005-01-03 Robert Dewar <dewar@adacore.com>
7179
7180 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
7181 removed during the previous update (test properly for case of dividing
7182 largest negative number by -1, which generates overflow).
7183
71842005-01-03 Ed Schonberg <schonberg@adacore.com>
7185 Sergey Rybin <rybin@adacore.com>
7186
7187 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
7188 to use as the defining identifier for a formal package.
7189 (Remove_Parent): If the instance takes place within (an instance of)
7190 a sibling, preserve private declarations of common parent.
7191
71922005-01-03 Ed Schonberg <schonberg@adacore.com>
7193
7194 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
7195 to determine whether one of the operands is a fixed-point type for
7196 which a user-defined multiplication or division operation might be
7197 defined.
7198
7199 * sem_res.adb (Valid_Conversion): The legality rules for conversions
7200 of access types are symmetric in Ada 2005: either designated type can
7201 be unconstrained.
7202
72032005-01-03 Vincent Celier <celier@adacore.com>
7204
7205 * s-fileio.adb (Temp_File_Record): Change length of string component
7206 Name from L_tmpnam + 1 to max_path_len + 1.
7207
72082005-01-03 Arnaud Charlet <charlet@adacore.com>
7209
7210 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
7211 Self_Id.Deferral_Level = 0.
7212 (Do_Pending_Action): Move this function to the spec.
7213
7214 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
7215 Do_Pending_Action explicitely when needed, in case we're using
7216 No_Abort restrictions.
7217
7218 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
7219 deferral level since it will not get changed by the generated code.
7220 Keeping a default value of 1 would prevent some operations (e.g.
7221 select or delay) to proceed successfully.
7222
72232005-01-03 Ben Brosgol <brosgol@adacore.com>
7224 Robert Dewar <dewar@adacore.com>
7225 Cyrille Comar <comar@adacore.com>
7226
7227 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
7228 porting guide chapter (vms version).
7229 Revised doc title (removed "for native platforms") and subtitle.
7230 Add discussion on warning flag for obsolescent features. First we
7231 note that it applies to obsolete GNAT features, which was previously
7232 omitted. Second we contrast the behavior with that of the new
7233 Ada 2005 AI-368 restriction No_Obsolescent_Features.
7234 Preliminary rewriting of GNAT & libraries chapter in order to take
7235 into account default project locations & new project manager
7236 capabilities.
7237
72382005-01-03 Robert Dewar <dewar@adacore.com>
7239
7240 * cstand.adb (Create_Operators): Clean up format and documentation of
7241 unary and binary operator result tables. No change in code, just
7242 reformatting and addition of comments.
7243
7244 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
7245 sem_ch2.adb: Minor reformatting
7246
7247 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
7248 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
7249 comments for Tree_Read and Tree_Write.
7250
72512005-01-03 Pascal Obry <obry@adacore.com>
7252
7253 * exp_attr.ads: Minor reformatting.
7254
72552005-01-03 Romain Berrendonner <berrendo@adacore.com>
7256
7257 * comperr.adb (Compiler_Abort): Add specialized message for GAP
7258 versions.
7259
72602005-01-03 Ed Schonberg <schonberg@adacore.com>
7261
7262 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
7263 whether the ancestor type is private, as may be the case with nested
7264 instantiations.
7265
15cd18b9
SS
72662004-12-30 Sohail Somani <sohail@sohailsomani.com>
7267
7268 PR ada/19128
7269 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
7270
2614034e 72712004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
15cd18b9 7272
2614034e
EB
7273 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
7274 * utils2.c (build_unary_op): Likewise.
7275
ad50bc8d
RH
72762004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7277
7278 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
7279
ed9c846c
RH
72802004-12-19 Richard Henderson <rth@redhat.com>
7281
7282 * trans.c (gigi): Update gimplify_body call.
7283
08f2586c
NS
72842004-12-09 Nathan Sidwell <nathan@codesourcery.com>
7285
7286 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
7287
180684eb
AC
72882004-12-07 Ed Falis <falis@adacore.com>
7289
7290 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
7291 current task being suspended.
7292
7293 * init.c (__gnat_clear_exception): added to reset VxWorks exception
7294 count.
7295 (__gnat_map_signal): removed test for current task being suspended.
7296
72972004-12-07 Gary Dismukes <dismukes@adacore.com>
7298
7299 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
7300 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
7301 targets (such as AAMP).
7302
73032004-12-07 Ed Schonberg <schonberg@adacore.com>
7304
7305 * atree.adb (Visit_Itype): Create a new name for the generated itype,
7306 because the back-end may otherwise treat it as a redefinition of the
7307 old symbol.
7308
73092004-12-07 Eric Botcazou <ebotcazou@adacore.com>
7310
7311 * back_end.adb (Scan_Back_End_Switches): Accept --param.
7312
7313 * lang-specs.h: Accept --param.
7314
73152004-12-07 Vincent Celier <celier@adacore.com>
7316
7317 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
7318 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
7319 Current_Body_Suffix => Ada_Body_Suffix).
7320 Take into account Externally_Built attribute.
7321
7322 * clean.adb (In_Extension_Chain): Always return False when one of the
7323 parameter is No_Project.
7324 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
7325 Ada_Language_Index).
7326 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
7327 Process_Languages for procedure Parse).
7328
7329 * gnatcmd.adb (Carg_Switches): New table.
7330 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
7331 Adapt to name changes in package Prj (Current_Spec_Suffix =>
7332 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
7333
7334 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
7335 Header_Num and function Hash are now declared in package Prj,
7336 not Prj.Com.
7337
7338 * prj.adb (Suffix_Of): New function.
7339 (Set (Suffix)): New procedure.
7340 (Hash): One function moved from Prj.Com
7341 (Is_Present, Language_Processing_Data_Of): New functions
7342 (Set): Two new procedures
7343 (Add_Language_Name, Display_Language_Name): New procedures
7344
7345 * prj.ads: (Suffix_Of): New function
7346 (Set (Suffix)): New procedure
7347 Add several types and tables for multi-language support.
7348 (Header_Num): Type moved from Prj.Com
7349 (Hash): Two functions moved from Prj.Com
7350 (Is_Present, Language_Processing_Data_Of): New functions
7351 (Set): Two new procedures
7352 (Add_Language_Name, Display_Language_Name): New procedures
7353 (Naming): Component name changes:
7354 Current_Spec_Suffix => Ada_Spec_Suffix,
7355 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
7356 Impl_Suffixes, Supp_Suffixes.
7357 (Project_Data): New components: Externally_Built, Supp_Languages,
7358 First_Language_Processing, Supp_Language_Processing, Default_Linker,
7359 Default_Linker_Path.
7360
7361 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
7362 new package Language_Processing with its attributes (Compiler_Driver,
7363 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
7364 Binder_Driver, Default_Linker).
7365
7366 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
7367 (Header_Num): Type moved to package Prj
7368
7369 * prj-env.adb: Adapt to name changes in package Prj
7370 (Current_Spec_Suffix => Ada_Spec_Suffix,
7371 Current_Body_Suffix => Ada_Body_Suffix).
7372
7373 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
7374 default to the project path, except the "-" is one of the directories
7375 in env var ADA_PROJECT_PATH.
7376 (Current_Project_Path): Global variable, replacing Project_Path
7377 that was in the body of Prj.Part.
7378 (Project_Path): New function
7379 (Set_Project_Path): New procedure
7380 Initialize Current_Project_Path during elaboration of the package
7381 Remove dependency on Prj.Com, no longer needed
7382
7383 * prj-ext.ads (Project_Path): New function
7384 (Set_Project_Path): New procedure
7385
7386 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
7387 suffix is defined for language <lang>.
7388 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
7389 accessing directly the components of Naming.
7390 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
7391 Reorganise of this package.
7392 Break procedure Check in several procedures.
7393
7394 * prj-nmsc.ads: Replace all procedures (Ada_Check,
7395 Other_Languages_Check and Language_Independent_Check) with a single
7396 procedure Check.
7397
7398 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
7399 Process_Languages, no longer needed.
7400
7401 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
7402 Current_Project_Path.
7403 Remove elaboration code, moved to the body of Prj.Ext
7404 Use new function Prj.Ext.Project_Path instead of old variable
7405 Project_Path.
7406 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
7407 When comparing with project paths on the stack, first put the resolved
7408 path in canonical case.
7409 (Parse_Single_Project): Set the path name of the project file in the
7410 tree to the normalized path.
7411
7412 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
7413 parameter Process_Languages, no longer needed.
7414 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
7415 Other_Languages_Check.
7416
7417 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
7418 to store the resolved canonical path of the project file.
7419 Remove dependency to Prj.Com, no longer needed
7420
7421 * prj-util.adb: Adapt to name changes in package Prj
7422 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
7423 Ada_Body_Suffix).
7424
7425 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
7426 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
7427 Externally_Built, Include_Option, Language_Processing.
7428
7429 * makegpr.adb: Numerous changes due to changes in packages
7430 Prj and Prj.Nmsc.
7431
7432 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
7433 default to the project path, except whe "-" is one of the directories
7434 in env var ADA_PROJECT_PATH.
7435 (Gnatls): In verbose mode, add the new section "Project Search Path:"
7436
74372004-12-07 Robert Dewar <dewar@adacore.com>
7438
7439 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
7440
7441 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
7442 set -gnatR3m mode.
7443
7444 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
7445 flag. No longer needed now that we handle this in gnat1drv.adb.
7446
7447 * repinfo.ads: Minor reformatting
7448
74492004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7450 Olivier Hainque <hainque@adacore.com>
7451 Eric Botcazou <ebotcazou@adacore.com>
7452
7453 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
7454 TYPE_SIZE_UNIT of result type if SIZE is not specified.
7455 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
7456 of a bitfield, which we know is useless and causes trouble because of
7457 alignment implications.
7458
7459 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
7460 BSS sections.
7461 (process_attributes): Clear DECL_COMMON again when a section attribute
7462 is present.
7463 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
7464 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
7465 (create_field_decl): Special case ADDRESSABLE negative to mean
7466 "no bitfield creation", to be used by make_aligning_type. Don't
7467 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
7468 fields claimed addressable still have to be bitfields. Use
7469 value_factor_p instead of a raw binop construction to check for the
7470 position's alignment.
7471
74722004-12-07 Geert Bosch <bosch@adacore.com>
7473
7474 * eval_fat.adb: Revert previous change.
7475
74762004-12-07 Thomas Quinot <quinot@adacore.com>
7477 Ed Schonberg <schonberg@adacore.com>
7478
7479 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
7480 with an implicit dereference as its prefix, use
7481 Insert_Explicit_Dereference instead of merely rewriting the prefix into
7482 an explicit dereference. This ensures that a reference to the original
7483 prefix is generated, if appropriate.
7484
7485 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
7486 dereference is rewritten to an explicit one, generate a reference to
7487 the entity denoted by its prefix using the original prefix node, so
7488 the dereference can be properly recorded as a read of the denoted
7489 access value, if appropriate.
7490
7491 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
7492 emitting 'assigned but never read' warning on a variable on the basis
7493 that it has an access type.
7494 (Check_References): Emit unreferenced warning when the scope is a
7495 subprogram body.
7496
74972004-12-07 Robert Dewar <dewar@adacore.com>
7498 Ed Schonberg <schonberg@adacore.com>
7499
7500 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
7501 intrinsic
7502
7503 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
7504 leaving call unchanged.
7505 This deals with the case where the pragma Import specified
7506 an external name, to be handled by the back end.
7507
7508 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
7509 subprogram which is Imported with convention Intrinsic if an
7510 External_Name argument is specified.
7511 (Process_Import_Or_Interface): Properly diagnose link name argument.
7512 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
7513 with Sem_Ch6.Cannot_Inline.
7514 (Process_Inline): Provide separate warning for inapplicable inline
7515 pragma.
7516 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
7517 treatment is uniform on different targets.
7518
75192004-12-07 Ed Schonberg <schonberg@adacore.com>
7520
7521 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
7522 construct is rewritten, preserve end label to permit source navigation.
7523
75242004-12-07 Thomas Quinot <quinot@adacore.com>
7525
7526 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
7527 Specific_Build_Stub_Target): New subprograms.
7528 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
7529 the PCS implementation used, using the above PCS-customized subprograms.
7530 Minor reformatting.
7531 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
7532 for generation of DSA code targeted to the PolyORB PCS.
7533 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
7534 implementation of the partition communication subsystem in ancillary
7535 subprograms.
7536 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
7537 PolyORB_Support.Build_Stub_Type): New subrograms containing the
7538 PCS-specific part of Add_Stub_Type.
7539 (Insert_Partition_Check): Use runtime library function to perform
7540 E.4(19) check.
7541
a1286ef5
ZW
7542 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
7543 (RE_Same_Partition): New entity, from s-parint.
180684eb 7544
a1286ef5 7545 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
180684eb
AC
7546
75472004-12-07 Gary Dismukes <dismukes@adacore.com>
7548
7549 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
7550 Output the copyright message on a separate line from the version
7551 message.
7552
75532004-12-07 Joel Brobecker <brobecker@adacore.com>
7554
7555 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
7556 compile-time warning.
7557
75582004-12-07 Robert Dewar <dewar@adacore.com>
7559
7560 * g-regpat.adb: (Match): Change a misuse of or to or else
7561
75622004-12-07 Ed Schonberg <schonberg@adacore.com>
7563
15cd18b9 7564 * lib-xref.adb:
180684eb
AC
7565 (Generate_Reference): Handle properly a reference to an entry formal,
7566 when an accept statement has a pragma Unreferenced for it.
7567
7568 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
7569 and the Has_Pragma_Unreferenced flag for each formal before analyzing
7570 the body, to ensure that warnings are properly emitted for each accept
7571 statement of a given task entry.
7572
75732004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
7574
7575 * Makefile.in: Add support for foreign threads on VMS.
7576
75772004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7578
7579 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
7580 Remove.
7581 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
7582
7583 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
7584
7585 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
7586 exception.
7587 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
7588
75892004-12-07 Robert Dewar <dewar@adacore.com>
7590
7591 * nlists.adb (Prepend_Debug): Remove parameters and nest within
7592 Prepend.
7593 (Remove_Next_Debug): Same fix
7594
7595 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
7596 maintain back pointers now, though we did not used to, and comments
7597 were out of date).
7598 (Prepend): Remove pragma Inline.
7599 (Remove_Next): Same cleanup
7600
76012004-12-07 Thomas Quinot <quinot@adacore.com>
7602
7603 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
7604 used to record an implicit dereference as a read operation on its
7605 prefix when operating under -gnatc. Necessary to avoid spurious
7606 'variable assigned but never read' warnings in that mode.
7607 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
7608 is a non-overloaded implicit dereference, call the above subprogram to
7609 ensure proper recording of references.
7610
76112004-12-07 Gary Dismukes <dismukes@adacore.com>
7612
7613 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
7614 to be resolved later as part of Analyze_Iteration_Scheme's call to
7615 Make_Index.
7616
76172004-12-07 Ed Schonberg <schonberg@adacore.com>
7618
7619 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
7620 prefix is not a scalar type, place error message on prefix, not on
7621 type entity.
7622
76232004-12-07 Bernard Banner <banner@adacore.com>
7624
7625 * vxaddr2line.adb: Add support for x86 vxworks
7626
76272004-12-07 Thomas Quinot <quinot@adacore.com>
7628
7629 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
7630 documentation of the behaviour of these functions when passed an IP
7631 address that has no record in the system hosts database and no reverse
7632 record in the DNS.
7633
7634 * cstand.adb, a-tags.ads: Fix typos in comment.
7635
76362004-12-07 Robert Dewar <dewar@adacore.com>
7637
7638 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
7639 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
7640 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
7641 s-poosiz.ads: Minor reformatting
7642
7643 * make.adb: Minor reformatting
7644 Add some ??? comments asking for more comments
7645
7646 * s-poosiz.adb: Minor reformatting
7647 Add comments on alignment requirement
7648
7649 * sinfo.ads: Remove obsolete comment and fix typo.
7650
76512004-12-07 Vincent Celier <celier@adacore.com>
7652 Sergey Rybin <rybin@adacore.com>
7653
7654 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
7655 Files" with the new tool and package names.
7656 Reformatting to suppress most of the warnings for line too long
7657 Document the new section "Project Search Path:" in the output of
7658 gnatls -v.
7659 Add gnatmetric section
7660
76612004-12-07 Vincent Celier <celier@adacore.com>
7662
7663 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
7664 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
7665 and -eit to -ept. Added qualifier
7666 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
7667
ed986c8e
AS
76682004-11-27 Andreas Schwab <schwab@suse.de>
7669
7670 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
7671
3c13948a
AC
76722004-11-25 Arnaud Charlet <charlet@adacore.com>
7673
7674 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
7675 internal implementation unit GNAT.Sockets.Thin,
7676 as their usage for sockets is non-portable (using the read and write
7677 functions from the system runtime library is fine on UNIX but won't
7678 work under Windows).
7679
7680 * mingw32.h: Update copyright notice.
7681
061fd2bf
AC
76822004-11-25 Arnaud Charlet <charlet@adacore.com>
7683
7684 * ada-tree.h: Minor reformatting of previous change to avoid lines
7685 longer than 79 characters.
7686
e850e1f4
OH
76872004-11-25 Olivier Hainque <hainque@adacore.com>
7688
7689 * tb-gcc.c: GCC infrastructure based implementation of
7690 __gnat_backtrace.
7691
39afeb1a
SB
76922004-11-24 Steven Bosscher <stevenb@suse.de>
7693
7694 * misc.c (gnat_post_options): Don't clear
7695 flag_inline_functions.
7696
9633a6ac
AP
76972004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
7698
7699 PR ada/17986
7700 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
7701 tree.
7702
7fe16580
AJ
77032004-11-21 Andreas Jaeger <aj@suse.de>
7704
7705 * stylesw.adb: Change Style_Check_Subprogram_Order to
7706 Style_Check_Order_Subprograms.
7707
9716416b
AC
77082004-11-18 Arnaud Charlet <charlet@adacore.com>
7709
7710 * adaint.h, adaint.c
7711 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
7712 to avoid warnings.
7713 Add also a cast to kill another warning.
7714 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
7715 parameter with the priority class of the parent process instead of
7716 always using the NORMAL_PRIORITY_CLASS.
7717 (__gnat_dup): New function.
7718 (__gnat_dup2): New function.
7719 (__gnat_is_symbolic_link): Enable the effective body of this
7720 function when __APPLE__ is defined.
7721
7722 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
7723 Update comments.
7724
77252004-11-18 Olivier Hainque <hainque@adacore.com>
7726
7727 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
7728 address of which may be used to represent "others" and "all others"
7729 choices in exception tables, instead of the current harcoded
7730 (void *)0 and (void *)1.
7731 (Setup_Exception): Do nothing in the GNAT SJLJ case.
7732
7733 * gigi.h (others_decl, all_others_decl): New decls representing the
7734 new Others_Value and All_Others_Value objects.
7735 (struct attrib): Rename "arg" component as "args", since GCC expects a
7736 list of arguments in there.
7737
7738 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
7739 corresponding objects exported by a-exexpr, instead of hardcoded dummy
7740 addresses.
7741
7742 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
7743 others_decl and all_others_decl instead of hardcoded dummy addresses
7744 to represent "others" and "all others" choices, which is cleaner and
7745 more flexible with respect to the possible eh pointer encoding policies.
7746
7747 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
7748 (process_attributes): Account for the naming change of the "args"
7749 attribute list entry component.
7750
7751 * decl.c (build_attr_list): Rename into prepend_attributes to allow
7752 cumulating attributes for different entities into a single list.
7753 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
7754 attributes for the current entity and propagate first subtype
7755 attributes to other subtypes.
7756 <E_Procedure>: Attribute arguments are attr->args and not
7757 attr->arg any more.
7758 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
7759 argument provided, as this is what GCC expects. Use NULL_TREE instead
7760 of 0 for trees.
7761
77622004-11-18 Robert Dewar <dewar@adacore.com>
7763
15cd18b9 7764 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
9716416b
AC
7765 Minor reformatting througout (including new function specs)
7766 Add ??? comments asking for clarification.
7767
77682004-11-18 Thomas Quinot <quinot@adacore.com>
7769
7770 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
7771 incomplete duplicate implementation of this subprogram from butil.
7772
77732004-11-18 Thomas Quinot <quinot@adacore.com>
7774
7775 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
7776 procedures factors the common processing for building an RPC receiver
7777 for an RCI package or an RACW type.
7778 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
7779 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
7780 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
7781 in use.
7782 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
7783 Add_RACW_Features.
7784 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
7785 Add_RAST_Features.
7786 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
7787 distribution subprogram identifiers that are either subprogram numbers
7788 or strings.
7789 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
7790 string distribution identifiers assigned to a given subprogram.
7791 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
7792 (Add_RAS_Dereference_TSS): Add comments.
7793 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
7794 is not referenced yet because it will be used by the PolyORB DSA
7795 implementation.
7796 (Insert_Partition_Check): Remove fossile code.
7797 (First_RCI_Subprogram_Id): Document this constant.
7798 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
7799 RAS_Access TSS.
7800 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
7801 replaced with calls to Get_Library_Unit_Name_String. Previously there
7802 were several instances of the same code in different locations in the
7803 compiler; this checkin completes the replacement of all of these
7804 instances with calls to a common subprogram.
7805 Minor reformatting.
7806
7807 * sem_dist.adb: Remove comment noting that RPC receiver generation
7808 should be disabled for RACWs that implement RASs.
7809 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
7810
7811 * sem_util.ads, sem_util.adb (Has_Stream): New function
7812 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
7813 qualified name of a library unit into the name buffer.
7814 (Note_Possible_Modification): Generate a reference only
7815 if the context comes from source.
7816
7817 * snames.ads (PCS_Names): New subtype corresponding to names of
7818 supported implementations of the Partition Communication Subsystem
7819 (PCS) (i.e. the runtime library support modules for the distributed
7820 systems annex).
7821
78222004-11-18 Robert Dewar <dewar@adacore.com>
7823 Ed Schonberg <schonberg@adacore.com>
7824
7825 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
7826 (Has_Rep_Pragma): New function
7827 (Has_Attribute_Definition_Clause): New function
7828 (Record_Rep_Pragma): Moved here from sem_ch13.adb
7829 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
7830
7831 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
7832
7833 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
7834 (Expand_Pragma_Psect_Object): New procedure
7835 These procedures contain the revised and cleaned up processing for
7836 these two pragmas. This processing was formerly in Sem_Prag, but
7837 is more appropriately moved here. The cleanup involves making sure
7838 that the pragmas are properly attached to the tree, and that no
7839 nodes are improperly shared.
7840
7841 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
7842 pragmas to Exp_Prag, which is more appropriate.
7843 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
7844 check for duplicates Remove use of Is_Psected flag, no longer needed.
7845 Use new Make_String_Literal function with string.
7846
7847 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
7848 that are functions return universal values, that have to be converted
7849 to the context type.
7850 Use new Make_String_Literal function with string.
7851 (Get_Stream_Convert_Pragma): New function, replaces the use of
7852 Get_Rep_Pragma, which had to be kludged to work in this case.
7853
7854 * freeze.adb: Use new Has_Rep_Pragma function
7855
7856 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
7857 function with string.
7858 Use new Has_Rep_Pragma function.
7859
7860 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
7861 string argument.
7862
78632004-11-18 Robert Dewar <dewar@adacore.com>
7864
7865 * errout.ads, errout.adb: (First_Sloc): New function
7866
7867 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
7868 check (-gnatyx) instead of being included as a redundant construct
7869 warning.
7870
7871 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
7872 Style_Check_Order_Subprograms.
7873
7874 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
7875 stylesw.adb: Add Style_Check_Xtra_Parens
7876
7877 * usage.adb: Add line for -gnatyx (check extra parens)
7878
7879 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
7880
78812004-11-18 Ed Schonberg <schonberg@adacore.com>
7882 Robert Dewar <dewar@adacore.com>
7883
7884 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
7885 discriminant of a constrained subtype, analyze the copy of the
7886 corresponding constraint, because in some cases it may be only
7887 partially analyzed.
7888 Removes long-lived ??? comments.
7889
7890 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
7891 handled controlled or secondary-stack expressions within the
7892 iteration_scheme of a loop.
7893
7894 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
7895 bounds that may contain functions calls, to prevent memory leaks when
7896 the bound contains a call to a function that uses the secondary stack.
7897 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
7898 generate temporaries for loop bounds that might contain function calls
7899 that require secondary stack and/or finalization actions.
7900
7901 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
7902 selected component and the selector is overloadable (not just a
7903 function) treat as function call, Analyze_Call will disambiguate if
7904 necessary.
7905 (Analyze_Selected_Component): Do not generate an actual subtype for the
7906 selected component if expansion is disabled. The actual subtype is only
7907 needed for constraint checks.
7908 (Analyze_Allocator): If restriction No_Streams is set, then do
7909 not permit objects to be declared of a stream type, or of a
7910 composite type containing a stream.
7911
7912 * restrict.ads: Remove the a-stream entry from Unit_Array, since
7913 No_Streams no longer prohibits with'ing this package.
7914
7915 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
7916 discriminants, but the parent base has unknown discriminants, there is
7917 no discriminant constraint to inherit. Such a discrepancy can arise
7918 when the actual for a formal type with unknown discriminants is a
7919 similar private type whose full view has discriminants.
7920 (Analyze_Object_Declaration): If restriction No_Streams is set, then
7921 do not permit objects to be declared of a stream type, or of a
7922 composite type containing a stream.
7923
79242004-11-18 Ed Schonberg <schonberg@adacore.com>
7925
7926 * exp_dbug.ads: Update documentation to reflect simpler encoding for
7927 protected operations.
7928
7929 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
7930 generated name, it complicates decoding in gdb and hinders debugging
7931 of protected operations.
7932 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
7933 flag for the protected entry barrier function.
7934 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
7935 flag for the protected entry function.
7936
79372004-11-18 Nicolas Setton <setton@adacore.com>
7938
7939 * expect.c: Define __unix__ when __APPLE__ is defined.
7940
7941 * Makefile.in: Inform the value of the variable GMEM_LIB in the
7942 Darwin-specific section.
7943
7944 * lang-specs.h: Change the placement of the %1 marker.
7945 Works around the fact that gcc adds -fPIC by default under Darwin.
7946
79472004-11-18 Ed Schonberg <schonberg@adacore.com>
7948
7949 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
7950 type of the object with the packed array type, set the Analyzed flag
7951 on the object if it is an entity or simple indexed component, to avoid
7952 spurious type errors.
7953
79542004-11-18 Gary Dismukes <dismukes@adacore.com>
7955
7956 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
7957 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
7958 separate line from the version message.
7959
79602004-11-18 Ed Falis <falis@adacore.com>
7961
7962 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
7963 vthreads.
7964 (init_float): Eliminate initialization of floating point status for
7965 AE653. The instructions have no effect for vThreads.
7966
79672004-11-18 Vincent Celier <celier@adacore.com>
7968
7969 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
7970 gnatbind is invoked with -shared.
7971
79722004-11-18 Jose Ruiz <ruiz@adacore.com>
7973
7974 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
7975 for Detect_Blocking which is redundant with the check done within the
7976 procedure Protected_Single_Entry_Call.
7977 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
7978 Detect_Blocking which is redundant with the check done within the
7979 procedure Protected_Single_Entry_Call.
7980
79812004-11-18 Vincent Celier <celier@adacore.com>
7982
7983 * makegpr.adb (Compile): Put the compiling switches (in package
7984 Compiler and on the command line) immediately after "-c", instead of
7985 at the end of the command line invocation of the compiler, when
7986 compiling a non-Ada file.
7987 (Build_Global_Archive): When there is no need to rebuild the archive,
7988 set Global_Archive_Exists, so that the archive is passed to the linker
7989 if one is needed.
7990
79912004-11-18 Robert Dewar <dewar@adacore.com>
7992 Sergey Rybin <rybin@adacore.com>
7993
15cd18b9 7994 * gnat_ugn.texi:
9716416b
AC
7995 Remove extra paren check from list of checks for redundant constructs
7996 Add documentation of new -gnatyx style check (check extra parens)
7997 Remove paragraph about gnatelim debug options.
7998
7999 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
8000 objects rather than forbidding dependencies on the package Ada.Streams.
8001
8002 * sinfo.ads: Add ??? note that we should document pragmas passed to
8003 back end.
8004
8005 * g-expect.ads: Fix a few typos in the comments.
8006
9e637a26
JM
80072004-11-09 Joseph S. Myers <joseph@codesourcery.com>
8008
8009 * misc.c (gnat_handle_option): Use %< and %> for quoting in
8010 warning message.
8011
0506cb1c
RO
80122004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8013
8014 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
8015
426e7d28
AS
80162004-11-07 Andreas Schwab <schwab@suse.de>
8017
8018 * Makefile.in (install-gnatlib): Remove spurious hyphen.
8019
8785609e 80202004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
bb342a77
AP
8021
8022 PR ada/18228
8023 * Makefile.in (darwin): Set soext to .dylib.
8024
0ca5fab2
AC
80252004-10-26 Vincent Celier <celier@gnat.com>
8026 Thomas Quinot <quinot@act-europe.fr>
8027
8028 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
8029 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
8030 there is no use of GNAT.Sockets.Constants.
8031 Remove remaining pragma Import for C_Write
8032 Remove C_Read and C_Write from internal implementation unit
8033 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
8034 the read and write functions from the system runtime library is fine
8035 on UNIX but won't work under Windows).
8036
8037 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
8038 (Check_Selector): Use C_Recv instead of C_Read.
8039 Selectors are the GNAT.Sockets abstraction to perform a select()
8040 call on a set of descriptors. To allow abortion of an ongoing
8041 select operation, some data is written to a dedicated socket that
8042 is always monitored.
8043 Under Windows, the write and read library functions cannot operate
8044 on sockets, so we need to use send and recv instead, which is portable
8045 across all supported platforms.
8046
8047 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
8048 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
8049 (using the read and write functions from the system runtime library is
8050 fine on UNIX but won't work under Windows).
8051
80522004-10-26 Nicolas Setton <setton@act-europe.fr>
8053
8054 * mlib-tgt-darwin.adb: New file.
8055
8056 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8057 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8058 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8059 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
8060 subprogram body.
8061
8062 * Makefile.in: Add support for building shared libraries under Darwin.
8063 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
8064 the low level EH init subprogram to be called from __gnat_initialize.
8065
8066 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
8067 indicates which options to pass to the archive indexer.
8068
8069 * mlib-utl.adb: Add support for calling ranlib with additional
8070 options. This is needed for instance under Mac OS X.
8071 (Ranlib_Options): New global variable, used to store the potential
8072 options to pass to ranlib.
8073 (Ar): Use Ranlib_Options when spawning ranlib.
8074 (Initialize): Set the value of ranlib option.
8075
80762004-10-26 Olivier Hainque <hainque@act-europe.fr>
8077
8078 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
8079 instead of 8K, to reflect the real potential needs for stack-checking
8080 in the ZCX case.
8081
80822004-10-26 Pascal Obry <obry@gnat.com>
8083
8084 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
8085
8086 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
8087 Windows only the initial thread stack size can be set so it is good to
8088 start we a low stack size.
8089 The OS will adjust the size as needed.
8090
80912004-10-26 Olivier Hainque <hainque@act-europe.fr>
8092 Nicolas Setton <setton@act-europe.fr>
8093
8094 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
8095 "__unix__" instead of "unix".
8096 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
8097 sections were just mistakenly ignored. The former is
8098 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
8099 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
8100 of hpux. This prevents an unwanted definition of the symbol
8101 convert_addresses in adaint.o.
8102
81032004-10-26 Gary Dismukes <dismukes@gnat.com>
8104
8105 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
8106 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
8107
81082004-10-26 Cyrille Comar <comar@act-europe.fr>
8109
8110 * a-filico.ads, a-filico.adb: fix incorrect header.
8111
81122004-10-26 Javier Miranda <miranda@gnat.com>
8113
8114 * a-ststio.ads: Fix typo in identifier
8115
81162004-10-26 Thomas Quinot <quinot@act-europe.fr>
8117
8118 * sem_ch4.adb: Minor reformatting.
8119
81202004-10-26 Ed Schonberg <schonberg@gnat.com>
8121
8122 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
8123 enabled, check the result of unary and binary operations when the
8124 expression is the right-hand side of an assignment.
8125
81262004-10-26 Vincent Celier <celier@gnat.com>
8127
8128 * clean.adb (Delete): Do not output warnings when in quiet output and
8129 not in verbose mode.
8130 (Force_Deletions): New Boolean flag, defaulted to False
8131 (Delete): Only delete a file if it is writable, and when
8132 Force_Deletions is True.
8133 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
8134 (Usage): Line for new switch -f
8135 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
8136 own.
8137
81382004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
8139
8140 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
8141 JM type only if its size matches that of the wrapper. When a size is
8142 prescribed and the field is not aliased, remove the wrapper of a JM
8143 type only if the size is not greater than that of the packed array.
8144 (gnat_to_gnu_entity): Change the extension of packed array wrappers
8145 from LJM to JM.
8146
81472004-10-26 Geert Bosch <bosch@gnat.com>
8148
8149 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
8150 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
8151 (Pred): Implement in terms of Succ.
8152
81532004-10-26 Ed Schonberg <schonberg@gnat.com>
8154
8155 * exp_aggr.adb (Safe_Component): An aggregate component that is an
8156 unchecked conversion is safe for in-place use if the expression of the
8157 conversion is safe.
8158 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
8159 be expandable in place even if the aggregate does not come from source.
8160 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
8161 designated object of an allocator in place, rather than building it
8162 first on the stack. The previous scheme forces a full copy of the array,
8163 and may be altogether unsusable if the size of the array is too large
8164 for stack allocation.
8165
81662004-10-26 Robert Dewar <dewar@gnat.com>
8167
8168 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
8169 compares if the component is atomic.
8170
8171 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
8172 array assignment if the component type is atomic.
8173
81742004-10-26 Ed Schonberg <schonberg@gnat.com>
8175 Eric Botcazou <ebotcazou@act-europe.fr>
8176
8177 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
8178 is aliased and is a by_reference type, do not pass by copy.
8179 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
8180 detect whether the call is in the right side of an assignment or
8181 the expression of an object declaration. Recurse on component
8182 association within aggregates.
8183 Call it in the condition that determines whether the temporary is
8184 necessary for correct stack-checking.
8185
81862004-10-26 Thomas Quinot <quinot@act-europe.fr>
8187
8188 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
8189 RACW_Type, used in the PolyORB version.
8190 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
8191 version and the GARLIC version.
8192
15cd18b9 8193 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
0ca5fab2
AC
8194 Rename RCI_Info to RCI_Locator for better consistency between the
8195 GARLIC and PolyORB versions of the distributed systems annex.
8196 (DSA_Implementation_Name): This enumeration lists the possible
8197 implementations of the Partition Communication Subsystem for the
8198 Distributed Systems Annex (DSA). The three available implementations
8199 are the dummy stub implementation (No_DSA), and two versions based on
8200 two different distribution runtime libraries: GARLIC and PolyORB. Both
8201 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
8202 technology.
8203 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
8204 that organization.
8205
8206 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
8207 between the GARLIC and PolyORB versions of the distributed systems
8208 annex.
8209 Remove RE_Unbounded_Reclaim_Pool since it is unused.
8210
82112004-10-26 Gary Dismukes <dismukes@gnat.com>
8212
8213 * gnat1drv.adb: Suppress calling the back end when
8214 Frontend_Layout_On_Target is true.
8215
82162004-10-26 Thomas Quinot <quinot@act-europe.fr>
8217
8218 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
8219 Set_Read_Only): New subprograms.
8220 These new routines allow the user to set or unset the Owner execute
8221 and Owner write permission flags on a file.
8222
8223 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
8224 GNAT.OS_Lib.Set_Executable instead of rolling our own.
8225
82262004-10-26 Matthew Gingell <gingell@gnat.com>
8227
8228 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
8229
82302004-10-26 Pascal Obry <obry@gnat.com>
8231
8232 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
8233 memory before the faulting page we properly test the process read
8234 access for this address using appropriate Win32 routine.
8235 (HPUX sections): guard with "__hpux__" instead of "hpux".
8236
82372004-10-26 Robert Dewar <dewar@gnat.com>
8238
8239 * lib-xref.adb (Generate_Reference): Don't complain about reference to
8240 entry parameter if pragma Unreferenced set, since we do not properly
8241 handle the case of multiple parameters.
8242
82432004-10-26 Vincent Celier <celier@gnat.com>
8244
8245 * prj-env.adb: (Contains_ALI_Files): New Boolean function
8246 (Ada_Objects_Path.Add): For a library project, add to the object path
8247 the library directory only if there is no object directory or if the
8248 library directory contains ALI files.
8249 (Set_Ada_Paths.Add.Recursive_Add): Ditto
8250
82512004-10-26 Vincent Celier <celier@gnat.com>
8252
8253 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
8254 extension of library projects.
8255
8256 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
8257 path defaults to ".:<prefix>/lib/gnat".
8258 (Parse): For an extending all project, allow direct import of a project
8259 that is virtually extended.
8260
8261 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
8262 the specified name is directly imported, return its ID. Otherwise, if
8263 an extension of this project is imported, return the ID of the
8264 extension.
8265
82662004-10-26 Robert Dewar <dewar@gnat.com>
8267
8268 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
8269 (Sub3): New procedure, used by Scaled_Divide
8270 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
8271 correct more than one instance of failure to propagate carries
8272 correctly.
8273 (Double_Divide): Handle overflow case of largest negative number
8274 divided by minus one.
8275
8276 * s-arit64.ads (Double_Divide): Document that overflow can occur in
8277 the case of a quotient value out of range.
8278 Fix comments.
8279
82802004-10-26 Robert Dewar <dewar@gnat.com>
8281
8282 * s-bitops.adb (Bit_Eq): Remove redundant check.
8283
8284 * s-bitops.ads: Minor comment updates
8285 Change some occurrences of Address to System.Address
8286
8287 * s-carsi8.ads: Fix minor cut-and-paste error in comments
8288
82892004-10-26 Ed Schonberg <schonberg@gnat.com>
8290
8291 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
8292 accessibility check to prefix that is a protected operation.
8293
82942004-10-26 Ed Schonberg <schonberg@gnat.com>
8295
8296 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
8297 empty, post message on stub.
8298
82992004-10-26 Ed Schonberg <schonberg@gnat.com>
8300 Javier Miranda <miranda@gnat.com>
8301
8302 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
8303 current instance appears within a unit that is directly in the context
8304 of the main unit.
8305 Used to determine whether the body of the instance should be analyzed
8306 immediately after its spec, to make its subprogram bodies available
8307 for front-end inlining.
8308 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
8309 constraint is not allowed on the component type (AARM 12.5.3(3))
8310
83112004-10-26 Cyrille Comar <comar@act-europe.fr>
8312
8313 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
8314 'Storage_Pool): enhance, document & limit detection of non-sharable
8315 internal pools.
8316
8317 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
8318
8319 * s-pooglo.ads: Add more documentation now that this pool is properly
8320 documented.
8321
83222004-10-26 Ed Schonberg <schonberg@gnat.com>
8323
8324 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
8325 or protected type with discriminants, do not constrain the
8326 corresponding record type if the subtype declaration has no
8327 discriminant constraints. This can be the case in source code, or in
8328 the subtype declaration created to rename an actual type within an
8329 instantiation.
8330
83312004-10-26 Ed Schonberg <schonberg@gnat.com>
8332
8333 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
8334 different kind of stub (possibly wrong name for file), do not check
8335 for conformance.
8336 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
8337 includes call to some function that returns an unconstrained type, do
8338 not inline.
8339
83402004-10-26 Ed Schonberg <schonberg@gnat.com>
8341
8342 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
8343 appear in the code for the main unit. Dependencies among units in the
8344 context of the main unit are established when those other units are
8345 compiled. Otherwise spurious elaboration constraints can generate
8346 incorrect elaboration circularities.
8347
83482004-10-26 Thomas Quinot <quinot@act-europe.fr>
8349 Ed Schonberg <schonberg@gnat.com>
8350
8351 * sem_util.adb (Is_Aliased_View): Defend against the case where this
8352 subprogram is called with a parameter that is not an object name. This
8353 situation arises for some cases of illegal code, which is diagnosed
8354 later, and in this case it is wrong to call Is_Aliased, as that might
8355 cause a compiler crash.
8356 (Explain_Limited_Type): Refine previous fix to include
8357 inherited components of derived types, to provide complete information.
8358
8359 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
8360 is the prival for a protected object.
8361 It is necessary to mark this entity as a variable, in addition to
8362 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
8363 modified to avoid checking the Aliased flag on entities that are not
8364 objects. (Checking that flag for non-objects is erroneous and could
8365 lead to a compiler crash).
8366
83672004-10-26 Robert Dewar <dewar@gnat.com>
8368
8369 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
8370 X_Frac = 0.5, then we know that the number X must be positive.
8371 (Succ): Remove the same redundant test, and also fix the primary test
8372 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
8373 Minor reformatting
8374 (Decompose): Add fuller comments to spec
8375
83762004-10-26 Pascal Obry <obry@gnat.com>
8377
8378 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
8379 validity (process must have read access). Set to 0 in all other cases.
8380 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
8381 violation on Win32.
8382 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
8383 segmentation violation.
8384
83852004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
8386
8387 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
8388 whose type is a constructed subtype of an aliased object with an
8389 unconstrained nominal subtype, convert the actual to the constructed
8390 subtype before taking its address.
8391
83922004-10-26 Vincent Celier <celier@gnat.com>
8393
8394 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
8395 (Is_Path_Name_Case_Sensitive): New function
8396
8397 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
8398 (Base_Name, Simple_Name, Current_Directory, Compose,
8399 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
8400 the result.
8401
84022004-10-26 Cyrille Comar <comar@act-europe.fr>
8403 Vasiliy Fofanov <fofanov@act-europe.fr>
8404 Vincent Celier <celier@gnat.com>
8405
8406 * gnat_ugn.texi: Generalize "finding memory problems" section into a
8407 "memory management issues" section and document some of the useful
8408 memory pools provided as part of the GNAT library.
8409 Remove "virtual" from declaration of A::method2 in
8410 the simple example of Ada/C++ mixed system.
8411 Library Projects may be virtually extended: their virtual extensions
8412 are not Library Projects.
8413 Added section on extending project hierarchies.
8414
d65c6710 84152004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
aa75e737
AL
8416
8417 * adaint.c (__gnat_get_libraries_from_registry): Cast value
8418 to LPBYTE.
8419 (__gnat_portable_spawn): Remove const.
8420
8421 * mingw32.h (MAXPATHLEN): Check for previous definition.
8422
95e19580
MK
84232004-10-17 Matthias Klose <doko@debian.org>
8424
8425 * gnatvsn.ads: Set gnat library version to 4.0.
8426
88a6ecb6
VC
84272004-10-05 Vincent Celier <celier@gnat.com>
8428
a1286ef5 8429 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
88a6ecb6 8430
110aba14
LG
84312004-10-04 Laurent GUERBY <laurent@guerby.net>
8432
8433 PR ada/15156
8434 * Makefile.in: Define and use RANLIB_FLAGS.
88a6ecb6 8435
09552763
PO
84362004-10-04 Pascal Obry <obry@gnat.com>
8437
8438 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
8439 other x86 platforms).
8440
a8e490b7
OH
84412004-10-04 Olivier Hainque <hainque@act-europe.fr>
8442
8443 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
8444 in general and triggers stack alignment adjustment for thread entry
8445 points on targets where this is necessary.
8446
71c10a83
BB
84472004-10-04 Bernard Banner <banner@gnat.com>
8448
8449 PR ada/13897
8450
8451 * Makefile.in: Add section for powerpc linux
8452 Add variant i-vxwork-x86.ads
8453
8454 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
8455
9a03df55
OH
84562004-10-04 Olivier Hainque <hainque@act-europe.fr>
8457
8458 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
8459 table registration calls when need be. Ensures no reference to the crt
8460 ctors symbol are issued in the SJLJ case, which avoids possible
8461 undefined symbol errors in the case of modules to be statically linked
8462 with the kernel.
8463
28d6470f
JM
84642004-10-04 Javier Miranda <miranda@gnat.com>
8465
8466 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
8467 in-line the code corresponding to subprogram Analyze_Actuals. In
8468 addition, analyze the actuals only in case of subprogram call.
8469
06237875
EF
84702004-10-04 Ed Falis <falis@gnat.com>
8471
8472 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
8473
259d6c3a
SR
84742004-10-04 Sergey Rybin <rybin@act-europe.fr>
8475
8476 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
8477 in the documentation.
8478
6f21ed26
RD
84792004-10-04 Robert Dewar <dewar@gnat.com>
8480
8481 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
8482 IF and CASE.
8483 (Analyze_Block_Statement): Add circuitry to detect following dead code
8484 (Check_Unreachable_Code): Handle case of block exit
8485
4cded177
RD
84862004-10-04 Robert Dewar <dewar@gnat.com>
8487
8488 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
8489 (XMatchD): Avoid warning for Logic_Error call
8490
c6a60aa1
RD
84912004-10-04 Robert Dewar <dewar@gnat.com>
8492
8493 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
8494 consider expressions buried within a procedure actual to be an actual.
8495 This caused some blowups with uses of packed slices within a procedure
8496 actual.
8497
1fdebfe5
RD
84982004-10-04 Robert Dewar <dewar@gnat.com>
8499
8500 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
8501 longer need to be initialized to zero.
8502 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
8503 initialized to zero.
8504
8505 * checks.adb (Expr_Known_Valid): Packed arrays are now always
8506 considered valid, even if the representation is modular. That's correct
8507 now that we no longer initialize packed modular arrays to zero.
8508
8509 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
8510 suffixes. These are now documented as the only cases in which the
8511 debugger ignores outer records.
8512 Previously, the spec allowed arbitrary suffixes for this purpose.
8513 Change name of LJM to JM for packed array pad records
8514 Create separate section on packed array handling, and add a whole new
8515 set of comments to this section describing the situation with packed
8516 modular types and justification requirements depending on endianness.
8517
cd91501c
RD
85182004-10-04 Robert Dewar <dewar@gnat.com>
8519
8520 * a-except.adb: Add a comment for last change
8521
8522 * einfo.ads: Minor spelling correction in comment
8523
8524 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
8525
8526 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
8527 messages.
8528
8529 * sem_util.ads: Minor comment update
8530
c71c53a8
ES
85312004-10-04 Ed Schonberg <schonberg@gnat.com>
8532
8533 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
8534 Inline_Always when in Configurable_Run_Time mode.
8535
8536 * sem_prag.adb (Process_Convention): If entity is an inherited
8537 subprogram, apply convention to parent subprogram if in same scope.
8538 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
8539 when in Configurable_Run_Time mode.
8540
71d9e9f2
ES
85412004-10-04 Ed Schonberg <schonberg@gnat.com>
8542
8543 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
8544 class_wide type after component list has been inherited.
8545
0b525bee
ES
85462004-10-04 Ed Schonberg <schonberg@gnat.com>
8547
8548 * sem_ch12.adb (Check_Generic_Actuals): New predicate
8549 Denotes_Previous_Actual, to handle properly the case of a private
8550 actual that is also the component type of a subsequent array actual.
8551 The visibility status of the first actual is not affected when the
8552 second is installed.
8553 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
8554 make fully recursive the treatment of formals of packages declared
8555 with a box.
8556 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
8557 the above on exit from an instantiation.
8558 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
8559 current instantiation which is now complete.
8560 (Analyze_Package_Instantiation): No instantiated body is needed if the
8561 main unit is generic. Efficient, and avoid anomalies when a instance
8562 appears in a package accessed through rtsfind.
8563
27ad9660
ES
85642004-10-04 Ed Schonberg <schonberg@gnat.com>
8565
8566 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
8567 do not generate a declaration for a temporary if the call is part of a
8568 library-level instantiation.
8569
1c6c6771
ES
85702004-10-04 Ed Schonberg <schonberg@gnat.com>
8571
8572 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
8573 searching for a limited component to flag.
8574
8575 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
8576 expansion of Input, to account for the fact that the implicit call
8577 generated by the attribute reference must freeze the user-defined
8578 stream subprogram. This is only relevant to 'Input, because it can
8579 appear in an object declaration, prior to the body of the subprogram.
8580
8581 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
8582 expansion can proceed and further errors uncovered.
8583 (Minor clean up): Fix cases of using | instead of \ for continuation
8584 messages.
8585
8005f3e5
RK
85862004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8587
8588 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
8589
8590 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
8591 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
8592 Use gcc_assert and gcc_unreachable.
8593
8594 * decl.c (gnat_to_gnu_entity, case object): Check and process a
8595 specified alignment before validating size.
8596 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
8597 stripped-down declaration for the type of the inner field when making
8598 a JM type.
8599
8600 * utils.c (finish_record_type): Do not compute the size in units
8601 incrementally. Instead compute it once for the rep clause case.
8602 Use gcc_assert and gcc_unreachable.
8603
6a294a29
VC
86042004-10-04 Vincent Celier <celier@gnat.com>
8605
8606 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
8607 in file name.
8608 (Is_Valid_Path_Name): Take '/' as a directory separator.
8609
9a080ea3
VC
86102004-10-04 Vincent Celier <celier@gnat.com>
8611
8612 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
8613 (Extended_Project) only if Extended_Project is defined, to avoid
8614 assertion error.
8615 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
8616 resolved path.
8617 (Parse_Single_Project): Ditto.
8618
8619 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
8620 Add_To_Project_Path for virtual projects.
8621
51004cb5
VC
86222004-10-04 Vincent Celier <celier@gnat.com>
8623
15cd18b9
SS
8624 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8625 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8626 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
51004cb5
VC
8627 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
8628 parameter Options_2.
8629
8630 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
8631 Build_Dynamic_Library with an empty Options_2.
8632
8633 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
8634 default anymore.
8635
8636 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
8637 directory separator, if any.
8638 (Gprmake): Do not allow mains on the command line for library projects.
8639 Do not attempt to link when the project is a library project.
8640 (Library_Opts): New table to store Library_Options.
8641 (Build_Library): If Library_Options is specified, pass these options
8642 when building a shared library.
8643
3b37ffbf
JR
86442004-10-04 Jose Ruiz <ruiz@act-europe.fr>
8645
8646 * s-tposen.adb (Service_Entry): The object must be always unlocked at
8647 the end of this procedure now that the unlock operation was inserted
8648 by the expander.
8649
b23e28d5
JR
86502004-10-04 Jose Ruiz <ruiz@act-europe.fr>
8651
8652 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
8653 corresponding to the Preallocated_Stacks flags in System.
8654 (Get_Target_Parameters): Including the processing for
8655 Preallocated_Stacks.
8656
15cd18b9
SS
8657 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
8658 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
8659 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
8660 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
8661 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
8662 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
8663 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
8664 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
8665 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
8666 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
b23e28d5
JR
8667 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
8668 used to signal whether the compiler creates the required stacks and
8669 descriptors for the different tasks (when True) or it is done by the
8670 underlying operating system at run time (when False).
8671 It is initially set to False in all targets.
8672
8673 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
8674 if it is supported by the target.
8675 (Make_Task_Create_Call): Pass the stack address if it has been
8676 previously created. Otherwise pass a Null_Address.
8677
8678 * snames.adb: Add _stack.
8679
8680 * snames.ads: Add Name_uStack. Required to allow the expander to
8681 statically allocated task stacks.
8682
8683 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
8684 Stack_Address argument.
8685 Check that its value is equal to Null_Address because this target does
8686 not support the static stack allocation.
8687
6fd459bb
TQ
86882004-10-04 Thomas Quinot <quinot@act-europe.fr>
8689
8690 * usage.adb: Change "pragma inline" to "pragma Inline" in information
8691 and error messages
8692
5885facb
TQ
86932004-10-04 Thomas Quinot <quinot@act-europe.fr>
8694
8695 * exp_dist.adb: Split declaration of asynchronous flag out of
8696 Add_RACW_Read_Attribute.
8697 Minor reformatting for better alignment with PolyORB version.
8698 Store the entity for the asynchronous flag of an RACW, rather than the
8699 expression, in the asynchronous flags table. This will allow this flag
8700 to be used in other subprograms beside Add_RACW_Read_Attribute.
8701
d6c7ed50
TQ
87022004-10-04 Thomas Quinot <quinot@act-europe.fr>
8703
8704 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
15cd18b9
SS
8705 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
8706 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
8707 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
d6c7ed50
TQ
8708 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
8709 sockets constant MSG_NOSIGNAL (Linux-specific).
8710 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
8711 all Send operations.
8712 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
8713 from trigerring SIGPIPE.
8714 Rename components to avoid clash with Ada 2005 possible reserved
8715 word 'interface'.
8716 (Check_Selector): When the select system call returns with an error
8717 condition, propagate Socket_Error to the caller.
8718
0f0377f6
JH
87192004-10-01 Jan Hubicka <jh@suse.cz>
8720
8721 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
8722
2c9beb8a
RD
87232004-09-23 Robert Dewar <dewar@gnat.com>
8724
8725 PR ada/17540
8726
8727 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
8728 instead do this at freeze time (we won't do it if there is an address
8729 clause).
8730 Change "pragma inline" to "pragma Inline" in information and error
8731 messages.
8732 Minor reformatting.
8733
8734 * freeze.adb (Check_Address_Clause): Remove previous change, not the
8735 right way of doing things after all.
8736 (Freeze_Entity): For object, set Is_Public for imported entities
8737 unless there is an address clause present.
8738
2494e673
OH
87392004-09-21 Olivier Hainque <hainque@act-europe.fr>
8740
8741 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
8742 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
8743 ensures proper handling of types with rep clauses, which might have
8744 their TYPE_SIZE set already.
8745
910d20fc
RD
87462004-09-21 Robert Dewar <dewar@gnat.com>
8747
8748 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
8749 packed array types in both little- and big-endian cases. This change
8750 ensures that we no longer count on the unused bits being initialized
8751 for such types (and in particular ensures that equality testing will
8752 only read the relevant bits).
8753 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8754 These changes mean that we no longer need to initialize small packed
8755 arrays.
8756 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
8757 optimization to an LJM field as to its parent field.
8758
8759 * ada-tree.h, trans.c, utils.c, utils2.c:
8760 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8761
8f235343
JH
87622004-09-20 Jan Hubicka <jh@suse.cz>
8763
8764 * utils.c (gnat_finalize): Remove.
8765 (end_subprog_body): Directly call cgraph_finalize_function;
8766 do not lower the nested functions.
8767
bb9be5eb
RD
87682004-09-20 Robert Dewar <dewar@gnat.com>
8769
8770 PR ada/17540
8771
8772 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
8773 if an address clause is present, since that means that the Import
8774 should be ignored.
8775
796ef2e2
AC
87762004-09-20 Arnaud Charlet <charlet@act-europe.fr>
8777
8778 * 5tsystem.ads: Removed, no longer used.
8779
6615c446
JO
87802004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
8781 Zack Weinberg <zack@codesourcery.com>
8782
8783 * ada-tree.def: Use tree_code_class enumeration constants
8784 instead of code letters.
8785 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
8786 Update for new tree-class enumeration constants.
8787
93ed8a01
VC
87882004-09-17 Vincent Celier <celier@gnat.com>
8789
8790 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
8791 capabilities of the general project manager.
8792
c885d7a1
AC
87932004-09-09 Vincent Celier <celier@gnat.com>
8794
8795 * a-direct.ads: Add pragma Ada_05
8796 (Directory_Entry_Type): Give default value to component Kind to avoid
8797 not initialized warnings.
8798
8799 * a-direct.adb (Current_Directory): Remove directory separator at the
8800 end.
8801 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
8802 an existing directory.
8803 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
8804 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
8805 Convert the result to File_Size.
8806
8807 * prj.ads: (Project_Error): New exception
8808
8809 * prj-attr.adb: Except in procedure Initialize, Fail comes from
8810 Prj.Com, not from Osint.
8811 (Attrs, Package_Attributes): Tables moved to private part of spec
8812 (Add_Attribute, Add_Unknown_Package): Moved to new child package
8813 Prj.Attr.PM.
8814 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
8815 Prj.Project_Error after call to Fail.
8816 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
8817 Fail. Check that package name is not already in use.
8818
8819 * prj-attr.ads: Comment updates to indicate that all subprograms may be
8820 used by tools, not only by the project manager, and to indicate that
8821 exception Prj.Prj_Error may be raised in case of problem.
8822 (Add_Unknown_Package, Add_Attribute): Moved to new child package
8823 Prj.Attr.PM.
8824 (Attrs, Package_Attributes): Table instantiations moved from the body to
8825 the private part to be accessible from Prj.Attr.PM body.
8826
8827 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
8828 from new package Prj.Attr.PM.
8829 (Parse_Attribute_Declaration): Call Add_Attribute from new package
8830 Prj.Attr.PM.
8831
8832 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
8833
8834 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
8835 instead of Elaboration_Checks).
8836
8837 * a-calend.adb: Minor reformatting
8838
88392004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8840
8841 * gigi.h (maybe_pad_type): New declaration.
8842 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
8843
8844 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
8845
8846 * cuintp.c: Convert to use buildN.
8847
8848 * decl.c (maybe_pad_type): No longer static.
8849 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
8850 target pointer.
8851 Convert to use buildN.
8852
8853 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
8854 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
8855 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
8856 RHS.
8857 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
8858 (gnat_gimplify_expr, case ADDR_EXPR): New case.
8859 Convert to use buildN.
8860
8861 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
8862 TREE_READONLY for const.
8863 Convert to use buildN.
8864
8865 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
8866 (create_var_decl): Refine when TREE_STATIC is set.
8867 Convert to use buildN.
8868
88692004-09-09 Gary Dismukes <dismukes@gnat.com>
8870
8871 * gnat_ugn.texi: Delete text relating to checking of ali and object
8872 consistency.
8873
8874 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
8875 routines.
8876
88772004-09-09 Jose Ruiz <ruiz@act-europe.fr>
8878
8879 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
8880 pragmas recognized by GNAT.
8881
8882 * gnat_rm.texi: Document pragma Detect_Blocking.
8883
8884 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
8885 raise Program_Error if called from a protected operation.
8886
8887 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
8888 the protected action nesting level.
8889 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
8890 protected action nesting level.
8891 (Unlock): When pragma Detect_Blocking is active decrease the protected
8892 action nesting level.
8893
8894 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
8895 Protected_Action_Nesting.
8896
8897 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
8898 Common_ATCB record. It contains the dynamic level of protected action
8899 nesting for each task. It is needed for checking whether potentially
8900 blocking operations are called from protected operations.
8901 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
8902 Detect_Blocking is active or not in the partition.
8903
8904 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
8905 raise Program_Error if called from a protected operation.
8906 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
8907 Program_Error if called from a protected operation.
8908 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
8909 Program_Error if called from a protected operation.
8910
8911 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
8912 raise Program_Error if called from a protected operation.
8913
8914 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
8915 raise Program_Error if called from a protected operation, and increase
8916 the protected action nesting level.
8917 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
8918 Program_Error if called from a protected operation, and increase the
8919 protected action nesting level.
8920 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
8921 protected action nesting level.
8922
8923 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
8924 raise Program_Error if called from a protected operation, and increase
8925 the protected action nesting level.
8926 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
8927 Program_Error if called from a protected operation, and increase the
8928 protected action nesting level.
8929 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
8930 raise Program_Error if called from a protected operation.
8931 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
8932 active, raise Program_Error if called from a protected operation.
8933 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
8934 protected action nesting level.
8935
8936 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
8937 insertion of the statement raising Program_Error. The run time
8938 contains the required machinery for handling that.
8939
8940 * sem_util.ads: Change comment associated to procedure
8941 Check_Potentially_Blocking_Operation.
8942 This procedure does not insert a call for raising the exception because
8943 that is currently done by the run time.
8944
8945 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
8946
8947 * init.c: Add the global variable __gl_detect_blocking that indicates
8948 whether pragma Detect_Blocking is active (1) or not (0). Needed for
8949 making the pragma available at run time.
8950 (__gnat_set_globals): Pass and update the detect_blocking parameter.
8951
8952 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
8953 pragma Detect_Blocking is active.
8954
8955 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
8956
8957 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
8958 DB is found in the ali file. Any unit compiled with pragma
8959 Detect_Blocking active forces its effect in the whole partition.
8960
8961 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
8962 Detect_Blocking is active and delay is called from a protected
8963 operation.
8964
8965 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
8966 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
8967 Detect_Blocking is active (0 otherwise).
8968 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
8969 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
8970 otherwise).
8971
89722004-09-09 Thomas Quinot <quinot@act-europe.fr>
8973
8974 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
8975 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
8976 package.
8977
8978 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
8979 (Register_Receiving_Stub): Add Subp_Info formal parameter.
8980 Update API in placeholder implemetation of s-parint to reflect changes
8981 in distribution runtime library.
8982
8983 * sem_ch3.adb (Expand_Derived_Record): Rename to
8984 Expand_Record_Extension.
8985
8986 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
8987 primitive operations of potentially distributed object types that have
8988 non-controlling anonymous access formals.
8989
8990 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
8991 subprogram.
8992 New implementation of expansion for remote access-to-subprogram types,
8993 based on the RACW infrastructure.
8994 This version of sem_dist is compatible with PolyORB/DSA as well as
8995 GLADE.
8996
8997 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
8998 Asynchrronous that applies to a remote access-to-subprogram type, mark
8999 the underlying RACW type as asynchronous.
9000
9001 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
9002 __gnat_using_gnu_linker to 1.
9003
9004 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
9005 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
9006 GNAT.Perfect_Hash_Generators, and remove the empty
9007 GNAT.Perfect_Hash package.
9008
9009 * atree.adb: Minor reformatting
9010
9011 * exp_ch3.adb (Expand_Derived_Record): Rename to
9012 Expand_Record_Extension.
9013 (Build_Record_Init_Proc.Build_Assignment): The default expression in
9014 a component declaration must remain attached at that point in the
9015 tree so New_Copy_Tree copies it if the enclosing record type is derived.
9016 It is therefore necessary to take a copy of the expression when building
9017 the corresponding assignment statement in the init proc.
9018 As a side effect, in the case of a derived record type, we now see the
9019 original expression, without any rewriting that could have occurred
9020 during expansion of the ancestor type's init proc, and we do not need
9021 to go back to Original_Node.
9022
9023 * exp_ch3.ads (Expand_Derived_Record): Rename to
9024 Expand_Record_Extension.
9025
9026 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
9027 Returns the RACW type used to implement a remote access-to-subprogram
9028 type.
9029 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
9030 New subprograms. Used to create a proxy tagged object for a remote
9031 subprogram. The proxy object is used as the designated object
9032 for RAS values on the same partition (unless All_Calls_Remote applies).
9033 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
9034 System.Partition_Interface.Get_Unique_Remote_Pointer.
9035 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
9036 Renamed from Add_RAS_*_Attribute.
9037 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
9038 subprograms.
9039 New implementation of expansion for remote access-to-subprogram types,
9040 based on the RACW infrastructure.
9041
9042 * exp_dist.ads (Copy_Specification): Update comment to note that this
9043 function can copy the specification from either a subprogram
9044 specification or an access-to-subprogram type definition.
9045
90462004-09-09 Ed Schonberg <schonberg@gnat.com>
9047
9048 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
9049 in an instance, between an explicit subprogram an one inherited from a
9050 type derived from an actual.
9051
9052 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
9053 add a polling call if the subprogram is to be inlined by the back-end,
9054 to avoid repeated calls with multiple inlinings.
9055
9056 * checks.adb (Apply_Alignment_Check): If the expression in the address
9057 clause is a call whose name is not a static entity (e.g. a dispatching
9058 call), treat as dynamic.
9059
90602004-09-09 Robert Dewar <dewar@gnat.com>
9061
9062 * g-trasym.ads: Minor reformatting
9063
9064 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
9065 packed arrays, since unused bits are expected to be zero for a
9066 comparison.
9067
90682004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
9069
9070 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
9071 comment.
9072
90732004-09-09 Pascal Obry <obry@gnat.com>
9074
9075 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
9076 enable map file generation. Add the right option to generate the map
9077 file if Map_File is set to True.
9078
9079 * gnatdll.adb (Gen_Map_File): New variable.
9080 (Syntax): Add info about new -m (Map_File) option.
9081 (Parse_Command_Line): Add support for -m option.
9082 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
9083 Minor reformatting.
9084
90852004-09-09 Laurent Pautet <pautet@act-europe.fr>
9086
9087 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
9088 new gnatdist implementation.
9089 Define a subpackage isolating the output routines specific to this
9090 verbose mode.
9091
90922004-09-09 Joel Brobecker <brobecker@gnat.com>
9093
9094 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
9095
9096 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
9097
90982004-09-09 Cyrille Comar <comar@act-europe.fr>
9099
9100 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
9101 internal unit.
9102
9103 * opt.ads: Add Ada_Version_Runtime constant used to decide which
9104 version of the language is used to compile the run time.
9105
91062004-09-09 Arnaud Charlet <charlet@act-europe.fr>
9107
9108 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
9109 of variable length temporaries for function return now that the
9110 back-end and gigi support it.
9111
23c7b149 91122004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6cdb2c6e
AC
9113
9114 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
9115
9116 * trans.c (struct stmt_group): Delete field GLOBAL.
9117 (gnat_init_stmt_group): Do not initialize it.
9118 (call_to_gnu): Use save_expr, not protect_multiple_eval.
9119 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
9120 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
9121 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
9122 (start_stmt_group): Likewise.
9123 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
9124
9125 * utils2.c (ggc.h): Include.
9126 (build_call_raise): Call build_int_cst, not build_int_2.
9127
9128 * utils.c (gnat_init_decl_processing): Fix arg to
9129 build_common_tree_nodes.
9130 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
9131 (gnat_define_builtin): Set built_in_decls.
9132 (init_gigi_decls): Call build_int_cst, not build_int_2.
9133
9134 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
9135 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
9136 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
9137 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
9138 SET_TYPE_MODULE): Use them.
9139 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
9140 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
9141 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
9142 SET_TYPE_ADA_SIZE): Likewise.
9143 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
9144 (DECL_CONST_CORRESPONDING_VAR,
9145 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
9146 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
9147 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
9148 (TYPE_RM_SIZE_NUM): New macro.
9149 (TYPE_RM_SIZE): Modified to use above.
9150
9151 * cuintp.c: (build_cst_from_int): New function.
9152 (UI_To_gnu): Use it.
9153
9154 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
9155 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
9156 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
9157 MIN_EXPR for the size, copy it into new.
9158
23c7b149 91592004-09-01 Robert Dewar <dewar@gnat.com>
6cdb2c6e
AC
9160
9161 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
9162 packed indexed component where array is an IN OUT formal. This
9163 generated garbage code previously.
9164
9165 * gnat_ugn.texi: Document -fverbose-asm
9166
9167 * gnat-style.texi: Minor updates (note that boolean constants and
9168 variables are joined with AND/OR rather than short circuit forms).
9169
23c7b149 91702004-09-01 Ed Schonberg <schonberg@gnat.com>
6cdb2c6e
AC
9171
9172 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
9173 it is an upward conversion of an untagged type with no representation
9174 change.
9175
23c7b149 91762004-09-01 Thomas Quinot <quinot@act-europe.fr>
6cdb2c6e
AC
9177
9178 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
9179 System.Partition_Interface.
9180
9181 * checks.adb (Apply_Access_Checks): Do not generate checks when
9182 expander is not active (but check for unset reference to prefix of
9183 dereference).
9184
9185 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
9186 pragma Debug as an if statement with a constant condition, for
9187 consistent treatment of entity references contained within the
9188 enclosed procedure call.
9189
23c7b149 91902004-09-01 Vincent Celier <celier@gnat.com>
6cdb2c6e
AC
9191
9192 * bindgen.adb: (Set_EA_Last): New procedure
9193 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
9194 Set_EA_Last.
9195 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
9196 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
9197 linked without errors.
9198 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
9199 ST and EA.
9200 (Gen_Exception_Table_C): Correct same bugs
9201
9202 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
9203
9204 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
9205 on Windows, make sure that the drive letter is in upper case.
9206
9207 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
9208 Windows, when the drive letter is added and Case_Sensitive is True, the
9209 drive letter is forced to upper case.
9210
9211 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
9212 to Options_2 for the call to MLib.Utl.Gcc.
9213
9214 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
9215 directory separator when defining BASE_DIR.
9216
23c7b149 92172004-09-01 Pascal Obry <obry@gnat.com>
6cdb2c6e
AC
9218
9219 * gprcmd.adb (Extend): Do not output trailing directory separator. This
9220 is not needed and it confuses Windows GNU/make which does not report
9221 directory terminated by a slash as a directory.
9222 (gprcmd): Idem for "pwd" internal command.
9223
9224 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
9225 target names rewrite to fix regressions with recent version of
9226 GNU/make. Starting with GNU/make 3.80 the pipe character was not
9227 handled properly anymore.
9228
4eb104c1
AS
92292004-09-01 Andreas Schwab <schwab@suse.de>
9230
9231 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
9232 * raise.c [!IN_RTS]: Undef abort.
9233
6a6bfc8e
NS
92342004-08-27 Nathan Sidwell <nathan@codesourcery.com>
9235
ce552f75
NS
9236 * utils2.c (build_allocator): Use ssize_int.
9237
6a6bfc8e
NS
9238 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
9239
f8b7bf58
AS
92402004-08-27 Andreas Schwab <schwab@suse.de>
9241
9242 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
9243
15793d0c
NS
92442004-08-25 Nathan Sidwell <nathan@codesourcery.com>
9245 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6615c446 9246
15793d0c
NS
9247 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
9248
7d60be94
NS
92492004-08-25 Nathan Sidwell <nathan@codesourcery.com>
9250
9251 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
9252 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9253 * utils.c (init_gigi_decls): Likewise.
9254 * utils2.c (build_call_raise, build_allocator): Likewise.
6615c446 9255
8c1d6d62
NS
92562004-08-24 Nathan Sidwell <nathan@codesourcery.com>
9257
7d60be94 9258 * utils.c (gnat_init_decl_processing): Adjust
8c1d6d62
NS
9259 build_common_tree_nodes call.
9260
3224bead
NS
92612004-08-20 Nathan Sidwell <nathan@codesourcery.com>
9262
9263 * utils2.c (build_allocator): Use build_int_cst for negative
9264 size types.
9265
4766261d
RH
92662004-08-18 Richard Henderson <rth@redhat.com>
9267
9268 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
9269
1f6c00df
NS
92702004-08-16 Nathan Sidwell <nathan@codesourcery.com>
9271
9272 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
9273 call.s
9274 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
9275 (gnat_to_gnu): Likewise.
9276
4c46b835
AC
92772004-08-16 Pascal Obry <obry@gnat.com>
9278
9279 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
9280 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
9281 option and not mdll anymore. Update comment.
9282
92832004-08-16 Pascal Obry <obry@gnat.com>
9284
9285 * bld.adb (Put_Include_Project): Properly handle directory separators
9286 on Windows.
9287
92882004-08-16 Ed Schonberg <schonberg@gnat.com>
9289
9290 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
9291 decreasing the number of allocated junk nodes while searching for the
9292 appropriate subprogram.
9293
4a90aeeb
NS
92942004-08-15 Nathan Sidwell <nathan@codesourcery.com>
9295
9296 * cuintp.c (UI_To_gnu): Use build_int_cst..
9297 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9298 * utils.c (init_gigi_decls): Likewise.
9299 * utils2.c (build_call_raise): Likewise.
9300
244e5a2c
AC
93012004-08-13 Olivier Hainque <hainque@act-europe.fr>
9302
9303 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
9304 for a global aliased object with a variable size and an unconstrained
9305 nominal subtype, pretend there is no initializer if the one we have is
9306 incomplete, and avoid referencing an inexistant component in there. The
9307 part we have will be rebuilt anyway and the reference may confuse
9308 further operations.
9309
93102004-08-13 Thomas Quinot <quinot@act-europe.fr>
9311
9312 * einfo.ads: Minor reformatting
9313
9314 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
9315 restrictions in the ALI if we only want to warn about violations.
9316
93172004-08-13 Vincent Celier <celier@gnat.com>
9318
9319 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
9320 when creating a new Unit_Record in table Units.
9321
9322 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
9323 that are violated, if any.
9324
9325 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
9326 add directory separator if path already ends with a directory separator.
9327
93282004-08-13 Ed Schonberg <schonberg@gnat.com>
9329
9330 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
9331 unit, this is an attempt to inline a construct that is not available in
9332 the current restricted mode, so abort rather than trying to continue.
9333
9334 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
9335 discriminants that rename those of the parent, recover names of
9336 original discriminants for the constraint on the full view of the
9337 parent.
9338 (Complete_Private_Subtype): Do not create a subtype declaration if the
9339 subtype is an itype.
9340
9341 * gnat_rm.texi: Added section on implementation of discriminated
9342 records with default values for discriminants.
9343
93442004-08-13 Ed Schonberg <schonberg@gnat.com>
9345
9346 PR ada/15601
9347 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
9348 the second operand is overloaded.
9349
1a186ec5
RH
93502004-08-10 Richard Henderson <rth@redhat.com>
9351
9352 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
9353 add __builtin_alloca.
9354
89f1a702
RH
93552004-08-10 Richard Henderson <rth@redhat.com>
9356
9357 * config-lang.in (boot_language): Yes.
9358
5d09245e
AC
93592004-08-09 Thomas Quinot <quinot@act-europe.fr>
9360
9361 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
9362 from complaining on potential uninitialized reference.
9363 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
9364 new specification and test explicitly for non-zero return value.
9365
9366 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
9367 returning C.int, to avoid using a derived boolean type.
9368
9369 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
9370 Duplicate_Subexpr_No_Checks in preference to direct use of
9371 Remove_Side_Effects and New_Copy_Tree.
9372 Clear Comes_From_Source on prefix of 'Size attribute reference.
9373
9374 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
9375 g-socthi-vxworks.adb: Change calls to
9376 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
9377 and test explicitly for non-zero return value.
9378
6615c446 9379 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
5d09245e
AC
9380 (Is_Socket_In_Set): Declare imported function as returning C.int, to
9381 avoid using a derived boolean type.
9382
93832004-08-09 Albert Lee <lee@gnat.com>
9384
9385 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
9386
93872004-08-09 Pascal Obry <obry@gnat.com>
9388
9389 * gnat_ugn.texi: Document new way to build DLLs on Windows using
9390 GCC's -shared option.
9391
9392 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
9393 Options_2 parameter (options put after object files).
9394
93952004-08-09 Olivier Hainque <hainque@act-europe.fr>
9396
9397 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
9398 ignore overflows on low and high bounds of an index to also account for
9399 differences in signedness between sizetype and gnu_index_subtype.
9400 These are as legitimate as the ones caused by a lower TYPE_PRECISION
9401 on sizetype.
9402
94032004-08-09 Robert Dewar <dewar@gnat.com>
9404
9405 * s-solita.ads, s-solita.adb: Minor reformatting
9406
9407 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
9408 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
9409 obsolescent section
9410 Add note that No_Implicit_Conditionals does not suppress
9411 run time constraint checks.
9412
9413 * vms_conv.ads: Minor reformatting
9414
9415 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
9416 and necessary for following change).
9417 (Mark): Return new format Mark_Id containing sec stack address
9418 (Release): Use sec stack address from Mark_Id avoiding Self call
9419
9420 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
9421 pointer (cleanup and necessary for following change).
9422 Define Mark_Id as record containing address of secondary stack, that way
9423 Release does not need to find the stack again, decreasing the number of
9424 calls to Self and improving efficiency.
9425
9426 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
9427
9428 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
9429 case variable into the individual case branches when possible.
9430
9431 * sem_ch11.adb: Minor reformatting
9432
9433 * prj.ads: Correct spelling of suffixs
9434
9435 * prj-nmsc.adb: Minor reformatting
9436 Correct spelling suffixs throughout (also in identifiers)
9437
9438 * freeze.adb: Minor spelling correction
9439
9440 * exp_ch2.adb: Cleanups to handling of Current_Value
9441 (no functional effect).
9442
9443 * bld.adb: Correct spelling of suffixs
9444
9445 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
9446
94472004-08-09 Ed Schonberg <schonberg@gnat.com>
9448
9449 PR ada/15408
9450
9451 * sem_ch7.adb (Install_Private_Declarations): In the body of the
9452 package or of a child, private entities are both immediately_visible
9453 and not hidden.
9454
94552004-08-09 Ed Schonberg <schonberg@gnat.com>
9456
9457 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
9458 there are no range checks on the value of the literal.
9459
9460 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
9461 wrapped is the triggering alternative of an asynchronous select, action
9462 statements mustbe inserted before the select itself.
9463
9464 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
9465 case where the prefix is a protected function call.
9466 (Resolve_Attribute, case 'Access): The attribute reference on a
9467 subprogram is legal in a generic body if the subprogram is declared
9468 elsewhere.
9469
94702004-08-09 Vincent Celier <celier@gnat.com>
9471
9472 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
9473 languages, otherwise building the library may fail with unresolved
9474 symbols.
9475 (Compile_Sources): Do not build libraries if -c switch is used
9476
9477 * gnatlink.adb (Process_Args): New switches -M and -Mmap
9478 (Write_Usage): If map file creation is supported, output new switches
9479 -M and -Mmap.
9480 (Gnatlink): When -M is specified, add the necessary switch(es) to the
9481 gcc call, when supported.
9482
9483 * Makefile.in: Added indepsw.o to the object list for gnatlink
9484 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
9485
9486 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
9487 indepsw.adb, indepsw.ads: New files.
9488
94892004-08-09 Bernard Banner <banner@gnat.com>
9490
9491 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
9492
9493 * Makefile.in: add section for vxworks x86
9494
94952004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
9496
9497 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
9498 per-object constrained components where the discriminant is of an
9499 Access type.
9500 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
9501 the parent initialization procedure for derived Unchecked_Unions.
9502 Instead, derived Unchecked_Unions build their own initialization
9503 procedure.
9504 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
9505 Check the body of the subprogram for details.
9506 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
9507 functions for derived Unchecked_Union types by introducing a condition.
9508 Allow the creation of TSS equality functions for Unchecked_Unions.
9509 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
9510 Add formal parameter Discr to function signature. Discr is used to
9511 control the generated case statement for Unchecked_Union types.
9512 (Make_Eq_If): Rename formal parameter Node to E in function signature.
9513
9514 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
9515 Unchecked_Unions.
9516 Check the body of the subprogram for details.
9517 (Expand_Composite_Equality): Augment composite type equality to include
9518 correct handling of Unchecked_Union components.
9519 (Expand_N_In): Add condition to detect illegal membership tests when the
9520 subtype mark is a constrained Unchecked_Union and the expression lacks
9521 inferable discriminants, and build a Raise_Program_Error node.
9522 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
9523 to detect types that contain components of unconstrained Unchecked_Union
9524 subtype. Add condition to detect equality between types that have an
9525 unconstrained Unchecked_Union component, and build a Raise_Program_Error
9526 node. Add condition to detect equality between Unchecked_Union types
9527 that lack inferable discriminants, and build a Raise_Program_Error node.
9528 Otherwise build a TSS equality function call.
9529 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
9530 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
9531 with the operand lacking inferable discriminants, and build a Raise_
9532 Program_Error node.
9533 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
9534 composite equality.
9535 (Has_Inferable_Discriminants): Implement new predicate for objects and
9536 expressions of Unchecked_Union type. Check the body of subprogram for
9537 details.
9538 (Has_Unconstrained_UU_Components): Add function
9539 Component_Is_Unconstrained_UU. It is used to detect whether a single
9540 component is of an unconstrained Unchecked_Union subtype. Add function
9541 Variant_Is_Unconstrained_UU. It is used to detect whether a single
9542 component inside a variant is of an unconstrained Unchecked_Union type.
9543
9544 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
9545 inferred discriminant values. Add condition to generate a case
9546 statement with an inferred discriminant as the switch.
9547 (Make_Component_List_Assign): Introduce a Boolean flag that determines
9548 the behaviour of the subprogram in the presence of an Unchecked_Union.
9549 Add condition to trigger the usage of the inferred discriminant value
9550 as the generated case statement switch.
9551 (Make_Field_Assign): Introduce a Boolean flag that determines the
9552 behaviour of the subprogram in the presence of an Unchecked_Union. Add
9553 condition to trigger the usage of the inferred discriminant value as
9554 the right-hand side of the generated assignment.
9555
9556 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
9557 parameter generation when dealing with Unchecked_Unions.
9558
9559 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
9560 checks for Unchecked_Unions.
9561
9562 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
9563
9564 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
9565 Raise_Program_Error nodes for the execution of Read and Write
9566 attributes of Unchecked_Union types and the execution of Input and
9567 Output attributes of Unchecked_Union types that lack default
9568 discriminant values.
9569
9570 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
9571 Unchecked_Union. Add procedure Check_Component. It is used to inspect
9572 per-object constrained components of Unchecked_Unions for being
9573 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
9574 check individual components withing a variant.
9575
9576 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
9577 comparison of Unchecked_Unions.
9578 (Resolve_Equality_OP): Remove guard that prevents equality between
9579 Unchecked_Unions.
9580
9581 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
9582 of component subtypes for Unchecked_Union components.
9583 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
9584 since it is the actual subtype.
9585
9586 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
9587 pass of Unchecked_Union subtypes as generic actuals to formal types
9588 that lack known_discriminant_parts or that are derived Unchecked_Union
9589 types, and do nothing. In any other case, produce an error message.
9590
9591 * sem_ch3.adb (Analyze_Component_Declaration): Add function
9592 Contains_POC. It determines whether a constraint uses the discriminant
9593 of an enclosing record type.
9594 Add condition to detect per-object constrained component and set the
9595 appropriate flag.
9596 (Derived_Type_Declaration): Remove guard that prevents derivation from
9597 Unchecked_Union types.
9598 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
9599 Union subtypes.
9600
9601 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
9602 references to Unchecked_Union discriminants.
9603
9604 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
9605 formal generation when dealing with Unchecked_Unions.
9606 (Set_Actual_Subtypes): Add condition to prevent generation of actual
9607 subtypes for Unchecked_Unions.
9608
9609 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
9610 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
9611 completions of discriminated partial views by Unchecked_Unions and
9612 produce an error message.
9613
96142004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9615
9616 * trans.c (struct stmt_group): New field, GLOBAL.
9617 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
9618 (struct elab_info): New struct.
9619 (elab_info_list, gnu_elab_proc_stack): New variables.
9620 (Compilation_Unit_to_gnu): New procedure.
9621 (gigi): Call it and also handle elaboration procs we've saved.
9622 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
9623 global field from parent.
9624 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
9625 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
9626 (start_stmt_group): Initialize global field from parent.
9627 (add_decl_expr): Set to global for current statement group.
9628 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
9629 post.
9630
9631 * utils.c (global_bindings_p): True when no current_function_decl; no
9632 longer check current_binding_level.
9633
96342004-08-09 Ben Brosgol <brosgol@gnat.com>
9635
9636 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
9637 choice.
9638
9639 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
9640
160ff372
AS
96412004-08-06 Andreas Schwab <schwab@suse.de>
9642
9643 * utils.c (gnat_define_builtin): Remove second parameter of
9644 make_decl_rtl.
9645 (begin_subprog_body): Likewise.
9646
615cbd95
AC
96472004-07-26 Arnaud Charlet <charlet@act-europe.fr>
9648
9649 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
9650 optimization, not supported by the tree-ssa back-end.
9651
96522004-07-26 Olivier Hainque <hainque@act-europe.fr>
9653
9654 * s-mastop-irix.adb: Update comments.
9655
9656 * a-except.adb (Exception_Information): Raise Constraint_Error if
9657 exception Id is Null_Id.
9658 This is required behavior, which is more reliably and clearly checked
9659 at the top level interface level.
9660
96612004-07-26 Javier Miranda <miranda@gnat.com>
9662
9663 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
9664 call if a component has no default_expression and the box is used.
9665
9666 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
9667 default_expression and you use box, it behaves as if you had declared a
9668 stand-alone object.
9669 (Resolve_Record_Aggregate): If a component has no default_expression and
9670 you use box, it behaves as if you had declared a stand-alone object.
9671
9672 * sem_ch10.adb (Install_Siblings): Do not make visible the private
9673 entities of private-with siblings.
9674
96752004-07-26 Ed Schonberg <schonberg@gnat.com>
9676
9677 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
9678 for a component of an itype, set the parent pointer for analysis,
9679 there is no list in which to insert it.
9680
9681 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
9682 bona-fide renamings, not for inherited operations.
9683
9684 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
9685 actual for a formal that is an access parameter, create local
9686 finalization list even if the expression is not an aggregate.
9687
96882004-07-26 Ed Schonberg <schonberg@gnat.com>
9689
9690 PR ada/16213
9691 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
9692 Diagnose properly illegal subprogram renamings that are library units.
9693
96942004-07-26 Ed Schonberg <schonberg@gnat.com>
9695
9696 PR ada/15588
9697 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
9698 conversion rewritten as an unchecked conversion, check that original
9699 expression is a variable.
9700
9701 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
9702 unchecked_conversion, create new node rather than rewriting in place,
9703 to preserve original construct.
9704
97052004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9706
9707 * gigi.h (gnat_expand_body): Deleted.
9708
9709 * Make-lang.in: (trans.o): Depends on function.h.
9710
9711 * misc.c: (gnat_expand_body): Moved to here.
9712
9713 * trans.c (gnat_expand_body_1): Deleted.
9714 (gnat_expand_body): Moved from here.
9715 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
9716 (add_stmt): Check for marked visited with global_bindings_p.
9717 (gnat_gimplify_expr, case COMPONENT_REF): New case.
9718 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
9719
9720 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
9721 VIEW_CONVERT_EXPR if not operation type.
9722
9723 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
9724 fat pointer.
9725
9726 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
9727 changes: reformatting of negation operators, removing unneeded
9728 inequality comparison with zero, converting equality comparisons with
9729 zero to negations, changing int/0/1 to bool/false/true, replace calls
9730 to gigi_abort with abort, and various other similar changes.
9731
97322004-07-26 Vincent Celier <celier@gnat.com>
9733
9734 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
9735 "setup".
9736
9737 * make.adb (Gnatmake): Fail when a library is not present and there is
9738 no object directory.
9739
9740 * mlib-prj.adb (Check_Library): No need to check if the library needs
9741 to be rebuilt if there is no object directory, hence no object files
9742 to build the library.
9743
9744 * opt.ads (Setup_Projects): New Boolean flag.
9745
9746 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
9747 Location.
9748 Create directory when Kind /= "" and in "gnat setup". Report error if
9749 directory cannot be created.
9750 (Ada_Check): Create library interface copy dir if it does not exist
9751 and we are in "gnat setup".
9752 (Find_Sources): No error if in "gnat setup" and no Ada sources were
9753 found.
9754 (Language_Independent_Check): Create object directory, exec directory
9755 and/or library directory if they do not exist and we are in
9756 "gnat setup".
9757
9758 * vms_conv.ads: (Command_Type): New command Setup.
9759
9760 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
9761
9762 * vms_data.ads: Add qualifiers/switches for new built-in command
9763 "setup".
9764
b785f485
RH
97652004-07-25 Richard Henderson <rth@redhat.com>
9766
9767 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
9768 DECL_IGNORED_P on RESULT_DECL.
9769
35ae2ed8
AC
97702004-07-20 Olivier Hainque <hainque@act-europe.fr>
9771
9772 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
9773 allocation and potentially overflowing update with
9774 Tailored_Exception_Information. Use the sec-stack free procedural
9775 interface to output Exception_Information instead.
9776
9777 * a-except.adb (To_Stderr): New subprogram for character, and string
9778 version moved from a-exextr to be visible from other separate units.
9779 (Tailored_Exception_Information): Remove the procedural version,
9780 previously used by the default Last_Chance_Handler and not any more.
9781 Adjust various comments.
9782
9783 * a-exexda.adb: Generalize the exception information procedural
9784 interface, to minimize the use of secondary stack and the need for
9785 local buffers when the info is to be output to stderr:
9786 (Address_Image): Removed.
9787 (Append_Info_Character): New subprogram, checking for overflows and
9788 outputing to stderr if buffer to fill is of length 0.
9789 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
9790 (Append_Info_Address, Append_Info_Exception_Name,
9791 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
9792 Append_Info_Basic_Exception_Traceback,
9793 Append_Info_Exception_Information): New subprograms.
9794 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
9795 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
9796 Exception_Info_Maxlength, Exception_Name_Length,
9797 Exception_Message_Length): New subprograms.
9798 (Exception_Information): Use Append_Info_Exception_Information.
9799 (Tailored_Exception_Information): Use
9800 Append_Info_Basic_Exception_Information.
9801 Export services for the default Last_Chance_Handler.
9802
9803 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
9804 other separate units.
9805
98062004-07-20 Vincent Celier <celier@gnat.com>
9807
9808 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
9809
98102004-07-20 Ed Schonberg <schonberg@gnat.com>
9811
9812 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
9813 emit itype references for the designated types of component types that
9814 are declared outside of the full record declaration, and that may
9815 denote a partial view of that record type.
9816
98172004-07-20 Ed Schonberg <schonberg@gnat.com>
9818
9819 PR ada/15607
9820 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
9821 which is the designated type in an access component declaration, to the
9822 list of incomplete dependents of the parent type, to avoid elaboration
9823 issues with out-of-scope subtypes.
9824 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
9825 full view of the parent.
9826
98272004-07-20 Ed Schonberg <schonberg@gnat.com>
9828
9829 PR ada/15610
9830 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
9831 entities that are hidden, such as references to generic actuals
9832 outside an instance.
9833
98342004-07-20 Javier Miranda <miranda@gnat.com>
9835
9836 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
9837 support to the new notation.
9838 (Analyze_Selected_Component): Add call to Try_Object_Operation.
9839
98402004-07-20 Jose Ruiz <ruiz@act-europe.fr>
9841
9842 * s-taprob.adb: Adding the elaboration code required for initializing
9843 the tasking soft links that are common to the full and the restricted
9844 run times.
9845
9846 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
9847 restricted run time has been moved to the package
9848 System.Soft_Links.Tasking.
9849
9850 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
9851 restricted run time has been moved to the package
9852 System.Soft_Links.Tasking.
9853
9854 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
9855
9856 * s-solita.ads, s-solita.adb: New files.
9857
98582004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9859
9860 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
9861 Case_Statement_to_gnu): Split off from gnat_to_gnu.
9862 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
9863 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
9864 Exception_Handler_to_gnu_zcx): Likewise.
9865
6e34d3a3
JM
98662004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
9867
9868 * gigi.h (builtin_function): Declare.
9869
523456db
AC
98702004-07-15 Robert Dewar <dewar@gnat.com>
9871
9872 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
9873 reformatting
9874
9875 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
9876 access values as an example of a warning.
9877
9878 * gnat_rm.texi: Document new attribute Has_Access_Values
9879
9880 * gnat-style.texi: Document that box comments belong on nested
9881 subprograms
9882
9883 * sem_util.ads (Has_Access_Values): Improved documentation
9884
9885 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
9886
9887 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
9888 (Process_Interface_Name): Call to this new procedure
9889 (Set_Extended_Import_Export_External_Name): Call to this new procedure
9890
9891 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
9892
9893 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
9894
9895 * einfo.ads: Minor comment typo fixed
9896
98972004-07-15 Jose Ruiz <ruiz@act-europe.fr>
9898
9899 * snames.adb: Add _atcb.
9900
9901 * snames.ads: Add Name_uATCB.
9902
9903 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
9904 (in the expanded code) when using the restricted run time.
9905
9906 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
9907 a in parameter in order to allow ATCBs to be preallocated (in the
9908 expanded code).
9909
9910 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
9911 order to allow ATCBs to be preallocated. In case of error, the ATCB is
9912 deallocated in System.Tasking.Stages.
9913
9914 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
9915 order to allow ATCBs to be preallocated.
9916
9917 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
9918 here. It was previously done in Initialize_ATCB.
9919
9920 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
9921
9922 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
9923 Restricted run time.
9924
9925 * exp_ch3.adb: When using the Restricted run time, pass the
9926 preallocated Ada_Task_Control_Block when creating a task.
9927
99282004-07-15 Ed Schonberg <schonberg@gnat.com>
9929
9930 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
9931 function call that is itself an actual in an enclosing call, diagnose
9932 problem here rather than assuming that resolution will catch it.
9933
9934 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
9935 the local copy of a generic unit for a formal package, and the generic
9936 is a child unit, install private part of ancestors before compiling
9937 private part of spec.
9938
9939 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
9940 use scope entities rather than tree structures, to handle properly
9941 parent units that are instances rewritten as bodies for inlining
9942 purposes.
9943
9944 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
9945 Remove_Parents): Handle properly a parent unit that is an
9946 instantiation, when the unit has been rewritten as a body for inlining
9947 purposes.
9948
9949 * par.adb (Goto_List): Global variable to collect goto statements in a
9950 given unit, for use in detecting natural loops.
9951
9952 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
9953 use in detecting natural loops.
9954
9955 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
9956 backwards goto's, and rewrite as a infinite loop, to improve locality
9957 of temporaries.
9958
9959 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
9960 subcomponent that includes an indexed reference, to prevent the
9961 generation of copies that would miscompile the desired assignment
9962 statement.
9963 (Build_Task_Image_Decls): Add a numeric suffix to
9964 generated name for string variable, to avoid spurious conflicts with
9965 the name of the type of a single protected object.
9966
9967 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
9968 loop with an explicit exit statement, to avoid generating an
9969 out-of-range value with 'Succ leading to spurious constraint_errors
9970 when compiling with -gnatVo.
9971
99722004-07-15 Thomas Quinot <quinot@act-europe.fr>
9973
9974 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
9975 might not be analyzed yet, even if its Etype is already set (case of an
9976 unchecked conversion built using Unchecked_Convert_To, for example).
9977 If the prefix has already been analyzed, this will be a nop anyway.
9978
9979 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
9980 controller type, or an assignment of a record type with controlled
9981 components, copy only user data, and leave the finalization chain
9982 pointers untouched.
9983
99842004-07-15 Vincent Celier <celier@gnat.com>
9985
9986 * make.adb (Collect_Arguments): Improve error message when attempting
9987 to compile a source not part of any project, when -x is not used.
9988
9989 * prj.ads: (Defined_Variable_Kind): New subtype
9990
9991 * prj-attr.adb (Register_New_Package): Two new procedures to register
9992 a package with or without its attributes.
9993 (Register_New_Attribute): Mew procedure to register a new attribute in a
9994 package.
9995 New attribute oriented subprograms: Attribute_Node_Id_Of,
9996 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
9997 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
9998 Next_Attribute.
9999 New package oriented subprograms: Package_Node_Id_Of,
10000 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10001
10002 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
10003 type.
10004 (Package_Node_Id): Now a private, self initialized type
10005 (Register_New_Package): New procedure to register a package with its
10006 attributes.
10007 New attribute oriented subprograms: Attribute_Node_Id_Of,
10008 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10009 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10010 Next_Attribute.
10011 New package oriented subprograms: Package_Node_Id_Of,
10012 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10013
10014 * prj-dect.adb (Parse_Attribute_Declaration,
10015 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
10016
10017 * prj-makr.adb (Make): Parse existing project file before creating
10018 other files. Fail if there was an error during parsing.
10019
10020 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
10021 new spec of Prj.Attr.
10022
10023 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
10024 to new spec of Prj.Attr.
10025
100262004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10027
10028 * utils2.c: Fix typo in comment.
10029
100302004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
54805e13
RK
10031
10032 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
10033 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
10034
a1c7af89
AS
100352004-07-14 Andreas Schwab <schwab@suse.de>
10036
10037 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
10038
a5cb3b30
AC
100392004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10040
10041 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
10042 object type.
10043 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
10044 TYPE_STUB_DECL.
10045
10046 * misc.c (gnat_types_compatible_p): New function.
10047 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
10048 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
10049
10050 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
10051 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
10052 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
10053 (mark_visited): Don't mark dummy type.
6615c446 10054 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
a5cb3b30
AC
10055 parameter, we must remove any LJM building from GNU_NAME.
10056 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
10057 (pos_to_constructor): Use int_const_binop.
10058 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
10059 PARM_DECL.
10060
10061 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
10062 (gnat_pushlevel): Set TREE_USE on BLOCK node.
10063 (gnat_install_builtins): Add __builtin_memset.
10064
100652004-07-13 Olivier Hainque <hainque@act-europe.fr>
10066
10067 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
10068 for a renaming, stabilize the initialization expression if we are at a
10069 local level. At the local level, uses of the renaming may be performed
10070 by a direct dereference of the initializing expression, and we don't
10071 want possible variables there to be evaluated for every use.
10072
10073 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
10074 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
10075 them on the way. Account for the fact that we may introduce side
10076 effects in the process.
10077
0976078c
RH
100782004-07-13 Richard Henderson <rth@redhat.com>
10079
10080 * misc.c (default_pass_by_ref): Use pass_by_reference.
10081
9dcf6e73
JM
100822004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
10083
10084 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
10085 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
10086
ac45df5d
RH
100872004-07-08 Richard Henderson <rth@redhat.com>
10088
10089 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
10090 commentary.
10091
15ce9ca2
AC
100922004-07-06 Vincent Celier <celier@gnat.com>
10093
10094 * vms_conv.ads: Minor reformatting.
10095 Alphabetical order for enumerated values of type Command_Type, to have
10096 the command in alphabetical order for the usage.
10097
10098 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
10099 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
10100
10101 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
10102
10103 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
10104 (Add_Archive_Path): Only add the global archive if there is one.
10105 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
10106 or not any object file to put in the global archive, and don't build
10107 a global archive if there is none.
10108 (X_Switches): New table
10109 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
10110 in the X_Switches table, if any.
10111 (Initialize): Make sure the X_Switches table is empty
10112 (Scan_Arg): Record -X switches in table X_Switches
10113
10114 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
10115
10116 * make.adb: Minor comment fix
10117
10118 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
10119 invoked with directory information, add the directory in front of the
10120 path.
10121
10122 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
10123 invoked with directory information, add the directory in front of the
10124 path.
10125
10126 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
10127 when Keep_Temporary_Files is False.
10128 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
10129 directory information, add the directory in front of the path.
10130 When not on VMS, handle new switch -dn before the command to set
10131 Keep_Temporary_Files to True.
10132 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
10133 everywhere.
10134
10135 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
10136 invoked with directory information, add the directory in front of the
10137 path.
10138
101392004-07-06 Thomas Quinot <quinot@act-europe.fr>
10140
10141 * snames.ads, snames.adb (Name_Stub): New name for the distributed
10142 systems annex.
10143
10144 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
10145 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
10146
10147 * g-socket.adb (To_Timeval): Fix incorrect conversion of
10148 Selector_Duration to Timeval for the case of 0.0.
10149
10150 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
10151 documentation from Evolve_And_Then.
10152
101532004-07-06 Jose Ruiz <ruiz@act-europe.fr>
10154
10155 * s-taprop-tru64.adb, s-taprop-os2.adb,
10156 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
10157
101582004-07-06 Robert Dewar <dewar@gnat.com>
10159
10160 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
10161 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
10162 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
10163 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
10164 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
10165 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
10166 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
10167 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
10168 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
10169 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
10170 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
10171 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
10172 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
10173 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
10174 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
10175 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
10176 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
10177 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
10178 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
10179 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
10180 vms_data.ads: Minor reformatting,
10181 Fix bad box comment format.
10182
10183 * gnat_rm.texi: Fix minor grammatical error
10184
10185 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
10186
10187 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
10188 more cases of discriminated records to be recognized as not needing a
10189 secondary stack.
10190 (Has_Access_Values): New function.
10191
10192 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
10193
10194 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
10195 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
10196 with LRM terminology).
10197 Change terminology in comments primitive type => elementary type.
10198
101992004-07-06 Ed Schonberg <schonberg@gnat.com>
10200
10201 PR ada/15602
10202 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
10203 parameters do not impose any requirements on the presence of a body.
10204
102052004-07-06 Ed Schonberg <schonberg@gnat.com>
10206
10207 PR ada/15593
10208 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
10209 compilation unit and is in an open scope at the point of instantiation,
10210 assume that a body may be present later.
10211
102122004-07-06 Ed Schonberg <schonberg@gnat.com>
10213
10214 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
10215 Improve error message when specified size is not supported.
10216
10217 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
10218 is never a primitive operation.
10219
cb42deba
AS
102202004-07-05 Andreas Schwab <schwab@suse.de>
10221
10222 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
10223 RECORD_OR_UNION_CHECK.
10224 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
10225
98877933
KC
102262004-07-04 Kelley Cook <kcook@gcc.gnu.org>
10227
10228 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
10229 dependency on xgnatugn, instead build it via a submake.
10230 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
10231
8fff4fc1
RH
102322004-07-04 Richard Henderson <rth@redhat.com>
10233
10234 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
10235
4dfa0342
RH
102362004-07-01 Richard Henderson <rth@redhat.com>
10237
10238 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
10239 * utils.c (max_size): Likewise.
10240
909f21b3
RK
102412004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10242
10243 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
10244 and rest_of_type_compilation; add arg to create_*_decl.
15cd18b9 10245 (annotate_decl_with_node): Deleted.
909f21b3
RK
10246 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
10247 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
10248 (get_current_block_context, gnat_pushdecl): New declarations.
10249 (gnat_init_stmt_group): Likewise.
10250 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
10251 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
10252 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
10253 (gnat_init): Call gnat_init_stmt_group.
10254 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
10255 (gnu_pending_elaboration_list): Deleted.
10256 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
10257 (gigi): Rearrange initialization calls and move some to last above.
10258 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
10259 Delete calls to add_decl_expr; add arg to create_*_decl.
10260 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
6615c446 10261 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
909f21b3
RK
10262 begin_subprog_body and call it.
10263 Don't push and pop ggc context.
10264 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
10265 (add_stmt): Remove handling of DECL_EXPR from here.
10266 If not in function, mark visited.
10267 (add_decl_expr): Put global at top level.
10268 Check for cases of DECL_INITIAL we have to handle here.
10269 (process_type): Add extra arg to create_type_decl.
10270 (build_unit_elab): Rework to just gimplify.
10271 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
10272 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
10273 (get_pending_elaborations, pending_elaborations_p): Likewise.
10274 (push_pending_elaborations, pop_pending_elaborations): Likewise.
10275 (get_elaboration_location, insert_elaboration_list): Likewise.
10276 (gnat_binding_level): Renamed from ada_binding_level.
10277 (init_gnat_to_gnu): Don't clear pending_elaborations.
10278 (global_bindings_p): Treat as global if no current_binding_level.
10279 (set_current_block_context): New function.
10280 (gnat_pushdecl): Renamed from pushdecl; major rework.
10281 All callers changed.
10282 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
10283 (finish_record_type): Call call pushdecl for stub decl.
10284 (function_nesting_depth): Deleted.
10285 (begin_subprog_body): Delete obsolete code.
10286 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
6615c446 10287
246d2ceb
AC
102882004-06-28 Robert Dewar <dewar@gnat.com>
10289
10290 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10291 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
10292 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
10293 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
10294 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
10295
10296 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
10297 deal with problem of inefficient slices on machines with strict
10298 alignment, when the slice is a component of a composite.
10299
10300 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
10301 machines, we need the check there as well.
10302
103032004-06-28 Ed Schonberg <schonberg@gnat.com>
10304
10305 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
10306 determine safe copying direction for overlapping slice assignments
10307 when component is controlled.
10308
10309 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
10310 formal derived type in the actual for a formal package are visible in
10311 the enclosing instance.
10312
103132004-06-28 Ed Schonberg <schonberg@gnat.com>
10314
10315 PR ada/15600
10316 * sem_util.adb (Trace_Components): Diagnose properly an illegal
10317 circularity involving a private type whose completion includes a
10318 self-referential component.
10319 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
10320 renaming or an instantiation from an implicit derived operation.
10321
103222004-06-28 Pascal Obry <obry@gnat.com>
10323
10324 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
10325 DLL.
10326 (Library_File_Name_For): Idem.
10327
103282004-06-28 Matthew Gingell <gingell@gnat.com>
10329
10330 * g-traceb.ads: Add explanatory note on the format of addresses
10331 expected by addr2line.
10332
103332004-06-28 Jerome Guitton <guitton@act-europe.fr>
10334
10335 * Makefile.in: Force debugging information on s-tasdeb.adb,
10336 a-except.adb and s-assert.adb needed by the debugger.
10337
103382004-06-28 Vincent Celier <celier@gnat.com>
10339
10340 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
10341 Need_To_Build_Lib.
10342 (Gnatmake): Ditto.
10343
10344 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
10345
10346 * prj.adb: Minor reformatting
10347 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
10348
10349 * prj.ads: Comment updates
10350 Minor reformatting
10351 (Project_Data): Change Flag1 to Need_To_Build_Lib.
10352 Remove Flag2: not used.
10353
10354 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
10355 declaration.
10356
10357 * gnat_ugn.texi: Put a "null;" declaration in one project file example
10358
10359 * gnat_rm.texi: Document Empty declarations "null;".
10360
10361 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
10362 front of the linker options.
10363 (Link_Foreign): Put the global archives and the libraries in front of
10364 the linker options.
10365
103662004-06-28 Javier Miranda <miranda@gnat.com>
10367
10368 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
10369 (RTU_Loaded): Code cleanup
10370 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
10371 withed predefined units.
10372
10373 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
10374 explicitly withed predefined units.
10375 Fix typo in comment
10376
10377 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
10378 explicitly withed predefined units.
10379
bce3da32
RK
103802004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10381
10382 * ada-tree.def (DECL_STMT): Deleted.
10383 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
10384 (DECL_STMT_VAR): Deleted.
10385 * decl.c: add_decl_stmt now add_decl_expr.
10386 * gigi.h: Likewise.
10387 * trans.c: Likewise.
15cd18b9 10388 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
bce3da32
RK
10389 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
10390 (add_stmt): Only handle padded type here.
10391 (add_stmt_with_node): Allow gnat_node to not be present.
10392 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
10393 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
10394 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
10395 make a SAVE_EXPR for the entire fat pointer.
10396 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
10397 (create_index_type): Make a DECL_EXPR.
10398 (end_subprog_body): Don't call allocate_struct_function here but
10399 do clear cfun.
10400
0da2c8ac
AC
104012004-06-25 Pascal Obry <obry@gnat.com>
10402
10403 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
10404 Relocatable from Build_Dynamic_Library call.
10405
10406 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
10407 Relocatable are now synonym.
10408
10409 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
10410
10411 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
10412 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
10413 call.
10414
10415 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
10416 Lib_Address and Relocatable.
10417 (Default_DLL_Address): Removed.
10418
6615c446
JO
10419 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10420 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
0da2c8ac
AC
10421 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
10422 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
10423 (Default_DLL_Address): Removed.
10424
10425 * mlib-tgt-mingw.adb: Ditto.
10426 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
10427
10428 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
10429 the initial thread stack size.
10430
10431 * a-strmap.ads: Move package L to private part as it is not used in
10432 the spec. Found while reading code.
10433
104342004-06-25 Olivier Hainque <hainque@act-europe.fr>
10435
10436 * tracebak.c: Introduce support for a GCC infrastructure based
10437 implementation of __gnat_backtrace.
10438
10439 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
10440 any more. Use accessors instead. This eases maintenance and relaxes
10441 some alignment constraints.
10442 (_GNAT_Exception structure): Remove the Ada specific fields
10443 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
10444 a-exexpr.adb.
10445 (is_handled_by, __gnat_eh_personality): Replace component references to
10446 exception structure by use of the new accessors.
10447
10448 * init.c (__gnat_initialize): Adjust comments to match the just
10449 reverted meaning of the -static link-time option.
10450
10451 * adaint.c (convert_addresses): Arrange not to define a stub for
10452 mips-irix any more, as we now want to rely on a real version from a
10453 recent libaddr2line.
10454
10455 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
10456 the personality routine can use them and not have to rely on a C
10457 counterpart of the record anymore. This simplifies maintenance and
10458 relaxes the constraint of having Standard'Maximum_Alignment match
10459 BIGGEST_ALIGNMENT.
10460 Update comments, and add a section on the common header alignment issue.
10461
104622004-06-25 Geert Bosch <bosch@gnat.com>
10463
10464 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
10465 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
10466
104672004-06-25 Robert Dewar <dewar@gnat.com>
10468
10469 * gnat_rm.texi: Fix section on component clauses to indicate that the
10470 restriction on byte boundary placement still applies for bit packed
10471 arrays.
10472 Add comment on stack usage from Initialize_Scalars
10473
10474 * gnat_ugn.texi: Add documentation for -gnatyLnnn
10475
10476 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
10477 limiting nesting level.
10478
10479 * usage.adb: Add line for -gnatyLnnn switch
10480
10481 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
10482 sem_ch13.adb, exp_aggr.adb: Minor reformatting
10483
10484 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
10485 type as well as on the subtype. This corrects a problem in freeze in
10486 setting alignments of atomic types.
10487
10488 * sem_eval.ads: Minor comment typo fixed
10489
10490 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
10491 level. Minor reformatting.
10492
10493 * fname.adb (Is_Predefined_File_Name): Require a letter after the
10494 minus sign. This means that file names like a--b.adb will not be
10495 considered predefined.
10496
10497 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
10498 record Test new flag and give diagnostic for bad component clause.
10499 (Freeze_Entity): Set alignment of array from component alignment in
10500 cases where this is safe to do.
10501
10502 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
10503 arrays.
10504
10505 * cstand.adb: (Create_Standard): Set alignment of String to 1
10506
10507 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
10508
10509 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
10510 code in the common constrained array cases.
10511
10512 * a-storio.adb: Change implementation to avoid possible alignment
10513 problems on machines requiring strict alignment (data should be moved
10514 as type Buffer, not type Elmt).
10515
10516 * checks.adb (Apply_Array_Size_Check): Improve these checks by
10517 killing the overflow checks which we really do not need (64-bits is
10518 enough).
10519
105202004-06-25 Vincent Celier <celier@gnat.com>
10521
10522 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
10523 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
10524 inconditionally for the main project.
10525 (Recursive_Add_Archives.Add_Archive_Path): New procedure
10526 (Link_Executables.Check_Time_Stamps): New procedure
10527 (Link_Executables.Link_Foreign): New procedure
10528 Changes made to reduce nesting level of this package
10529 (Check): New procedure
10530 (Add_Switches): When not in quiet output, check that a switch is not
10531 the concatenation of several valid switches. If it is, issue a warning.
10532 (Build_Global_Archive): If the global archive is rebuilt, linking need
10533 to be done.
10534 (Compile_Sources): Rebuilding a library archive does not imply
10535 rebuilding the global archive.
10536 (Build_Global_Archive): New procedure
10537 (Build_Library): New name for Build_Archive, now only for library
10538 project
10539 (Check_Archive_Builder): New procedure
10540 (Create_Global_Archive_Dependency_File): New procedure
10541 (Gprmake): Call Build_Global_Archive before linking
10542 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
10543 throughout.
10544 (Scan_Arg): Display the Copyright notice when -v is used
10545
10546 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
10547 for gnatls.
10548
10549 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
10550 COMPILE.
10551 Add new GNAT LIST qualifier /FILES=
10552 Added qualifier /DIRECTORY= to GNAT METRIC
10553 Added qualifier /FILES= to GNAT METRIC
10554 Added qualifier /FILES to GNAT PRETTY
10555
10556 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
10557 to take into account both versions of the switch.
10558
10559 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
10560 always be the last switch to the gcc driver. Disable switch storing so
10561 that switches automatically added by the gcc driver are not put in the
10562 ALI file.
10563
10564 * prj.adb (Project_Empty): Take into account changes in components of
10565 Project_Data.
10566
10567 * prj.ads (Languages_Processed): New enumaration value All_Languages.
10568
10569 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
10570 used. Split Boolean component Ada_Sources_Present in two Boolean
10571 components Ada_Sources_Present and Other_Sources_Present.
10572 Minor reformatting
10573
10574 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
10575 instead of Sources_Present.
10576 (Set_Ada_Paths.Add.Recursive_Add): Ditto
10577
10578 * prj-nmsc.adb: Minor reformatting
10579 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
10580 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
10581 Check_Ada_Naming_Scheme.
10582 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
10583 throughout.
10584
10585 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
10586 In_Limited.
10587 Make sure that all cycles where there is at least one "limited with"
10588 are detected.
10589 (Parse_Single_Project): New Boolean parameter In_Limited
10590
10591 * prj-proc.adb (Recursive_Check): When Process_Languages is
10592 All_Languages, call first Prj.Nmsc.Ada_Check, then
10593 Prj.Nmsc.Other_Languages_Check.
10594
10595 * prj-proc.adb (Process): Use Ada_Sources_Present or
10596 Other_Sources_Present (instead of Sources_Present) depending on
10597 Process_Languages.
10598
10599 * lang-specs.h: Keep -g and -m switches in the same order, and as the
10600 last switches.
10601
10602 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
10603 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
10604 False.
10605 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
10606 False.
10607
10608 * lib.ads (Disable_Switch_Storing): New procedure.
10609
10610 * make.adb: Modifications to reduce nesting level of this package.
10611 (Check_Standard_Library): New procedure
10612 (Gnatmake.Check_Mains): New procedure
10613 (Gnatmake.Create_Binder_Mapping_File): New procedure
10614 (Compile_Sources.Compile): Add switch -gnatez as the last option
10615 (Display): Never display -gnatez
10616
6615c446 10617 * Makefile.generic:
0da2c8ac
AC
10618 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
10619
10620 * gnatcmd.adb (Check_Project): New function
10621 (Process_Link): New procedure to reduce nesting depth
10622 (Check_Files): New procedure to reduce the nesting depth.
10623 For GNAT METRIC, include the inherited sources in extending projects.
10624 (GNATCmd): When GNAT LS is invoked with a project file and no files,
10625 add the list of files from the sources of the project file. If this list
10626 is too long, put it in a temp text files and use switch -files=
10627 (Delete_Temp_Config_Files): Delete the temp text file that contains
10628 a list of source for gnatpp or gnatmetric, if one has been created.
10629 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
10630 in the project file is too large, create a temporary text file that
10631 list them and pass it to the tool with "-files=<temp text file>".
10632 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
10633
10634 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
10635 generated file is in not in Ada.
10636
10637 * gnatls.adb: Remove all parameters And_Save that are no longer used.
10638 (Scan_Ls_Arg): Add processing for -files=
10639 (Usage): Add line for -files=
10640
10641 * g-os_lib.adb (On_Windows): New global constant Boolean flag
10642 (Normalize_Pathname): When on Windows and the path starts with a
10643 directory separator, make sure that the resulting path will start with
10644 a drive letter.
10645
10646 * clean.adb (Clean_Archive): New procedure
10647 (Clean_Project): When there is non-Ada code, delete the global archive,
10648 the archive dependency files, the object files and their dependency
10649 files, if they exist.
10650 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
10651
106522004-06-25 Thomas Quinot <quinot@act-europe.fr>
10653
10654 * sinfo.ads: Fix typo in comment.
10655
10656 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
10657 the TSS for remote access-to-subprogram types, since these TSS are
10658 always present once the type has been analyzed.
10659 (RAS_E_Dereference): Same.
10660
10661 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
10662 reference raises Bad_Attribute, mark the reference as analyzed so the
10663 node (and any children resulting from rewrites that could have occurred
10664 during the analysis that ultimately failed) is not analyzed again.
10665
10666 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
10667
10668 * exp_dist.adb: Minor comment fix.
10669
10670 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
10671 type is an anonymous access type, no unchecked deallocation of the
10672 allocated object can occur. If the object is controlled, attach it with
10673 a count of 1. This allows attachment to the Global_Final_List, if
10674 no other relevant list is available.
10675 (Get_Allocator_Final_List): For an anonymous access type that is
10676 the type of a discriminant or record component, the corresponding
10677 finalisation list is the one of the scope of the type.
10678
106792004-06-25 Ed Schonberg <schonberg@gnat.com>
10680
10681 * sem_ch3.adb (Replace_Type): When computing the signature of an
10682 inherited subprogram, use the first subtype if the derived type
10683 declaration has no constraint.
10684
10685 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
10686 before applying previous optimization. Minor code cleanup.
10687
10688 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
10689 placed at the beginning of an unpacked record without explicit
10690 alignment, a slice of it will be aligned and does not need a copy when
10691 used as an actual.
10692
106932004-06-25 Ed Schonberg <schonberg@gnat.com>
10694
10695 PR ada/15591
10696 PR ada/15592
10697 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
10698 reference is written with expressions mimicking parameters.
10699
107002004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
10701
10702 PR ada/15589
10703 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
10704 STEP 2a. The constraints of a full type declaration of a derived record
10705 type are checked for conformance with those declared in the
10706 corresponding private extension declaration. The message
10707 "not conformant with previous declaration" is emitted if an error is
10708 detected.
10709
107102004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
10711
10712 * g-traceb.ads: Document the need for -E binder switch in the spec.
10713
10714 * g-trasym.ads: Document the need for -E binder switch in the spec.
10715
107162004-06-25 Jose Ruiz <ruiz@act-europe.fr>
10717
10718 * sem_prag.adb: Add handling of pragma Detect_Blocking.
10719
10720 * snames.h, snames.ads, snames.adb: Add entry for pragma
10721 Detect_Blocking.
10722
10723 * s-rident.ads: Change reference to pragma Detect_Blocking.
10724
10725 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
10726 system.ads.
10727
10728 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
10729 to indicate whether pragma Detect_Blocking is active.
10730
10731 * par-prag.adb: Add entry for pragma Detect_Blocking.
10732
10733 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
10734 of not handling WITH.
10735 Note that this replaces the previous update which was incorrect.
10736
107372004-06-25 Javier Miranda <miranda@gnat.com>
10738
10739 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
10740 use-clauses to have a clean environment.
10741
10742 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
10743 the installation of the use-clauses to stablish a clean environment in
10744 case of compilation of a separate unit; otherwise the call to
10745 use_one_package is protected by the barrier Applicable_Use.
10746
10747 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
10748 the installation of the use-clauses to stablish a clean environment in
10749 case of compilation of a separate unit.
10750 (End_Use_Clauses): Minor comment cleanup.
10751
107522004-06-25 Sergey Rybin <rybin@act-europe.fr>
10753
10754 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
10755
65355d53
RH
107562004-06-23 Richard Henderson <rth@redhat.com>
10757
10758 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
10759
c0e3aa48
RK
107602004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10761
10762 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
10763 now bool instead of int.
10764 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
10765 * trans.c (gnu_switch_label_stack): New function.
10766 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
10767 elaboration of renamed entity returns.
10768 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
10769 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
10770 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
10771 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
10772 DECL_SIZE_UNIT and simplify variable-sized case.
10773 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
10774 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
10775 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
10776 (build_unit_elab): Disable for now.
10777 * utils.c (mark_visited): New function.
10778 (pushdecl): Walk tree to call it for global decl.
10779 (update_pointer_to): Update all variants of pointer and ref types.
10780 Add arg to COMPONENT_REF.
10781 (convert): Likewise.
10782 Move check for converting between variants lower down.
10783 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
10784 (build_allocator): Don't force type of MODIFY_EXPR.
10785 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
10786 put_var_into_stack.
10787
966389ee
RK
107882004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10789
10790 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
10791 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
10792 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
10793 subprograms.
10794 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
10795 all callers changed.
10796 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
10797 the way that EXIT_STMT finds the loop label.
10798 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
10799 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
10800 (add_stmt): Use annotate_with_locus insted of setting directly.
10801 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
10802 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
10803 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
10804 (build_vms_descriptor): Add extra args to ARRAY_REF.
10805 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
10806 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
10807 New cases.
10808 (build_binary_op): Don't make explicit CONVERT_EXPR.
10809 Add extra rgs to ARRAY_REF.
10810
cc335f43
AC
108112004-06-14 Pascal Obry <obry@gnat.com>
10812
10813 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
10814 Windows. Fix minor typo.
10815
10816 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
10817 which is now supported on Windows. With this implementation using the
10818 Library Project feature is no different on Windows than on UNIX.
10819
108202004-06-14 Vincent Celier <celier@gnat.com>
10821
10822 * makegpr.adb (Compile_Sources): Nothing to do when there are no
10823 non-Ada sources.
10824
10825 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
10826
10827 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
10828 found, show the project name and the path of the previously parsed
10829 project file.
10830
108312004-06-14 Ed Schonberg <schonberg@gnat.com>
10832
10833 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
10834 array, avoid copying the actual before the call.
10835
108362004-06-14 Thomas Quinot <quinot@act-europe.fr>
10837
10838 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
10839 Instead, allocate memory on worst-case alignment assumptions, and then
10840 return an aligned address within the allocated zone.
10841
108422004-06-14 Robert Dewar <dewar@gnat.com>
10843
10844 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
10845 elab entities in predefined units in No_Run_Time_Mode.
10846 (Gen_Adainit_C): Same fix
10847 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
10848 units in No_Run_Time_Mode
10849 (Gen_Elab_Calls_C): Same fix
10850
10851 * symbols-vms-alpha.adb: Minor reformatting
10852
10853 * g-debpoo.ads: Minor reformatting
10854
10855 * lib.adb (In_Same_Extended_Unit): Version working on node id's
10856
10857 * lib.ads (In_Same_Extended_Unit): Version working on node id's
10858
10859 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
10860 working on nodes.
10861
10862 * make.adb: Minor reformatting
10863
10864 * par-ch12.adb: Minor reformatting
10865
10866 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
10867
10868 * prj-strt.adb: Minor reformatting
10869
10870 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
10871 be more general.
10872
10873 * sem_attr.adb: Minor reformatting
10874
10875 * sem_ch7.adb: Minor reformatting
10876
10877 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
10878 for type in the same unit as the object declaration.
10879
10880 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
10881 static string expressions and not just string literals.
10882 Minor reformatting
10883 (Set_Warning): Reset restriction warning flag for restriction pragma
10884 Implement pragma Profile_Warnings
10885 Implement pragma Profile (Restricted)
10886 Give obolescent messages for old restrictions and pragmas
10887
10888 * snames.h, snames.ads, snames.adb: Add new entry for pragma
10889 Profile_Warnings.
10890
10891 * s-rident.ads: Add declarations for restrictions required by profile
10892 Restricted and profile Ravenscar.
10893
10894 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
10895
10896 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
10897 configuration pragmas.
10898
5453d5bd
AC
108992004-06-11 Vincent Celier <celier@gnat.com>
10900
10901 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
10902 gnatsym, when symbol policy is Restricted.
10903
10904 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
10905 gnatsym, when symbol policy is Restricted.
10906
10907 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
10908 read the symbol file.
10909 (Finalize): Fail in symbol policy Restricted if a symbol in the original
10910 symbol file is not in the object files. Do not create a new symbol file
10911 when symbol policy is Restricted.
10912
10913 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
10914 in Scng.
10915
10916 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
10917 Restricted.
10918 (Usage): Line for new switch -R
10919
10920 * make.adb (Initialize): When the platform is not VMS, add the
10921 directory where gnatmake is invoked in the front of the path, if
10922 gnatmake is invoked with directory information. Change the Scan_Args
10923 while loop to a for loop.
10924 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
10925 if Depth is equal or greater than the proposed depth, there is nothing
10926 to do.
10927 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
10928 instead of 0.
10929
10930 * prj.ads: Add new symbol policy Restricted.
10931
10932 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
10933 with the new parameters Check_All_Labels and Case_Location.
10934
10935 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
10936 (Library_Symbol_File needs to be defined).
10937
10938 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
10939 and Case_Location If Check_All_Labels is True, check that all values of
10940 the string type are used, and output warning(s) if they are not.
10941
10942 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
10943 and Case_Location.
10944
10945 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
10946
10947 * gnat_ugn.texi: Update documentation about the library directory in
10948 Library Projects.
10949
10950 * makegpr.adb (Display_Command): In verbose mode, also display the
10951 value of the CPATH env var, when the compiler is gcc.
10952 (Initialize): Change the Scan_Args while loop to a for loop
10953 (Compile_Individual_Sources): Change directory to object directory
10954 before compilations.
10955
10956 * symbols.ads: New symbol policy Restricted.
10957
109582004-06-11 Olivier Hainque <hainque@act-europe.fr>
10959
10960 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
10961 is now taken care of internally in the Exception_Propagation package
10962 and does not require clients assistance any more.
10963
10964 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
10965 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
10966 functions. Helpers to maintain a predicate required in the handling of
10967 occurrence transfer between tasks.
10968 This is now handled internally and does not require clients assistance
10969 for the setup/propagate separation anymore.
10970 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
10971 allocation strategy, handle the Setup_And_Not_Propagated predicate and
10972 document.
10973
10974 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
10975 raise_after_setup, now that everything is handled internally within the
10976 setup/propagation engine.
10977
109782004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
10979
10980 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
10981 Add additional conditions for the case of an actual being a simple
10982 name or literal. Improve inlining by preventing the generation
10983 of temporaries with a short lifetime (one use).
10984
109852004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
10986
10987 PR ada/15587
10988
10989 * einfo.ads: Minor comment updates for Has_Completion and
10990 E_Constant list of flags.
10991
10992 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
10993 and constant redeclarations now set the Has_Completion flag of their
10994 defining identifiers.
10995
10996 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
10997 Inspect_Deferred_Constant_Completion.
10998 Used to detect private deferred constants that have not been completed
10999 either by a constant redeclaration or pragma Import. Emits error message
11000 "constant declaration requires initialization expression".
11001
11002 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
11003 completes a deferred constant.
11004
110052004-06-11 Geert Bosch <bosch@gnat.com>
11006
11007 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
11008
11009 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
11010 calculating exponent for scaling denormal numbers.
11011 (Leading_Part): Properly raise Constraint_Error for zero or negative
11012 Adjustment.
11013 (Remainder): Properly raise Constraint_Error for zero divisor.
11014
110152004-06-11 Thomas Quinot <quinot@act-europe.fr>
11016
11017 * sem_util.adb: Minor reformatting.
11018
11019 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
11020 dereference when accessing the entry parameter record.
11021 (Check_Array_Type): Always check for possible implicit dereference.
11022 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11023 Abort if a pointer is still present (denoting that an implicit
11024 dereference was left in the tree by the front-end).
11025
11026 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
11027 dereference when accessing the entry parameter record.
11028 (Check_Array_Type): Always check for possible implicit dereference.
11029 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11030 Abort if a pointer is still present (denoting that an implicit
11031 dereference was left in the tree by the front-end).
11032
110332004-06-11 Emmanuel Briot <briot@act-europe.fr>
11034
11035 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
11036 message, like the compiler itself does. Easier to parse the output.
11037
11038 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
11039
11040 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
11041 be base names, and not includes directories.
11042
110432004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11044
11045 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
11046 so that dependencies are properly taken into account by make.
11047
110482004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11049
11050 PR ada/15622
11051 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
11052 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
11053
110542004-06-11 Jerome Guitton <guitton@act-europe.fr>
11055
11056 * Makefile.in (install-gnatlib): install target-specific run-time files.
11057
11058 * Make-lang.in: Remove obsolete targets.
11059
110602004-06-11 Ed Schonberg <schonberg@gnat.com>
11061
11062 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
11063 specification, to catch misuses of program unit names.
11064
11065 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
11066 superfluous conversions in an instance.
11067
110682004-06-11 Ed Schonberg <schonberg@gnat.com>
11069
11070 PR ada/15403
11071
11072 * sem_ch12.adb (Save_References): If operator node has been folded to
11073 enumeration literal, associated_node must be discarded.
11074
110752004-06-11 Jose Ruiz <ruiz@act-europe.fr>
11076
11077 * s-stchop-vxworks.adb: Add required pragma Convention to
11078 Task_Descriptor because it is updated by a C function.
11079
a98f59be
AC
110802004-06-08 Arnaud Charlet <charlet@act-europe.fr>
11081
11082 PR ada/15568
11083
11084 * Makefile.in: Remove target specific SO_OPT on IRIX
11085
821e1ea1
RK
110862004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11087
11088 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
11089 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11090 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
11091 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
11092 (STMT_STMT, USE_STMT): New statement codes.
11093 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
11094 * ada-tree.h: Reflect above changes.
15cd18b9 11095 (struct tree_loop_id): Deleted.
821e1ea1
RK
11096 (union lang_tree_node, struct lang_decl, struct lang_type):
11097 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
11098 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
11099 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
11100 (IS_ADA_STMT): New macro.
11101 * decl.c (annotate_decl_with_node): New function.
11102 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
11103 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
11104 Call add_stmt_with_node to do needed assignments.
11105 Add call to update setjmp buffer directly, not via EXPR_STMT.
11106 (maybe_variable): Argment GNAT_NODE deleted.
11107 * gigi.h (maybe_variable): Likewise.
11108 (make_transform, add_stmt_with_node, set_block_for_group): New.
11109 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
11110 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
11111 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
11112 (set_lineno, set_lineno_from_sloc): Likewise.
11113 (record_code_position, insert_code_for): Likewise.
11114 (gnat_poplevel): Now returns void.
11115 (end_subprog_body): Now takes argument.
11116 * misc.c (cgraph.h, tree-inline.h): New includes.
11117 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
11118 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
11119 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
11120 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
11121 (gnat_parse_file): Don't set immediate_size_expand.
11122 Call cgraph functions.
11123 (gnat_expand_expr): Remove most cases.
11124 (record_code_position, insert_code_for): Remove from here.
11125 * trans.c (toplev.h, tree-gimple.h): Now included.
11126 (discard_file_names): Deleted.
11127 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
11128 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
11129 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
11130 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
11131 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
11132 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
11133 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
11134 (set_block_for_group, add_stmt_list): Likewise.
11135 (start_stmt_group): Renamed from start_block_stmt.
11136 (end_stmt_group): Likewise, from end_block_stmt.
11137 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
11138 (gigi): Don't set discard_file_names or call set_lineno.
11139 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
11140 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
11141 Numerous changes throughout to reflect new names and complete
11142 function-at-a-time implementation.
11143 (gnat_expand_stmt): Delete or comment out all cases.
11144 (process_inlined_subprograms): Use add_stmt.
11145 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
11146 call set_lineno; also remove unneeded block handling.
11147 (process_type): Remove unneeded block handling.
11148 (build_unit_elab): Remove calls to deleted functions.
11149 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
11150 (tree-dump.h): Likewise.
11151 (struct ada_binding_level): Add field jmpbuf_decl.
11152 (gnat_define_builtin, gnat_install_builtins): New.
11153 (gnat_gimplify_function, gnat_finalize): Likewise.
11154 (gnat_poplevel): No longer return BLOCK, set it instead.
11155 Remove code dealing with nested functions.
11156 (gnat_init_decl_processing): Also set size_type_node.
11157 Call gnat_install_builtins.
11158 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
11159 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
11160 Remove special-case for "main".
11161 (end_subprog_body): Add arg and rework for tree-ssa.
11162 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
11163 Add case for BOOLEAN_TYPE.
11164 * utils2.c (rtl.h): Now include.
11165 (build_call_raise): Test Debug_Flag_NN directly.
11166 (build_call_alloc_dealloc): Don't use local stack allocation for now.
11167 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
11168 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
11169
0ab80019
AC
111702004-06-07 Robert Dewar <dewar@gnat.com>
11171
11172 * a-direct.ads, einfo.ads: Minor comment updates
11173
11174 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
11175 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11176 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
11177 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
11178 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
11179
11180 * s-interr-sigaction.adb: Remove unreferenced variable
11181 (Attached_Interrupts). Minor reformatting.
11182 Avoid use of variable I (replace by J).
11183
11184 * par-ch10.adb: Fix text of one error message
11185
11186 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
11187 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
11188 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
11189 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
11190 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
11191 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6615c446 11192 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
0ab80019
AC
11193 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11194 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
11195 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
11196 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
11197 2005 support.
11198
111992004-06-07 Doug Rupp <rupp@gnat.com>
11200
11201 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
11202
11203 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
11204
11205 * mlib-tgt-vms-ia64.adb: New file.
11206
11207 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
11208 Add mlib-tgt-vms-ia64.adb
11209 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
11210 Move to alpha specific ifeq section.
11211 Add VMS specific versions of symbols.adb
11212 Renaming of 5q vms files.
11213
11214 * 5qsystem.ads renamed to system-vms_64.ads.
11215
112162004-06-07 Vincent Celier <celier@gnat.com>
11217
11218 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
11219 explain that when a time of day corresponding to the non existing hour
11220 on the day switching to DST is specified, Split may return a different
11221 value for Seconds.
11222
11223 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
11224 to GNAT PRETTY.
11225
11226 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
11227 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
11228
11229 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
11230 to False.
11231 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
11232 the linking options.
11233 (Build_Library.Check_Libs): On VMS, if there is a dependency on
11234 g-trasym.ads, set Gtrasymobj_Needed to True.
11235
11236 * prj-attr.adb: Add new package Metrics for gnatmetric
11237
11238 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
11239 canonical case to take into account files with upper case characters on
11240 Windows.
11241 (Ada_Check): Load the reference symbol file name in the name buffer to
11242 check it, not the symbol file name.
11243
11244 * snames.ads, snames.adb: Add standard name Metrics (name of project
11245 file package for gnatmetric).
11246
11247 * vms_conv.ads: Add Metric to Comment_Type
11248
11249 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
11250
11251 * vms_data.ads: Add qualifiers for GNAT METRIC
11252
11253 * makegpr.adb (Link_Executables): Take into account the switches
11254 specified in package Linker of the main project.
11255
112562004-06-07 Thomas Quinot <quinot@act-europe.fr>
11257
11258 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
11259 the index of the last element is Units.Last, not Units.Table'Last
11260 (which is usually not a valid index within the actually allocated
11261 storage for the table).
11262
11263 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
11264 determines whether to generate a call to a checked storage pool
11265 Dereference action.
11266 Generate such a call only for a dereference that either comes from
11267 source, or is the result of rewriting a dereference that comes from
11268 source.
11269
112702004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
11271
11272 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
11273
112742004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
11275
11276 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
11277 file level, elaborate the stride for inner dimensions in alignment
11278 units, not bytes.
11279
11280 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
11281 in a comment.
11282
112832004-06-07 Javier Miranda <miranda@gnat.com>
11284
11285 * exp_ch6.adb: Correct wrong modification in previous patch
11286
112872004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
11288
11289 * g-trasym.ads: Corrected comment to properly reflect level of support
11290 on VMS.
11291
112922004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
11293
11294 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
11295 includes case of a variable referenced on the left hand side of an
11296 assignment, therefore remove redundant code. Variables and prefixes of
11297 indexed or selected components are now marked as referenced on left
11298 hand side. Warnings are now properly emitted when variables or prefixes
11299 are assigned but not read.
11300
11301 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
11302 left hand side referenced variables. Private access types do not
11303 produce the warning "variable ... is assigned but never read".
11304 Add also additional checks to left hand side referenced variables.
11305 Aliased, renamed objects and access types do not produce the warning
11306 "variable ... is assigned but never read" since other entities may read
11307 the memory location.
11308
113092004-06-07 Jerome Guitton <guitton@act-europe.fr>
11310
11311 * Makefile.in: In the powerpc/vxworks-specific section, restore
11312 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
11313 by mistake).
11314
113152004-06-07 Ed Schonberg <schonberg@gnat.com>
11316
11317 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
11318 predefined operators.
11319 Removes spurious type errors from g-trasym-vms.adb.
11320
11321 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
11322 distinct from the operator appearing in the source, call appropriate
11323 routine to insert conversions when needed, and complete resolution of
11324 node.
11325 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
11326 interpretations for rewritten right operand.
11327 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
11328 the other operand is overloaded and the context is a type conversion.
11329
113302004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11331
11332 * ada-tree.def (BLOCK_STMT): Now has two operands.
11333 (BREAK_STMT): New.
11334
11335 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
11336
11337 * gigi.h: (gnat_poplevel): Now returns a tree.
11338
11339 * trans.c (end_block_stmt): Add arg; all callers changed.
11340 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
11341 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
11342 (add_stmt): Set TREE_TYPE.
11343 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
11344 (gnat_expand_stmt, case BREAK_STMT): New case.
11345
11346 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
11347
113482004-06-07 Jose Ruiz <ruiz@act-europe.fr>
11349
11350 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
11351 procedure Set_Stack_Size that is not needed.
11352
113532004-06-07 Sergey Rybin <rybin@act-europe.fr>
11354
11355 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
11356 used for gnatpp input file and for the files upon which it depends
11357
113582004-06-07 Ben Brosgol <brosgol@gnat.com>
11359
11360 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
11361
113622004-06-07 Arnaud Charlet <charlet@act-europe.fr>
11363
11364 * gnatvsn.ads: Bump version numbers appropriately.
11365 Add new build type.
11366
113672004-06-07 Pascal Obry <obry@gnat.com>
11368
11369 * gnat_ugn.texi: Improve comments about imported names and link names
11370 on Windows. Add a note about the requirement to use -k gnatdll's option
11371 when working with a DLL which has stripped stdcall symbols (no @nn
11372 suffix).
11373
8a36a0cc
AC
113742004-05-27 Vincent Celier <celier@gnat.com>
11375
11376 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
11377 COMMENTS_LAYOUT=UNTOUCHED
11378
11379 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
11380 symbols-vms-alpha.adb
11381
113822004-05-27 Thomas Quinot <quinot@act-europe.fr>
11383
11384 * sem.ads: Clarify documentation on checks suppression.
11385
11386 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
11387
113882004-05-27 Ed Schonberg <schonberg@gnat.com>
11389
11390 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
11391 the case of multiple derivations.
11392 (Is_Object_Reference): For a selected component, verify that the prefix
11393 is itself an object and not a value.
11394
11395 * sem_ch12.adb (Same_Instantiated_Constant): New name for
11396 Same_Instantiated_Entity.
11397 (Same_Instantiated_Variable): Subsidiary to
11398 Check_Formal_Package_Instance, to recognize actuals for in-out generic
11399 formals that are obtained from a previous formal package.
11400 (Instantiate_Subprogram_Body): Emit proper error when
11401 generating code and the proper body of a stub is missing.
11402
11403 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
11404 has a universal interpretation, do the disambiguation here.
11405
11406 * exp_ch4.adb (Expand_N_Type_Conversion,
11407 Expand_N_Unchecked_Type_Conversion): Special handling when target type
11408 is Address, to avoid typing anomalies when Address is a visible integer
11409 type.
11410
11411 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
11412 to determine whether a subprogram should not be marked Pure, even when
11413 declared in a pure package.
11414
114152004-05-27 Jose Ruiz <ruiz@act-europe.fr>
11416
11417 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
11418
11419 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
11420 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
11421 Update the documentation about the Ravenscar profile, following the
11422 definition found in AI-249.
11423
11424 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
11425 setting the Profile (Ravenscar). This must be done in addition to
11426 setting the required restrictions.
11427
11428 * rtsfind.ads: Add the set of operations defined in package
11429 Ada.Interrupts.
11430
11431 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
11432 restriction.
11433
114342004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
11435
11436 lang-specs.h: Always require -c or -S and always redirect to /dev/null
11437 if -gnatc or -gnats is passed.
11438
114392004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
11440
11441 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
11442 a significant reference. Warnings are now properly emitted when a
11443 discriminated type is not referenced.
11444
11445 * lib-xref.adb (Generate_Reference): A deferred constant completion,
11446 record representation clause or record type discriminant does not
11447 produce a reference to its corresponding entity. Warnings are now
11448 properly emitted when deferred constants and record types are not
11449 referenced.
11450
114512004-05-27 Geert Bosch <bosch@gnat.com>
11452
11453 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
11454 Fixes ACATS Annex G tests.
11455
114562004-05-27 Robert Dewar <dewar@gnat.com>
11457
11458 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
11459 handling WITH
11460
114612004-05-27 Arnaud Charlet <charlet@act-europe.fr>
11462
11463 * s-interr.adb (Server_Task): Take into account case of early return
11464 from sigwait under e.g. linux.
11465
114662004-05-27 Sergey Rybin <rybin@act-europe.fr>
11467
11468 * gnat_ugn.texi: Add description for the new gnatpp options:
11469 -rnb - replace the original source without creating its backup copy
11470 -c0 - do not format comments
11471
0fb2ea01
AC
114722004-05-24 Geert Bosch <bosch@gnat.com>
11473
11474 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
11475 with 192 bits of precision, sufficient to reduce a double-extended
11476 arguments X with a maximum relative error of T'Machine_Epsilon, for X
11477 in -2.0**32 .. 2.0**32.
11478 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
11479 reduction by the processor, which only uses a 68-bit approximation of
11480 Pi.
11481 (Tan): Always reduce arguments and compute function either using
11482 the processor's fptan instruction, or by dividing sin and cos as needed.
11483
114842004-05-24 Doug Rupp <rupp@gnat.com>
11485
11486 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
11487 gcc error on 32/64 bit VMS.
11488
114892004-05-24 Olivier Hainque <hainque@act-europe.fr>
11490
11491 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
11492 since this is what we get for stack overflows although not documented
11493 as such.
11494 Document the issues which may require adjustments to our signal
11495 handlers.
11496
114972004-05-24 Ed Schonberg <schonberg@gnat.com>
11498
11499 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
11500 enclosing dynamic scope if the instantiation is within a generic unit.
11501
115022004-05-24 Arnaud Charlet <charlet@act-europe.fr>
11503
11504 * exp_dbug.ads: Fix typo.
11505
11506 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
11507 Rename it to its proper name: system-linux-ia64.ads
11508 (stamp-gnatlib1): Remove extra target specific run time files when
11509 setting up the rts directory.
11510
115112004-05-24 Javier Miranda <miranda@gnat.com>
11512
11513 * einfo.ads, einfo.adb (Limited_Views): Removed.
11514 (Limited_View): New attribute that replaces the previous one. It is
11515 now a bona fide package with the limited-view list through the
11516 first_entity and first_private attributes.
11517
11518 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
11519 limited-private-with clause.
11520 (Install_Limited_Withed_Unit): Install the private declarations of a
11521 limited-private-withed package. Update the installation of the shadow
11522 entities according to the new structure (see Build_Limited_Views)
11523 (Build_Limited_Views): Replace the previous implementation of the
11524 limited view by a package entity that references the first shadow
11525 entity plus the first shadow private entity (required for limited-
11526 private-with clause)
11527 (New_Internal_Shadow_Entity): Code cleanup.
11528 (Remove_Limited_With_Clause): Update the implementation to undo the
11529 new work carried out by Build_Limited_Views.
11530 (Build_Chain): Complete documentation.
11531 Replace Ada0Y by Ada 0Y in comments
11532 Minor reformating
11533
11534 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
11535 types the level of accessibility depends on the enclosing type
11536 declaration.
11537
11538 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
11539 entities. Complete documentation of previous change.
11540
115412004-05-24 Robert Dewar <dewar@gnat.com>
11542
11543 * namet.adb: Minor reformatting
11544 Avoid use of name I (replace by J)
11545 Minor code restructuring
11546
11547 * sem_ch6.adb: Minor reformatting
11548
11549 * lib-writ.adb: Do not set restriction as active if this is a
11550 Restriction_Warning case.
11551
11552 * sem_prag.adb: Reset restriction warning flag if real pragma
11553 restriction encountered.
11554
11555 * s-htable.adb: Minor reformatting
11556 Change rotate count to 3 in Hash (improves hash for small strings)
11557
11558 * 5qsystem.ads: Add comments for type Address (no literals allowed).
11559
11560 * gnat_ugn.texi: Add new section of documentation "Code Generation
11561 Control", which describes the use of -m switches.
11562
115632004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
11564
a1db9d9c
AC
11565 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
11566 through the DECL_INITIAL for renamed variables.
0fb2ea01 11567
7599f1b0
AC
115682004-05-24 Arnaud Charlet <charlet@act-europe.fr>
11569
11570 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
11571
c37bb106
AC
115722004-05-19 Joel Brobecker <brobecker@gnat.com>
11573
11574 * exp_dbug.ads: Correct comments concerning handling of overloading,
11575 since we no longer use $ anymore.
11576
115772004-05-19 Sergey Rybin <rybin@act-europe.fr>
11578
11579 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
11580 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
11581 with illegal subunits.
11582
115832004-05-19 Ed Schonberg <schonberg@gnat.com>
11584
11585 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
11586 body with front-end inlining enabled, check whether an inline pragma
11587 appears immediately after the body and applies to it.
11588
11589 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
11590 enabled and the pragma appears after the body of the subprogram.
11591
b5e792e2
AC
115922004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11593
11594 Part of function-at-a-time conversion
11595
11596 * misc.c (adjust_decl_rtl): Deleted.
11597 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
11598 Define.
11599
11600 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
11601 (add_decl_stmt, add_stmt, block_has_vars): New functions.
11602 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
11603
11604 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
11605 when making a decl.
11606 (gnat_to_gnu_entity): Likewise.
11607 Use add_stmt to update setjmp buffer.
11608 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
11609 flush_addressof.
11610 No longer call adjust_decl_rtl.
11611 (DECL_INIT_BY_ASSIGN_P): New macro.
11612 (DECL_STMT_VAR): Likewise.
11613
11614 * trans.c (gigi): Call start_block_stmt to make the outermost
11615 BLOCK_STMT.
11616 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
11617 Call start_block_stmt and end_block_stmt temporarily.
11618 Use gnat_expand_stmt instead of expand_expr_stmt.
11619 (add_decl_stmt): New function.
11620 (tree_transform): Call it.
11621 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
11622 (end_block_stmt): Set type and NULL_STMT.
11623 (gnat_expand_stmt): Make recursize call instead of calling
11624 expand_expr_stmt.
11625 (gnat_expand_stmt, case DECL_STMT): New case.
11626 (set_lineno_from_sloc): Do nothing if global.
11627 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
11628 (start_block_stmt, add_stmt, end_block_stmt): New functions.
11629 (build_block_stmt): Call them.
11630 (gnat_to_code): Don't expand NULL_STMT.
11631 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
11632 args.
11633 (tree_transform): Likewise.
11634 (tree_transform, case N_Null_Statement): Return NULL_STMT.
11635 (gnat_expand_stmt, case NULL_STMT): New case.
11636 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
11637 IF_STMT_TRUE.
11638
11639 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
11640 TREE_ADDRESSABLE.
11641
11642 * utils.c (create_var_decl): Do not call expand_decl or
11643 expand_decl_init.
11644 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
11645 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
11646 here.
11647 (struct e_stack): Add chain_next to GTY.
11648 (struct binding_level): Deleted.
11649 (struct ada_binding_level): New struct.
11650 (free_block_chain): New.
11651 (global_binding_level, clear_binding_level): Deleted.
11652 (global_bindings_p): Rework to see if no chain.
11653 (kept_level_p, set_block): Deleted.
11654 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
11655 new data structure and work directly on BLOCK node.
11656 (gnat_poplevel): Similarly.
11657 (get_decls): Look at BLOCK_VARS.
11658 (insert_block): Work directly on BLOCK node.
11659 (block_has_var): New function.
11660 (pushdecl): Rework for new binding structures.
11661 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
11662 poplevel.
11663 (build_subprog_body): Likewise.
11664 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
11665
11666 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
11667
11668 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
11669 (DECL_STMT_VAR): Likewise.
11670
116712004-05-17 Robert Dewar <dewar@gnat.com>
11672
11673 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
11674 procedure
11675
11676 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
11677 of restriction synonyums by using
11678 Restrict.Process_Restriction_Synonyms.
11679
11680 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
11681
11682 * s-restri.ads (Tasking_Allowed): Correct missing comment
11683
11684 * s-rident.ads: Add entries for restriction synonyms
11685
11686 * ali.adb: Fix some problems with badly formatted ALI files that can
11687 result in infinite loops.
11688
11689 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
11690 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
11691 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11692 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
11693 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
11694 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
11695 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
11696 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
11697 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
11698 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
11699 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
11700 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
11701 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
11702 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
11703 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11704 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11705 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
11706 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
11707 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
11708 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
11709 to Task_Id (minor cleanup).
11710
117112004-05-17 Vincent Celier <celier@gnat.com>
11712
11713 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
11714 directory separator.
11715
11716 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
11717 project being extended, if Languages is not declared in extending
11718 project.
11719
117202004-05-17 Javier Miranda <miranda@gnat.com>
11721
11722 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
11723 limited view of a visible sibling.
11724
9bc856dd
AC
117252004-05-14 Robert Dewar <dewar@gnat.com>
11726
11727 * gnat_ugn.texi: Minor change to -gnatS documentation
11728
11729 * sprint.adb: Remove some instances of Assert (False) and for this
11730 purpose replace them by output of a ??? string.
11731
11732 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
11733 Assert (False).
11734
11735 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
11736 flag processing. This was suppressing required dependencies in
11737 No_Run_Time mode and is not needed since the binder does not generate
11738 references for things in libgnat anyway.
11739
11740 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
11741 warning.
11742
117432004-05-14 Thomas Quinot <quinot@act-europe.fr>
11744
11745 * gnat_ugn.texi: Document AIX-specific issue with initialization of
11746 resolver library.
11747
11748 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
11749 action for the case of an actual parameter in an init proc call.
11750
117512004-05-14 Ed Schonberg <schonberg@gnat.com>
11752
11753 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
11754 subtype, check visible entities in base type.
11755
11756 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
11757 actions if the object is a renaming.
11758
11759 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
11760 Check_Formal_Package_Instance, to determine more precisely when the
11761 formal and the actual denote the same entity.
11762
117632004-05-14 Javier Miranda <miranda@gnat.com>
11764
11765 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
11766
11767 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
11768 corresponding to a private_with must be removed from visibility; it
11769 will be made visible later, just before we analyze the private part of
11770 the package.
11771 (Check_Private_Child_Unit): Allow private_with clauses in public
11772 siblings.
11773 (Install_Siblings): Make visible the private entities of private-withed
11774 siblings.
11775 (Install_Withed_Unit): Do not install the private withed unit if we
11776 are compiling a package declaration and the Private_With_OK flag was
11777 not set by the caller. These declarations will be installed later,
11778 just before we analyze the private part of the package.
11779
11780 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
11781 during the evaluation of the expression that initializes the object,
11782 decorate it with the expected type to avoid cascade errors.
11783 Code cleanup.
11784
11785 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
11786 subprogram we have to install the private_with clauses after its
11787 specification has been analyzed (as documented in AI-262.TXT).
11788
11789 * sem_ch8.adb (Has_Private_With): New function. Determines if the
11790 current compilation unit has a private with on a given entity.
11791 (Find_Direct_Name): Detect the Beaujolais problem described in
11792 AI-262.TXT
11793
11794 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
11795 provides the functionality of the function Is_Ancestor that was
11796 previously available in sem_ch10. It has been renamed to avoid
11797 overloading.
11798
11799 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
11800
118012004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11802
11803 * utils.c (build_vms_descriptor): Use SImode pointers.
11804
118052004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
11806
11807 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
11808
118092004-05-14 GNAT Script <nobody@gnat.com>
11810
11811 * Make-lang.in: Makefile automatically updated
11812
084c663c
AC
118132004-05-14 Arnaud Charlet <charlet@act-europe.fr>
11814
11815 Renaming of target specific files for clarity
11816
6615c446 11817 * Makefile.in: Rename GNAT target specific files.
084c663c
AC
11818
11819 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
11820 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
11821 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
11822 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
11823 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
11824 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
11825 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
11826 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
11827 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
11828 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
11829 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
11830 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
11831 51osinte.adb, 51osinte.ads, 51system.ads,
11832 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
11833 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
11834 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
11835 56tpopsp.adb, 57system.ads, 58system.ads,
11836 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
11837 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
11838 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
11839 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
11840 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
11841 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
11842 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
11843 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
11844 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
11845 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
11846 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
11847 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
11848 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
11849 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
11850 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
11851 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
11852 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
11853 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
11854 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
11855 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
11856 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
11857 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
11858 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
11859 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
11860 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
11861 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
11862 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
11863 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
11864 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
11865 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
11866 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
11867 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
11868 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
11869 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
11870 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
11871 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
11872 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
11873 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
11874 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
11875 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
11876
11877 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
11878 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
11879 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
11880 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
11881 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
11882 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
11883 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
11884 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
11885 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
11886 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
11887 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
11888 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
11889 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
11890 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
11891 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
11892 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
11893 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
11894 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
11895 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
11896 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
11897 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
11898 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
11899 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
11900 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
11901 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
11902 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
11903 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
11904 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
11905 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
11906 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
11907 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
11908 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
11909 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
11910 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
11911 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
11912 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
11913 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
11914 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
11915 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
11916 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
11917 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
11918 s-osinte-vms.ads, s-osinte-vxworks.adb,
11919 s-osinte-vxworks.ads, s-osprim-mingw.adb,
11920 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
11921 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
11922 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
11923 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
11924 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
11925 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
11926 s-stchop-vxworks.adb, s-taprop-dummy.adb,
11927 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
11928 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
11929 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
11930 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
11931 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
11932 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
11933 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
11934 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
11935 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
11936 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
11937 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
11938 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
11939 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
11940 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
11941 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
11942 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
11943 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
11944 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
11945 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
11946 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
11947 system-irix-o32.ads, system-linux-x86_64.ads,
11948 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
11949 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
11950 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
11951 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
11952 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
11953 system-vxworks-mips.ads, system-vxworks-ppc.ads,
11954 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
11955 above.
11956
90afe2c9
ZW
119572004-05-13 Zack Weinberg <zack@codesourcery.com>
11958
11959 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
11960
6de9cd9a
DN
119612004-05-13 Diego Novillo <dnovillo@redhat.com>
11962
11963 Merge from tree-ssa-20020619-branch.
11964
11965 * config-lang.in (boot_language, build_by_default): Set
11966 to no.
11967 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
11968 (max_size): Add static chain op for call_expr.
11969
f5657d67
RS
119702004-05-12 Richard Sandiford <rsandifo@redhat.com>
11971
11972 PR target/15331
11973 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
11974
4413b636
RS
119752004-05-11 Roger Sayle <roger@eyesopen.com>
11976
11977 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
11978 COND_EXPR.
11979
5950a3ac
AC
119802004-05-10 Doug Rupp <rupp@gnat.com>
11981
11982 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
11983 system.aux_dec.
11984
11985 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
11986
11987 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
11988
11989 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
11990 Fixes undefined symbols in IA64 gnatlib.
11991
11992 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
11993
11994 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
11995 Short_Address). This will be moved to system.auxdec.
11996
119972004-05-10 Thomas Quinot <quinot@act-europe.fr>
11998
11999 * sem_util.adb: Replace test for presence of a node that is always
12000 present with a call to Discard_Node.
12001
12002 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
12003 Analyze on the library unit node after generation of distribution stub
12004 constructs. The call was a no-op because Unit_Node has already been
12005 Analyzed, and the tree fragments for the distribution stubs are
12006 analyzed as they are inserted in Exp_Dist.
12007 Update comment regarding to distribution stubs to reflect that we
12008 do not generate stub in separate files anymore.
12009
12010 * einfo.ads: Clarify the fact that a tagged private type has the
12011 E_Record_Type_With_Private Ekind.
12012
12013 * erroutc.adb: Minor reformatting
12014
12015 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
12016 values if line length is increased using -gnatyM (noticed during code
12017 reading).
12018
12019 * eval_fat.adb: Minor reformatting
12020 Put spaces around exponentiation operator
12021
120222004-05-10 Ed Schonberg <schonberg@gnat.com>
12023
12024 PR ada/15005
12025 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
12026 has been rewritten as an explicit dereference, retrieve type of
12027 original node to check for possibly unconstrained record type.
12028
120292004-05-10 Ed Schonberg <schonberg@gnat.com>
12030
12031 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
12032 overriding, use the operation of the parent unconditionally.
12033
12034 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
12035 operation when either operand is a literal, to avoid further
12036 ambiguities.
12037
12038 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
12039 overridden by a previous explicit declaration, mark the previous entity
12040 as overriding.
12041
12042 * sem_disp.adb (Check_Dispatching_Operation): New predicate
12043 Is_Visibly_Controlled, to determine whether a declaration of a
12044 primitive control operation for a derived type overrides an inherited
12045 one. Add warning if the explicit declaration does not override.
12046
120472004-05-10 Vincent Celier <celier@gnat.com>
12048
12049 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
12050 some cases when the sources are no longer present.
12051
12052 * make.adb (Collect_Arguments): Fail if an external source, not part
12053 of any project need to be compiled, when switch -x has not been
12054 specified.
12055
12056 * makeusg.adb: Document new switch -x
12057
12058 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
12059 defaulted to False.
12060
12061 * switch-m.adb (Scan_Make_Switches): New switch -x
12062
12063 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
12064 gnatmake switch -x.
12065
12066 * gnat_ugn.texi: Document new gnatmake switch -x
12067
120682004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
12069
12070 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
12071
12072 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
12073 (process_attributes): Likewise.
12074
120752004-05-10 Joel Brobecker <brobecker@gnat.com>
12076
12077 * s-inmaop.ads: Fix spelling mistake in one of the comments.
12078
120792004-05-10 Robert Dewar <dewar@gnat.com>
12080
12081 * gnat_ugn.texi: Document that for config pragma files, the maximum
12082 line length is always 32767.
12083
12084 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
12085 literals is now allowed.
12086
12087 * gnat-style.texi: Remove statement about splitting long lines before
12088 an operator rather than after, since we do not follow this rule at all.
12089 Clarify rule (really lack of rule) for spaces around exponentiation
12090
12091 * sem_elim.adb: Allow concatenation of string literals as well as a
12092 single string literal for pragma arguments.
12093
12094 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
12095
12096 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
12097 written for append case.
12098
12099 * frontend.adb: Changes to avoid checking max line length in config
12100 pragma files.
12101
12102 * g-os_lib.ads: Minor reformatting
12103
12104 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
12105 wrong in any case. Instead use standard value. Noticed during code
12106 reading.
12107
12108 * opt.ads (Max_Line_Length): New field, used to implement removal of
12109 limitation on length of lines when scanning config pragma files.
12110
12111 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
12112 makeutl.ads, makeutl.adb: Minor reformatting
12113
12114 * scn.adb: Do not check line length while scanning config pragma files
12115 Do not check line length while scanning out license information
12116
12117 * scng.adb: Changes to avoid line length checks while parsing config
12118 pragma files.
12119
121202004-05-10 GNAT Script <nobody@gnat.com>
12121
12122 * Make-lang.in: Makefile automatically updated
12123
48664302
AC
121242004-05-05 Arnaud Charlet <charlet@act-europe.fr>
12125
12126 * osint.adb (Find_Program_Name): Fix handling of VMS version
12127 number.
12128
aa720a54
AC
121292004-05-05 Emmanuel Briot <briot@act-europe.fr>
12130
12131 * g-os_lib.ads (Invalid_Time): New constant
12132
12133 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
12134 return OS_Time instead of time_t to match what is imported by Ada.
12135 Now return -1 if the file doesn't exist, instead of a random value
12136
121372004-05-05 Robert Dewar <dewar@gnat.com>
12138
12139 * usage.adb: Add line for -gnatR?s switch
12140
12141 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
12142
12143 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
12144 and for Match (Data_First, Data_last)
12145
12146 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
12147 written when we are dealing with multi-unit files.
12148
121492004-05-05 Jerome Guitton <guitton@act-europe.fr>
12150
12151 * Makefile.in: Remove unused targets and variables.
12152
121532004-05-05 Vincent Celier <celier@gnat.com>
12154
12155 * switch-m.adb: New gnatmake switch -eI
12156
12157 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
12158 of new gnatmake switch -eInnn.
12159
12160 * makegpr.adb: Take into account new parameters Index and Src_Index in
12161 Prj.Util.
12162
12163 * clean.adb: Implement support for multi-unit sources, including new
12164 switch -i.
12165
12166 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
12167 Src_Index.
12168
12169 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
12170 (Extract_From_Q): New out parameter Index
12171 (Mark, Is_Marked): Subprograms moved to Makeutl
12172 (Switches_Of): New parameter Source_Index
12173 (Add_Switch): New parameter Index
12174 (Check): New parameter Source_Index
12175 (Collect_Arguments): New parameter Source_Index
12176 (Collect_Arguments_And_Compile): New parameter Source_Index
12177 (Compile): New parameter Source_Index
12178 Put subprograms in alphabetical order
12179 Add support for multi-source sources, including in project files.
12180
12181 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
12182 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
12183 Make.
12184
12185 * makeusg.adb: New gnatmake switch -eInnn
12186
12187 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
12188 Prj.Util.Value_Of.
12189
12190 * opt.ads (Main_Index): New variable, defaulted to 0.
12191
12192 * osint.ads, osinte.adb (Add_File): New parameter Index
12193 (Current_Source_Index): New function
12194
12195 * prj.adb: Take into account new components Index and Src_Index
12196
12197 * prj.ads (String_Element): New component Index
12198 (Variable_Value): New component Index
12199 (Array_Element): New component Src_Index
12200
12201 * prj-attr.adb: Indicate that optional index may be specified for
12202 attributes Main, Executable, Spec, Body and some of Switches.
12203
12204 * prj-attr.ads (Attribute_Kind): New values for optional indexes
12205 (Attribute_Record): New component Optional_Index
12206
12207 * prj-com.ads (File_Name_Data): New component Index
12208
12209 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
12210
12211 * prj-env.adb (Put): Output optional index
12212
12213 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
12214 attributes Spec and Body.
12215
12216 * prj-nmsc.adb: Process optional indexes
12217
12218 * prj-pp.adb: Ouput "at" for optional indexes
12219
12220 * prj-proc.adb: Take into account optional indexes
12221
12222 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
12223 Optional_Index. For string literal,
12224 process optional index when Optional_Index is True.
12225 (Parse_Expresion): New Boolean parameter Optional_Index
12226
12227 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
12228 (Set_Source_Index_Of): New procedure
12229
12230 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
12231 index.
12232
12233 * prj-util.ads (Executable_Of): New parameter Index
12234 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
12235 New parameter Src_Index, defaulted to 0.
12236
122372004-05-05 Ed Schonberg <schonberg@gnat.com>
12238
12239 PR ada/15257
12240 * sem_ch3.adb (Access_Definition): If this is an access parameter
12241 whose designated type is imported through a limited_with clause, do
12242 not add the enclosing subprogram to the list of private dependents of
12243 the type.
12244
122452004-05-05 Ed Schonberg <schonberg@gnat.com>
12246
12247 PR ada/15258
12248 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
12249 a limited_with clause, and the other is its non-limited view.
12250
122512004-05-05 Thomas Quinot <quinot@act-europe.fr>
12252
12253 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
12254
90afe2c9 12255 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
aa720a54
AC
12256 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
12257 Stand.Boolean_Literals to produce references to entities
12258 Standard_False and Standard_True from compile-time computed boolean
12259 values.
12260
12261 * stand.ads (Boolean_Literals): New variable, provides the entity
12262 values for False and True, for use by the expander.
12263
122642004-05-05 Doug Rupp <rupp@gnat.com>
12265
12266 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
12267 5vinmaop.adb: Unchecked convert Short_Address vice Address
12268
12269 * adaint.c, raise.c: Caste CRTL function return value
12270 to avoid gcc error on 32/64 bit IVMS.
12271
12272 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
12273 target = IA64/VMS.
12274
12275 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
12276
12277 * 5qsystem.ads (Address): Declare as Long_Integer
12278 (Short_Address): Declare as 32 bit subtype of Address
12279 Declare abstract address operations to avoid gratuitous ambiguities.
12280
122812004-05-05 Jose Ruiz <ruiz@act-europe.fr>
12282
12283 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
12284 instead of the old Boolean_Entry_Barriers.
12285 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
12286
122872004-05-05 GNAT Script <nobody@gnat.com>
12288
12289 * Make-lang.in: Makefile automatically updated
12290
1ab2888d
AC
122912004-05-03 Arnaud Charlet <charlet@act-europe.fr>
12292
12293 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
12294
9f4fd324
AC
122952004-05-03 Olivier Hainque <hainque@act-europe.fr>
12296
12297 PR ada/15152
12298
12299 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
12300 alone. Replacing object references by literals is inappropriate in a
12301 so low level context.
12302
123032004-05-03 Arnaud Charlet <charlet@act-europe.fr>
12304
12305 * a-exexpr.adb: Add comments
12306
123072004-05-03 Joel Brobecker <brobecker@gnat.com>
12308
12309 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
12310 declare the Ancestor_Tags array in Type_Specific_Data with a small size
12311 without risking a bounds check error when accessing one of its
12312 components.
12313 (Type_Specific_Data): Define Ancestor_Tags as a small array.
12314 This prevents us from hitting a limitation during the debug info
12315 generation when using stabs.
12316
12317 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
12318 small array.
12319 This prevents us from hitting a limitation during the debug info
12320 generation when using stabs.
12321
123222004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
12323
12324 lang-specs.h: Remove -gnatz* from specs.
12325
123262004-05-03 Vincent Celier <celier@gnat.com>
12327
12328 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
12329
12330 * Make-lang.in, Makefile.in: Add gprmake
12331
123322004-05-03 Thomas Quinot <quinot@act-europe.fr>
12333
12334 * sem_aggr.adb: Fix typo in comment.
12335
123362004-05-03 Robert Dewar <dewar@gnat.com>
12337
12338 * make.adb: Minor reformatting
12339
12340 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
12341
12342 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
12343 so that it works when address is not a private type.
12344
12345 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
12346 properly with rewritten unchecked conversions. This prevents
12347 order-of-elaboration issues that can otherwise arise.
12348 (Minimum_Size): Don't check size of access types under VMS
12349
12350 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
12351 interpretations of integer literals as type System.Address.
12352
12353 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
12354 (Is_Descendent_Of): New function
12355
123562004-05-03 Jose Ruiz <ruiz@act-europe.fr>
12357
12358 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12359 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
12360 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
12361
12362 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
12363 of the old Max_Entry_Queue_Depth.
12364
12365 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12366 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
12367 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
12368
12369 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
12370 New entry for proper handling of Max_Entry_Queue_Depth.
12371 New entry for proper handling of No_Dynamic_Interrupts.
12372
12373 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
12374 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12375 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
12376 the GNAT specific restriction Max_Entry_Queue_Depth.
12377 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
12378 the GNAT specific restriction No_Dynamic_Interrupts.
12379
12380 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
12381 instead of the old Boolean_Entry_Barriers.
12382 Use the new restriction No_Dynamic_Attachment instead of the old
12383 No_Dynamic_Interrupts.
12384
12385 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
12386 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12387
12388 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
12389 of the old Max_Entry_Queue_Depth.
12390
123912004-05-03 GNAT Script <nobody@gnat.com>
12392
12393 * Make-lang.in: Makefile automatically updated
12394
d935a36e
AC
123952004-04-29 Ed Schonberg <schonberg@gnat.com>
12396
12397 * checks.adb (Enable_Range_Check): If the prefix of an index component
12398 is an access to an unconstrained array, perform check unconditionally.
12399
124002004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12401
12402 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
12403 Component_Clause.
12404
124052004-04-29 Olivier Hainque <hainque@act-europe.fr>
12406
12407 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
12408 alternate stack setting. There was no support for the tasking cases
12409 and the changes eventually caused a number of side-effect failures in
12410 the non-tasking case too.
12411
124122004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
12413
12414 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
12415 -gnats is passed.
12416
124172004-04-29 Vincent Celier <celier@gnat.com>
12418
12419 * make.adb (Gnatmake): Increase max size of argument array for
12420 gnatbind for the potential addition of -F.
12421 If there are Stand-Alone Library projects, invoke gnatbind with -F to
12422 be sure that elaboration flags will be checked.
12423
12424 * switch-c.adb: Correct call to Scan_Pos for -gnateI
12425
124262004-04-29 Thomas Quinot <quinot@act-europe.fr>
12427
12428 * sem_warn.adb (Check_References): Move '<access-variable> may be
12429 null' warning out of under Warn_On_No_Value_Assigned.
12430
124312004-04-29 Ed Falis <falis@gnat.com>
12432
12433 * gnat_ugn.texi: Fixed texi error
12434
124352004-04-29 Robert Dewar <dewar@gnat.com>
12436
12437 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
12438 abstract operations if they come from predefined files.
12439
12440 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
12441 Dynamic, not RM).
12442
12443 * s-addope.adb: Correct obvious error in mod function
12444
124452004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
12446
12447 * Makefile.in: Add target pairs for powerpc darwin*
12448 tasking support.
12449
12450 * a-intnam-darwin.ads, s-osinte-darwin.adb,
12451 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
12452
ea16c81b
UW
124532004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
12454
12455 * Makefile.in: Add target macro definitions for s390*-linux*.
12456 * system-linux-s390.ads: New file.
12457 * system-linux-s390x.ads: New file.
12458
f0e6f845
JM
124592004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
12460
12461 * gnat_ugn.texi: Correct argument to @setfilename.
12462
e8c2eedc
UW
124632004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
12464
12465 * a-exexpr.adb (Unwind_Word): New data type.
12466 (Unwind_Exception): Use it as type of Private1 and Private2.
12467
12468 * raise.c (db_action_for): Fix debug printf.
12469
f2c9e65a
AC
124702004-04-27 Ed Schonberg <schonberg@gnat.com>
12471
12472 * a-wtmoio.ads: Formal type must be a modular type, not a signed
12473 integer type.
12474
124752004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12476
12477 * decl.c (gnat_to_gnu_entity, case object): Call
12478 __builtin_update_setjmp_buf.
12479
12480 * gigi.h (update_setjmp_buf): Deleted.
12481 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
12482
12483 * misc.c: (update_setjmp_buf): Deleted.
12484
12485 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
12486 around block of RTL.
12487
12488 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
12489
35b7fa6a
AC
124902004-04-26 Thomas Quinot <quinot@act-europe.fr>
12491
12492 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
12493 subprogram for which no pragma All_Calls_Remote applies, store the
12494 address of the real subprogram in the underlying record type, so local
12495 dereferences do not go through the PCS.
12496
124972004-04-26 Robert Dewar <dewar@gnat.com>
12498
12499 * i-c.ads: Add some type qualifications to avoid ambiguities when
12500 compiling with s-auxdec.ads and a non-private address type.
12501
125022004-04-26 Arnaud Charlet <charlet@act-europe.fr>
12503
12504 * Makefile.rtl: Fix error in previous check-in:
12505 Add s-addope.o to non tasking object list (rather than tasking object
12506 list).
12507
125082004-04-26 Javier Miranda <miranda@gnat.com>
12509
12510 * sem_aggr.adb: Fix typo in comments
12511 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
12512 Required to check the null-exclusion attribute.
12513
12514 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
12515 case of anonymous access types in record and array components. For a
12516 component definition the level is the same of the enclosing composite
12517 type.
12518
12519 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
12520 that are anonymous access types the level of accessibility depends on
12521 the enclosing type declaration. In order to have this information, set
12522 the scope of the anonymous access type to the enclosing record type
12523 declaration.
12524 (Array_Type_Declaration): In case of components that are anonymous
12525 access types the level of accessibility depends on the enclosing type
12526 declaration. In order to have this information, set the scope of the
12527 anonymous access type to the enclosing array type declaration.
12528
12529 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
12530 access type.
12531
12532 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
12533 renaming of anonymous access-to-constant types allowed if and only if
12534 the renamed object is access-to-constant.
12535
12536 * sem_util.adb (Type_Access_Level): In case of anonymous access types
12537 that are component_definition or discriminants of a nonlimited type,
12538 the level is the same as that of the enclosing component type.
12539
125402004-04-26 Sergey Rybin <rybin@act-europe.fr>
12541
12542 * sem_elim.adb: Some minor code reorganization from code reading. Fix
12543 misprint in the function name (File_Name_Match).
12544
5a944040
LG
125452004-04-23 Laurent GUERBY <laurent@guerby.net>
12546
90afe2c9 12547 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
5a944040 12548 install.
90afe2c9 12549
d0fd1344
RO
125502004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12551
12552 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
12553
cc4f0de1
AC
125542004-04-23 Emmanuel Briot <briot@act-europe.fr>
12555
12556 * adaint.c (__gnat_try_lock): No longer requires that the parent
12557 directory be writable, the directory itself is enough.
12558 (gnat_is_absolute_path): Change profile, so that the call from
12559 GNAT.OS_Lib can be made more efficient.
12560
12561 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
12562 from GNAT.OS_Lib can be made more efficient.
12563
12564 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
12565 one copy of the file name. Found by code reading.
12566
125672004-04-23 Vincent Celier <celier@gnat.com>
12568
12569 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
12570 Correct documentation on gnatmake switches transmitted to the compiler
12571
12572 * ali.ads: Minor comment fix
12573
125742004-04-23 Javier Miranda <miranda@gnat.com>
12575
12576 * sem_ch6.adb: (Confirming Types): Code cleanup
12577
12578 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
12579 subprogram types: E_Anonymous_Access_Subprogram_Type and
12580 E_Anonymous_Access_Protected_Subprogram_Type.
12581
125822004-04-23 Thomas Quinot <quinot@act-europe.fr>
12583
12584 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12585 whether a pragma All_Calls_Remote applies to the subprogram on which
12586 'Access is taken.
12587 No functional change is introduced by this revision; the new parameter
12588 will be used to allow calls to local RCI subprograms to be optimized
12589 to not use the PCS in the case where no pragma All_Calls_Remote applies,
12590 as is already done in the PolyORB implementation of the DSA.
12591
12592 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12593 whether a pragma All_Calls_Remote applies to the subprogram on which
12594 'Access is taken.
12595 No functional change is introduced by this revision; the new parameter
12596 will be used to allow calls to local RCI subprograms to be optimized
12597 to not use the PCS in the case where no pragma All_Calls_Remote applies,
12598 as is already done in the PolyORB implementation of the DSA.
12599
126002004-04-23 Robert Dewar <dewar@gnat.com>
12601
12602 * Makefile.rtl: Add entry for s-addope.o in run time library list
12603 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
12604 * s-addope.ads, s-addope.adb: New files.
12605
90afe2c9
ZW
12606 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
12607 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
cc4f0de1
AC
12608 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
12609 System.Address to be non-private and signed.
12610
12611 * sem_elim.adb: Minor reformatting (fairly extensive)
12612 Some minor code reorganization from code reading
12613 Add a couple of ??? comments
12614
126152004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12616
12617 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
90afe2c9 12618 (tree_transform, case N_If_Statement): Remove non-determinism.
cc4f0de1
AC
12619
12620 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
12621
126222004-04-23 Sergey Rybin <rybin@act-europe.fr>
12623
12624 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
12625 Eliminate' section.
12626
12627 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
12628 no longer used as a parameter name for Eliminate pragma).
12629
78bad775
LG
126302004-04-22 Laurent GUERBY <laurent@guerby.net>
12631
12632 PR optimization/14984
12633 PR optimization/14985
12634 * trans.c (gigi): Fix non determinism leading to bootstrap
12635 comparison failures.
12636
af4b9434
AC
126372004-04-21 Pascal Obry <obry@gnat.com>
12638
12639 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
12640 passed to spawnvp() to properly handle program pathname with spaces on
12641 Win32.
12642
126432004-04-21 Emmanuel Briot <briot@act-europe.fr>
12644
12645 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
12646 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
12647 unlocked in case of exceptions.
12648
126492004-04-21 Joel Brobecker <brobecker@gnat.com>
12650
12651 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
12652 This function does not exist anymore.
12653
126542004-04-21 Thomas Quinot <quinot@act-europe.fr>
12655
12656 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
12657
12658 * link.c: Move variables to the __gnat name space.
12659
12660 * Makefile.in: list link.o explicitly when needed.
12661
12662 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
12663
126642004-04-21 Javier Miranda <miranda@gnat.com>
12665
12666 * einfo.adb (Original_Access_Type): New subprogram
12667 (Set_Original_Access_Type): New subprogram
12668 (Write_Field21_Name): Write the name of the new field
12669
12670 * einfo.ads (Original_Access_Type): New field present in access to
12671 subprogram types.
12672 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
12673 E_Anonymous_Access_Protected_Subprogram_Type.
12674
12675 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
12676 subprogram types.
12677
12678 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
12679 to anonymous access to subprogram types.
12680
12681 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
12682 to subprogram types.
12683
12684 * sem_ch3.adb (Access_Definition): Complete decoration of entities
12685 corresponding to anonymous access to subprogram types.
12686 (Analyze_Component_Declaration): Add new actual to the call to
12687 subprogram replace_anonymous_access_to_protected_subprogram.
12688 (Array_Type_Declaration): Add new actual to the call to subprogram
12689 replace_anonymous_access_to_protected_subprogram.
12690 (Process_Discriminants): Add new actual to the call to subprogram
12691 replace_anonymous_access_to_protected_subprogram.
12692 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
12693
12694 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12695 formal.
12696
12697 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
12698 access to subprogram types.
12699
12700 * sem_util.adb (Has_Declarations): Addition of package_specification
12701 nodes.
12702
127032004-04-21 Ed Schonberg <schonberg@gnat.com>
12704
12705 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
12706 inlined flags to renamed entity only if in current unit.
12707
127082004-04-21 Thomas Quinot <quinot@act-europe.fr>
12709
12710 * s-parint.ads: Add DSA implementation marker.
12711
12712 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
12713 value of System.Partition_Interface.DSA_Implementation to determine
12714 what version of the distributed systems annex is available (no
12715 implementation, GLADE, or PolyORB).
12716
127172004-04-21 Joel Brobecker <brobecker@gnat.com>
12718
12719 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
12720
127212004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12722
12723 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
12724 with new type if alias sets differ.
12725 Fixes ACATS c41103b.
12726
127272004-04-21 Vincent Celier <celier@gnat.com>
12728
12729 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
12730 Add array Lang_Args for the language specific compiling argument
12731 switches.
12732
12733 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
12734
127352004-04-21 Sergey Rybin <rybin@act-europe.fr>
12736
12737 * gnat_rm.texi: Update the descripton of the Eliminate pragma
12738 according to the recent changes in the format of the parameters of the
12739 pragma (replacing Homonym_Number with Source_Location).
12740
7324bf49
AC
127412004-04-19 Arnaud Charlet <charlet@act-europe.fr>
12742
12743 * 5isystem.ads: Removed, unused.
12744
12745 * gnat_rm.texi: Redo 1.13 change.
12746
127472004-04-19 Robert Dewar <dewar@gnat.com>
12748
12749 * s-stoele.ads: Clean up definition of Storage_Offset (the new
12750 definition is cleaner, avoids the kludge of explicit Standard operator
12751 references, and also is consistent with a visible System.Address with
12752 no visible operations.
12753
12754 * s-geveop.adb: Add declarations to avoid assumption of visible
12755 operations on type System.Address (since these might not be available
12756 if Address is a non-private type for which the operations
12757 are made abstract).
12758
12759 * sem_eval.adb: Minor reformatting
12760
12761 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
12762 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
12763 reformatting (new function spec format).
12764
12765 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
12766 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
12767 s-caun64.adb: Add declarations to avoid assumption of visible
12768 operations on type System.Address (since these might not be available
12769 if Address is a non-private type for which the operations are made
12770 abstract).
12771
12772 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
12773
12774 * exp_intr.adb: Minor comment update
12775
12776 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
12777
12778 * 5omastop.adb: Add declarations to avoid assumption of visible
12779 operations on type System.Address (since these might not be available
12780 if Address is a non-private type for which the operations
12781 are made abstract).
12782
127832004-04-19 Vincent Celier <celier@gnat.com>
12784
12785 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
12786
12787 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
12788 defaulted to Ada.
12789
12790 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
12791 defaulted to Ada.
12792 Call Check with Process_Languages.
12793 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
12794 with Process_Languages.
12795 (Recursive_Check): New Boolean parameter Process_Languages. Call
12796 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
12797 Process_Languages.
12798
12799 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
12800
12801 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
12802 parameter Ada_Main, defaulted to True.
12803 Check for Ada specific characteristics only when Ada_Main is True.
12804
12805 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
12806
12807 * prj.adb: (Project_Empty): Add new Project_Data components.
12808
12809 * prj.ads: New types and tables for non Ada languages.
12810 (Project_Data): New components Languages, Impl_Suffixes,
12811 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
12812 Include_Path, Include_Data_Set.
12813
12814 * prj-env.ads, prj-env.adb: Minor reformatting
12815
12816 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
12817 Put subprograms in alphabetical order
12818
12819 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
12820 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
12821 Opt.Follow_Links.
12822
12823 * mlib-prj.adb: Back out modification in last version, as they are
12824 incorrect.
12825 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
12826
12827 * make.adb: (Mains): Moved to package Makeutl
12828 (Linker_Opts): Moved to package Makeutl
12829 (Is_External_Assignment): Moved to package Makeutl
12830 (Test_If_Relative_Path): Moved to package Makeutl
12831 (Gnatmake): Move sorting of linker options to function
12832 Makeutl.Linker_Options_Switches.
12833
8f9df7d8
VC
12834 * makeutl.ads, makeutl.adb: New files.
12835
7324bf49
AC
12836 * Makefile.in: Add makeutl.o to the object files for gnatmake
12837
12838 * makeusg.adb: Add line for new switch -eL.
12839
12840 * gnatls.adb (Image): New function.
12841 (Output_Unit): If in verbose mode, output the list of restrictions
12842 specified by pragmas Restrictions.
12843
12844 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
12845 Text_IO.
12846
12847 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
12848 needed, to put it in the range 1970 (included) - 2026 (excluded).
12849 (Time_Of): Do not shift Unix_Min_Year (1970).
12850 Shift the date by multiple of 56 years, if needed, to put it in the
12851 range 1970 (included) - 2026 (excluded).
12852
12853 * adaint.h, adaint.c (__gnat_set_executable): New function.
12854
128552004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12856
12857 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
12858 and pop GC context.
12859 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
12860 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
12861 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
12862 (tree_transform, case N_Code_Statement): Likewise.
12863 (gnat_expand_stmt, case LABEL_STMT): Don't look at
12864 LABEL_STMT_FIRST_IN_EH.
12865 (gnat_expand_stmt, case ASM_STMT): New case.
12866
12867 * utils2.c (build_unary_op): Properly set TREE_READONLY of
12868 UNCONSTRAINED_ARRAY_REF.
12869
12870 * utils.c (poplevel): Temporarily push/pop GC context around inline
12871 function expansion.
12872
12873 * decl.c (maybe_variable): Properly set TREE_READONLY of
12874 UNCONSTRAINED_ARRAY_REF.
12875 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
12876
12877 * ada-tree.def: (ASM_STMT): New.
12878
12879 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
12880 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
12881 ASM_STMT_INPUT): New.
12882 (ASM_STMT_CLOBBER): Likewise.
12883
128842004-04-19 Thomas Quinot <quinot@act-europe.fr>
12885
12886 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
12887 general rcheck mechanism to raise Program_Error for E.4(18), instead
12888 of a custom raiser in System.Partition_Interface.
12889 Part of general cleanup work before PolyORB integration.
12890
12891 * snames.ads, snames.adb: Add new runtime library entities and names
12892 for PolyORB DSA.
12893
12894 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12895 exp_dist.
12896 (Build_Subprogram_Id): New subprogram provided by exp_dist
12897 Code reorganisation in preparation for PolyORB integration.
12898
12899 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12900 exp_dist.
12901 (Build_Subprogram_Id): New subprogram provided by exp_dist
12902
12903 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
12904 actual parameter types for call to dereference of an
12905 access-to-subprogram type.
12906
12907 * rtsfind.ads: Add new runtime library entities and names for PolyORB
12908 DSA.
12909
12910 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
12911 instead, which has the same behaviour here since we never pass it a
12912 NULL pointer.
12913
12914 * link.c (run_path_option, Solaris case): Use -Wl, as for other
12915 platforms.
12916
12917 * Makefile.in: adjust object file lists for gnatlink and gnatmake
12918 to account for new dependency upon Interfaces.C.Strings + link.o
12919 For x86 FreeBSD, use 86numaux.
12920
12921 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
12922 from Mlib.Tgt to Mlib.
12923
12924 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
12925 target-independent.
12926
12927 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
12928 target-specific versions of this subprogram, now implemented as a
12929 target-independent function in Mlib.
12930
12931 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
12932 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
12933 (Linker_Library_Path_Option): Remove target-specific versions of this
12934 subprogram, now implemented as a target-independent function in Mlib.
12935
12936 * atree.adb: (Allocate_Initialize_Node): New subprogram.
12937 Factors out node table slots allocation.
12938 (Fix_Parents): New subprogram.
12939 Encapsulate the pattern of fixing up parent pointers for syntactic
12940 children of a rewritten node.
12941 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
12942 (Rewrite): Use New_Copy when creating saved copy of original node.
12943 (Replace): Use Copy_Node to copy nodes.
12944
129452004-04-19 Javier Miranda <miranda@gnat.com>
12946
12947 * sprint.adb (Sprint_Node_Actual): Give support to the new
12948 Access_To_Subprogram node available in Access_Definition nodes. In
12949 addition, give support to the AI-231 node fields: null-exclusion,
12950 all-present, constant-present.
12951
12952 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
12953
90afe2c9 12954 * sinfo.ads, sinfo.adb:
7324bf49
AC
12955 New field Access_To_Subprogram_Definition in Access_Definition nodes
12956
12957 * sem_ch6.adb (Process_Formals): Move here the code that creates and
12958 decorates internal subtype declaration corresponding to the
12959 null-excluding formal. This code was previously in Set_Actual_Subtypes.
12960 In addition, carry out some code cleanup on this code. In case of
12961 access to protected subprogram call
12962 Replace_Anonymous_Access_To_Protected_Subprogram.
12963 (Set_Actual_Subtypes): Code cleanup.
12964
12965 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
12966 Find_Type in case of anonymous access renamings. Add warning in case of
12967 null-excluding attribute used in anonymous access renaming.
12968
12969 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12970 subprogram
12971
12972 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
12973 subprogram.
12974 (Access_Definition): In case of anonymous access to subprograms call
12975 the corresponding semantic routine to decorate the node.
12976 (Access_Subprogram_Declaration): Addition of some comments indicating
12977 some code that probably should be added here. Detected by comparison
12978 with the access_definition subprogram.
12979 (Analyze_Component_Declaration): In case of access to protected
12980 subprogram call Replace_Anonymous_Access_To_Protected.
12981 (Array_Type_Declaration): In case of access to protected subprogram call
12982 Replace_Anonymous_Access_To_Protected_Subprogram.
12983 (Process_Discriminants): In case of access to protected subprogram call
12984 Replace_Anonymous_Access_To_Protected_Subprogram.
12985
12986 * par.adb (P_Access_Definition): New formal that indicates if the
12987 null-exclusion part was present.
12988 (P_Access_Type_Definition): New formal that indicates if the caller has
12989 already parsed the null-excluding part.
12990
12991 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
12992 (P_Identifier_Declarations): Code cleanup and give support to renamings
12993 of anonymous access to subprogram types.
12994 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
12995 (P_Array_Type_Definition): Give support to AI-254.
12996 (P_Component_Items): Give support to AI-254.
12997 (P_Access_Definition): New formal that indicates if the header was
12998 already parsed by the caller.
12999 (P_Access_Type_Definition): New formal that indicates if the caller has
13000 already parsed the null-excluding part.
13001
13002 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
13003 call to P_Access_Definition.
13004
130052004-04-19 Geert Bosch <bosch@gnat.com>
13006
13007 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
13008 the delicate semantics of floating-point to integer conversion.
13009 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
13010
13011 * eval_fat.adb (Machine_Mantissa): Moved to spec.
13012 (Machine_Radix): New function.
13013
13014 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
13015 conversion checks.
13016 (Machine_Radix): New function also for use in conversion checks.
13017
130182004-04-19 Ed Schonberg <schonberg@gnat.com>
13019
13020 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
13021
13022 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
13023 to decorate the access-to-protected subprogram and the equivalent type.
13024
13025 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
13026 to anonymous access to subprogram types.
13027
13028 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
13029 constant-folding, for legality checks in contexts that require an RM
13030 static expression.
13031
13032 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
13033 temporary but stack checking is not enabled, increment serial number
13034 to so that symbol generation is consistent with and without stack
13035 checking.
13036
13037 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
13038 independent on whether stack checking is enabled, caller must check
13039 the corresponding flag.
13040
13041 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
13042 range checks.
13043 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
13044 parent if it has discriminants.
13045 (Build_Derived_Private_Type): Constructed full view does
13046 not come from source.
13047 (Process_Discriminants): Default discriminants on a tagged type are
13048 legal if this is the internal completion of a private untagged
13049 derivation.
13050
13051 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
13052 no constraint checks, because it corresponds to an existing object.
13053
13054 * sem_prag.adb (Process_Convention): Pragma applies
13055 only to subprograms in the same declarative part, i.e. the same unit,
13056 not the same scope.
13057
13058 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
13059 ignore type mismatch on a numeric conversion if expression comes from
13060 expansion.
13061
130622004-04-19 Sergey Rybin <rybin@act-europe.fr>
13063
13064 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
13065 Homonym_Number parameter, add processing for Source_Location parameter
13066 corresponding.
13067 (Check_Eliminated): Remove the check for homonym numbers, add the check
13068 for source location traces.
13069
13070 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
13071 with Arg_Source_Location corresponding to the changes in the format of
13072 the pragma.
13073
13074 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
13075 Eliminate pragma corresponding to the changes in the format of the
13076 pragma: Homonym_Number is replaced with Source_Location, two ways of
13077 distinguishing homonyms are mutially-exclusive.
13078
130792004-04-19 Joel Brobecker <brobecker@gnat.com>
13080
13081 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
13082
13083 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
13084 No_Dollar_In_Label, no longer necessary, as it is always True.
13085 (Strip_Suffixes): Likewise.
13086
130872004-04-19 Gary Dismukes <dismukes@gnat.com>
13088
13089 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
13090 modulus for compatibility with size clause on targets with 16-bit
13091 Integer.
13092
13093 * layout.adb (Discrimify): In the case of private types, set Vtyp to
13094 full type to fix type mismatches on calls to size functions for
13095 discriminant-dependent array components.
13096
130972004-04-19 Jerome Guitton <guitton@act-europe.fr>
13098
13099 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
13100 lib.
13101
131022004-04-19 Pascal Obry <obry@gnat.com>
13103
13104 * mdll-utl.adb (Locate): New version is idempotent.
13105
131062004-04-17 Laurent Guerby <laurent@guerby.net>
fa795c69
LG
13107
13108 PR ada/14988 (partial)
13109 * impunit.adb: Fix typo.
90afe2c9 13110
cce0244b
NN
131112004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
13112
13113 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
13114 and install-rts-cert targets. Remove all gnatlib and gnattools
13115 targets and all other rts-* targets (moved to libada). Remove (now)
13116 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
13117 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
13118
af152989
AC
131192004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13120
13121 * trans.c (tree_transform): Shortcut returning error_mark_node for
13122 statements in annotate_only_mode.
13123 (tree_transform, case N_Label, case N_Return_Statement,
13124 N_Goto_Statement): Make statement tree instead of generating code.
13125 (tree_transform, case N_Assignment_Statement): No longer check
13126 type_annotate_only.
13127 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
13128 RETURN_STMT): New.
13129 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
13130 New fcns.
13131 (gnat_to_gnu): Collect any RTL generated and deal with it.
13132 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
13133 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
13134 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
13135
13136 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
13137
13138 * ada-tree.def (EXPR_STMT): Fix typo in name.
13139 (BLOCK_STMT, IF_STMT): New nodes.
13140
13141 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
13142 LABEL_STMT_FIRST_IN_EH): New macros.
13143 (RETURN_STMT_EXPR): Likewise.
13144
13145 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
13146 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
13147
131482004-04-08 Thomas Quinot <quinot@act-europe.fr>
13149
13150 * atree.ads: Correct documentation on extended nodes.
13151
13152 * link.c: Set run_path_option for FreeBSD.
13153
131542004-04-08 Vincent Celier <celier@gnat.com>
13155
13156 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
13157 one of the ALI file, do not link with DEC lib.
13158
13159 * par.adb Remove the last two characters ("%s" or "%b") when checking
13160 if a language defined unit may be recompiled.
13161
131622004-04-08 Ed Schonberg <schonberg@gnat.com>
13163
13164 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
13165 removal of abstract operation leaves no possible interpretation for
13166 expression.
13167
13168 * sem_eval.adb (Eval_Qualified_Expression): Use
13169 Set_Raises_Constraint_Error on node when needed, so that it does not
13170 get optimized away by subsequent optimizations.
13171
13172 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
13173 operands even when they are not wrapped in a type conversion.
13174
131752004-04-08 Olivier Hainque <hainque@act-europe.fr>
13176
13177 * sem_prag.adb (Set_Exported): Warn about making static as result of
13178 export only when the export is coming from source. This may be not
13179 be true e.g. on VMS where we expand export pragmas for exception codes
13180 together with imported or exported exceptions, and we don't want the
13181 user to be warned about something he didn't write.
13182
131832004-04-08 Thomas Quinot <quinot@act-europe.fr>
13184
13185 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
13186 duplication between normal entities and those declared as renamings.
13187 No functional change.
13188
90afe2c9 13189 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
af152989
AC
13190 inline functions returning an unconstrained result.
13191
131922004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
13193
13194 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
13195 conform to what other front-ends do.
13196
131972004-04-08 Doug Rupp <rupp@gnat.com>
13198
13199 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
13200 libraries.
13201
3984e89a
AC
132022004-04-06 Pascal Obry <obry@gnat.com>
13203
13204 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
13205
13206 * osint.adb (Program_Name): Do not look past a directory separator.
13207
132082004-04-06 Thomas Quinot <quinot@act-europe.fr>
13209
13210 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
13211
13212 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
13213 requirement for preserving a copy of the original assignment node.
13214
13215 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
13216
132172004-04-06 Olivier Hainque <hainque@act-europe.fr>
13218
13219 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
13220 when supported.
13221
132222004-04-06 Ed Schonberg <schonberg@gnat.com>
13223
13224 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
13225 operator calls in functional notation, and apply
13226 Universal_Interpretation to operands, not to their type.
13227
132282004-04-06 Robert Dewar <dewar@gnat.com>
13229
13230 * 5wdirval.adb: Minor reformatting
13231
132322004-04-06 Ed Falis <falis@gnat.com>
13233
13234 * gnat_rm.texi: Improve a reference to the GCC manual
13235
30c20106
AC
132362004-04-05 Vincent Celier <celier@gnat.com>
13237
13238 * adaint.h, adaint.c: Add function __gnat_named_file_length
13239
13240 * impunit.adb: Add Ada.Directories to the list
13241
13242 * Makefile.in: Add VMS and Windows versions of
13243 Ada.Directories.Validity package body.
13244
13245 * Makefile.rtl: Add a-direct and a-dirval
13246
13247 * mlib-tgt.ads: Minor comment update.
13248
13249 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
13250 a-direct.ads, a-direct.adb: New files.
13251
132522004-04-05 Vincent Celier <celier@gnat.com>
13253
13254 PR ada/13620
13255 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
13256 just to the compiler.
13257
132582004-04-05 Robert Dewar <dewar@gnat.com>
13259
13260 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
13261 returned string is 1.
13262
13263 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
13264
13265 * eval_fat.ads: Minor reformatting
13266
13267 * g-curexc.ads: Document that lower bound of returned string values
13268 is always one.
13269
13270 * gnatlink.adb: Add ??? comment for previous change
13271 (need to document why this is VMS specific)
13272
13273 * s-stoele.ads: Minor reformatting
13274
13275 * tbuild.ads: Minor reformatting throughout (new function specs)
13276
13277 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
13278 after WITH.
13279
13280 * scng.adb: Minor reformatting
13281
132822004-04-05 Geert Bosch <bosch@gnat.com>
13283
13284 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
13285 (Leading_Part): Still perform truncation to machine number if the
13286 specified radix_digits is greater or equal to machine_mantissa.
13287
132882004-04-05 Javier Miranda <miranda@gnat.com>
13289
13290 * par-ch3.adb: Complete documentation of previous change
13291 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
13292 (aliased must appear before constant).
13293
13294 * par-ch4.adb: Complete documentation of previous change.
13295
13296 * par-ch6.adb: Complete documentation of previous change.
13297
13298 * sinfo.ads: Fix typo in commment.
13299
133002004-04-05 Ed Schonberg <schonberg@gnat.com>
13301
13302 * sem_ch3.adb (Inherit_Components): If derived type is private and has
13303 stored discriminants, use its discriminants to constrain parent type,
13304 as is done for non-private derived record types.
13305
13306 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
13307 Ada 2005 AI-310: an abstract non-dispatching operation is not a
13308 candidate interpretation in an overloaded call.
13309
13310 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
13311 expression is Null and target type is not an access type (e.g. a
13312 non-private address type).
13313
133142004-04-05 Thomas Quinot <quinot@act-europe.fr>
13315
13316 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
13317 statement whose right-hand side is an inlined call, save a copy of the
13318 original assignment subtree to preserve enough consistency for
13319 Analyze_Assignment to proceed.
13320
13321 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
13322 complete assignment subtree which is now unnecessary, as the expansion
13323 of inlined call has been improved to preserve a consistent assignment
13324 tree. Note_Possible_Modification must be called only
13325 after checks have been applied, or else unnecessary checks will
13326 be generated.
13327
13328 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
13329 of explicit dereferences that do not Come_From_Source:
13330 - be selective on cases where we must go back to the dereferenced
13331 pointer (an assignment to an implicit dereference must not be
13332 recorded as modifying the pointer);
13333 - do not rely on Original_Node being present (Analyze_Assignment
13334 calls Note_Possible_Modification on a copied tree).
13335
13336 * sem_warn.adb (Check_References): When an unset reference to a pointer
13337 that is never assigned is encountered, prefer '<pointer> may be null'
13338 warning over '<pointer> is never assigned a value'.
13339
133402004-04-05 Ramon Fernandez <fernandez@gnat.com>
13341
13342 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
13343 the ABI.
13344
133452004-04-05 Olivier Hainque <hainque@act-europe.fr>
13346
13347 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
13348 libexc. We currently don't reference anything in this library and
13349 linking it in triggers linker warnings we don't want to see.
13350
13351 * init.c: Update comments.
13352
4f976745
RK
133532004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13354
13355 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
13356 * utils.c (create_field_decl): Likewise.
13357 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
13358
6da7d579
AC
133592004-04-02 Arnaud Charlet <charlet@act-europe.fr>
13360
13361 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
13362 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
13363 Add info directory entry and category.
13364
18c6ada9
JH
133652004-04-02 Jan Hubicka <jh@suse.cz>
13366
13367 * utils.c: Include function.h
13368 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
13369
7cd4527e
AC
133702004-04-01 Arnaud Charlet <charlet@act-europe.fr>
13371
13372 PR ada/14150
13373 * Make-lang.in: Clean up generation of documentation
13374
13375 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
13376
13377 * xgnatug.adb: Removed, replaced by xgnatugn.adb
13378
13379 * xgnatugn.adb: Replaces xgnatug.adb
13380
13381 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
13382
13383 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
13384
13385 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13386 gnat_ug_wnt.texi: Removed.
13387
0c250f07
AC
133882004-04-01 Arnaud Charlet <charlet@act-europe.fr>
13389
13390 * utils2.c: Update copyright notice.
13391
6b6fcd3e
AC
133922004-04-01 Robert Dewar <dewar@gnat.com>
13393
13394 * checks.adb: Minor reformatting throughout
13395 Note that prev checkin added RM reference to alignment warning
13396
133972004-04-01 Ed Schonberg <schonberg@gnat.com>
13398
13399 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
13400 non-static when building aggregate for bit-packed array.
13401
13402 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
13403 function call that is itself the actual in a procedure call, build
13404 temporary for it.
13405
13406 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
13407 a string literal, create a temporary for it, constant folding only
13408 handles scalars here.
13409
134102004-04-01 Vincent Celier <celier@gnat.com>
13411
13412 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
13413 Error_Msg_SP): New empty procedures to instantiate the Scanner.
13414 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
13415 tokens.
13416 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
13417 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
13418 and get the checksum.
13419
13420 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
13421 already in the Q.
13422 Increase the Marking_Label at the end of the Multiple_Main_Loop,
13423 instead of at the beginning.
13424
13425 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
13426 directly.
13427 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
13428 on VMS.
13429
13430 * osint.ads (Multi_Unit_Index_Character): New Character global variable
13431
13432 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
13433 not '~' directly.
13434
13435 * par.adb: Remove test on file name to detect language defined units.
13436 Add test on unit name, after parsing, to detect language defined units
13437 that are not compiled with -gnatg (except System.RPC and its children)
13438
13439 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
13440 following units without style checking.
13441
13442 * switch-c.adb: Change -gnatC to -gnateI
13443
13444 * usage.adb: Document new switch -gnateInnn
13445
13446 * scng.adb (Accumulate_Token_Checksum): New procedure
13447 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
13448 word or literal number.
13449 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
13450 numbers.
13451
134522004-04-01 Thomas Quinot <quinot@act-europe.fr>
13453
13454 * a-tasatt.adb,
13455 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
13456 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
13457 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
13458 5vtpopde.adb: Add missing 'constant' keywords.
13459
134602004-04-01 Javier Miranda <miranda@gnat.com>
13461
13462 * par-ch4.adb: (P_Allocator): Code cleanup
13463
13464 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
13465 attribute.
13466
13467 * sinfo.ads: Complete documentation of previous change
13468
134692004-04-01 Pascal Obry <obry@gnat.com>
13470
13471 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
13472 only on VMS. This special handling was done because an old GNU/ld bug
13473 on Windows which has been fixed.
13474
134752004-04-01 GNAT Script <nobody@gnat.com>
13476
13477 * Make-lang.in: Makefile automatically updated
13478
8df83eae
RK
134792004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13480
13481 * decl.c (gnat_to_gnu_entity, make_type_from_size):
13482 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
13483 * trans.c (tree_transform, convert_with_check): Likewise.
13484 * utils.c (gnat_signed_or_unsigned_type): Likewise.
13485 (build_vms_descriptor, unchecked_convert): Likewise.
13486 * utils2.c (nonbinary_modular_operation): Likewise.
13487
2820d220
AC
134882004-03-29 Javier Miranda <miranda@gnat.com>
13489
13490 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
13491 (Install_Null_Excluding_Check): Local subprogram that determines whether
13492 an access node requires a runtime access check and if so inserts the
13493 appropriate run-time check.
13494 (Apply_Access_Check): Call Install_Null_Excluding check if required
13495 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
13496
13497 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
13498
13499 * einfo.ads: Fix typo in comment
13500
13501 * exp_ch3.adb (Build_Assignment): Generate conversion to the
13502 null-excluding type to force the corresponding run-time check.
13503 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
13504 type to force the corresponding run-time check.
13505
13506 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
13507 the null-excluding type to force the corresponding run-time check.
13508
13509 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
13510 case of access types unless they have the null-excluding attribute.
13511
13512 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
13513 part.
13514
13515 * exp_util.ads: Fix typo in comment
13516
13517 * par.adb (P_Null_Exclusion): New subprogram
13518 (P_Subtype_Indication): New formal that indicates if the null-excluding
13519 part has been scanned-out and it was present
13520
13521 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
13522
13523 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
13524 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
13525 type to force the corresponding run-time check
13526 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
13527 components
13528 (Resolve_Array_Aggregate): Carry out some static checks
13529 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
13530
13531 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
13532 attribute must be set only if specified by means of the null-excluding
13533 part. In addition, we must also propagate the access-constant attribute
13534 if present.
13535 (Access_Subprogram_Declaration, Access_Type_Declaration,
13536 Analyze_Component_Declaration, Analyze_Object_Declaration,
13537 Array_Type_Declaration, Process_Discriminants,
13538 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
13539 and carry out some static checks.
13540 (Build_Derived_Access_Type): Set the null-excluding attribute
13541 (Derived_Type_Declaration, Process_Subtype): Carry out some static
13542 checks.
13543
13544 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
13545
13546 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
13547
13548 * sem_ch6.adb (Process_Formals): Carry out some static checks.
13549 (Set_Actual_Subtypes): Generate null-excluding subtype if the
13550 null-excluding part was present; it is not required to be done here in
13551 case of anonymous access types.
13552 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
13553 value.
13554
13555 * sem_res.adb (Resolve_Actuals): Carry out some static check
13556 (Resolve_Null): Allow null in anonymous access
13557
13558 * sinfo.adb: New subprogram Null_Exclusion_Present
13559 All_Present and Constant_Present available on access_definition nodes
13560
13561 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
13562 object_declaration, derived_type_definition, component_definition,
13563 discriminant_specification, access_to_object_definition,
13564 access_function_definition, allocator, access_procedure_definition,
13565 access_definition, parameter_specification, All_Present and
13566 Constant_Present flags available on access_definition nodes.
13567
135682004-03-29 Robert Dewar <dewar@gnat.com>
13569
13570 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
13571 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
13572 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
13573 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
13574 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
13575 sem_prag.adb: Updates to handle multiple units/file
13576
13577 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
13578
13579 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
13580 sem_util.adb: Minor reformatting
13581
13582 * sem_ch12.adb: Add comment for previous change
13583
135842004-03-29 Laurent Pautet <pautet@act-europe.fr>
13585
13586 * osint.adb (Executable_Prefix): Set Exec_Name to the current
13587 executable name when not initialized. Otherwise, use its current value.
13588
13589 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
13590 initialize it to another executable name than the current one. This
13591 allows to configure paths for an executable name (gnatmake) different
13592 from the current one (gnatdist).
13593
135942004-03-29 Ed Schonberg <schonberg@gnat.com>
13595
13596 * exp_ch6.adb (Expand_Call): A call to a function declared in the
13597 current unit cannot be inlined if it appears in the body of a withed
13598 unit, to avoid order of elaboration problems in gigi.
13599
13600 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
13601 information for protected (wrapper) operation as well, to simplify gdb
13602 use.
13603
13604 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
13605 protected body, indicate that the entity for the generated spec comes
13606 from source, to ensure that references are properly generated for it.
13607 (Build_Body_To_Inline): Do not inline a function that returns a
13608 controlled type.
13609
13610 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
13611 apply convention to homonyms that are declared explicitly.
13612
13613 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
13614 that renames an equality operator and the operands are overloaded,
13615 resolve them with the declared formal types, before rewriting as an
13616 operator.
13617
136182004-03-29 GNAT Script <nobody@gnat.com>
13619
13620 * Make-lang.in: Makefile automatically updated
13621
6d11af89
AC
136222004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
13623
13624 * memtrack.adb: Log realloc calls, which are treated as free followed
13625 by alloc.
13626
136272004-03-25 Vincent Celier <celier@gnat.com>
13628
13629 * prj-makr.adb (Process_Directories): Detect when a file contains
13630 several units. Do not include such files in the config pragmas or
13631 in the naming scheme.
13632
13633 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
13634 Resolve links only when not in Trusted_Mode.
13635 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
13636 Do not resolve links for the display names.
13637
13638 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
13639 resolve links when computing the display names.
13640
136412004-03-25 Thomas Quinot <quinot@act-europe.fr>
13642
13643 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
13644 attribute reference does not denote a subtype, it can be any
13645 expression that has a classwide type, potentially after an implicit
13646 dereference. In particular, the prefix can be a view conversion for
13647 a classwide type (for which Is_Object_Reference holds), but it can
13648 also be a value conversion for an access-to-classwide type. In the
13649 latter case, there is an implicit dereference, and the original node
13650 for the prefix does not verify Is_Object_Reference.
13651
13652 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
13653 conversion of a discriminant-dependent component of a mutable object
13654 is one itself.
13655
136562004-03-25 Ed Schonberg <schonberg@gnat.com>
13657
13658 * freeze.adb (Freeze_Entity): When an inherited subprogram is
13659 inherited, has convention C, and has unconstrained array parameters,
13660 place the corresponding warning on the derived type declaration rather
13661 than the original subprogram.
13662
13663 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
13664 indication on renaming declaration, if formal has a box and actual
13665 is absent.
13666
13667 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
13668 determine whether to generate an implicit or explicit reference to
13669 the renamed entity.
13670
13671 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
13672 subprogram renaming comes from a defaulted formal subprogram in an
13673 instance.
13674
136752004-03-25 Gary Dismukes <dismukes@gnat.com>
13676
13677 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
13678 value expressions to ensure that calls within a component definition
13679 will be checked (since those are evaluated during the record type's
13680 elaboration).
13681
136822004-03-25 Arnaud Charlet <charlet@act-europe.fr>
13683
13684 * s-tpobop.adb: Code clean up:
13685 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
13686 code.
13687 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
13688
136892004-03-25 Jose Ruiz <ruiz@act-europe.fr>
13690
13691 * Makefile.in: Clean up in the ravenscar run time.
13692
22421b79
RK
136932004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13694
13695 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
13696 of No_Strict_Aliasing to build_pointer_type_for_mode.
13697 * utils.c (update_pointer_to): Walk pointer and ref chains.
13698
24105bab
AC
136992004-03-22 Cyrille Comar <comar@act-europe.fr>
13700
13701 * ali.ads: Fix Comment about Dynamic_Elab.
13702
13703 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
13704 Has_RACW, Is_Generic, etc.)
13705 (Output_Object, Gnatls): Take into account ALI files not attached to
13706 an object.
13707
137082004-03-22 Vincent Celier <celier@gnat.com>
13709
13710 * gprep.adb: Change all String_Access to Name_Id
13711 (Is_ASCII_Letter): new function
13712 (Double_File_Name_Buffer): New procedure
13713 (Preprocess_Infile_Name): New procedure
13714 (Process_Files): New procedure
13715 (Gnatprep): Check if output and input are existing directories.
13716 Call Process_Files to do the real job.
13717
137182004-03-22 Robert Dewar <dewar@gnat.com>
13719
13720 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
13721 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
13722
137232004-03-22 Sergey Rybin <rybin@act-europe.fr>
13724
13725 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
13726 case when the source contains only comments.
13727
137282004-03-22 Ed Schonberg <schonberg@gnat.com>
13729
13730 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
13731 declaration for a child subprogram body that acts as a spec, indicate
13732 that the entity in the declaration needs debugging information.
13733
13734 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
13735 full view if the subtype is created for a constrained record component;
13736 gigi has enough information to construct the record, and there is no
13737 place in the tree for the declaration.
13738
13739 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
13740 serial number for the dummy body that is built for analysis, to avoid
13741 inconsistencies in the generation of internal names when compiling
13742 with -gnatN.
13743
137442004-03-22 Thomas Quinot <quinot@act-europe.fr>
13745
13746 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
13747 object.
13748
137492004-03-22 GNAT Script <nobody@gnat.com>
13750
13751 * Make-lang.in: Makefile automatically updated
13752
6fce44af
RK
137532004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13754
13755 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13756 * trans.c (tree_transform, emit_index_check): Likewise.
13757 * utils.c (build_template): Likewise.
13758 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
13759 (maybe_unconstrained_array, unchecked_convert): Likewise.
13760 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
13761 (build_unary_op): Likewise.
13762 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13763 (fill_vms_descriptor): Likewise.
13764 (build_call_alloc_dealloc): Likewise.
13765 ALIGN is unsigned.
13766 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
13767
802f6d4b
JM
137682004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
13769
13770 PR other/14630
13771 * gnat_ug.texi: Add info directory category and entry.
13772 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13773 gnat_ug_wnt.texi: Regenerate.
13774
30f3b32b
AC
137752004-03-19 Arnaud Charlet <charlet@act-europe.fr>
13776
13777 * ada-tree.h: Update copyright notice.
13778 Minor reformatting.
13779
137802004-03-19 Olivier Hainque <hainque@act-europe.fr>
13781
13782 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
13783 as regular exception objects and not as mere integers representing the
13784 condition code. The latter approach required some dynamics to mask off
13785 severity bits, which did not fit well into the GCC table based model.
13786 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
13787 exception data objects. We don't it and it would conflict with the other
13788 external symbol we have to generate for such exceptions.
13789
13790 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
13791 the special code for VMS exceptions, since these are now represented
13792 as regular exceptions objects.
13793
7548281d
RK
137942004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13795
13796 * decl.c (debug_no_type_hash): Remove.
13797 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
13798 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
13799
7324bf49 138002004-03-19 Laurent Guerby <laurent@guerby.net>
dbee7ab9 13801
90afe2c9 13802 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
dbee7ab9 13803 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
90afe2c9 13804
eb34af89
RK
138052004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13806
13807 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
13808 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
13809 (TYPE_RM_SIZE_INT): Directly use type.values.
13810 (TREE_LOOP_ID): Clean up check.
13811 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
13812 TYPE_VALUES, not TYPE_FIELDS.
13813 * trans.c (convert_with_check): Delay access of bounds of basetype
13814 until sure is numeric.
13815
a336eaca
AC
138162004-03-18 Arnaud Charlet <charlet@act-europe.fr>
13817
13818 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
13819
13820 Code clean up:
13821 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
13822 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
13823 Specific.Set instead of direct call to e.g pthread_setspecific.
13824
138252004-03-18 Thomas Quinot <quinot@act-europe.fr>
13826
13827 * adaint.c: Update comments.
13828
13829 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
13830 GNATLIB_SHARED for FreeBSD.
13831
138322004-03-18 Jose Ruiz <ruiz@act-europe.fr>
13833
13834 * init.c [VxWorks]: Do not fix the stack size for the environment task.
13835 When needed (stack checking) the stack size is retrieved
13836 from the VxWorks kernel.
13837
13838 * Makefile.in: Flag -nostdinc is required when building the run time
13839 for avoiding looking for files in the base compiler.
13840 Add the VxWorks specific version of the package body for
13841 System.Stack_checking.Operations (5zstchop.adb).
13842
13843 * Make-lang.in: Add the object file for
13844 System.Stack_Checking.Operations.
13845
13846 * Makefile.rtl: Add object file for the package
13847 System.Stack_Checking.Operations.
13848
13849 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
13850
13851 * s-stache.ads, s-stache.adb: Move the operations related to stack
13852 checking from this package to package System.Stack_Checking.Operations.
13853 This way, stack checking operations are only linked in the final
13854 executable when using the -fstack-check flag.
13855
138562004-03-18 Doug Rupp <rupp@gnat.com>
13857
13858 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
13859 Reorganize ifeq's.
13860
13861 * 5qsystem.ads, 5xcrtl.ads: New files.
13862
138632004-03-18 Vincent Celier <celier@gnat.com>
13864
13865 * prj.adb (Reset): Reset hash table Files_Htable
13866
13867 * prj-env.adb (Source_Paths, Object_Paths): New tables.
13868 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
13869 the procedures Add_To_Path_File.
13870 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
13871 making sure that each directory is present only once and, for object
13872 dirs, when a directory already present is added, the duplicate is
13873 removed and the directory is always put as the last in the table.
13874 Write the path files at the end of these accumulations.
13875
13876 * prj-nmsc.adb (Record_Source): Add source file name in hash table
13877 Files_Htable for all sources.
13878
13879 * prj-proc.adb (Process): Remove restrictions between not directly
13880 related extending projects.
13881
138822004-03-18 Emmanuel Briot <briot@act-europe.fr>
13883
13884 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
13885 (Find_Sources): Minor speed optimization.
13886
13887 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
13888 parameter Trusted_Mode.
13889
138902004-03-18 Sergey Rybin <rybin@act-europe.fr>
13891
13892 * scn.adb (Determine_License): Take into account a degenerated case
13893 when the source contains only comments.
13894
138952004-03-18 Ed Schonberg <schonberg@gnat.com>
13896
13897 * sem_warn.adb (Check_References): For a warning on a selected
13898 component that does not come from source, locate an uninitialized
13899 component of the record type to produce a more precise error message.
13900
e6f69614
AC
139012004-03-15 Jerome Guitton <guitton@act-europe.fr>
13902
13903 * 3zsoccon.ads: Fix multicast options.
13904
13905 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
13906 in the spec.
13907
139082004-03-15 Robert Dewar <dewar@gnat.com>
13909
13910 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
13911 pragma used for a private type.
13912
13913 * lib-xref.adb (Generate_Reference): Do not generate warning if
13914 reference is in a different unit from the pragma Unreferenced.
13915
13916 * 5vtpopde.adb: Minor reformatting
13917 Fix casing of To_Task_ID
13918
13919 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
13920 flag if we have an unchecked conversion to an access type in the same
13921 unit.
13922
139232004-03-15 Geert Bosch <bosch@gnat.com>
13924
13925 * a-ngcoty.adb (Modulus): In alternate formula for large real or
13926 imaginary parts, use Double precision throughout.
13927
13928 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
13929 we want to be able to compile run-time with -gnata for testing, but
13930 this may also be instantiated in user code that is compiled with -gnata.
13931
139322004-03-15 Olivier Hainque <hainque@act-europe.fr>
13933
13934 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
13935 codes. Having a separate type for this is useful to enforce consistency
13936 throughout the various run-time units.
13937 (Exception_Data): Use Exception_Code for Import_Code.
13938
13939 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
13940 Natural and Integer in various places.
13941 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
13942 with the severity bits masked off.
13943 (Register_VMS_Exception): Handle the additional exception data pointer
13944 argument.
13945
13946 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
13947 component, now reflected by an exported accessor.
13948 (is_handled_by): New routine to compute whether the propagated
13949 occurrence matches some handler choice specification. Extracted out of
13950 get_action_description_for, and expanded to take care of the VMS
13951 specifities.
13952 (get_action_description_for): Use is_handled_by instead of an explicit
13953 complex condition to decide if the current choice at hand catches the
13954 propagated occurrence.
13955
13956 * raise.h (Exception_Code): New type for C.
13957
13958 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
13959 System.Standard_Library.Exception_Code, to allow references from the
13960 pragma import/export expander.
13961
13962 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
13963 New accessors to allow easy access to GNAT exception data
13964 characteristics.
13965 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
13966 redundant Handled_By_Others component, helper for the personality
13967 routine which will now be able to call the appropriate exception data
13968 accessor instead.
13969
13970 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
13971 component of Standard_Exception_Type to be the closest possible to
13972 Exception_Code in System.Standard_Library, that we cannot get at this
13973 point. Expand a ??? comment to notify that this type node should
13974 probably be rewritten later on.
13975
13976 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
13977 registration call to include a pointer to the exception object in the
13978 arguments.
13979
13980 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
13981 instead of int and explicit bitmasks.
13982
139832004-03-15 Vincent Celier <celier@gnat.com>
13984
13985 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
13986 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
13987
13988 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
13989 longer needed now that it is in the spec of
13990 System.Tasking.Task_Attributes.
13991
13992 * adaint.h, adaint.c: (__gnat_create_output_file): New function
13993
13994 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
13995
13996 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
13997
13998 * make.adb (Gnatmake): Do not check the executable suffix; it is being
13999 taken care of in Scan_Make_Arg.
14000 (Scan_Make_Arg): Add the executable suffix only if the argument
14001 following -o, in canonical case, does not end with the executable
14002 suffix. When in verbose mode and executable file name does not end
14003 with executable suffix, output the executable name, in canonical case.
14004
14005 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
14006 to avoid warnings when instantiating Ada.Task_Attributes.
14007 Minor reformating.
14008
14009 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
14010 in the correct order.
14011
14012 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
14013 redirect standard output and error to a file for the invocation of the
14014 compiler, then read the file.
14015
14016 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
14017 directory, instead of the Value.
14018 (Find_Source_Dirs): Remove useless code & comments.
14019
140202004-03-15 Ed Schonberg <schonberg@gnat.com>
14021
14022 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
14023 tagged type is inherited, and the parent operation is not frozen yet,
14024 force generation of a freeze node for the inherited operation, so the
14025 corresponding dispatch entry is properly initialized.
14026 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
14027 when looking for user-defined equality operation.
14028
14029 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
14030 boolean when locating primitive equality of tagged component.
14031
14032 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
14033 bit-aligned field and the right-hand side a string literal, introduce
14034 a temporary before expanding assignment into a loop.
14035
14036 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
14037 priority in full, to ensure that any expanded subepxressions of it are
14038 elaborated in the scope of the init_proc.
14039
14040 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
14041 after object declaration, skipping over code that may have been
14042 generated for validity checks.
14043
14044 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
14045 discriminants, ignore the known discriminants of its full view, if
14046 any, to check legality.
14047
14048 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
14049 component if type has unknown discriminants.
14050 (Analyze_Private_Extension_Declaration): Discriminant constraint is
14051 null if type has unknown discriminants.
14052
14053 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
14054 for end label when present.
14055
14056 * s-fileio.adb (Open): When called with a C_Stream, use given name for
14057 temporary file, rather than an empty string.
14058
140592004-03-15 Ed Falis <falis@gnat.com>
14060
14061 * s-thread.adb: Removed, no longer used.
14062
140632004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14064
14065 * decl.c (target.h): Now include.
14066 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
14067 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
14068 (validate_size): For POINTER_TYPE, get smallest size permitted on
14069 machine.
14070
14071 * fe.h: Sort Einfo decls and add Set_Mechanism.
14072
14073 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
14074 (ada/decl.o): Depends on target.h.
14075
14076 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
14077 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
14078
140792004-03-15 Thomas Quinot <quinot@act-europe.fr>
14080
14081 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
14082
14083 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
14084 Insert_Dereference_Action when rewriting an implicit dereference into
14085 an explicit one, this will be taken care of during expansion of the
14086 explicit dereference.
14087 (Expand_N_Slice): Same. Always do the rewriting, even for the case
14088 of non-packed slices, since the dereference action generated by
14089 expansion of the explicit dereference is needed in any case.
14090 (Expand_N_Selected_Component): When rewriting an implicit dereference,
14091 analyze and resolve the rewritten explicit dereference so it is seen
14092 by the expander.
14093 (Insert_Dereference_Action): This procedure is now called only for the
14094 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
14095 dereferences that do not come from source (including explicit
14096 dereferences resulting from rewriting implicit ones), but do not
14097 recursively insert a check for the dereference nodes contained within
14098 the check.
14099 (Insert_Dereference_Action): Clarify and correct comment.
14100
e4c9c075
PB
141012004-03-08 Paolo Bonzini <bonzini@gnu.org>
14102
14103 PR ada/14131
14104 Move language detection to the top level.
14105 * config-lang.in: Build by default.
14106
8a6a52dc
AC
141072004-03-05 Robert Dewar <dewar@gnat.com>
14108
14109 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
14110
14111 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
14112 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
90afe2c9 14113 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8a6a52dc
AC
14114 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
14115 unchecked conversion to spec to avoid warnings.
14116
14117 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
14118 to Task_ID
14119
14120 * 7stpopsp.adb: Correct casing in To_Task_ID call
14121
14122 * a-strsea.ads, a-strsea.adb: Minor reformatting
14123
14124 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
14125
14126 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
14127 Adjust Max_Msg_Length to be clearly large enough.
14128
14129 * fe.h: Define In_Same_Source_Unit
14130
14131 * osint.adb: Add pragma Warnings Off to suppress warnings
14132 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
14133 aliasing warnings.
14134
14135 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
14136
14137 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
14138
14139 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
14140
14141 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
14142
14143 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
14144
14145 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
14146 node. We now do generate them for gcc back end.
14147
14148 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
14149 warning.
14150
14151 * sinput-c.adb: Fix bad name in header.
14152 Add pragma Warnings Off to suppress aliasing warning.
14153
14154 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
14155
14156 * snames.h, snames.ads, snames.adb: Add entry for pragma
14157 No_Strict_Aliasing.
14158
141592004-03-05 Vincent Celier <celier@gnat.com>
14160
14161 * prj-com.ads: Add hash table Files_Htable to check when a file name
14162 is already a source of another project.
14163
14164 * prj-nmsc.adb (Record_Source): Before recording a new source, check
14165 if its file name is not already a source of another project. Report an
14166 error if it is.
14167
14168 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
14169 source file name, call gnatpp with all the sources of the main project.
14170
14171 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
14172 of file names.
14173
14174 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
14175 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
14176 /RUNTIME_SYSTEM=, converted to --RTS=
14177 /NOTABS, converted to -notabs
14178
141792004-03-05 Pascal Obry <obry@gnat.com>
14180
14181 * make.adb: Minor reformatting.
14182
141832004-03-05 Ed Schonberg <schonberg@gnat.com>
14184
14185 Part of implemention of AI-262.
14186 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
14187
14188 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
14189 procedure.
14190
14191 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
14192 when component type is a partially constrained class-wide subtype.
14193 (Constrain_Discriminated_Type): If parent type has unknown
14194 discriminants, a constraint is illegal, even if full view has
14195 discriminants.
14196 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
14197 with unknown discriminants whose full view is a discriminated record.
14198
14199 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
14200 flag, to handle properly derivations of tagged types with unknown
14201 discriminants.
14202 (Analyze_Package_Spec, Analyze_Package_Body): Install
14203 Private_With_Clauses before analyzing private part or body.
14204
14205 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
14206 Has_Discriminants can be true for a given type (documentation).
14207
142082004-03-05 Arnaud Charlet <charlet@act-europe.fr>
14209
14210 * s-restri.ads: Fix license (GPL->GMGPL).
14211
14212 * s-tassta.adb: Minor reformatting.
14213
14214 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14215 by calls to Exit_One_ATC_Level, since additional clean up is performed
14216 by this function.
14217
14218 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14219 by calls to Exit_One_ATC_Level, since additional clean up is performed
14220 by this function.
14221
142222004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14223
14224 * trans.c: Reflect GCC changes to fix bootstrap problem.
14225 Add warning for suspicious aliasing unchecked conversion.
14226
142272004-03-05 GNAT Script <nobody@gnat.com>
14228
14229 * Make-lang.in: Makefile automatically updated
14230
555360a5
AC
142312004-03-02 Emmanuel Briot <briot@act-europe.fr>
14232
14233 * ali.adb (Read_Instantiation_Instance): Do not modify the
14234 current_file_num when reading information about instantiations, since
14235 this corrupts files in later references.
14236
142372004-03-02 Vincent Celier <celier@gnat.com>
14238
14239 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
14240 before checking if it is read-only.
14241
14242 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
14243 of SRC_DIRS and eliminate duplicates.
14244
14245 * gprcmd.adb: Replace command "path" with command "path_sep" to return
14246 the path separator.
14247 (Usage): Document path_sep
14248
14249 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
14250 C++ compiler. No need for a script.
14251 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
14252 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
14253 subst.
14254
14255 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
14256 where there are Ada sources.
14257 (Set_Ada_Paths): Only add to the include path the source dirs of project
14258 with Ada sources.
14259 (Add_To_Path): Add the Display_Values of the directories, not their
14260 Values.
14261
14262 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
14263 data.
14264
14265 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
14266 is not No_Name.
14267 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
14268 Value is canonicalized.
14269 (Language_Independent_Check): Do not copy Value to Display_Value when
14270 canonicalizing Value.
14271
14272 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
14273 path to find limited with cycles.
14274 (Parse_Single_Project): Use canonical cased path to find the end of a
14275 with cycle.
14276
142772004-03-02 Ed Schonberg <schonberg@gnat.com>
14278
14279 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
14280 and not a child unit.
14281
14282 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
14283 appear in a with_clause.
14284
14285 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
14286 only happen in type_annotate mode, do not try to elaborate it.
14287
14288 * exp_util.adb (Force_Evaluation): If expression is a selected
14289 component on the left of an assignment, use a renaming rather than a
14290 temporary to remove side effects.
14291
14292 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
14293 inlined instance body, which is analyzed before the end of the
14294 enclosing scope.
14295
142962004-03-02 Robert Dewar <dewar@gnat.com>
14297
14298 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
14299 sem_ch4.adb: Use new feature for substitution of keywords in VMS
14300
14301 * errout.ads, errout.adb: Implement new circuit for substitution of
14302 keywords in VMS.
14303
14304 * sem_case.adb (Analyze_Choices): Place message properly when case is
14305 a subtype reference rather than an explicit range.
14306
14307 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
14308
143092004-03-02 Doug Rupp <rupp@gnat.com>
14310
14311 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
14312
143132004-03-02 Thomas Quinot <quinot@act-europe.fr>
14314
14315 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
14316
143172004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14318
14319 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
14320 BLKmode bitfield.
14321
8a7988f5
AC
143222004-02-25 Robert Dewar <dewar@gnat.com>
14323
14324 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
14325 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
14326 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
14327 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
14328 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
14329 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
14330 the defining instance of the type to avoid aliasing problems.
14331 Fix copyright header. Fix bad comments in package header.
14332
14333 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
14334
143352004-02-25 Ed Schonberg <schonberg@gnat.com>
14336
14337 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
14338 rewritten as references when aliased through an address clause.
14339
14340 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
14341 whether call can be interpreted as an indirect call to the result of a
14342 parameterless function call returning an access subprogram.
14343
143442004-02-25 Arnaud Charlet <charlet@act-europe.fr>
14345
14346 Code clean up:
14347 * exp_ch7.adb (Make_Clean): Remove generation of calls to
14348 Unlock[_Entries], since this is now done by Service_Entries directly.
14349
14350 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
14351
14352 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
14353 Requeue_Call for better code readability. Change spec and update calls:
14354 PO_Service_Entries now unlock the PO on exit.
14355 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
14356 PO_Service_Entries.
14357
14358 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
14359
14360 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
14361
143622004-02-25 Sergey Rybin <rybin@act-europe.fr>
14363
14364 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
14365 protected subprogram call and analyzing the result of such expanding
14366 in case when the called protected subprogram is eliminated.
14367
14368 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
14369 names.
14370
143712004-02-25 Jerome Guitton <guitton@act-europe.fr>
14372
14373 * Makefile.in: Clean ups.
14374
6871ba5f
AC
143752004-02-23 Ed Schonberg <schonberg@gnat.com>
14376
14377 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
14378 protected operations if original subprogram is flagged as eliminated.
14379 (Expand_N_Subprogram_Body): For a protected operation, create
14380 discriminals for next operation before checking whether the operation
14381 is eliminated.
14382
14383 * exp_ch9.adb (Expand_N_Protected_Body,
14384 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
14385 for internal protected operations if the original subprogram is
14386 eliminated.
14387
14388 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
14389 declared in a single protected object.
14390
143912004-02-23 Vincent Celier <celier@gnat.com>
14392
14393 * prj-attr.adb: Make attribute Builder'Executable an associative array,
14394 case insensitive if file names are case insensitive, instead of a
14395 standard associative array.
14396
14397 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
14398 them as case insensitive on platforms where the file names are case
14399 sensitive.
14400
14401 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
14402 project file has already been parsed that canonical path are compared.
14403
144042004-02-23 Robert Dewar <dewar@gnat.com>
14405
14406 * sinput-c.ads: Correct bad unit title in header
14407
14408 * freeze.adb: Minor reformatting
14409
144102004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14411
14412 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
14413 nonaddressable COMPONENT_REF that is removing padding that we are
14414 taking the address of, take the address of the padded record instead
14415 if item is variable size.
14416
6e059adb
AC
144172004-02-20 Robert Dewar <dewar@gnat.com>
14418
14419 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
14420
144212004-02-20 Ed Schonberg <schonberg@gnat.com>
14422
14423 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
14424 itype references for the constrained designated type of a component
14425 whose base type is already frozen.
14426
144272004-02-20 Arnaud Charlet <charlet@act-europe.fr>
14428
14429 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
14430 avoid GCC warnings.
14431
144322004-02-20 Sergey Rybin <rybin@act-europe.fr>
14433
14434 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
14435 identifier for a phantom package that rewrites the formal package
14436 declaration with a box. The Add semantic decorations for the defining
14437 identifier from the original node (that represents the formal package).
14438
88e3a2a3
MK
144392004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
14440
14441 * Make-lang.in (ada/stamp-sdefault): Use the top level
14442 move-if-change.
14443
4221057e
RH
144442004-02-19 Richard Henderson <rth@redhat.com>
14445
14446 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
14447
5c1c8a03
AC
144482004-02-18 Emmanuel Briot <briot@act-europe.fr>
14449
14450 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
14451 Scan_ALI can be used for multiple ALI files without reinitializing
14452 between calls.
14453
144542004-02-18 Robert Dewar <dewar@gnat.com>
14455
14456 * debug.adb: Minor reformatting.
14457
144582004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14459
14460 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
14461 to zero if there is an address clause.
14462
144632004-02-18 Thomas Quinot <quinot@act-europe.fr>
14464
14465 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
14466
144672004-02-18 Gary Dismukes <dismukes@gnat.com>
14468
14469 * layout.adb (Layout_Component_List): Revise generation of call to
14470 discriminant-checking function to pass selections of all of the type's
14471 discriminants rather than just the variant-controlling discriminant.
14472
144732004-02-18 Olivier Hainque <hainque@act-europe.fr>
14474
14475 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
14476 fail in the current setup and triggers spurious system error messages.
14477 Pretend it occurred and failed instead.
14478
144792004-02-18 Vincent Celier <celier@gnat.com>
14480
14481 * bld.adb: Mark FLDFLAGS as saved
14482 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
14483 it is not the root project. Put each directory to be
14484 extended between double quotes to prevent it to be expanded on Windows.
14485 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
14486 the project file. Set them back to their initial values if they have not
14487 been set in the project file.
14488
14489 * gprcmd.adb: (Gprdebug, Debug): New global variables
14490 (Display_Command): New procedure
14491 (Usage): Document new command "linkopts"
14492 Call Display_Command when env var GPRDEBUG has the value "TRUE"
14493 Implement new command "linkopts"
14494 Remove quotes that may be around arguments for "extend"
14495 Always call Normalize_Pathname with arguments formatted for the platform
14496
14497 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
14498 Change @echo to @$(display) in target clean to be able to clean silently
14499
14500 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
14501
14502 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
14503 canonical case.
14504
14505 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
14506 = Extending_All when current project is an extending all project.
14507
14508 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
14509 set to True only for LINK command, after Unix switch -o.
14510 (Process_Arguments): Set Output_File_Expected to True for LINK command
14511 after Unix switch -o. When Output_File_Expected is True, never add an
14512 extension to a file name.
14513
14514 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
14515 option file name, only to the --for-linker= switch.
14516 (Option_File_Name): If option file name do not end with ".opt", append
14517 "/OPTIONS".
14518
145192004-02-18 GNAT Script <nobody@gnat.com>
14520
14521 * Make-lang.in: Makefile automatically updated
14522
80bcb4d2
MK
145232004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
14524
14525 * Make-lang.in (stamp-sdefault): Do not depend on
14526 move-if-change.
14527
1daa84b6
ZW
145282004-02-12 Zack Weinberg <zack@codesourcery.com>
14529
14530 * config-lang.in: Disable Ada by default until probe logic for
14531 a bootstrap Ada compiler can be moved to the top level configure
14532 script.
14533
18c0ecbe
AC
145342004-02-12 Olivier Hainque <hainque@act-europe.fr>
14535
14536 * decl.c (components_to_record): Don't claim that the internal fields
14537 we make to hold the variant parts are semantically addressable, because
14538 they are not.
14539
14540 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
14541 adjust the comment describing the modular type form when we can use it.
14542 (Install_PAT): Account for the Esiz renaming.
14543
14544 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
14545 sc_onstack context indication before raising the exception to which
14546 the signal is mapped. Allows better handling of later signals possibly
14547 triggered by the resumed user code if the exception is handled.
14548
145492004-02-12 Arnaud Charlet <charlet@act-europe.fr>
14550
14551 * 5zinit.adb: Removed, no longer used.
14552
145532004-02-12 Robert Dewar <dewar@gnat.com>
14554
14555 * ali.adb: Remove separating space between parameters on R line. Makes
14556 format consistent with format used by the binder for Set_Globals call.
14557
14558 * atree.ads, atree.adb: Minor reformatting (new function header format)
14559
14560 * bindgen.adb: Add Run-Time Globals documentation section containing
14561 detailed documentation of the globals passed from the binder file to
14562 the run time.
14563
14564 * gnatls.adb: Minor reformatting
14565
14566 * init.c (__gnat_set_globals): Add note pointing to documentation in
14567 bindgen.
14568
14569 * lib-writ.ads, lib-writ.adb: Remove separating space between
14570 parameters on R line.
14571 Makes format consistent with format used by the binder for Set_Globals
14572 call.
14573
14574 * osint.ads: Add 2004 to copyright notice
14575 Minor reformatting
14576
14577 * snames.ads: Correct capitalization of FIFO_Within_Priorities
14578 Noticed during code reading, documentation issue only
14579
14580 * usage.adb: Remove junk line for obsolete C switch
14581 Noticed during code reading
14582
145832004-02-12 Vincent Celier <celier@gnat.com>
14584
14585 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
14586 extend for each directory, so that multiple /** directories are
14587 extended individually.
14588 (Recursive_Process): Set the default for LANGUAGES to ada
14589
14590 * gprcmd.adb: Define new command "ignore", to do nothing.
14591 Implement new comment "path".
14592
14593 * Makefile.generic: Suppress output when SILENT is set
14594 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
14595 used, so that the correct compiler is invoked.
14596 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
14597 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
14598
145992004-02-12 Jerome Guitton <guitton@act-europe.fr>
14600
14601 * Makefile.in: Clean ups and remove obsolete targets.
14602
146032004-02-12 Ed Schonberg <schonberg@gnat.com>
14604
14605 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
14606 predicate declared in exp_util.
14607
14608 * exp_util.adb: Add comments.
14609
14610 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
14611 visibility before compiling context of the subunit.
14612
14613 * sem_res.adb (Check_Parameterless_Call): If the context expects a
14614 value but the name is a procedure, do not attempt to analyze as a call,
14615 in order to obtain more telling diagnostics.
14616
14617 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
14618 'Access on parameterless function calls.
14619 (Normalize_Actuals): For a parameterless function call with missing
14620 actuals, defer diagnostic until resolution of enclosing call.
14621
14622 * sem_util.adb (Wrong_Type): If the context type is an access to
14623 subprogram and the expression is a procedure name, suggest a missing
14624 'attribute.
14625
c1dcfa14
AC
146262004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
14627 Nathanael Nerode <neroden@gcc.gnu.org>
14628
14629 PR ada/6637, PR ada/5911
14630 Merge with libada-branch:
90afe2c9 14631 * config-lang.in: Build libada only when ada is built.
c1dcfa14 14632
2e071734
AC
146332004-02-09 Ed Schonberg <schonberg@gnat.com>
14634
14635 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
14636 for a tagged type, verify that both formals have the same type.
14637
14638 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
14639 temporary when the formal is an in-parameter and the actual a possibly
14640 unaligned slice.
14641
14642 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
14643 when expansion is disabled, to ensure proper name capture with
14644 overloaded literals. Condition can be of any boolean type, resolve
14645 accordingly.
14646
14647 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
14648 renaming is for a formal subprogram with a default operator name, and
14649 there is a usable operator that is visible at the point of
14650 instantiation.
14651
146522004-02-09 Robert Dewar <dewar@gnat.com>
14653
14654 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
14655 rewrite to ignore errors in ali files, intended to allow tools downward
14656 compatibility with new versions of ali files.
14657
14658 * ali.ads: Add new parameter Ignore_Errors
14659
14660 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
14661 duplicating the error message giving the file with restrictions.
14662
14663 * debug.adb: Add debug flag I for gnatbind
14664
14665 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
14666 operators for the case where the operator is a defining operator.
14667
14668 * exp_ch3.adb: Minor reformatting (new function spec format).
14669
14670 * exp_ch4.adb: Add comment for previous change, and make minor
14671 adjustment to loop to always check for improper loop termination.
14672 Minor reformatting throughout (new function spec format).
14673
14674 * gnatbind.adb: Implement -di debug flag for gnatbind
14675
14676 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
14677
14678 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
14679
14680 * lib-load.adb: Fix bad assertion.
14681 Found by testing and code reading.
14682 Minor reformatting.
14683
14684 * lib-load.ads: Minor reformatting.
14685
14686 * lib-writ.adb: There is only one R line now.
14687
14688 * lib-writ.ads: Add documentation on making downward compatible changes
14689 to ali files so old tools work with new ali files.
14690 There is only one R line now.
14691 Add documentation on format incompatibilities (with special GPS note)
14692
14693 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
14694
14695 * par-load.adb: Minor reformatting
14696
14697 * sem_ch8.adb: Fix to error message from last update
14698 Minor reformatting and restructuring of code from last update
14699
14700 * par-prag.adb, snames.adb, snames.ads, snames.h,
14701 sem_prag.adb: Implement pragma Profile.
14702
14703 * stylesw.adb: Implement -gnatyN switch to turn off all style check
14704 options.
14705
14706 * usage.adb: Add line for -gnatyN switch
14707
14708 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
14709
a41ea816
AC
147102004-02-09 Albert Lee <lee@gnat.com>
14711
14712 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
14713
147142004-02-09 Ed Schonberg <schonberg@gnat.com>
14715
14716 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
14717 slices.
14718
14719 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
14720 is nested in an instance that is not frozen yet, to avoid
14721 order-of-elaboration problems in gigi.
14722
14723 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
14724 body the attribute is legal.
14725
147262004-02-09 Robert Dewar <dewar@gnat.com>
14727
14728 * s-rident.ads: Minor comment correction
14729
14730 * targparm.adb: Remove dependence on uintp completely. There was
14731 always a bug in Make in that it called Targparm before initializing
14732 the Uint package. The old code appeared to get away with this, but
14733 the new code did not! This caused an assertion error in gnatmake.
14734
14735 * targparm.ads: Fix bad comment, restriction pragmas with parameters
14736 are indeed fully supported.
14737
725c60f8
AM
147382004-02-06 Alan Modra <amodra@bigpond.net.au>
14739
14740 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
14741
136e64db
KH
147422004-02-05 Kazu Hirata <kazu@cs.umass.edu>
14743
14744 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
14745 with targetm.calls.promote_prototypes.
14746
06effe87
AC
147472004-02-04 Robert Dewar <dewar@gnat.com>
14748
14749 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
14750 ali.ads, gprcmd.adb: Minor reformatting
14751
14752 * bindgen.adb: Output restrictions string for new style restrictions
14753 handling
14754
14755 * impunit.adb: Add s-rident.ads (System.Rident) and
14756 s-restri (System.Restrictions)
14757
14758 * lib-writ.adb: Fix bug in writing restrictions string (last few
14759 entries wrong)
14760
14761 * s-restri.ads, s-restri.adb: Change name Restrictions to
14762 Run_Time_Restrictions to avoid conflict with package name.
14763 Add circuit to read and acquire run time restrictions.
14764
147652004-02-04 Jose Ruiz <ruiz@act-europe.fr>
14766
14767 * restrict.ads, restrict.adb: Use the new restriction
14768 No_Task_Attributes_Package instead of the old No_Task_Attributes.
14769
14770 * sem_prag.adb: No_Task_Attributes is a synonym of
14771 No_Task_Attributes_Package.
14772
14773 * snames.ads, snames.adb: New entry for proper handling of
14774 No_Task_Attributes.
14775
14776 * s-rident.ads: Adding restriction No_Task_Attributes_Package
14777 (AI-00249) that supersedes the GNAT specific restriction
14778 No_Task_Attributes.
14779
147802004-02-04 Ed Schonberg <schonberg@gnat.com>
14781
90afe2c9 14782 * sem_prag.adb:
06effe87
AC
14783 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
14784 body, an identifier may be wrapped in an unchecked conversion.
14785
147862004-02-04 Vincent Celier <celier@gnat.com>
14787
14788 * lib-writ.ads: Comment update for the W lines
14789
14790 * bld.adb: (Expression): An empty string list is static
14791
14792 * fname-uf.adb: Minor comment update
14793
14794 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
14795
14796 * gnatbind.adb: Initialize Cumulative_Restrictions with the
14797 restrictions on the target.
14798
2fb00d7f
KH
147992004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14800
14801 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
14802 gen_rtx.
14803
5ed23e25
AC
148042004-02-02 Arnaud Charlet <charlet@gnat.com>
14805
14806 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
14807
6e937c1c
AC
148082004-02-02 Vincent Celier <celier@gnat.com>
14809
14810 * gprcmd.adb (Check_Args): If condition is false, print the invoked
14811 comment before the usage.
14812 Gprcmd: Fail when command is not recognized.
14813 (Usage): Document command "prefix"
14814
14815 * g-md5.adb (Digest): Process last block.
14816 (Update): Do not process last block. Store remaining characters and
14817 length in Context.
14818
14819 * g-md5.ads (Update): Document that several call to update are
14820 equivalent to one call with the concatenated string.
14821 (Context): Add fields to allow new Update behaviour.
14822
14823 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
14824 defaulted to False.
14825 When May_Fail is True and no existing file can be found, return No_File.
14826
14827 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
14828 functions.
14829
14830 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
14831 spec file name instead on the W line.
14832
148332004-02-02 Robert Dewar <dewar@gnat.com>
14834
14835 * ali.adb: Read and acquire info from new format restrictions lines
14836
14837 * bcheck.adb: Add circuits for checking restrictions with parameters
14838
14839 * bindgen.adb: Output dummy restrictions data
14840 To be changed later
14841
14842 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14843 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
14844 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
14845 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
14846 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
14847
14848 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
14849 the warning message on access to possibly uninitialized variable S)
14850 Minor changes for new restrictions handling.
14851
14852 * gnatbind.adb: Minor reformatting
14853 Minor changes for new restrictions handling
14854 Move circuit for -r processing here from bcheck (cleaner)
14855
14856 * gnatcmd.adb, gnatlink.adb: Minor reformatting
14857
14858 * lib-writ.adb: Output new format restrictions lines
14859
14860 * lib-writ.ads: Document new R format lines for new restrictions
14861 handling.
14862
14863 * s-restri.ads/adb: New files
14864
14865 * Makefile.rtl: Add entry for s-restri.ads/adb
14866
14867 * par-ch3.adb: Fix bad error messages starting with upper case letter
14868 Minor reformatting
14869
14870 * restrict.adb: Major rewrite throughout for new restrictions handling
14871 Major point is to handle restrictions with parameters
14872
14873 * restrict.ads: Major changes in interface to handle restrictions with
14874 parameters. Also generally simplifies setting of restrictions.
14875
14876 * snames.ads/adb: New entry for proper handling of No_Requeue
14877
14878 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
14879 restriction counting.
14880 Other minor changes for new restrictions handling
14881
14882 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
14883 Restriction_Warnings now allows full parameter notation
14884 Major rewrite of Restrictions for new restrictions handling
14885
148862004-02-02 Javier Miranda <miranda@gnat.com>
14887
14888 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
14889 syntax rule for object renaming declarations.
14890 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
14891 component definitions.
14892
14893 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
14894 components.
14895 (Array_Type_Declaration): Give support to access components. In addition
14896 it was also modified to reflect the name of the object in anonymous
14897 array types. The old code did not take into account that it is possible
14898 to have an unconstrained anonymous array with an initial value.
14899 (Check_Or_Process_Discriminants): Allow access discriminant in
14900 non-limited types.
14901 (Process_Discriminants): Allow access discriminant in non-limited types
14902 Initialize the new Access_Definition field in N_Object_Renaming_Decl
14903 node. Change Ada0Y to Ada 0Y in comments
14904
14905 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
14906 equality operators.
14907 Change Ada0Y to Ada 0Y in comments
14908
14909 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
14910 renamings Change Ada0Y to Ada 0Y in comments
14911
14912 * sem_type.adb (Find_Unique_Type): Give support to the equality
14913 operators for universal access types
14914 Change Ada0Y to Ada 0Y in comments
14915
14916 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
14917
14918 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
14919 field.
14920 (N_Object_Renaming_Declaration): Addition of Access_Definition field
14921 Change Ada0Y to Ada 0Y in comments
14922
14923 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
14924 component definition and object renaming nodes
14925 Change Ada0Y to Ada 0Y in comments
14926
149272004-02-02 Jose Ruiz <ruiz@act-europe.fr>
14928
14929 * restrict.adb: Use the new restriction identifier
14930 No_Requeue_Statements instead of the old No_Requeue for defining the
14931 restricted profile.
14932
14933 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
14934 No_Requeue_Statements.
14935
14936 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
14937 that supersedes the GNAT specific restriction No_Requeue. The later is
14938 kept for backward compatibility.
14939
149402004-02-02 Ed Schonberg <schonberg@gnat.com>
14941
14942 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
14943 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
14944 pragma and fix incorrect ones.
14945
14946 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
14947 warning if the pragma is redundant.
14948
149492004-02-02 Thomas Quinot <quinot@act-europe.fr>
14950
14951 * 5staprop.adb: Add missing 'constant' keywords.
14952
14953 * Makefile.in: use consistent value for SYMLIB on
14954 platforms where libaddr2line is supported.
14955
149562004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14957
14958 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
14959 annotating types.
14960
149612004-02-02 Olivier Hainque <hainque@act-europe.fr>
14962
14963 * init.c (__gnat_install_handler): Setup an alternate stack for signal
14964 handlers in the environment thread. This allows proper propagation of
14965 an exception on stack overflows in this thread even when the builtin
14966 ABI stack-checking scheme is used without support for a stack reserve
14967 region.
14968
14969 * utils.c (create_field_decl): Augment the head comment about bitfield
14970 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
14971 here, because the former is not accurate enough at this point.
14972 Let finish_record_type decide instead.
14973 Don't make a bitfield if the field is to be addressable.
14974 Always set a size for the field if the record is packed, to ensure the
14975 checks for bitfield creation are triggered.
14976 (finish_record_type): During last pass over the fields, clear
14977 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
14978 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
14979 from DECL_BIT_FIELD.
14980
71cbe2c1
KC
149812004-01-30 Kelley Cook <kcook@gcc.gnu.org>
14982
90afe2c9 14983 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
71cbe2c1
KC
14984 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
14985 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
14986
7f996f90
RO
149872004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14988
14989 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
14990
14991 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
14992 (ZCX_By_Default): Likewise.
14993 (Front_End_ZCX_Support): Likewise.
14994
14995 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
14996 (Initialize_Lock): Mark Level unreferenced.
14997 (Sleep): Mark Reason unreferenced.
14998 (Timed_Sleep): Likewise.
14999 (Wakeup): Likewise.
15000 (Exit_Task): Use Result.
15001 (Check_No_Locks): Mark Self_ID unreferenced.
90afe2c9 15002
7f996f90
RO
15003 * 5gtasinf.adb (New_Sproc): Make Attr constant.
15004 (Bound_Thread_Attributes): Make Sproc constant.
15005 (New_Bound_Thread_Attributes): Likewise.
15006
26fd4eae
AC
150072004-01-26 Ed Schonberg <schonberg@gnat.com>
15008
15009 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
15010 one-dimensional array an slice assignments, when component type is
15011 controlled.
15012
15013 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
15014 component type is controlled, and control_actions are in effect, use
15015 TSS procedure rather than generating inline code.
15016
15017 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
15018 arrays with controlled components.
15019
150202004-01-26 Vincent Celier <celier@gnat.com>
15021
15022 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
15023 command line for the non VMS case.
15024
15025 * gnatlink.adb (Process_Binder_File): When building object file, if
15026 GNU linker is used, put all object paths between quotes, to prevent ld
15027 error when there are unusual characters (such as '!') in the paths.
15028
15029 * Makefile.generic: When there are sources in Ada and the main is in
15030 C/C++, invoke gnatmake with -B, instead of -z.
15031
15032 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
15033 from VMS_Conversion.
15034 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
15035 specification of argument file on the command line.
15036
150372004-01-26 Bernard Banner <banner@gnat.com>
15038
15039 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
15040
150412004-01-26 Ed Schonberg <schonberg@gnat.com>
15042
15043 * snames.adb: Update copyright notice.
15044 Add info on slice assignment for controlled arrays.
15045
b7e429ab
AC
150462004-01-23 Robert Dewar <dewar@gnat.com>
15047
15048 * exp_aggr.adb: Minor reformatting
15049
15050 * exp_ch9.adb: Minor code clean up
15051 Minor reformatting
15052 Fix bad character in comment
15053
15054 PR ada/13471
15055 * targparm.adb (Get_Target_Parameters): Give clean abort error on
15056 unexpected end of file, along with more detailed message.
15057
150582004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15059
15060 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
15061 PAT.
15062
15063 * decl.c (copy_alias_set): New function.
15064 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
15065
150662004-01-23 Doug Rupp <rupp@gnat.com>
15067
15068 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
15069 lib$${file} in case subsequent character is not a separator.
15070
150712004-01-23 Vincent Celier <celier@gnat.com>
15072
15073 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
15074 when the GCC version is at least 3.
15075
15076 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
15077 Remove all "Opt.", to prepare for opt split
15078
15079 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
15080 Extends_All. Set to True when the project parsed is an extending all
15081 project. Fails for importing an extending all project only when the
15082 imported project is an extending all project.
15083 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
15084 depending on the value of Extends_All returned.
15085
15086 * prj-proc.adb (Process): Check that no project shares its object
15087 directory with a project that extends it, directly or indirectly,
15088 including a virtual project.
15089 Check that no project extended by another project shares its object
15090 directory with another also extended project.
15091
15092 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
15093 Kind = N_With_Clause
15094
15095 * prj-tree.ads: Minor reformatting
15096 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
15097
150982004-01-23 Ed Schonberg <schonberg@gnat.com>
15099
15100 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
15101 applies to a type with an incomplete view, use full view in Name of
15102 clause, for consistency with uses of Get_Attribute_Definition_Clause.
15103
151042004-01-23 Arnaud Charlet <charlet@act-europe.fr>
15105
15106 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
15107 SCHED_RR, since other values are not supported by this policy.
15108 (Initialize): Move initialization of mutex attribute to package
15109 elaboration, to prevent early access to this variable.
15110
15111 * Makefile.in: Remove mention of Makefile.adalib, unused.
15112
b291953f
AC
15113 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15114 1ssecsta.ads: Removed, unused.
b7e429ab 15115
adc04486
AC
151162004-01-21 Javier Miranda <miranda@gnat.com>
15117
15118 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
15119 entity if already built in the current scope.
15120
15121 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
15122 reminder in internal scopes. Required for nested limited aggregates.
15123
151242004-01-21 Doug Rupp <rupp@gnat.com>
15125
15126 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
15127 VMS. Replace all occurences of libgnat- and libgnarl- with
15128 libgnat$(hyphen) and libgnarl$(hyphen).
15129 Fixed shared library build problem on VMS.
15130
151312004-01-21 Robert Dewar <dewar@gnat.com>
15132
15133 * mlib-prj.adb: Minor reformatting
15134
151352004-01-21 Thomas Quinot <quinot@act-europe.fr>
15136
15137 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
15138 'constant' keywords for declaration of pointers that are not modified.
15139
15140 * exp_pakd.adb: Fix English in comment.
15141
151422004-01-21 Ed Schonberg <schonberg@gnat.com>
15143
15144 PR ada/10889
15145 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
15146 copy all attributes of the parent, including the foreign language
15147 convention.
15148
151492004-01-21 Sergey Rybin <rybin@act-europe.fr>
15150
15151 PR ada/10565
15152 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
15153 for 'delay until' statement.
15154
a541f69d
KC
151552004-01-20 Kelley Cook <kcook@gcc.gnu.org>
15156
15157 * Make-lang.in: Replace $(docdir) with doc.
15158 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
15159 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
15160 to use consistent MAKEINFO rule.
15161 (ada.man, ada.srcman): Dummy entry.
15162 (ADA_INFOFILES): Define.
15163 (ada.info, ada.srcinfo): New rules.
15164
c01a9391
AC
151652004-01-19 Arnaud Charlet <charlet@act-europe.fr>
15166
15167 * utils.c: Update copyright notice, missed in previous change.
15168
151692004-01-19 Vincent Celier <celier@gnat.com>
15170
15171 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
15172 args if Bind is True. Set First_ALI, if not already done.
15173 (Build_Library): For Stand Alone Libraries, extract from one ALI file
15174 an eventual --RTS switch, for gnatbind, and all backend switches +
15175 --RTS, for linking.
15176
151772004-01-19 Robert Dewar <dewar@gnat.com>
15178
15179 * sem_attr.adb, memtrack.adb: Minor reformatting
15180
151812004-01-19 Ed Schonberg <schonberg@gnat.com>
15182
15183 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
15184 that rename enumeration literals. This is properly done in sem_eval.
15185
15186 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
15187 to functions that rename enumeration literals.
15188
15189 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
15190 functions that rename enumeration literals.
15191
510d1e80
KH
151922004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15193
15194 * Make-lang.in (utils.o): Depend on target.h.
15195 * utils.c: Include target.h.
15196 (process_attributes): Use targetm.have_named_sections instead
15197 of ASM_OUTPUT_SECTION_NAME.
15198
fbf3e0dd
AJ
151992004-01-16 Andreas Jaeger <aj@suse.de>
15200
15201 * Makefile.in: Add $(DESTDIR).
15202
acd47d2a
AC
152032004-01-15 Olivier Hainque <hainque@act-europe.fr>
15204
15205 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
15206 also when not defining if a Size clause applies. That information is
15207 not to be ignored.
15208
152092004-01-15 Arnaud Charlet <charlet@act-europe.fr>
15210
15211 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
15212 symbolic links for the shared gnat run time when needed.
15213
152142004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
15215
15216 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
15217 for writing, and terminate with an error message if not.
15218
152192004-01-15 Ed Schonberg <schonberg@gnat.com>
15220
15221 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
15222 warning on an access to subprogram in an instance, when the target
15223 type is declared in the same generic unit.
15224 (Eval_Attribute): If 'access is known to fail accessibility check,
15225 rewrite as a raise statement.
15226
152272004-01-15 GNAT Script <nobody@gnat.com>
15228
15229 * Make-lang.in: Makefile automatically updated
15230
03787dfd
KC
152312004-01-15 Kelley Cook <kcook@gcc.gnu.org>
15232
15233 * Make-lang.in (ada.srcextra): Dummy entry.
15234
73e232f0
KC
152352004-01-14 Kelley Cook <kcook@gcc.gnu.org>
15236
15237 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
15238
9bc43c53
AC
152392004-01-13 Ed Schonberg <schonberg@gnat.com>
15240
15241 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
15242 components that are initialized with aggregates.
15243
152442004-01-13 Vincent Celier <celier@gnat.com>
15245
15246 * gnatlink.adb (Process_Binder_File): To find directory of shared
15247 libgcc, if "gcc-lib" is not a subdirectory, look for the last
15248 subdirectory "lib" in the path of the shared libgnat or libgnarl.
15249
15250 * make.adb (Gnatmake): If GCC version is at least 3, link with
15251 -shared-libgcc, when there is at least one shared library project.
15252
15253 * opt.ads (GCC_Version): New integer constant.
15254
15255 * adaint.c (get_gcc_version): New function.
15256
152572004-01-13 Robert Dewar <dewar@gnat.com>
15258
15259 * sem_dist.adb, sem_res.adb, sem_util.adb,
15260 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
15261 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
15262
152632004-01-13 Thomas Quinot <quinot@act-europe.fr>
15264
15265 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
15266 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
15267 declarations.
15268
8b52de7b
AC
152692004-01-12 Arnaud Charlet <charlet@act-europe.fr>
15270
f6ea0188
AC
15271 * misc.c: Remove trailing spaces.
15272 Update copyright notice missed in previous change.
15273
8b52de7b
AC
15274 PR ada/13572
15275 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
15276 prefix/share/make
15277
15278 * Makefile.generic: Update copyright.
15279 Add license notice.
15280
15281 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
15282 of prefix/share/make.
15283
15284 * Makefile.prolog: Update copyright.
15285 Add license notice.
15286
152872004-01-12 Laurent Pautet <pautet@act-europe.fr>
15288
15289 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
15290 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
15291 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
15292 instead of String.
15293
15294 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
15295 signature.
15296
152972004-01-12 Javier Miranda <miranda@gnat.com>
15298
15299 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
15300 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
15301 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
15302 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
15303 Component_Definition node.
15304
153052004-01-12 Ed Falis <falis@gnat.com>
15306
15307 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
15308
153092004-01-12 Thomas Quinot <quinot@act-europe.fr>
15310
15311 * link.c: Change default libgnat kind to STATIC for FreeBSD.
15312
153132004-01-12 Bernard Banner <banner@gnat.com>
15314
15315 * Makefile.in: map 86numaux to a-numaux for x86_64
15316
153172004-01-12 Ed Schonberg <schonberg@gnat.com>
15318
15319 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
15320 generated to rename a generic actual, go to the actual itself, the
15321 subtype is not a user-visible entity.
15322
15323 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
15324 part is a private subtype, reset the visibility of its full view, if
15325 any, to be consistent.
15326
15327 PR ada/13417
15328 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
15329 to use a generic package G as a formal package for another generic
15330 declared within G.
15331
153322004-01-12 Robert Dewar <dewar@gnat.com>
15333
15334 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
15335
15336 * usage.adb: Remove mention of obsolete -gnatwb switch
15337 Noticed during code reading
15338
153392004-01-12 Jerome Guitton <guitton@act-europe.fr>
15340
15341 * 1ssecsta.adb: Minor changes for -gnatwa warnings
15342
153432004-01-12 GNAT Script <nobody@gnat.com>
15344
15345 * Make-lang.in: Makefile automatically updated
15346
0fab64a3
MM
153472004-01-09 Mark Mitchell <mark@codesourcery.com>
15348
15349 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
15350
47527624
RO
153512004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15352
15353 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
15354
dedebde1
KC
153552004-01-05 Kelley Cook <kcook@gcc.gnu.org>
15356
fbf3e0dd 15357 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
dedebde1
KC
15358 Update comment and copyright date.
15359 * stamp-xgnatug: Delete.
15360
91b1417d
AC
153612004-01-05 Robert Dewar <dewar@gnat.com>
15362
15363 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
15364 be modified by the binder generated main program if the -D switch is
15365 used.
15366
15367 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
15368 imported functions (since now we expect this to be done for imported
15369 functions)
15370
15371 * 5vtaprop.adb: Add several ??? for sections requiring more comments
15372 Minor reformatting throughout
15373
15374 * 5zinit.adb: Minor reformatting
15375 Add 2004 to copyright date
15376 Minor changes to avoid -gnatwa warnings
15377 Correct some instances of using OR instead of OR ELSE (noted while
15378 doing reformatting)
15379
15380 * sprint.adb: Minor updates to avoid -gnatwa warnings
15381
fbf3e0dd 15382 * s-secsta.ads, s-secsta.adb:
91b1417d
AC
15383 (SS_Get_Max): New function to obtain high water mark for ss stack
15384 Default_Secondary_Stack is not a constant since it may be modified by
15385 the binder generated main program if the -D switch is used.
15386
15387 * switch-b.adb: New -Dnnn switch for binder
15388
fbf3e0dd 15389 * switch-c.adb:
91b1417d
AC
15390 Make -gnatg imply all warnings currently in -gnatwa
15391
15392 * vms_conv.adb: Minor reformatting
15393 Add 2004 to copyright notice
15394 Add 2004 to printed copyright notice
15395
15396 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
15397 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
15398 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
15399 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
15400 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
15401 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
15402 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
15403 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
15404 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
15405 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
15406 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
15407 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
15408 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
15409 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
15410 checks.adb, clean.adb, cstand.adb, einfo.ads,
15411 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
15412 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
15413 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
15414 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
15415 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
15416 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
15417 Minor reformatting and code clean ups.
15418 Minor changes to prevent -gnatwa warnings
15419
15420 * ali.adb: Minor reformatting and cleanup of code
15421 Acquire new SS indication of secondary stack use from ali files
15422
15423 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
15424 (since now we expect this to be done for imported functions)
15425
15426 * bindgen.adb: Generate call to modify default secondary stack size if
15427 -Dnnn switch given
15428
15429 * bindusg.adb: Add line for new -D switch
15430
15431 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
15432 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
15433 Add circuitry for both records and arrays to avoid gigi
15434 processing if the type involved has non-bit-aligned components
15435
15436 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
15437 N_String_Literal node always references an E_String_Literal_Subtype
15438 entity. This may not be true in the future.
15439 (Possible_Bit_Aligned_Component): Move processing of
15440 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
15441
15442 * exp_ch6.adb (Expand_Thread_Body): Pick up
15443 Default_Secondary_Stack_Size as variable so that we get value modified
15444 by possible -Dnnn binder parameter.
15445
15446 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
15447 (Type_May_Have_Bit_Aligned_Components): New function.
15448
15449 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
15450 (Type_May_Have_Bit_Aligned_Components): New function.
15451
15452 * fe.h: (Set_Identifier_Casing): Fix prototype.
15453 Add declaration for Sem_Elim.Eliminate_Error_Msg.
15454 Minor reformatting.
15455
15456 * freeze.adb (Freeze_Entity): Add RM reference to error message about
15457 importing constant atomic/volatile objects.
15458 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
15459 unless explicit Pure_Function pragma given, to avoid insidious bug of
15460 call to non-pure imported function getting eliminated.
15461
15462 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
15463 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
15464 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
15465 Add 2004 to printed copyright notice
15466
15467 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
15468 stack used.
15469
15470 * Makefile.rtl: Add entry for g-sestin.o
15471 g-sestin.ads: New file.
15472
15473 * mdll.adb: Minor changes to avoid -gnatwa warnings
15474
15475 * mlib-tgt.adb: Minor reformatting
15476
15477 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
15478 New switch Sec_Stack_Used (GNAT, GNATBIND)
15479 Make Default_Secondary_Stack_Size a variable instead of a constant,
15480 so that it can be modified by the new -Dnnn bind switch.
15481
15482 * rtsfind.adb (Load_Fail): Give full error message in configurable
15483 run-time mode if all_errors mode is set. This was not done in the case
15484 of a file not found, which was an oversight.
15485 Note if secondary stack unit is used by compiler.
15486
15487 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
15488 ineffective elaborate all pragmas on non-visible packages (this
15489 happened when a renamed subprogram was called). Now the elaborate all
15490 always goes on the package containing the renaming rather than the one
15491 containing the renamed subprogram.
15492
15493 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
15494 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
15495
15496 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
15497 has an Etype that references an E_String_Literal.
15498 (Eval_String_Literal): Avoid assumption that N_String_Literal node
15499 always references an E_String_Literal_Subtype entity. This may not
15500 be true in the future.
15501
15502 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
15503 pragma location.
15504
15505 * sem_res.adb (Resolve): Specialize msg for function name used in proc
15506 call.
15507
155082004-01-05 Ed Falis <falis@gnat.com>
15509
15510 * g-debuti.adb: Replaced direct boolean operator with short-circuit
15511 form.
15512
155132004-01-05 Vincent Celier <celier@gnat.com>
15514
15515 * bld.adb: Minor comment updates
15516 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
15517 of Item_Name).
15518
15519 * make.adb (Gnatmake): Special process for files to compile/check when
15520 -B is specified. Fail when there are only foreign mains in attribute
15521 Main of the project file and -B is not specified. Do not skip bind/link
15522 steps when -B is specified.
15523
15524 * makeusg.adb: Document new switch -B
15525
15526 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
15527
15528 * switch-m.adb: (Scan_Make_Switches): Process -B switch
15529
15530 * vms_data.ads: Add new GNAT PRETTY qualifier
15531 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
15532
155332004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15534
15535 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
15536 case.
15537
15538 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
15539 Set_Identifier_Casing.
15540
15541 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
15542 has size that overflows.
15543
155442004-01-05 Gary Dismukes <dismukes@gnat.com>
15545
15546 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
15547 -gnatwa warning on static condition.
15548
155492004-01-05 Doug Rupp <rupp@gnat.com>
15550
15551 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
15552
155532004-01-05 Arnaud Charlet <charlet@act-europe.fr>
15554
15555 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
15556 all attributes, including read-only attribute.
15557
155582004-01-05 Pascal Obry <obry@gnat.com>
15559
15560 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
15561 library naming scheme.
15562
15563 * mlib-prj.adb (Build_Library): Generate different names for the static
15564 or dynamic version of the GNAT runtime. This is needed to support the
15565 new shared library naming scheme.
15566 (Process_Binder_File): Add detection of shared library in binder file
15567 based on the new naming scheme.
15568
15569 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
15570 scheme for the shared runtime libraries.
15571
15572 * Makefile.in:
15573 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
15574 scheme.
15575 (install-gnatlib): Do not create symlinks for shared libraries.
15576 (gnatlib-shared-default): Idem.
15577 (gnatlib-shared-dual-win32): New target. Not used for now as the
15578 auto-import feature does not support arrays/records.
15579 (gnatlib-shared-win32): Do not create copy for the shared libraries.
15580 (gnatlib-shared-vms): Fix shared runtime libraries names.
15581
15582 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
15583 dependent runtime shared library name.
15584
155852004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
15586
15587 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
15588 than the object.
15589
155902004-01-05 Ed Schonberg <schonberg@gnat.com>
15591
15592 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
15593 protected objects when allocator has a subtype indication, not a
15594 qualified expression. Note that qualified expressions may have to be
15595 checked when limited aggregates are implemented.
15596
15597 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
15598 pure, emit warning.
15599 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
15600 subprogram is imported, remove warning.
15601
156022004-01-05 Geert Bosch <bosch@gnat.com>
15603
15604 * s-poosiz.adb: Update copyright notice.
15605 (Allocate): Use Task_Lock to protect against concurrent access.
15606 (Deallocate): Likewise.
15607
156082004-01-05 Joel Brobecker <brobecker@gnat.com>
15609
15610 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
15611 comment.
15612
2ab127f3
KC
156132003-12-23 Kelley Cook <kcook@gcc.gnu.org>
15614
15615 * gnat_ug.texi: Force a CVS commit by updating copyright.
15616 * gnat_ug_vxw.texi: Regenerate.
15617 * gnat_ug_wnt.texi: Regenerate.
15618 * gnat_ug_vms.texi: Regenerate.
15619 * gnat_ug_unx.texi: Regenerate.
15620
aed8bfdc
KH
156212003-12-20 Kazu Hirata <kazu@cs.umass.edu>
15622
15623 * trans.c: Remove uses of "register" specifier in
15624 declarations of local variables.
15625
90c2f1de
KC
156262003-12-18 Kelley Cook <kcook@gcc.gnu.org>
15627
15628 * stamp-xgnatug: New stamp file.
15629 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
15630 (ada/doctools/xgnatug): Add $(build_exeext).
15631 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
15632 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
15633
891a6e79
AC
156342003-12-17 Ed Falis <falis@gnat.com>
15635
15636 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
15637 eliminate warning.
15638
15639 * a-exextr.adb: Add context clause for
15640 Ada.Exceptions.Last_Chance_Handler.
15641
156422003-12-17 Sergey Rybin <rybin@act-europe.fr>
15643
15644 * cstand.adb (Create_Standard): Change the way how the declaration of
15645 the Duration type is created (making it the same way as it is for all
15646 the other standard types).
15647
156482003-12-17 Robert Dewar <dewar@gnat.com>
15649
15650 * s-crtl.ads: Fix header format
15651 Change Pure to Preelaborate
15652
156532003-12-17 Ed Schonberg <schonberg@gnat.com>
15654
15655 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
15656 the expression type only if it is declared in the current unit.
15657
15658 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
15659 are universal and already analyzed, as can occur in constrained
15660 subcomponents that depend on discriminants, when one constraint is a
15661 subtype mark.
15662
15663 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
15664 type Any_Fixed is legal as the argument of a conversion, if only one
15665 fixed-point type is in context.
15666
156672003-12-17 GNAT Script <nobody@gnat.com>
15668
15669 * Make-lang.in: Makefile automatically updated
15670
209db2bf
AC
156712003-12-15 Robert Dewar <dewar@gnat.com>
15672
15673 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
15674 sec stack size.
15675
156762003-12-15 Vincent Celier <celier@gnat.com>
15677
15678 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
15679 (Gnatchop): Do not set failure status when reporting the number of
15680 warnings.
15681
156822003-12-15 Doug Rupp <rupp@gnat.com>
15683
15684 * s-ctrl.ads: New file.
15685
15686 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
15687
15688 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
15689 (GNATBIND_OBJS): Add ada/s-crtl.o.
15690
15691 * Makefile.in [VMS]: Clean up ifeq rules.
15692
15693 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
15694 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
15695 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
15696 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
15697 s-tasdeb.adb: Update copyright.
15698 Import System.CRTL.
15699 Make minor modifications to use System.CRTL declared functions instead
15700 of importing locally.
15701
157022003-12-15 GNAT Script <nobody@gnat.com>
15703
15704 * Make-lang.in: Makefile automatically updated
15705
a9f4e3d2
AC
157062003-12-11 Ed Falis <falis@gnat.com>
15707
15708 * 5zinit.adb: Clean up.
15709
15710 * 5zintman.adb (Notify_Exception): replaced case statement with a call
15711 to __gnat_map_signal, imported from init.c to support
15712 signal -> exception mappings that depend on the vxWorks version.
15713
fbf3e0dd 15714 * init.c:
a9f4e3d2
AC
15715 Created and exported __gnat_map_signal to support signal -> exception
15716 mapping that is dependent on the VxWorks version.
15717 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
15718
157192003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
15720
15721 * 5wosinte.ads: Link with -mthreads switch.
15722
157232003-12-11 Arnaud Charlet <charlet@act-europe.fr>
15724
15725 * init.c (__gnat_install_handler [NetBSD]): Set
15726 __gnat_handler_installed, as done on all other platforms.
15727 Remove duplicated code.
15728
157292003-12-11 Jerome Guitton <guitton@act-europe.fr>
15730
15731 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
15732
157332003-12-11 Thomas Quinot <quinot@act-europe.fr>
15734
15735 * sinfo.ads: Fix inconsistent example code in comment.
15736
157372003-12-11 Robert Dewar <dewar@gnat.com>
15738
15739 * a-tiinau.adb: Add a couple of comments
15740
15741 * sem_ch3.adb: Minor reformatting
15742
fbf3e0dd 15743 * sem_prag.adb:
a9f4e3d2
AC
15744 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
15745 Minor reformatting throughout
15746
157472003-12-11 Ed Schonberg <schonberg@gnat.com>
15748
15749 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
15750 bounds of a loop, create a separate block in order to generate proper
15751 cleanup actions to prevent memory leaks.
15752
15753 * sem_res.adb (Resolve_Call): After a call to
15754 Establish_Transient_Scope, the call may be rewritten and relocated, in
15755 which case no further processing is needed.
15756
15757 * sem_util.adb: (Wrong_Type): Refine previous fix.
15758 Fixes ACATS regressions.
15759
15760 PR ada/13353
15761
15762 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
15763 be inlined.
15764
c45b6ae0
AC
157652003-12-08 Jerome Guitton <guitton@act-europe.fr>
15766
15767 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
15768 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
15769 obsolete files.
15770
15771 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
15772 (rts-zfp): Ditto.
15773
157742003-12-08 Robert Dewar <dewar@gnat.com>
15775
15776 * 7sintman.adb: Minor reformatting
15777
15778 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
15779 standard linker options to get standard libraries linked. We now plan
15780 to provide dummy versions of these libraries to match the appropriate
15781 configurable run-time (e.g. if a library is not needed at all, provide
15782 a dummy empty library).
15783
15784 * targparm.ads: Configurable_Run_Time mode no longer affects linker
15785 options (-L parameters and standard libraries). What we plan to do is
15786 to provide dummy libraries where the libraries are not required.
15787
15788 * gnatbind.adb: Minor comment improvement
15789
157902003-12-08 Javier Miranda <miranda@gnat.com>
15791
15792 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
15793 aggregate in the parent. Otherwise constants with limited aggregates
15794 are not supported. Add new formal to pass the component type (Ctype).
15795 It is required to call the corresponding IP subprogram in case of
15796 default initialized components.
15797 (Gen_Assign): In case of default-initialized component, generate a
15798 call to the IP subprogram associated with the component.
15799 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
15800 of aggregate with default initialized components.
15801 (Has_Default_Init_Comps): Improve implementation to recursively check
15802 all the present expressions.
15803
15804 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
15805 to indicate that the initialization call corresponds to a
15806 default-initialized component of an aggregate.
15807 In case of default initialized aggregate with tasks this parameter is
15808 used to generate a null string (this is just a workaround that must be
15809 improved later). In case of discriminants, this parameter is used to
15810 generate a selected component node that gives access to the discriminant
15811 value.
15812
15813 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
15814 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
15815 allocated aggregates with default-initialized components.
15816
15817 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
15818 the box notation is used in positional aggregates.
15819
158202003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
15821
15822 * lib.ads: Fix typo in comment
15823
158242003-12-08 Vincent Celier <celier@gnat.com>
15825
15826 * prj.adb (Project_Empty): New component Unkept_Comments
15827 (Scan): Remove procedure; moved to Prj.Err.
15828
15829 * prj.ads (Project_Data): New Boolean component Unkept_Comments
15830 (Scan): Remove procedure; moved to Prj.Err.
15831
15832 * prj-dect.adb: Manage comments for the different declarations.
15833
15834 * prj-part.adb (With_Record): New component Node
15835 (Parse): New Boolean parameter Store_Comments, defaulted to False.
15836 Set the scanner to return ends of line and comments as tokens, if
15837 Store_Comments is True.
15838 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
15839 comments are associated with these nodes. Store the node IDs in the
15840 With_Records.
15841 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
15842 With_Records.
15843 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
15844 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
15845 current project. Call Tree.Restore afterwards. Set the various nodes
15846 for comment storage (Next_End, End_Of_Line, Previous_Line,
15847 Previous_End).
15848
15849 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
15850 defaulted to False.
15851
15852 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
15853 to False. When Truncated is True, truncate the string, never go to the
15854 next line.
15855 (Write_End_Of_Line_Comment): New procedure
15856 (Print): Process comments for nodes N_With_Clause,
15857 N_Package_Declaration, N_String_Type_Declaration,
15858 N_Attribute_Declaration, N_Typed_Variable_Declaration,
15859 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
15860 Process nodes N_Comment.
15861
15862 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
15863 without comments and there are some comments, set the flag
15864 Unkept_Comments to True.
15865 (Scan): If there are comments, set the flag Unkept_Comments to True and
15866 clear the comments.
15867 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
15868 (Next_End_Nodes: New table
15869 (Comment_Zones_Of): New function
15870 (Scan): New procedure; moved from Prj. Accumulate comments in the
15871 Comments table and set end of line comments, comments after, after end
15872 and before end.
15873 (Add_Comments): New procedure
15874 (Save, Restore, Seset_State): New procedures
15875 (There_Are_Unkept_Comments): New function
15876 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
15877 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
15878 procedures.
15879 (First_Comment_After, First_Comment_After_End): New functions
15880 (First_Comment_Before, First_Comment_Before_End): New functions
15881 (Next_Comment): New function
15882 (End_Of_Line_Comment, Follows_Empty_Line,
15883 Is_Followed_By_Empty_Line): New functions
15884 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
15885 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
15886 (Set_Next_Comment): New procedure
15887 (Default_Project_Node): Associate comment before if the node can store
15888 comments.
15889
15890 * scans.ads (Token_Type): New enumeration value Tok_Comment
15891 (Comment_Id): New global variable
15892
15893 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
15894 defaulted to False.
15895 (Scan): Store position of start of comment. If comments are tokens, set
15896 Comment_Id and set Token to Tok_Comment when scanning a comment.
15897 (Set_Comment_As_Token): New procedure
15898
15899 * sinput-p.adb: Update Copyright notice
15900 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
15901 that no longer exists.
15902
159032003-12-08 Javier Miranda <miranda@gnat.com>
15904
15905 * sem_aggr.adb: Add dependence on Exp_Tss package
15906 Correct typo in comment
15907 (Resolve_Aggregate): In case of array aggregates set the estimated
15908 type of the aggregate before calling resolve. This is needed to know
15909 the name of the corresponding IP in case of limited array aggregates.
15910 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
15911 in case of default initialized array components.
15912
15913 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
15914 types. Required to give support to limited aggregates in generic
15915 formals.
15916
159172003-12-08 Ed Schonberg <schonberg@gnat.com>
15918
15919 * sem_ch3.adb (Check_Initialization): For legality purposes, an
15920 inlined body functions like an instantiation.
15921 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
15922 until bounds are analyzed, to diagnose premature use of type.
15923
15924 * sem_util.adb (Wrong_Type): Improve error message when the type of
15925 the expression is used prematurely.
15926
159272003-12-08 GNAT Script <nobody@gnat.com>
15928
15929 * Make-lang.in: Makefile automatically updated
15930
0875a894
AC
159312003-12-08 Arnaud Charlet <charlet@act-europe.fr>
15932
7618d510
AC
15933 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
15934 they are automatically generated by Make-lang.in and cause nothing but
0875a894
AC
15935 maintenance troubles.
15936
5b4994bc
AC
159372003-12-05 Thomas Quinot <quinot@act-europe.fr>
15938
15939 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
15940 version of this unit).
15941
159422003-12-05 Olivier Hainque <hainque@act-europe.fr>
15943
15944 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
15945 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
15946 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
15947 the body of System.Interrupt_Management common to several targets.
15948 Update copyright notice when appropriate.
15949
15950 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
15951 constant.
15952
15953 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
15954 to ensure that the kernel fills in the interrupted context structure
15955 before calling a signal handler, which is necessary to be able to
15956 unwind past it. Update the copyright notice.
15957
159582003-12-05 Jerome Guitton <guitton@act-europe.fr>
15959
15960 * a-elchha.ads: New file.
15961
15962 * a-elchha.adb: New default last chance handler. Contents taken from
15963 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
15964
15965 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
15966 is moved to a-elchha.adb to provide a target-independent default last
15967 chance handler.
15968
15969 * Makefile.rtl: Add a-elchha.o
15970
15971 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
15972
159732003-12-05 Ed Schonberg <schonberg@gnat.com>
15974
15975 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
15976 declared in an instance, do not inline the call if the instance is not
15977 frozen yet, to prevent order of elaboration problems.
15978
15979 * sem_prag.adb: Add comments for previous fix.
15980
159812003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
15982
15983 * g-table.adb: Use the right variable in Set_Item.
15984 Update copyright notice.
15985
159862003-12-05 Arnaud Charlet <charlet@act-europe.fr>
15987
15988 * Makefile.in: Remove unused rules.
15989
159902003-12-05 Vincent Celier <celier@gnat.com>
15991
15992 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
15993 -nostdlib. Not needed here after all.
15994
efdfd311
AC
159952003-12-03 Thomas Quinot <quinot@act-europe.fr>
15996
15997 PR ada/11724
15998
fbf3e0dd 15999 * adaint.h, adaint.c, g-os_lib.ads:
efdfd311
AC
16000 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
16001 on some platforms (including FreeBSD), it is a 64 bit value.
16002 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
16003
160042003-12-03 Arnaud Charlet <charlet@act-europe.fr>
16005
16006 * gnatvsn.ads (Library_Version): Now contain only the relevant
16007 version info.
16008 (Verbose_Library_Version): New constant.
16009
16010 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
16011 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
16012 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
16013
16014 * gnatlbr.adb: Clean up: replace Library_Version by
16015 Verbose_Library_Version.
16016
fbf3e0dd 16017 * make.adb, lib-writ.adb, exp_attr.adb:
efdfd311
AC
16018 Clean up: replace Library_Version by Verbose_Library_Version.
16019
16020 * 5lintman.adb: Removed.
16021
fbf3e0dd 16022 * Makefile.in:
efdfd311
AC
16023 Update and simplify computation of LIBRARY_VERSION.
16024 Fix computation of GSMATCH_VERSION.
16025 5lintman.adb is no longer used: replaced by 7sintman.adb.
16026
160272003-12-03 Robert Dewar <dewar@gnat.com>
16028
fbf3e0dd 16029 * exp_ch5.adb:
efdfd311
AC
16030 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
16031 name. Modified to consider small non-bit-packed arrays as troublesome
16032 and in need of component-by-component assigment expansion.
16033
160342003-12-03 Vincent Celier <celier@gnat.com>
16035
16036 * lang-specs.h: Process nostdlib as nostdinc
16037
16038 * back_end.adb: Update Copyright notice
16039 (Scan_Compiler_Arguments): Process -nostdlib directly.
16040
160412003-12-03 Jose Ruiz <ruiz@act-europe.fr>
16042
fbf3e0dd 16043 * Makefile.in:
efdfd311
AC
16044 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
16045 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
16046 included in HIE_NONE_TARGET_PAIRS.
16047
160482003-12-03 Ed Schonberg <schonberg@gnat.com>
16049
fbf3e0dd 16050 * sem_attr.adb:
efdfd311
AC
16051 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
16052 is legal in an instance, because legality is cheched in the template.
16053
fbf3e0dd 16054 * sem_prag.adb:
efdfd311
AC
16055 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
16056 appplied to an unchecked conversion of a formal parameter.
16057
fbf3e0dd 16058 * sem_warn.adb:
efdfd311
AC
16059 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
16060 variables.
16061
160622003-12-03 Olivier Hainque <hainque@act-europe.fr>
16063
16064 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
16065 routines. The second one is new functionality to deal with backtracing
16066 through signal handlers.
16067 (unwind): Split into the two separate subroutines above.
16068 Update the documentation, and deal properly with sizeof (REG) different
16069 from sizeof (void*).
16070
08aa9a4a
AC
160712003-12-01 Nicolas Setton <setton@act-europe.fr>
16072
16073 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
16074 so that the debugger can reliably access the value of the parameter,
16075 and therefore is able to display the exception name when an exception
16076 breakpoint is reached.
16077
160782003-12-01 Thomas Quinot <quinot@act-europe.fr>
16079
16080 * fmap.adb: Fix typo in warning message.
16081
16082 * g-socket.ads, g-socket.adb: Make Free a visible instance of
16083 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
16084
160852003-12-01 Vincent Celier <celier@gnat.com>
16086
16087 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
16088 ther is no Afile.
16089 (Build_Library): Get the switches only if Default_Switches is declared
16090 in package Binder.
16091
160922003-12-01 Ed Schonberg <schonberg@gnat.com>
16093
16094 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
16095 actuals that are indexed components, reanalyze actual to ensure that
16096 packed array references are properly expanded.
16097
16098 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
16099 attempted assignment to a discriminant.
16100
161012003-12-01 Robert Dewar <dewar@gnat.com>
16102
16103 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
16104 reformatting.
16105
16106 * switch-c.adb: Minor reformatting of comments
16107
161082003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16109
16110 * Makefile.in: Clean ups.
16111
161122003-12-01 GNAT Script <nobody@gnat.com>
16113
16114 * Make-lang.in: Makefile automatically updated
16115
c6135994
AC
161162003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16117
16118 * 5wsystem.ads: Disable zero cost exception, not ready yet.
16119
51a30506
UW
161202003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
16121
16122 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
16123 to force serialization.
16124
81a5b587
AC
161252003-11-26 Thomas Quinot <quinot@act-europe.fr>
16126
fbf3e0dd 16127 * g-socket.ads, g-socket.adb:
81a5b587
AC
16128 Clarify documentation of function Stream. Introduce a Free procedure
16129 to release the returned Stream once it becomes unused.
16130
16131 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
16132
161332003-11-26 Arnaud Charlet <charlet@act-europe.fr>
16134
16135 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
16136 since NT 4 cannot handle timeout values that are too large,
16137 e.g. DWORD'Last - 1.
16138
161392003-11-26 Ed Schonberg <schonberg@gnat.com>
16140
fbf3e0dd 16141 * exp_ch4.adb:
81a5b587
AC
16142 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
16143 in procedure calls and whose expansion must be deferred.
16144
16145 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
16146 is in exp_ch4.
16147
fbf3e0dd 16148 * sem_ch3.adb:
81a5b587
AC
16149 (Build_Derived_Array_Type): Create operator for unconstrained type
16150 if ancestor is unconstrained.
16151
161522003-11-26 Vincent Celier <celier@gnat.com>
16153
16154 * make.adb (Project_Object_Directory): New global variable
16155 (Change_To_Object_Directory): New procedure
16156 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
16157 of Change_Dir directly. Do not change working directory to object
16158 directory of main project after each compilation.
16159 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
16160 directly.
16161 Change to object directory of main project before binding step.
16162 (Initialize): Initialize Project_Object_Directory to No_Project
16163
fbf3e0dd 16164 * mlib-prj.adb:
81a5b587
AC
16165 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
16166 binding a Stand-Alone Library.
16167
16168 * output.adb: Update Copyright notice
16169 (Write_Char): Output buffer when full
16170
161712003-11-26 Robert Dewar <dewar@gnat.com>
16172
16173 * sem_ch13.adb: (Check_Size): Reset size if size is too small
16174
fbf3e0dd 16175 * sem_ch13.ads:
81a5b587
AC
16176 (Check_Size): Fix documentation to include bit-packed array case
16177
16178 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
16179
16180 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
16181
16182 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
16183
d4c47b51
AC
161842003-11-24 Arnaud Charlet <charlet@act-europe.fr>
16185
16186 PR ada/13142
16187 * utils.c (init_gigi_decls): Change name of built-in setjmp to
16188 __builtin_setjmp, since this is apparently needed by recent
16189 non Ada changes.
16190
7677e9e0
RO
161912003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16192
d4c47b51 16193 * adadecode.c: Only include ctype.h if not IN_GCC.
7677e9e0
RO
16194 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
16195
6c1e24d3
AC
161962003-11-24 Jose Ruiz <ruiz@act-europe.fr>
16197
fbf3e0dd 16198 * Makefile.in:
6c1e24d3
AC
16199 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
16200 signals and interrupts.
16201
16202 * 5zintman.ads: New File.
16203
16204 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
16205 add exception signals to the set of unmasked signals.
16206
fbf3e0dd 16207 * 5ztaprop.adb:
6c1e24d3
AC
16208 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
16209 between signals and interrupts.
16210 Add to Unblocked_Signal_Mask the set of signals that are in
16211 Keep_Unmasked.
16212
fbf3e0dd 16213 * 7sinmaop.adb:
6c1e24d3
AC
16214 Adding a check to see whether the Interrupt_ID we want to unmask is in
16215 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
16216 reason is that the index type of the Keep_Unmasked array is not always
16217 Interrupt_ID; it may be a subtype of Interrupt_ID.
16218
162192003-11-24 Gary Dismukes <dismukes@gnat.com>
16220
fbf3e0dd 16221 * exp_util.adb:
6c1e24d3
AC
16222 (Remove_Side_Effects): Condition constantness of object created for a
16223 an unchecked type conversion on the constantness of the expression
16224 to ensure the correct value for 'Constrained when passing components
16225 of view-converted class-wide objects.
16226
162272003-11-24 Robert Dewar <dewar@gnat.com>
16228
16229 * par-load.adb (Load): Improve handling of misspelled and missing units
16230 Removes several cases of compilation abandoned messages
16231
16232 * lib.adb: (Remove_Unit): New procedure
16233
16234 * lib.ads: (Remove_Unit): New procedure
16235
16236 * lib-load.adb: Minor reformatting
16237
162382003-11-24 Vincent Celier <celier@gnat.com>
16239
fbf3e0dd 16240 * make.adb:
6c1e24d3
AC
16241 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
16242 (Marking_Label): Label to mark processed source files. Incremented for
16243 each executable.
16244 (Gnatmake): Increase Marking_Labet for each executable
16245 (Is_Marked): Compare against marking label
16246 (Mark): Mark with marking label
16247
162482003-11-24 Jerome Guitton <guitton@act-europe.fr>
16249
fbf3e0dd 16250 * s-thread.ads:
6c1e24d3
AC
16251 Move the declaration of the TSD for System.Threads to System.Soft_Links.
16252 Add some comments.
16253
16254 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
16255 (rts-cert): build a single relocatable object for the run-time lib.
16256 Fix perms.
16257
162582003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
16259
fbf3e0dd 16260 * Make-lang.in:
6c1e24d3
AC
16261 Use gnatls rather than gcc to obtain the location of GNAT RTL for
16262 crosstools build.
16263
162642003-11-24 Sergey Rybin <rybin@act-europe.fr>
16265
16266 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
16267 can not use it as before (that is, as a variable) when dumping it into
16268 the tree file. Add a local variable to store the result of this
16269 function and to be used as the string to be written into the tree.
16270
16271 * scn.adb (Initialize_Scanner): Add comments explaining the recent
16272 changes.
16273
16274 * sinput.adb (Source_First, Source_Last): In case of
16275 Internal_Source_File, replace returning attributes of
16276 Internal_Source_Ptr (which is wrong) with returning attributes of
16277 Internal_Source.
16278
162792003-11-24 Ed Schonberg <schonberg@gnat.com>
16280
fbf3e0dd 16281 * sem_ch3.adb:
6c1e24d3
AC
16282 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
16283 used for implicit concatenation operators.
16284 Code cleanup.
16285
fbf3e0dd 16286 * sem_elab.adb:
6c1e24d3
AC
16287 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
16288 task bodies that are in the scope of a Suppress pragma.
16289 (Check_A Call): Use the flag to prevent spurious elaboration checks.
16290
fbf3e0dd 16291 * sinfo.ads, sinfo.adb:
6c1e24d3
AC
16292 New flag No_Elaboration_Check on function/procedure calls, to properly
16293 suppress checks on calls in task bodies that are within a local suppress
16294 pragma.
16295
fbf3e0dd 16296 * exp_ch4.adb:
6c1e24d3
AC
16297 (Expand_Concatenate_Other): Use the proper integer type for the
16298 expression for the upper bound, to avoid universal_integer computations
16299 when possible.
16300
6f2aeb72
KC
163012003-11-21 Kelley Cook <kcook@gcc.gnu.org>
16302
16303 * .cvsignore: Delete.
16304
e9f85cd6
AS
163052003-11-21 Andreas Schwab <schwab@suse.de>
16306
16307 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
16308
4e074baf
VF
163092003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
16310
16311 * 5wsystem.ads: Enable zero cost exception.
16312
f1f9fe30
AC
163132003-11-21 Jerome Guitton <guitton@act-europe.fr>
16314
16315 * 5ztiitho.adb: Remove an unreferenced variable.
16316
163172003-11-21 Thomas Quinot <quinot@act-europe.fr>
16318
16319 * adaint.c: For FreeBSD, use mkstemp.
16320
163212003-11-21 Arnaud Charlet <charlet@act-europe.fr>
16322
16323 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
16324
163252003-11-21 Robert Dewar <dewar@gnat.com>
16326
16327 * bld.adb: Remove useless USE of gnatvsn
16328
16329 * gnatchop.adb: Minor reformatting
16330 Clean up version handling to be more consistent
16331
16332 * gnatxref.adb: Minor reformatting
16333
16334 * gprcmd.adb: Minor reformatting
16335 Fix output of copyright to be more consistent with other tools
16336
163372003-11-21 Vincent Celier <celier@gnat.com>
16338
16339 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
16340
163412003-11-21 Sergey Rybin <rybin@act-europe.fr>
16342
16343 * atree.adb (Initialize): Add initializations for global variables
16344 used in New_Copy_Tree.
16345
16346 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
16347 Internal_Source_File as the actual).
16348 Put the set of statements creating Any_Character before the set of
16349 statements creating Any_Array to have Any_Character fully initialized
16350 when it is used in creating Any_Array.
16351
16352 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
16353 not call Scan in case if the actual is Internal_Source_File
16354 Add 2003 to copyright note.
16355
16356 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
16357 processing Internal_Source_File.
16358
16359 * types.ads: Add the constant Internal_Source_File representing the
16360 source buffer for artificial source-code-like strings created within
16361 the compiler (the definition of Source_File_Index is changed).
16362
c5b2a8ae
AC
163632003-11-20 Arnaud Charlet <charlet@act-europe.fr>
16364
16365 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
16366 56system.ads: New file, FreeBSD version.
16367
a03ad584
JM
163682003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
16369
16370 * Make-lang.in (ada.extraclean): Delete.
16371
19f0526a
AC
163722003-11-19 Arnaud Charlet <charlet@act-europe.fr>
16373
16374 * gnatmem.adb: Clean up verbose output.
16375
16376 * gprcmd.adb: Change copyright to FSF.
16377
163782003-11-19 Vincent Celier <celier@gnat.com>
16379
16380 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
16381 and Version (ignored).
16382
16383 * symbols.ads: (Policy): New type
16384 (Initialize): New parameter Reference, Symbol_Policy and
16385 Library_Version.
16386 Remove parameter Force.
16387 Minor reformatting.
16388
16389 * snames.ads, snames.adbadb: New standard names
16390 Library_Reference_Symbol_File and Library_Symbol_Policy
16391
fbf3e0dd 16392 * mlib-prj.adb:
19f0526a
AC
16393 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
16394 project.
16395
fbf3e0dd 16396 * mlib-tgt.adb:
19f0526a
AC
16397 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
16398
16399 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
16400
16401 * prj.adb: (Project_Empty): New component Symbol_Data
16402
16403 * prj.ads: (Policy, Symbol_Record): New types
16404 (Project_Data): New component Symbol_Data
16405
fbf3e0dd 16406 * prj-attr.adb:
19f0526a
AC
16407 New attributes Library_Symbol_File, Library_Symbol_Policy and
16408 Library_Reference_Symbol_File.
16409
fbf3e0dd 16410 * prj-nmsc.adb:
19f0526a
AC
16411 (Ada_Check): When project is a Stand-Alone library project, process
16412 attribute Library_Symbol_File, Library_Symbol_Policy and
16413 Library_Reference_Symbol_File.
16414
16415 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
16416 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
16417 5sml-tgt.adb (Build_Dynamic_Library): New parameter
16418 Symbol_Data (ignored).
16419
16420 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
16421 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
16422 functions Option_File_Name and Version_String. Set new options of
16423 gnatsym related to symbol file, symbol policy and reference symbol
16424 file.
16425
fbf3e0dd 16426 * 5vsymbol.adb:
19f0526a
AC
16427 Extensive modifications to take into account the reference symbol file,
16428 the symbol policy, the library version and to put in the symbol file the
16429 minor and major IDs.
16430
16431 * bld.adb (Process_Declarative_Items): Put second argument of
16432 gprcmd to_absolute between single quotes, to avoid problems with
16433 Windows.
16434
16435 * bld-io.adb: Update Copyright notice.
16436 (Flush): Remove last character of a line, if it is a back slash, to
16437 avoid make problems.
16438
fbf3e0dd 16439 * gnatsym.adb:
19f0526a
AC
16440 Implement new scheme with reference symbol file and symbol policy.
16441
16442 * g-os_lib.ads: (Is_Directory): Clarify comment
16443
164442003-11-19 Robert Dewar <dewar@gnat.com>
16445
16446 * atree.adb: Move New_Copy_Tree global variables to head of package
16447
16448 * errout.adb: Minor reformatting
16449
164502003-11-19 Javier Miranda <miranda@gnat.com>
16451
16452 * sem_ch4.adb: (Diagnose_Call): Improve error message.
16453 Add reference to Ada0Y (AI-50217)
16454
16455 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
16456 sem_util.adb: Add reference to AI-50217
16457
16458 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
16459
16460 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
16461
16462 * sem_aggr.adb: Complete documentation of AI-287 changes
16463
16464 * par-ch4.adb: Document previous changes.
16465
16466 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
16467 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
16468 Ada0Y (AI-50217)
16469
16470 * exp_aggr.adb: Add references to AI-287 in previous changes
16471
164722003-11-19 Ed Schonberg <schonberg@gnat.com>
16473
fbf3e0dd 16474 * exp_ch6.adb:
19f0526a
AC
16475 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
16476 in the rewriting is the result of an inlined call.
16477
16478 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
16479 parameter is a type conversion, use original node to construct the
16480 post-call assignment, because expression may have been rewritten, e.g.
16481 if it is a packed array.
16482
fbf3e0dd 16483 * sem_attr.adb:
19f0526a
AC
16484 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
16485 body, just as it is in an instance.
16486 Categorization routines
16487
16488 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
16489 Instantiate_Object): Set proper sloc reference for message on missing
16490 actual.
16491
164922003-11-19 Thomas Quinot <quinot@act-europe.fr>
16493
16494 * Makefile.in: Add FreeBSD libgnat pairs.
16495
16496 * usage.adb: Fix typo in usage message.
16497
164982003-11-19 Jerome Guitton <guitton@act-europe.fr>
16499
16500 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
16501 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
16502 pragma Thread_Body.
16503 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
16504
16505 * s-thread.adb: This file is now a dummy implementation of
16506 System.Thread.
16507
165082003-11-19 Sergey Rybin <rybin@act-europe.fr>
16509
16510 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
16511
165122003-11-19 Emmanuel Briot <briot@act-europe.fr>
16513
16514 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16515 instanciation references in the parent type description.
16516
0d77ab84
AC
165172003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16518
16519 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
16520
16521 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
16522 TYPE_PRECISION directly from esize.
16523
165242003-11-18 Thomas Quinot <quinot@act-europe.fr>
16525
fbf3e0dd 16526 * cstreams.c:
0d77ab84
AC
16527 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
16528
16529 * init.c: Initialization routines for FreeBSD
16530
16531 * link.c: Link info for FreeBSD
16532
16533 * sysdep.c: Add the case of FreeBSD
16534
cb7a5092
AC
165352003-11-17 Jerome Guitton <guitton@act-europe.fr>
16536
16537 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
16538 already called in System.Threads.
16539
16540 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
16541 environment task, as it has been moved to System.Threads.Initialization.
16542
165432003-11-17 Arnaud Charlet <charlet@act-europe.fr>
16544
16545 * adaint.c (__gnatlib_install_locks): Only reference
16546 __gnat_install_locks on VMS, since other platforms can avoid using
16547 --enable-threads=gnat
16548
165492003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16550
16551 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
16552
16553 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
16554 TYPE_PACKED_ARRAY_TYPE_P.
16555 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
16556
16557 Part of PR ada/12806
16558 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
16559 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
16560
165612003-11-17 Vincent Celier <celier@gnat.com>
16562
16563 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
16564 to False.
16565 Do not set exit status to Failure when Warning is True.
16566 (Gnatchop): Make errors "no compilation units found" and
16567 "no source files written" warnings only.
16568
16569 * make.adb (Gnatmake): When using a project file, set
16570 Look_In_Primary_Dir to False.
16571 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
16572 and Local_Configuration_Pragmas in the project where they are declared
16573 not an extending project which might have inherited them.
16574
16575 * osint.adb (Locate_File): If Name is already an absolute path, do not
16576 look for a directory.
16577
16578 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
16579 -gnats (Check_Syntax) is used, issue only a warning, not an error.
16580
16581 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
16582 in objects of type Variable_Value.
16583
16584 * prj.ads: (Variable_Value): New component Project
16585
16586 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
16587 is in a project extended by Project.
16588
16589 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
16590 Project of Variable_Values to this new parameter value.
16591 (Expression): Set component Project of Variable_Values.
16592 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
16593 Set the component Project in array elements.
16594
165952003-11-17 Sergey Rybin <rybin@act-europe.fr>
16596
16597 * errout.adb: (Initialize): Add initialization for error nodes.
16598
16599 * sem_ch12.adb (Initialize): Add missing initializations for
16600 Exchanged_Views and Hidden_Entities.
16601
166022003-11-17 Ed Schonberg <schonberg@gnat.com>
16603
16604 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
16605 already instantiated tree for use in subsequent inlining.
16606 (Analyze_Associations, Instantiate_Formal_Subprogram,
16607 Instantiate_Object): improve error message for mismatch in
16608 instantiations.
16609
16610 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
16611 instantiations of subprograms declared in instances.
16612
166132003-11-17 Javier Miranda <miranda@gnat.com>
16614
16615 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
16616 executed only under the Extensions_Allowed flag.
16617
166182003-11-17 Robert Dewar <dewar@gnat.com>
16619
16620 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
16621 zeroes suppressed.
16622 (Address_Image): Fix bug of returning 0x instead of 0x0
16623 Minor reformatting (function specs).
16624
16625 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
16626 (missed case of 33-63)
16627
16628 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
16629
16630 * s-thread.adb: Add comments for pragma Restriction
16631
16632 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
16633 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
16634
166352003-11-17 Ed Falis <falis@gnat.com>
16636
16637 * s-thread.adb: Added No_Tasking restriction for this implementation.
16638
166392003-11-17 Emmanuel Briot <briot@act-europe.fr>
16640
16641 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16642 instanciation references in the parent type description.
16643
166442003-11-17 GNAT Script <nobody@gnat.com>
16645
16646 * Make-lang.in: Makefile automatically updated
16647
7d60db05
JM
166482003-11-16 Jason Merrill <jason@redhat.com>
16649
16650 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
16651 and TAGS files that include them for each front end.
16652
c0040397
AJ
166532003-11-14 Andreas Jaeger <aj@suse.de>
16654
a477ab83 16655 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
fbf3e0dd 16656 is the canonical version.
a477ab83
AJ
16657 * misc.c (gnat_handle_option): Likewise.
16658
c0040397
AJ
16659 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
16660
16661 * 5nsystem.ads: New file for x86_64-linux-gnu.
16662
95a6aaf9
AC
166632003-11-14 Arnaud Charlet <charlet@act-europe.fr>
16664
262cc585 16665 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
95a6aaf9 16666
4a4fe537
AC
16667 * comperr.adb: Fix logic in previous change.
16668
65356e64
AC
166692003-11-13 Vincent Celier <celier@gnat.com>
16670
16671 * 5bml-tgt.adb (Build_Dynamic_Library): Use
16672 Osint.Include_Dir_Default_Prefix instead of
16673 Sdefault.Include_Dir_Default_Name.
16674
16675 * gnatlbr.adb: Update Copyright notice
16676 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
16677 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
16678 instead of Sdefault.Object_Dir_Default_Name
16679
c0040397 16680 * gnatlink.adb:
65356e64
AC
16681 (Process_Binder_File): Never suppress the option following -Xlinker
16682
c0040397 16683 * mdll-utl.adb:
65356e64
AC
16684 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
16685 Sdefault.Object_Dir_Default_Name.
16686
c0040397 16687 * osint.ads, osint.adb:
65356e64
AC
16688 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
16689 Minor reformatting.
16690
16691 * vms_conv.ads: Minor reformating
16692 Remove GNAT STANDARD and GNAT PSTA
16693
c0040397 16694 * vms_conv.adb:
65356e64
AC
16695 Allow GNAT MAKE to have several files on the command line.
16696 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
16697 Sdefault.Object_Dir_Default_Name.
16698 Minor Reformating
16699 Remove data for GNAT STANDARD
16700
c0040397 16701 * vms_data.ads:
65356e64
AC
16702 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
16703 Remove data for GNAT STANDARD
16704 Remove options and documentation for -gnatwb/-gnatwB: these warning
16705 options no longer exist.
16706
167072003-11-13 Ed Falis <falis@gnat.com>
16708
16709 * 5zthrini.adb: (Init_RTS): Made visible
16710
c0040397 16711 * 5zthrini.adb:
65356e64
AC
16712 (Register): Removed unnecessary call to taskVarGet that checked whether
16713 an ATSD was already set as a task var for the argument thread.
16714
c0040397 16715 * s-thread.adb:
65356e64
AC
16716 Updated comment to reflect that this is a VxWorks version
16717 Added context clause for System.Threads.Initialization
16718 Added call to System.Threads.Initialization.Init_RTS
16719
167202003-11-13 Jerome Guitton <guitton@act-europe.fr>
16721
c0040397 16722 * 5zthrini.adb:
65356e64
AC
16723 (Init_RTS): New procedure, for the initialization of the run-time lib.
16724
c0040397 16725 * s-thread.adb:
65356e64
AC
16726 Remove dependancy on System.Init, so that this file can be used in the
16727 AE653 sequential run-time lib.
16728
167292003-11-13 Robert Dewar <dewar@gnat.com>
16730
16731 * bindgen.adb: Minor reformatting
16732
167332003-11-13 Ed Schonberg <schonberg@gnat.com>
16734
c0040397 16735 * checks.adb:
65356e64
AC
16736 (Apply_Discriminant_Check): Do no apply check if target type is derived
16737 from source type with no applicable constraint.
16738
c0040397 16739 * lib-writ.adb:
65356e64
AC
16740 (Ensure_System_Dependency): Do not apply the style checks that may have
16741 been specified for the main unit.
16742
c0040397 16743 * sem_ch8.adb:
65356e64
AC
16744 (Find_Selected_Component): Further improvement in error message, with
16745 RM reference.
16746
c0040397 16747 * sem_res.adb:
65356e64
AC
16748 (Resolve): Handle properly the case of an illegal overloaded protected
16749 procedure.
16750
167512003-11-13 Javier Miranda <miranda@gnat.com>
16752
c0040397 16753 * exp_aggr.adb:
65356e64
AC
16754 (Has_Default_Init_Comps): New function to check the presence of
16755 default initialization in an aggregate.
16756 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
16757 extension aggregate of a limited record. In addition, a new formal
16758 was added to do not initialize the record controller (if any) during
16759 this recursive expansion of ancestors.
16760 (Init_Controller): Add support for limited record components.
16761 (Expand_Record_Aggregate): In case of default initialized components
16762 convert the aggregate into a set of assignments.
16763
16764 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
16765 describing the new syntax.
16766 Nothing else needed to be done because this subprogram delegates part of
16767 its work to P_Precord_Or_Array_Component_Association.
16768 (P_Record_Or_Array_Component_Association): Give support to the new
16769 syntax for default initialization of components.
16770
c0040397 16771 * sem_aggr.adb:
65356e64
AC
16772 (Resolve_Aggregate): Relax the strictness of the frontend in case of
16773 limited aggregates.
16774 (Resolve_Record_Aggregate): Give support to default initialized
16775 components.
16776 (Get_Value): In case of default initialized components, duplicate
16777 the corresponding default expression (from the record type
16778 declaration). In case of default initialization in the *others*
16779 choice, do not check that all components have the same type.
16780 (Resolve_Extension_Aggregate): Give support to limited extension
16781 aggregates.
16782
c0040397 16783 * sem_ch3.adb:
65356e64
AC
16784 (Check_Initialization): Relax the strictness of the front-end in case
16785 of aggregate and extension aggregates. This test is now done in
16786 Get_Value in a per-component manner.
16787
16788 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
16789 expression corresponds to a limited aggregate. This test is now done
16790 in Get_Value.
16791
16792 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
16793 Box_Present flag.
16794
16795 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
16796 present in an N_Component_Association node
16797
167982003-11-13 Thomas Quinot <quinot@act-europe.fr>
16799
16800 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
16801 type-conformant entry only if they are homographs.
16802
168032003-11-13 GNAT Script <nobody@gnat.com>
16804
16805 * Make-lang.in: Makefile automatically updated
16806
49add53f
RO
168072003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16808
16809 * adadecode.c: Use <> form of include for ctype.h.
16810 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
16811
94bae1cc
RO
168122003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16813
16814 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
16815 Works around PR middle-end/6552.
16816
463f452c
AC
168172003-11-10 Ed Falis <falis@gnat.com>
16818
16819 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
16820
16821 * 5zinit.adb: (Install_Handler): Moved back to spec
16822 (Install_Signal_Handlers): Deleted
16823
16824 * 5zthrini.adb: Added context clause for System.Storage_Elements
16825 (Register): Only handles creation of taskVar; initialization moved to
16826 Thread_Body_Enter.
16827 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
16828 Added declaration of environment task secondary stack and
16829 initialization.
16830
16831 * s-thread.adb: Implement bodies for thread body processing
16832
c0040397 16833 * s-thread.ads:
463f452c
AC
16834 Added comment identifying supported targets for pragma Thread_Body.
16835
168362003-11-10 Pascal Obry <obry@gnat.com>
16837
16838 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
16839 GNAT_MAX_PATH_LEN.
16840
c0040397 16841 * s-fileio.adb:
463f452c
AC
16842 (Open): Properly check for string length before copying into the buffer.
16843 Raises Name_Error if buffer is too small. Note that this was a potential
16844 buffer overflow.
16845
168462003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
16847
16848 * bindgen.adb, comperr.adb: Code clean ups.
16849 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
16850
168512003-11-10 Sergey Rybin <rybin@act-europe.fr>
16852
16853 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
16854
168552003-11-10 Vincent Celier <celier@gnat.com>
16856
c0040397 16857 * gprcmd.adb:
463f452c
AC
16858 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
16859 installation.
16860
16861 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
16862
16863 * prj.adb: (Project_Empty): Add new boolean component Virtual
16864
16865 * prj.ads: (Virtual_Prefix): New constant string
16866 (Project_Data): New boolean component Virtual
16867
16868 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
16869 a library project is extended by a virtual extending project.
16870
c0040397 16871 * prj-part.adb:
463f452c
AC
16872 Modifications throughout to implement extending-all project, including:
16873 (Virtual_Hash, Processed_Hash): New hash tables
16874 (Create_Virtual_Extending_Project): New procedure
16875 (Look_For_Virtual_Projects_For): New procedure
16876
c0040397 16877 * prj-proc.adb:
463f452c
AC
16878 (Process): After checking the projects, if main project is an
16879 extending-all project, set the object directory of all virtual extending
16880 project to the object directory of the main project.
16881 Adjust error message when a virtual extending project has the same
16882 object directory as an project being extended.
16883 (Recursive_Process): If name starts with the virtual prefix, set Virtual
16884 to True in the project data.
16885
c0040397 16886 * prj-tree.adb:
463f452c
AC
16887 (Default_Project_Node): Add new boolean component Extending_All
16888 (Is_Extending_All): New function
16889 (Set_Is_Extending_All): New procedure
16890
16891 * prj-tree.ads: (Is_Extending_All): New function
16892 (Set_Is_Extending_All): New procedure
16893 (Project_Node_Record): New boolean component Extending_All
16894
16895 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
16896
c0040397 16897 * vms_data.ads:
463f452c
AC
16898 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
16899
16900 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
16901 "gprcmd prefix" to define it.
16902
169032003-11-10 Thomas Quinot <quinot@act-europe.fr>
16904
16905 * einfo.ads: Fix a typo and remove an extraneous word in comments.
16906
c0040397 16907 * lib-load.adb:
463f452c
AC
16908 (Create_Dummy_Package_Unit): Set the scope of the entity for the
16909 created dummy package to Standard_Standard, not to itself, to
16910 defend other parts of the front-end against encoutering a cycle in
16911 the scope chain.
16912
c0040397 16913 * sem_ch10.adb:
463f452c
AC
16914 (Analyze_With_Clause): When setting the entities for the successive
16915 N_Expanded_Names that constitute the name of a child unit, do not
16916 attempt to go further than Standard_Standard in the chain of scopes.
16917 This case arises from the placeholder units created by
16918 Create_Dummy_Package_Unit in the case of a with_clause for a
16919 nonexistent child unit.
16920
169212003-11-10 Ed Schonberg <schonberg@gnat.com>
16922
c0040397 16923 * exp_ch6.adb:
463f452c
AC
16924 (Expand_Thread_Body): Place subprogram on scope stack, so that new
16925 declarations are given the proper scope.
16926
c0040397 16927 * sem_ch13.adb:
463f452c
AC
16928 (Check_Expr_Constants): Reject an expression that contains a constant
16929 created during expansion, and that appears after the object to which
16930 the address clause applies.
16931
16932 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
16933 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
16934 that uses 'Range of a function call with controlled components, so
16935 that the function result can be finalized before starting the loop.
16936
c0040397 16937 * sem_ch8.adb:
463f452c
AC
16938 (Find_Selected_Component): Improve error message when prefix is
16939 an implicit dereference of an incomplete type.
16940
169412003-11-10 Robert Dewar <dewar@gnat.com>
16942
16943 * opt.ads: New Print_Standard flag for -gnatS switch
16944
16945 * sem_ch13.adb: Remove some additional checks for unaligned arrays
16946
16947 * cstand.adb (Create_Standard): Print out package standard if -gnatS
16948 switch set
16949
16950 * debug.adb: Update doc for -gnatds to discuss relationship with new
16951 -gnatS flag
16952
16953 * sinfo.adb: Add new field Entity_Or_Associated_Node
16954
16955 * sinfo.ads: Add new field Entity_Or_Associated_Node
16956 Update documentation for Associated_Node and Entity fields to clarify
16957 relationship and usage.
16958
c0040397 16959 * sprint.adb:
463f452c
AC
16960 (Write_Id): Properly process Associated_Node field in generic template
16961
c0040397 16962 * switch-c.adb:
463f452c
AC
16963 Recognize new -gnatS switch for printing package Standard
16964 This replaces gnatpsta
16965
c0040397 16966 * usage.adb:
463f452c
AC
16967 Add line for new -gnatS switch for printing package Standard
16968 This replaces gnatpsta
16969
c77c5f2e
AJ
169702003-11-10 Andreas Jaeger <aj@suse.de>
16971
16972 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
16973 integer.
16974
5c90f17f
AC
169752003-11-10 Arnaud Charlet <charlet@act-europe.fr>
16976
16977 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
16978 by gnat1.
16979
139f0d1e
AC
169802003-11-10 Arnaud Charlet <charlet@act-europe.fr>
16981
16982 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
16983 no longer needed.
16984
16985 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
16986
16987 * sysdep.c: Add handling of cygwin.
16988
f3e4c05c
GS
169892003-11-10 GNAT Script <nobody@gnat.com>
16990
16991 * Make-lang.in: Makefile automatically updated
16992
2cdc8909
AC
169932003-11-10 Arnaud Charlet <charlet@act-europe.fr>
16994
16995 PR 12950
16996 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
16997 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
16998 Replace GNAT_ROOT by GCC_ROOT.
16999
17000 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
17001
37783865
ZW
170022003-11-06 Zack Weinberg <zack@codesourcery.com>
17003
17004 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
17005 and update for changed meaning of GET_MODE_BITSIZE.
17006
6bc1c519
AC
170072003-11-04 Doug Rupp <rupp@gnat.com>
17008
17009 * sysdep.c: Problem discovered during IA64 VMS port.
17010 [VMS] #include <unixio.h> to get proper prototypes.
17011
37783865 17012 * adaint.c:
6bc1c519
AC
17013 Issues discovered/problems fixed during IA64 VMS port.
17014 [VMS] #define _POSIX_EXIT for proper semantics.
17015 [VMS] #include <unixio.h> for proper prototypes.
17016 [VMS] (fork): #define IA64 version.
17017 (__gnat_os_exit): Remove unnecessary VMS specific code.
17018
170192003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17020
17021 Part of PR ada/12806
17022
17023 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
17024 tree, not integer.
17025
37783865 17026 * decl.c:
6bc1c519
AC
17027 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
17028 not integer.
17029
17030 * targtyps.c, decl.c, misc.c,
17031 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
17032 routines to work around change in FP sizing semantics in GCC.
17033
37783865 17034 * utils.c:
6bc1c519
AC
17035 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
17036
17037 * gigi.h: (enumerate_modes): New function.
17038
17039 * Make-lang.in: (ada/misc.o): Add real.h.
17040
17041 * misc.c: (enumerate_modes): New function.
17042
170432003-11-04 Robert Dewar <dewar@gnat.com>
17044
17045 * 3vtrasym.adb: Minor reformatting
17046 Use terminology encoded/decoded name, rather than C++ specific notion
17047 of mangling (this is the terminology used throughout GNAT).
17048
17049 * einfo.h: Regenerated
17050
17051 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
17052
37783865 17053 * exp_ch6.adb:
6bc1c519
AC
17054 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
17055
17056 * par-prag.adb: Add dummy entry for Thread_Body pragma
17057
37783865 17058 * rtsfind.ads:
6bc1c519
AC
17059 Add entries for System.Threads entities for thread body processing
17060
37783865 17061 * sem_attr.adb:
6bc1c519
AC
17062 (Analyze_Pragma, Access attributes): Check these are not applied to a
17063 thread body, since this is not permitted
17064
17065 * sem_prag.adb: Add processing for Thread_Body pragma.
17066 Minor comment fix.
17067
37783865 17068 * sem_res.adb:
6bc1c519
AC
17069 (Resolve_Call): Check for incorrect attempt to call a thread body
17070 procedure with a direct call.
17071
17072 * snames.ads, snames.adb: Add entry for Thread_Body pragma
17073 Add names associated with thread body expansion
17074
17075 * snames.h: Add entry for Thread_Body pragma
17076
17077 * s-thread.adb: Add entries for thread body processing
17078 These are dummy bodies so far
17079
17080 * s-thread.ads: Add documentation on thread body handling.
17081 Add entries for thread body processing.
17082
170832003-11-04 Javier Miranda <miranda@gnat.com>
17084
37783865 17085 * sem_ch10.adb:
6bc1c519
AC
17086 (Build_Limited_Views): Return after posting an error in case of limited
17087 with_clause on subprograms, generics, instances or generic renamings
17088 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
17089 on subprograms, generics, instances or generic renamings
17090
170912003-11-04 Arnaud Charlet <charlet@act-europe.fr>
17092
17093 * raise.c (setup_to_install): Correct mistake in last revision; two
17094 arguments out of order.
17095
17096 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
17097 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
17098 notice, missed in previous change.
17099 Remove trailing blanks and other style errors introduced in previous
17100 change.
17101
171022003-11-04 Olivier Hainque <hainque@act-europe.fr>
17103
17104 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
17105 rid of the wrapper for a LJM type, ensuring we don't do that if the
17106 field is addressable. This avoids potential low level type view
17107 mismatches later on, for instance in a by-reference argument passing
17108 process.
17109
171102003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17111
17112 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
17113 aligned at byte boundary.
17114
171152003-11-04 Joel Brobecker <brobecker@gnat.com>
17116
17117 * decl.c (components_to_record): Do not delete the empty variants from
17118 the end of the union type.
17119
171202003-11-04 Ed Schonberg <schonberg@gnat.com>
17121
17122 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
17123 operation for a derived type, an explicit declaration may use a local
17124 subtype of Boolean.
17125
171262003-11-04 Vincent Celier <celier@gnat.com>
17127
17128 * make.adb (Gnatmake): Allow main sources on the command line with a
17129 library project when it is only for compilation (no binding or
17130 linking).
17131
487e9fff
RO
171322003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17133
17134 * Makefile.in: Remove many duplicate variables.
17135
63069342
KC
171362003-11-03 Kelley Cook <kcook@gcc.gnu.org>
17137
17138 * Make-lang.in (dvi): Move targets to $(docobjdir).
17139 (gnat_ug_vms.dvi): Simplify rule and adjust target.
17140 (gnat_ug_wnt.dvi): Likewise.
17141 (gnat_ug_unx.dvi): Likewise.
17142 (gnat_ug_vxw.dvi): Likewise.
17143 (gnat_rm.dvi): Likewise.
17144 (gnat-style.dvi): Likewise.
17145
c2edc52b
KC
171462003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17147
17148 * gigi.h: Missed commit from update for C90.
17149
14df9585
KC
171502003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17151
17152 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
17153
acd8e984
AS
171542003-10-31 Andreas Schwab <schwab@suse.de>
17155
17156 * raise.c (get_action_description_for): Fix typo in last change.
17157
b2c62c45
NN
171582003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
17159
17160 PR ada/12761
17161 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
17162 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
17163
9373164a
KC
171642003-10-30 Kelley Cook <kcook@gcc.gnu.org>
17165
17166 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
17167 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
17168 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
17169 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
17170 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
17171
bde58e32
AC
171722003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
17173
37783865 17174 * 3vtrasym.adb:
bde58e32
AC
17175 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
17176 numbers when symbol name is too long.
17177
171782003-10-30 Ed Falis <falis@gnat.com>
17179
17180 * g-signal.ads, g-signal.adb: New files
17181
17182 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
17183
17184 * Makefile.rtl: Introduce GNAT.Signals
17185
171862003-10-30 Robert Dewar <dewar@gnat.com>
17187
17188 * freeze.adb: Minor reformatting
17189
17190 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
17191
37783865
ZW
17192 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
17193 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
bde58e32
AC
17194 New handling of Id_Check parameter to improve recognition of keywords
17195 used as identifiers.
17196 Update copyright notice to include 2003
17197
657a9dd9
AC
171982003-10-29 Robert Dewar <dewar@gnat.com>
17199
17200 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
17201 sem_ch10.adb: Minor reformatting
17202
17203 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
17204 (Expand_Assign_Record): Test right hand side for bit unaligned as well
17205
172062003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
17207
37783865 17208 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
657a9dd9
AC
17209 Support for TBK$SYMBOLIZE-based symbolic traceback.
17210
172112003-10-29 Jose Ruiz <ruiz@act-europe.fr>
17212
37783865 17213 * exp_disp.adb:
657a9dd9
AC
17214 Revert previous change, that did not work well when pragma No_Run_Time
17215 was used in conjunction with a run-time other than ZFP.
17216
172172003-10-29 Vincent Celier <celier@gnat.com>
17218
37783865 17219 * make.adb:
657a9dd9
AC
17220 (Gnatmake): When there are no Ada mains in attribute Main, disable the
17221 bind and link steps only is switch -z is not used.
17222
172232003-10-29 Arnaud Charlet <charlet@act-europe.fr>
17224
17225 * Makefile.generic: Remove duplicated setting of CC.
17226
17227 * Makefile.prolog: Set CC to gcc by default, to override make's
17228 default (cc).
17229
17230 * einfo.h: Regenerated.
17231
172322003-10-29 Ed Schonberg <schonberg@gnat.com>
17233
17234 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
17235 current body, after compiling subunit.
17236
17237 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
17238 when in deleted code, because gigi needs properly ordered freeze
17239 actions to annotate types.
17240
17241 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
17242 prevent the premature freezing of record type that contains
17243 subcomponents with a private type that does not yet have a completion.
17244
172452003-10-29 Javier Miranda <miranda@gnat.com>
17246
37783865 17247 * sem_ch12.adb:
657a9dd9
AC
17248 (Analyze_Package_Instantiation): Check that instances can not be used in
17249 limited with_clauses.
17250
37783865 17251 * sem_ch8.adb:
657a9dd9
AC
17252 (Analyze_Package_Renaming): Check that limited withed packages cannot
17253 be renamed. Improve text on error messages related to limited
17254 with_clauses.
17255
17256 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
17257
17258 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
17259 Update copyright notice.
17260
17261 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
17262 (Install_Limited_Context_Clauses): New subprogram that isolates all the
17263 checks required for limited context_clauses and installs the limited
17264 view.
17265 (Install_Limited_Withed_Unit): Complete its documentation.
17266 (Analyze_Context): Check that limited with_clauses are only allowed in
17267 package specs.
17268 (Install_Context): Call Install_Limited_Context_Clauses after the
17269 parents have been installed.
17270 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
17271 package as 'From_With_Type'; this mark indicates that the limited view
17272 is installed. Used to check bad usages of limited with_clauses.
17273 (Build_Limited_Views): Do not add shadow entities to the scope's list
17274 of entities. Do not add real entities to the Non_Limited_Views chain.
17275 Improve error notification.
17276 (Remove_Context_Clauses): Remove context clauses in two phases:
17277 limited views first and regular views later (to maintain the
17278 stack model).
17279 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
17280 its visible entities.
17281
172822003-10-29 Thomas Quinot <quinot@act-europe.fr>
17283
17284 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
17285 with any type that Is_Fixed_Point_Type.
17286
17287 * sinfo.ads: Fix documentation for Associated_Node attribute.
17288
172892003-10-29 Sergey Rybin <rybin@act-europe.fr>
17290
17291 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
17292 both '-gnatc' and '-gnatt' are specified.
17293
17294 * atree.adb (Initialize): Add initialization for Node_Count (set to
17295 zero).
17296
172972003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17298
17299 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
17300 do not consider as Pure.
17301
17302 Part of implementation of function-at-a-time:
17303
17304 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
17305 (tree_transform): Add new argument to build_component_ref.
17306 (tree_transform, case N_Assignment_Statement): Make and return an
17307 EXPR_STMT.
17308 (tree_transform): If result IS_STMT, set flags and return it.
17309 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17310
17311 * utils2.c (build_simple_component_ref, build_component_ref): Add new
17312 arg, NO_FOLD_P.
17313 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
17314 (build_allocator): Likewise.
17315
17316 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
17317 Add new arg to build_component_ref.
17318 (maybe_unconstrained_array, unchecked_convert): Likewise.
17319
17320 * ada-tree.def (EXPR_STMT): New code.
17321
17322 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
17323
17324 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
17325 build_component_ref calls.
17326
17327 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
17328
17329 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17330 (build_component_ref): Add new argument, NO_FOLD_P.
17331
ecad994d
AC
173322003-10-27 Arnaud Charlet <charlet@act-europe.fr>
17333
17334 * Makefile.generic: Add missing substitution on object_deps handling.
17335
17336 PR ada/5909:
17337 * Make-lang.in (check-ada): Enable ACATS test suite.
17338
173392003-10-27 Robert Dewar <dewar@gnat.com>
17340
37783865 17341 * exp_ch3.adb:
ecad994d
AC
17342 (Freeze_Array_Type): We do not need an initialization routine for types
17343 derived from String or Wide_String. They should be treated the same
17344 as String and Wide_String themselves. This caused problems with the
17345 use of Initialize_Scalars.
17346
37783865 17347 * exp_ch5.adb:
ecad994d
AC
17348 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
17349 composites. This allows use of component clauses that are not byte
17350 aligned.
17351
37783865 17352 * sem_prag.adb:
ecad994d
AC
17353 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
17354 is an attempt to pack an array of atomic objects.
17355
17356 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
17357
173582003-10-27 Pascal Obry <obry@gnat.com>
17359
37783865 17360 * g-dirope.adb:
ecad994d
AC
17361 (Basename): Check for drive letters in a pathname only on DOS based OS.
17362
173632003-10-27 Vincent Celier <celier@gnat.com>
17364
37783865 17365 * make.adb:
ecad994d
AC
17366 (Gnatmake): When unable to change dir to the object dir, display the
17367 content of the parent dir of the obj dir, to try to understand why this
17368 happens.
17369
173702003-10-27 GNAT Script <nobody@gnat.com>
17371
17372 * Make-lang.in: Makefile automatically updated
17373
173742003-10-27 Ed Schonberg <schonberg@gnat.com>
17375
37783865 17376 * sem_ch12.adb:
ecad994d
AC
17377 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
17378 should not be done in Save/Restore_Scope_Stack, because it is performed
17379 locally.
17380
37783865 17381 * sem_ch8.adb:
ecad994d
AC
17382 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17383 whether use clauses should be removed/restored.
17384
37783865 17385 * sem_ch8.ads:
ecad994d
AC
17386 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17387 whether use clauses should be removed/restored.
17388
b6b3c138
AJ
173892003-10-26 Andreas Jaeger <aj@suse.de>
17390
17391 * Makefile.in: Remove duplicated lines.
17392
b6d83931
AC
173932003-10-24 Arnaud Charlet <charlet@act-europe.fr>
17394
17395 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
17396 minimize the differences with ACT tree.
17397
17398 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
17399 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
17400 Gnatvsn.Gnat_Static_Version_String to reduce differences between
17401 ACT and FSF trees.
17402
174032003-10-24 Pascal Obry <obry@gnat.com>
17404
17405 * adadecode.c (ostrcpy): New function.
17406 (__gnat_decode): Use ostrcpy of strcpy.
17407 (has_prefix): Set first parameter a const.
17408 (has_suffix): Set first parameter a const.
17409 Update copyright notice. Fix source name in header.
17410 Removes a trailing space.
17411 PR ada/12014.
17412
174132003-10-24 Jose Ruiz <ruiz@act-europe.fr>
17414
b6b3c138 17415 * exp_disp.adb:
b6d83931
AC
17416 Remove the test against being in No_Run_Time_Mode before generating a
17417 call to Register_Tag. It is redundant with the test against the
17418 availability of the function Register_Tag.
17419
174202003-10-24 Vincent Celier <celier@gnat.com>
17421
17422 * g-catiio.adb: (Month_Name): Correct spelling of February
17423
17424 * make.adb: (Mains): New package
17425 (Initialize): Call Mains.Delete
17426 (Gnatmake): Check that each main on the command line is a source of a
17427 project file and, if there are several mains, each of them is a source
17428 of the same project file.
17429 (Gnatmake): When a foreign language is specified in attribute Languages,
17430 no main is specified on the command line and attribute Mains is not
17431 empty, only build the Ada main. If there is no Ada main, just compile
17432 the Ada sources and their closure.
17433 (Gnatmake): If a main is specified on the command line with directory
17434 information, check that the source exists and, if it does, that the path
17435 is the actual path of a source of a project.
17436
b6b3c138 17437 * prj-env.adb:
b6d83931
AC
17438 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
17439 Full_Path is True, return the full path instead of the simple file name.
17440 (Project_Of): New function
17441
b6b3c138 17442 * prj-env.ads:
b6d83931
AC
17443 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
17444 defaulted to False.
17445 (Project_Of): New function
17446
174472003-10-24 Arnaud Charlet <charlet@act-europe.fr>
17448
b6b3c138 17449 * Makefile.generic:
b6d83931
AC
17450 Ensure objects of main project are always checked and rebuilt if needed.
17451 Set CC to gcc by default.
17452 Prepare new handling of link by creating a global archive (not activated
17453 yet).
17454
17455 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17456 stringt.h: Update copyright notice. Remove trailing blanks.
17457 Fix source name in header.
17458
174592003-10-24 Robert Dewar <dewar@gnat.com>
17460
17461 * sem_ch12.adb: Minor reformatting
17462
b6b3c138 17463 * sem_ch3.adb:
b6d83931
AC
17464 Minor reformatting (including new function return style throughout)
17465
b6b3c138 17466 * sem_ch3.ads:
b6d83931
AC
17467 Minor reformatting (including new function return style throughout)
17468
174692003-10-24 Arnaud Charlet <charlet@act-europe.fr>
17470
17471 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17472 stringt.h: Update copyright notice. Remove trailing blanks.
17473 Fix source name in header.
17474
174752003-10-24 GNAT Script <nobody@gnat.com>
17476
17477 * Make-lang.in: Makefile automatically updated
17478
b4e2d709
NN
174792003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
17480
17481 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
17482 stringt.h: Convert to ISO C90 declarations and definitions.
17483
9d7d51be
AC
174842003-10-23 Thomas Quinot <quinot@act-europe.fr>
17485
17486 PR ada/11978:
17487 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
17488 External_Tag attribute definition clauses.
17489
174902003-10-23 Ed Schonberg <schonberg@gnat.com>
17491
17492 PR ada/7613:
17493 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
17494 child unit, generate a fully qualified name to avoid spurious errors
17495 when the context contains renamings of different child units with
17496 the same simple name.
17497
17498 * exp_dbug.ads: Add documentation on name qualification for renamings
17499 of child units.
17500
175012003-10-23 Robert Dewar <dewar@gnat.com>
17502
17503 * g-regpat.ads, g-regpat.adb: Minor reformatting
17504
175052003-10-23 Jose Ruiz <ruiz@act-europe.fr>
17506
17507 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
17508
175092003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17510
17511 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
17512 Machine call.
17513
17514 * urealp.h: (Machine): Update to proper definition.
17515
6d244bbe
AC
175162003-10-23 Arnaud Charlet <charlet@act-europe.fr>
17517
17518 * init.c, adaint.c: Minor reformatting.
17519
8f4eb34b
DS
175202003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
17521
6d244bbe 17522 * adaint.c (w32_epoch_offset): Define static const at file level.
8f4eb34b
DS
17523 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
17524 rather than t_create, t_access in call to GetFileTime. Use union
17525 to convert between FILETIME and unsigned long long.
17526 (__gnat_file_time_name): Test for invalid file handle.
17527 (__gnat_set_filetime_name): Support win32 targets using
17528 w32api SetFileTime.
17529
25412599
DS
175302003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
17531
17532 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
17533
17534 * ctrl_c.c (__gnat_int_handler): Remove declaration.
17535
17536 * decl.c (creat_concat_name): Const-ify prefix.
17537
17538 * adaint.c: Include ctype.h if __MINGW32__.
17539 (__gnat_readlink): Mark arguments as possibly unused.
17540 (__gnat_symlink): Likewise.
17541 (__gnat_is_symbolic_link): Likewise.
17542 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
17543 declaration
b6b3c138 17544 (__gnat_file_time_name): Don't declare struct stat statbuf when
25412599
DS
17545 not needed.
17546 (__gnat_is_absolute_path): Add parenthesis around condition of
17547 'if' statement to avoid warning.
17548 (__gnat_plist_init): Specify void as parameter.
17549 (plist_enter): Likewise.
17550 (plist_leave): Likewise.
17551 (remove_handle): Make static. Initialize prev.
17552
698a5e79
AC
175532003-10-22 Arnaud Charlet <charlet@act-europe.fr>
17554
6d244bbe 17555 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
698a5e79
AC
17556 * cstreams.c (__gnat_full_name): Minor improvements and clean up
17557 of previous change.
17558
e97c30aa
RO
175592003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17560
17561 * tracebak.c (MAX): Avoid redefinition warning.
17562
17563 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
17564 Change msg to const char *.
17565 (__gnat_install_handler): Remove ss, unused.
17566 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
17567 to const char *.
17568 * cstreams.c (__gnat_full_name): Declare p only when used.
17569 (__gnat_full_name) [sgi] Return buffer.
17570
65f1ebd1
AC
175712003-10-22 Arnaud Charlet <charlet@act-europe.fr>
17572
17573 * mingw32.h: New file.
0c644933
AC
17574 * gnat_wrapper.adb: New file.
17575
6d244bbe 175762003-10-22 Jerome Roussel <roussel@act-europe.fr>
0c644933
AC
17577
17578 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
17579 string match a pre compiled regular expression (the corresponding
17580 version of the function working on a raw regular expression)
17581 Fix typos in various comments
17582 Update copyright notice in spec
17583
6d244bbe 175842003-10-21 Gary Dismukes <dismukes@gnat.com>
0c644933 17585
b6b3c138 17586 * exp_ch3.adb:
0c644933
AC
17587 (Component_Needs_Simple_Initialization): Return False when the type is a
17588 packed bit array. Revise spec comments to document this case.
17589
b6b3c138 17590 * exp_prag.adb:
0c644933
AC
17591 (Expand_Pragma_Import): Set any expression on the imported object to
17592 empty to avoid initializing imported objects (in particular this
17593 covers the case of zero-initialization of bit arrays).
17594 Update copyright notice.
17595
6d244bbe 175962003-10-21 Ed Schonberg <schonberg@gnat.com>
0c644933 17597
b6b3c138 17598 * sem_ch12.adb:
0c644933
AC
17599 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
17600 a subunit is missing.
17601 (Instantiate_Subprogram_Body): If body of function is missing, set type
17602 of return expression explicitly in dummy body, to prevent cascaded
17603 errors when a subunit is missing.
17604 Fixes PR 5677.
17605
b6b3c138 17606 * sem_ch3.adb:
0c644933
AC
17607 (Access_Subprogram_Declaration): Verify that return type is valid.
17608 Fixes PR 8693.
17609
b6b3c138 17610 * sem_elab.adb:
0c644933
AC
17611 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
17612 generic.
17613 Fixes PR 12318.
17614
b6b3c138 17615 * sem_util.adb:
0c644933
AC
17616 (Corresponding_Discriminant): If the scope of the discriminant is a
17617 private type without discriminant, use its full view.
17618 Fixes PR 8247.
65f1ebd1 17619
fbf5a39b
AC
176202003-10-21 Arnaud Charlet <charlet@act-europe.fr>
17621
17622 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
17623 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
17624 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
17625 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
17626 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
17627 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
17628 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
17629 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
17630 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
17631 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
17632 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
17633 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
17634 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
17635 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
17636 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
17637 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
17638 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
17639 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
17640 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
17641 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
17642 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
17643 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
17644 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
17645 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
17646 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
17647 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
17648 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
17649 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
17650 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
17651 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
17652 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
17653 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
17654 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
17655 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
17656 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
17657 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
17658 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
17659 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
17660 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
17661 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
17662 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
17663 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
17664 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
17665 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
17666 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
17667 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
17668 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
17669 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
17670 vms_conv.ads, vms_conv.adb, vms_data.ads,
17671 vxaddr2line.adb: Files added. Merge with ACT tree.
17672
17673 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
17674 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
17675 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
17676 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
17677 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
17678 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
17679 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
17680 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
17681 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
17682 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
17683
17684 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
17685 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
17686 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
17687 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
17688 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
17689 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
17690 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
17691 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
17692 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
17693 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
17694 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
17695 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
17696 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
17697 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
17698 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
17699 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
17700 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
17701 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
17702 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
17703 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
17704 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
17705 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
17706 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
17707 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
17708 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
17709 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
17710 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
17711 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
17712 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
17713 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
17714 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
17715 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
17716 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
17717 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
17718 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
17719 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
17720 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
17721 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
17722 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
17723 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
17724 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
17725 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
17726 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
17727 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
17728 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
17729 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
17730 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
17731 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
17732 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
17733 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
17734 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
17735 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
17736 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
17737 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
17738 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
17739 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
17740 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
17741 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
17742 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
17743 checks.adb, checks.ads, cio.c, comperr.adb,
17744 comperr.ads, csets.adb, cstand.adb, cstreams.c,
17745 debug_a.adb, debug_a.ads, debug.adb, decl.c,
17746 einfo.adb, einfo.ads, errout.adb, errout.ads,
17747 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
17748 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
17749 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
17750 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
17751 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
17752 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
17753 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
17754 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
17755 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
17756 fe.h, fmap.adb, fmap.ads, fname.adb,
17757 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
17758 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
17759 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
17760 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
17761 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
17762 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
17763 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
17764 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
17765 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
17766 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
17767 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
17768 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
17769 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
17770 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
17771 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
17772 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
17773 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
17774 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
17775 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
17776 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
17777 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
17778 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
17779 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
17780 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
17781 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
17782 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
17783 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
17784 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
17785 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
17786 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
17787 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
17788 layout.adb, lib.adb, lib.ads, lib-list.adb,
17789 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
17790 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
17791 link.c, live.adb, make.adb, make.ads,
17792 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
17793 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
17794 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
17795 misc.c, mkdir.c, mlib.adb, mlib.ads,
17796 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
17797 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
17798 namet.adb, namet.ads, namet.h, nlists.ads,
17799 nlists.h, nmake.adt, opt.adb, opt.ads,
17800 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
17801 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
17802 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
17803 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
17804 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
17805 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
17806 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
17807 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
17808 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
17809 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
17810 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
17811 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
17812 prj-util.adb, prj-util.ads, raise.c, raise.h,
17813 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
17814 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
17815 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
17816 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
17817 scans.ads, scn.adb, scn.ads, s-crc32.adb,
17818 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
17819 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
17820 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
17821 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
17822 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
17823 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
17824 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
17825 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
17826 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
17827 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
17828 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
17829 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
17830 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
17831 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
17832 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
17833 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
17834 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
17835 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
17836 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
17837 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
17838 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
17839 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
17840 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
17841 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
17842 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
17843 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
17844 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
17845 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
17846 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
17847 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
17848 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
17849 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
17850 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
17851 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
17852 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
17853 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
17854 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
17855 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
17856 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
17857 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
17858 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
17859 stringt.adb, stringt.ads, stringt.h, style.ads,
17860 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
17861 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
17862 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
17863 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
17864 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
17865 table.adb, table.ads, targparm.adb, targparm.ads,
17866 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
17867 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
17868 ttypes.ads, types.ads, types.h, uintp.adb,
17869 uintp.ads, uintp.h, uname.adb, urealp.adb,
17870 urealp.ads, urealp.h, usage.adb, utils2.c,
17871 utils.c, validsw.adb, validsw.ads, widechar.adb,
17872 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
17873 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
17874 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
17875 gnatvsn.ads: Merge with ACT tree.
17876
17877 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
17878
97ae108d
MM
178792003-10-20 Mark Mitchell <mark@codesourcery.com>
17880
de696511
MM
17881 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
17882 (gnat_ug_vmx.info): Likewise.
17883 (gnat_ug_vxw.info): Likewise.
17884 (gnat_ug_wnt.info): Likewise.
17885 (gnat_rm.info): Likewise.
17886 (gnat-style.info): Likewise.
17887
97ae108d
MM
17888 * Make-lang.in (ada.install-info): Remove target.
17889 (info): New target.
17890 (install-info): Likewise.
17891 (gnat_ug_unx.info): Simplify rule.
17892 (gnat_ug_vmx.info): Likewise.
17893 (gnat_ug_vxw.info): Likewise.
17894 (gnat_ug_wnt.info): Likewise.
17895 (gnat_rm.info): Likewise.
17896 (gnat-style.info): Likewise.
17897
43aba518
NN
178982003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
17899
17900 * Make-lang.in: Replace uses of $(target_alias) with
17901 $(target_noncanonical).
17902 * ada/Makefile.in: Remove unused mention of $(target_alias).
17903
62b81e45
MM
179042003-10-06 Mark Mitchell <mark@codesourcery.com>
17905
17906 * Make-lang.in (ada.info): Replace with ...
17907 (info): ... this.
17908 (ada.dvi): Replace with ...
17909 (dvi): ... this.
17910
783be936
ZW
179112003-09-29 Zack Weinberg <zack@codesourcery.com>
17912
17913 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
17914 initialize dconstp5 and dconstmp5.
17915
177560b2
RH
179162003-09-28 Richard Henderson <rth@redhat.com>
17917
17918 * trans.c (tree_transform): Update call to expand_asm_operands.
17919
f31686a3
RH
179202003-09-21 Richard Henderson <rth@redhat.com>
17921
17922 * trans.c, utils.c: Revert.
17923
7e2af53a
RH
179242003-09-21 Richard Henderson <rth@redhat.com>
17925
17926 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
17927 change to const.
17928
5f1e32fa
MM
179292003-09-04 Michael Matz <matz@suse.de>
17930
17931 * misc.c: Include "target.h".
17932 * Make-lang.in (misc.o): Add dependency on target.h.
17933
61f71b34
DD
179342003-09-03 DJ Delorie <dj@redhat.com>
17935
17936 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
17937 hook.
17938
2ed26f6b
ZW
179392003-08-30 Zack Weinberg <zack@codesourcery.com>
17940
17941 * Makefile.in: Update substitutions to match changes to
17942 configure. Use include directives instead of @-insertions
17943 to read in host and target fragments. Add a rule to
17944 regenerate ada/Makefile.
17945
b2e608ca
NB
179462003-07-18 Neil Booth <neil@daikokuya.co.uk>
17947
17948 * lang-options.h: Remove.
17949 * lang.opt: Add help text.
17950
0cea056b
NS
179512003-07-07 Nathan Sidwell <nathan@codesourcery.com>
17952
17953 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
17954 calls.
17955
cb66e385
NB
179562003-07-06 Neil Booth <neil@daikokuya.co.uk>
17957
17958 * misc.c (gnat_handle_option): Don't handle filenames.
17959
8c90b13a
L
179602003-07-04 H.J. Lu <hongjiu.lu@intel.com>
17961
17962 * Make-lang.in: Replace PWD with PWD_COMMAND.
17963 * Makefile.adalib: Likewise.
17964 * Makefile.in: Likewise.
17965
9c286213
MK
179662003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
17967
17968 * misc.c (gnat_argv): Revert last change.
17969 (gnat_handle_option, gnat_init_options): Copy arguments.
17970
b9add449
NB
179712003-07-03 Neil Booth <neil@daikokuya.co.uk>
17972
9c286213 17973 * misc.c (gnat_argv): Make const.
b9add449 17974
836d77a9
NB
179752003-07-02 Neil Booth <neil@daikokuya.co.uk>
17976
17977 * misc.c (save_argc, save_argv): Keep non-static!
17978
b86f6cd9
NB
179792003-07-02 Neil Booth <neil@daikokuya.co.uk>
17980
17981 * misc.c (save_argc, save_argv): Make static.
17982 (gnat_init_options): New prototype.
17983 (gnat_init_options): Update.
17984
6344b1f1
MK
179852003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
17986
17987 * gnat_ug.texi: Remove unlikely characters from @vars.
17988 * gnat_ug_vms.texi: Regenerate.
17989
2e040219
NS
179902003-06-27 Nathan Sidwell <nathan@codesourcery.com>
17991
17992 * misc.c (record_code_position): Adjust emit_note call.
17993
9eee5e72
NB
179942003-06-26 Neil Booth <neil@daikokuya.co.uk>
17995
17996 * misc.c (gnat_handle_option): Don't check for missing arguments.
17997
1f9cc6db
NS
179982003-06-20 Nathan Sidwell <nathan@codesourcery.com>
17999
18000 * utils.c (end_subprog_body): Adjust expand_function_end call.
18001
23d6baa3
MK
180022003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
18003
18004 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
18005 Bind_Main_Program.
18006
be43ab4e
NB
180072003-06-15 Neil Booth <neil@daikokuya.co.uk>
18008
18009 * lang.opt: Declare Ada.
18010 * misc.c (gnat_init_options): Update.
18011
ee6b0296
NS
180122003-06-14 Nathan Sidwell <nathan@codesourcery.com>
18013
18014 * utils.c (begin_subprog_body): Adjust init_function_start call.
18015
d7b42618
NB
180162003-06-14 Neil Booth <neil@daikokuya.co.uk>
18017
18018 * Make-lang.in: Update to use options.c and options.h.
18019 * misc.c: Include options.h not aoptions.h.
18020 (gnat_handle_option): Abort on unrecognized switch.
18021 (gnat_init_options): Request Ada switches.
18022
57eb6503
NB
180232003-06-14 Neil Booth <neil@daikokuya.co.uk>
18024
18025 * lang.opt: Add -Wall.
18026 * misc.c (gnat_handle_option): Handle it.
18027
70fd6569
NB
180282003-06-12 Neil Booth <neil@daikokuya.co.uk>
18029
18030 * misc.c (gnat_handle_option): Fix warnings.
18031
8cdea5a1
MK
180322003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
18033
18034 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
18035
3c900cb5
NB
180362003-06-11 Neil Booth <neil@daikokuya.co.uk>
18037
18038 * Make-lang.in: Update to handle command-line options.
18039 * lang.opt: New file.
18040 * misc.c: Include aoptions.h.
18041 (cl_options_count, cl_options): Remove.
18042 (gnat_handle_option): New.
18043 (gnat_decode_option): Remove.
18044 (LANG_HOOKS_DECODE_OPTION): Remove.
18045 (LANG_HOOKS_HANDLE_OPTION): Override.
18046
e8face4c
NN
180472003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
18048
18049 * init.c, misc.c, trans.c, utils.c: Remove dead code.
18050
4665e56c
NN
180512003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
18052
18053 * Makefile.in: Replace "host_canonical" with "host" for autoconf
18054 substitution.
18055
a165c302
NB
180562003-06-08 Neil Booth <neil@daikokuya.co.uk>
18057
18058 * Make-lang.in: Update.
18059 * misc.c: Include opts.h. Define cl_options_count and cl_options.
18060
2772ef3e
NB
180612003-06-07 Neil Booth <neil@daikokuya.co.uk>
18062
18063 * misc.c (gnat_init_options): Update.
18064
d8277a55
MK
180652003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18066
18067 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
18068 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
18069 __attribute__ ((__unused__)).
18070
602a82f3 180712003-06-05 Jan Hubicka <jh@suse.cz>
8f231b5d
JH
18072
18073 * Make-lang.in: Add support for stageprofile and stagefeedback
18074
3aa07c6d
MK
180752003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18076
18077 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
18078 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
18079
f1093866
MK
180802003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
18081
18082 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
18083 Remove non-VMS directive.
18084 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
18085 alternatives.
18086 (Examples of gnatls Usage): Remove VMS alternative.
dee2df72
OH
18087
180882003-06-04 Olivier Hainque <hainque@act-europe.fr>
18089
2ed26f6b
ZW
18090 PR ada/9953:
18091 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
18092 and turn ZCX_By_Default back to False since the underlying support
18093 is not quite there yet.
dee2df72 18094
80eaf415
AJ
180952003-06-01 Andreas Jaeger <aj@suse.de>
18096
18097 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
18098 and ROUND_TYPE_SIZE_UNIT.
18099
36f9020c
GB
181002003-05-22 Geert Bosch <bosch@gnat.com>
18101
18102 * gnat_rm.texi : Remove reference to Ada Core Technologies.
18103
e7b5f0c9
NS
181042003-05-03 Nathan Sidwell <nathan@codesourcery.com>
18105
18106 * trans.c (tree_transform): Use location_t and input_location
18107 directly.
18108 (build_unit_elab): Likewise.
18109 * utils.c (create_label_decl): Likewise.
18110
d479d37f
NS
181112003-05-01 Nathan Sidwell <nathan@codesourcery.com>
18112
561712fe
NS
18113 * trans.c (tree_transform, build_unit_elab,
18114 set_lineno): Rename lineno to input_line.
d479d37f
NS
18115 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
18116 end_subprog_body): Likewise.
18117 * utils2.c (build_call_raise): Likewise.
18118
4f9335cd
LG
181192003-05-01 Laurent Guerby <guerby@acm.org>
18120
2ed26f6b
ZW
18121 PR ada/10546
18122 * 5iosinte.ads: Increase pthread_cond_t size to match recent
18123 LinuxThread and NPTL version, merge from ACT.
80eaf415 18124
0864034e
ZW
181252003-04-28 Zack Weinberg <zack@codesourcery.com>
18126
18127 * utils.c (convert): No need to clear TREE_CST_RTL.
18128
bcea76b6
GB
181292003-04-23 Geert Bosch <bosch@gnat.com>
18130
18131 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
18132 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18133 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18134 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18135 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18136 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
18137 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
18138 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
18139 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18140 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
18141 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
18142 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
18143 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
18144 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
18145 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
18146 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
18147 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
18148 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
18149 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
18150 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
18151 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
18152 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
18153 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18154 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
18155 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
18156 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
18157 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
18158 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
18159 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
18160 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
18161 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
18162 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
18163 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
18164 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
18165 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
18166 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
18167 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
18168 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
18169 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
18170 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
18171 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
18172 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
18173 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
18174 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
18175 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
18176 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
18177 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
18178 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
18179 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
18180 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
18181 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
18182 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
18183 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
18184 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
18185 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
18186 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
18187 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
18188 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
18189 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
18190 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
18191 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
18192 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
18193 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
18194 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
18195 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
18196 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
18197 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
18198 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
18199 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
18200 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
18201 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
18202 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
18203 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
18204 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
18205 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
18206 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
18207 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
18208 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
18209 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
18210 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
18211 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
18212 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
18213 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
18214 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
18215 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
18216 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
18217 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
18218 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
18219 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
18220 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
18221 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
18222 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
18223 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
18224 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
18225 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
18226 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
18227 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
18228 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
18229 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
18230 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
18231 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
18232 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
18233 ali.adb, ali.ads, alloc.ads, argv.c,
18234 atree.adb, atree.ads, atree.h, aux-io.c,
18235 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
18236 binde.adb, binde.ads, binderr.adb, binderr.ads,
18237 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
18238 butil.adb, butil.ads, cal.c, calendar.ads,
18239 casing.adb, casing.ads, ceinfo.adb, checks.adb,
18240 checks.ads, cio.c, comperr.adb, comperr.ads,
18241 config-lang.in, csets.adb, csets.ads, csinfo.adb,
18242 cstand.adb, cstand.ads, cuintp.c, debug.adb,
18243 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
18244 dec-io.ads, dec.ads, deftarg.c, directio.ads,
18245 einfo.adb, einfo.ads, elists.adb, elists.ads,
18246 elists.h, errno.c, errout.adb, errout.ads,
18247 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
18248 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
18249 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
18250 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
18251 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
18252 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
18253 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
18254 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
18255 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
18256 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
18257 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
18258 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
18259 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
18260 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
18261 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
18262 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
18263 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
18264 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
18265 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
18266 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
18267 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
18268 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
18269 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
18270 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
18271 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
18272 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
18273 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
18274 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
18275 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
18276 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
18277 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
18278 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
18279 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
18280 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
18281 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
18282 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
18283 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
18284 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
18285 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
18286 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
18287 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
18288 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
18289 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
18290 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
18291 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
18292 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
18293 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
18294 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
18295 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
18296 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
18297 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
18298 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
18299 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
18300 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
18301 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
18302 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
18303 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
18304 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
18305 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
18306 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
18307 lib.adb, lib.ads, live.adb, live.ads,
18308 machcode.ads, make.adb, make.ads, makeusg.adb,
18309 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
18310 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
18311 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
18312 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
18313 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
18314 mlib.ads, namet.adb, namet.ads, nlists.adb,
18315 nlists.ads, opt.adb, opt.ads, osint-b.adb,
18316 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
18317 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
18318 osint.ads, output.adb, output.ads, par-ch10.adb,
18319 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
18320 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
18321 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
18322 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
18323 par-tchk.adb, par-util.adb, par.adb, par.ads,
18324 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
18325 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
18326 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
18327 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
18328 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
18329 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
18330 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
18331 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
18332 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
18333 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
18334 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
18335 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
18336 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
18337 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
18338 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
18339 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
18340 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
18341 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
18342 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
18343 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
18344 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
18345 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
18346 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
18347 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
18348 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
18349 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
18350 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
18351 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
18352 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
18353 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
18354 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
18355 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
18356 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
18357 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
18358 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
18359 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
18360 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
18361 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
18362 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
18363 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
18364 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
18365 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
18366 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
18367 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
18368 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
18369 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
18370 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
18371 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
18372 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
18373 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
18374 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
18375 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
18376 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
18377 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
18378 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
18379 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
18380 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
18381 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
18382 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
18383 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
18384 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
18385 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
18386 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
18387 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
18388 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
18389 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
18390 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
18391 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
18392 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
18393 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
18394 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
18395 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
18396 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
18397 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
18398 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
18399 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
18400 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
18401 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
18402 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
18403 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
18404 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
18405 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
18406 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
18407 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
18408 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
18409 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
18410 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
18411 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
18412 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
18413 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
18414 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
18415 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
18416 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
18417 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
18418 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
18419 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
18420 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
18421 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
18422 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
18423 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
18424 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
18425 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
18426 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
18427 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
18428 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
18429 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
18430 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
18431 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
18432 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
18433 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
18434 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
18435 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
18436 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
18437 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
18438 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
18439 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
18440 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
18441 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
18442 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
18443 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
18444 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
18445 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
18446 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
18447 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
18448 snames.ads, sprint.adb, sprint.ads, stand.adb,
18449 stand.ads, stringt.adb, stringt.ads, style.adb,
18450 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
18451 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
18452 switch-m.ads, switch.adb, switch.ads, system.ads,
18453 table.adb, table.ads, targparm.adb, targparm.ads,
18454 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
18455 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
18456 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
18457 ttypef.ads, ttypes.ads, types.adb, types.ads,
18458 uintp.adb, uintp.ads, uname.adb, uname.ads,
18459 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
18460 usage.adb, usage.ads, validsw.adb, validsw.ads,
18461 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
18462 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
18463 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
18464 formatting and other trivial changes from ACT.
18465
dcf92453
ZW
184662003-04-12 Zack Weinberg <zack@codesourcery.com>
18467
18468 * gigi.h, utils2.c (build_constructor):
18469 Rename gnat_build_constructor. Use build_constructor.
18470 * decl.c (gnat_to_gnu_entity)
18471 * trans.c (tree_transform, pos_to_constructor, extract_values)
18472 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
18473 (unchecked_convert)
18474 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
18475 (fill_vms_descriptor):
18476 Update to match.
18477
d78e771d
ZW
184782003-04-06 Zack Weinberg <zack@codesourcery.com>
18479
18480 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
18481 * misc.c (gnat_tree_size): New function.
18482 (LANG_HOOKS_TREE_SIZE): Override.
18483
78d55cc8
JM
184842003-04-03 Jason Merrill <jason@redhat.com>
18485
18486 * misc.c (gnat_adjust_rli): #if 0.
18487
b174e2d4
GB
184882003-03-31 Geert Bosch <bosch@gnat.com>
18489
18490 PR ada/10020
18491 * link.c : Fix misspelled "const" keyword
18492
f29a2bd1
MM
184932003-03-23 Mark Mitchell <mark@codesourcery.com>
18494
18495 PR c++/7086
18496 * utils2.c: Adjust calls to put_var_into_stack.
18497
08e247b1
NN
184982003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
18499
18500 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
18501
4bfec483
NB
185022003-03-08 Neil Booth <neil@daikokuya.co.uk>
18503
18504 * misc.c (gnat_init): Update for new prototype.
18505
3d713bb8
GB
185062003-03-05 Olivier Hainque <hainque@gnat.com>
18507
18508 ada/9961
78d55cc8
JM
18509 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
18510 warning, and fix return type for the IN_RTS && !SJLJ case.
3d713bb8 18511
8b89fcdf
TT
185122003-03-04 Tom Tromey <tromey@redhat.com>
18513
18514 * Make-lang.in (ada.tags): New target.
18515
3d713bb8 185162003-03-04 Olivier Hainque <hainque@act-europe.fr>
23cae84f
OH
18517
18518 ada/9911
18519 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
18520 wrapper, which name remains constant whatever underlying GCC
18521 scheme.
18522
18523 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
18524 the stable interface needed for a-except.
18525
f4ae98be
AJ
185262003-03-02 Andreas Jaeger <aj@suse.de>
18527
18528 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18529 gnat_ug_wnt.texi: Regenerate.
18530
5348742b
LG
185312003-03-02 Laurent Guerby <guerby@acm.org>
18532
f4ae98be 18533 * Makefile.in (install-gnatlib): Match previous change there
5348742b 18534 so it works.
f4ae98be 18535
8c108db2
AS
185362003-02-28 Andreas Schwab <schwab@suse.de>
18537
18538 * Make-lang.in (install-gnatlib): Change to ada directory before
18539 running make instead of using ada/Makefile directly.
18540
601d71bc
BE
185412003-02-18 Ben Elliston <bje@redhat.com>
18542
18543 Part of fix for PR ada/9406
18544 * gnat_ug.texi (Binder output file): Grammar fix.
18545
bf7c02dd
BE
185462003-02-18 Ben Elliston <bje@redhat.com>
18547
18548 PR other/7350
18549 * 5qtaprop.adb (Sleep): Fix typo in comment.
18550
b3a8389d
JM
185512003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
18552
18553 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
18554 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18555 gnat_ug_wnt.texi: Regenerate.
18556
5da14cb5
CC
185572003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
18558
18559 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
18560 be created if necessary.
18561 (ada.install-common): Let $(DESTDIR)$(bindir) be created
18562 if necessary. Remove erroneous and redundant gnatchop
18563 installation commands. Test for gnatdll before attempting
18564 to install it.
18565 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
18566 and gnatdll from all plausible locations.
18567
271bd540
RS
185682003-02-01 Richard Sandiford <rsandifo@redhat.com>
18569
18570 * utils2.c (build_unary_op): Don't check flag_volatile.
18571 * gnat_ug.texi: Remove -fvolatile from example.
18572 * gnat_ug_vxw.texi: Likewise.
18573
c1cc6a51
LG
185742003-01-29 Laurent Guerby <guerby@acm.org>
18575
d78e771d
ZW
18576 PR ada/8344
18577 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
18578 * Makefile.in: match previous change.
18579 * Make-lang.in: match previous change.
c1cc6a51 18580
c4039eb0
JS
185812003-01-29 Joel Sherrill <joel@OARcorp.com>
18582
18583 * 5rosinte.ads: Add SIGXCPU.
18584 * 5rtpopsp.adb: New file.
18585 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
18586 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
18587 specific file 5rtpopsp.adb.
18588 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
18589 is likely needed for all newlib targets.
18590 * init.c: Add RTEMS specific version of __gnat_initialize().
18591
00d29f7d
RO
185922003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18593
18594 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
18595
437026ef
RO
185962003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18597
18598 * init.c (__gnat_error_handler): Make msg const.
18599
18600 * gmem.c (convert_addresses): Move declaration ...
18601 * adaint.h: ... here.
18602 * adaint.c (convert_addresses): Adapt addrs type to match
18603 prototype.
18604
18605 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
18606
e12825cd
AS
186072003-01-24 Andreas Schwab <schwab@suse.de>
18608
18609 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
18610 size_t to avoid warning.
18611
a8729406
ZW
186122003-01-21 Zack Weinberg <zack@codesourcery.com>
18613
b09b91b9 18614 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
a8729406 18615
17211ab5
GK
186162003-01-09 Geoffrey Keating <geoffk@apple.com>
18617
18618 * gnat_rm.texi: Remove RCS version number.
18619
18620 * ada-tree.h (union lang_tree_node): Add chain_next option.
18621
1d27195c
CC
186222003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
18623
18624 * Make-lang.in (ada.install-info, ada.install-common,
18625 ada.uninstall): Prepend $(DESTDIR) to the destination
18626 directory in all (un)installation commands.
18627 * Makefile.in (install-gnatlib, install-rts): Ditto.
18628
bdefb2ab
JM
186292002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
18630
18631 * gnat_rm.texi, gnat_ug.texi: Use @copying.
18632 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18633 gnat_ug_wnt.texi: Regenerate.
18634
46d40353
JM
186352002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
18636
18637 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
18638 only.
18639 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
18640 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
18641 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
18642 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
18643 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
18644 $(srcdir)/doc/include/gcc-common.texi.
18645
d2f97d3e
GB
186462002-12-15 Geert Bosch <bosch@gnat.com>
18647
18648 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
18649
93a81b02
GB
186502002-12-14 Geert Bosch <bosch@gnat.com>
18651
4977bab6
ZW
18652 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
18653 case of a body created for a Renaming_As_Body, on which
18654 conformance checks are not performed. Fixes PR ada/5690.
18655
186562002-11-30 Zack Weinberg <zack@codesourcery.com>
18657
18658 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
18659 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
18660 not already included.
18661 * Make-lang.in: Update dependencies.
93a81b02 18662
dfc15546
NN
186632002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
18664 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
4977bab6 18665 solution to buffer overflow bug on GNU/Linux.
dfc15546 18666
8b54424d
NN
186672002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
18668 Closes PR ada/5856 and PR ada/6919 !
18669 * bindgen.adb: Remove all references to Public_Version.
18670 * comperr.adb: Remove all references to Public_Version and
18671 GNATPRO_Version; correct bug reporting instructions.
18672 * comperr.ads: Change to match bug box.
18673 * gnatvsn.ads: Remove all references to Public version and
18674 GNATPRO version.
18675
cc41268d 186762002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
1a083c0e
NN
18677 PR ada/6919
18678 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
18679 GNU/Linux.
18680
cc41268d
NN
18681 PR ada/6558
18682 * config-lang.in: Remove diff_excludes.
18683
1c7b0712
GS
186842002-11-05 Graham Stott <graham.stott@btinternet.com>
18685 PR ada/8358
18686 * trans.c (gnu_pending_elaboration_lists): New GC root.
4977bab6 18687 (build_unit_elab): Use..
1c7b0712 18688
1c4048ca
GB
186892002-10-30 Geert Bosch <bosch@gnat.com>
18690 PR ada/6558
18691 * misc.c : Include optabs.h
18692
18693 * Make-lang.in (misc.o): Add dependency on optabs.h
18694
f0d96f9c 186952002-10-29 Geert Bosch <bosch@gnat.com>
4977bab6 18696 PR ada/6558
f0d96f9c
GB
18697 * Make-lang.in (gnatbind): Depend on CONFIG_H
18698
a7512dec 186992002-10-29 Geert bosch <bosch@gnat.com>
4977bab6
ZW
18700 PR ada/6558
18701 * misc.c: Unrevert misc.c (1.13)
a7512dec 18702
c6362f4f
NN
187032002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
18704
18705 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
18706 maintainership comments.
18707
187082002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
91ed4b19 18709 PR ada/5904
4977bab6
ZW
18710 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
18711 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
18712 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
18713 7staprop.adb: Correct statements in comments about
91ed4b19
NN
18714 maintainership of GNAT.
18715
1f02b6af 18716 PR ada/5904
4977bab6
ZW
18717 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
18718 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
18719 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
18720 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
18721 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
18722 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
18723 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
1f02b6af
NN
18724 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
18725 comments about maintainership of GNAT.
18726
71ff80dc 18727 PR ada/6919 (forward port of patch for PR ada/5904)
4977bab6
ZW
18728 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
18729 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
18730 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
18731 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
18732 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
18733 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
18734 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
18735 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
18736 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
18737 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
18738 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
18739 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
18740 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
18741 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
18742 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
18743 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
18744 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
18745 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
18746 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
18747 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
18748 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
18749 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
18750 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
18751 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
18752 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
18753 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
18754 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
18755 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
18756 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
18757 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
18758 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
18759 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
18760 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
18761 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
18762 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
18763 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
18764 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
18765 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
18766 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
18767 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
18768 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
18769 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
18770 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
18771 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
18772 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
18773 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
18774 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
18775 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
18776 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
18777 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
18778 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
18779 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
18780 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
18781 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
18782 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
18783 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
18784 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
18785 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
18786 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
18787 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
18788 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
18789 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
18790 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
18791 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
18792 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
18793 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
18794 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
18795 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
18796 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
18797 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
18798 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
18799 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
18800 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
18801 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
18802 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
18803 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
18804 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
18805 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
18806 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
18807 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
18808 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
18809 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
18810 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
18811 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
18812 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
18813 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
18814 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
18815 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
18816 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
18817 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
18818 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
18819 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
18820 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
18821 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
18822 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
18823 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
18824 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
18825 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
18826 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
18827 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
18828 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
18829 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
18830 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
18831 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
18832 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
18833 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
18834 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
18835 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
18836 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
18837 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
18838 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
18839 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
18840 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
18841 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
18842 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
18843 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
18844 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
18845 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
18846 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
18847 par-endh.adb par-labl.adb par-load.adb par-prag.adb
18848 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
18849 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
18850 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
18851 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
18852 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
18853 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
18854 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
18855 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
18856 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
18857 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
18858 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
18859 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
18860 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
18861 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
18862 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
18863 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
18864 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
18865 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
18866 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
18867 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
18868 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
18869 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
18870 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
18871 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
18872 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
18873 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
18874 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
18875 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
18876 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
18877 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
18878 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
18879 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
18880 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
18881 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
18882 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
18883 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
18884 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
18885 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
18886 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
18887 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
18888 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
18889 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
18890 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
18891 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
18892 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
18893 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
18894 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
18895 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
18896 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
18897 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
18898 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
18899 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
18900 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
18901 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
18902 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
18903 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
18904 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
18905 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
18906 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
18907 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
18908 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
18909 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
18910 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
18911 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
18912 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
18913 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
18914 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
18915 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
18916 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
18917 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
18918 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
18919 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
18920 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
18921 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
18922 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
18923 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
18924 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
18925 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
18926 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
18927 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
18928 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
18929 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
18930 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
18931 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
18932 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
18933 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
18934 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
18935 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
18936 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
18937 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
18938 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
18939 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
18940 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
18941 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
18942 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
18943 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
18944 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
18945 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
18946 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
18947 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
18948 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
18949 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
18950 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
18951 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
18952 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
18953 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
18954 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
18955 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
18956 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
18957 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
18958 stringt.ads stringt.h style.adb style.ads stylesw.adb
18959 stylesw.ads switch.adb switch.ads sysdep.c system.ads
18960 table.adb table.ads targparm.adb targparm.ads targtyps.c
18961 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
18962 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
18963 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
18964 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
18965 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
18966 usage.ads utils.c utils2.c validsw.adb validsw.ads
18967 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
18968 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
71ff80dc
NN
18969 xtreeprs.adb: Correct statements in comments about maintainership
18970 of GNAT.
18971
b4f94ac1
ZW
189722002-09-23 Zack Weinberg <zack@codesourcery.com>
18973
18974 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
18975 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
18976 * gnatvsn.ads: Gnat_Version_String is now a function.
18977 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
18978 copy the C version_string into a String and return it.
18979 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
18980 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
18981 Remove pragma Ident (Gnat_Version_String). If this was the
18982 sole use of package Gnatvsn, remove the with statement too.
18983 * gnat1drv.adb: Tweak -gnatv output.
18984
eaff3bf8
RH
189852002-09-17 Richard Henderson <rth@redhat.com>
18986
18987 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
18988 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
18989 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
18990 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
18991 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
18992 and real_2expN instead of a loop.
18993 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
18994 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
18995
d241f75b 189962002-08-25 Andre Leis <a.leis@gmx.net>
f4ae98be 18997 David Billinghurst (David.Billinghurst@riotinto.com>
d241f75b 18998
f4ae98be 18999 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
d241f75b 19000
4320085a
RO
190012002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19002
19003 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
19004 Remove $(CONFIG_H) dependency.
19005
22aa533e
NS
190062002-08-08 Nathan Sidwell <nathan@codesourcery.com>
19007
19008 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
19009
1dcd444b
KG
190102002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19011
19012 * adadecode.c (ada_demangle): Use xstrdup in lieu of
19013 xmalloc/strcpy.
19014 * misc.c (gnat_decode_option): Likewise.
19015
7bc7d27b
FW
190162002-07-15 Florian Weimer <fw@deneb.enyo.de>
19017
19018 * make.adb (Add_Switch): Make Generic_Position a procedure. The
19019 function approach did not work well because of a side effect (the
19020 function call could reallocate the table which was being indexed
19021 using its result). Fixes ada/4851. [RESURRECTED]
19022
6a2dd09a
RS
190232002-07-01 Roger Sayle <roger@eyesopen.com>
19024
19025 * ada/utils.c (builtin_function): Accept an additional parameter.
19026
c168bbd7
AJ
190272002-06-28 Andreas Jaeger <aj@suse.de>
19028
19029 PR ada/7144
19030 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
19031 <adi@thur.de>.
19032
b41e09a7
KG
190332002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19034
19035 * Makefile.in (SHELL): Set to @SHELL@.
19036
62c71f4b
KG
190372002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19038
19039 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
19040 array size calculation.
19041
94213cff
AJ
190422002-06-04 Andreas Jaeger <aj@suse.de>
19043
19044 * Make-lang.in (gnatbind): Readd rule that has been lost in last
19045 patch.
19046
e2500fed
GK
190472002-06-03 Geoffrey Keating <geoffk@redhat.com>
19048
19049 Merge from pch-branch:
19050
19051 * config-lang.in (gtfiles): Add ada-tree.h.
19052 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
19053 (SET_TYPE_MODULUS): New.
19054 (SET_TYPE_INDEX): New.
19055 (SET_TYPE_DIGITS_VALUE): New.
19056 (SET_TYPE_RM_SIZE): New.
19057 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
19058 (SET_TYPE_ADA_SIZE): New.
19059 (SET_TYPE_ACTUAL_BOUNDS): New.
19060 (SET_DECL_CONST_CORRESPONDING_VAR): New.
19061 (SET_DECL_ORIGINAL_FIELD): New.
19062 (TREE_LOOP_ID): Correct typo.
19063 * decl.c: Use new macros.
19064 * utils.c: Include debug.h, use new macros.
94213cff 19065 * utils2.c: Use new macros.
e2500fed
GK
19066
19067 * ada-tree.h: Update all macros for new tree description.
19068 (struct tree_loop_id): New.
19069 (union lang_tree_node): New.
19070 (struct lang_decl): New.
19071 (struct lang_type): New.
19072 * misc.c (gnat_mark_tree): Delete.
19073 (LANG_HOOKS_MARK_TREE): Delete.
19074 * trans.c (tree_transform): No longer any need to cast
19075 for TREE_LOOP_ID.
19076
19077 * utils.c (struct language_function): New dummy structure.
19078
19079 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
19080 (misc.o): Likewise.
19081 (utils.o): Likewise; also gtype-ada.h.
19082 * Make-lang.in (gnat1): Add dependency on s-gtype.
19083 (gnatbind): Add dependency on $(CONFIG_H).
19084 * utils.c: Correct last #include.
19085 (stuct e_stack): Remove unnecessary 'static'.
19086 (mark_e_stack): Remove unused prototype.
19087
19088 * scn-nlit.adb: Remove whitespace after version number to
19089 keep lines under 80 chars.
19090 * snames.adb: Likewise.
19091 * treepr.ads: Likewise.
94213cff 19092
e2500fed
GK
19093 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
19094 (misc.o): Likewise.
19095 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
19096 * config-lang.in (gtfiles): New.
19097 * decl.c: Use gengtype for roots.
19098 * gigi.h: Use gengtype for roots.
19099 * trans.c: Use gengtype for roots.
19100 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
19101
27e511e0
GDR
191022002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
19103
19104 * misc.c (gnat_init): Adjust setting of internal_error_function.
19105
113dc143
JM
191062002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
19107
19108 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
19109 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19110 gnat_ug_wnt.texi: Regenerate.
19111
5321fb3e
FW
191122002-05-31 Florian Weimer <fw@deneb.enyo.de>
19113
15e6136e
FW
19114 * 5ntaprop.adb (with System.OS_Primitives): Remove.
19115
019310ac
FW
19116 * cstreams.c (max_path_len): Move from here ...
19117 * adaint.c (__gnat_max_path_len): ... to here.
19118 * adaint.c (__gnat_max_path_len): Declare.
19119 * g-dirope.adb (Max_Path): Adjust.
19120 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
94213cff 19121 * i-cstrea.ads (max_path_len): Adjust.
019310ac
FW
19122 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
19123 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
19124
5321fb3e
FW
19125 * Makefile.in, Make-lang.in: Documentation is now built in
19126 Make-lang.in. Store Info and generated Texinfo files in the
19127 source directory.
19128 * gnat_ug.texi: Remove CVS keywords, correct version number.
19129 Set file name correctly.
19130
19131 * gnat_ug_*.texi: Add.
19132 * .cvsignore: Ignore generated Texinfo files.
19133
b1c12c4b
ZW
191342002-05-30 Zack Weinberg <zack@codesourcery.com>
19135
19136 * ada.h: Add MI guard macro.
19137 (SUBTYPE): Define constants with an anonymous enum, not static
19138 const variables.
19139 (IN): Cast constants to appropriate type before use.
19140
ead33da9
JM
191412002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
19142
19143 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
19144 (experimental)".
19145
7d600178
RO
191462002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19147
19148 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
19149 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
19150 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
19151 (ALL_ADA_CFLAGS): Likewise.
19152 (ADA_INCLUDES): Likewise.
19153 Adapt for new working dir.
19154 (GNATBIND): Use Makefile.in version.
19155 (.SUFFIXES): Copy from Makefile.in.
19156 (ada-warn): Define.
19157 (.adb.o, .ads.o): Copy from Makefile.in.
19158 Added $(OUTPUT_OPTION).
19159 (GNAT1_C_OBJS): Moved from Makefile.in.
19160 Prefix with ada subdir.
19161 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
19162 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
19163 Adapt for new working dir.
19164 (EXTRA_GNATBIND_OBJS): Likewise.
19165 (ADA_BACKEND): Moved from Makefile.in.
19166 Renamed to avoid conflict with global BACKEND.
19167 Use that one.
19168 (TARGET_ADA_SRCS): Moved from Makefile.in.
19169 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
19170 Use ADA_BACKEND.
19171 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
19172 (ada_extra_files): Moved from Makefile.in.
19173 Prefix with ada subdir.
19174 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
19175 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
19176 (ada/nmake.ads): Likewise.
19177 (update-sources): Moved from Makefile.in.
19178 Prefix with ada subdir.
19179 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
19180 (ADA_TREE_H): Likewise.
19181 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
19182 (ada/memtrack.o): Likewise.
19183 (ada/adadecode.o): Likewise.
19184 Update dependencies.
19185 (ada/adaint.o): New.
19186 (ada/argv.o): Moved from Makefile.in.
19187 Prefix with ada subdir.
94213cff 19188 Update dependencies.
7d600178
RO
19189 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
19190 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
19191 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
19192 Prefix with ada subdir.
19193 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
19194 (GNAT DEPENDENCIES): Regenerate.
19195 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
19196 toplevel Makefile.in.
19197 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
19198 (TARGET_ADA_SRCS): Removed.
19199 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
19200 (GNATBIND_OBJS): Likewise.
19201 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
19202 (BACKEND): Removed.
19203 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
19204 (TREE_H): Likewise.
19205 (ada_extra_files): Likewise.
19206 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
19207 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
19208 (update-sources): Likewise.
19209 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
19210 (ADA_TREE_H): Likewise.
19211 (adadecoce.o): Likewise.
19212 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
19213 (GNAT DEPENDENCIES): Likewise.
19214
1e6347d8
RO
192152002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19216
19217 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
19218 * Makefile.in: Likewise.
19219
db80834f
RO
192202002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19221
19222 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
19223 Restore $(CONFIG_H) and prefix.o dependencies.
19224 (ada.stage[1-4]): Depend on stage?-start.
19225
19226 * Makefile.in (b_gnatb.c): Depend on interfac.o.
19227
ac293f98
JW
192282002-05-02 Jim Wilson <wilson@redhat.com>
19229
19230 * utils.c (finish_record_type): Change record_size to record_type.
19231
b303008e
JDA
192322001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
19233
19234 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
19235 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
19236 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
94213cff 19237
ff45c01e
NB
192382002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
19239
19240 * misc.c (gnat_parse_file): Update.
19241
349ae713
NB
192422002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
19243
19244 * misc.c (gnat_init): Don't set lang_attribute_common.
19245
ace133aa
JM
192462002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
19247
19248 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
19249
5c558dd9
FW
192502002-04-21 Florian Weimer <fw@deneb.enyo.de>
19251
b4f94ac1 19252 * gnat_ug.texi: New file.
88e1739c 19253
5c558dd9
FW
19254 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
19255 instead of gfdl.texi
19256
19257 * xgnatug.adb, ug_words: New files.
19258
19259 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
b4f94ac1 19260 gnat_rm and gnat-style manuals.
5c558dd9 19261
7a228918
NB
192622002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
19263
19264 * gigi.h (incomplete_type_error): Remove.
19265 * utils.c (incomplete_type_error): Remove.
19266
b2123dc0
MM
192672002-04-16 Mark Mitchell <mark@codesourcery.com>
19268
19269 * trans.c (tree_transform): Add has_scope argument to
19270 expand_start_stmt_expr.
19271
78ef5b89
NB
192722002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
19273
19274 * gigi.h (truthvalue_conversion): Rename.
19275 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
19276 * trans.c (tree_transform): Update.
19277 * utils2.c (truthvalue_conversion): Rename, update.
19278 (build_binary_op, build_unary_op): Update.
19279
a71742a8
LG
192802002-04-04 Laurent Guerby <guerby@acm.org>
19281
19282 * make.adb: Implement -margs, remove restriction about file name placement.
19283 * makeusg.adb: Documentation update.
19284 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
19285 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
19286
82a4b025
NB
192872002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
19288
19289 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
19290 (builtin_function): Similarly.
19291
dffd7eb6
NB
192922002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
19293
19294 * decl.c (gnat_to_gnu_entity): Update.
19295 * gigi.h (mark_addressable): Rename.
19296 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
19297 * trans.c (tree_transform): Update.
19298 * utils.c (create_var_decl): Update.
19299 * util2.c (build_binary_op, build_unary_op,
19300 fill_vms_descriptor): Update.
19301 (mark_addressable): Rename, update.
19302
ceef8ce4
NB
193032002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
19304
19305 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
19306 Rename.
19307 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
19308 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
19309 * trans.c (tree_transform, convert_with_check): Update.
19310 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
19311 Rename.
19312
48a7a235
NB
193132002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
19314
19315 * gigi.h (finish_incomplete_decl): Rename.
19316 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
19317 * utils.c (gnat_init_decl_processing): Don't set hook.
19318 (finish_incomplete_decl): Rename.
19319
1d5af871
AS
193202002-03-29 Andreas Schwab <schwab@suse.de>
19321
19322 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
19323 directory.
19324
8cbb664e
MG
193252001-03-28 Robert Dewar <dewar@gnat.com>
19326
19327 * checks.ads:
19328 (Remove_Checks): New procedure
19329
19330 * checks.adb:
19331 (Remove_Checks): New procedure
19332
19333 * exp_util.adb:
19334 Use new Duplicate_Subexpr functions
19335 (Duplicate_Subexpr_No_Checks): New procedure
19336 (Duplicate_Subexpr_No_Checks_Orig): New procedure
19337 (Duplicate_Subexpr): Restore original form (checks duplicated)
19338 (Duplicate_Subexpr): Call Remove_Checks
19339
82a4b025 19340 * exp_util.ads:
8cbb664e
MG
19341 (Duplicate_Subexpr_No_Checks): New procedure
19342 (Duplicate_Subexpr_No_Checks_Orig): New procedure
19343 Add 2002 to copyright notice
19344
19345 * sem_util.adb: Use new Duplicate_Subexpr functions
19346
82a4b025 19347 * sem_eval.adb:
8cbb664e
MG
19348 (Eval_Indexed_Component): This is the place to call
19349 Constant_Array_Ref and to replace the value. We simply merge
19350 the code of this function in here, since it is now no longer
19351 used elsewhere. This fixes the problem of the back end not
19352 realizing we were clever enough to see that this was
19353 constant.
19354 (Expr_Val): Remove call to Constant_Array_Ref
19355 (Expr_Rep_Val): Remove call to Constant_Array_Ref
19356 Minor reformatting
19357 (Constant_Array_Ref): Deal with string literals (patch
19358 suggested by Zack Weinberg on the gcc list)
19359
193602001-03-28 Ed Schonberg <schonber@gnat.com>
19361
82a4b025 19362 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
19363 Duplicate_Subexpr_Move_Checks.
19364
82a4b025 19365 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
19366 Duplicate_Subexpr_Move_Checks.
19367
82a4b025
NB
19368 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
19369 value of array exists before retrieving it (it may a private
8cbb664e
MG
19370 protected component in a function).
19371
792c4e74
GB
193722002-03-28 Geert Bosch <bosch@gnat.com>
19373
19374 * prj-pp.adb : New file.
19375
19376 * prj-pp.ads : New file.
19377
915e8bad
AJ
193782002-03-28 Andreas Jaeger <aj@suse.de>
19379
19380 * Makefile.in (stamp-sdefault): Fix path for Makefile.
19381
0840811c
NB
193822002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
19383
19384 * misc.c (gnat_expand_expr): Move prototype.
19385
7ffb4fd2
NB
193862002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19387
19388 * misc.c (insert_default_attributes): Remove.
19389
c9d892a8
NB
193902002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19391
19392 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
19393 (gnat_init): Don't set hook.
19394 (gnat_expand_expr): Fix prototype.
19395
31c816cf
NB
193962002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19397
19398 * misc.c (ggc_p): Remove.
19399
ef83161c
GB
194002002-03-27 Geert Bosch <bosch@gnat.com>
19401
19402 * prj-makr.ads, prj-makr.adb : New files.
19403
4f0ade92
NB
194042002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
19405
19406 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
19407 (lang_mark_tree): Make static, rename.
19408
c88770e9
NB
194092002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
19410
19411 * misc.c (maybe_build_cleanup): Remove.
19412
05671968
NB
194132002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
19414
19415 * gigi.h (yyparse): Remove.
19416
ad42149c
FW
194172002-03-23 Florian Weimer <fw@deneb.enyo.de>
19418
82a4b025 19419 * gnat_rm.texi: Sync with ACT version.
b4f94ac1 19420 (From Ben Brosgol <brosgol@gnat.com>)
ad42149c 19421
7afff7cf
NB
194222002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19423
19424 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19425 (gnat_init): Remove old hook.
19426
52dabb6c
NB
194272002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
19428
19429 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
19430 (yyparse): Rename gnat_parse_file.
19431
6cbcc541
GK
194322002-03-14 Geoffrey Keating <geoffk@redhat.com>
19433
19434 Delete all lines containing "$Revision:".
19435 * xeinfo.adb: Don't look for revision numbers.
19436 * xnmake.adb: Likewise.
19437 * xsinfo.adb: Likewise.
19438 * xsnames.adb: Likewise.
19439 * xtreeprs.adb: Likewise.
19440
2f9834e8
KG
194412002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19442
19443 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
19444 gnat_tree_code_name): Delete.
19445 (tree_code_type, tree_code_length, tree_code_name): Define.
19446 (gnat_init): Don't try to copy into the various tree_code
19447 arrays.
19448
63adb4ff
RH
194492002-03-11 Richard Henderson <rth@redhat.com>
19450
19451 * Makefile.in (.NOTPARALLEL): Add fake tag.
19452
43ff4547
GB
194532002-03-07 Geert Bosch <bosch@gnat.com>
19454
82a4b025
NB
19455 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
19456 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
19457 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
43ff4547
GB
19458 switch-m.adb, switch-m.ads : New files.
19459
07fc65c4
GB
194602002-03-07 Geert Bosch <bosch@gnat.com>
19461
19462 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
19463 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
19464 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
19465 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
19466 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
19467 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
19468 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
19469 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
19470 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
19471 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
19472 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
19473 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
19474 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
19475 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
19476 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
19477 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
19478 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
19479 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
19480 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
19481 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
19482 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
19483 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
19484 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
19485 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
19486 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
19487 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
19488 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
19489 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
19490 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
19491 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
19492 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
19493 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
19494 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
19495 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
19496 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
19497 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
19498 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
19499 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
19500 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
19501 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
19502 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
19503 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
19504 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
19505 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
19506 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
19507 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
19508 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
19509 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
19510 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
19511 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
19512 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
19513 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
19514 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
19515 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
19516 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
19517 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
19518 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
19519 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
19520 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
19521 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
19522 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
19523 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
19524 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
19525 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
19526 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
19527 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
19528 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
19529 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
19530 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
19531 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
19532 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
19533 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
19534 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
19535 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
19536 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
19537 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
19538 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
19539 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
19540 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
19541 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
19542 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
19543 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
19544 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
19545 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
19546 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
19547 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
19548 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
19549 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
19550 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
19551 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
19552 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
19553 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
19554 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
19555 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
19556 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
19557 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
19558 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
19559
19560 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
19561 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
19562 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
19563 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
19564
19565 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
19566 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
19567
19568 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
19569 to mdll-fil.ad[bs] and mdll-util.ad[bs]
19570
19571 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
19572 from mdllfile.ad[bs] and mdlltool.ad[bs]
19573
ca7558fc
KG
195742002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19575
19576 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
19577 lieu of explicit sizeof/sizeof.
19578
63e1b1c4
NB
195792002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
19580
19581 * misc.c (copy_lang_decl): Remove.
19582
f458d1d5
ZW
195832002-02-27 Zack Weinberg <zack@codesourcery.com>
19584
19585 * misc.c: Delete traditional-mode-related code copied from the
19586 C front end but not used, or used only to permit the compiler
19587 to link.
19588
21e09952
RH
195892002-02-07 Richard Henderson <rth@redhat.com>
19590
19591 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
19592 * adaint.h (__gnat_to_gm_time): Update prototype.
19593
ead39bdf 195942002-01-30 Richard Henderson <rth@redhat.com>
e803a64b
RH
19595
19596 * trans.c (tree_transform) [N_Loop_Statement]: Use
19597 expand_exit_loop_top_cond.
19598
72ac12bf
RH
195992001-12-23 Richard Henderson <rth@redhat.com>
19600
19601 * utils.c (end_subprog_body): Push GC context around
19602 rest_of_compilation for nested functions.
19603
14aacce7
RH
196042001-12-23 Richard Henderson <rth@redhat.com>
19605
19606 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
19607
b3d45d87
FW
196082001-12-23 Florian Weimer <fw@deneb.enyo.de>
19609
ece2d1b8
FW
19610 * gnat-style.texi (Declarations and Types): Remove ancient style
19611 rule which was mandated by code generation issues.
82a4b025 19612
b3d45d87
FW
19613 * gnat-style.texi (header): Add @dircategory, @direntry.
19614 (title page): Remove date.
19615 (general) Add @./@: where approriate, and two spaces after the
19616 full stop at the end of a sentence. Use @samp markup when
19617 referring concrete lexical entities (keywords, attribute names
19618 etc.), and @syntax for ARM grammar elements. Use @r for English
19619 text in comments. Use @emph for emphasis. Change "if-statements"
19620 etc. to "if statements" (without @samp). Break long lines. Make
19621 casing of section names consistent.
19622 (Identifiers): Use @samp markup for variable names.
19623 (Comments): Use @samp markup for comment characters. Line-end
19624 comments may follow any Ada code, not just statements. Fix
19625 misspelling of "Integer" as "integer".
19626 (Loop statements): Do not use variable name "I", use "J".
19627 (Subprogram Declarations): Document alignment.
19628 (Subprogram Bodies, Block statements): Document empty line before
19629 "begin".
19630
7a73ad55
FW
196312001-12-22 Florian Weimer <fw@deneb.enyo.de>
19632
19633 * make.adb (Add_Switch): Make Generic_Position a procedure. The
19634 function approach did not work well because of a side effect (the
19635 function call could reallocate the table which was being indexed
19636 using its result). Fixes ada/4851.
19637
17c5c8a5
GB
196382001-12-19 Robert Dewar <dewar@gnat.com>
19639
19640 * bindgen.adb: Minor reformatting
82a4b025 19641
17c5c8a5 19642 * cstand.adb: Minor reformatting
82a4b025 19643
17c5c8a5
GB
19644 * fmap.adb: Minor reformatting
19645 Change name from Add for Add_To_File_Map (Add is much too generic)
19646 Change Path_Name_Of to Mapped_Path_Name
19647 Change File_Name_Of to Mapped_File_Name
19648 Fix copyright dates in header
82a4b025 19649
17c5c8a5
GB
19650 * fmap.ads:
19651 Change name from Add for Add_To_File_Map (Add is much too generic)
19652 Change Path_Name_Of to Mapped_Path_Name
19653 Change File_Name_Of to Mapped_File_Name
19654 Fix copyright dates in header
82a4b025 19655
17c5c8a5
GB
19656 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
19657 Add use clause for Fmap.
82a4b025 19658
17c5c8a5 19659 * make.adb: Minor reformatting
82a4b025 19660
17c5c8a5
GB
19661 * osint.adb: Minor reformatting. Change of names in Fmap.
19662 Add use clause for Fmap.
82a4b025 19663
17c5c8a5 19664 * prj-env.adb: Minor reformatting
82a4b025 19665
17c5c8a5 19666 * prj-env.ads: Minor reformatting
82a4b025 19667
07fc65c4
GB
19668 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
19669 error found (there were odd exceptions to this general rule in
17c5c8a5 19670 -gnatec/-gnatem processing)
82a4b025 19671
17c5c8a5
GB
196722001-12-19 Olivier Hainque <hainque@gnat.com>
19673
07fc65c4
GB
19674 * raise.c (__gnat_eh_personality): Exception handling personality
19675 routine for Ada. Still in rough state, inspired from the C++ version
17c5c8a5 19676 and still containing a bunch of debugging artifacts.
07fc65c4 19677 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
17c5c8a5 19678 inspired from the C++ library.
82a4b025 19679
07fc65c4 19680 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17c5c8a5 19681 exception handling integration.
82a4b025 19682
17c5c8a5
GB
196832001-12-19 Arnaud Charlet <charlet@gnat.com>
19684
19685 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
19686 (HIE_SOURCES): Add s-secsta.ad{s,b}.
19687 (HIE_OBJS): Add s-fat*.o
07fc65c4 19688 (RAVEN_SOURCES): Remove files that are no longer required. Add
17c5c8a5
GB
19689 interrupt handling files.
19690 (RAVEN_MOD): Removed, no longer needed.
82a4b025 19691
17c5c8a5
GB
196922001-12-19 Robert Dewar <dewar@gnat.com>
19693
19694 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
19695 Add 2001 to copyright date
82a4b025 19696
07fc65c4 19697 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17c5c8a5 19698 need to force universal inlining for these cases.
82a4b025 19699
17c5c8a5
GB
197002001-12-19 Arnaud Charlet <charlet@gnat.com>
19701
07fc65c4 19702 * s-taprob.adb: Minor clean ups so that this unit can be used in
17c5c8a5 19703 Ravenscar HI.
82a4b025 19704
17c5c8a5
GB
19705 * exp_ch7.adb: Allow use of secondary stack in HI mode.
19706 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
82a4b025 19707
17c5c8a5
GB
197082001-12-19 Vincent Celier <celier@gnat.com>
19709
07fc65c4 19710 * prj-tree.ads (Project_Node_Record): Add comments for components
17c5c8a5 19711 Pkg_Id and Case_Insensitive.
82a4b025 19712
17c5c8a5
GB
197132001-12-19 Pascal Obry <obry@gnat.com>
19714
19715 * g-socket.adb: Minor reformatting. Found while reading code.
82a4b025 19716
17c5c8a5
GB
197172001-12-19 Robert Dewar <dewar@gnat.com>
19718
19719 * prj-tree.ads: Minor reformatting
19720
38be19f6
JM
197212001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
19722
19723 * config-lang.in (diff_excludes): Remove.
19724
6510f4c9
GB
197252001-12-17 Ed Schonberg <schonber@gnat.com>
19726
07fc65c4
GB
19727 * sem_res.adb (Resolve_Selected_Component): do not generate a
19728 discriminant check if the selected component is a component of
6510f4c9
GB
19729 the argument of an initialization procedure.
19730
07fc65c4
GB
19731 * trans.c (tree_transform, case of arithmetic operators): If result
19732 type is private, the gnu_type is the base type of the full view,
6510f4c9 19733 given that the full view itself may be a subtype.
82a4b025 19734
6510f4c9
GB
197352001-12-17 Robert Dewar <dewar@gnat.com>
19736
19737 * sem_res.adb: Minor reformatting
82a4b025 19738
07fc65c4
GB
19739 * trans.c (tree_transform, case N_Real_Literal): Add missing third
19740 parameter in call to Machine (unknown horrible effects from this
6510f4c9 19741 omission).
82a4b025 19742
6510f4c9
GB
19743 * urealp.h: Add definition of Round_Even for call to Machine
19744 Add third parameter for Machine
82a4b025 19745
6510f4c9
GB
197462001-12-17 Ed Schonberg <schonber@gnat.com>
19747
07fc65c4 19748 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
6510f4c9 19749 predefined units in No_Run_Time mode.
82a4b025 19750
6510f4c9
GB
197512001-12-17 Richard Kenner <kenner@gnat.com>
19752
19753 * misc.c (insn-codes.h): Now include.
82a4b025 19754
6510f4c9
GB
197552001-12-17 Olivier Hainque <hainque@gnat.com>
19756
07fc65c4 19757 * a-except.adb: Preparation work for future integration of the GCC 3
6510f4c9
GB
19758 exception handling mechanism
19759 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
19760 to factorize previous code sequences and make them externally callable,
19761 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
19762 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
19763 Use the new notification routines.
82a4b025 19764
6510f4c9
GB
197652001-12-17 Emmanuel Briot <briot@gnat.com>
19766
19767 * prj-tree.ads (First_Choice_Of): Document the when others case
82a4b025 19768
6510f4c9
GB
197692001-12-17 Arnaud Charlet <charlet@gnat.com>
19770
07fc65c4 19771 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
6510f4c9 19772 HI-E mode, in order to support Ravenscar profile properly.
82a4b025 19773
07fc65c4 19774 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
6510f4c9 19775 mode on 32 bits targets.
82a4b025 19776
6510f4c9
GB
197772001-12-17 Vincent Celier <celier@gnat.com>
19778
19779 * fmap.adb: Initial version.
82a4b025 19780
6510f4c9 19781 * fmap.ads: Initial version.
82a4b025 19782
6510f4c9
GB
19783 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
19784 If search is successfully done, add to mapping.
82a4b025 19785
6510f4c9 19786 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
82a4b025 19787
6510f4c9
GB
19788 * make.adb:
19789 (Gnatmake): Add new local variable Mapping_File_Name.
19790 Create mapping file when using project file(s).
19791 Delete mapping file before exiting.
82a4b025 19792
6510f4c9 19793 * opt.ads (Mapping_File_Name): New variable
82a4b025 19794
6510f4c9 19795 * osint.adb (Find_File): Use path name found in mapping, if any.
82a4b025 19796
6510f4c9 19797 * prj-env.adb (Create_Mapping_File): New procedure
82a4b025 19798
6510f4c9 19799 * prj-env.ads (Create_Mapping_File): New procedure.
82a4b025 19800
07fc65c4 19801 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
6510f4c9 19802 (Mapping_File)
82a4b025 19803
6510f4c9 19804 * usage.adb: Add entry for new switch -gnatem.
82a4b025 19805
6510f4c9 19806 * Makefile.in: Add dependencies for fmap.o.
82a4b025 19807
6510f4c9
GB
198082001-12-17 Ed Schonberg <schonber@gnat.com>
19809
07fc65c4 19810 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
6510f4c9
GB
19811 is a package instantiation rewritten as a package body.
19812 (Install_Withed_Unit): Undo previous change, now redundant.
82a4b025 19813
6510f4c9
GB
198142001-12-17 Gary Dismukes <dismukes@gnat.com>
19815
19816 * layout.adb:
19817 (Compute_Length): Move conversion to Unsigned to callers.
19818 (Get_Max_Size): Convert Len expression to Unsigned after calls to
19819 Compute_Length and Determine_Range.
19820 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
19821 Compute_Length and Determine_Range.
19822 Above changes fix problem with length computation for supernull arrays
07fc65c4 19823 where Max (Len, 0) wasn't getting applied due to the Unsigned
6510f4c9 19824 conversion used by Compute_Length.
82a4b025 19825
6510f4c9
GB
198262001-12-17 Arnaud Charlet <charlet@gnat.com>
19827
19828 * rtsfind.ads:
19829 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
19830 System.Secondary_Stack.
19831 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
19832 in HI-E mode.
19833 Remove unused entity RE_Exception_Data.
82a4b025 19834
6510f4c9 19835 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
82a4b025 19836
6510f4c9
GB
19837 * rident.ads (No_Secondary_Stack): New restriction.
19838
3a77b68d
GB
198392001-12-17 Joel Brobecker <brobecke@gnat.com>
19840
07fc65c4 19841 * gnat_rm.texi: Fix minor typos. Found while reading the section
3a77b68d
GB
19842 regarding "Bit_Order Clauses" that was sent to a customer.
19843 Very interesting documentation!
82a4b025 19844
3a77b68d
GB
198452001-12-17 Robert Dewar <dewar@gnat.com>
19846
07fc65c4
GB
19847 * sem_case.adb (Choice_Image): Avoid creating improper character
19848 literal names by using the routine Set_Character_Literal_Name. This
3a77b68d 19849 fixes bombs in certain error message cases.
82a4b025 19850
3a77b68d
GB
198512001-12-17 Arnaud Charlet <charlet@gnat.com>
19852
19853 * a-reatim.adb: Minor reformatting.
82a4b025 19854
3a77b68d
GB
198552001-12-17 Ed Schonberg <schonber@gnat.com>
19856
07fc65c4
GB
19857 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
19858 case where the formal is an extension of another formal in the current
3a77b68d 19859 unit or in a parent generic unit.
82a4b025 19860
3a77b68d
GB
198612001-12-17 Arnaud Charlet <charlet@gnat.com>
19862
07fc65c4 19863 * s-tposen.adb: Update comments. Minor reformatting.
3a77b68d 19864 Minor code clean up.
82a4b025 19865
3a77b68d 19866 * s-tarest.adb: Update comments. Minor code reorganization.
82a4b025 19867
3a77b68d
GB
198682001-12-17 Gary Dismukes <dismukes@gnat.com>
19869
07fc65c4 19870 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
3a77b68d 19871 when Java_VM.
82a4b025 19872
3a77b68d
GB
198732001-12-17 Robert Dewar <dewar@gnat.com>
19874
19875 * exp_attr.adb: Minor reformatting
82a4b025 19876
3a77b68d
GB
198772001-12-17 Ed Schonberg <schonber@gnat.com>
19878
07fc65c4 19879 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
3a77b68d
GB
19880 derivations nested within a child unit: verify that the parent
19881 type is declared in an outer scope.
82a4b025 19882
3a77b68d
GB
198832001-12-17 Robert Dewar <dewar@gnat.com>
19884
19885 * sem_ch12.adb: Minor reformatting
82a4b025 19886
3a77b68d
GB
198872001-12-17 Ed Schonberg <schonber@gnat.com>
19888
07fc65c4
GB
19889 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
19890 warning if current unit is a predefined one, from which bodies may
3a77b68d 19891 have been deleted.
82a4b025 19892
3a77b68d
GB
198932001-12-17 Robert Dewar <dewar@gnat.com>
19894
19895 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
19896 Fix header format. Add 2001 to copyright date.
82a4b025 19897
07fc65c4 19898 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
3a77b68d
GB
19899 which caused CE during compilation if checks were enabled.
19900
79503fdd
GB
199012001-12-17 Vincent Celier <celier@gnat.com>
19902
19903 * make.adb:
19904 (Switches_Of): New function
19905 (Test_If_Relative_Path): New procedure
19906 (Add_Switches): Use new function Switches_Of
19907 (Collect_Arguments_And_Compile): Use new function Switches_Of.
19908 When using a project file, test if there are any relative
19909 search path. Fail if there are any.
07fc65c4
GB
19910 (Gnatmake): Only add switches for the primary directory when not using
19911 a project file. When using a project file, change directory to the
19912 object directory of the main project file. When using a project file,
19913 test if there are any relative search path. Fail if there are any.
19914 When using a project file, fail if specified executable is relative
19915 path with directory information, and prepend executable, if not
19916 specified as an absolute path, with the exec directory. Make sure
79503fdd 19917 that only one -o switch is transmitted to the linker.
82a4b025 19918
79503fdd 19919 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
82a4b025 19920
79503fdd
GB
19921 * prj-nmsc.adb:
19922 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
19923 when using a non standard naming scheme.
19924 (Check_Ada_Naming_Scheme): Make sure that error messages
19925 do not raise exceptions.
19926 (Is_Illegal_Append): Return True if there is no dot in the suffix.
19927 (Language_Independent_Check): Check the exec directory.
82a4b025 19928
79503fdd 19929 * prj.adb (Project_Empty): Add new component Exec_Directory
82a4b025 19930
79503fdd
GB
19931 * prj.ads:
19932 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
19933 (Project_Data): Add component Exec_Directory
82a4b025 19934
79503fdd 19935 * snames.adb: Updated to match snames.ads revision 1.215
82a4b025 19936
79503fdd 19937 * snames.ads: Added Exec_Dir
82a4b025 19938
79503fdd
GB
199392001-12-17 Robert Dewar <dewar@gnat.com>
19940
19941 * make.adb: Minor reformatting
82a4b025 19942
79503fdd 19943 * prj-nmsc.adb: Minor reformatting
82a4b025 19944
79503fdd 19945 * snames.adb: Updated to match snames.ads
82a4b025 19946
79503fdd
GB
19947 * snames.ads: Alphebetize entries for project file
19948
199492001-12-17 Ed Schonberg <schonber@gnat.com>
19950
07fc65c4 19951 * trans.c (process_freeze_entity): Do nothing if the entity is a
79503fdd 19952 subprogram that was already elaborated.
82a4b025 19953
79503fdd 199542001-12-17 Richard Kenner <kenner@gnat.com>
82a4b025 19955
07fc65c4 19956 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
79503fdd
GB
19957 and Esize if object is referenced via pointer.
19958
855ff2e1
GB
199592001-12-17 Ed Schonberg <schonber@gnat.com>
19960
07fc65c4 19961 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
855ff2e1 19962 is discrete before analyzing choices.
82a4b025 19963
855ff2e1
GB
199642001-12-17 Joel Brobecker <brobecke@gnat.com>
19965
07fc65c4
GB
19966 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
19967 containing the name of the Ada Main Program. This string is mainly
855ff2e1
GB
19968 intended for the debugger.
19969 (Gen_Output_File_C): Do the equivalent change when generating a C file.
82a4b025 19970
855ff2e1
GB
199712001-12-17 Robert Dewar <dewar@gnat.com>
19972
19973 * ali.adb: Set new Dummy_Entry field in dependency entry
82a4b025 19974
855ff2e1 19975 * ali.ads: Add Dummy_Entry field to source dependency table
82a4b025 19976
855ff2e1 19977 * bcheck.adb (Check_Consistency): Ignore dummy D lines
82a4b025 19978
855ff2e1 19979 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
82a4b025 19980
855ff2e1 19981 * lib-writ.ads: Document dummy D lines for missing files.
82a4b025 19982
855ff2e1
GB
19983 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
19984
c1c22e7a
GB
199852001-12-17 Robert Dewar <dewar@gnat.com>
19986
19987 * ali.adb: Type reference does not reset current file.
82a4b025 19988
c1c22e7a 19989 * ali.adb: Recognize and scan renaming reference
82a4b025 19990
c1c22e7a 19991 * ali.ads: Add spec for storing renaming references.
82a4b025 19992
c1c22e7a 19993 * lib-xref.ads: Add documentation for handling of renaming references
82a4b025 19994
c1c22e7a 19995 * lib-xref.adb: Implement output of renaming reference.
82a4b025 19996
c1c22e7a
GB
19997 * checks.adb:
19998 (Determine_Range): Document local variables
19999 (Determine_Range): Make sure Hbound is initialized. It looks as though
20000 there could be a real problem here with an uninitialized reference
20001 to Hbound, but no actual example of failure has been found.
82a4b025 20002
c1c22e7a
GB
200032001-12-17 Laurent Pautet <pautet@gnat.com>
20004
20005 * g-socket.ads:
20006 Fix comment of Shutdown_Socket and Close_Socket. These functions
20007 should not fail silently because if they are called twice, this
20008 probably means that there is a race condition in the user program.
20009 Anyway, this behaviour is consistent with the rest of this unit.
20010 When an error occurs, an exception is raised with the error message
20011 as exception message.
20012
7eb7bb07
RD
200132001-12-17 Robert Dewar <dewar@gnat.com>
20014
07fc65c4 20015 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
7eb7bb07 20016 that it happens before modification of Sloc values for -gnatD.
82a4b025 20017
07fc65c4 20018 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
7eb7bb07 20019 so that it happens before modification of Sloc values for -gnatD.
82a4b025 20020
7eb7bb07
RD
20021 * switch.adb: Minor reformatting
20022
b6434700
RH
200232001-12-15 Richard Henderson <rth@redhat.com>
20024
20025 * sem_ch7.adb: Wrap comment.
20026
44d6a706
JM
200272001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20028
20029 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
20030 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
20031 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
20032 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
20033 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
20034 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
20035 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
20036 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
20037 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
20038 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
20039 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
20040 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
20041 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
20042 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
20043 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
20044 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
20045 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
20046 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
20047 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
20048 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
20049 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
20050 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
20051 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
20052 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
20053 spelling errors.
20054
226ada7a
GB
200552001-12-14 Vincent Celier <celier@gnat.com>
20056
07fc65c4 20057 * osint.adb(Create_Debug_File): When an object file is specified,
226ada7a 20058 put the .dg file in the same directory as the object file.
82a4b025 20059
226ada7a
GB
200602001-12-14 Robert Dewar <dewar@gnat.com>
20061
20062 * osint.adb: Minor reformatting
82a4b025 20063
07fc65c4 20064 * lib-xref.adb (Output_Instantiation): New procedure to generate
226ada7a 20065 instantiation references.
82a4b025 20066
226ada7a 20067 * lib-xref.ads: Add documentation of handling of generic references.
82a4b025 20068
07fc65c4 20069 * ali.adb (Read_Instantiation_Ref): New procedure to read
226ada7a 20070 instantiation references
82a4b025 20071
226ada7a 20072 * ali.ads: Add spec for storing instantiation references
82a4b025 20073
226ada7a 20074 * bindusg.adb: Minor reformatting
82a4b025 20075
226ada7a 20076 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 20077
226ada7a 20078 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 20079
226ada7a 20080 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 20081
226ada7a 20082 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 20083
226ada7a
GB
20084 * csets.ads:
20085 Fix header format
20086 Add 2001 to copyright date
20087 Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 20088
226ada7a
GB
200892001-12-14 Matt Gingell <gingell@gnat.com>
20090
07fc65c4 20091 * adaint.c: mktemp is a macro on Lynx and can not be used as an
226ada7a 20092 expression.
82a4b025 20093
226ada7a
GB
200942001-12-14 Richard Kenner <kenner@gnat.com>
20095
07fc65c4 20096 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
226ada7a 20097 if operand is CONSTRUCTOR.
82a4b025 20098
226ada7a
GB
200992001-12-14 Ed Schonberg <schonber@gnat.com>
20100
07fc65c4
GB
20101 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
20102 before emiting check on right-hand side, so that exception information
226ada7a
GB
20103 is correct.
20104
201052001-12-14 Richard Kenner <kenner@gnat.com>
82a4b025 20106
07fc65c4 20107 * utils.c (create_var_decl): Throw away initializing expression
226ada7a 20108 if just annotating types and non-constant.
82a4b025 20109
226ada7a
GB
201102001-12-14 Vincent Celier <celier@gnat.com>
20111
20112 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
20113 Default_Ada_...
82a4b025 20114
07fc65c4 20115 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
20116 Remove functions.
20117 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
82a4b025 20118
07fc65c4 20119 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
20120 Remove functions.
20121 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
20122
9b94bf9e
JM
201232001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20124
20125 * ChangeLog: Remove piece of diff output.
20126
449d2be3
GB
201272001-12-14 Geert Bosch <bosch@gnat.com>
20128
20129 * config-lang.in: Update copyright notice
20130
20131 * layout.adb: Remove commented out code.
20132
20133 * mdllfile.ads: Update copyright notice. Fix header format.
20134
20135 * sem_case.ads: Likewise.
20136
20137 * sem_ch3.adb: Minor reformatting.
20138
e5bd5cb4
GB
201392001-12-12 Geert Bosch <bosch@gnat.com>
20140
20141 * freeze.ads: Update copyright date.
20142
20143 * g-comlin.ads: Minor reformatting.
20144
20145 * gnat-style.texi: Fix typo.
20146
b468d8ec
GB
201472001-12-12 Geert Bosch <bosch@gnat.com>
20148
20149 * einfo.h: Regenerate.
20150
ed7da216
GB
201512001-12-12 Ed Schonberg <schonber@gnat.com>
20152
07fc65c4 20153 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
ed7da216 20154 on known node types, rather than untyped fields. Further cleanups.
82a4b025 20155
ed7da216
GB
201562001-12-12 Robert Dewar <dewar@gnat.com>
20157
20158 * sem_ch12.adb:
20159 (Save_Entity_Descendant): Minor comment update.
20160 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
07fc65c4 20161 of an N_Attribute_Reference node. As per note below, this does not
ed7da216 20162 eliminate need for Associated_Node in attribute ref nodes.
07fc65c4 20163 (Associated_Node): Documentation explicitly mentions attribute
ed7da216 20164 reference nodes, since this field is used in such nodes.
82a4b025 20165
ed7da216
GB
20166 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
20167
de76a39c
GB
201682001-12-12 Robert Dewar <dewar@gnat.com>
20169
20170 * s-stalib.adb: Add more comments on with statements being needed
82a4b025 20171
de76a39c 20172 * par-ch12.adb: Minor reformatting
82a4b025 20173
de76a39c 20174 * prj-dect.ads: Fix copyright header
82a4b025 20175
07fc65c4 20176 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
de76a39c 20177 inputs fit in 32 bits, but the result still overflows.
82a4b025 20178
de76a39c 20179 * s-fatgen.ads: Minor comment improvement
82a4b025 20180
de76a39c
GB
201812001-12-12 Ed Schonberg <schonber@gnat.com>
20182
07fc65c4
GB
20183 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
20184 formal derived type, look for an inherited component from the full
de76a39c 20185 view of the parent, if any.
82a4b025 20186
de76a39c
GB
201872001-12-12 Robert Dewar <dewar@gnat.com>
20188
20189 * checks.ads (Apply_Alignment_Check): New procedure.
82a4b025 20190
07fc65c4
GB
20191 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
20192 ensure that the alignment of objects with address clauses is
de76a39c
GB
20193 appropriate, and raise PE if not.
20194
07fc65c4 20195 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
de76a39c 20196 Exp_Pakd.Known_Aligned_Enough
82a4b025 20197
de76a39c
GB
20198 * mdllfile.ads: Minor reformatting
20199
20200 * mlib-fil.ads: Minor reformatting
82a4b025 20201
de76a39c
GB
202022001-12-12 Ed Schonberg <schonber@gnat.com>
20203
07fc65c4
GB
20204 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
20205 fix to any component reference if enclosing record has non-standard
de76a39c 20206 representation.
82a4b025 20207
de76a39c
GB
202082001-12-12 Vincent Celier <celier@gnat.com>
20209
07fc65c4 20210 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
de76a39c 20211 Iteration
82a4b025 20212
de76a39c
GB
202132001-12-12 Ed Schonberg <schonber@gnat.com>
20214
07fc65c4 20215 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
de76a39c 20216 sem_attr.
82a4b025 20217
de76a39c
GB
202182001-12-12 Robert Dewar <dewar@gnat.com>
20219
20220 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
82a4b025 20221
de76a39c
GB
202222001-12-12 Emmanuel Briot <briot@gnat.com>
20223
20224 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
20225 and it adds dependencies to system.io.
82a4b025 20226
de76a39c
GB
202272001-12-12 Pascal Obry <obry@gnat.com>
20228
07fc65c4 20229 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
de76a39c
GB
20230 variable name.
20231
0b09835f
ES
202322001-12-11 Ed Schonberg <schonber@gnat.com>
20233
20234 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
07fc65c4
GB
20235 that is the parent of other generics, the instance body replaces the
20236 instance node. Retrieve the instance of the spec, which is the one
0b09835f
ES
20237 that is visible in clients and within the body.
20238
598c3446
GB
202392001-12-11 Vincent Celier <celier@gnat.com>
20240
20241 * gnatmain.adb: Initial version.
82a4b025 20242
598c3446 20243 * gnatmain.ads: Initial version.
82a4b025 20244
598c3446 20245 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
82a4b025 20246
598c3446 20247 * snames.adb: Updated to match snames.ads.
82a4b025 20248
598c3446 20249 * snames.ads: Added Gnatstub.
82a4b025 20250
598c3446
GB
202512001-12-11 Vincent Celier <celier@gnat.com>
20252
07fc65c4 20253 * prj-attr.adb (Initialization_Data): Change name from
598c3446 20254 Initialisation_Data.
82a4b025 20255
598c3446
GB
202562001-12-11 Emmanuel Briot <briot@gnat.com>
20257
20258 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
20259 + and * applied to backslashed expressions like \r.
82a4b025 20260
598c3446
GB
202612001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
20262
07fc65c4 20263 * g-os_lib.ads: String_List type added, Argument_List type is now
598c3446 20264 subtype of String_List.
82a4b025 20265
598c3446
GB
202662001-12-11 Robert Dewar <dewar@gnat.com>
20267
20268 * g-os_lib.ads: Change copyright to FSF
20269 Add comments for String_List type
82a4b025 20270
598c3446
GB
202712001-12-11 Vincent Celier <celier@gnat.com>
20272
07fc65c4 20273 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
598c3446
GB
20274 string to the buffer).
20275
7fb754a1
GB
202762001-12-11 Ed Schonberg <schonber@gnat.com>
20277
20278 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
20279 sem_attr.
82a4b025 20280
7fb754a1 20281 * sem_attr.adb: Simplify previous fix for Address.
07fc65c4
GB
20282 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
20283 to avoid anomalies where the bound of the type appears to raise
7fb754a1
GB
20284 constraint error.
20285
202862001-12-11 Robert Dewar <dewar@gnat.com>
20287
07fc65c4 20288 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
7fb754a1 20289 handled.
82a4b025 20290
7fb754a1
GB
202912001-12-11 Ed Schonberg <schonber@gnat.com>
20292
07fc65c4 20293 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
7fb754a1 20294 renamed unit before checking for recursive instantiations.
82a4b025 20295
7fb754a1
GB
202962001-12-11 Emmanuel Briot <briot@gnat.com>
20297
20298 * prj.ads: Add comments for some of the fields.
20299
0873bafc
GB
203002001-12-11 Robert Dewar <dewar@gnat.com>
20301
07fc65c4 20302 * lib-xref.adb (Output_Refs): Don't output type references outside
0873bafc 20303 the main unit if they are not otherwise referenced.
82a4b025 20304
0873bafc
GB
203052001-12-11 Ed Schonberg <schonber@gnat.com>
20306
07fc65c4 20307 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
0873bafc 20308 code and diagnose additional illegal uses
82a4b025 20309
07fc65c4 20310 * sem_util.adb (Is_Object_Reference): An indexed component is an
0873bafc 20311 object only if the prefix is.
82a4b025 20312
0873bafc
GB
203132001-12-11 Vincent Celier <celier@gnat.com>
20314
20315 * g-diopit.adb: Initial version.
82a4b025 20316
0873bafc 20317 * g-diopit.ads: Initial version.
82a4b025 20318
0873bafc
GB
20319 * g-dirope.adb:
20320 (Expand_Path): Avoid use of Unbounded_String
20321 (Find, Wildcard_Iterator): Moved to child package Iteration
82a4b025 20322
0873bafc 20323 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
82a4b025 20324
7fb754a1 203252001-12-11 Robert Dewar <dewar@gnat.com>
0873bafc
GB
20326
20327 * sem_attr.adb: Minor reformatting
20328
d087cd96
GB
203292001-12-11 Ed Schonberg <schonber@gnat.com>
20330
20331 * sem_ch3.adb: Clarify some ???.
82a4b025 20332
d087cd96
GB
203332001-12-11 Robert Dewar <dewar@gnat.com>
20334
07fc65c4 20335 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
d087cd96 20336 Exp_Pakd.Known_Aligned_Enough
82a4b025 20337
07fc65c4 20338 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
d087cd96
GB
20339 version is moved to Exp_Ch13.
20340
203412001-12-11 Robert Dewar <dewar@gnat.com>
20342
20343 * einfo.ads: Minor reformatting
82a4b025 20344
d087cd96 20345 * exp_ch5.adb: Add comment for previous.change
82a4b025 20346
d087cd96 20347 * ali.adb: New interface for extended typeref stuff.
82a4b025 20348
d087cd96 20349 * ali.ads: New interface for typeref stuff.
82a4b025 20350
d087cd96 20351 * checks.adb (Apply_Alignment_Check): New procedure.
82a4b025 20352
d087cd96 20353 * debug.adb: Add -gnatdM for modified ALI output
82a4b025 20354
d087cd96 20355 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
82a4b025 20356
07fc65c4
GB
20357 * lib-xref.adb: Extend generation of <..> notation to cover
20358 subtype/object types. Note that this is a complete rewrite,
20359 getting rid of the very nasty quadratic algorithm previously
d087cd96 20360 used for derived type output.
82a4b025 20361
07fc65c4
GB
20362 * lib-xref.ads: Extend description of <..> notation to cover
20363 subtype/object types. Uses {..} for these other cases.
d087cd96 20364 Also use (..) for pointer types.
82a4b025 20365
d087cd96 20366 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
82a4b025 20367
07fc65c4 20368 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
d087cd96
GB
20369 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
20370
290986ed
GB
203712001-12-11 Vincent Celier <celier@gnat.com>
20372
20373 * gnatcmd.adb:
20374 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
20375 Changed /BIND_ONLY to /ACTIONS=BIND
20376 Changed /LINK_ONLY to /ACTIONS=LINK
82a4b025 20377
290986ed
GB
203782001-12-11 Ed Schonberg <schonber@gnat.com>
20379
20380 * sem_ch8.adb (Find_Selected_Component): improved search for a
20381 candidate package in case of error.
82a4b025 20382
290986ed
GB
20383 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
20384 chain back on scope stack before reinstalling use clauses.
82a4b025 20385
290986ed
GB
20386 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
20387 is enabled, do not kill the code for the condition, to preserve
20388 warning.
20389
84157f51
GB
203902001-12-11 Robert Dewar <dewar@gnat.com>
20391
07fc65c4 20392 * checks.adb (Insert_Valid_Check): Apply validity check to expression
84157f51
GB
20393 of conversion, not to result of conversion.
20394
203952001-12-11 Ed Schonberg <schonber@gnat.com>
82a4b025 20396
07fc65c4
GB
20397 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
20398 before freezing parent. If the declarations are mutually recursive,
20399 an access to the current record type may be frozen before the
84157f51
GB
20400 derivation is complete.
20401
7ffa903f
VC
204022001-12-05 Vincent Celier <celier@gnat.com>
20403
07fc65c4 20404 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
7ffa903f 20405 -c /COMPILE_ONLY, -l /LINK_ONLY
82a4b025 20406
7ffa903f
VC
20407 * opt.ads:
20408 (Bind_Only): New Flag
20409 (Link_Only): New flag
82a4b025 20410
07fc65c4 20411 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
7ffa903f 20412 and -l (Link_Only)
82a4b025 20413
7ffa903f 20414 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
82a4b025 20415
7ffa903f
VC
20416 * make.adb:
20417 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
20418 (Gnatmake): Set the step flags. Only perform a step if the
20419 corresponding step flag is True.
20420 (Scan_Make_Arg): Reset the bind and link step flags when -u
20421 or -gnatc has been specified.
20422
f91b40db
GB
204232001-12-05 Ed Schonberg <schonber@gnat.com>
20424
07fc65c4 20425 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
f91b40db 20426 get bounds from right operand.
82a4b025 20427
f91b40db 20428 * sem_eval.adb: Minor reformatting
82a4b025 20429
07fc65c4 20430 * exp_util.adb (Make_Literal_Range): use bound of literal rather
f91b40db 20431 than Index'First, its lower bound may be different from 1.
82a4b025 20432
07fc65c4 20433 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
f91b40db 20434 and C48009J
82a4b025 20435
f91b40db
GB
204362001-12-05 Vincent Celier <celier@gnat.com>
20437
20438 * prj-nmsc.adb Minor reformatting
82a4b025 20439
07fc65c4 20440 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
f91b40db 20441 set and libraries are not supported.
82a4b025 20442
f91b40db
GB
204432001-12-05 Ed Schonberg <schonber@gnat.com>
20444
07fc65c4
GB
20445 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
20446 private view explicitly, so the back-end can treat as a global
f91b40db
GB
20447 when appropriate.
20448
45d04cbb
GB
204492001-12-05 Ed Schonberg <schonber@gnat.com>
20450
20451 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
20452 unit, always replace instance node with new body, for ASIS use.
20453
204542001-12-05 Vincent Celier <celier@gnat.com>
82a4b025 20455
07fc65c4
GB
20456 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
20457 libraries are not supported and both attributes Library_Name and
45d04cbb 20458 Library_Dir are specified.
82a4b025 20459
07fc65c4 20460 * prj-proc.adb (Expression): Set location of Result to location of
45d04cbb 20461 first term.
82a4b025 20462
45d04cbb
GB
20463 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
20464 (prj-nmsc is now importing MLib.Tgt)
82a4b025 20465
45d04cbb
GB
20466 * prj-proc.adb: Put the change indicated above that was forgotten.
20467
84436014
RD
204682001-12-05 Robert Dewar <dewar@gnat.com>
20469
20470 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
20471
7ae0dcd8
ES
204722001-12-05 Ed Schonberg <schonber@gnat.com>
20473
20474 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
20475 constraint, introduce explicit subtype declaration and derive from it.
82a4b025 20476
7ae0dcd8
ES
20477 * sem_ch3.adb: Minor reformatting
20478
c9a4817d
RD
204792001-12-05 Robert Dewar <dewar@gnat.com>
20480
07fc65c4 20481 * checks.adb (Determine_Range): Increase cache size for checks.
c9a4817d 20482 Minor reformatting
82a4b025 20483
c9a4817d
RD
20484 * exp_ch6.adb: Minor reformatting
20485 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
20486 a parameter whose root type is System.Address, since treating such
20487 subprograms as pure in the code generator is almost surely a mistake
20488 that will lead to unexpected results.
82a4b025 20489
07fc65c4 20490 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
c9a4817d 20491 change handling of conversions.
82a4b025 20492
c9a4817d
RD
20493 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
20494
2514b839
ES
204952001-12-05 Ed Schonberg <schonber@gnat.com>
20496
07fc65c4
GB
20497 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
20498 aggregate with static wrong size, attach generated Raise node to
2514b839
ES
20499 declaration.
20500
457b6274
RD
205012001-12-05 Robert Dewar <dewar@gnat.com>
20502
07fc65c4 20503 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
457b6274
RD
20504 Fixes compilation abandoned bomb in B24009B.
20505
19349925
ES
205062001-12-05 Ed Schonberg <schonber@gnat.com>
20507
20508 * sem_ch12.adb:
20509 Document use of Associated_Node on Selected_Components.
20510 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
20511 to clarify use of untyped descendant fields.
20512
6663c393
RD
205132001-12-05 Robert Dewar <dewar@gnat.com>
20514
20515 * prj-dect.ads: Add ??? comment
20516 Add 2001 to copyright notice (was not done in after all)
82a4b025 20517
6663c393 20518 * prj-part.adb: Minor reformatting. Reword one awkward error message.
82a4b025 20519
6663c393 20520 * prj.ads: Minor reformatting throughout, and add some ??? comments
82a4b025 20521
6663c393
RD
20522 * snames.ads: Minor reformatting
20523
d7b2a6af
GB
205242001-12-05 Geert Bosch <bosch@gnat.com>
20525
20526 * snames.adb: Autoupdate
20527
fbc9a404
VC
205282001-12-05 Vincent Celier <celier@gnat.com>
20529
20530 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
82a4b025 20531
fbc9a404 20532 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
82a4b025 20533
fbc9a404 20534 * prj-env.adb: Minor comment changes (modifying -> extends).
82a4b025 20535
fbc9a404 20536 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
82a4b025 20537
07fc65c4 20538 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
fbc9a404 20539 Tok_Extends.
82a4b025 20540
fbc9a404 20541 * prj.adb (Initialize): Change Modifying to Extends.
82a4b025 20542
fbc9a404 20543 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
82a4b025 20544
fbc9a404 20545 * prj.ads: Minor comment change (Modifying -> extending).
82a4b025 20546
fbc9a404
VC
20547 * snames.ads: Change modifying to extends.
20548
7cff0b1b
RD
205492001-12-05 Robert Dewar <dewar@gnat.com>
20550
07fc65c4 20551 * sem_warn.adb: Remove stuff for conditionals, we are not going to
7cff0b1b 20552 do this after all.
82a4b025 20553
07fc65c4 20554 * sem_warn.ads: Remove stuff for conditionals, we are not going to
7cff0b1b
RD
20555 do this after all. Add 2001 to copyright notice
20556
4f56ebb7
GB
205572001-12-04 Geert Bosch <bosch@gnat.com>
20558
20559 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
20560
053defdf
RD
205612001-12-04 Robert Dewar <dewar@gnat.com>
20562
07fc65c4
GB
20563 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
20564 location if we already have errors. Stops some cases of cascaded
053defdf 20565 errors.
82a4b025 20566
053defdf
RD
20567 * errout.adb: Improve comment.
20568
f311e166
RD
205692001-12-04 Robert Dewar <dewar@gnat.com>
20570
20571 * sem_ch12.adb:
20572 (Analyze_Formal_Type_Definition): Defend against Error.
20573 (Analyze_Formal_Subprogram): Defend against Error.
82a4b025 20574
07fc65c4 20575 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
f311e166
RD
20576 remove following semicolon if present. Removes cascaded error.
20577
d61bd65a
DR
205782001-12-04 Douglas B. Rupp <rupp@gnat.com>
20579
20580 * bindgen.adb:
20581 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
20582 exceptions equals 0.
20583 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
20584 Fixes PIWG E tests (which have to be run with -gnatL).
20585
4ba603e2
RD
205862001-12-04 Robert Dewar <dewar@gnat.com>
20587
20588 * einfo.ads: Minor reformatting
20589
57568d91
ES
205902001-12-04 Ed Schonberg <schonber@gnat.com>
20591
07fc65c4
GB
20592 * einfo.ads: Block_Node points to the identifier of the block, not to
20593 the block node itself, to preserve the link when the block is
20594 rewritten, e.g. within an if-statement with a static condition.
82a4b025 20595
07fc65c4 20596 * inline.adb (Cleanup_Scopes): recover block statement from block
57568d91 20597 entity using new meaning of Block_Node.
82a4b025 20598
07fc65c4 20599 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
57568d91
ES
20600 identifier of block node, rather than to node itself.
20601
0815d36a 206022001-12-04 Gary Dismukes <dismukes@gnat.com>
82a4b025 20603
0815d36a
GD
20604 * layout.adb:
20605 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
20606 (Discrimify): Go back to setting the Etypes of the selected component
07fc65c4 20607 because the Vname component does not exist at this point and will
0815d36a
GD
20608 fail name resolution. Also set Analyzed.
20609 Remove with and use of Sem_Res.
20610
edc0f304
AC
206112001-12-04 Arnaud Charlet <charlet@gnat.com>
20612
20613 * Makefile.in: (HIE_SOURCES): add s-fat*.
20614
32213142
RD
206152001-12-04 Robert Dewar <dewar@gnat.com>
20616
20617 * sem_attr.adb:
20618 (Compile_Time_Known_Attribute): New procedure.
20619 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
20620 proper range check.
20621
c0def2ad
ES
206222001-12-04 Ed Schonberg <schonber@gnat.com>
20623
07fc65c4 20624 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
c0def2ad
ES
20625 processing discriminants to diagnose illegal default values.
20626
ee0a48c5
ES
206272001-12-04 Ed Schonberg <schonber@gnat.com>
20628
07fc65c4
GB
20629 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
20630 access discriminant within a type extension that constrains its
ee0a48c5
ES
20631 parent discriminants.
20632
dd5875a6
ES
206332001-12-04 Ed Schonberg <schonber@gnat.com>
20634
07fc65c4 20635 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
dd5875a6 20636 is malformed, use instance of Any_Id to allow analysis to proceed.
82a4b025 20637
07fc65c4 20638 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
dd5875a6
ES
20639 type definition is illegal.
20640 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
20641 misplaced.
20642
c2a41e57
ES
206432001-12-04 Ed Schonberg <schonber@gnat.com>
20644
07fc65c4 20645 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
c2a41e57
ES
20646 constants.
20647
0ae84753
RD
206482001-12-04 Robert Dewar <dewar@gnat.com>
20649
20650 * errout.adb: Minor reformatting
20651
63db260e
RD
206522001-12-04 Robert Dewar <dewar@gnat.com>
20653
20654 * exp_util.adb: Minor reformatting from last change
82a4b025 20655
07fc65c4
GB
20656 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
20657 which is a rewriting of an expression, traverse the original
63db260e
RD
20658 expression to remove warnings that may have been posted on it.
20659
c6d289f4
ES
206602001-12-04 Ed Schonberg <schonber@gnat.com>
20661
07fc65c4 20662 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
c6d289f4
ES
20663 record that has other packed components.
20664
5917e80d
DR
206652001-12-04 Douglass B. Rupp <rupp@gnat.com>
20666
20667 * adaint.c: Minor cleanups.
20668
2c70f9dd
DR
206692001-12-04 Douglass B. Rupp <rupp@gnat.com>
20670
20671 * adaint.c: Do not use utime.h on vxworks.
20672
e59b3387
AC
206732001-12-04 Arnaud Charlet <charlet@gnat.com>
20674
07fc65c4 20675 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
e59b3387
AC
20676 more confusion than it solves.
20677
e288604a
GB
206782001-12-04 Geert bosch <bosch@gnat.com>
20679
20680 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
20681
5ac21013
GB
206822001-12-04 Geert Bosch <bosch@gnat.com>
20683
07fc65c4 20684 * Makefile.in (update-sources): New target.
5ac21013
GB
20685 For use by gcc_release script.
20686
7dd5bd5e
ES
206872001-12-04 Ed Schonberg <schonber@gnat.com>
20688
07fc65c4 20689 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
7dd5bd5e
ES
20690 a configuration pragma, it is now legal wherever a pragma can appear.
20691
a078a589
ZW
206922001-12-04 Zack Weinberg <zack@codesourcery.com>
20693
20694 * Makefile.in: Don't set ALL. Delete @cross_defines@,
20695 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
20696 is now @CROSS@ -DIN_GCC; update comment.
20697
0839863c
GB
206982001-12-04 Robert Dewar <dewar@gnat.com>
20699
20700 * einfo.adb (Has_Pragma_Pure_Function): New flag.
20701 Fix problem that stopped ceinfo from working
82a4b025 20702
0839863c 20703 * einfo.ads (Has_Pragma_Pure_Function): New flag.
82a4b025 20704
0839863c
GB
20705 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
20706
207072001-12-04 Douglas B. Rupp <rupp@gnat.com>
9678de49
DR
20708
20709 * gnatchop.adb:
20710 (File_Time_Stamp): New procedure.
20711 (Preserve_Mode): New boolean.
20712 (Write_Unit): Pass time stamp.
20713 Implement -p switch (preserve time stamps).
82a4b025 20714
9678de49 20715 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
82a4b025 20716
9678de49 20717 * gnatchop.adb: Do usage info for -p switch
82a4b025 20718
9678de49 20719 * adaint.h (__gnat_set_file_time_name): New function
82a4b025 20720
9678de49 20721 * adaint.c (__gnat_set_file_time_name): Implement
82a4b025 20722
9678de49
DR
20723 * adaint.h: Fix typo
20724
3b9a13c4
RD
207252001-12-03 Robert Dewar <dewar@gnat.com>
20726
667e5c5d 20727 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
b4f94ac1 20728 have Associated_Node.
3b9a13c4 20729
767b404e
RD
207302001-12-03 Robert Dewar <dewar@gnat.com>
20731
20732 * prj-proc.adb: Minor reformatting
667e5c5d 20733
767b404e
RD
20734 * make.adb: Minor reformatting
20735
11ac71ba
GB
207362001-12-03 Geert Bosch <bosch@gnat.com>
20737
667e5c5d 20738 * make.adb: Minor reformatting.
11ac71ba 20739
ef3d4d6e 207402001-12-03 Robert Dewar <dewar@gnat.com>
b1446533
RD
20741
20742 * sem_ch12.adb: Minor reformatting
20743
d6d32b24
ES
207442001-12-03 Ed Schonberg <schonber@gnat.com>
20745
667e5c5d
AJ
20746 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
20747 push Standard on the stack before analyzing the instance body,
d6d32b24 20748 in order to have a clean visibility environment.
667e5c5d
AJ
20749
20750 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
d6d32b24 20751
13f08f03
ES
207522001-12-03 Ed Schonberg <schonber@gnat.com>
20753
667e5c5d 20754 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
13f08f03
ES
20755 instantiation of a body that contains an inlined body.
20756
3bd6c100
ES
207572001-12-03 Ed Schonberg <schonber@gnat.com>
20758
20759 * sem_ch12.adb:
20760 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
20761 to prevent freezing within formal packages.
20762 (Freeze_Subprogram_Body): If body comes from another instance that
20763 appeared before its own body, place freeze node at end of current
20764 declarative part, to prevent a back-end crash.
20765 (Inline_Instance_Body): Handle properly a package instance within
20766 a subprogram instance that is a child unit.
20767
58d07d8f
GS
207682001-12-01 Graham Stott <grahams@redhat.com>
20769
20770 * Makefile.in (misc.o): Add missing $(srcdir) prefix
20771 and add optabs.h dependency.
20772
20773 * misc.c: Include optabs.h
20774 (gnat_tree_code_type): Make static and const.
20775 (gnat_tree_code_length): Likewise.
20776 (gnat_tree_code_name): Likewise.
20777 (update_setjmp_buf): Obtain operands mode from insn_data.
20778
c87222f0
RH
207792001-11-29 Richard Henderson <rth@redhat.com>
20780
20781 * init.c: Remove obsolete dwarf2 frame.h section.
20782
d3945f0a
JM
207832001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
20784
20785 * Make-lang.in (ada.generated-manpages): New dummy target.
20786
9f639397
ES
207872001-11-29 Ed Schonberg <schonber@gnat.com>
20788
667e5c5d
AJ
20789 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
20790 into Command, an array conversion is illegal here. Uncovered by
9f639397
ES
20791 ACATS B460005.
20792
611bcfc0 207932001-11-28 Geert Bosch <bosch@gnat.com>
c835e5c6
GB
20794
20795 * init.c: Minor whitespace changes.
20796
49bb4548
DR
207972001-11-28 Doug Rupp <rupp@gnat.com>
20798
667e5c5d 20799 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
49bb4548
DR
20800 signal stack.
20801
ea2417e5
ZW
208022001-11-28 Zack Weinberg <zack@codesourcery.com>
20803
20804 * misc.c (gnat_expand_constant): Move declaration above
20805 definition of lang_hooks.
20806 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
20807 (gnat_init): lang_expand_constant no longer exists.
20808
20809 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
20810 always have vprintf.
20811 (gnat_init): Always call set_internal_error_function.
20812
f8e0aa73
AJ
208132001-11-27 Andreas Jaeger <aj@suse.de>
20814
20815 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
20816
d99b0e79
LG
208172001-11-27 Laurent Guerby <guerby@acm.org>
20818
20819 * Makefile.in: Regenerate Ada dependencies.
20820
3f0496e5
RH
208212001-11-26 Richard Henderson <rth@redhat.com>
20822
20823 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
20824 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
20825 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
20826
92fa4733
LG
208272001-11-25 Laurent Guerby <guerby@acm.org>
20828
20829 * sysdep.c (rts_get_*): Fix style.
20830
07626501
LG
208312001-11-19 Laurent Guerby <guerby@acm.org>
20832
20833 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
20834 since it is of no apparent use and cause warnings.
20835
22703ccc
NB
208362001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
20837
20838 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
20839 static too.
20840 (gnat_init): Don't return NULL.
20841 (finish_parse): Remove.
20842
b0df4321
LG
208432001-11-17 Laurent Guerby <guerby@acm.org>
20844
20845 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
20846 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
20847 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
20848 * lang-spec.h: Add missing struct field to silence warnings.
20849 * sysdep.c (rts_get_*): Provide K&R prototype.
20850 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
20851 * traceback.c (Unlock_Task, Lock_Task): Likewise.
20852 * tracebak.c (__gnat_backtrace): Remove unused variable.
20853 * utils.c (end_subprog_body): Move to K&R style.
20854
d215024f
RK
20855Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20856
20857 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
20858
f5e99456
NB
208592001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
20860
20861 * misc.c (gnat_init): Change prototype. Include the
20862 functionality of the old init_parse and init_decl_processing.
20863 (gnat_init_decl_processing): New prototype.
20864 (init_parse): Remove.
20865 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
20866
5d69f816
NB
208672001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
20868
20869 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
20870 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
20871 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
20872 set_yydebug): Remove.
20873
3ac88239
NB
208742001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
20875
20876 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
20877 (struct lang_hooks): Constify.
20878 (language_string, lang_identify): Remove.
20879 * utils.c (init_decl_processing): Update.
20880
d23c55c2
NB
208812001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
20882
20883 * misc.c: Include langhooks-def.h.
20884 * Makefile.in: Update.
20885
04a1b79c
RD
208862001-10-30 Robert Dewar <dewar@gnat.com>
20887
20888 * style.adb:
20889 (Check_Identifier): Rewrite circuit to be compatible with use of letters
20890 in the upper half of ASCII.
20891 (Check_Identifier): Minor reformatting
20892
81fa2d39
GB
208932001-10-30 Geert Bosch <bosch@gnat.com>
20894
f8e0aa73 20895 * (Associated_Node, Set_Associated_Node): Do not check for
81fa2d39
GB
20896 Freeze_Entity.
20897
ffc5527f
RD
208982001-10-30 Robert Dewar <dewar@gnat.com>
20899
20900 * a-reatim.ads: Minor reformatting
20901
865335eb
RD
209022001-10-30 Robert Dewar <dewar@gnat.com>
20903
f8e0aa73 20904 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
865335eb
RD
20905 undocumented declarations.
20906
5e257178
PO
209072001-10-30 Pascal Obry <obry@gnat.com>
20908
f8e0aa73 20909 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
5e257178
PO
20910 to the binder and linker.
20911 Minor style fix.
f8e0aa73 20912
5e257178
PO
20913 * mdll.ads: Fix layout. Update copyright notice.
20914
20915 * mdll.adb: Fix layout. Update copyright notice.
20916
1753e0ad
RD
209172001-10-30 Robert Dewar <dewar@gnat.com>
20918
20919 * usage.adb: Minor fix to output for -gnaty.
20920
84bfdde0
ES
209212001-10-30 Ed Schonberg <schonber@gnat.com>
20922
f8e0aa73
AJ
20923 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
20924 to accommodate all its possible values.
84bfdde0 20925
f8e0aa73 20926 * a-reatim.adb (Split): Special-case handling of Time_Span_First
84bfdde0
ES
20927 and of small absolute values of T.
20928
c296e5fc
RK
209292001-10-30 Richard Kenner <kenner@gnat.com>
20930
f8e0aa73
AJ
20931 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
20932 set_mem_attributes since not needed and wrong if RESULT if a REG;
c296e5fc
RK
20933 fixes ACATS failures.
20934
07c809df
GB
209352001-10-30 Geert Bosch <bosch@gnat.com>
20936
20937 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
20938 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
20939
54d22416 209402001-10-30 Robert Dewar <dewar@gnat.com>
f8e0aa73 20941
54d22416 20942 * bindusg.adb: Undocument -f switch.
f8e0aa73 20943
54d22416 20944 * gnatcmd.adb: Remove /FULL_ELABORATION.
f8e0aa73
AJ
20945
20946 * opt.ads (Force_RM_Elaboration_Order): Document that this is
54d22416 20947 obsolescent.
f8e0aa73 20948
54d22416 20949 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
f8e0aa73 20950
54d22416
RD
20951 * gnatbind.adb: Minor update of warning msg.
20952
af5cf6f8
VC
209532001-10-30 Vincent Celier <celier@gnat.com>
20954
f8e0aa73 20955 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
af5cf6f8 20956 for project file switches (-P (/PROJECT_FILE=),
f8e0aa73 20957 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
af5cf6f8
VC
20958 or MEDIUM or HIGH)
20959
984bc4c3
GB
209602001-10-30 Geert Bosch <bosch@gnat.com>
20961
20962 * decl.c: Minor whitespace fixes.
20963
5dece937
RK
209642001-10-30 Richard Kenner <kenner@gnat.com>
20965
20966 * utils2.c (build_allocator): Test for SIZE overflow in array case too
20967
de4bf6cb
GB
209682001-10-30 Geert Bosch <bosch@gnat.com>
20969
f8e0aa73 20970 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
de4bf6cb 20971 Found due to GCC 3.0 warning of using uninitialized value.
f8e0aa73 20972
de4bf6cb
GB
20973 * layout.adb:
20974 (Get_Max_Size): Use variant record for tracking value/expression.
20975 Makes logic clearer and prevents warnings for uninitialized variables.
20976 (Layout_Array_Type): Use variant record for tracking value/expression.
20977 Makes logic clearer and prevents warnings for uninitialized variables.
20978
f5e44987
RD
209792001-10-30 Robert Dewar <dewar@gnat.com>
20980
20981 * lib.adb: Minor reformatting
20982
20983 * s-taprop.ads: Minor reformatting
20984
45659035 209852001-10-29 Laurent Guerby <guerby@acm.org>
f8e0aa73 20986
45659035
GB
20987 * init.c:
20988 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
20989 const.
20990 (_gnat_error_handler): Make MSG const.
20991
209922001-10-29 Richard Kenner <kenner@gnat.com>
20993
20994 * sysdep.c: Fix localtime_r problem on LynxOS.
20995 Also remove #elif to avoid warnings.
f8e0aa73
AJ
20996
20997 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
45659035 20998 used by this.
f8e0aa73 20999
45659035
GB
21000 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
21001
638e383e
JM
210022001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
21003
21004 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
21005 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
21006 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
21007 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
21008 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
21009 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
21010 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
21011 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
21012 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
21013 types.ads, urealp.adb: Fix spelling errors.
21014
97f6baa0
LG
210152001-10-27 Laurent Guerby <guerby@acm.org>
21016
21017 * trans.c (gigi): Fix non determinism leading to bootstrap
21018 comparison failures for debugging information.
21019
46b58b8c
FW
210202001-10-26 Florian Weimer <fw@deneb.enyo.de>
21021
21022 * gnat_rm.texi: Use @./@: where appropriate.
21023
30151c7b
RD
210242001-10-26 Robert Dewar <dewar@gnat.com>
21025
21026 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
21027
c0b1738d
RK
210282001-10-26 Richard Kenner <kenner@gnat.com>
21029
21030 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
21031
5b09c153
RK
210322001-10-26 Richard Kenner <kenner@gnat.com>
21033
f8e0aa73 21034 * decl.c (validate_size): Modify message for bad size to avoid
5b09c153
RK
21035 implication that compiler is modifying the size.
21036
4d553668
RD
210372001-10-26 Robert Dewar <dewar@gnat.com>
21038
21039 * prj-util.adb: Minor reformatting. Fix bad header format.
21040
3e542a58
RD
210412001-10-26 Robert Dewar <dewar@gnat.com>
21042
21043 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
f8e0aa73 21044
3e542a58 21045 * sinfo.ads: Clarify use of Associated_Node (documentation only).
f8e0aa73
AJ
21046
21047 * sem_ch12.adb: Change Node4 to Associated_Node. Change
21048 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
3e542a58
RD
21049 much more narrowly in places where needed. These are cleanups.
21050
0bf08bfe
JB
210512001-10-26 Joel Brobecker <brobecke@gnat.com>
21052
21053 * 5zosinte.ads (null_pthread): new constant.
f8e0aa73 21054
0bf08bfe
JB
21055 * 5ztaprop.adb:
21056 (Initialize_TCB): Initialize thread ID to null, to be able to verify
21057 later that this field has been set.
21058 (Finalize_TCB): ditto.
21059 (Suspend_Task): Verify that the thread ID is not null before using it.
21060 (Resume_Task): ditto.
f8e0aa73 21061
0bf08bfe
JB
21062 * s-tasdeb.adb:
21063 (Resume_All_Tasks): Lock the tasks list before using it.
21064 (Suspend_All_Tasks): ditto.
21065
7a3a8c06
RK
210662001-10-26 Richard Kenner <kenner@gnat.com>
21067
f8e0aa73 21068 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
7a3a8c06
RK
21069 Make constant variant of designated type for Is_Access_Constant.
21070 Call update_pointer_to with main variant.
f8e0aa73
AJ
21071
21072 * trans.c (process_freeze_entity, process_type):
7a3a8c06 21073 Call update_pointer_to on main variant.
f8e0aa73 21074
7a3a8c06
RK
21075 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
21076 If main variant, update all other variants.
f8e0aa73
AJ
21077
21078 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
7a3a8c06
RK
21079 TREE_STATIC.
21080
a160babb
RD
210812001-10-26 Robert Dewar <dewar@gnat.com>
21082
21083 * prj-util.adb: Minor reformatting
21084
b403bd17
RD
210852001-10-26 Robert Dewar <dewar@gnat.com>
21086
21087 * prj-util.adb: Minor reformatting
21088
5fc3b4c7
RD
210892001-10-26 Robert Dewar <dewar@gnat.com>
21090
21091 * prj-attr.adb: Minor reformatting throughout
21092
8c736034
RD
210932001-10-26 Robert Dewar <dewar@gnat.com>
21094
21095 * prj-attr.ads: Minor reformatting
21096 Add ??? comment (this whole spec has almost no comments)
21097
47d5b6ed
VC
210982001-10-26 Vincent Celier <celier@gnat.com>
21099
f8e0aa73 21100 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
b4f94ac1 21101 ("//") that precede the drive letter on Interix.
47d5b6ed 21102
41af791f
GB
211032001-10-26 Geert Bosch <bosch@gnat.com>
21104
21105 * gnat_rm.texi: Add GNAT Reference Manual.
21106
ed4a1468
RD
211072001-10-25 Robert Dewar <dewar@gnat.com>
21108
f8e0aa73 21109 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
b4f94ac1 21110 is Error. Similar change for other renaming cases.
ed4a1468 21111
24377ae4
RD
211122001-10-25 Robert Dewar <dewar@gnat.com>
21113
21114 * s-atacco.ads: Add pragma Inline_Always for functions.
21115 Fix header format. Add copyright 2001
21116
fef3204e
ES
211172001-10-25 Ed Schonberg <schonber@gnat.com>
21118
f8e0aa73 21119 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
b4f94ac1 21120 return Error rather than Empty so that analysis can proceed.
fef3204e 21121
dfc69d80
ES
211222001-10-25 Ed Schonberg <schonber@gnat.com>
21123
f8e0aa73 21124 * sem_util.adb (Enter_Name): better handling of cascaded error
b4f94ac1 21125 messages when a unit appears in its own context.
dfc69d80 21126
5a15af62
ES
211272001-10-25 Ed Schonberg <schonber@gnat.com>
21128
f8e0aa73 21129 * sem_util.adb (Defining_Entity): in case of error, attach created
b4f94ac1 21130 entity to specification, so that semantic analysis can proceed.
5a15af62 21131
2b881d53
RD
211322001-10-25 Robert Dewar <dewar@gnat.com>
21133
f8e0aa73 21134 * sem_util.adb
b4f94ac1 21135 (Defining_Entity): Deal with Error.
2b881d53
RD
21136 (Process_End_Label): Deal with bad end label for.
21137
578053f2
ES
211382001-10-25 Ed Schonberg <schonber@gnat.com>
21139
f8e0aa73 21140 * sem_elab.adb (Check_A_Call): refine message when call is in an
578053f2
ES
21141 instance but callee is not declared in the generic unit.
21142
0597ce0b 211432001-10-25 Ed Schonberg <schonber@gnat.com>
f8e0aa73
AJ
21144
21145 * sem_elab.adb (Check_A_Call): check for renaming before finding the
0597ce0b
ES
21146 enclosing unit, which may already be different from the calling unit.
21147
3de6e6da
GB
211482001-10-25 Geert Bosch <bosch@gnat.com>
21149
21150 * 4gintnam.ads: fix header format.
21151
6f311316
ES
211522001-10-25 Ed Schonberg <schonber@gnat.com>
21153
f8e0aa73 21154 * sem_res.adb (Resolve_Call): if the call is actually an indexing
b4f94ac1
ZW
21155 operation on the result of a parameterless call, perform elaboration
21156 check after the node has been properly rewritten.
f8e0aa73
AJ
21157
21158 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
b4f94ac1
ZW
21159 inlined within the generic tree, the defining identifier is not a
21160 compilation_unit.
6f311316 21161
17be0cdf
ES
211622001-10-25 Ed Schonberg <schonber@gnat.com>
21163
f8e0aa73 21164 * sem_res.adb (Resolve): special-case resolution of Null in an
b4f94ac1 21165 instance or an inlined body to avoid view conflicts.
f8e0aa73
AJ
21166
21167 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
b4f94ac1 21168 compatibility by retrieving the access type of the generic copy.
17be0cdf 21169
ce9e9122
RD
211702001-10-25 Robert Dewar <dewar@gnat.com>
21171
21172 * sem_ch3.adb:
21173 (Analyze_Number_Declaration): Handle error expression.
21174 (Signed_Integer_Type_Declaration): Handle error bound.
21175 (Analyze_Subtype_Indication): Handle error range.
f8e0aa73 21176
ce9e9122
RD
21177 * sem_util.adb (Get_Index_Bounds): Check for Error.
21178
e12fbc9e
RD
211792001-10-25 Robert Dewar <dewar@gnat.com>
21180
f8e0aa73 21181 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
e12fbc9e
RD
21182 in no run time mode.
21183
52b80488
PO
211842001-10-25 Pascal Obry <obry@gnat.com>
21185
f8e0aa73 21186 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
b4f94ac1 21187 mode case for ALLOC case.
f8e0aa73
AJ
21188
21189 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
b4f94ac1 21190 all platforms. Improvement of last change.
52b80488 21191
316ad9c5
RD
211922001-10-25 Robert Dewar <dewar@gnat.com>
21193
21194 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
21195
1a7e4df4
GB
211962001-10-25 Geert Bosch <bosch@gnat.com>
21197
21198 * osint.adb (Is_Relative): Remove duplicate.
21199
90a9fff2
PO
212002001-10-25 Pascal Obry <obry@gnat.com>
21201
f8e0aa73 21202 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
b4f94ac1 21203 pathnames in UNIX and DOS style with drive letter.
90a9fff2 21204 (Is_Relative): new routine.
f8e0aa73 21205
90a9fff2 21206 * osint.adb: Minor reformatting
f8e0aa73
AJ
21207
21208 * osint.adb (Is_Relative): implementation using
b4f94ac1 21209 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
90a9fff2 21210
5c1ba4cc
PO
212112001-10-25 Pascal Obry <obry@gnat.com>
21212
f8e0aa73 21213 * g-dirope.adb (Basename): correctly compute offset between the
b4f94ac1 21214 original Path and the translated one.
f8e0aa73 21215
5c1ba4cc
PO
21216 * g-dirope.adb: (Base_Name): add some comments.
21217
a7fb206d
RD
212182001-10-25 Robert Dewar <dewar@gnat.com>
21219
f8e0aa73 21220 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
b4f94ac1 21221 in HIE mode, avoids compilation abandoned message
f8e0aa73 21222
a7fb206d 21223 * exp_imgv.adb: Correct typo in previous change
f8e0aa73 21224
a7fb206d
RD
21225 * exp_imgv.adb: Correct typo in previous change (not my day!)
21226
e6a7e62e
RD
212272001-10-25 Robert Dewar <dewar@gnat.com>
21228
21229 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
21230
0d2b8e0b 212312001-10-25 Pascal Obry <obry@gnat.com>
75c09e7d 21232
f8e0aa73 21233 * g-awk.ads: Move all pragma inlines next to the routine
0d2b8e0b 21234 declarations. This is more uniform with other GNAT spec.
75c09e7d 21235
0d2b8e0b 212362001-10-22 Geert Bosch <bosch@gnat.com>
d2740a69
GB
21237
21238 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
21239
0d2b8e0b 212402001-10-19 Geert Bosch <bosch@gnat.com>
d7ac9bdd
GB
21241
21242 * Makefile.in (tools, gnattools): Remove gnatmem.
21243
17ed6335
RH
212442001-10-17 Richard Henderson <rth@redhat.com>
21245
21246 * Makefile.in (misc.o): Depend on langhooks.h.
21247 * misc.c: Include it.
21248 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
21249 (LANG_HOOKS_DECODE_OPTION): New.
21250 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
21251
f2436274
FW
212522001-10-16 Florian Weimer <fw@deneb.enyo.de>
21253
21254 * trans.c (tree_transform): Adjust to recent change in
21255 expand_asm_operands to implement named asm operands.
21256
b14127e6
ES
212572001-10-11 Ed Schonberg <schonber@gnat.com>
21258
f8e0aa73 21259 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
b14127e6
ES
21260 renaming of discriminant for mutable record type.
21261
e70ee92a
RD
212622001-10-11 Robert Dewar <dewar@gnat.com>
21263
21264 * validsw.adb: Properly save -gnatVn status.
21265
9a5621d7 212662001-10-11 Robert Dewar <dewar@gnat.com>
f8e0aa73 21267
9a5621d7
RD
21268 * usage.adb: Add lines for V switch.
21269
f8e0aa73 21270 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
9a5621d7
RD
21271 (/VALIDITY_CHECKING).
21272
45667f04
ES
212732001-10-11 Ed Schonberg <schonber@gnat.com>
21274
f8e0aa73 21275 * sem_type.adb (Add_One_Interp): an operator for a type declared in
45667f04
ES
21276 an extension of System is known to be visible.
21277
c3de5c4c
ES
212782001-10-11 Ed Schonberg <schonber@gnat.com>
21279
f8e0aa73 21280 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
c3de5c4c
ES
21281 properly. Fixes regression on ACATS C34005G.
21282
4fa964a6
RD
212832001-10-11 Robert Dewar <dewar@gnat.com>
21284
f8e0aa73 21285 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
4fa964a6
RD
21286 loop in generic instance, since this is likely not very useful.
21287
0868e09c
RD
212882001-10-11 Robert Dewar <dewar@gnat.com>
21289
f8e0aa73 21290 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
0868e09c 21291 the error message for high integrity mode.
f8e0aa73
AJ
21292
21293 * rtsfind.adb (RTE): Give message if we try to find an entity that
0868e09c 21294 is not available in high integrity mode.
f8e0aa73 21295
0868e09c
RD
21296 * rtsfind.ads:
21297 (OK_To_Use_In_HIE_Mode): New array.
21298 (RTE): May return Empty in high integrity mode.
f8e0aa73
AJ
21299
21300 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
21301 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
21302
21303 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
21304 unit if not inlined always and in no runtime mode. Fixes problem
0868e09c 21305 caused by new Rtsfind changes.
f8e0aa73
AJ
21306
21307 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
0868e09c 21308 body is deleted.
f8e0aa73
AJ
21309
21310 * rtsfind.adb (RTE): Make sure we do not try to load unit after
0868e09c
RD
21311 giving message for entity not available in high integrity mode.
21312
934abf9c 213132001-10-11 Pascal Obry <obry@gnat.com>
f8e0aa73 21314
934abf9c
PO
21315 * impunit.adb: Add GNAT.CRC32.
21316
3c72bea4
ES
213172001-10-11 Ed Schonberg <schonber@gnat.com>
21318
f8e0aa73
AJ
21319 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
21320 properly the case where one universal operand in a non-static
3c72bea4
ES
21321 exponentiation of a real literal.
21322
44d8d2bb
ES
213232001-10-11 Ed Schonberg <schonber@gnat.com>
21324
f8e0aa73
AJ
21325 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
21326 clause, return the gobal finalization list, for lack of anthing else.
44d8d2bb 21327
9e2b9627
ES
213282001-10-11 Ed Schonberg <schonber@gnat.com>
21329
f8e0aa73
AJ
21330 * exp_ch7.adb (Make_Transient_Block): if statement is within
21331 exception handler, always use new transient scope to place Clean
9e2b9627
ES
21332 procedure.
21333
cfac6e9f
PO
213342001-10-11 Pascal Obry <obry@gnat.com>
21335
21336 * Makefile.in:
21337 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21338 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21339 (GNATLS_RTL_OBJS): add g-crc32.o
21340 (GNATMAKE_RTL_OBJS): add g-crc32.o
f8e0aa73 21341
cfac6e9f
PO
21342 * ali-util.adb:
21343 (CRC_Match): new function.
f8e0aa73 21344 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
cfac6e9f
PO
21345 instead of the previous simple checksum algorithm.
21346 (Time_Stamp_Mismatch): use CRC_Match for comparison.
21347 (Set_Source_Table): idem.
f8e0aa73 21348
cfac6e9f 21349 * ali-util.ads:
f8e0aa73 21350 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
cfac6e9f
PO
21351 instead of simple checksum.
21352 (CRC_Match): new function.
21353 (CRC_Error): new constant.
f8e0aa73
AJ
21354
21355 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
21356 a CRC now and not a simple checksum. A CRC uses lower-case hex
cfac6e9f 21357 letters, fixes ambiguity in parsing.
f8e0aa73
AJ
21358
21359 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
cfac6e9f 21360 is what this variable will store.
f8e0aa73 21361
cfac6e9f 21362 * bcheck.adb: Change reference to chechsum in comments by CRC.
f8e0aa73
AJ
21363 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
21364 rename All_Checksum_Match to All_CRC_Match. Change due to API
21365 renaming since now GNAT does not use a simple checksum but a
cfac6e9f 21366 CRC using GNAT.CRC32.
f8e0aa73
AJ
21367
21368 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
cfac6e9f 21369 now and not anymore a simple checksum.
f8e0aa73
AJ
21370
21371 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
cfac6e9f 21372 places.
f8e0aa73 21373
cfac6e9f 21374 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
f8e0aa73 21375
cfac6e9f
PO
21376 * scans.adb:
21377 (Restore_Scan_State): rename Checksum to CRC.
21378 (Save_Scan_State): idem.
f8e0aa73 21379
cfac6e9f
PO
21380 * scans.ads:
21381 With GNAT.CRC32.
21382 (Checksum): rename to CRC.
21383 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
f8e0aa73
AJ
21384
21385 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 21386 GNAT.CRC32). Update copyright notice.
f8e0aa73
AJ
21387
21388 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 21389 GNAT.CRC32). Update copyright notice.
f8e0aa73 21390
cfac6e9f
PO
21391 * scn.adb:
21392 (Accumulate_Checksum): removed.
21393 (Update): new procedure. Add a wide-character into the CRC.
f8e0aa73 21394
cfac6e9f
PO
21395 * sinput-l.adb:
21396 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
f8e0aa73 21397 (Load_File): fix initialization of S (change Source_Checksum to
cfac6e9f 21398 Source_CRC)
f8e0aa73
AJ
21399
21400 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
cfac6e9f 21401 Source_CRC in S initialization.
f8e0aa73 21402
cfac6e9f 21403 * sinput.adb (Source_Checksum): renamed to Source_CRC.
f8e0aa73 21404
cfac6e9f
PO
21405 * sinput.ads (Source_Checksum): renamed to Source_CRC.
21406 Update comments for the CRC.
f8e0aa73 21407
cfac6e9f 21408 * types.adb (Hex): Use lowercase for the letter part.
f8e0aa73
AJ
21409
21410 * types.ads (Get_Hex_String): Returns the hexadecimal representation
21411 for a word. This is currently used only for CRC. In previous version,
21412 the checksum was using a representation with all letter being
21413 upper-case. With the new implementation (using CRC) we do not remove
21414 the 32th bit of the CRC, so we can have an upper-case starting letter
21415 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
21416 It is ambigous since the CRC was optional and could be followed by
21417 options like EB, EE. So now this routines uses lower-case letter for
21418 the hexadecimal representation. Strange enough only lower case letters
cfac6e9f 21419 where checked in Scan_ALI (even if this was not a possible case).
f8e0aa73 21420
cfac6e9f 21421 * gnatvsn.ads (Library_Version): changed to 3.15a.
f8e0aa73
AJ
21422
21423 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
cfac6e9f 21424 for the compiler.
f8e0aa73
AJ
21425
21426 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
cfac6e9f 21427 for the compiler.
f8e0aa73 21428
cfac6e9f
PO
21429 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
21430 Add 2001 to copyright notice
21431 (Accumulate_Checksum): Modify to use System.CRC32.
f8e0aa73
AJ
21432
21433 * ali-util.ads: Redo changes of previous revision to continue to use
cfac6e9f 21434 the word Checksum. Add 2001 to copyright notice.
f8e0aa73 21435
cfac6e9f
PO
21436 * ali.adb: Undo some of previous changes, not needed.
21437 Keep the change for lower case letters in the checksum.
f8e0aa73 21438
cfac6e9f
PO
21439 * ali.ads: Undo previous change not needed.
21440
21441 * bcheck.adb: Undo most of previous change, not needed.
21442 But do use Checksums_Match for checksum comparison.
f8e0aa73 21443
cfac6e9f
PO
21444 * gnatls.adb: Undo most of previous change, not needed.
21445 But do use Checksums_Match for comparing checksums.
f8e0aa73 21446
cfac6e9f 21447 * lib-load.adb: Undo previous change, not needed.
f8e0aa73 21448
cfac6e9f 21449 * lib-writ.adb: Undo previous change, not needed.
f8e0aa73
AJ
21450
21451 * lib-writ.ads: Document that checksums use lower case,
cfac6e9f 21452 not upper case letters.
f8e0aa73 21453
cfac6e9f 21454 * scans.adb: Undo previous change, not needed
f8e0aa73 21455
cfac6e9f 21456 * scans.ads: Undo previous change, not needed.
f8e0aa73 21457
cfac6e9f 21458 * scn-nlit.adb: Undo previous changes, not needed.
f8e0aa73 21459
cfac6e9f 21460 * scn-slit.adb: Undo previous change, not needed. Fix header format.
f8e0aa73 21461
cfac6e9f
PO
21462 * scn.adb:
21463 (Accumulate_Checksum): Use System.CRC32.
21464 (Initialize_Checksum): New procedure.
21465 Remove other changes of previous revision.
f8e0aa73 21466
cfac6e9f 21467 * sinput-p.adb: Undo previous change, not needed.
f8e0aa73 21468
cfac6e9f
PO
21469 * sinput.adb: Undo previous change, not needed.
21470
21471 * sinput-l.adb: Undo previous change, not needed.
f8e0aa73
AJ
21472
21473 * sinput.ads: Undo previous change, not needed. Keep only comment
cfac6e9f 21474 on new checksum algorithm
f8e0aa73 21475
cfac6e9f
PO
21476 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
21477 Also remove a-tags and a-stream from GNAT sources.
f8e0aa73 21478
cfac6e9f 21479 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
f8e0aa73 21480
cfac6e9f
PO
21481 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
21482
4d6d06a5
GB
214832001-10-11 Geert Bosch <bosch@gnat.com>
21484
21485 * einfo.h: Regenerate.
21486
21487 * nmake.ads: Regenerate.
21488
21489 * nmake.adb: Regenerate.
21490
21491 * sinfo.h: Regenerate.
21492
21493 * treeprs.adb: Regenerate.
21494
c97412e2
GB
214952001-10-10 Geert Bosch <bosch@gnat.com>
21496
21497 * gnat-style.texi: New file describing coding guidelines for Ada.
f8e0aa73 21498
b83018ca
ES
214992001-10-10 Ed Schonberg <schonber@gnat.com>
21500
f8e0aa73 21501 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
b83018ca
ES
21502 is Flag174.
21503
e834fe1f
GB
215042001-10-10 Geert Bosch <bosch@gnat.com>
21505
21506 * snames.ads: Add new names for project facility.
21507
21508 * snames.adb: Update to reflect snames.ads changes.
21509
21510 * snames.h: Update to reflect snames.ads changes.
21511
b30668b7
VC
215122001-10-10 Vincent Celier <celier@gnat.com>
21513
21514 * make.adb:
21515 (Add_Switches): reflect the changes for the switches attributes
21516 Default_Switches indexed by the programming language,
21517 Switches indexed by the file name.
21518 (Collect_Arguments_And_Compile): Idem.
21519 Reflect the attribute name changes.
f8e0aa73 21520
b30668b7
VC
21521 * prj-attr.adb:
21522 (Initialisation_Data): Change the names of some packages and
21523 attributes.
21524 (Initialize): process case insensitive associative arrays.
f8e0aa73 21525
b30668b7
VC
21526 * prj-attr.ads:
21527 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
f8e0aa73 21528
b30668b7
VC
21529 * prj-dect.adb:
21530 (Parse_Attribute_Declaration): For case insensitive associative
21531 arrays, set the index string to lower case.
f8e0aa73 21532
b30668b7
VC
21533 * prj-env.adb:
21534 Reflect the changes of the project attributes.
f8e0aa73 21535
b30668b7
VC
21536 * prj-nmsc.adb:
21537 Replace Check_Naming_Scheme by Ada_Check and
21538 Language_Independent_Check.
f8e0aa73 21539
b30668b7
VC
21540 * prj-nmsc.ads:
21541 Replaced Check_Naming_Scheme by 2 procedures:
21542 Ada_Check and Language_Independent_Check.
f8e0aa73 21543
b30668b7
VC
21544 * prj-proc.adb:
21545 (Process_Declarative_Items): For case-insensitive associative
21546 arrays, set the index string to lower case.
21547 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
21548 Prj.Nmsc.Check_Naming_Scheme.
f8e0aa73 21549
b30668b7
VC
21550 * prj-tree.adb:
21551 (Case_Insensitive): New function
21552 (Set_Case_Insensitive): New procedure
f8e0aa73 21553
b30668b7
VC
21554 * prj-tree.ads:
21555 (Case_Insensitive): New function
21556 (Set_Case_Insensitive): New procedure
21557 (Project_Node_Record): New flag Case_Insensitive.
f8e0aa73 21558
b30668b7
VC
21559 * prj-util.adb:
21560 (Value_Of): new function to get the string value of a single
21561 string variable or attribute.
f8e0aa73 21562
b30668b7
VC
21563 * prj-util.ads:
21564 (Value_Of): new function to get the string value of a single
21565 string variable or attribute.
f8e0aa73 21566
b30668b7
VC
21567 * prj.adb:
21568 (Ada_Default_Spec_Suffix): New function
21569 (Ada_Default_Impl_Suffix): New function
21570 Change definitions of several constants to reflect
21571 new components of record types.
f8e0aa73 21572
b30668b7
VC
21573 * prj.ads:
21574 (Naming_Data): Change several components to reflect new
21575 elements of naming schemes.
21576 (Project_Data): New flags Sources_Present and
21577 Language_Independent_Checked.
21578 (Ada_Default_Spec_Suffix): New function.
21579 (Ada_Default_Impl_Suffix): New function.
f8e0aa73 21580
b30668b7
VC
21581 * snames.ads:
21582 Modification of predefined names for project manager: added
21583 Implementation, Specification_Exceptions, Implementation_Exceptions,
21584 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
21585 Default_Switches, _Languages, Builder, Cross_Reference,
21586 Finder. Removed Body_Part, Specification_Append, Body_Append,
21587 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
21588 Gnatlink.
f8e0aa73 21589
b30668b7
VC
21590 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
21591 Add comments.
f8e0aa73 21592
b30668b7
VC
21593 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
21594 not that it is Nil_Variable_Value.
f8e0aa73 21595
b30668b7
VC
21596 * prj.ads: Add ??? for uncommented declarations
21597
662e57b4
ES
215982001-10-10 Ed Schonberg <schonber@gnat.com>
21599
f8e0aa73
AJ
21600 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
21601 constant, do not indicate possible modification, so that gigi can
662e57b4
ES
21602 treat it as a bona fide constant.
21603
72e4357f
RD
216042001-10-10 Robert Dewar <dewar@gnat.com>
21605
21606 * sem_prag.adb: Add processing for pragma External.
f8e0aa73 21607
72e4357f 21608 * snames.ads: Add entry for pragma External.
f8e0aa73 21609
72e4357f 21610 * par-prag.adb: Add pragma External.
f8e0aa73 21611
72e4357f
RD
21612 * snames.adb: Updated to match snames.ads.
21613
7bc1c7df
ES
216142001-10-10 Ed Schonberg <schonber@gnat.com>
21615
21616 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
21617 a dynamic task if the allocator appears in an indexed assignment
21618 or selected component assignment.
f8e0aa73
AJ
21619
21620 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
21621 For a dynamic task in an assignment statement, use target of
7bc1c7df
ES
21622 assignment to generate meaningful name.
21623
c84700e7
ES
216242001-10-10 Ed Schonberg <schonber@gnat.com>
21625
f8e0aa73 21626 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
c84700e7
ES
21627 a generic package.
21628
21629 * einfo.ads: Body_Entity is also defined for generic package.
21630 Documentation change only
f8e0aa73
AJ
21631
21632 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
21633 others_choice for a discriminated component initialization,
21634 convert discriminant references into the corresponding discriminals.
21635
21636 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
21637 only if original type is private and expression has to be wrapped
c84700e7 21638 in a conversion.
f8e0aa73
AJ
21639
21640 * checks.adb:
21641 (Apply_Constraint_Check): Do not perform length check
c84700e7 21642 if expression is an aggregate with only an others_choice.
f8e0aa73 21643 (Length_N_Cond): two references to the same in_parameter
c84700e7
ES
21644 (typically the discriminal in an init_proc) denote the same value.
21645 Two useful optimization uncovered by bugfixes above.
21646
d8d80dcd
RD
216472001-10-10 Robert Dewar <dewar@gnat.com>
21648
f8e0aa73 21649 * xeinfo.adb: Change int to char in translation of enumeration types.
d8d80dcd
RD
21650 This fixes a problem in the C representation of component alignment.
21651 Add 2001 to copyright notice
21652
a8fee948
RK
216532001-10-10 Richard Kenner <kenner@gnat.com>
21654
f8e0aa73 21655 * decl.c: (validate_size): Do check size of object of integral type
a8fee948
RK
21656 if it is a packed array type.
21657
c2d7fe59
RK
216582001-10-10 Richard Kenner <kenner@gnat.com>
21659
f8e0aa73 21660 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
c2d7fe59
RK
21661 VAR_DECL for constant if not Is_Public but -O0.
21662
fb75e100
RK
216632001-10-10 Richard Kenner <kenner@gnat.com>
21664
21665 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
21666
1724557a
GB
216672001-10-10 Geert Bosch <bosch@gnat.com>
21668
f8e0aa73 21669 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
1724557a
GB
21670 use '/' as switch character, allowing for absolute file names.
21671
9f2f9eb6
JM
216722001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
21673
21674 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
21675 FSF address.
21676
8fecf41d
GB
216772001-10-08 Geert Bosch <bosch@gnat.com>
21678
21679 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
21680 Automatically build utilities when files need to be regenerated.
21681
589f1edf
GB
216822001-10-08 Geert Bosch <bosch@gnat.com>
21683
21684 * xsnames.adb: New utility for updating snames.ads and snames.adb
21685
67f28219
ZW
216862001-10-08 Zack Weinberg <zack@codesourcery.com>
21687
21688 * Make-lang.in (ADAFLAGS): Add -W -Wall.
21689 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
21690 (gnat1): Also depend on attribs.o.
21691 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
21692 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
21693 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
21694 (ADAFLAGS): Add -W -Wall.
21695 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
21696 take out CFLAGS.
21697
21698 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
21699 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
21700 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
21701 Use $(ADAC), not $(CC), as compilation command.
21702
21703 (gnattools): Depend directly on tools to build, don't use
21704 recursive make.
21705 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
21706
21707 * einfo.h, sinfo.h: New files (autogenerated).
21708
295ef2bb
RH
217092001-10-08 Richard Henderson <rth@redhat.com>
21710
21711 * comperr.adb (Abort_In_Progress): New.
21712 (Compiler_Abort): Use it to prevent recursion.
21713
5c736541
RD
217142001-10-08 Robert Dewar <dewar@gnat.com>
21715
21716 * atree.adb: Set Error_Posted in Error node, helps error recovery.
67f28219
ZW
21717
21718 * par-endh.adb (Output_End_Expected): We should also not test
5c736541 21719 Error_Posted on the Error node, since now it is always set.
67f28219
ZW
21720
21721 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
5c736541 21722 to help error recovery. Part of general work on 9407-004.
67f28219 21723
5c736541 21724 * par.adb: Add ??? for misuse of error
67f28219 21725
5c736541
RD
21726 * sem_res.adb:
21727 (Resolve): Defend against Error, fixes 9407-003.
21728 (Resolve_Discrete_Subtype_Indication): Defend against Error.
67f28219
ZW
21729
21730 * sinfo.ads (N_Error): Now has Etype field (which will be set
5c736541
RD
21731 to Any_Type to help error recovery).
21732
a153ae15
RK
217332001-10-08 Richard Kenner (kenner@gnat.com)
21734
21735 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
21736 Consistently set MEM attributes from expression; fixes
21737 bootstrap failure on x86.
21738
743f3c7b
GB
217392001-10-08 Geert Bosch (bosch@gnat.com)
21740
21741 * 5oosinte.adb: Add 2001 to copyright notice.
21742
210c4ef4
GB
217432001-10-08 Geert Bosch (bosch@gnat.com)
21744
21745 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
21746
21747 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
21748
cc712abf
JM
217492001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
21750
21751 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
21752
4c4abc0f
GB
217532001-10-05 Geert Bosch (bosch@gnat.com)
21754
21755 * adaint.h: Small formatting fix.
21756
7f50e2e3
GB
217572001-10-04 Geert Bosch <bosch@gnat.com>
21758
21759 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
21760 Arg is int, not FILE *, in dummy version of functions.
67f28219 21761
7f50e2e3
GB
21762 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
21763 Arg is int, not FILE *.
21764
5d1a9698
GB
217652001-10-04 Geert Bosch <bosch@gnat.com>
21766
21767 * 3lsoccon.ads: Added file, missed with initial check ins.
67f28219 21768
5d1a9698
GB
21769 * 4lintnam.ads: Fix header format.
21770 Change Linux to GNU/Linux.
67f28219 21771
5d1a9698
GB
21772 * 5iosinte.adb: Change Linux to GNU/Linux.
21773
21774 * 5iosinte.ads: Change Linux to GNU/Linux.
67f28219 21775
5d1a9698 21776 * 5itaprop.adb: Change Linux to GNU/Linux.
67f28219 21777
5d1a9698
GB
21778 * 5itaspri.ads: Change Linux to GNU/Linux.
21779 Update copyright notice.
67f28219 21780
5d1a9698 21781 * 5lintman.adb: Change Linux to GNU/Linux.
67f28219 21782
5d1a9698 21783 * 5lml-tgt.adb: Change Linux to GNU/Linux.
67f28219 21784
5d1a9698 21785 * 5losinte.ads: Change Linux to GNU/Linux.
67f28219 21786
5d1a9698 21787 * 5lsystem.ads: Change Linux to GNU/Linux.
67f28219 21788
5d1a9698 21789 * 5qosinte.adb: Change Linux to GNU/Linux.
67f28219 21790
5d1a9698 21791 * 5qosinte.ads: Change Linux to GNU/Linux.
67f28219 21792
5d1a9698 21793 * 5qparame.ads: Change Linux to GNU/Linux.
67f28219 21794
5d1a9698 21795 * 5qtaprop.adb: Change Linux to GNU/Linux.
67f28219 21796
5d1a9698
GB
21797 * 5qtaspri.ads: Change Linux to GNU/Linux.
21798 Add 2001 to copyright notice.
67f28219 21799
5d1a9698
GB
21800 * 5vintman.ads: Change Linux to GNU/Linux.
21801 Fix header format. Add 2001 to copyright notice.
67f28219 21802
5d1a9698 21803 * g-soccon.ads: Change Linux to GNU/Linux.
67f28219 21804
5d1a9698
GB
21805 * g-trasym.ads: Change Linux to GNU/Linux.
21806 Add 2001 to copyright notice.
67f28219 21807
5d1a9698 21808 * memtrack.adb: Change Linux to GNU/Linux.
67f28219 21809
5d1a9698
GB
21810 * s-intman.ads: Change Linux to GNU/Linux.
21811 Add 2001 to copyright notice. Fix header format.
67f28219 21812
5d1a9698 21813 * s-stache.adb: Change Linux to GNU/Linux.
67f28219 21814
5d1a9698 21815 * adaint.c: Change Linux to GNU/Linux.
67f28219 21816
5d1a9698 21817 * cio.c: Change Linux to GNU/Linux.
67f28219 21818
5d1a9698 21819 * cstreams.c: Change Linux to GNU/Linux.
67f28219 21820
5d1a9698 21821 * init.c: Change Linux to GNU/Linux.
67f28219 21822
5d1a9698 21823 * gmem.c: Change Linux to GNU/Linux.
67f28219 21824
5d1a9698
GB
21825 * tracebak.c: Change Linux to GNU/Linux.
21826
21827
c25ca2d7
GB
218282001-10-02 Geert Bosch <bosch@gnat.com>
21829
21830 * misc.c (insert_default_attributes): Add dummy version.
This page took 3.16654 seconds and 5 git commands to generate.