1 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3 * tb-gcc.c: Fix copyright notice.
5 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
7 * init.c (__gnat_set_globals): Add prototype.
8 * adaint.c (__gnat_binder_supports_auto_init): Likewise.
9 (__gnat_sals_init_using_constructors): Likewise.
10 * gcc-interface/utils.c (gnat_pushlevel): Likewise.
11 (get_block_jmpbuf_decl): Likewise.
12 (gnat_poplevel): Likewise.
13 (merge_sizes): Rename local variable.
14 (copy_type): Likewise.
15 (build_vms_descriptor32): Likewise.
16 (build_vms_descriptor): Likewise.
17 (convert_vms_descriptor64): Likewise.
18 (convert_vms_descriptor32): Likewise.
19 (convert_to_fat_pointer): Likewise.
20 (maybe_unconstrained_array): Likewise.
21 (def_fn_type): Use promoted type with va_arg.
22 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
23 (substitute_in_type): Rename local variable.
24 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
26 2009-06-26 Laurent GUERBY <laurent@guerby.net>
28 * tb-gcc.c (trace_callback): Use char* instead of void*.
29 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
30 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
31 (Attribute_to_gnu): Adjust for above change.
32 (Subprogram_Body_to_gnu): Likewise.
33 * gcc-interface/utils.c (merge_sizes): Rename local variable.
34 (copy_type): Likewise.
35 (build_vms_descriptor32): Likewise.
36 (build_vms_descriptor): Likewise.
37 (convert_vms_descriptor64): Likewise.
38 (convert_vms_descriptor32): Likewise.
39 (convert_to_fat_pointer): Likewise.
40 (maybe_unconstrained_array): Likewise.
41 * gcc-interface/decl.c (substitute_in_type): Likewise.
43 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
45 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
46 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
47 of the upper bound of the index types.
49 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
51 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
52 out common predicate. Use the maximum to compute the upper bound of
53 the index type only when it is not wider than sizetype. Perform the
54 comparison in the index type for the generic expression. Use real
55 precision to decide whether to generate special types for debugging
58 2009-06-26 Matthew Gingell <gingell@adacore.com>
60 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
62 2009-06-26 Vincent Celier <celier@adacore.com>
64 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
67 2009-06-26 Robert Dewar <dewar@adacore.com>
69 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
71 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
73 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
74 correct arguments to create_field_decl. Remove redundant iteration.
75 Rewrite computation of the maximum size.
76 <E_Array_Subtype>: Reorder and simplify handling of special cases.
77 Rewrite computation of the maximum size. Use consistent naming.
78 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
79 comparison order for consistency. Use generic integer node to
80 build the operator and fold the result.
82 2009-06-25 Vincent Celier <celier@adacore.com>
84 * vms_data.ads: Minor comment change
86 2009-06-25 Gary Dismukes <dismukes@adacore.com>
88 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
89 assignment statement to targeting a caller-provided object when the
90 result type is an interface type.
92 * exp_ch6.adb (Expand_Call): Remove redundant test of
93 Is_Limited_Interface (Is_Inherently_Limited is sufficient).
94 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
96 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
97 to OK_For_Limited_Init.
99 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
100 condition so that True is returned for all limited interfaces, not
101 just synchronized ones. Ignore components of an interface type when
102 checking for limited components (such a component can be a parent
105 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
106 (OK_For_Limited_Init): Add type parameter.
108 * sem_ch3.adb (Check_Initialization): Add type in call to
110 (OK_For_Limited_Init): Add new type param in call to
111 OK_For_Limited_Init_In_05.
112 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
113 nonlimited type when the context type is a limited interface. Add type
116 * sem_ch4.adb (Analyze_Allocator): Add type in call to
119 * sem_ch6.adb (Check_Limited_Return): Add type in call to
122 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
124 (Instantiate_Object): Add type in call to OK_For_Limited_Init.
126 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
127 class-wide interface, get the base type before applying Etype, in order
128 to account for class-wide subtypes.
130 2009-06-25 Emmanuel Briot <briot@adacore.com>
132 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
133 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
134 between gnatmake and gprbuild.
135 (Naming_Data): Removed, no longer used
136 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
137 needed locally in one subprogram, no need to store forever in the
139 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
141 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
142 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
143 Spec_Suffix_Id_Of): removed, no longer used.
145 2009-06-25 Javier Miranda <miranda@adacore.com>
147 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
148 types on qualified expression in calls to imported C++ constructors.
150 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
151 imported C++ constructors.
153 2009-06-25 Sergey Rybin <rybin@adacore.com>
155 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
157 2009-06-25 Vincent Celier <celier@adacore.com>
159 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
160 provided, on Windows change all '/' to '\'.
162 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
163 used. Minor comment changes
165 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
166 Remove_Forbidden_File_Name.
168 2009-06-25 Quentin Ochem <ochem@adacore.com>
170 * prj.ads (Unit_Index): Now general access type.
172 2009-06-25 Pascal Obry <obry@adacore.com>
174 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
176 2009-06-25 Emmanuel Briot <briot@adacore.com>
178 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
179 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
180 computed efficiently from the other fields.
181 (Object_To_Global_Archive): New subprogram
182 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
183 (Override_Kind): Fix handling of separates in Ada.
184 (Create_Mapping_File): Remove duplicate code
185 (Naming_Data.Implementation_Exception, Specification_Exception):
186 field removed, since never used.
187 (Naming_Data.Specs, .Bodies): field removed, since this is only
188 used while processing the project and is not needed once the tree
189 is in memory. This brings Naming_Data and Lang_Naming_Data
190 closer (same content now, but different use still).
192 2009-06-25 Pascal Obry <obry@adacore.com>
194 * sem_ch4.adb: Minor reformatting.
196 * a-strsea.adb: Fix confusion between 'Length and 'Last.
198 2009-06-25 Ed Schonberg <schonberg@adacore.com>
200 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
201 Unchecked_Access): If the context is an interface type, and the prefix
202 is of the corresponding class-wide type, do not insert a conversion
203 because the pointer displacement has already taken place, and we must
204 retain the class-wide type in a dispatching context.
206 2009-06-25 Emmanuel Briot <briot@adacore.com>
208 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
209 the previous source file.
210 (Create_Mapping): Iterate on sources rather than on units.
212 2009-06-25 Emmanuel Briot <briot@adacore.com>
214 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
215 prj-env.adb, prj-env.ads (Slash): removed, no longer used
216 (Source_Data): no longer use Path.Name to point to a locally removed
217 file. Instead we use the field Locally_Removed which is clearer
219 2009-06-25 Arnaud Charlet <charlet@adacore.com>
221 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
223 * sem_maps.adb, sem_maps.ads: Removed, not used.
225 2009-06-25 Ed Falis <falis@adacore.com>
227 * s-vxwext-rtp.ads: Add missing declaration
229 2009-06-25 Matthew Gingell <gingell@adacore.com>
231 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
232 speed up unmapped case.
234 2009-06-25 Vincent Celier <celier@adacore.com>
236 * prj-nmsc.adb (Check): Change error message for illegal abstract
239 2009-06-25 Robert Dewar <dewar@adacore.com>
241 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
243 2009-06-25 Emmanuel Briot <briot@adacore.com>
245 * fmap.ads: Add documentation on mapping files
247 2009-06-25 Robert Dewar <dewar@adacore.com>
249 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
252 2009-06-24 Robert Dewar <dewar@adacore.com>
254 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
256 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
260 2009-06-24 Ed Schonberg <schonberg@adacore.com>
262 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
263 present when checking whether a call may be interpreted as an indexing
264 of the result of a call.
266 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
267 body for a null procedure on the freeze actions for the procedure, so
268 that it will be analyzed at the proper place without premature freezing
271 * sem_ch3.adb (Check_Completion): Code cleanup.
272 Do not diagnose a null procedure without a body, if previous errors
273 have disabled expansion.
275 2009-06-24 Doug Rupp <rupp@adacore.com>
277 * init.c [VMS] Resignal C$_SIGKILL
279 2009-06-24 Ed Falis <falis@adacore.com>
281 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
282 Define ERROR in body for VxWorks 6 kernel
284 2009-06-24 Pascal Obry <obry@adacore.com>
286 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
287 in [Send/Receive]_Socket.
289 2009-06-24 Emmanuel Briot <briot@adacore.com>
291 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
292 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
293 to several subprograms.
294 (Source_Data.Other_Part): Removed, since can be computed from the
296 (Other_Part): New subprogram.
298 2009-06-24 Emmanuel Briot <briot@adacore.com>
300 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
301 the full base name of the file when the suffix doesn't start with a '.'.
303 2009-06-24 Vincent Celier <celier@adacore.com>
305 * prj-nmsc.adb (Check): A project declared abstract is legal if no
306 attribute Source_Dirs, Source_Files, Source_List_File or Languages is
309 2009-06-24 Robert Dewar <dewar@adacore.com>
311 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
312 prj-env.adb: Minor reformatting
314 2009-06-24 Ed Falis <falis@adacore.com>
316 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
317 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
318 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
319 support for VxWorks SMP.
321 * gcc-interface/Make-lang.in: Update dependencies
323 2009-06-24 Emmanuel Briot <briot@adacore.com>
325 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
326 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
328 (Source_Data.Lang_Kind): Removed, since it duplicates information
329 already available through Language.Config.
330 (Source_Data.Compile): Removed, since information is already available
331 through the language.
332 (Is_Compilable): New subprogram.
333 (Source_Data.Dependency): Removed, since already available through
335 (Source_Data.Object_Exist, Object_Linked): Removed since available
336 through the language already.
337 (Unit_Data.File_Names): Is now also set in multi_language mode, to
338 bring the two modes closer in the resulting data structures.
339 (Source_Data.Unit): Now a direct pointer to the unit data, rather than
340 just the name that would point into a hash table.
341 (Get_Language_From_Name): New subprogram.
343 2009-06-24 Javier Miranda <miranda@adacore.com>
345 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
346 visible through limited-with context clauses. In addition, avoid an
347 extra tag check that is not required when the class-wide
348 designated types of the operand and target types are
350 (Tagged_Membership): Handle entities from the limited view.
352 2009-06-24 Emmanuel Briot <briot@adacore.com>
354 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
355 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
356 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
357 different vocabularies for similar concepts (Impl/Body_Part and
359 (Unit_Data): now points directly to a Source_Id, rather than duplicating
360 some of the information in File_Name_Data. This also saves a bit of
361 memory. However, since we are now using a pointer we need to test
362 for null explicitly in several places of the code
364 2009-06-24 Javier Miranda <miranda@adacore.com>
366 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
367 from processing the type conversion when the node is
368 replaced by an N_Raise_Program_Error node.
370 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
372 * sem_ch6.adb (Designates_From_With_Type): New routine.
373 (Process_Formals): Since anonymous access types are no longer flagged
374 as from with types, traverse the designated type to determine whether
375 it is coming from a limited view.
377 * sem_res.adb: Remove with and use clauses for Sem_Ch10.
378 (Full_Designated_Type): Use Available_View to extract the non-limited /
381 2009-06-24 Robert Dewar <dewar@adacore.com>
383 * exp_ch6.adb: Minor reformatting
385 * layout.adb: Minor reformatting
387 * make.adb: Minor reformatting
389 2009-06-24 Thomas Quinot <quinot@adacore.com>
391 * sem_ch10.adb: Minor code reorganization.
393 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
395 * ttypes.ads: Minor editing.
397 2009-06-24 Robert Dewar <dewar@adacore.com>
399 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
400 in deciding to do call-by-copy code.
402 2009-06-24 Vincent Celier <celier@adacore.com>
404 * make.adb (Gnatmake): To decide if an executable should be rebuilt,
405 check if an externally built library file is more current than the
408 2009-06-23 Olivier Hainque <hainque@adacore.com>
410 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
411 c-common.c and populate in gnat_internal_attribute_table.
413 2009-06-23 Ed Schonberg <schonberg@adacore.com>
415 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
416 Available_View only when designated type of an anonymous access type
419 2009-06-23 Robert Dewar <dewar@adacore.com>
421 * sem_ch10.adb: Minor reformatting
423 * ali.ads: Mino reformatting.
425 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
426 turning off inlining if ASIS mode active).
428 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
429 This belongs in gnat1drv.adb after switches are scanned.
431 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
433 * sem_attr.adb: Add with and use clauses for Sem_Ch10.
434 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
435 when dealing with class-wide types. Detect a legal shadow entity and
436 retrieve its non-limited view.
438 * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
439 subprogram to top package level from Intall_Limited_Withed_Unit.
440 (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
441 Add check which prevents the installation of a limited view if the
442 non-limited view is already visible through a with clause.
443 (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
444 legal shadow entity which may occur in subprogram formals of anonymous
447 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
449 * sem_ch3.adb (Access_Definition): Remove the propagation of flag
450 From_With_Type from the designated type to the generated anonymous
451 access type. Remove associated comment.
453 * sem_res.adb Add with and use clauses for Sem_Ch10.
454 (Full_Designated_Type): Detect a legal shadow entity and retrieve its
455 non-limited view. Since the shadow entity may replace a regular
456 incomplete type, return the available full view.
458 2009-06-23 Ed Schonberg <schonberg@adacore.com>
460 * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
461 incomplete type declarations. Previous code was potentially quadratic
462 in the number of visible declarations in any package appearing in a
465 2009-06-23 Robert Dewar <dewar@adacore.com>
467 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
468 xref_lib.adb: Minor reformatting
470 2009-06-23 Robert Dewar <dewar@adacore.com>
472 * a-stzhas.adb: Provide dummy body to avoid build problems with old
473 versions which did have a body for this unit.
475 2009-06-23 Vincent Celier <celier@adacore.com>
477 * prj-attr.adb: Attribute names Initial_Required_Switches and
478 Final_Required_Switches changed to Leading_Required_Switches and
479 Trailing_Required_Switches.
481 * prj-nmsc.adb (Process_Compiler): Attribute names
482 Initial_Required_Switches and Final_Required_Switches changed to
483 Leading_Required_Switches and Trailing_Required_Switches.
485 * prj.ads (Language_Config): Component Initial_Required_Switches and
486 Final_Required_Switches changed to Leading_Required_Switches and
487 Trailing_Required_Switches.
489 * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
490 Final_Required_Switches; add standard names Leading_Required_Switches
491 and Trailing_Required_Switches.
493 2009-06-23 Thomas Quinot <quinot@adacore.com>
495 * prj-conf.adb: Minor reformatting
497 * xref_lib.adb: Minor cleanup
499 2009-06-23 Emmanuel Briot <briot@adacore.com>
501 * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
502 prj-conf.ads (Check_Configuration): New parameter
503 Compiler_Driver_Mandatory.
505 2009-06-23 Ed Schonberg <schonberg@adacore.com>
507 * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
508 context of the current unit has an inline pragma, the instance is not
509 rewritten as the declaration of the package wrapper. Handle both
510 possibilities when retrieving the visible subprogram that renames the
511 instantiation itself.
513 2009-06-23 Javier Miranda <miranda@adacore.com>
515 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
516 designated types referencing entities from the limited view.
518 2009-06-23 Robert Dewar <dewar@adacore.com>
520 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
522 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
525 * prj-conf.ads: Minor reformatting
527 * prj-conf.adb: Minor reformatting
529 2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
531 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
532 to correspond to the log format that gnatmem now expects.
534 2009-06-23 Vincent Celier <celier@adacore.com>
536 * prj-attr.adb: New attributes Initial_Required_Switches,
537 Final_Required_Switches and Object_File_Switches
539 * prj-nmsc.adb (Process_Compiler): Process new attributes
540 Name_Final_Required_Switches, Name_Initial_Required_Switches and
541 Name_Object_File_Switches.
543 * prj.ads (Language_Config): New component
544 Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
545 Compiler_Final_Required_Switches and Object_File_Switches.
547 * snames.ads-tmpl: New standard names Initial_Required_Switches,
548 Final_Required_Switches and Object_File_Switches
550 2009-06-23 Pascal Obry <obry@adacore.com>
552 * s-strhas.adb, s-strhas.ads: Minor reformatting.
554 2009-06-23 Ed Schonberg <schonberg@adacore.com>
556 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
557 not indicate that the enclosing unit needs a body.
559 2009-06-23 Emmanuel Briot <briot@adacore.com>
561 * prj-conf.ads, prj-conf.adb: New files part of the project manager.
563 2009-06-23 Ed Schonberg <schonberg@adacore.com>
565 * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
566 primitive equality include it with its source name even if the
567 operation is currently invisible, to make sure that the corresponding
568 slot in the dispatch table is reserved for the internal equality
569 subsequently generated during expansion.
571 2009-06-23 Matthew Gingell <gingell@adacore.com>
573 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
575 2009-06-22 Jose Ruiz <ruiz@adacore.com>
577 * sysdep.c (__gnat_localtime_tzoff for RTX):
578 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
579 GetTimeZoneInformation instead.
581 2009-06-22 Robert Dewar <dewar@adacore.com>
583 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
585 2009-06-22 Ed Schonberg <schonberg@adacore.com>
587 * sem_ch12.adb (Collect_Previous_Instances): Do not collect
588 instantiations declared in a previous generic package body.
590 2009-06-22 Robert Dewar <dewar@adacore.com>
592 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
593 restriction No_Direct_Boolean_Operators.
595 2009-06-22 Thomas Quinot <quinot@adacore.com>
597 * bindusg.adb: Minor fixes to gnatbind usage message
599 * sem_eval.adb: Minor reformatting
601 2009-06-22 Javier Miranda <miranda@adacore.com>
603 * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
604 freezing point the check on the use of abstract types in object
605 declarations. Done to allow the declaration of C++ imported variables
606 or constants whose type corresponds with an imported C++ classes for
607 which the constructor is not imported.
609 2009-06-22 Thomas Quinot <quinot@adacore.com>
611 * sem_ch6.adb: Minor reformatting
613 2009-06-22 Ed Schonberg <schonberg@adacore.com>
615 * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
616 component is constrained with an expression rather than with a
617 discriminant of the enclosing type, use that expression when building
618 the call to default-initialize the component, when the call is part of
619 an aggregate with box initialization.
621 2009-06-22 Ed Schonberg <schonberg@adacore.com>
623 * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
624 unconditional rather than a style check, because a formal name out of
627 2009-06-22 Vincent Celier <celier@adacore.com>
629 * prj-nmsc.adb (Locate_Directory): Indicate the project name when
630 creating a directory automatically.
632 2009-06-22 Eric Botcazou <ebotcazou@adacore.com>
634 * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
635 untagged derived type, add a hidden component for every constrained
636 discriminant of the parent type to keep record layout consistent.
638 2009-06-22 Thomas Quinot <quinot@adacore.com>
640 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
643 2009-06-22 Matthew Gingell <gingell@adacore.com>
645 * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
646 s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
647 g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
648 a-swuwha.adb: New unit System.String_Hash.
649 Refactor redundant cut and pasted hash functions with instances of a
650 new generic hash function.
651 Implement a new string hashing algorithm which appears in testing to
652 be move effective than to previous approach.
654 2009-06-22 Ed Falis <falis@adacore.com>
656 * sysdep.c: remove include for nfsLib.h and an NFS specific error
657 message for VxWorks 653 vThreads: not supported by the OS.
659 * gsocket.h: disable sockets for VxWorks 653 vThreads.
661 2009-06-22 Robert Dewar <dewar@adacore.com>
663 * sem_ch6.adb: Add ??? comment for bad use of Style_Check
665 2009-06-22 Robert Dewar <dewar@adacore.com>
667 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
670 * freeze.adb: Minor comment updates
672 * s-valrea.adb (Bad_Based_Value): New procedure
673 (Scan_Real): Raise exceptions with messages
675 2009-06-22 Matthew Gingell <gingell@adacore.com>
677 * adaint.h: Complete previous change.
679 2009-06-22 Thomas Quinot <quinot@adacore.com>
681 * exp_ch7.ads, exp_ch3.adb: Minor reformatting
683 2009-06-22 Ed Schonberg <schonberg@adacore.com>
685 * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
686 enabled, emit warning when a non-controlling argument of the overriding
687 operation appears out of place vis-a-vis of the formal of the
688 overridden operation.
690 2009-06-22 Vincent Celier <celier@adacore.com>
692 * gnatcmd.adb (Check_Files): Close temporary files after all file names
693 have been written into it.
695 2009-06-22 Matthew Gingell <gingell@adacore.com>
697 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
700 2009-06-22 Thomas Quinot <quinot@adacore.com>
702 * sem_disp.adb (Check_Direct_Call): Handle the case where the full
703 view of the root type is visible at the point of the call.
705 2009-06-22 Pat Rogers <rogers@adacore.com>
707 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
709 2009-06-22 Jerome Lambourg <lambourg@adacore.com>
711 * freeze.adb: Add comments.
713 2009-06-21 Thomas Quinot <quinot@adacore.com>
715 * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
716 sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
717 Factor out code to new subprogram...
718 (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
719 for a default initialized variable.
720 (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
721 entity that has an associated freeze node.
722 (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
723 If there is an init call for the object, defer it to the object freeze
725 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
726 name clash with new subprogram introduced in Exp_Util.
728 2009-06-21 Robert Dewar <dewar@adacore.com>
730 * einfo.ads: Minor reformatting
732 2009-06-21 Ed Falis <falis@adacore.com>
734 * env.c (__gnat_environ): return NULL for vThreads - unimplemented
736 2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
738 * einfo.ads: Update comments.
740 2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
742 * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
743 where the controlling formal is of private class-wide type whose
744 completion is a synchronized type can be converted into direct calls.
746 2009-06-21 Vincent Celier <celier@adacore.com>
748 * gnatcmd.adb (Check_Files): When all sources of the project are to be
749 indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
750 of sources using -files=, so that the distinction can be made by the
751 tool of a call with no source (to display the usage) from a call with
752 a project file that contains no source.
754 2009-06-21 Jerome Lambourg <lambourg@adacore.com>
756 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
757 case of VM convention arrays.
759 2009-06-20 Robert Dewar <dewar@adacore.com>
761 * a-nudira.adb: Minor reformatting
763 2009-06-20 Ed Schonberg <schonberg@adacore.com>
765 * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
766 expressions (possibly from a parent type) indicate that the scope of
767 the new itypes is the initialization procedure being built.
769 2009-06-20 Robert Dewar <dewar@adacore.com>
771 * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
772 Needs_64, and now computed without anomolies for some dynamic types.
774 2009-06-20 Thomas Quinot <quinot@adacore.com>
776 * sem_prag.adb: Minor reformatting
778 * exp_disp.ads: Minor reformatting
780 2009-06-20 Ed Schonberg <schonberg@adacore.com>
782 * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
783 function call is a legal expression to initialize a limited object.
785 * exp_ch3.adb: Rename various freeze operations that perform expansion
786 actions, to prevent confusion with subprograms in the freeze package.
788 2009-06-20 Ed Schonberg <schonberg@adacore.com>
790 * sem.adb (Walk_Library_Units): Check instantiations first.
792 * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
793 private primitive if it is a function with a controlling result that is
794 a type extension with progenitors.
796 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
797 a primitive operation of a synchronized tagged type that has a
800 2009-06-20 Thomas Quinot <quinot@adacore.com>
802 * einfo.ads: Fix typo.
804 2009-06-20 Ed Falis <falis@adacore.com>
806 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
808 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
810 * gcc-interface/trans.c (emit_check): Do not wrap up the result
812 (protect_multiple_eval): Always protect complex expressions.
814 2009-06-19 Emmanuel Briot <briot@adacore.com>
816 * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
817 make sure we always return a name ending with a path separator.
819 2009-06-19 Javier Miranda <miranda@adacore.com>
821 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
822 Save and restore the visibility of the parent when installed.
824 2009-06-19 Jose Ruiz <ruiz@adacore.com>
826 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
827 by Common which contains all these fields.
829 * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
830 Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
831 Remove code duplication in this package by means of calling the
832 equivalent code in s-taprob.
834 2009-06-19 Robert Dewar <dewar@adacore.com>
836 * a-einuoc.ads: Minor reformatting
838 2009-06-19 Ed Falis <falis@adacore.com>
840 * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
841 s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
843 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
845 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
847 2009-06-19 Robert Dewar <dewar@adacore.com>
849 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
852 * checks.adb (Determine_Range): Move the test for generic types later.
854 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
856 (Eval_Relational_Op): Fold more cases including string compares
858 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
861 2009-06-19 Robert Dewar <dewar@adacore.com>
863 * sem_type.ads, sem_ch12.adb: Minor reformatting
865 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
867 2009-06-19 Ed Schonberg <schonberg@adacore.com>
869 * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
870 primitive operation of a rivate extension whose controlling argument
873 * sem.adb (Walk_Library_Units): exclude generic package declarations
876 2009-06-19 Thomas Quinot <quinot@adacore.com>
878 * i-vxwoio.ads: Add comments
880 2009-06-19 Thomas Quinot <quinot@adacore.com>
882 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
883 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
884 g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
885 (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
886 (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
887 Thin_Common.Socket_Ioctl.
888 (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
890 (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
891 argument after the file descriptor and request code.
893 2009-06-19 Robert Dewar <dewar@adacore.com>
895 * checks.adb: Minor reformatting
897 2009-06-19 Jose Ruiz <ruiz@adacore.com>
899 * env.c (__gnat_environ): RTX does not support this functionality.
901 2009-06-19 Ed Schonberg <schonberg@adacore.com>
903 * sem.adb (Walk_Library_Items): Include bodies in the list of units to
904 traverse, to account for front-end inlining and instantiations in a
905 spec or in the main unit.
907 2009-06-19 Robert Dewar <dewar@adacore.com>
909 * checks.adb (Determine_Range): Do not attempt to get range of generic
912 2009-06-19 Sergey Rybin <rybin@adacore.com>
914 * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
915 gnatmetric option for generating the schema file for gnatmetric XML
916 output. Add corresponding VMS qualifier.
918 2009-06-19 Robert Dewar <dewar@adacore.com>
920 * g-cgi.adb: Minor reformatting
922 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
924 * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
925 signal code for SIGFPE and raise Program_Error for SIGILL.
927 * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
929 2009-06-19 Ed Schonberg <schonberg@adacore.com>
931 * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
932 generic package if there is a visibility candidate that is declared in
935 2009-06-18 Olivier Hainque <hainque@adacore.com>
937 * system-aix64.ads: New file.
938 * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
939 64bit system.ads for ppc64 multilib variants.
941 2009-06-16 Robert Dewar <dewar@adacore.com>
942 Olivier Hainque <hainque@adacore.com>
944 Relax constraints on Machine_Attribute argument types:
945 * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
947 (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
948 * gcc-interface/decl.c (prepend_attributes): Accept static
949 expressions of any type as attribute arguments, not only string
951 * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
952 the relaxation of the restriction on the Info argument type.
954 2009-06-13 Aldy Hernandez <aldyh@redhat.com>
956 * gcc-interface/utils.c (record_builtin_type): Pass location
957 argument to build_decl.
958 (create_type_stub_decl): Same.
959 (create_type_decl): Same.
960 (create_var_decl_1): Same.
961 (create_field_decl): Same.
962 (create_param_decl): Same.
963 (create_label_decl): Same.
964 (create_subprog_decl): Same.
965 * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
966 * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
967 argument to create_artificial_label.
968 (Loop_Statement_to_gnu): Same.
969 (Subprogram_Body_to_gnu): Same.
970 (gnat_gimplify_stmt): Same.
972 2009-06-11 Richard Henderson <rth@redhat.com>
974 * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
977 2009-06-11 Ed Schonberg <schonberg@adacore.com>
979 * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
980 accessibiliy check on access_to_subprogram in the context of an
981 anonymous access that is not an access parameter.
983 2009-06-11 Eric Botcazou <ebotcazou@adacore.com>
985 * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
987 2009-06-11 Quentin Ochem <ochem@adacore.com>
989 * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
990 comments for message handled by GPS.
992 2009-06-11 Matthew Gingell <gingell@adacore.com>
994 * adaint.c: Use fopen64 instead of fopen on platforms where we know
997 2009-06-11 Pascal Obry <obry@adacore.com>
999 * g-cgi.ads: Fix comment typo.
1001 * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
1003 2009-06-10 Eric Botcazou <ebotcazou@adacore.com>
1005 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
1006 a reference to the original type for the type of the field of the
1008 (maybe_pad_type): Likewise.
1010 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
1011 common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
1012 Pass correctly typed arguments to create_field_decl.
1013 <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
1014 case of contrained discriminants as well. Use the padded base type
1015 in the other case as well. Rename temporary variable. Tweak test.
1016 Factor common access pattern. Set GNU_SIZE only once.
1018 2009-06-09 Olivier Hainque <hainque@adacore.com>
1020 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
1021 helper for build_call_alloc_dealloc with arguments to be interpreted
1022 identically. Process the case where a GNAT_PROC to call is provided.
1023 (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
1024 and return an allocator for DATA_SIZE bytes aimed at containing a
1025 DATA_TYPE object, using the default __gnat_malloc allocator. Honor
1026 DATA_TYPE alignments greater than what the latter offers.
1027 (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
1028 release a DATA_TYPE object designated by DATA_PTR using the
1029 __gnat_free entry point.
1030 (build_call_alloc_dealloc): Expect object data type instead of naked
1031 alignment constraint. Use the new helpers.
1032 (build_allocator): Remove special processing for the super-aligned
1033 case, now handled by build_call_alloc_dealloc. Pass data
1034 type instead of the former alignment argument, as expected by the new
1036 * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
1038 * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
1039 Remove special processing for the super-aligned case, now handled
1040 by build_call_alloc_dealloc. Pass data type instead of the former
1041 alignment argument, as expected by the new interface.
1043 2009-06-08 Alexandre Oliva <aoliva@redhat.com>
1045 * lib-writ.adb (flag_compare_debug): Import.
1046 (Write_ALI): Skip during -fcompare-debug-second.
1048 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
1050 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1051 adjusting the discriminant nodes in an extension, use the full view
1052 of the parent subtype if it is of a private kind.
1054 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
1056 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
1057 _Parent field, if any, to the record before adding the other fields.
1058 <E_Record_Subtype>: Put the _Controller field before the other fields
1059 except for the _Tag or _Parent fields.
1060 (components_to_record): Likewise. Retrieve the _Parent field from the
1063 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
1065 * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
1066 remove unused parameter and simplify.
1067 (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS. Factor
1068 common predicate. Rewrite loop for clarity. Use GNU_TYPE directly
1069 as context for all discriminants. Fix formatting nits.
1070 <E_Record_Subtype>: Add cosmetic 'break'. Test Has_Discriminants
1071 before Discriminant_Constraint. Adjust for above renaming. Do not
1072 set GNU_TYPE more than once.
1073 (elaborate_entity): Test Has_Discriminants on the entity and use
1074 Implementation_Base_Type.
1075 (components_to_record): Rename component_list to gnat_component_list.
1076 Retrieve the _Parent field from the list. Fix nits in comments.
1077 Clarify logic in loop. Pass correct arguments to create_field_decl.
1079 2009-06-02 Eric Botcazou <ebotcazou@adacore.com>
1081 * gcc-interface/Make-lang.in: Fix formatting.
1083 2009-06-01 Olivier Hainque <hainque@adacore.com>
1084 Eric Botcazou <ebotcazou@adacore.com>
1086 * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
1087 to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
1088 on the result if at least one of the input fields couldn't be output
1089 as a static constant any more.
1091 2009-06-01 Olivier Hainque <hainque@adacore.com>
1092 Eric Botcazou <ebotcazou@adacore.com>
1094 * gcc-interface/utils2.c (gnat_build_constructor): Factor
1095 out code. Use initializer_constant_valid_for_bitfield_p and
1096 CONSTRUCTOR_BITFIELD_P for bit-fields.
1098 2009-05-26 Ian Lance Taylor <iant@google.com>
1100 * gcc-interface/Makefile.in (COMPILER): Define.
1101 (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
1102 (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
1103 (seh_init.o, tracebak.o): Likewise.
1104 * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
1105 (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
1106 (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
1107 (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
1108 (ada/utils2.o): Likewise.
1110 2009-05-24 Olivier Hainque <hainque@adacore.com>
1112 * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
1113 * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
1114 Add -auxbase variants to the list of recognized internal switches.
1115 * back_end.adb (Scan_Back_End_Switches): Use the new functions and
1117 * lib.ads: Make comment on internal GCC switches more general.
1118 * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
1121 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
1123 * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
1125 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
1127 * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
1130 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
1132 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
1133 original type because of the alignment when there is an address clause.
1135 2009-05-20 Eric Botcazou <ebotcazou@adacore.com>
1137 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
1138 discriminants affect the shape of the subtype, retrieve the GCC type
1139 directly from the original field if the GNAT types for the field and
1140 the original field are the same.
1142 2009-05-15 Eric Botcazou <ebotcazou@adacore.com>
1144 * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
1146 (TYPE_RM_VALUES): Likewise.
1147 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
1148 (SET_TYPE_RM_SIZE): New macro.
1149 (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
1150 (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
1151 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
1152 * gcc-interface/gigi.h (create_range_type): Declare.
1153 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
1154 Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
1155 <E_Signed_Integer_Subtype>: Build a regular integer type first and
1156 then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size.
1157 <E_Floating_Point_Subtype>: Build a regular floating-point type first
1158 and then set the RM bounds.
1159 <E_Array_Type>: Use create_range_type instead of build_range_type.
1160 <E_Array_Subtype>: Build a regular integer type first and then set
1161 the RM bounds for the extra subtype.
1162 <E_String_Literal_Subtype>: Use create_range_type instead of
1164 <all>: Set the RM bounds for enumeration types and the GCC bounds for
1165 floating-point types.
1166 (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
1167 (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
1168 to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size.
1169 (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
1170 types and with RM bounds for subtypes.
1171 * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
1172 (gnat_print_type) <REAL_TYPE>: New case.
1173 <ENUMERAL_TYPE>: Fall through to above case.
1174 (gnat_get_subrange_bounds): New function.
1175 * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
1176 TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
1177 * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
1178 for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size.
1179 (create_range_type): New function.
1180 (create_param_decl): Build a regular integer type first and then set
1181 the RM bounds for the extra subtype.
1182 (unchecked_convert): Remove kludge for 'Valid.
1183 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
1184 the index to sizetype instead of TYPE_DOMAIN.
1186 2009-05-14 Eric Botcazou <ebotcazou@adacore.com>
1188 * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
1189 parameter and move check for static expression to...
1190 (elaborate_expression): ...here. Adjust call to above function.
1191 (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments
1192 in calls to elaborate_expression.
1193 (elaborate_entity): Likewise.
1194 (substitution_list): Likewise.
1195 (maybe_variable): Fix formatting.
1196 (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
1198 * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
1200 2009-05-07 Arnaud Charlet <charlet@adacore.com>
1202 * gcc-interface/Make-lang.in: Update dependencies.
1204 2009-05-06 Laurent GUERBY <laurent@guerby.net>
1206 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
1207 Define sa_handler_pos.
1208 * s-osinte-linux.ads: Use it.
1209 * s-linux-mipsel.ads: New.
1210 * system-linux-mips64el.ads: New.
1211 * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
1214 2009-05-06 Arnaud Charlet <charlet@adacore.com>
1216 * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
1217 targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
1218 opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
1219 (Tagged_Type_Expansion): New flag.
1220 Replace use of VM_Target related to tagged types expansion by
1221 Tagged_Type_Expansion, since tagged type expansion is not necessarily
1222 linked to VM targets.
1224 2009-05-06 Robert Dewar <dewar@adacore.com>
1226 * sem_attr.adb: Add processing for Standard'Compiler_Version
1228 * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
1230 (Expr_First_Char): Add ??? comment that paren skipping needs work
1231 (Expr_Last_Char): Add ??? comment that paren skipping needs work
1233 * exp_attr.adb: Add processing for Compiler_Version
1235 * sem_attr.adb: New attribute Compiler_Version
1237 * snames.ads-tmpl: Add entries for Compiler_Version attribute
1239 * gnat_rm.texi: Document Compiler_Version attribute
1241 2009-05-06 Robert Dewar <dewar@adacore.com>
1243 * errout.adb: Minor reformatting
1245 * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
1246 sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
1247 styleg.adb: Add stylized comments to error messages that are included
1248 in the codefix circuitry of IDE's such as GPS.
1250 2009-05-06 Sergey Rybin <rybin@adacore.com>
1252 * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
1253 new form of the rule parameter that allows to specify the suffix for
1254 access-to-access type names.
1256 2009-05-06 Robert Dewar <dewar@adacore.com>
1258 * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
1259 out parameter assigned when exception handlers are present.
1261 * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
1262 assignments on exit.
1264 * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
1265 sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
1266 prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
1267 par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
1268 messages that are included in the codefix circuitry of IDE's such as
1271 * sinput.ads, sinput.adb (Expr_First_Char): New function
1272 (Expr_Last_Char): New function
1274 2009-05-06 Sergey Rybin <rybin@adacore.com>
1276 * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
1277 Add formal definition for extra exit point metric
1279 2009-05-06 Pascal Obry <obry@adacore.com>
1281 * adaint.c: Support for setting attributes on unicode filename on
1284 2009-05-06 Robert Dewar <dewar@adacore.com>
1286 * sem_warn.adb: Minor reformatting
1288 2009-05-06 Javier Miranda <miranda@adacore.com>
1290 * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
1291 not have discriminants or components with default expressions.
1292 (Analyze_Pragma): For pragma CPP_Class check that imported types
1293 have no discriminants and components have no default expression.
1295 * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
1296 class-wide types in the expression of a record component association.
1298 2009-05-06 Sergey Rybin <rybin@adacore.com>
1300 * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
1302 * gnat_ugn.texi: Add description for the new extra exit points metric
1303 (gnatmetric section).
1305 2009-05-06 Robert Dewar <dewar@adacore.com>
1307 * s-fileio.adb: Minor comment update
1309 * sem_ch8.adb: Minor reformatting
1311 * exp_ch3.adb: Update comments.
1313 2009-05-06 Tristan Gingold <gingold@adacore.com>
1315 * init.c, s-osinte-darwin.ads: Reduce alternate stack size
1317 2009-05-06 Arnaud Charlet <charlet@adacore.com>
1319 * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
1320 Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
1322 * gcc-interface/Make-lang.in: Update dependencies
1324 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1326 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
1327 change. The context clause of a generic instance declaration must be
1328 preserved until the end of the compilation, because it may have to be
1329 installed/removed repeatedly.
1330 The latest change to sem.adb ensures that the context of both spec and
1331 body of an instance is traversed before the instance itself, making
1332 this patch redundant.
1334 2009-05-06 Gary Dismukes <dismukes@adacore.com>
1336 * sem_aggr.adb: Fix typo.
1338 2009-05-06 Thomas Quinot <quinot@adacore.com>
1340 * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
1341 declaration, do not adjust if the declaration is to be rewritten into
1344 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1346 * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
1349 2009-05-06 Bob Duff <duff@adacore.com>
1351 * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
1352 otherwise the compiler would be allowed to optimize away the cleanup
1355 2009-05-06 Gary Dismukes <dismukes@adacore.com>
1357 * gnat_ugn.texi: Fix typo.
1359 2009-05-06 Thomas Quinot <quinot@adacore.com>
1361 * g-debuti.adb: Minor reformatting
1363 * exp_attr.adb: Minor reformatting
1365 2009-05-06 Robert Dewar <dewar@adacore.com>
1367 * sem_aggr.adb: Minor reformatting.
1369 * g-socthi-vms.adb: Minor reformatting
1371 2009-05-06 Bob Duff <duff@adacore.com>
1373 * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
1374 (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
1376 2009-05-06 Bob Duff <duff@adacore.com>
1378 * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
1381 2009-05-06 Javier Miranda <miranda@adacore.com>
1383 * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
1384 (Resolve_Extension_Aggregate): Do not reject C++ constructors in
1385 extension aggregates.
1386 (Resolve_Record_Aggregate): Add support for C++ constructors in
1387 extension aggregates.
1389 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
1390 constructors in extension aggregates.
1392 2009-05-06 Robert Dewar <dewar@adacore.com>
1394 * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
1397 2009-05-06 Thomas Quinot <quinot@adacore.com>
1399 * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
1400 packed type, since on OpenVMS, struct msghdr is packed.
1402 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1404 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
1405 call returning an unconstrained composite value, create the proper
1406 subtype for it, as is done for object dclarations with unconstrained
1407 nominal subtypes. Perform this transformation regarless of whether
1408 call comes from source.
1410 2009-05-06 Robert Dewar <dewar@adacore.com>
1412 * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
1416 Add documentation for pragma Implicit_Packing applied to record
1419 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1421 * sem.adb (Walk_Library_Items): Place all with_clauses of an
1422 instantiation on the spec, because late instance bodies may generate
1423 with_clauses for the instance body but are inserted in the instance
1426 2009-05-06 Emmanuel Briot <briot@adacore.com>
1428 * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
1429 support for returning the directory even if it doesn't exist. This is
1430 used for the object directory, since we are always setting it to a
1431 non-null value, and we should set it to an absolute name rather than a
1432 relative name for the sake of external tools that might depend on it.
1433 (Check_Library_Attributes): When Project.Library_Dir is known, check
1434 that the directory exists.
1436 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1438 * sem_attr.adb (Check_Dereference): If the prefix of an attribute
1439 reference is an implicit dereference, do not freeze the designated type
1440 if within a default expression or when preanalyzing a pre/postcondtion.
1442 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1444 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
1445 call returning an unconstrained composite value, create the proper
1446 subtype for it, as is done for object dclarations with unconstrained
1449 2009-05-06 Robert Dewar <dewar@adacore.com>
1451 * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
1454 * freeze.adb: Minor reformatting
1456 2009-05-06 Thomas Quinot <quinot@adacore.com>
1458 * sem_ch3.adb (Access_Type_Declaration): An access type whose
1459 designated type is a limited view from a limited with clause (flagged
1460 From_With_Type) is not itself such a limited view.
1462 2009-05-06 Emmanuel Briot <briot@adacore.com>
1464 * prj-nmsc.adb: Remove unused variable.
1466 * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
1467 prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
1468 makeutl.ads, since not all users of prj.ads need this.
1470 2009-05-06 Javier Miranda <miranda@adacore.com>
1472 * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
1473 constructor in case of aggregates whose type is a CPP_Class type.
1475 2009-05-06 Robert Dewar <dewar@adacore.com>
1477 * sem_ch13.adb: Minor comment additions
1479 * osint.adb: Minor reformatting
1481 2009-05-06 Pascal Obry <obry@adacore.com>
1483 * initialize.c: On Windows, keep full pathname to expanded command
1486 2009-05-06 Ed Schonberg <schonberg@adacore.com>
1488 * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
1489 an aggregate with box default is of a discriminated private type, do
1490 not build a subaggregate for it.
1491 A proper call to the initialization procedure is generated for it.
1493 2009-05-06 Thomas Quinot <quinot@adacore.com>
1495 * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
1496 (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
1497 Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
1498 use standard array code for Standard.String.
1499 (Exp_Dist): Bump PolyORB s-parint API version to 3.
1500 (Rtsfind): New entities TA_Std_String, Unbounded_String.
1502 2009-05-06 Robert Dewar <dewar@adacore.com>
1504 * g-comlin.ads: Minor reformatting
1506 * xoscons.adb: Minor reformatting
1508 2009-05-06 Gary Dismukes <dismukes@adacore.com>
1510 * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
1511 Underlying_Type before retrieving the type definition for gathering
1512 components, to account for the case where the type is private.
1514 2009-05-06 Tristan Gingold <gingold@adacore.com>
1516 * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
1518 2009-05-06 Thomas Quinot <quinot@adacore.com>
1520 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
1521 g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
1522 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
1523 (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
1524 Windows versions): Fix incorrect base
1525 address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
1526 (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
1527 System.Address for the To parameter instead of a Sockaddr_In_Access, to
1528 achieve independance from AF_INET family, and also to allow this
1529 parameter to be retrieved from a Msghdr for the Windows case where
1530 these routines are used to implement C_Sendmsg and C_Recvmsg.
1532 2009-05-06 Bob Duff <duff@adacore.com>
1534 * g-expect.adb, g-expect.ads: Minor reformatting
1536 * sdefault.ads: Minor comment fix
1538 * g-expect-vms.adb: Minor reformatting
1540 * table.ads, table.adb (Append_All): New convenience procedure for
1541 appending a whole array.
1543 * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
1544 box message. Call Osint.Dump_Source_File_Names to print out the file
1545 list, instead of rummaging around in various data structures.
1547 * debug.adb: New switch -gnatd.n, to print source file names as they
1550 * alloc.ads: Add parameters for Osint.File_Name_Chars.
1552 * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
1553 out source file names during a "bug box".
1554 (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
1555 (Read_Source_File): Print out the file name, if requested via -gnatd.n.
1556 If it's not part of the runtimes, store it for later printing by
1557 Dump_Source_File_Names.
1559 2009-05-06 Javier Miranda <miranda@adacore.com>
1561 * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
1562 documentation and add reference to the GNAT user guide for further
1565 2009-05-06 Javier Miranda <miranda@adacore.com>
1567 * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
1568 also wrong examples that use extension aggregates.
1570 2009-05-06 Albert Lee <lee@adacore.com>
1572 * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
1573 of Msg_Iovlen_T for VMS.
1575 2009-05-04 Laurent GUERBY <laurent@guerby.net>
1578 * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
1580 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1582 * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
1583 box-defaulted operator in an instantiation, when the type of the
1584 operands is not directly visible.
1586 2009-04-29 Gary Dismukes <dismukes@adacore.com>
1588 * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
1589 (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
1590 analysis of the ancestor part. Remove prohibition against limited
1591 interpretations of the ancestor expression in the case of Ada 2005.
1592 Revise error message in overloaded case, adding a message to cover
1595 2009-04-29 Thomas Quinot <quinot@adacore.com>
1597 * xoscons.adb: Minor reformatting
1599 2009-04-29 Bob Duff <duff@adacore.com>
1601 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
1602 attribute_definition_clauses for the following attributes when the
1603 -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
1604 Storage_Size, Write. Otherwise, we get spurious errors (for example,
1605 missing Read attribute on remote types).
1607 * gnat_ugn.texi: Document the change, and add a stern warning.
1609 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1611 * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
1612 disabled not just for the current scope, but for the innermost dynamic
1615 2009-04-29 Arnaud Charlet <charlet@adacore.com>
1617 * gcc-interface/Make-lang.in: Update dependencies
1619 2009-04-29 Vincent Celier <celier@adacore.com>
1621 * prj-part.adb: Minor comment update
1623 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1625 * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
1626 box-initialized records with discriminated subcomponents that are
1627 constrained by discriminants of enclosing components. New subsidiary
1628 procedures Add_Discriminant_Values, Propagate_Discriminants.
1630 2009-04-29 Arnaud Charlet <charlet@adacore.com>
1632 * g-socket.adb: Code clean up.
1634 2009-04-29 Gary Dismukes <dismukes@adacore.com>
1636 * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
1637 function entity, to cover the case of a parameterless function call
1638 that has not been resolved.
1640 2009-04-29 Robert Dewar <dewar@adacore.com>
1642 * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
1643 reformatting and comment updates.
1645 2009-04-29 Arnaud Charlet <charlet@adacore.com>
1647 * gnat_ugn.texi: Update some documentation about interfacing with C++
1648 Mention -fkeep-inline-functions.
1650 * gnat_ugn.texi: Minor edits
1652 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1654 * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
1655 for a defaulted component of an enclosing aggregate, inherit the type
1656 from the component declaration of the enclosing type.
1658 2009-04-29 Albert Lee <lee@adacore.com>
1660 * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
1661 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
1662 (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
1663 msg_iovlen field in struct msghdr is 32 or 64 bits wide.
1664 Relocate the Msghdr record type from GNAT.Sockets.Thin to
1665 GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
1666 type for the Msg_Iovlen field.
1668 2009-04-29 Vincent Celier <celier@adacore.com>
1670 * sinput-l.adb (Load_File): When preprocessing, set temporarily the
1671 Source_File_Index_Table entries for the source, to avoid crash when
1674 * gnatcmd.adb (Test_If_Relative_Path): Use
1675 Makeutl.Test_If_Relative_Path.
1677 * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
1678 Including_RTS is True.
1680 * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
1681 Including_RTS defaulted to False.
1683 * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
1686 2009-04-29 Javier Miranda <miranda@adacore.com>
1688 * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
1690 2009-04-29 Javier Miranda <miranda@adacore.com>
1692 * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
1693 associated with dyamically tagged expressions if the expression
1694 initializing a tagged type corresponds with a non default CPP
1696 (OK_For_Limited_Init): CPP constructor calls are OK for initialization
1697 of limited type objects.
1699 * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
1700 when a CPP constructor is called in an assignment. Disable also the
1701 error message associated with dyamically tagged expressions if the
1702 exporession initializing a tagged type corresponds with a non default
1705 * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
1706 non-default C++ constructors.
1708 * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
1710 * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
1711 non-default constructors.
1712 (Init_Proc): Add support for non-default constructors.
1714 * exp_disp.adb (Set_Default_Constructor): Removed.
1715 (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
1716 but extending its functionality to handle non-default constructors.
1718 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
1719 constructors. Minor code cleanup removing unrequired label and goto
1722 * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
1724 (Build_Init_Statements): Add support for non-default constructors.
1725 (Expand_N_Object_Declaration): Add support for non-default constructors.
1726 (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
1727 to Set_CPP_Constructors.
1729 * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
1730 non-default constructors.
1731 Required to handle its use in build-in-place statements.
1733 * gnat_rm.texi (CPP_Constructor): Document new extended use of this
1734 pragma for non-default C++ constructors and the new compiler support
1735 that allows the use of these constructors in record components, limited
1736 aggregates, and extended return statements.
1738 2009-04-29 Vincent Celier <celier@adacore.com>
1740 * prj-part.adb (Parse_Single_Project): Do not attempt to find a
1741 project extending an abstract project.
1743 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
1745 * targparm.ads: Fix oversight.
1747 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1749 * lib-xref.adb (Output_Overridden_Op): Follow several levels of
1750 derivation when necessary, to find the user-subprogram that is actally
1753 2009-04-29 Robert Dewar <dewar@adacore.com>
1755 * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
1758 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1760 * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
1761 primitive operation, rather than source line of synchronized type, when
1762 building the wrapper for a primitive operation that overrides an
1763 operation inherited from a progenitor, to improve the error message on
1764 duplicate declarations.
1766 * sem_ch3.adb (Process_Full_View): Use new signature of
1769 2009-04-29 Robert Dewar <dewar@adacore.com>
1771 * prj-nmsc.ads: Minor reformatting
1773 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
1775 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
1776 expression on the existing parent If statement.
1778 2009-04-29 Robert Dewar <dewar@adacore.com>
1780 * prj-proc.adb, prj.ads: Minor reformatting
1782 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
1784 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
1785 existing parent If statement on the newly created one.
1787 2009-04-29 Emmanuel Briot <briot@adacore.com>
1789 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
1790 prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
1791 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
1792 (Set_In_Configuration, In_Configuration): Removed.
1793 Replaced by an extra parameter Is_Config_File in several parameter to
1794 avoid global variables to store the state of the parser.
1796 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1798 * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
1799 with_clauses generated for the same unit through rtsfind, and that
1800 appear in the context of different units.
1802 * rtsfind.adb: New attribute First_Implicit_With, component of the
1803 Unit_Record that stores information about a unit loaded through rtsfind.
1805 2009-04-29 Gary Dismukes <dismukes@adacore.com>
1807 * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
1808 (other conditions permitting), so that abstract stream subprograms will
1809 be declared for them.
1811 2009-04-29 Bob Duff <duff@adacore.com>
1813 * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
1815 * g-expect.ads: Minor comment fixes.
1817 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1819 * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
1820 dispatching operation is a body without previous spec, update the list
1821 of primitive operations to ensure that cross-reference information is
1824 2009-04-29 Albert Lee <lee@adacore.com>
1826 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
1827 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
1828 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
1829 (GNAT.Sockets.Thin.C_Readv,
1830 GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
1831 (GNAT.Sockets.Thin.C_Recvmsg,
1832 GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
1834 (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
1835 C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
1837 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1839 * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
1840 operation is a body without previous spec, update the list of
1841 primitive operations to ensure that cross-reference information is
1844 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
1845 new compilation unit node for the instance declaration, keep the
1846 context items of the original unit on it, so that the context of the
1847 instance body only holds the context inherited from the generic body.
1849 2009-04-29 Bob Duff <duff@adacore.com>
1851 * sem_res.adb: Minor comment fix.
1853 2009-04-29 Thomas Quinot <quinot@adacore.com>
1855 * sem_elim.adb: Minor reformatting
1857 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1859 * exp_aggr.adb (Convert_To_Positional): if the current unit is a
1860 predefined unit, allow arbitrary number of components in static
1861 aggregate, to ensure that the same level of constant folding applies
1862 for Ada 95 and Ada 05 versions of the file.
1864 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1866 * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
1867 information: no need for full scope check.
1868 (Eliminate_Error): Do not emit error in a generic context.
1870 2009-04-29 Ed Falis <falis@adacore.com>
1872 * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
1873 VxWorks 653 POS does not support rmdir.
1875 2009-04-29 Matteo Bordin <bordin@adacore.com>
1877 * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
1878 results are printed.
1880 2009-04-29 Arnaud Charlet <charlet@adacore.com>
1882 * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
1885 2009-04-29 Thomas Quinot <quinot@adacore.com>
1887 * make.adb: Minor reformatting.
1888 Minor code reorganization throughout.
1890 2009-04-29 Matteo Bordin <bordin@adacore.com>
1892 * s-stausa.ads: Changed visibility of type Task_Result: moved to
1893 public part to give application visibility over it.
1894 This is for future improvement and to build a public API on top of it.
1895 Changed record components name of type Task_Result to reflect the new
1898 * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
1899 reporting Stack usage.
1901 * gnat_ugn.texi: Update doc of stack usage report.
1903 * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
1905 * Makefile.rtl: Add new run-time files.
1907 2009-04-29 Pascal Obry <obry@adacore.com>
1909 * initialize.c: Do not expand quoted arguments.
1911 2009-04-29 Emmanuel Briot <briot@adacore.com>
1913 * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
1915 * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
1916 Prj.Ultimate_Extending_Project_Of
1918 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1920 * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
1921 Amendment type, add the with_clause for Finalization.List_Controller
1922 only if the current context is a package body.
1924 2009-04-29 Thomas Quinot <quinot@adacore.com>
1926 * sem_ch12.adb: Minor reformatting
1928 * sem_aggr.adb: Minor reformatting
1930 * sem_ch6.adb, sem_cat.ads: Minor reformatting
1932 * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
1934 2009-04-29 Quentin Ochem <ochem@adacore.com>
1936 * prj.ads (Source_Id): Now general pointer type.
1938 2009-04-29 Thomas Quinot <quinot@adacore.com>
1940 * exp_ch7.adb, rtsfind.adb: Minor reformatting
1942 * sem_res.adb: Minor reformatting
1944 2009-04-29 Thomas Quinot <quinot@adacore.com>
1946 * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
1947 operands is static only if it is a predefined concatenation operator.
1949 * sem_util.adb: Minor reformatting
1951 * sem_ch12.adb (Save_References): When propagating semantic information
1952 from generic copy back to generic template, for the case of an
1953 identifier that has been rewritten to an explicit dereference whose
1954 prefix is either an object name or a parameterless funcion call
1955 denoting a global object or function, properly capture the denoted
1956 global entity: perform the corresponding rewriting in the template,
1957 and point the rewritten identifier to the correct global entity (not
1958 to the associated identifier in the generic copy).
1960 2009-04-29 Robert Dewar <dewar@adacore.com>
1962 * rtsfind.adb, prj-env.adb: Minor reformatting
1963 Minor code reorganization
1965 2009-04-29 Emmanuel Briot <briot@adacore.com>
1967 * make.adb: Fix comment
1969 * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
1970 is given as argument, as might happen in gnatmake.
1972 2009-04-29 Ed Schonberg <schonberg@adacore.com>
1974 * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
1975 an abstract operation of a progenitor is not properly overridden by an
1976 operation of a derived synchronized type.
1978 2009-04-29 Robert Dewar <dewar@adacore.com>
1980 * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
1981 prj-proc.adb: Minor reformatting
1982 Minor code reorganization
1984 2009-04-29 Bob Duff <duff@adacore.com>
1986 * exp_ch7.adb (Build_Final_List): For an access type that designates a
1987 Taft Amendment type, if the access type needs finalization, make sure
1988 the implicit with clause for List_Controller occurs on the package spec.
1990 * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
1991 with's created for the pseudo-children of Text_IO and friends. In
1992 particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
1993 Ada.Text_IO.Integer_IO both with-ing each other.
1995 * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
1996 oddball cases when pragma Extend_System is used.
1998 * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
1999 the case where a package spec instantiates a generic whose body with's
2000 this package, so Walk_Library_Items won't complain about cyclic with's.
2002 2009-04-29 Emmanuel Briot <briot@adacore.com>
2004 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
2005 prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
2006 mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
2007 (Project_Id): now a real pointer to Project_Data, instead of an index
2008 into the Projects_Table. This simplifies the API significantly, avoiding
2009 extra lookups in this table and the need to pass the Project_Tree_Ref
2010 parameter in several cases
2012 2009-04-29 Nicolas Setton <setton@adacore.com>
2014 * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
2017 2009-04-25 Eric Botcazou <ebotcazou@adacore.com>
2019 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
2022 2009-04-24 Robert Dewar <dewar@adacore.com>
2024 * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
2025 clean.adb: Minor reformatting.
2026 Minor code reorganization and message improvement.
2028 2009-04-24 Emmanuel Briot <briot@adacore.com>
2030 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
2031 (Alternate_Languages): now implemented as a malloc-ed list rather
2032 than through a table.
2034 2009-04-24 Thomas Quinot <quinot@adacore.com>
2036 * sem_res.adb (Static_Concatenation): Simplify predicate to make it
2037 accurately handle cases such as "lit" & "lit" and
2038 "lit" & static_string_constant
2040 2009-04-24 Emmanuel Briot <briot@adacore.com>
2042 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
2043 prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
2044 removed. Lists of projects are now implemented via standard malloc
2045 rather than through the table.
2047 2009-04-24 Thomas Quinot <quinot@adacore.com>
2049 * sem_ch12.adb: Minor reformatting
2051 * g-trasym.adb: Minor reformatting
2053 * exp_ch6.adb: Minor reformatting
2055 2009-04-24 Robert Dewar <dewar@adacore.com>
2057 * layout.adb (Layout_Type): For packed array type, copy unset
2058 size/alignment fields from the referenced Packed_Array_Type.
2060 2009-04-24 Bob Duff <duff@adacore.com>
2062 * lib-load.adb (Make_Instance_Unit): Revert previous change, no
2063 longer needed after sem_ch12 changes.
2065 * sem.adb (Walk_Library_Items): Include with's in some debugging
2068 2009-04-24 Emmanuel Briot <briot@adacore.com>
2070 * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
2071 only ever using the Project field.
2073 2009-04-24 Ed Schonberg <schonberg@adacore.com>
2075 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
2076 Body_Required on the generated compilation node. The new node is linked
2077 to its body, but both share the same file, so we do not set this flag
2078 on the new unit so as not to create a spurious dependency on a
2079 non-existent body in the ali file for the instance.
2081 2009-04-24 Robert Dewar <dewar@adacore.com>
2083 * make.adb: Minor reformatting
2085 2009-04-24 Emmanuel Briot <briot@adacore.com>
2087 * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
2088 Add_Source): merge some code between those. In particular change where
2089 file normalization is done to avoid a few extra calls to
2090 Canonicalize_File_Name. This also removes the need for passing
2091 Current_Dir in a number of subprograms.
2093 2009-04-24 Bob Duff <duff@adacore.com>
2095 * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
2096 False, assign the correct unit to the Cunit field of the new table
2097 entry. We want the spec unit, not the body unit.
2099 * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
2100 interface for these.
2101 (Maybe_Add_With): Check whether we're trying to a with on the current
2102 unit, and avoid creating such directly self-referential with clauses.
2103 (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
2104 [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
2105 and matches existing comments in the spec.
2107 * sem.adb (Walk_Library_Items): Add various special cases to make the
2110 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
2111 instead of Parent (N), for uniformity.
2113 2009-04-24 Robert Dewar <dewar@adacore.com>
2115 * errout.ads: Minor reformatting
2117 2009-04-24 Emmanuel Briot <briot@adacore.com>
2119 * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
2120 behavior when the project includes sources from multiple languages
2122 2009-04-24 Vincent Celier <celier@adacore.com>
2124 * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
2125 is a language other than Ada declared.
2127 * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
2128 Imported_First set to True.
2130 2009-04-24 Ed Schonberg <schonberg@adacore.com>
2132 * sem_res.adb: additional optimization to inhibit creation of
2133 redundant transient scopes.
2135 2009-04-24 Bob Duff <duff@adacore.com>
2137 * rtsfind.ads: Minor comment fix
2139 2009-04-24 Emmanuel Briot <briot@adacore.com>
2141 * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
2142 Get_Path_Name_And_Record_Ada_Sources): merged, since these were
2143 basically doing the same work (for explicit or implicit sources).
2144 (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
2145 role. Rewritten to share some code (testing that all explicit sources
2146 have been found) between ada_only and multi_language modes.
2148 2009-04-24 Jerome Lambourg <lambourg@adacore.com>
2150 * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
2151 for CLI imported types.
2152 (Analyze_Pragma): Allow CIL or Java imported functions returning
2153 access-to-subprogram types.
2155 2009-04-24 Emmanuel Briot <briot@adacore.com>
2157 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
2158 (Project_Data.Dir_Path): field removed, since it can be computed
2159 directly from .Directory, and is needed only once when processing the
2160 project is buildgpr.adb or make.adb
2162 2009-04-24 Robert Dewar <dewar@adacore.com>
2164 * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
2165 rtsfind.adb: Minor reformatting.
2166 Minor code reorganization
2168 2009-04-24 Arnaud Charlet <charlet@adacore.com>
2170 * mlib-prj.adb: Use friendlier english identifier.
2172 * gnatcmd.adb, make.adb: Use better english identifiers.
2174 2009-04-24 Robert Dewar <dewar@adacore.com>
2176 * clean.adb: Minor reformatting
2178 2009-04-24 Robert Dewar <dewar@adacore.com>
2180 * einfo.adb (OK_To_Rename): New flag
2182 * einfo.ads (OK_To_Rename): New flag
2184 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
2187 * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
2189 * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
2192 2009-04-24 Emmanuel Briot <briot@adacore.com>
2194 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
2195 clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
2196 field removed. This is not a property of the
2197 project, just a boolean used to traverse the project tree, and storing
2198 it in the structure prevents doing multiple traversal in parallel.
2199 (Project_Data.Checked): also removed, since it was playing the same role
2200 as Seen when we had two nested loops, and this is no longer necessary
2201 (For_All_Imported_Projects): removed, since in fact there was already
2202 the equivalent in For_Every_Project_Imported. The latter was rewritten
2203 to use a local hash table instead of Project_Data.Seen
2204 Various loops were rewritten to use For_Every_Project_Imported, thus
2205 removing the need for Project_Data.Seen. This avoids a lot of code
2208 2009-04-24 Ed Schonberg <schonberg@adacore.com>
2210 * sem_res.adb (Resolve_Actuals): Do not create blocks around code
2211 statements, even though the actual of the call is a concatenation,
2212 because the argument is static, and we want to preserve warning
2213 messages about sequences of code statements that are not marked
2216 * sem_warn.adb: remove obsolete comment about warning being obsolete
2218 * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
2219 requeued and the delay has expired while within the accept statement
2220 that executes the requeue, do not perform the requeue and indicate that
2221 the timed call has been aborted.
2223 2009-04-24 Emmanuel Briot <briot@adacore.com>
2225 * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
2226 (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
2227 (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
2228 since they can be computed from the above.
2230 2009-04-24 Vincent Celier <celier@adacore.com>
2232 * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
2234 * prj-env.adb: Move all global variables to the private part of the
2236 Access these new components instead of the global variables no longer
2238 (Add_To_Path): New Project_Tree_Ref parameter, to access the new
2239 components that were previously global variables.
2241 * prj-env.ads (Initialize): New Project_Tree_Ref parameter
2242 (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
2245 * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
2246 be able to call Set_Mapping_File_Initial_State_To_Empty with it.
2248 * prj.adb (Initialize): Do not call Prj.Env.Initialize
2249 (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
2250 components in the private part of the project tree data.
2252 * prj.ads (Private_Project_Tree_Data): new components moved from
2253 Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
2254 Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
2255 Ada_Prj_Objects_File_Set, Fill_Mapping_File.
2257 2009-04-24 Vincent Celier <celier@adacore.com>
2259 * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
2261 * prj-nmsc.adb (Check_Library): No error for imports by shared library
2262 projects, when --unchecked-shared-lib-imports is used.
2264 2009-04-24 Robert Dewar <dewar@adacore.com>
2266 * sem_ch7.adb: Minor reformatting
2268 2009-04-24 Tristan Gingold <gingold@adacore.com>
2270 * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
2273 2009-04-24 Emmanuel Briot <briot@adacore.com>
2275 * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
2276 Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
2277 (For_All_Imported_Projects): new procedure
2278 (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
2279 above rather than duplicating code.
2281 2009-04-24 Emmanuel Briot <briot@adacore.com>
2283 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
2284 (Source_Id, Source_Data): use a real list to store sources rather than
2285 using an external table to store the elements. This makes code more
2286 efficient and more readable.
2288 2009-04-24 Emmanuel Briot <briot@adacore.com>
2290 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
2291 (Source_Iterator): new type.
2292 This removes the need for having the sources on three different
2293 lists at the project tree, project and language level. They are now
2296 2009-04-24 Emmanuel Briot <briot@adacore.com>
2298 * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
2300 2009-04-24 Ed Schonberg <schonberg@adacore.com>
2302 * sem_warn.adb: Add comment on obsolete warning
2304 2009-04-24 Arnaud Charlet <charlet@adacore.com>
2306 * s-tassta.adb (Create_Task): Fix violation of locking rule.
2308 2009-04-24 Emmanuel Briot <briot@adacore.com>
2310 * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
2311 to Language_Ptr to better reflect its new implementation.
2312 (Project_Data.First_Languages_Processing): renamed to Languages now
2313 that the field with that name is no longer used
2314 (Project_Data.Languages): removed, no longer used, and duplicates
2315 information already available through First_Language_Processing.
2316 (Prj.Language_Index): now an actual pointer, instead of an index into
2317 a table. This makes the list somewhat more obvious, but more importantly
2318 removes the need to pass a pointer to the project_tree_data in a few
2319 places, and makes accessing the attributes of a languages more
2322 2009-04-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2323 Thomas Quinot <quinot@adacore.com>
2325 * fe.h (Set_Identifier_Casing): Add const to second parameter.
2326 * gcc-interface/misc.c (internal_error_function): Make copy of return
2327 from pp_formatted_text before assigning BUFFER to it.
2328 (gnat_init): Likewise for main_input_filename and gnat_argv.
2329 (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
2331 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
2333 * ttypes.ads (Target_Double_Float_Alignment): New variable.
2334 (Target_Double_Scalar_Alignment): Likewise.
2335 * get_targ.ads (Get_Strict_Alignment): Adjust external name.
2336 (Get_Double_Float_Alignment): New imported function.
2337 (Get_Double_Scalar_Alignment): Likewise.
2338 * layout.adb (Set_Elem_Alignment): Take into account specific caps for
2339 the alignment of "double" floating-point types and "double" or larger
2340 scalar types, as parameterized by Target_Double_Float_Alignment and
2341 Target_Double_Scalar_Alignment respectively.
2342 * gcc-interface/gigi.h (double_float_alignment): Declare.
2343 (double_scalar_alignment): Likewise.
2344 (is_double_float_or_array): Likewise.
2345 (is_double_scalar_or_array): Likewise.
2346 (get_target_double_float_alignment): Likewise.
2347 (get_target_double_scalar_alignment): Likewise.
2348 * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
2349 (get_target_strict_alignment): ...this.
2350 (get_target_double_float_alignment): New function.
2351 (get_target_double_scalar_alignment): Likewise.
2352 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
2353 Test the presence of an alignment clause for under-aligned integer
2354 types. Take into account specific caps for the alignment of "double"
2355 floating-point types and "double" or larger scalar types, as
2356 parameterized by Target_Double_Float_Alignment and
2357 Target_Double_Scalar_Alignment respectively.
2358 (validate_alignment): Likewise.
2359 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
2360 (gigi): Initialize double_float_alignment and double_scalar_alignment.
2361 * gcc-interface/utils.c (double_float_alignment): New global variable.
2362 (double_scalar_alignment): Likewise.
2363 (is_double_float_or_array): New predicate.
2364 (is_double_scalar_or_array): Likewise.
2366 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
2368 * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
2369 the conditional expression only if it is common to both arms.
2371 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
2373 * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
2374 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
2375 arguments to build_allocator.
2376 * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
2377 Remove code handling special allocator and assert its uselessness.
2379 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
2381 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
2382 alignment is specified, do not promote that of the component type
2384 <E_Array_Subtype>: Likewise.
2386 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
2388 * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
2389 * sinfo.ads (Object Declaration): Likewise.
2390 (Assignment Statement): Likewise.
2391 * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
2392 Do not force Is_True_Constant to false on the temporary.
2393 (Freeze_Entity): Do not force Is_True_Constant to false on names on
2394 the RHS of object declarations.
2395 * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
2396 New case. Return 1 if the object is atomic.
2397 <N_Assignment_Statement>: Likewise.
2399 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
2401 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
2402 For packed array types, make the original array type a parallel type
2403 for the modular type and its JM wrapper if the type is bit-packed.
2404 <E_Array_Subtype>: Likewise. Do not generate the special XA parallel
2405 record type for packed array types. Remove kludge.
2407 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
2409 * gcc-interface/gigi.h (create_index_type): Adjust head comment.
2410 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
2411 Use front-end predicates to compute signedness and precision.
2412 <E_String_Literal_Subtype>: Fold range type.
2413 Make sure to set longest_float_type_node to a scalar type.
2414 (elaborate_entity): Use consistent Constraint_Error spelling.
2415 (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
2416 * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
2417 output for the modulus, if any.
2418 <ENUMERAL_TYPE>: Likewise for the RM size.
2419 * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
2421 * gcc-interface/utils.c (finish_record_type): Really test the alignment
2422 of BLKmode bit-fields to compute their addressability.
2423 (create_index_type): Adjust comments.
2424 (create_param_decl): Create the biased subtype manually.
2425 * gcc-interface/utils2.c (build_component_ref): Use consistent
2426 Constraint_Error spelling.
2428 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
2430 * gcc-interface/cuintp.c: Clean up include directives.
2431 * gcc-interface/targtyps.c: Likewise.
2432 * gcc-interface/decl.c: Likewise.
2433 * gcc-interface/misc.c: Likewise.
2434 * gcc-interface/trans.c: Likewise.
2435 * gcc-interface/utils.c: Likewise.
2436 * gcc-interface/utils2.c: Likewise.
2437 * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
2439 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
2441 * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
2442 (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting.
2443 (SET_DECL_LANG_SPECIFIC): Likewise.
2445 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
2446 Update comment about use of build_range_type.
2447 <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
2448 <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
2449 check for other cases of overloading.
2450 * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
2451 * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
2452 Use size_int in lieu of build_int_cst.
2453 (build_call_alloc_dealloc): Use build_index_2_type in lieu of
2456 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
2458 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
2459 type is an enumeral or a boolean type, change it to an integer type
2460 with the same mode and signedness.
2462 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
2464 * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
2465 for an external constant whose initializer is not absolute.
2467 2009-04-22 Taras Glek <tglek@mozilla.com>
2469 * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
2470 * gcc-interface/trans.c: Likewise.
2471 * gcc-interface/utils.c: Likewise.
2473 2009-04-22 Ed Schonberg <schonberg@adacore.com>
2475 * sem_res.adb: Create block around procedure call when actual is a
2478 2009-04-22 Thomas Quinot <quinot@adacore.com>
2480 * s-soflin.ads: Fix typos
2482 2009-04-22 Vincent Celier <celier@adacore.com>
2484 * prj-env.adb: Minor comment change
2486 * prj-nmsc.adb (Check_Common): Add guard to avoid calling
2487 Get_Name_String with No_File.
2489 * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
2490 cannot be created even when not in verbose mode.
2492 2009-04-22 Emmanuel Briot <briot@adacore.com>
2494 * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
2495 prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
2496 Multi_Language modes, to avoid code duplication.
2497 (Project_Data.Include_Language): Removed.
2499 2009-04-22 Vincent Celier <celier@adacore.com>
2501 * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
2502 the temporary file cannot be created, indicating the directory when the
2503 creation was attempted.
2505 2009-04-22 Emmanuel Briot <briot@adacore.com>
2507 * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
2508 the language names, not their indices.
2510 2009-04-22 Emmanuel Briot <briot@adacore.com>
2512 * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
2513 (Source_Data.Language_Name): Field removed.
2515 2009-04-22 Emmanuel Briot <briot@adacore.com>
2517 * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
2520 2009-04-22 Emmanuel Briot <briot@adacore.com>
2522 * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
2523 separate_suffix to the same value as the body_suffix.
2525 2009-04-22 Robert Dewar <dewar@adacore.com>
2527 * prj.adb: Minor code reorganization
2530 * prj-proc.adb: Minor code reorganization, clean up.
2532 * prj-nmsc.adb: Minor reformatting
2533 Minor code reorganization
2535 * gnat_ugn.texi: Add to doc on strict aliasing
2537 2009-04-22 Pascal Obry <obry@adacore.com>
2539 * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
2542 * s-tasini.adb: Minor reformatting.
2544 * s-tassta.adb: Minor reformatting.
2546 2009-04-22 Emmanuel Briot <briot@adacore.com>
2548 * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
2549 smaller subprograms.
2550 Renamed to Check_File_Naming_Schemes to avoid confusion with the
2551 other Check_Naming_Schemes functions that plays a totally different
2553 (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
2554 extracted from the above. These were partially rewritten to avoid
2555 unnecessary code and temporary variables.
2556 (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
2557 and Get_Unit (which for now still exist since they contain mode-specific
2560 2009-04-22 Emmanuel Briot <briot@adacore.com>
2562 * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
2563 Remove duplicated code.
2564 (Canonical_Case_File_Name): new subprogram
2565 (Check_And_Normalize_Unit_Names): new subprogram
2566 (Write_Attr): new subprogram
2567 Better sharing of code
2568 (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
2569 split Check_Naming and help find duplicated code
2570 (Check_Common): new subprogram, sharing code between ada_only and
2571 multi_language mode.
2572 (Naming_Data.Dot_Repl_Loc): field removed
2574 2009-04-22 Emmanuel Briot <briot@adacore.com>
2576 * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
2577 Minor refactoring to reduce the size of
2578 Process_Sources_In_Multi_Language_Mode.
2579 Avoid extra copied of Source_Data, which we found in the past could be
2581 (Mark_Excluded_Sources): new subprogram.
2582 (Remove_Locally_Removed_Files_From_Units): merged into the above
2583 Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
2584 and allow better sharing of code between multi_lang and ada_only modes
2585 (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
2587 2009-04-22 Emmanuel Briot <briot@adacore.com>
2589 * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
2590 Removed, since unused.
2592 2009-04-22 Vincent Celier <celier@adacore.com>
2594 * prj-attr.adb: New single project level attribute
2595 Separate_Run_Path_Options.
2597 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
2598 attribute Seperate_Run_Path_Options.
2600 * prj.ads: (Project_Configuration): New Boolean component
2601 Separate_Run_Path_Options, defaulted to False.
2603 * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
2605 2009-04-22 Robert Dewar <dewar@adacore.com>
2607 * sem_type.adb: Minor reformatting
2609 * mlib.adb: Minor reformatting
2611 * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
2614 2009-04-22 Nicolas Setton <setton@adacore.com>
2616 * link.c: Add flag __gnat_separate_run_path_options.
2618 * mlib.adb (Separate_Run_Path_Options): New subprogram.
2620 * mlib.ads (Separate_Run_Path_Options): Declare.
2622 * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
2623 switch per directory, rather than one "rpath" switch listing all
2626 * gnatlink.adb (Process_Binder_File): Likewise.
2628 * make.adb (Gnatmake): Likewise.
2630 2009-04-22 Hristian Kirtchev <kirtchev@adacore.com>
2632 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
2633 Add a call to Move_Final_List when the target of the assignment is a
2634 return object that needs finalization and the expression is a
2635 controlled build-in-place function.
2637 2009-04-22 Vincent Celier <celier@adacore.com>
2639 * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
2640 Including_Libraries set to True.
2642 2009-04-22 Ed Schonberg <schonberg@adacore.com>
2644 * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
2645 create a unit table entry for the subprogram declaration created for a
2646 child suprogram body that has no separate specification.
2648 * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
2649 subprogram body, call Make_Child_Decl_Unit.
2651 * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
2652 table can only be the created specification of a child subprogram body
2653 that is the main unit, which has not been entered in the table yet.
2655 * errout.adb (Output_Messages): Ignore created specification of a
2656 child subprogram body to prevent repeated listing of error messages.
2658 * gnat1drv.adb (gnat1drv): The generated specification for a child
2659 subprogram body does not generate code.
2661 2009-04-22 Arnaud Charlet <charlet@adacore.com>
2663 * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
2664 since this unit is now part of bootstrap units, so must use Ada 95
2667 2009-04-22 Thomas Quinot <quinot@adacore.com>
2669 * a-tasatt.adb: Minor reformatting
2671 2009-04-22 Bob Duff <duff@adacore.com>
2673 * s-stalib.ads: Remove "with System;" since we're inside System, so
2676 2009-04-22 Vincent Celier <celier@adacore.com>
2678 * prj-nmsc.adb (Add_Source): Always put the dependency file name in
2679 the source record, as there may be a dependency file even if no object
2682 2009-04-22 Robert Dewar <dewar@adacore.com>
2684 * lib-load.adb: Minor reformatting
2686 * lib-load.ads: Minor reformatting
2688 * sinfo.ads: Minor reformatting
2690 2009-04-22 Bob Duff <duff@adacore.com>
2692 * exp_pakd.adb: Minor comment fixes.
2694 * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
2695 sem_ch12.adb: Change the meaning of the Library_Unit attribute to
2696 include units containing instantiations, as well as units that are
2697 generic instantiations.
2699 * sem.adb: Include dependents and corresponding specs/bodies in the
2702 * gcc-interface/Make-lang.in:
2703 sem now depends on s-bitops, because of the packed array of Booleans.
2705 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
2707 * gcc-interface/ada-tree.def: Fix formatting nits.
2708 (REGION_STMT): Delete.
2709 (HANDLER_STMT): Likewise.
2710 * gcc-interface/ada-tree.h: Fix formatting nits.
2712 (REGION_STMT_BODY): Likewise.
2713 (REGION_STMT_HANDLE): Likewise.
2714 (REGION_STMT_BLOCK): Likewise.
2715 (HANDLER_STMT_ARG): Likewise.
2716 (HANDLER_STMT_LIST): Likewise.
2717 (HANDLER_STMT_BLOCK): Likewise.
2718 * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
2719 (fp_size_to_prec): Likewise.
2720 (largest_move_alignment): Delete.
2721 (gnat_compute_largest_alignment): Likewise.
2723 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
2724 Remove redundant code.
2725 <E_Array_Type>: Remove redundant assert.
2726 <E_Array_Subtype>: Exit early from index computation in pathological
2728 Rewrite conditional assignment.
2729 (make_type_from_size): Likewise.
2730 * gcc-interface/misc.c (largest_move_alignment): Delete.
2731 (gnat_finish_incomplete_decl): Likewise.
2732 (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
2733 (asm_out_file): Likewise
2734 (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
2735 (gnat_dwarf_name): Move around.
2736 * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
2737 (gigi): Remove call to gnat_compute_largest_alignment.
2738 * utils.c (create_field_decl): Rewrite conditional assignment.
2741 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
2743 * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
2744 on entry. Defer common processing for types. Reorder and clean up.
2745 Compute the equivalent GNAT node and the default size for types only.
2746 <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
2747 <E_Access_Type>: For an unconstrained designated type, do not pretend
2748 that a dummy type is always made.
2749 <all> Fix nits in comments.
2750 (validate_size): Fix formatting nits and comments.
2751 (set_rm_size): Likewise.
2752 * gcc-interface/utils.c (create_param_decl): Replace bogus argument
2753 passed to TARGET_PROMOTE_PROTOTYPES hook.
2755 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
2757 * fe.h (Get_External_Name): Declare.
2758 * gcc-interface/gigi.h (concat_id_with_name): Rename to...
2759 (concat_name): ...this.
2760 * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
2761 gnu_entity_name and adjust for above renaming.
2762 <E_Access_Type>: Use create_concat_name to get the name of the various
2763 types associated with unconstrained array types.
2764 (make_aligning_type): Adjust for above renaming.
2765 (maybe_pad_type): Likewise.
2766 (components_to_record): Likewise. Use get_identifier_with_length for
2767 the encoding of the variant.
2768 (get_entity_name): Use get_identifier_with_length.
2769 (create_concat_name): Likewise. Use Get_External_Name if no suffix.
2770 Do not fiddle with Name_Buffer.
2771 (concat_id_with_name): Rename to...
2772 (concat_name): ...this. Use get_identifier_with_length. Do not fiddle
2774 * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
2777 2009-04-21 Joseph Myers <joseph@codesourcery.com>
2779 * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
2782 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
2784 * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
2786 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
2788 * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
2789 (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
2790 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
2791 Remove useless support code for packed array types and assert its
2793 <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
2794 adjust for TYPE_RM_SIZE change.
2795 <all> Fix nits in comments. Use Original_Array_Type accessor instead
2796 of Associated_Node_For_Itype accessor for packed array types.
2797 (make_packable_type): Likewise.
2798 (maybe_pad_type): Likewise.
2799 (set_rm_size): Likewise. Rework conditional statement. Adjust for
2800 TYPE_RM_SIZE change.
2801 (make_type_from_size): Adjust for TYPE_RM_SIZE change.
2802 (rm_size): Fix nits in comments. Rework conditional statements.
2803 * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
2805 * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
2806 * gcc-interface/utils.c (gnat_init_decl_processing): Use more
2807 appropriate function to initialize the size_type_node. Adjust for
2808 TYPE_RM_SIZE change.
2810 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
2812 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
2813 for imported subprograms.
2815 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
2817 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
2818 constant objects covered by 13.3(19) volatile.
2820 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
2822 * gcc-interface/utils.c (create_type_decl): Do not pass declarations
2823 of dummy fat pointer types to the debug back-end.
2825 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
2827 * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
2828 <E_Signed_Integer_Subtype>: Set the RM size on the integer type
2829 before wrapping it up in the record type. Do not overwrite the
2830 Ada size of the record type with the Esize.
2832 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
2834 * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
2835 (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
2836 if the conversion is on the LHS of an assignment and a no-op.
2837 <all> Do not convert the result to the result type if the Parent
2838 node is such a conversion.
2840 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
2842 * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
2843 * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
2844 of types with unknown discriminants.
2845 (substitute_in_type): Rewrite and restrict to formal substitutions.
2846 * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
2847 (update_pointer_to): Update comment.
2849 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2851 * sem_ch8.adb (Use_One_Package): In an instance, if two
2852 potentially_use_visible and non-overloadable homonyms are available
2853 from the actuals of distinct formal packages, retain the current one,
2854 which was visible in the generic, to prevent spurious visibility
2856 (End_Use_Package): Restore use_visibility when needed.
2858 2009-04-20 Sergey Rybin <rybin@adacore.com>
2860 * gnat_ugn.texi, vms_data.ads: Update doc.
2862 2009-04-20 Arnaud Charlet <charlet@adacore.com>
2864 * gcc-interface/Make-lang.in: Update dependencies
2866 * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
2869 2009-04-20 Robert Dewar <dewar@adacore.com>
2871 * checks.ads: Fix documentation of range check handling
2873 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2875 * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
2876 a redundant use_type clause.
2878 2009-04-20 Robert Dewar <dewar@adacore.com>
2880 * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
2881 this attribute can be evaluated at compile time.
2882 (Eval_Attribute, case Range_Length): Same improvement
2884 * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
2886 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2888 * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
2889 for better handling of null procedures.
2890 (Check_Overriding_Indicator): Do not emit a warning on a missing
2891 overriding indicator on an operator when the type of which the operator
2892 is a primitive is private.
2894 2009-04-20 Bob Duff <duff@adacore.com>
2896 * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
2899 2009-04-20 Robert Dewar <dewar@adacore.com>
2901 * sem_attr.adb: Minor reformatting
2903 * gnatcmd.adb: Minor reformatting
2905 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2907 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
2908 overloaded and one interpretation matches the context, label the
2909 operand with the type of first formal.
2911 2009-04-20 Bob Duff <duff@adacore.com>
2913 * debug.ads: Minor comment fix.
2915 * debug.adb: Minor comment fixes.
2917 2009-04-20 Javier Miranda <miranda@adacore.com>
2919 * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
2921 * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
2923 * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
2924 is expanded into a call to Raise_Exception, avoid passing the
2925 exception-name'identity in runtimes in which this argument
2928 2009-04-20 Jerome Lambourg <lambourg@adacore.com>
2930 * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
2931 generated bindings for cil.
2933 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2935 * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
2936 discriminants, collect components from the Underlying_Record_View,
2937 which will be used in the expansion of the aggregate into assignments.
2939 * sem_ch3.adb: Do not label derived type with unknown discriminants as
2940 having a private declaration.
2942 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2944 * exp_util.adb (Expand_Subtype_From_Expr): use the
2945 underlying_record_view when available, to create the proper constrained
2946 subtype for an object of a derived type with unknown discriminants.
2948 2009-04-20 Javier Miranda <miranda@adacore.com>
2950 * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
2951 formals that have pragma unreferenced.
2953 2009-04-20 Pascal Obry <obry@adacore.com>
2955 * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
2956 Remove all calls to To_Lower_If_Case_Insensitive to preserve
2957 the pathname original casing.
2959 2009-04-20 Robert Dewar <dewar@adacore.com>
2961 * g-trasym.adb: Minor reformatting
2963 * s-os_lib.adb: Minor reformatting
2965 * sem.adb: Minor reformatting
2966 Minor code reorganization
2968 * sem_ch3.adb: Minor reformatting
2970 * sem_ch4.adb: Minor reformatting
2972 * sem_ch8.adb: Minor reformatting
2974 * sem_type.adb: Minor reformatting
2976 2009-04-20 Javier Miranda <miranda@adacore.com>
2978 * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
2979 generated by derivations of tagged types use the aliased subprogram a
2980 reference to locate their controlling type.
2982 2009-04-20 Tristan Gingold <gingold@adacore.com>
2984 * g-trasym.adb: Set size of result buffer before calling
2987 2009-04-20 Ed Schonberg <schonberg@adacore.com>
2989 * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
2990 to a function returning an array can be interpreted as a call with
2991 defaulted parameters whose result is indexed, take into account the
2992 types of all the indices of the array result type.
2994 2009-04-20 Pascal Obry <obry@adacore.com>
2996 * a-direct.adb, s-os_lib.adb: Minor reformatting.
2998 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3000 * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
3001 null exclusion qualifiers for object renaming declarations.
3003 2009-04-20 Nicolas Roche <roche@adacore.com>
3005 * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
3006 unsigned long long. So compare local_time and utc_time before computing
3009 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3011 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
3012 of the Underlying_Record_View before that of the derived type.
3014 * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
3015 with unknown discriminants with regard to the parent subtype.
3017 2009-04-20 Bob Duff <duff@adacore.com>
3019 * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
3020 that are not included. This is necessary if the main unit is a generic
3023 * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
3024 because it doesn't work if -gnatn is used.
3026 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3028 * rtsfind.adb (RTE, RTE_Record_Component): In
3029 Configurable_Run_Time_Mode, do not enable front-end inlining.
3031 2009-04-20 Thomas Quinot <quinot@adacore.com>
3033 * g-socthi-vms.adb: Remove now unnecessary WITH clause on
3034 System.Address_To_Access_Conversions.
3036 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3038 * sem.adb: Guard against ill-formed subunits.
3040 2009-04-20 Bob Duff <duff@adacore.com>
3042 * output.adb (Flush_Buffer): Do not indent blank lines.
3043 (Ignore_Output): New procedure for output suppression.
3045 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
3047 * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
3048 when it is positive. This avoids a potential constraint error raised
3049 by the conversion to Natural.
3051 2009-04-20 Gary Dismukes <dismukes@adacore.com>
3053 * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
3054 involves a target that has a specified address, don't set Forward_OK
3055 and Backward_OK to False if the rhs is an aggregate, since overlap
3058 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3060 * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
3061 in an object renaming declaration when the expected type is an
3062 anonymous access type.
3064 * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
3065 ambiguity when one interpretation is an anonymous access type and the
3066 other is a named access type, and the context itself is anonymous
3068 2009-04-20 Thomas Quinot <quinot@adacore.com>
3070 * einfo.ads: Minor comment rewording
3072 * sem_aggr.adb: Minor comment rewording
3074 * sem_ch3.adb, sem_ch6.adb: Minor reformatting
3076 2009-04-20 Pascal Obry <obry@adacore.com>
3078 * adaint.c (__gnat_is_readable_file): Check for file existence
3079 when not using ACL (always the case on remote drives).
3081 2009-04-20 Robert Dewar <dewar@adacore.com>
3083 * sinfo.ads: Minor comment fixes
3085 * exp_disp.adb: Minor reformatting
3087 * gnat1drv.adb: Minor reformatting
3089 * output.adb: Minor reformatting
3091 * s-vxwext-kernel.ads: Minor reformatting
3093 * sem.ads: Minor reformatting
3095 * sem.adb: Minor reformatting
3097 * sem_elim.adb: Minor reformatting
3099 * uname.ads: Minor reformatting
3101 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3103 * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
3104 a small dope of 4 words to the adjustment to the stack pointer.
3106 2009-04-20 Thomas Quinot <quinot@adacore.com>
3108 * xoscons.adb: generate C header s-oscons.h in
3109 addition to s-oscons.ads.
3111 * socket.c: On VMS, use s-oscons.h.
3113 * sem_ch3.adb: Minor reformatting
3115 * exp_ch9.adb: Minor reformatting
3117 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3119 * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
3120 (Attribute_to_gnu): Do not call check_for_eliminated_entity.
3121 (call_to_gnu): Likewise.
3123 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3125 * gcc-interface/trans.c (gigi): Declare the name of the compilation
3126 unit as the first global name at the very beginning.
3128 2009-04-20 Thomas Quinot <quinot@adacore.com>
3130 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
3131 s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
3132 g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
3133 since HP-UX supports neither inet_aton nor inet_pton (altough the
3134 latter is part of the Single UNIX Specification!).
3135 So reorganize code, and share C implementation based on inet_addr(3)
3136 with VMS (instead of having a VMS specific Ada implementation in
3139 2009-04-20 Gary Dismukes <dismukes@adacore.com>
3141 * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
3142 to return the object file name saved by Set_Object_Output_File_Name.
3144 2009-04-20 Emmanuel Briot <briot@adacore.com>
3146 * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
3147 for the standard command line, when argc has been modified since the
3148 start of the application.
3150 2009-04-20 Thomas Quinot <quinot@adacore.com>
3152 * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
3153 WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
3155 2009-04-20 Bob Duff <duff@adacore.com>
3157 * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
3160 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3162 * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
3163 subprogram as Eliminated when source operation is.
3164 (Expand_N_Protected_Type_Declaration): Generate protected and
3165 unprotected specs for the internal operations, even if the source
3166 operation is eliminated.
3168 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
3170 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
3171 Predefined_Primitive_Bodies): Do not create the declarations and bodies
3172 of the primitive subprograms associated with dispatching select
3173 statements when the runtime is in configurable mode.
3175 2009-04-20 Ed Falis <falis@adacore.com>
3177 * s-vxwext-kernel.ads (tickGet): Use tick64Get.
3179 2009-04-20 Thomas Quinot <quinot@adacore.com>
3181 * s-oscons-tmplt.c: Add support for generating a dummy version of
3182 s-oscons.ads providing all possible constants.
3184 * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
3186 * socket.c (__gnat_inet_pton): On Windows make sure we always use the
3187 ANSI version (not the UNICODE version) of WSAStringToAddress.
3189 2009-04-20 Pascal Obry <obry@adacore.com>
3191 * adaint.c (__gnat_set_OWNER_ACL): properly free memory
3192 allocated for the security descriptor and make sure all
3193 handles are closed before leaving this procedure.
3195 2009-04-20 Javier Miranda <miranda@adacore.com>
3197 * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
3198 (Set_Is_Underlying_Record_View): New subprogram
3200 * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
3201 private types with unknown discriminants use the underlying record view
3204 * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
3205 underlying record view in the full view of private types whose parent
3206 has unknown discriminants.
3207 (Build_Derived_Record_Type): Avoid generating the class-wide entity
3208 associated with an underlying record view.
3209 (Derived_Type_Declaration): Avoid deriving parent primitives in
3210 underlying record views.
3212 * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
3213 records with unknown discriminants.
3215 * sem_type.adb (Covers): Handle underlying record views.
3216 (Is_Ancestor): Add support for underlying record views.
3218 * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
3219 dispatching call if the type of the target object is tagged and has
3220 unknown discriminants.
3222 * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
3223 unknown discriminants.
3225 * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
3226 tables for internally built underlying record views.
3228 * sprint.adb (sprint_node_actual): Improve output of aggregates with an
3229 empty list of component associations.
3231 2009-04-20 Thomas Quinot <quinot@adacore.com>
3233 * sem_ch10.adb: Minor reformatting
3235 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
3236 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
3237 (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
3238 standard inet_pton API (and emulate it on platforms that do not
3240 (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
3241 DECC$INET_ADDR, imported in Ada.
3242 (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
3243 implementation provided by GNAT runtime.
3244 (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
3247 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3249 * gnat_ugn.texi: Add documentation for -fno-ivopts.
3251 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3253 * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
3254 with_clause if it is the main unit.
3256 2009-04-20 Thomas Quinot <quinot@adacore.com>
3258 * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
3259 (no behaviour change): Use Append instead of Increment_Last followed
3262 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
3264 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
3265 declarations of all primitives associated with dispatching asynchronous,
3266 conditional and timed selects when dispaching calls are forbidden and
3267 select statements are not allowed (such as in Ravenscar).
3268 (Predefined_Primitive_Bodies): Ditto for bodies.
3270 * exp_disp.ad (Make_DT): Do not create and populate the
3271 Select_Specific_Data of the dispatch table when dispatching calls are
3272 forbidden and select statements are not allowed (such as in Ravenscar).
3274 2009-04-20 Robert Dewar <dewar@adacore.com>
3276 * a-tifiio.adb: Minor reformatting
3278 2009-04-20 Thomas Quinot <quinot@adacore.com>
3280 * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
3281 other C library functions, report *failure* with a zero status, and
3282 success with a non-zero status.
3284 2009-04-20 Bob Duff <duff@adacore.com>
3286 * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
3287 (Semantics): After analyzing each unit, Append it to the
3288 Comp_Unit_List, if appropriate.
3290 * gnat1drv.adb (Check_Library_Items): New procedure for debugging
3292 (Gnat1drv): Correct comment regarding Back_End_Mode.
3294 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3296 * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
3298 2009-04-20 Thomas Quinot <quinot@adacore.com>
3300 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3301 output.adb, output.ads, s-taprop-hpux-dce.adb,
3302 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
3305 2009-04-20 Thomas Quinot <quinot@adacore.com>
3307 * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
3308 g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
3309 (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
3310 (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
3311 except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
3312 (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
3314 * debug.adb: Fix typo
3316 * gnat_rm.texi: Minor doc fix.
3318 * sem_ch7.adb, freeze.adb: Minor reformatting
3320 2009-04-20 Thomas Quinot <quinot@adacore.com>
3322 * g-socket.ads: Add new constants:
3324 Unspecified_Group_Inet_Addr
3325 All_Hosts_Group_Inet_Addr
3326 All_Routers_Group_Inet_Addr
3328 * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
3329 ERANGE (Result too large).
3330 (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
3331 propagation of errno to caller.
3333 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
3335 * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
3336 to 24. Increment Leap_Seconds_Count and add an entry to aggregate
3339 2009-04-20 Gary Dismukes <dismukes@adacore.com>
3341 * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
3342 checking for references to eliminated subprograms that should be
3344 (Eliminate_Error_Message): Update comment to say "references" rather
3345 than "calls" (since attribute cases are handled here as well).
3347 * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
3348 checking for references to eliminated subprograms that should be
3349 flagged. Add with and use of Sem and Sem_Util.
3351 * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
3352 Add with and use of Sem_Elim.
3354 * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
3355 applied to eliminated subprograms.
3356 (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
3357 eliminated subprograms.
3358 Add with and use of Sem_Elim.
3360 * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
3361 to eliminated subprograms, now handled during Resolve_Call.
3362 Remove with and use of Sem_Elim.
3364 * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
3365 testing Is_Eliminated, for proper handling of primitive derived from
3366 eliminated subprograms.
3368 2009-04-20 Vincent Celier <celier@adacore.com>
3370 * mlib-prj.adb (Build_Library): Use the shared library linker, if one
3371 has been declared (Library_GCC or Linker'Driver), for the driver name.
3373 * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
3374 Linker'Driver is, use Linker'Driver as the shared library linker.
3375 (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
3376 Library_GCC is declared.
3377 (Check_Library_Attributes): Set up the shared linker driver: either
3378 Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
3381 2009-04-20 Thomas Quinot <quinot@adacore.com>
3383 * g-socket.ads (Send_Socket): Fix misleading comment.
3385 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3387 * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
3390 2009-04-20 Geert Bosch <bosch@adacore.com>
3392 * a-tifiio.adb (Put): Avoid generating too many digits for certain
3393 fixed types with smalls that are neither integer or the reciprocal
3396 2009-04-20 Bob Duff <duff@adacore.com>
3398 * uname.ads: Minor comment fix.
3400 * types.ads: Minor comment fix.
3402 2009-04-20 Pascal Obry <obry@adacore.com>
3404 * adaint.c (__gnat_get_libraries_from_registry): Fix code to
3405 avoid warning. At the same time fix a memory leak.
3407 * osint.adb (Get_Libraries_From_Registry): Properly free memory
3408 returned by the above routine.
3410 2009-04-20 Robert Dewar <dewar@adacore.com>
3412 * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
3413 s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
3414 s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
3415 s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
3417 * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
3419 2009-04-20 Pascal Obry <obry@adacore.com>
3421 * initialize.c (__gnat_initialize): Add braces to kill warning.
3423 * adaint.c: Minor reformatting, remove trailing spaces.
3425 2009-04-17 Arnaud Charlet <charlet@adacore.com>
3427 * gcc-interface/Make-lang.in: Update dependencies.
3429 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3431 * adaint.h (__gnat_lwp_self): Declare on Linux.
3433 * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
3435 2009-04-20 Robert Dewar <dewar@adacore.com>
3437 * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
3438 front-end part of -fpreserve-control-flow switch.
3440 2009-04-20 Bob Duff <duff@adacore.com>
3442 * rtsfind.adb: Minor comment fix
3444 2009-04-20 Robert Dewar <dewar@adacore.com>
3446 * exp_aggr.adb: Minor reformatting
3447 Minor code reorganization (use Nkind_In)
3449 * g-socket.adb: Minor reformatting
3451 * g-socket.ads: Minor comment fix
3453 * s-auxdec.ads: Minor comment and organization update.
3455 * s-auxdec-vms_64.ads: Minor comment and organization update.
3457 * sem_ch10.adb: Minor addition of ??? comment
3459 * sem_disp.adb: Minor reformatting
3461 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3463 * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
3464 list a caller of an inlined subprogram, if the caller itself is not
3467 2009-04-20 Pascal Obry <obry@adacore.com>
3469 * adaint.c: Disable use of ACL on network drives.
3471 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3473 * gnat_ugn.texi: Add examples.
3475 2009-04-20 Thomas Quinot <quinot@adacore.com>
3477 * g-socket.ads (Abort_Selector): Clarify documentation.
3479 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3481 * opt.ads (Inspector_Mode): Update documentation of this flag.
3483 2009-04-20 Thomas Quinot <quinot@adacore.com>
3485 * g-socket.ads: Minor reformatting
3487 * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
3488 consider S_resolvLib error codes since we only use the hostLib wrappers.
3490 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3492 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
3493 of the Underlying_Record_View after that of the derived type.
3495 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3497 * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
3500 2009-04-20 Javier Miranda <miranda@adacore.com>
3502 * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
3504 * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
3507 * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
3510 (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
3511 in internally built overriding subprograms.
3513 2009-04-20 Doug Rupp <rupp@adacore.com>
3515 * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
3517 * s-auxdec.ads: Likewise
3519 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3521 * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
3522 type by an interface.
3524 * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
3525 minimze difference in expanded tree when compiled as spec of the main
3526 unit, or as a spec in the context of another unit.
3528 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
3530 * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
3531 (localtime_tzoff): This routine no longer accepts an actual of type
3533 (UTC_Time_Offset): Remove local variable Secs_TM.
3535 * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
3536 actual of type struct tm*. Add local variable of type struct tm for all
3537 targets that provide localtime_r and need to invoke it.
3539 2009-04-20 Thomas Quinot <quinot@adacore.com>
3541 * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
3542 (GNAT.Sockets.Resolve_Error): Add case of EPIPE
3543 Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
3545 2009-04-20 Robert Dewar <dewar@adacore.com>
3547 * sem_ch3.adb: Minor reformatting
3549 * lib-load.adb: Minor reformatting
3551 * sem_ch4.adb: Minor reformatting
3553 2009-04-20 Robert Dewar <dewar@adacore.com>
3555 * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
3556 (equal values => False).
3558 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3560 * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
3561 to null procedures can be inlined unconditionally.
3563 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3565 * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
3566 non-addressable parameter passed by reference, do not convert the
3567 actual if its type is already the nominal type, unless it is of
3568 self-referential size.
3570 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3572 * gnat_ugn.texi: Fix typos.
3574 2009-04-20 Robert Dewar <dewar@adacore.com>
3576 * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
3577 Validate_Unchecked_Warnings to suppress warnings about size or
3578 alignment or extra bits if either type involved has pragma Warnings
3579 (Off) set for the type entity.
3581 2009-04-19 Eric Botcazou <ebotcazou@adacore.com>
3583 * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
3584 a builtin type and give it a name.
3586 2009-04-17 Diego Novillo <dnovillo@google.com>
3588 * gcc-interface/misc.c (gnat_expand_expr): Remove.
3589 (LANG_HOOKS_EXPAND_EXPR): Remove.
3591 2009-04-17 Robert Dewar <dewar@adacore.com>
3593 * sem_ch3.adb: Minor reformatting
3595 2009-04-17 Pascal Obry <obry@adacore.com>
3597 * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
3599 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3601 * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
3602 illegal constraints on type derived from formal discrete types.
3604 2009-04-17 Thomas Quinot <quinot@adacore.com>
3608 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
3609 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
3610 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
3611 g-socket.ads (GNAT.Sockets.Thin.C_Send,
3612 GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
3613 Replace calls to send(2) with equivalent sendto(2) calls.
3614 (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
3615 (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
3616 report an error in that case. Factor code common to the two versions
3617 (datagram and stream) in common routine Stream_Write.
3619 2009-04-17 Robert Dewar <dewar@adacore.com>
3621 * exp_disp.adb: Minor reformatting
3622 Minor code reorganization (use Nkind_In)
3624 * prepcomp.adb: Minor reformatting
3626 * sem_ch3.adb: Minor reformatting
3628 * sem_res.adb: Minor comment addition
3630 * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
3633 * lib-xref.adb (Generate_Reference): Exclude recursive calls from
3634 setting Is_Referenced
3636 * types.ads: Minor reformatting
3638 2009-04-17 Arnaud Charlet <charlet@adacore.com>
3640 * gnat_ugn.texi: Initial documentation on binding generator.
3642 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3644 * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
3645 type extensions whose parent is a type with unknown discriminants.
3647 * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
3648 aggregate has unknown discriminants, use the Underlying_Record_View to
3649 obtain the discriminants of the ancestor part.
3651 * exp_disp.adb (Build_Dispatch_Tables): Types that are
3652 Underlying_Record_Views share the dispatching information of the
3653 original record extension.
3655 * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
3656 discriminants, propagate dispach table information to the
3657 Underlying_Record_View.
3659 * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
3660 discriminants and declaration is not a completion, generate
3661 Underlying_Record_View to provide proper discriminant information to
3662 the front-end and to gigi.
3664 2009-04-17 Robert Dewar <dewar@adacore.com>
3666 * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
3667 s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
3668 s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
3669 g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
3670 s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
3671 s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
3672 g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
3673 s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
3674 g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
3675 s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
3676 s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
3677 s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
3678 s-conca3.ads: Remove unneeded pragma Warnings
3680 2009-04-17 Robert Dewar <dewar@adacore.com>
3682 * g-moreex.adb: Add comments.
3684 * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
3686 * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
3689 * prepcomp.adb: Add ??? comment
3691 * a-tasatt.adb: Minor reformatting
3693 * g-trasym-vms-alpha.adb: Add ??? comment
3695 * g-trasym-vms-ia64.adb: Add ??? comment
3697 * xoscons.adb: Minor reformatting
3699 * s-tassta.adb: Minor reformatting
3701 * s-scaval.adb: Add ??? comment
3703 * stand.ads: Minor code clean up (remove junk with of Namet)
3705 * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
3706 s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
3707 s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
3708 s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
3709 s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
3710 s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
3711 s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
3712 s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
3713 Warnings off pragmas.
3715 2009-04-17 Pascal Obry <obry@adacore.com>
3717 * initialize.c: Fix test for reallocating the arguments array.
3719 2009-04-17 Geert Bosch <bosch@adacore.com>
3721 * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
3722 conversion truncate only for decimal fixed point types.
3724 2009-04-17 Jerome Lambourg <lambourg@adacore.com>
3726 * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
3729 2009-04-17 Robert Dewar <dewar@adacore.com>
3731 * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
3732 Backwards_OK if either operand has an address clause.
3734 2009-04-17 Pascal Obry <obry@adacore.com>
3736 * initialize.c: Code clean up, use realloc.
3738 2009-04-17 Pascal Obry <obry@adacore.com>
3740 * initialize.c: Do not get Unicode command line if Unicode support not
3742 Add support for wildcard expansion for Unicode parameters on Win32.
3744 * mingw32.h: Add missing macros when Unicode support not activated.
3746 2009-04-17 Javier Miranda <miranda@adacore.com>
3748 * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
3749 avoid generating code that references the Current_Master
3750 when compiling without tasks.
3752 2009-04-17 Vincent Celier <celier@adacore.com>
3754 * prj-attr.adb: New project level attribute Target
3756 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
3759 * prj.ads (Project_Configuration): New component Target
3761 2009-04-17 Thomas Quinot <quinot@adacore.com>
3763 * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
3764 case for the case of an aggregate component, the attach call for the
3765 result is actually needed.
3767 * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
3768 an array aggregate must be disabled if the component type requires
3771 * exp_ch3.adb: Minor reformatting
3773 2009-04-17 Bob Duff <duff@adacore.com>
3775 * output.ads (Indent,Outdent): New procedures for indenting the output.
3776 (Write_Char): Correct comment -- LF _is_ allowed.
3778 * output.adb (Indent,Outdent): New procedures for indenting the output.
3779 Keep track of the indentation level, and make sure it doesn't get too
3781 (Flush_Buffer): Insert spaces at the beginning of each line, if
3782 indentation level is nonzero.
3783 (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
3785 (Set_Standard_Error,Set_Standard_Output): Remove superfluous
3786 "Next_Col := 1;". Flush_Buffer does that.
3788 * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
3789 controlled by the -gnatdc switch. It now occurs on entry/exit to the
3790 relevant analysis routines, and calls Indent/Outdent to make the
3791 indentation reflect the nesting level. Add "helper" routines, since
3792 otherwise lots of "return;" statements would skip the debugging output.
3794 2009-04-17 Arnaud Charlet <charlet@adacore.com>
3796 * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
3797 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
3798 s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
3800 2009-04-17 Thomas Quinot <quinot@adacore.com>
3802 * exp_aggr.adb: Minor code reorganization, no behaviour change.
3804 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3806 * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
3807 clause in a unit that is a package body or a subunit, when the previous
3808 clause appears in a spec or a parent.
3810 2009-04-17 Thomas Quinot <quinot@adacore.com>
3812 * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
3814 * exp_ch7.adb: Minor reformatting
3816 2009-04-17 Bob Duff <duff@adacore.com>
3818 * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
3819 allocator, check that the expression of the qualified expression obeys
3820 the constraints of the subtype of the qualified expression.
3822 2009-04-17 Thomas Quinot <quinot@adacore.com>
3824 * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
3826 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3828 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
3829 aggregate, using context imposed by subtype mark in allocator.
3831 2009-04-17 Pascal Obry <obry@adacore.com>
3833 * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
3835 2009-04-17 Nicolas Roche <roche@adacore.com>
3837 * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
3840 2009-04-17 Gary Dismukes <dismukes@adacore.com>
3842 * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
3843 cover both calls and attribute references ("call" => "reference").
3845 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3847 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
3848 type for which Storage_Size is set to 0 is legal in a pure unit.
3850 2009-04-17 Thomas Quinot <quinot@adacore.com>
3852 * exp_ch7.adb: Minor reformatting
3854 2009-04-17 Robert Dewar <dewar@adacore.com>
3856 * restrict.adb (Check_Restriction_No_Dependence): Don't check
3857 restriction if outside main extended source unit.
3859 * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
3860 for parents of child units as well as the child unit itself.
3862 2009-04-17 Bob Duff <duff@adacore.com>
3864 * checks.ads: Minor comment fix
3866 * exp_aggr.ads: Minor comment fix
3868 2009-04-17 Nicolas Roche <roche@adacore.com>
3870 * adaint.c: Improve cross compiler detection and handling.
3872 2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
3874 * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
3876 2009-04-17 Pascal Obry <obry@adacore.com>
3878 * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
3881 * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
3882 value when no encoding form paramter is set on Text_IO services.
3884 * adaint.c: CurrentCodePage new variable on Windows.
3885 Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
3888 * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
3891 * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
3892 environment variable value. Default is UTF-8.
3894 * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
3895 fopen and freopen encoding parameter is now set to Unspecified.
3896 The default value is in this case UTF-8 (as it was before) but
3897 use the new macros that convert to/from the code page set
3898 at runtime (CurrentCodePage).
3900 * s-fileio.adb: When no encoding specified use Unspecified value.
3902 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3904 * atree.adb, atree.ads: Remove dead code.
3906 2009-04-17 Arnaud Charlet <charlet@adacore.com>
3908 * gcc-interface/Make-lang.in: Update dependencies.
3910 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3912 * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
3913 illegal uses of incomplete types in formal parts and return types.
3915 * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
3916 access to subprograms.
3918 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
3919 Taft-amendment types as the return type of an access_to_function type.
3921 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
3922 type for access_to_subprograms. The check is performed on package exit.
3924 2009-04-17 Ed Schonberg <schonberg@adacore.com>
3926 * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
3928 * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
3930 * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
3932 * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
3933 semantic units, because the handling of itypes in the copied tree
3934 requires semantic information that does not belong in atree.
3936 2009-04-17 Robert Dewar <dewar@adacore.com>
3938 * par-ch6.adb: Minor reformatting
3940 * prj.adb: Minor reformatting
3942 2009-04-17 Gary Dismukes <dismukes@adacore.com>
3944 * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
3945 on protected subprogram bodies, so exclude the case where Pf_Flags is
3946 Pf_Decl_Pbod from the error check.
3948 * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
3949 indicators on subprograms in protected bodies, and proceed with parsing
3952 * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
3953 subprograms from the check for primitiveness on subprograms with
3954 overriding indicators.
3955 (Check_Overriding_Indicator): Include protected subprograms in the
3956 style check for missing overriding indicators.
3958 2009-04-17 Tristan Gingold <gingold@adacore.com>
3960 * init.c: Fix stack checking for x86 Darwin.
3962 2009-04-17 Vincent Celier <celier@adacore.com>
3964 * prj-attr.adb: New project level attribute Object_File_Suffix
3967 * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
3969 (Process_Compiler): Process attribute Object_File_Suffix
3971 * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
3972 platform suffix, when specified.
3974 * prj.ads (Language_Config): New component Object_File_Suffix,
3975 defaulted to No_Name.
3976 (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
3978 * snames.ads-tmpl: New standard name Object_File_Suffix
3980 2009-04-17 Robert Dewar <dewar@adacore.com>
3982 * gnat_rm.texi: Add documentation about No_Streams restriction
3984 * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
3985 attributes when checking No_Streams restriction.
3987 2009-04-17 Thomas Quinot <quinot@adacore.com>
3989 * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
3991 * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
3992 missing calls to RE_Request_Destroy to deallocate request objects after
3995 2009-04-17 Nicolas Setton <setton@adacore.com>
3997 * link.c: Fix support for passing a response file under Darwin.
3999 2009-04-17 Emmanuel Briot <briot@adacore.com>
4001 * prj.adb (Free): new subprogram.
4003 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4005 * sem_ch3.adb: additional initialization on incomplete subtypes.
4007 * sem_ch6.adb (Process_Formals): if the subprogram is in the private
4008 part and one of the formals is an incomplete tagged type, attach to
4009 list of private dependends of the type for later validation.
4011 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
4012 primitive operations of a Taft-amendmment type.
4014 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
4015 type. The check is performed on package exit, possibly after the
4016 subprogram is frozen.
4018 2009-04-17 Vincent Celier <celier@adacore.com>
4020 * prj-nmsc.adb (Get_Directories): Get the object and exec directory
4021 before looking for source directories, but make sure that there are nil
4022 if they are not explicitely declared and there is explicitely no
4023 sources in the project.
4025 2009-04-17 Pascal Obry <obry@adacore.com>
4027 * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
4029 * init.c: Fix minor typo and style fix.
4031 2009-04-17 Robert Dewar <dewar@adacore.com>
4033 * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
4035 * sem_attr.adb (Analyze_Attribute, case Address): Use
4036 PE_Address_Of_Intrinsic.
4038 * types.ads: Add PE_Address_Of_Intrinsic
4040 * types.h: Add PE_Address_Of_Intrinsic
4042 2009-04-17 Nicolas Setton <setton@adacore.com>
4044 * gcc-interface/Makefile.in: Under darwin, build shared libraries
4045 with install_name starting with "@rpath/".
4047 2009-04-17 Nicolas Setton <setton@adacore.com>
4049 * link.c: Add darwin section
4051 2009-04-16 Robert Dewar <dewar@adacore.com>
4053 * g-pehage.adb: Minor reformatting
4055 * sem_ch12.adb: Minor reformatting
4057 * exp_dist.adb: Minor reformatting
4059 * bindgen.adb: Minor style fixes.
4061 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4063 * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
4064 indexed components to the case where the prefix is a static string
4067 2009-04-16 Javier Miranda <miranda@adacore.com>
4069 * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
4070 objects avoid any further expansion of the expression initializing the
4073 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4075 * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
4076 that hides an outer homograph, make that homograph invisible when
4077 analyzing the actuals, to to prevent illegal direct visibility on it.
4079 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
4081 * g-pehage.adb (Initialize): Fix off-by-one error.
4083 2009-04-16 Tristan Gingold <gingold@adacore.com>
4085 * init.c: Detect real stack overflow on Darwin.
4087 * system-darwin-x86.ads: Use stack probing on darwin x86.
4089 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4091 * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
4092 take the address of an intrinsic subprogram.
4094 2009-04-16 Arnaud Charlet <charlet@adacore.com>
4096 * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
4097 for the targets where GNAT.Traceback.Symbolic is not supported.
4099 2009-04-16 Vincent Celier <celier@adacore.com>
4101 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
4103 * g-trasym.ads: Update comments.
4105 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
4107 * tracebak.c (STOP_FRAME): Verify validity of the current address
4108 before dereferencing.
4110 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4112 * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
4113 the original location of the index expressions and the index subtypes,
4114 to prevent spurious out-of-scope references in gigi.
4116 2009-04-16 Tristan Gingold <gingold@adacore.com>
4118 * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
4119 Add support for stack checking on darwin.
4121 2009-04-16 Vincent Celier <celier@adacore.com>
4123 * prj-attr.adb: New attribute Runtime_Source_Dir
4125 * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
4126 attribute Runtime_Source_Dir.
4127 (Check_Naming_Schemes): Give default values to out parameters to avoid
4130 * prj.ads (Language_Config): New component Runtime_Source_Dir
4132 * snames.ads-tmpl: New standard name Runtime_Source_Dir
4134 2009-04-16 Pascal Obry <obry@adacore.com>
4136 * adaint.h, adaint.c (__gnat_rmdir): New routine.
4137 Simple wrapper routines used to convert to proper encoding on
4140 * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
4142 * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
4145 2009-04-16 Pascal Obry <obry@adacore.com>
4147 * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
4149 2009-04-16 Thomas Quinot <quinot@adacore.com>
4151 * snames.ads-tmpl (Name_Defined): New predefined name for use by the
4152 integrated preprocessor.
4154 * prep.ads, prep.adb (Setup_Hooks): New subprogram.
4155 (Initialize): Split into two subprograms, Initialize (to be called
4156 prior to compiler command line processing) and Setup_Hooks (to be called
4157 later on when the first source file is loaded).
4159 * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
4160 Add call to Prep.Initialize.
4162 * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
4163 to Prep.Setup_Hooks.
4165 2009-04-16 Pascal Obry <obry@adacore.com>
4167 * adaint.h, adaint.c (__gnat_chdir): New routine.
4168 Simple wrapper routines used to convert to proper encoding on
4171 * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
4173 * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
4175 2009-04-16 Quentin Ochem <ochem@adacore.com>
4177 * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
4180 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
4182 * a-convec.ads (Is_Empty): Mark inline.
4184 2009-04-16 Nicolas Roche <roche@adacore.com>
4186 * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
4188 2009-04-16 Thomas Quinot <quinot@adacore.com>
4190 * prepcomp.adb: Minor reformatting
4192 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
4194 * sem_prag.adb (Process_Import_Or_Interface): With .NET,
4195 Access_Subprogram types can also be imported.
4196 (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
4199 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4201 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
4202 preserve homonym chain when the declaration is rewritten into a
4203 renaming declaration, in order to preserve visibility structure.
4205 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
4207 * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
4208 taken into account for VM targets.
4210 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
4212 * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
4214 (Year_Week_In_Year): New routine which contains the original code from
4215 Week_In_Year. Add the missing special case for January 1st falling on
4218 2009-04-16 Thomas Quinot <quinot@adacore.com>
4220 * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
4221 actual type, use the base type to build the To_Any function.
4222 (Build_From_Any_Function): Remove junk, useless subtype conversion.
4224 2009-04-16 Thomas Quinot <quinot@adacore.com>
4226 * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
4227 restrict.adb: Minor code reorganization (use
4228 Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
4230 2009-04-16 Bob Duff <duff@adacore.com>
4232 * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
4235 2009-04-16 Thomas Quinot <quinot@adacore.com>
4237 * sem_ch4.adb: Minor reformatting
4239 * adaint.c: Remove junk duplicated code.
4241 * sem_ch3.adb: Minor reformatting
4243 * exp_dist.adb: Minor comment rewording
4245 2009-04-16 Robert Dewar <dewar@adacore.com>
4247 * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
4250 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4252 * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
4253 usable before calling Add_One_Interp, to resolve spurious ambiguities.
4255 2009-04-16 Robert Dewar <dewar@adacore.com>
4257 * Make-lang.in: Add entries for s-conca?.o
4259 * Makefile.rtl: Add entries for s-conca?
4261 * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
4262 of concatenation expansion
4264 * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
4265 string cases instead of expanding assignments inline.
4267 * opt.ads (Optimize_Size): New flag
4269 * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
4270 s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
4271 s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
4272 s-conca9.adb, s-conca9.ads: New file.
4274 2009-04-16 Robert Dewar <dewar@adacore.com>
4276 * exp_ch6.adb: Add comments
4278 * rtsfind.ads: Add entries for s-conca? routines
4280 2009-04-16 Arnaud Charlet <charlet@adacore.com>
4282 * gcc-interface/Make-lang.in: Update dependencies.
4284 * gcc-interface/Makefile.in: Update translation for vms.
4286 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4288 * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
4289 and made global, to be used when installing parents of a child
4290 instance, to provide mappings for entities declared in formal packages
4291 of ancestor units. Now called from Install_Formal_Packages.
4293 2009-04-16 Doug Rupp <rupp@adacore.com>
4295 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
4296 notation for clarity.
4298 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
4299 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
4300 s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
4301 (Initialize): Initialize Known_Tasks with Environment task.
4303 * s-taskin.ads (Task_States): Move new states to end for the sake of
4306 * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
4308 2009-04-16 Ed Schonberg <schonberg@adacore.com>
4310 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
4311 operation has an inline pragma, propagate the flag to the internal
4312 unprotected subprogram.
4314 2009-04-16 Doug Rupp <rupp@adacore.com>
4316 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
4317 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
4318 s-taprop-hpux-dce.adb, s-taprop-posix.adb
4319 (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
4321 * s-taprop-vms.adb (Enter_Task): Likewise.
4322 (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
4324 * s-tassta.adb (Activate_Tasks): After task creation set state to
4325 Activating, vice Runnable. Initialize Known_Tasks, moved here from
4326 s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
4327 Set state to Runnable after above.
4328 (Task_Wrapper): Set Debug_Event_Run. In exception block set
4329 Debug_Event_Terminated.
4331 * s-taskin.ads (Task_States): Add new states Activiting and
4332 Activator_Delay_Sleep.
4333 (Bit_Array, Debug_Event_Array): New types.
4334 (Global_Task_Debug_Event_Set: New flag.
4335 (Common_ATCB): New field Debug_Events.
4337 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
4339 * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
4342 * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
4343 Activating and when Acceptor_Delay_Sleep.
4345 * s-tasdeb.ads: Add constants for Debug_Events.
4346 (Debug_Event_Kind_Type): New subtype.
4347 (Signal_Debug_Event): New subprogram.
4349 * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
4351 2009-04-16 Thomas Quinot <quinot@adacore.com>
4353 * sem_elim.adb: Minor reformatting
4355 * freeze.adb: Minor reformatting
4357 * exp_ch4.adb: Minor reformatting
4359 2009-04-16 Emmanuel Briot <briot@adacore.com>
4361 * prj-nmsc.adb (Path_Name_Of): fix memory leak
4363 2009-04-16 Robert Dewar <dewar@adacore.com>
4365 * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
4367 2009-04-16 Vincent Celier <celier@adacore.com>
4369 * fmap.adb (Initialize): Show the current line when the mapping file
4370 is detected as "incorrectly formatted".
4372 2009-04-16 Robert Dewar <dewar@adacore.com>
4374 * sem_ch12.adb: Minor reformatting
4376 * sem_ch5.adb: Minor comment addition
4378 * sem_util.adb: Minor reformatting
4380 * sinput-p.adb: Minor reformatting
4381 Add missing pragma Warnings (On)
4383 2009-04-16 Ed Falis <falis@adacore.com>
4385 * s-vxwext-kernel.adb: (ERROR): deleted unused constant
4387 2009-04-16 Vincent Celier <celier@adacore.com>
4389 * ali-util.adb: Minor comment spelling error fix
4391 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
4393 * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
4394 generate an assignment loop in case of overlap.
4396 2009-04-16 Olivier Hainque <hainque@adacore.com>
4398 * gnat_ugn.texi (gnatmem description): Make it explicit that
4399 gnatmem is designed to work in association with static runtime
4402 2009-04-16 Thomas Quinot <quinot@adacore.com>
4404 * sem_type.adb: Minor reformatting
4406 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
4408 * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
4409 concerning return codes of gettimeofday and return value check.
4411 2009-04-16 Ed Falis <falis@adacore.com>
4413 * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
4414 body can be renaming of imported routines.
4416 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
4418 * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
4421 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4423 * exp_ch9.adb: Comment improvements.
4424 (Build_Entry_Family_Name): Add parentheses around the index of a entry
4427 2009-04-15 Bob Duff <duff@adacore.com>
4429 * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
4430 "while X /= null loop" where X is unchanged inside the loop. We were
4431 not warning in this case, because of the pointers -- we feared that the
4432 loop variable could be updated via a pointer, if there are any pointers
4433 around the place. But that is impossible in this case.
4435 * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
4436 the case of dereferences. In X.all, X cannot be an l-value. We now
4437 catch that case (and implicit dereferences, too).
4439 2009-04-15 Vincent Celier <celier@adacore.com>
4441 * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
4443 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4445 * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
4447 (Analyze_Package_Instantiation): If generic unit in child instance is
4448 the same as generic unit in parent instance, look for an outer homonym
4449 to locate the desired generic.
4451 2009-04-15 Bob Duff <duff@adacore.com>
4453 * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
4454 warnings unless the loop comes from source, because checking generated
4455 loops is a waste of time, and makes it harder to debug
4456 Check_Infinite_Loop_Warning.
4458 * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
4459 tested in the while loop is a renaming, do not warn. Otherwise, we get
4460 false alarms, because it's usually renaming something that we can't
4461 deal with (an indexed component, a global variable, ...).
4463 * gnat_rm.texi: Fix typo
4465 2009-04-15 Thomas Quinot <quinot@adacore.com>
4467 * sem_ch6.adb: Minor reformatting
4469 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4471 * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
4472 immediate parent of the controlled function call is a component
4475 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4477 * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
4478 corresponding class-wide type is also in use.
4480 2009-04-15 Thomas Quinot <quinot@adacore.com>
4482 * frontend.adb: Minor comment fix
4484 2009-04-15 Robert Dewar <dewar@adacore.com>
4486 * gnatchop.adb (BOM_Length): New global variable
4487 (Write_Unit): Add new parameter Write_BOM
4488 (Write_Chopped_Files): Check for BOM and set Write_BOM for call
4491 * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
4493 2009-04-15 Geert Bosch <bosch@adacore.com>
4495 * system-mingw-x86_64.ads, system-darwin-x86_64.ads
4496 (Backend_Overflow_Checks): Set to True.
4498 2009-04-15 Gary Dismukes <dismukes@adacore.com>
4500 * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
4501 keyword is given in a record extension.
4503 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4505 * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
4506 of a controlled function call in the context of a record aggregate.
4507 This does not apply to array aggregates since the call will be expanded
4510 2009-04-15 Ed Falis <falis@adacore.com>
4512 * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
4513 s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
4514 s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
4515 s-osinte-vxworks* and s-vxwext*.
4517 2009-04-15 Arnaud Charlet <charlet@adacore.com>
4519 * gcc-interface/Make-lang.in: Update dependencies.
4521 * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
4524 2009-04-15 Robert Dewar <dewar@adacore.com>
4526 * sem_ch13.adb (Unchecked_Conversions): Store source location instead
4527 of node for location for warning messages.
4529 * gnatchop.adb: Minor reformatting
4531 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4533 * exp_ch6.adb: additional guard for renaming declarations for in
4534 parameters of an array type.
4536 2009-04-15 Robert Dewar <dewar@adacore.com>
4538 * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
4539 in case they were rewritten by expander (Force_Evaluation).
4541 * targparm.adb (Get_Target_Parameters): Correct check for
4542 Suppress_Exception_Locations.
4544 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4546 * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
4547 inlined is of an array type that is not bit-packed, use a renaming
4548 declaration to capture its value, rather than a constant declaration.
4550 2009-04-15 Robert Dewar <dewar@adacore.com>
4552 * rtsfind.adb: Minor reformatting.
4554 2009-04-15 Emmanuel Briot <briot@adacore.com>
4556 * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
4557 Restore, and free the saved context.
4559 2009-04-15 Gary Dismukes <dismukes@adacore.com>
4561 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
4562 for illegal private extension from a synchronized interface parent in
4563 front of check for illegal limited extension so that limited extension
4564 from a synchronized interface will be rejected.
4565 (Check_Ifaces): Check that a private extension that has a synchronized
4566 interface as a progenitor must be explicitly declared synchronized.
4567 Also check that a record extension cannot derive from a synchronized
4570 2009-04-15 Pascal Obry <obry@adacore.com>
4572 * adaint.h (__gnat_unlink): Add spec.
4573 (__gnat_rename): Likewise.
4575 2009-04-15 Vincent Celier <celier@adacore.com>
4577 * prj-nmsc.adb: Minor spelling error corrections in error messages
4579 2009-04-15 Robert Dewar <dewar@adacore.com>
4581 * sinfo.ads: Minor comment update
4583 * opt.ads: Minor comment updates
4585 * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
4588 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4590 * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
4591 that generates the code needed to update a dispatch table when a
4592 primitive operation is declared with a subprogram body without previous
4593 spec. Insertion of the generated code is responsibility of the caller.
4594 (Make_DT): When building static tables, append the code created by
4595 Register_Primitive to update a secondary table after it has been
4598 * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
4600 * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
4601 on an overriding operation that implements an interface operation only
4602 if not building static dispatch tables.
4604 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4606 * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
4607 does not cause overflow when converted to Duration. Use the safe value
4608 as the maximum allowable time delay..
4610 2009-04-15 Jerome Lambourg <lambourg@adacore.com>
4612 * g-comlin.adb (Set_Command_Line): When adding a switch with attached
4613 parameter, specify that the delimiter is NUL, otherwise "-j2" will be
4614 translated to "-j 2".
4616 2009-04-15 Bob Duff <duff@adacore.com>
4618 * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
4619 with_clauses, to avoid code duplication. Change this processing so we
4620 always add a with_clause on the main unit if needed.
4622 2009-04-15 Pascal Obry <obry@adacore.com>
4624 Add support for Win32 native encoding for delete/rename routines.
4626 * adaint.c (__gnat_unlink): New routine.
4627 (__gnat_rename): New routine.
4628 Simple wrapper routines used to convert to proper encoding on
4631 * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
4632 call to the C library.
4634 * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
4636 2009-04-15 Robert Dewar <dewar@adacore.com>
4638 * s-tassta.adb: Minor reformatting
4640 2009-04-15 Robert Dewar <dewar@adacore.com>
4642 * frontend.adb (Frontend): Set proper default for
4643 Warn_On_Non_Local_Exception.
4645 * opt.ads (Exception_Handler_Encountered): New flag
4646 (No_Warn_On_Non_Local_Exception): New flag
4648 * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
4650 * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
4651 (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
4653 2009-04-15 Cyrille Comar <comar@adacore.com>
4655 * s-tassta.adb, a-exextr.adb, a-elchha.adb
4656 (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
4657 message when exception traces are active since it would generate
4658 redundant information.
4659 (Exception_Traces.Notify_Exception): put message output by a critical
4660 section to avoid unsynchronized output.
4661 (Trace_Unhandled_Exception_In_Task): put message output by a critical
4662 section to avoid unsynchronized output.
4664 2009-04-15 Emmanuel Briot <briot@adacore.com>
4666 * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
4667 (Free): New subprogram.
4669 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4671 * a-calend.adb: Add new constant Nanos_In_Four_Years.
4672 (Formatting_Operations.Time_Of): Change the way four year chunks of
4673 nanoseconds are added to the intermediate result.
4675 2009-04-15 Nicolas Setton <setton@adacore.com>
4677 * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
4678 does not need to wait for a carriage return.
4680 2009-04-15 Tristan Gingold <gingold@adacore.com>
4682 * bindgen.adb: Do not generate adafinal if No_Finalization restriction
4685 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4687 * freeze.adb (Freeze_Entity): improve error message for improper use of
4689 Diagnose additional illegal uses of incomplete types in formal parts.
4690 appearing in formal parts.
4692 * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
4694 2009-04-15 Robert Dewar <dewar@adacore.com>
4696 * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
4698 2009-04-15 Nicolas Roche <roche@adacore.com>
4700 * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
4703 * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
4705 * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
4707 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4709 * sem_ch4.adb: improve error message on exponentiation.
4711 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
4713 * a-calend.adb: Move constant Epoch_Offset from package
4714 Conversion_Operations to top level.
4715 (Delay_Operations.To_Duration): Define a constant which represents
4716 "end of time" and use it as a guard against very distant delay dates.
4717 Protect the code against overflow when performing the origin shift to
4720 2009-04-15 Robert Dewar <dewar@adacore.com>
4722 * sem_prag.adb: Minor reformatting.
4724 * sem_type.adb: Minor reformatting
4726 2009-04-15 Javier Miranda <miranda@adacore.com>
4728 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
4729 support to check eliminated subprograms.
4731 * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
4733 * sem_elim.adb (Set_Eliminated): Add support for elimination of
4734 dispatching subprograms.
4736 * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
4737 operations. Initialize with "null" the slots of eliminated dispaching
4739 (Write_DT): Add output for eliminated primitives.
4741 * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
4743 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4745 * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
4746 the second is redundant, regardless of scopes.
4748 2009-04-15 Vincent Celier <celier@adacore.com>
4750 * prj-nmsc.adb (Get_Directories): Check for sources before checking
4751 the object directory as when there are no sources, they may not be any
4754 * make.adb (Gnatmake): Do not attempt to get the path name of the exec
4755 directory, when there are no exec directory.
4757 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4759 * sem_type.adb (Remove_Conversions): In order to resolve spurious
4760 ambiguities, refine removal of universal interpretations from complex
4761 expressions with literal arguments, when some numeric operators have
4762 been declared abstract.
4764 2009-04-15 Ed Falis <falis@adacore.com>
4766 * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
4767 and backward compatibility for targets using probing for stack overflow
4769 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4771 * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
4772 after any declaration, including renaming declarations.
4774 2009-04-15 Arnaud Charlet <charlet@adacore.com>
4776 * gcc-interface/Make-lang.in: Update dependencies.
4778 * gcc-interface/Makefile.in: Fix VxWorks target pairs.
4779 Update xenomai target pairs.
4781 2009-04-15 Javier Miranda <miranda@adacore.com>
4783 * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
4785 * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
4786 functions returning anonymous access to class-wide limited types. Mark
4787 also the containing scope as a task master.
4789 * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
4790 limited-withed packages. Required to restore their visibility after
4791 processing packages associated with implicit with-clauses.
4793 * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
4794 associated with return statements because this work is now done by
4795 Check_Anonymous_Return.
4796 (Build_Master): Code cleanup.
4798 2009-04-15 Thomas Quinot <quinot@adacore.com>
4800 * sem_warn.ads: Minor reformatting
4802 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4804 * sem_ch3.adb: better error message for illegal interfaces
4806 * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
4807 formal is an incomplete type from a limited_with clause.
4809 2009-04-15 Vincent Celier <celier@adacore.com>
4811 * prj-nmsc.adb (Locate_Directory): New Boolean parameter
4812 Externally_Built indicating if the project is externally built. If it
4813 is, and --subdirs is specified, but the subdir does not exist, look
4814 for the specified directory, without the subdir.
4816 2009-04-15 Gary Dismukes <dismukes@adacore.com>
4818 * a-tasatt.adb: Fix typo, plus minor reformatting
4820 * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
4822 * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
4824 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4826 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
4827 private extension whose parent is a synchronized interface carries an
4828 explicit synchronized keyword.
4830 2009-04-15 Thomas Quinot <quinot@adacore.com>
4832 * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
4833 instantiate generic shared object package with the corresponding
4836 2009-04-15 Arnaud Charlet <charlet@adacore.com>
4838 * system-linux-sparc.ads: Remove obsolete entries.
4840 2009-04-15 Thomas Quinot <quinot@adacore.com>
4842 * s-tasuti.ads: Add ??? comment
4844 2009-04-15 Ed Schonberg <schonberg@adacore.com>
4846 * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
4847 type even if the designated type comes from a limited_with clause, to
4848 ensure that the symbol for the finalization list of the access type is
4851 2009-04-10 Robert Dewar <dewar@adacore.com>
4853 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
4854 for warning suppression.
4856 2009-04-10 Ed Schonberg <schonberg@adacore.com>
4858 * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
4859 identical, there is no redudancy to check.
4861 2009-04-10 Gary Dismukes <dismukes@adacore.com>
4863 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
4864 calls initializing SS_Allocator (which is initialized in following
4866 (Expand_Simple_Function_Return): Add comment about False value for
4867 Comes_From_Source on secondary-stack allocator.
4869 * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
4870 (Build_Entry_Name): Add comment.
4872 2009-04-10 Robert Dewar <dewar@adacore.com>
4874 * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
4876 * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
4877 bound tested, since this is now done more generally in Sem_Res.
4879 * sem_res.adb (Resolve_Comparison_Op): Add call to
4880 Check_Lower_Bound_Tested.
4881 (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
4883 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
4884 (Low_Bound_Tested): New name for Low_Bound_Known flag
4886 * exp_ch5.adb: Minor reformatting
4889 Add comments on copying the Comes_From_Source flag for allocators
4892 Add comments on copying the Comes_From_Source flag for allocators
4894 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
4895 Comes_From_Source flag from old allocator to new one.
4897 2009-04-10 Ed Schonberg <schonberg@adacore.com>
4899 * sem_ch6.ads: Address missing documentation query
4901 2009-04-10 Vincent Celier <celier@adacore.com>
4904 Add new Linker attributes Max_Command_Line_Length, Response_File_Format
4905 and Response_File_Switches.
4907 * prj-nmsc.adb (Process_Linker): Process new attributes
4908 Max_Command_Line_Length, Response_File_Format and
4909 Response_File_Switches.
4911 * prj.ads (Response_File_Format): New enumeration type
4912 (Project_Configuration): New componants Max_Command_Line_Length,
4913 Resp_File_Format and Resp_File_Options.
4915 * snames.ads-tmpl: Add new standard names for linking response files
4916 for gprbuild: GNU, None, Object_List, Option_List,
4917 Max_Command_Line_Length, Response_File_Format and
4918 Response_File_Switches.
4920 2009-04-10 Geert Bosch <bosch@adacore.com>
4922 * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
4923 system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
4924 system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
4925 system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
4926 system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
4927 system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
4928 system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
4929 system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
4930 system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
4931 system-vxworks-arm.ads, system-vxworks-m68k.ads,
4932 system-vxworks-mips.ads, system-vxworks-ppc.ads,
4933 system-vxworks-sparcv9.ads, system-vxworks-x86.ads
4934 (Backend_Overflow_Checks): Set to True.
4936 2009-04-10 Thomas Quinot <quinot@adacore.com>
4938 * exp_attr.adb: Minor reformatting
4940 2009-04-10 Ed Schonberg <schonberg@adacore.com>
4942 * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
4943 analyze the expression for a postcondition, even if the compiler mode
4946 2009-04-10 Robert Dewar <dewar@adacore.com>
4948 * sem_aux.adb: Minor reformatting
4950 2009-04-10 Ed Falis <falis@adacore.com>
4952 * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
4954 * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
4956 2009-04-10 Thomas Quinot <quinot@adacore.com>
4958 * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
4959 undocumented formal.
4962 * a-direio.ads: Fix typo in comment
4964 * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
4965 errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
4966 Use uniform phrasing for comment at start of subprogram body.
4968 * xsnamest.adb: Add note to explain why we use specific names for the
4969 newly generated files instead of generating snames.{ads,adb,h} directly
4971 2009-04-10 Sergey Rybin <rybin@adacore.com>
4974 Add qualifier for new gnatstub option '--no-exception'
4977 Add the description of the new gnatstub option '--no-exception'
4979 2009-04-10 Robert Dewar <dewar@adacore.com>
4981 * rtsfind.adb: Minor reformatting
4983 2009-04-10 Thomas Quinot <quinot@adacore.com>
4985 * sem_disp.adb: Minor reformatting.
4986 Add comment pointing to RM clause for the case of warning against a
4987 (failed) attempt at declaring a primitive operation elsewhere than in a
4990 2009-04-10 Ed Schonberg <schonberg@adacore.com>
4992 * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
4993 an actual for a previous formal package of the current instance.
4995 2009-04-10 Bob Duff <duff@adacore.com>
4997 * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
4998 them first, rather than on the extended main unit.
5000 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5002 * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
5003 specification of full view carries a null exclusion indicator, create
5004 an itype for it, to check for conformance with partial view.
5006 2009-04-10 Bob Duff <duff@adacore.com>
5008 * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
5010 * rtsfind.adb: Minor comment changes, and remove useless code.
5012 * sinfo.ads: Add ??? comment.
5014 2009-04-10 Vincent Celier <celier@adacore.com>
5016 * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
5018 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5020 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
5021 type is a synchronized type, retrieve tag information from the
5022 corresponding record, which has the dispatch table link.
5024 2009-04-10 Jerome Lambourg <lambourg@adacore.com>
5026 * g-comlin.adb (Group_Analysis): Take care of switches that might be
5027 decomposed afterwards, but are present as-is in the command line
5028 configuration, and thus should be kept as-is.
5030 2009-04-10 Robert Dewar <dewar@adacore.com>
5032 * gnat_rm.texi: Document that postconditions are tested on implicit
5035 * sem_aux.adb: Minor reformatting
5037 2009-04-10 Gary Dismukes <dismukes@adacore.com>
5039 * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
5042 * par-ch3.adb (P_Access_Type_Definition): Set new attribute
5043 Null_Exclusion_In_Return_Present when an access-to-function type has a
5044 result type with an explicit not null.
5046 * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
5047 given on the result type, then create a null-excluding itype for the
5050 * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
5051 the case where a null exclusion is imposed on a named access type.
5052 (Analyze_Subprogram_Specification): Push and pop the scope of the
5053 function around the call to Analyze_Return_Type in the case of no
5054 formals, for consistency with handling when formals are present
5055 (Process_Formals does this). Ensures that any itype created for the
5056 return type will be associated with the proper scope.
5058 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
5059 exclusion is given on a generic function's result type, then create a
5060 null-excluding itype for the generic function.
5061 (Instantiate_Object): Set Null_Exclusion_Present of a constant created
5062 for an actual for a formal in object according to the setting on the
5063 formal. Ensures null exclusion checks are done when the association is
5066 * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
5067 N_Access_Function_Definition.
5069 * sinfo.adb: Add Get_ and Set_ operations for
5070 Null_Exclusion_In_Return_Present.
5072 2009-04-10 Bob Duff <duff@adacore.com>
5074 * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
5075 call to the _Postconditions procedure in the case of implicit returns
5076 from analysis to expansion. This eliminates some duplicated code. Use
5077 the Postcondition_Proc to find the identity of this procedure during
5080 2009-04-10 Robert Dewar <dewar@adacore.com>
5082 * sem_ch6.adb: Minor code clean up.
5084 * einfo.ads, sem_attr.adb: Minor comment fixes.
5086 2009-04-10 Robert Dewar <dewar@adacore.com>
5088 * sem_ch8.adb: Minor reformatting
5090 2009-04-10 Robert Dewar <dewar@adacore.com>
5092 * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
5095 * sem_ch6.adb: Minor code clean up.
5097 2009-04-10 Robert Dewar <dewar@adacore.com>
5099 * mlib-tgt-specific-xi.adb: Minor reformatting
5101 2009-04-10 Bob Duff <duff@adacore.com>
5103 * einfo.ads: Minor comment fixes
5105 2009-04-10 Vincent Celier <celier@adacore.com>
5107 * snames.ads-tmpl: Remove names that are no longer used in the
5109 Mark specifically those that are used only in gprbuild
5111 2009-04-10 Eric Botcazou <ebotcazou@adacore.com>
5113 * init.c: Adjust EH support code on Alpha/Tru64.
5115 2009-04-10 Bob Duff <duff@adacore.com>
5117 * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
5118 procedure on every path that could return implicitly (not via a return
5119 statement) from a procedure.
5121 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5123 * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
5124 valid scope for a task declarations and therefore for a master id.
5126 2009-04-10 Robert Dewar <dewar@adacore.com>
5128 * sem_aux.adb: Minor reformatting
5130 2009-04-10 Vincent Celier <celier@adacore.com>
5132 * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
5134 (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
5135 (Set_Obsolescent_Check): New procedure to change the value of
5136 Obsolescent_Check_Flag.
5138 * scn.ads (Set_Obsolescent_Check): New procedure to control
5141 * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
5142 obsolescent features while preprocessing.
5144 2009-04-10 Thomas Quinot <quinot@adacore.com>
5146 * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
5147 generated files on all platforms.
5149 2009-04-10 Robert Dewar <dewar@adacore.com>
5151 * sem_aux.adb: Minor reformatting
5153 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5155 * sem_ch3.adb (Access_Definition): Handle properly the case of a
5156 protected function with formals that returns an anonymous access type.
5158 2009-04-10 Thomas Quinot <quinot@adacore.com>
5160 * sem_disp.adb: Minor reformatting
5162 2009-04-10 Vasiliy Fofanov <fofanov@adacore.com>
5164 * seh_init.c: Do not use the 32-bit specific implementation of
5165 __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
5168 2009-04-10 Jose Ruiz <ruiz@adacore.com>
5170 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
5171 a '/' at the end so we better use the complete target name to determine
5172 whether it is a PowerPC 55xx target.
5174 2009-04-10 Thomas Quinot <quinot@adacore.com>
5176 * sem_eval.adb: Minor reformatting
5178 2009-04-10 Thomas Quinot <quinot@adacore.com>
5180 * snames.h, snames.ads, snames.adb: Remove files, now generated from
5183 * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
5186 * xsnamest.adb: New file.
5188 * gcc-interface/Make-lang.in: New target for automated generation of
5189 snames.ads, snames.adb and snames.h
5191 2009-04-10 Tristan Gingold <gingold@adacore.com>
5193 * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
5194 avoid compile time warnings.
5195 Do not add gcc/config in include search list while compiling the RTS.
5196 Pragma Thread_Local_Storage is available on any target.
5198 2009-04-10 Bob Duff <duff@adacore.com>
5200 * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
5202 2009-04-10 Tristan Gingold <gingold@adacore.com>
5204 * init.c: Install signal handler on Darwin.
5206 2009-04-10 Robert Dewar <dewar@adacore.com>
5208 * sem_prag.adb: Minor reformatting
5210 * exp_util.adb (Make_Non_Empty_Check): New function
5211 (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
5212 (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
5214 2009-04-10 Arnaud Charlet <charlet@adacore.com>
5216 * make.adb, gnatlink.adb: Rename JGNAT toolchain.
5218 2009-04-10 Jose Ruiz <ruiz@adacore.com>
5220 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
5221 tool prefix for AVR and PowerPC 55xx targets.
5223 2009-04-10 Robert Dewar <dewar@adacore.com>
5225 * sem_warn.adb (Within_Postcondition): New function
5226 (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
5228 2009-04-10 Robert Dewar <dewar@adacore.com>
5230 * sem_warn.adb: Minor reformatting
5232 * make.adb: Minor reformatting.
5234 2009-04-10 Gary Dismukes <dismukes@adacore.com>
5236 * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
5237 entity and the scope is a subprogram, retrieve the Sloc of the
5238 subprogram's body rather than using the sloc of the spec, for better
5239 line-stepping behavior in gdb.
5240 (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
5241 controller, use the Sloc of the first declaration of the containing list
5242 rather than that of the node that triggered creation of the list
5245 2009-04-10 Vincent Celier <celier@adacore.com>
5247 * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
5248 to avoid gcc warning.
5250 2009-04-10 Robert Dewar <dewar@adacore.com>
5252 * g-comlin.adb: Add ??? comment
5254 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5256 * sem_warn.adb (Check_Unused_Withs): Do not emit message about
5257 unreferenced entities for a package with no visible declarations.
5259 2009-04-10 Robert Dewar <dewar@adacore.com>
5261 * exp_ch9.adb: Minor reformatting
5263 2009-04-10 Thomas Quinot <quinot@adacore.com>
5265 * sem_prag.adb: Minor reformatting
5267 2009-04-10 Vincent Celier <celier@adacore.com>
5270 (Check_Library_Attributes): For a project qualified as a library project
5271 that is not a library project, indicate in the error message which
5272 attributes are missing (Library_Dir and/or Library_Name).
5274 2009-04-10 Bob Duff <duff@adacore.com>
5276 * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
5277 generated nodes, because it might confuse various circuits in the FE.
5279 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5281 * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
5282 of pragma. It will be recopied and analyzed when used in call to
5285 * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
5286 initialization operations and recognize use of it in procedure calls
5289 * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
5290 argument, because it may have side-effects.
5292 * exp_ch2.adb: Remove obsolete comments on default functions
5294 2009-04-10 Jose Ruiz <ruiz@adacore.com>
5296 * adaint.c (RTX section): Do for RTX the same thing as we do for
5297 Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
5299 2009-04-10 Robert Dewar <dewar@adacore.com>
5301 * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
5303 * sem_res.adb (Resolve_Call): Fix test for
5304 Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
5305 a non-dynamic scope).
5307 2009-04-10 Robert Dewar <dewar@adacore.com>
5309 * make.adb: Add comment.
5312 2009-04-10 Nicolas Setton <setton@adacore.com>
5314 * s-osprim-darwin.adb: New file.
5316 * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
5318 2009-04-10 Thomas Quinot <quinot@adacore.com>
5320 * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
5322 2009-04-09 Nick Clifton <nickc@redhat.com>
5324 * adadecode.h: Change copyright header to refer to version
5325 3 of the GNU General Public License with version 3.1 of the
5326 GCC Runtime Library Exception and to point readers at the
5327 COPYING3 and COPYING3.RUNTIME files and the FSF's license web
5329 * 9drpc.adb: Likewise.
5330 * a-assert.adb: Likewise.
5331 * a-astaco.adb: Likewise.
5332 * a-calari.adb: Likewise.
5333 * a-calcon.adb: Likewise.
5334 * a-calcon.ads: Likewise.
5335 * a-caldel.ads: Likewise.
5336 * a-calend-vms.adb: Likewise.
5337 * a-calend-vms.ads: Likewise.
5338 * a-calend.adb: Likewise.
5339 * a-calend.ads: Likewise.
5340 * a-calfor.adb: Likewise.
5341 * a-catizo.adb: Likewise.
5342 * a-cdlili.adb: Likewise.
5343 * a-cdlili.ads: Likewise.
5344 * a-cgaaso.adb: Likewise.
5345 * a-cgaaso.ads: Likewise.
5346 * a-cgarso.adb: Likewise.
5347 * a-cgcaso.adb: Likewise.
5348 * a-chacon.adb: Likewise.
5349 * a-chacon.ads: Likewise.
5350 * a-chahan.adb: Likewise.
5351 * a-chahan.ads: Likewise.
5352 * a-chlat9.ads: Likewise.
5353 * a-chtgke.adb: Likewise.
5354 * a-chtgke.ads: Likewise.
5355 * a-chtgop.adb: Likewise.
5356 * a-chtgop.ads: Likewise.
5357 * a-chzla1.ads: Likewise.
5358 * a-chzla9.ads: Likewise.
5359 * a-cidlli.adb: Likewise.
5360 * a-cidlli.ads: Likewise.
5361 * a-cihama.adb: Likewise.
5362 * a-cihama.ads: Likewise.
5363 * a-cihase.adb: Likewise.
5364 * a-cihase.ads: Likewise.
5365 * a-ciorma.adb: Likewise.
5366 * a-ciorma.ads: Likewise.
5367 * a-ciormu.adb: Likewise.
5368 * a-ciormu.ads: Likewise.
5369 * a-ciorse.adb: Likewise.
5370 * a-ciorse.ads: Likewise.
5371 * a-clrefi.adb: Likewise.
5372 * a-clrefi.ads: Likewise.
5373 * a-cohama.adb: Likewise.
5374 * a-cohama.ads: Likewise.
5375 * a-cohase.adb: Likewise.
5376 * a-cohase.ads: Likewise.
5377 * a-cohata.ads: Likewise.
5378 * a-coinve.adb: Likewise.
5379 * a-coinve.ads: Likewise.
5380 * a-colien.adb: Likewise.
5381 * a-colien.ads: Likewise.
5382 * a-colire.adb: Likewise.
5383 * a-colire.ads: Likewise.
5384 * a-comlin.adb: Likewise.
5385 * a-comlin.ads: Likewise.
5386 * a-convec.adb: Likewise.
5387 * a-convec.ads: Likewise.
5388 * a-coorma.adb: Likewise.
5389 * a-coorma.ads: Likewise.
5390 * a-coormu.adb: Likewise.
5391 * a-coormu.ads: Likewise.
5392 * a-coorse.adb: Likewise.
5393 * a-coorse.ads: Likewise.
5394 * a-coprnu.adb: Likewise.
5395 * a-coprnu.ads: Likewise.
5396 * a-crbltr.ads: Likewise.
5397 * a-crbtgk.adb: Likewise.
5398 * a-crbtgk.ads: Likewise.
5399 * a-crbtgo.adb: Likewise.
5400 * a-crbtgo.ads: Likewise.
5401 * a-crdlli.adb: Likewise.
5402 * a-crdlli.ads: Likewise.
5403 * a-cwila1.ads: Likewise.
5404 * a-cwila9.ads: Likewise.
5405 * a-decima.adb: Likewise.
5406 * a-decima.ads: Likewise.
5407 * a-diocst.adb: Likewise.
5408 * a-diocst.ads: Likewise.
5409 * a-direct.adb: Likewise.
5410 * a-direct.ads: Likewise.
5411 * a-direio.adb: Likewise.
5412 * a-direio.ads: Likewise.
5413 * a-dirval-mingw.adb: Likewise.
5414 * a-dirval-vms.adb: Likewise.
5415 * a-dirval.adb: Likewise.
5416 * a-dirval.ads: Likewise.
5417 * a-dynpri.adb: Likewise.
5418 * a-einuoc.adb: Likewise.
5419 * a-einuoc.ads: Likewise.
5420 * a-elchha.adb: Likewise.
5421 * a-elchha.ads: Likewise.
5422 * a-envvar.adb: Likewise.
5423 * a-excach.adb: Likewise.
5424 * a-except-2005.adb: Likewise.
5425 * a-except-2005.ads: Likewise.
5426 * a-except.adb: Likewise.
5427 * a-except.ads: Likewise.
5428 * a-excpol-abort.adb: Likewise.
5429 * a-excpol.adb: Likewise.
5430 * a-exctra.adb: Likewise.
5431 * a-exctra.ads: Likewise.
5432 * a-exetim-mingw.adb: Likewise.
5433 * a-exetim-mingw.ads: Likewise.
5434 * a-exexda.adb: Likewise.
5435 * a-exexpr-gcc.adb: Likewise.
5436 * a-exexpr.adb: Likewise.
5437 * a-exextr.adb: Likewise.
5438 * a-exstat.adb: Likewise.
5439 * a-filico.adb: Likewise.
5440 * a-filico.ads: Likewise.
5441 * a-finali.adb: Likewise.
5442 * a-finali.ads: Likewise.
5443 * a-interr.ads: Likewise.
5444 * a-intnam-aix.ads: Likewise.
5445 * a-intnam-darwin.ads: Likewise.
5446 * a-intnam-dummy.ads: Likewise.
5447 * a-intnam-freebsd.ads: Likewise.
5448 * a-intnam-hpux.ads: Likewise.
5449 * a-intnam-irix.ads: Likewise.
5450 * a-intnam-linux.ads: Likewise.
5451 * a-intnam-lynxos.ads: Likewise.
5452 * a-intnam-mingw.ads: Likewise.
5453 * a-intnam-rtems.ads: Likewise.
5454 * a-intnam-solaris.ads: Likewise.
5455 * a-intnam-tru64.ads: Likewise.
5456 * a-intnam-vms.ads: Likewise.
5457 * a-intnam-vxworks.ads: Likewise.
5458 * a-intsig.adb: Likewise.
5459 * a-intsig.ads: Likewise.
5460 * a-ngcefu.adb: Likewise.
5461 * a-ngcoar.adb: Likewise.
5462 * a-ngcoty.adb: Likewise.
5463 * a-ngcoty.ads: Likewise.
5464 * a-ngelfu.adb: Likewise.
5465 * a-ngrear.adb: Likewise.
5466 * a-ngrear.ads: Likewise.
5467 * a-nudira.adb: Likewise.
5468 * a-nudira.ads: Likewise.
5469 * a-nuflra.adb: Likewise.
5470 * a-nuflra.ads: Likewise.
5471 * a-numaux-darwin.adb: Likewise.
5472 * a-numaux-darwin.ads: Likewise.
5473 * a-numaux-libc-x86.ads: Likewise.
5474 * a-numaux-vxworks.ads: Likewise.
5475 * a-numaux-x86.adb: Likewise.
5476 * a-numaux-x86.ads: Likewise.
5477 * a-numaux.ads: Likewise.
5478 * a-rbtgso.adb: Likewise.
5479 * a-rbtgso.ads: Likewise.
5480 * a-reatim.ads: Likewise.
5481 * a-retide.adb: Likewise.
5482 * a-retide.ads: Likewise.
5483 * a-rttiev.adb: Likewise.
5484 * a-rttiev.ads: Likewise.
5485 * a-secain.adb: Likewise.
5486 * a-secain.ads: Likewise.
5487 * a-sequio.adb: Likewise.
5488 * a-sequio.ads: Likewise.
5489 * a-shcain.adb: Likewise.
5490 * a-shcain.ads: Likewise.
5491 * a-siocst.adb: Likewise.
5492 * a-siocst.ads: Likewise.
5493 * a-slcain.adb: Likewise.
5494 * a-slcain.ads: Likewise.
5495 * a-ssicst.adb: Likewise.
5496 * a-ssicst.ads: Likewise.
5497 * a-stboha.adb: Likewise.
5498 * a-stmaco.ads: Likewise.
5499 * a-storio.adb: Likewise.
5500 * a-strbou.adb: Likewise.
5501 * a-strbou.ads: Likewise.
5502 * a-stream.ads: Likewise.
5503 * a-strfix.adb: Likewise.
5504 * a-strhas.adb: Likewise.
5505 * a-strmap.adb: Likewise.
5506 * a-strmap.ads: Likewise.
5507 * a-strsea.adb: Likewise.
5508 * a-strsea.ads: Likewise.
5509 * a-strsup.adb: Likewise.
5510 * a-strsup.ads: Likewise.
5511 * a-strunb.adb: Likewise.
5512 * a-strunb.ads: Likewise.
5513 * a-ststio.adb: Likewise.
5514 * a-ststio.ads: Likewise.
5515 * a-stunau.adb: Likewise.
5516 * a-stunau.ads: Likewise.
5517 * a-stunha.adb: Likewise.
5518 * a-stwibo.adb: Likewise.
5519 * a-stwibo.ads: Likewise.
5520 * a-stwifi.adb: Likewise.
5521 * a-stwiha.adb: Likewise.
5522 * a-stwima.adb: Likewise.
5523 * a-stwima.ads: Likewise.
5524 * a-stwise.adb: Likewise.
5525 * a-stwise.ads: Likewise.
5526 * a-stwisu.adb: Likewise.
5527 * a-stwisu.ads: Likewise.
5528 * a-stwiun.adb: Likewise.
5529 * a-stwiun.ads: Likewise.
5530 * a-stzbou.adb: Likewise.
5531 * a-stzbou.ads: Likewise.
5532 * a-stzfix.adb: Likewise.
5533 * a-stzhas.adb: Likewise.
5534 * a-stzmap.adb: Likewise.
5535 * a-stzmap.ads: Likewise.
5536 * a-stzsea.adb: Likewise.
5537 * a-stzsea.ads: Likewise.
5538 * a-stzsup.adb: Likewise.
5539 * a-stzsup.ads: Likewise.
5540 * a-stzunb.adb: Likewise.
5541 * a-stzunb.ads: Likewise.
5542 * a-suteio.adb: Likewise.
5543 * a-suteio.ads: Likewise.
5544 * a-swbwha.adb: Likewise.
5545 * a-swmwco.ads: Likewise.
5546 * a-swunau.adb: Likewise.
5547 * a-swunau.ads: Likewise.
5548 * a-swuwha.adb: Likewise.
5549 * a-swuwti.adb: Likewise.
5550 * a-swuwti.ads: Likewise.
5551 * a-sytaco.adb: Likewise.
5552 * a-sytaco.ads: Likewise.
5553 * a-szbzha.adb: Likewise.
5554 * a-szmzco.ads: Likewise.
5555 * a-szunau.adb: Likewise.
5556 * a-szunau.ads: Likewise.
5557 * a-szuzha.adb: Likewise.
5558 * a-szuzti.adb: Likewise.
5559 * a-szuzti.ads: Likewise.
5560 * a-tags.adb: Likewise.
5561 * a-tags.ads: Likewise.
5562 * a-tasatt.ads: Likewise.
5563 * a-taside.adb: Likewise.
5564 * a-taside.ads: Likewise.
5565 * a-taster.adb: Likewise.
5566 * a-teioed.adb: Likewise.
5567 * a-teioed.ads: Likewise.
5568 * a-textio.adb: Likewise.
5569 * a-textio.ads: Likewise.
5570 * a-tiboio.adb: Likewise.
5571 * a-ticoau.adb: Likewise.
5572 * a-ticoau.ads: Likewise.
5573 * a-ticoio.adb: Likewise.
5574 * a-ticoio.ads: Likewise.
5575 * a-tideau.adb: Likewise.
5576 * a-tideau.ads: Likewise.
5577 * a-tideio.adb: Likewise.
5578 * a-tideio.ads: Likewise.
5579 * a-tienau.adb: Likewise.
5580 * a-tienau.ads: Likewise.
5581 * a-tienio.adb: Likewise.
5582 * a-tienio.ads: Likewise.
5583 * a-tifiio.adb: Likewise.
5584 * a-tifiio.ads: Likewise.
5585 * a-tiflau.adb: Likewise.
5586 * a-tiflau.ads: Likewise.
5587 * a-tiflio.adb: Likewise.
5588 * a-tiflio.ads: Likewise.
5589 * a-tigeau.adb: Likewise.
5590 * a-tigeau.ads: Likewise.
5591 * a-tiinau.adb: Likewise.
5592 * a-tiinau.ads: Likewise.
5593 * a-tiinio.adb: Likewise.
5594 * a-tiinio.ads: Likewise.
5595 * a-timoau.adb: Likewise.
5596 * a-timoau.ads: Likewise.
5597 * a-timoio.adb: Likewise.
5598 * a-timoio.ads: Likewise.
5599 * a-tiocst.adb: Likewise.
5600 * a-tiocst.ads: Likewise.
5601 * a-titest.adb: Likewise.
5602 * a-wichun.adb: Likewise.
5603 * a-wichun.ads: Likewise.
5604 * a-witeio.adb: Likewise.
5605 * a-witeio.ads: Likewise.
5606 * a-wtcoau.adb: Likewise.
5607 * a-wtcoau.ads: Likewise.
5608 * a-wtcoio.adb: Likewise.
5609 * a-wtcstr.adb: Likewise.
5610 * a-wtcstr.ads: Likewise.
5611 * a-wtdeau.adb: Likewise.
5612 * a-wtdeau.ads: Likewise.
5613 * a-wtdeio.adb: Likewise.
5614 * a-wtdeio.ads: Likewise.
5615 * a-wtedit.adb: Likewise.
5616 * a-wtedit.ads: Likewise.
5617 * a-wtenau.adb: Likewise.
5618 * a-wtenau.ads: Likewise.
5619 * a-wtenio.adb: Likewise.
5620 * a-wtenio.ads: Likewise.
5621 * a-wtfiio.adb: Likewise.
5622 * a-wtfiio.ads: Likewise.
5623 * a-wtflau.adb: Likewise.
5624 * a-wtflau.ads: Likewise.
5625 * a-wtflio.adb: Likewise.
5626 * a-wtflio.ads: Likewise.
5627 * a-wtgeau.adb: Likewise.
5628 * a-wtgeau.ads: Likewise.
5629 * a-wtinau.adb: Likewise.
5630 * a-wtinau.ads: Likewise.
5631 * a-wtinio.adb: Likewise.
5632 * a-wtmoau.adb: Likewise.
5633 * a-wtmoau.ads: Likewise.
5634 * a-wtmoio.adb: Likewise.
5635 * a-wtmoio.ads: Likewise.
5636 * a-wttest.adb: Likewise.
5637 * a-wwboio.adb: Likewise.
5638 * a-zchuni.adb: Likewise.
5639 * a-zchuni.ads: Likewise.
5640 * a-ztcoau.adb: Likewise.
5641 * a-ztcoau.ads: Likewise.
5642 * a-ztcoio.adb: Likewise.
5643 * a-ztcstr.adb: Likewise.
5644 * a-ztcstr.ads: Likewise.
5645 * a-ztdeau.adb: Likewise.
5646 * a-ztdeau.ads: Likewise.
5647 * a-ztdeio.adb: Likewise.
5648 * a-ztdeio.ads: Likewise.
5649 * a-ztedit.adb: Likewise.
5650 * a-ztedit.ads: Likewise.
5651 * a-ztenau.adb: Likewise.
5652 * a-ztenau.ads: Likewise.
5653 * a-ztenio.adb: Likewise.
5654 * a-ztenio.ads: Likewise.
5655 * a-ztexio.adb: Likewise.
5656 * a-ztexio.ads: Likewise.
5657 * a-ztfiio.adb: Likewise.
5658 * a-ztfiio.ads: Likewise.
5659 * a-ztflau.adb: Likewise.
5660 * a-ztflau.ads: Likewise.
5661 * a-ztflio.adb: Likewise.
5662 * a-ztflio.ads: Likewise.
5663 * a-ztgeau.adb: Likewise.
5664 * a-ztgeau.ads: Likewise.
5665 * a-ztinau.adb: Likewise.
5666 * a-ztinau.ads: Likewise.
5667 * a-ztinio.adb: Likewise.
5668 * a-ztmoau.adb: Likewise.
5669 * a-ztmoau.ads: Likewise.
5670 * a-ztmoio.adb: Likewise.
5671 * a-ztmoio.ads: Likewise.
5672 * a-zttest.adb: Likewise.
5673 * a-zzboio.adb: Likewise.
5674 * adadecode.c: Likewise.
5675 * adaint.c: Likewise.
5676 * adaint.h: Likewise.
5677 * alloc.ads: Likewise.
5679 * arit64.c: Likewise.
5680 * atree.adb: Likewise.
5681 * atree.ads: Likewise.
5682 * aux-io.c: Likewise.
5684 * casing.adb: Likewise.
5685 * casing.ads: Likewise.
5687 * csets.adb: Likewise.
5688 * csets.ads: Likewise.
5689 * cstreams.c: Likewise.
5690 * ctrl_c.c: Likewise.
5691 * debug.adb: Likewise.
5692 * debug.ads: Likewise.
5693 * dec.ads: Likewise.
5694 * einfo.adb: Likewise.
5695 * einfo.ads: Likewise.
5696 * elists.adb: Likewise.
5697 * elists.ads: Likewise.
5700 * errno.c: Likewise.
5703 * final.c: Likewise.
5704 * fname.adb: Likewise.
5705 * fname.ads: Likewise.
5706 * g-allein.ads: Likewise.
5707 * g-alleve.adb: Likewise.
5708 * g-alleve.ads: Likewise.
5709 * g-altcon.adb: Likewise.
5710 * g-altcon.ads: Likewise.
5711 * g-altive.ads: Likewise.
5712 * g-alveop.adb: Likewise.
5713 * g-alveop.ads: Likewise.
5714 * g-alvety.ads: Likewise.
5715 * g-alvevi.ads: Likewise.
5716 * g-arrspl.adb: Likewise.
5717 * g-arrspl.ads: Likewise.
5718 * g-calend.ads: Likewise.
5719 * g-comlin.adb: Likewise.
5720 * g-debpoo.adb: Likewise.
5721 * g-debpoo.ads: Likewise.
5722 * g-eacodu-vms.adb: Likewise.
5723 * g-eacodu.adb: Likewise.
5724 * g-excact.adb: Likewise.
5725 * g-excact.ads: Likewise.
5726 * g-locfil.adb: Likewise.
5727 * g-os_lib.ads: Likewise.
5728 * g-rannum.adb: Likewise.
5729 * g-rannum.ads: Likewise.
5730 * g-regist.adb: Likewise.
5731 * g-regist.ads: Likewise.
5732 * g-signal.adb: Likewise.
5733 * g-signal.ads: Likewise.
5734 * g-soccon.ads: Likewise.
5735 * g-string.adb: Likewise.
5736 * g-string.ads: Likewise.
5737 * g-strspl.ads: Likewise.
5738 * g-timsta.adb: Likewise.
5739 * g-timsta.ads: Likewise.
5740 * g-trasym-vms-alpha.adb: Likewise.
5741 * g-trasym-vms-ia64.adb: Likewise.
5742 * g-utf_32.adb: Likewise.
5743 * g-utf_32.ads: Likewise.
5744 * g-wistsp.ads: Likewise.
5745 * g-zstspl.ads: Likewise.
5747 * gnatvsn.adb: Likewise.
5748 * gnatvsn.ads: Likewise.
5749 * gsocket.h: Likewise.
5750 * hostparm.ads: Likewise.
5751 * i-c.adb: Likewise.
5752 * i-cexten.ads: Likewise.
5753 * i-cobol.adb: Likewise.
5754 * i-cobol.ads: Likewise.
5755 * i-cpoint.adb: Likewise.
5756 * i-cpoint.ads: Likewise.
5757 * i-cpp.adb: Likewise.
5758 * i-cpp.ads: Likewise.
5759 * i-cstrea-vms.adb: Likewise.
5760 * i-cstrea.adb: Likewise.
5761 * i-cstrea.ads: Likewise.
5762 * i-cstrin.adb: Likewise.
5763 * i-cstrin.ads: Likewise.
5764 * i-forbla-darwin.adb: Likewise.
5765 * i-forbla-unimplemented.ads: Likewise.
5766 * i-forbla.adb: Likewise.
5767 * i-forbla.ads: Likewise.
5768 * i-forlap.ads: Likewise.
5769 * i-fortra.adb: Likewise.
5770 * i-pacdec.adb: Likewise.
5771 * i-pacdec.ads: Likewise.
5772 * i-vxwoio.adb: Likewise.
5773 * i-vxwoio.ads: Likewise.
5774 * indepsw-aix.adb: Likewise.
5775 * indepsw-gnu.adb: Likewise.
5776 * indepsw-mingw.adb: Likewise.
5777 * indepsw.adb: Likewise.
5778 * indepsw.ads: Likewise.
5780 * initialize.c: Likewise.
5781 * interfac.ads: Likewise.
5782 * krunch.adb: Likewise.
5783 * krunch.ads: Likewise.
5784 * lib-list.adb: Likewise.
5785 * lib-sort.adb: Likewise.
5786 * lib.adb: Likewise.
5787 * lib.ads: Likewise.
5789 * math_lib.adb: Likewise.
5790 * memtrack.adb: Likewise.
5791 * mingw32.h: Likewise.
5792 * mkdir.c: Likewise.
5793 * namet-sp.adb: Likewise.
5794 * namet-sp.ads: Likewise.
5795 * namet.adb: Likewise.
5796 * namet.ads: Likewise.
5797 * nlists.adb: Likewise.
5798 * nlists.ads: Likewise.
5799 * opt.adb: Likewise.
5800 * opt.ads: Likewise.
5801 * output.adb: Likewise.
5802 * output.ads: Likewise.
5803 * raise-gcc.c: Likewise.
5804 * raise.c: Likewise.
5805 * raise.h: Likewise.
5806 * repinfo.adb: Likewise.
5807 * repinfo.ads: Likewise.
5808 * repinfo.h: Likewise.
5809 * rident.ads: Likewise.
5810 * s-addima.adb: Likewise.
5811 * s-addima.ads: Likewise.
5812 * s-addope.adb: Likewise.
5813 * s-addope.ads: Likewise.
5814 * s-arit64.adb: Likewise.
5815 * s-arit64.ads: Likewise.
5816 * s-assert.adb: Likewise.
5817 * s-assert.ads: Likewise.
5818 * s-asthan-vms-alpha.adb: Likewise.
5819 * s-asthan.adb: Likewise.
5820 * s-asthan.ads: Likewise.
5821 * s-atacco.adb: Likewise.
5822 * s-atacco.ads: Likewise.
5823 * s-auxdec-empty.adb: Likewise.
5824 * s-auxdec-empty.ads: Likewise.
5825 * s-auxdec-vms_64.ads: Likewise.
5826 * s-auxdec.adb: Likewise.
5827 * s-auxdec.ads: Likewise.
5828 * s-bitops.adb: Likewise.
5829 * s-bitops.ads: Likewise.
5830 * s-boarop.ads: Likewise.
5831 * s-carsi8.adb: Likewise.
5832 * s-carsi8.ads: Likewise.
5833 * s-carun8.adb: Likewise.
5834 * s-carun8.ads: Likewise.
5835 * s-casi16.adb: Likewise.
5836 * s-casi16.ads: Likewise.
5837 * s-casi32.adb: Likewise.
5838 * s-casi32.ads: Likewise.
5839 * s-casi64.adb: Likewise.
5840 * s-casi64.ads: Likewise.
5841 * s-casuti.ads: Likewise.
5842 * s-caun16.adb: Likewise.
5843 * s-caun16.ads: Likewise.
5844 * s-caun32.adb: Likewise.
5845 * s-caun32.ads: Likewise.
5846 * s-caun64.adb: Likewise.
5847 * s-caun64.ads: Likewise.
5848 * s-chepoo.ads: Likewise.
5849 * s-crc32.adb: Likewise.
5850 * s-crc32.ads: Likewise.
5851 * s-crtl.ads: Likewise.
5852 * s-direio.adb: Likewise.
5853 * s-direio.ads: Likewise.
5854 * s-dsaser.ads: Likewise.
5855 * s-except.adb: Likewise.
5856 * s-except.ads: Likewise.
5857 * s-exctab.adb: Likewise.
5858 * s-exctab.ads: Likewise.
5859 * s-exnint.adb: Likewise.
5860 * s-exnint.ads: Likewise.
5861 * s-exnllf.adb: Likewise.
5862 * s-exnllf.ads: Likewise.
5863 * s-exnlli.adb: Likewise.
5864 * s-exnlli.ads: Likewise.
5865 * s-expint.adb: Likewise.
5866 * s-expint.ads: Likewise.
5867 * s-explli.adb: Likewise.
5868 * s-explli.ads: Likewise.
5869 * s-expllu.adb: Likewise.
5870 * s-expllu.ads: Likewise.
5871 * s-expmod.adb: Likewise.
5872 * s-expmod.ads: Likewise.
5873 * s-expuns.adb: Likewise.
5874 * s-expuns.ads: Likewise.
5875 * s-fatflt.ads: Likewise.
5876 * s-fatgen.adb: Likewise.
5877 * s-fatgen.ads: Likewise.
5878 * s-fatlfl.ads: Likewise.
5879 * s-fatllf.ads: Likewise.
5880 * s-fatsfl.ads: Likewise.
5881 * s-ficobl.ads: Likewise.
5882 * s-fileio.adb: Likewise.
5883 * s-fileio.ads: Likewise.
5884 * s-filofl.ads: Likewise.
5885 * s-finimp.adb: Likewise.
5886 * s-finimp.ads: Likewise.
5887 * s-finroo.adb: Likewise.
5888 * s-finroo.ads: Likewise.
5889 * s-fishfl.ads: Likewise.
5890 * s-fore.adb: Likewise.
5891 * s-fore.ads: Likewise.
5892 * s-fvadfl.ads: Likewise.
5893 * s-fvaffl.ads: Likewise.
5894 * s-fvagfl.ads: Likewise.
5895 * s-gearop.adb: Likewise.
5896 * s-gearop.ads: Likewise.
5897 * s-gecobl.adb: Likewise.
5898 * s-gecobl.ads: Likewise.
5899 * s-gecola.adb: Likewise.
5900 * s-gecola.ads: Likewise.
5901 * s-gerebl.adb: Likewise.
5902 * s-gerebl.ads: Likewise.
5903 * s-gerela.adb: Likewise.
5904 * s-gerela.ads: Likewise.
5905 * s-geveop.adb: Likewise.
5906 * s-geveop.ads: Likewise.
5907 * s-gloloc.adb: Likewise.
5908 * s-gloloc.ads: Likewise.
5909 * s-hibaen.ads: Likewise.
5910 * s-imenne.adb: Likewise.
5911 * s-imenne.ads: Likewise.
5912 * s-imgbiu.adb: Likewise.
5913 * s-imgbiu.ads: Likewise.
5914 * s-imgboo.adb: Likewise.
5915 * s-imgboo.ads: Likewise.
5916 * s-imgcha.adb: Likewise.
5917 * s-imgcha.ads: Likewise.
5918 * s-imgdec.adb: Likewise.
5919 * s-imgdec.ads: Likewise.
5920 * s-imgenu.adb: Likewise.
5921 * s-imgenu.ads: Likewise.
5922 * s-imgint.adb: Likewise.
5923 * s-imgint.ads: Likewise.
5924 * s-imgllb.adb: Likewise.
5925 * s-imgllb.ads: Likewise.
5926 * s-imglld.adb: Likewise.
5927 * s-imglld.ads: Likewise.
5928 * s-imglli.adb: Likewise.
5929 * s-imglli.ads: Likewise.
5930 * s-imgllu.adb: Likewise.
5931 * s-imgllu.ads: Likewise.
5932 * s-imgllw.adb: Likewise.
5933 * s-imgllw.ads: Likewise.
5934 * s-imgrea.adb: Likewise.
5935 * s-imgrea.ads: Likewise.
5936 * s-imguns.adb: Likewise.
5937 * s-imguns.ads: Likewise.
5938 * s-imgwch.adb: Likewise.
5939 * s-imgwch.ads: Likewise.
5940 * s-imgwiu.adb: Likewise.
5941 * s-imgwiu.ads: Likewise.
5942 * s-inmaop-dummy.adb: Likewise.
5943 * s-inmaop-vms.adb: Likewise.
5944 * s-inmaop.ads: Likewise.
5945 * s-interr-hwint.adb: Likewise.
5946 * s-interr-sigaction.adb: Likewise.
5947 * s-interr-vms.adb: Likewise.
5948 * s-interr.adb: Likewise.
5949 * s-interr.ads: Likewise.
5950 * s-intman-dummy.adb: Likewise.
5951 * s-intman-mingw.adb: Likewise.
5952 * s-intman-posix.adb: Likewise.
5953 * s-intman-solaris.adb: Likewise.
5954 * s-intman-vms.adb: Likewise.
5955 * s-intman-vms.ads: Likewise.
5956 * s-intman-vxworks.adb: Likewise.
5957 * s-intman-vxworks.ads: Likewise.
5958 * s-intman.ads: Likewise.
5959 * s-io.adb: Likewise.
5960 * s-io.ads: Likewise.
5961 * s-linux-alpha.ads: Likewise.
5962 * s-linux-hppa.ads: Likewise.
5963 * s-linux.ads: Likewise.
5964 * s-maccod.ads: Likewise.
5965 * s-mantis.adb: Likewise.
5966 * s-mantis.ads: Likewise.
5967 * s-mastop-irix.adb: Likewise.
5968 * s-mastop.adb: Likewise.
5969 * s-mastop.ads: Likewise.
5970 * s-memcop.ads: Likewise.
5971 * s-memory-mingw.adb: Likewise.
5972 * s-memory.adb: Likewise.
5973 * s-memory.ads: Likewise.
5974 * s-os_lib.ads: Likewise.
5975 * s-oscons-tmplt.c: Likewise.
5976 * s-osinte-aix.adb: Likewise.
5977 * s-osinte-darwin.adb: Likewise.
5978 * s-osinte-freebsd.adb: Likewise.
5979 * s-osinte-irix.adb: Likewise.
5980 * s-osinte-lynxos-3.adb: Likewise.
5981 * s-osinte-rtems.ads: Likewise.
5982 * s-osinte-tru64.adb: Likewise.
5983 * s-osinte-vxworks-kernel.adb: Likewise.
5984 * s-osinte-vxworks.adb: Likewise.
5985 * s-osprim-mingw.adb: Likewise.
5986 * s-osprim-posix.adb: Likewise.
5987 * s-osprim-solaris.adb: Likewise.
5988 * s-osprim-unix.adb: Likewise.
5989 * s-osprim-vms.adb: Likewise.
5990 * s-osprim-vms.ads: Likewise.
5991 * s-osprim-vxworks.adb: Likewise.
5992 * s-osprim.ads: Likewise.
5993 * s-pack03.adb: Likewise.
5994 * s-pack03.ads: Likewise.
5995 * s-pack05.adb: Likewise.
5996 * s-pack05.ads: Likewise.
5997 * s-pack06.adb: Likewise.
5998 * s-pack06.ads: Likewise.
5999 * s-pack07.adb: Likewise.
6000 * s-pack07.ads: Likewise.
6001 * s-pack09.adb: Likewise.
6002 * s-pack09.ads: Likewise.
6003 * s-pack10.adb: Likewise.
6004 * s-pack10.ads: Likewise.
6005 * s-pack11.adb: Likewise.
6006 * s-pack11.ads: Likewise.
6007 * s-pack12.adb: Likewise.
6008 * s-pack12.ads: Likewise.
6009 * s-pack13.adb: Likewise.
6010 * s-pack13.ads: Likewise.
6011 * s-pack14.adb: Likewise.
6012 * s-pack14.ads: Likewise.
6013 * s-pack15.adb: Likewise.
6014 * s-pack15.ads: Likewise.
6015 * s-pack17.adb: Likewise.
6016 * s-pack17.ads: Likewise.
6017 * s-pack18.adb: Likewise.
6018 * s-pack18.ads: Likewise.
6019 * s-pack19.adb: Likewise.
6020 * s-pack19.ads: Likewise.
6021 * s-pack20.adb: Likewise.
6022 * s-pack20.ads: Likewise.
6023 * s-pack21.adb: Likewise.
6024 * s-pack21.ads: Likewise.
6025 * s-pack22.adb: Likewise.
6026 * s-pack22.ads: Likewise.
6027 * s-pack23.adb: Likewise.
6028 * s-pack23.ads: Likewise.
6029 * s-pack24.adb: Likewise.
6030 * s-pack24.ads: Likewise.
6031 * s-pack25.adb: Likewise.
6032 * s-pack25.ads: Likewise.
6033 * s-pack26.adb: Likewise.
6034 * s-pack26.ads: Likewise.
6035 * s-pack27.adb: Likewise.
6036 * s-pack27.ads: Likewise.
6037 * s-pack28.adb: Likewise.
6038 * s-pack28.ads: Likewise.
6039 * s-pack29.adb: Likewise.
6040 * s-pack29.ads: Likewise.
6041 * s-pack30.adb: Likewise.
6042 * s-pack30.ads: Likewise.
6043 * s-pack31.adb: Likewise.
6044 * s-pack31.ads: Likewise.
6045 * s-pack33.adb: Likewise.
6046 * s-pack33.ads: Likewise.
6047 * s-pack34.adb: Likewise.
6048 * s-pack34.ads: Likewise.
6049 * s-pack35.adb: Likewise.
6050 * s-pack35.ads: Likewise.
6051 * s-pack36.adb: Likewise.
6052 * s-pack36.ads: Likewise.
6053 * s-pack37.adb: Likewise.
6054 * s-pack37.ads: Likewise.
6055 * s-pack38.adb: Likewise.
6056 * s-pack38.ads: Likewise.
6057 * s-pack39.adb: Likewise.
6058 * s-pack39.ads: Likewise.
6059 * s-pack40.adb: Likewise.
6060 * s-pack40.ads: Likewise.
6061 * s-pack41.adb: Likewise.
6062 * s-pack41.ads: Likewise.
6063 * s-pack42.adb: Likewise.
6064 * s-pack42.ads: Likewise.
6065 * s-pack43.adb: Likewise.
6066 * s-pack43.ads: Likewise.
6067 * s-pack44.adb: Likewise.
6068 * s-pack44.ads: Likewise.
6069 * s-pack45.adb: Likewise.
6070 * s-pack45.ads: Likewise.
6071 * s-pack46.adb: Likewise.
6072 * s-pack46.ads: Likewise.
6073 * s-pack47.adb: Likewise.
6074 * s-pack47.ads: Likewise.
6075 * s-pack48.adb: Likewise.
6076 * s-pack48.ads: Likewise.
6077 * s-pack49.adb: Likewise.
6078 * s-pack49.ads: Likewise.
6079 * s-pack50.adb: Likewise.
6080 * s-pack50.ads: Likewise.
6081 * s-pack51.adb: Likewise.
6082 * s-pack51.ads: Likewise.
6083 * s-pack52.adb: Likewise.
6084 * s-pack52.ads: Likewise.
6085 * s-pack53.adb: Likewise.
6086 * s-pack53.ads: Likewise.
6087 * s-pack54.adb: Likewise.
6088 * s-pack54.ads: Likewise.
6089 * s-pack55.adb: Likewise.
6090 * s-pack55.ads: Likewise.
6091 * s-pack56.adb: Likewise.
6092 * s-pack56.ads: Likewise.
6093 * s-pack57.adb: Likewise.
6094 * s-pack57.ads: Likewise.
6095 * s-pack58.adb: Likewise.
6096 * s-pack58.ads: Likewise.
6097 * s-pack59.adb: Likewise.
6098 * s-pack59.ads: Likewise.
6099 * s-pack60.adb: Likewise.
6100 * s-pack60.ads: Likewise.
6101 * s-pack61.adb: Likewise.
6102 * s-pack61.ads: Likewise.
6103 * s-pack62.adb: Likewise.
6104 * s-pack62.ads: Likewise.
6105 * s-pack63.adb: Likewise.
6106 * s-pack63.ads: Likewise.
6107 * s-parame-ae653.ads: Likewise.
6108 * s-parame-hpux.ads: Likewise.
6109 * s-parame-rtems.adb: Likewise.
6110 * s-parame-vms-alpha.ads: Likewise.
6111 * s-parame-vms-ia64.ads: Likewise.
6112 * s-parame-vms-restrict.ads: Likewise.
6113 * s-parame-vxworks.adb: Likewise.
6114 * s-parame-vxworks.ads: Likewise.
6115 * s-parame.adb: Likewise.
6116 * s-parame.ads: Likewise.
6117 * s-parint.adb: Likewise.
6118 * s-parint.ads: Likewise.
6119 * s-pooglo.adb: Likewise.
6120 * s-pooglo.ads: Likewise.
6121 * s-pooloc.adb: Likewise.
6122 * s-pooloc.ads: Likewise.
6123 * s-poosiz.adb: Likewise.
6124 * s-poosiz.ads: Likewise.
6125 * s-powtab.ads: Likewise.
6126 * s-proinf-irix-athread.adb: Likewise.
6127 * s-proinf-irix-athread.ads: Likewise.
6128 * s-proinf.adb: Likewise.
6129 * s-proinf.ads: Likewise.
6130 * s-purexc.ads: Likewise.
6131 * s-rannum.adb: Likewise.
6132 * s-rannum.ads: Likewise.
6133 * s-restri.adb: Likewise.
6134 * s-restri.ads: Likewise.
6135 * s-rident.ads: Likewise.
6136 * s-rpc.adb: Likewise.
6137 * s-rpc.ads: Likewise.
6138 * s-scaval.adb: Likewise.
6139 * s-scaval.ads: Likewise.
6140 * s-secsta.adb: Likewise.
6141 * s-secsta.ads: Likewise.
6142 * s-sequio.adb: Likewise.
6143 * s-sequio.ads: Likewise.
6144 * s-shasto.adb: Likewise.
6145 * s-shasto.ads: Likewise.
6146 * s-soflin.adb: Likewise.
6147 * s-soflin.ads: Likewise.
6148 * s-solita.adb: Likewise.
6149 * s-solita.ads: Likewise.
6150 * s-sopco3.adb: Likewise.
6151 * s-sopco3.ads: Likewise.
6152 * s-sopco4.adb: Likewise.
6153 * s-sopco4.ads: Likewise.
6154 * s-sopco5.adb: Likewise.
6155 * s-sopco5.ads: Likewise.
6156 * s-stache.adb: Likewise.
6157 * s-stache.ads: Likewise.
6158 * s-stalib.adb: Likewise.
6159 * s-stalib.ads: Likewise.
6160 * s-stausa.adb: Likewise.
6161 * s-stausa.ads: Likewise.
6162 * s-stchop-limit.ads: Likewise.
6163 * s-stchop-rtems.adb: Likewise.
6164 * s-stchop-vxworks.adb: Likewise.
6165 * s-stchop.adb: Likewise.
6166 * s-stchop.ads: Likewise.
6167 * s-stoele.adb: Likewise.
6168 * s-stoele.ads: Likewise.
6169 * s-stopoo.adb: Likewise.
6170 * s-stopoo.ads: Likewise.
6171 * s-stratt.adb: Likewise.
6172 * s-stratt.ads: Likewise.
6173 * s-strcom.adb: Likewise.
6174 * s-strcom.ads: Likewise.
6175 * s-string.adb: Likewise.
6176 * s-string.ads: Likewise.
6177 * s-strops.adb: Likewise.
6178 * s-strops.ads: Likewise.
6179 * s-strxdr.adb: Likewise.
6180 * s-ststop.adb: Likewise.
6181 * s-ststop.ads: Likewise.
6182 * s-taasde.adb: Likewise.
6183 * s-taasde.ads: Likewise.
6184 * s-tadeca.adb: Likewise.
6185 * s-tadeca.ads: Likewise.
6186 * s-tadert.adb: Likewise.
6187 * s-tadert.ads: Likewise.
6188 * s-taenca.adb: Likewise.
6189 * s-taenca.ads: Likewise.
6190 * s-taprob.ads: Likewise.
6191 * s-taprop-dummy.adb: Likewise.
6192 * s-taprop-hpux-dce.adb: Likewise.
6193 * s-taprop-irix.adb: Likewise.
6194 * s-taprop-linux.adb: Likewise.
6195 * s-taprop-lynxos.adb: Likewise.
6196 * s-taprop-mingw.adb: Likewise.
6197 * s-taprop-posix.adb: Likewise.
6198 * s-taprop-solaris.adb: Likewise.
6199 * s-taprop-tru64.adb: Likewise.
6200 * s-taprop-vms.adb: Likewise.
6201 * s-taprop-vxworks.adb: Likewise.
6202 * s-taprop.ads: Likewise.
6203 * s-tarest.adb: Likewise.
6204 * s-tarest.ads: Likewise.
6205 * s-tasdeb.adb: Likewise.
6206 * s-tasdeb.ads: Likewise.
6207 * s-tasinf-irix.ads: Likewise.
6208 * s-tasinf-linux.adb: Likewise.
6209 * s-tasinf-linux.ads: Likewise.
6210 * s-tasinf-mingw.adb: Likewise.
6211 * s-tasinf-mingw.ads: Likewise.
6212 * s-tasinf-solaris.adb: Likewise.
6213 * s-tasinf-solaris.ads: Likewise.
6214 * s-tasinf-tru64.ads: Likewise.
6215 * s-tasinf.adb: Likewise.
6216 * s-tasinf.ads: Likewise.
6217 * s-tasini.adb: Likewise.
6218 * s-tasini.ads: Likewise.
6219 * s-taskin.adb: Likewise.
6220 * s-taskin.ads: Likewise.
6221 * s-taspri-dummy.ads: Likewise.
6222 * s-taspri-hpux-dce.ads: Likewise.
6223 * s-taspri-mingw.ads: Likewise.
6224 * s-taspri-solaris.ads: Likewise.
6225 * s-taspri-tru64.ads: Likewise.
6226 * s-taspri-vms.ads: Likewise.
6227 * s-taspri-vxworks.ads: Likewise.
6228 * s-tasque.adb: Likewise.
6229 * s-tasque.ads: Likewise.
6230 * s-tasren.adb: Likewise.
6231 * s-tasren.ads: Likewise.
6232 * s-tasres.ads: Likewise.
6233 * s-tassta.adb: Likewise.
6234 * s-tassta.ads: Likewise.
6235 * s-tasuti.adb: Likewise.
6236 * s-tasuti.ads: Likewise.
6237 * s-tfsetr-default.adb: Likewise.
6238 * s-tfsetr-vxworks.adb: Likewise.
6239 * s-tpinop.adb: Likewise.
6240 * s-tpinop.ads: Likewise.
6241 * s-tpoben.adb: Likewise.
6242 * s-tpoben.ads: Likewise.
6243 * s-tpobop.adb: Likewise.
6244 * s-tpobop.ads: Likewise.
6245 * s-tpopde-vms.adb: Likewise.
6246 * s-tpopde-vms.ads: Likewise.
6247 * s-tpopsp-lynxos.adb: Likewise.
6248 * s-tpopsp-posix-foreign.adb: Likewise.
6249 * s-tpopsp-posix.adb: Likewise.
6250 * s-tpopsp-solaris.adb: Likewise.
6251 * s-tpopsp-vxworks.adb: Likewise.
6252 * s-tporft.adb: Likewise.
6253 * s-tposen.adb: Likewise.
6254 * s-tposen.ads: Likewise.
6255 * s-traceb.adb: Likewise.
6256 * s-traceb.ads: Likewise.
6257 * s-traces-default.adb: Likewise.
6258 * s-traces.adb: Likewise.
6259 * s-traces.ads: Likewise.
6260 * s-traent-vms.adb: Likewise.
6261 * s-traent-vms.ads: Likewise.
6262 * s-traent.adb: Likewise.
6263 * s-traent.ads: Likewise.
6264 * s-trafor-default.adb: Likewise.
6265 * s-trafor-default.ads: Likewise.
6266 * s-tratas-default.adb: Likewise.
6267 * s-tratas.adb: Likewise.
6268 * s-tratas.ads: Likewise.
6269 * s-unstyp.ads: Likewise.
6270 * s-utf_32.adb: Likewise.
6271 * s-utf_32.ads: Likewise.
6272 * s-vaflop-vms-alpha.adb: Likewise.
6273 * s-vaflop.adb: Likewise.
6274 * s-vaflop.ads: Likewise.
6275 * s-valboo.adb: Likewise.
6276 * s-valboo.ads: Likewise.
6277 * s-valcha.adb: Likewise.
6278 * s-valcha.ads: Likewise.
6279 * s-valdec.adb: Likewise.
6280 * s-valdec.ads: Likewise.
6281 * s-valenu.adb: Likewise.
6282 * s-valenu.ads: Likewise.
6283 * s-valint.adb: Likewise.
6284 * s-valint.ads: Likewise.
6285 * s-vallld.adb: Likewise.
6286 * s-vallld.ads: Likewise.
6287 * s-vallli.adb: Likewise.
6288 * s-vallli.ads: Likewise.
6289 * s-valllu.adb: Likewise.
6290 * s-valllu.ads: Likewise.
6291 * s-valrea.adb: Likewise.
6292 * s-valrea.ads: Likewise.
6293 * s-valuns.adb: Likewise.
6294 * s-valuns.ads: Likewise.
6295 * s-valuti.adb: Likewise.
6296 * s-valuti.ads: Likewise.
6297 * s-valwch.adb: Likewise.
6298 * s-valwch.ads: Likewise.
6299 * s-veboop.adb: Likewise.
6300 * s-veboop.ads: Likewise.
6301 * s-vector.ads: Likewise.
6302 * s-vercon.adb: Likewise.
6303 * s-vercon.ads: Likewise.
6304 * s-vmexta.adb: Likewise.
6305 * s-vmexta.ads: Likewise.
6306 * s-vxwext-kernel.ads: Likewise.
6307 * s-vxwext-rtp.adb: Likewise.
6308 * s-vxwext-rtp.ads: Likewise.
6309 * s-vxwext.ads: Likewise.
6310 * s-vxwork-arm.ads: Likewise.
6311 * s-vxwork-m68k.ads: Likewise.
6312 * s-vxwork-mips.ads: Likewise.
6313 * s-vxwork-ppc.ads: Likewise.
6314 * s-vxwork-sparcv9.ads: Likewise.
6315 * s-vxwork-x86.ads: Likewise.
6316 * s-wchcnv.adb: Likewise.
6317 * s-wchcnv.ads: Likewise.
6318 * s-wchcon.adb: Likewise.
6319 * s-wchcon.ads: Likewise.
6320 * s-wchjis.adb: Likewise.
6321 * s-wchjis.ads: Likewise.
6322 * s-wchstw.adb: Likewise.
6323 * s-wchstw.ads: Likewise.
6324 * s-wchwts.adb: Likewise.
6325 * s-wchwts.ads: Likewise.
6326 * s-widboo.adb: Likewise.
6327 * s-widboo.ads: Likewise.
6328 * s-widcha.adb: Likewise.
6329 * s-widcha.ads: Likewise.
6330 * s-widenu.adb: Likewise.
6331 * s-widenu.ads: Likewise.
6332 * s-widlli.adb: Likewise.
6333 * s-widlli.ads: Likewise.
6334 * s-widllu.adb: Likewise.
6335 * s-widllu.ads: Likewise.
6336 * s-widwch.adb: Likewise.
6337 * s-widwch.ads: Likewise.
6338 * s-win32.ads: Likewise.
6339 * s-winext.ads: Likewise.
6340 * s-wwdcha.adb: Likewise.
6341 * s-wwdcha.ads: Likewise.
6342 * s-wwdenu.adb: Likewise.
6343 * s-wwdenu.ads: Likewise.
6344 * s-wwdwch.adb: Likewise.
6345 * s-wwdwch.ads: Likewise.
6346 * scans.adb: Likewise.
6347 * scans.ads: Likewise.
6348 * seh_init.c: Likewise.
6349 * sfn_scan.adb: Likewise.
6350 * sinfo.adb: Likewise.
6351 * sinfo.ads: Likewise.
6352 * sinput.adb: Likewise.
6353 * sinput.ads: Likewise.
6354 * snames.adb: Likewise.
6355 * snames.ads: Likewise.
6356 * socket.c: Likewise.
6357 * stand.adb: Likewise.
6358 * stand.ads: Likewise.
6359 * stringt.adb: Likewise.
6360 * stringt.ads: Likewise.
6361 * sysdep.c: Likewise.
6362 * system-aix.ads: Likewise.
6363 * system-darwin-ppc.ads: Likewise.
6364 * system-darwin-x86.ads: Likewise.
6365 * system-darwin-x86_64.ads: Likewise.
6366 * system-freebsd-x86.ads: Likewise.
6367 * system-hpux-ia64.ads: Likewise.
6368 * system-hpux.ads: Likewise.
6369 * system-irix-n32.ads: Likewise.
6370 * system-irix-n64.ads: Likewise.
6371 * system-irix-o32.ads: Likewise.
6372 * system-linux-alpha.ads: Likewise.
6373 * system-linux-hppa.ads: Likewise.
6374 * system-linux-ia64.ads: Likewise.
6375 * system-linux-mips.ads: Likewise.
6376 * system-linux-mipsel.ads: Likewise.
6377 * system-linux-ppc.ads: Likewise.
6378 * system-linux-ppc64.ads: Likewise.
6379 * system-linux-s390.ads: Likewise.
6380 * system-linux-s390x.ads: Likewise.
6381 * system-linux-sh4.ads: Likewise.
6382 * system-linux-sparc.ads: Likewise.
6383 * system-linux-sparcv9.ads: Likewise.
6384 * system-linux-x86.ads: Likewise.
6385 * system-linux-x86_64.ads: Likewise.
6386 * system-lynxos-ppc.ads: Likewise.
6387 * system-lynxos-x86.ads: Likewise.
6388 * system-mingw-x86_64.ads: Likewise.
6389 * system-mingw.ads: Likewise.
6390 * system-rtems.ads: Likewise.
6391 * system-solaris-sparc.ads: Likewise.
6392 * system-solaris-sparcv9.ads: Likewise.
6393 * system-solaris-x86.ads: Likewise.
6394 * system-solaris-x86_64.ads: Likewise.
6395 * system-tru64.ads: Likewise.
6396 * system-vms-ia64.ads: Likewise.
6397 * system-vms-zcx.ads: Likewise.
6398 * system-vms.ads: Likewise.
6399 * system-vms_64.ads: Likewise.
6400 * system-vxworks-arm.ads: Likewise.
6401 * system-vxworks-m68k.ads: Likewise.
6402 * system-vxworks-mips.ads: Likewise.
6403 * system-vxworks-ppc.ads: Likewise.
6404 * system-vxworks-sparcv9.ads: Likewise.
6405 * system-vxworks-x86.ads: Likewise.
6406 * system.ads: Likewise.
6407 * table.adb: Likewise.
6408 * table.ads: Likewise.
6409 * targext.c: Likewise.
6410 * targparm.ads: Likewise.
6411 * tree_in.adb: Likewise.
6412 * tree_in.ads: Likewise.
6413 * tree_io.adb: Likewise.
6414 * tree_io.ads: Likewise.
6415 * types.adb: Likewise.
6416 * types.ads: Likewise.
6417 * uintp.adb: Likewise.
6418 * uintp.ads: Likewise.
6419 * uname.adb: Likewise.
6420 * uname.ads: Likewise.
6421 * urealp.adb: Likewise.
6422 * urealp.ads: Likewise.
6423 * vx_stack_info.c: Likewise.
6424 * widechar.adb: Likewise.
6425 * widechar.ads: Likewise.
6426 * exp_attr.adb: Change copyright header to refer to version
6427 3 of the GNU General Public License and to point readers at the
6428 COPYING3 file and the FSF's license web page.
6429 * sem.adb: Likewise.
6430 * sem_attr.ads: Likewise.
6431 * freeze.adb: Likewise.
6432 * freeze.ads: Likewise.
6433 * errout.ads: Likewise.
6434 * erroutc.adb: Likewise.
6435 * exp_ch11.ads: Likewise.
6437 2009-04-09 Jakub Jelinek <jakub@redhat.com>
6439 * config-lang.in: Change copyright header to refer to version
6440 3 of the GNU General Public License and to point readers at the
6441 COPYING3 file and the FSF's license web page.
6442 * gcc-interface/trans.c: Likewise.
6443 * gnathtml.pl: Likewise.
6444 * gcc-interface/ada.h: Likewise. Remove runtime exception.
6445 * gcc-interface/gigi.h: Likewise.
6446 * gcc-interface/misc.c: Likewise.
6447 * gcc-interface/targtyps.c: Likewise.
6449 2009-04-09 Nicolas Setton <setton@adacore.com>
6451 * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
6453 * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
6456 2009-04-09 Bob Duff <duff@adacore.com>
6458 * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
6459 internally-generated nodes related to select statements to avoid
6460 confusing the debugger.
6462 2009-04-09 Pascal Obry <obry@adacore.com>
6464 * make.adb: Ensure that all linker arguments are duplicated.
6466 2009-04-09 Robert Dewar <dewar@adacore.com>
6468 * sem_ch5.adb: Minor reformatting
6470 2009-04-09 Vincent Celier <celier@adacore.com>
6473 Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
6474 New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
6475 New qualifier /LXDEBUG=nnn for -gnatDnnn
6479 Update documentation for VMS qualifiers equivalent to -gnatGnn and
6482 2009-04-09 Nicolas Setton <setton@adacore.com>
6484 * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
6485 to match layout of siginfo_t in sys/signal.h.
6487 * gcc-interface/Makefile.in: Add section for x86_64 darwin.
6489 2009-04-09 Thomas Quinot <quinot@adacore.com>
6491 * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
6493 2009-04-09 Nicolas Setton <setton@adacore.com>
6495 * s-oscons-tmplt.c: Allow long lines in the generated spec.
6496 Add generation of Darwin-specific constants needed when binding to the
6499 2009-04-09 Robert Dewar <dewar@adacore.com>
6502 (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
6503 when no invalid values exist, Avoid duplicate read of atomic variable.
6505 * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
6506 (Standard_Unsigned): Set Is_Known_Valid
6508 * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
6509 subtype declaration if no constraint.
6510 (Set_Modular_Size): Set Is_Known_Valid if appropriate
6511 (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
6513 2009-04-09 Robert Dewar <dewar@adacore.com>
6515 * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
6516 switch.ads: for numeric switches, an optional equal sign is always
6519 2009-04-09 Vincent Celier <celier@adacore.com>
6521 * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
6522 the case of file names is not significant.
6524 2009-04-09 Vincent Celier <celier@adacore.com>
6526 * errout.adb: Remove dependency on package Style
6528 * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
6531 * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
6534 * errutil.adb, par.adb: Import Stylesw
6536 2009-04-09 Arnaud Charlet <charlet@adacore.com>
6538 * opt.ads: Fix typos.
6540 2009-04-09 Robert Dewar <dewar@adacore.com>
6542 * einfo.adb: Minor reformatting
6544 2009-04-09 Robert Dewar <dewar@adacore.com>
6546 * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
6549 * styleg-c.ads, styleg-c.adb: Removed, no longer used.
6551 2009-04-09 Robert Dewar <dewar@adacore.com>
6553 * g-comver.adb: Minor reformatting.
6555 2009-04-09 Thomas Quinot <quinot@adacore.com>
6557 * lib-load.ads (Load_Unit): Update documentation.
6559 2009-04-09 Ed Schonberg <schonberg@adacore.com>
6561 * lib-load.adb (Load_Unit): When loading the parent of a child unit
6562 named in a with_clause, retain the with_clause to preserve a
6563 limited_with indication.
6565 2009-04-09 Robert Dewar <dewar@adacore.com>
6567 * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
6568 exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
6569 sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
6570 possible to replace an OR of two separate tests.
6572 2009-04-09 Robert Dewar <dewar@adacore.com>
6574 * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
6577 * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
6578 warning status as well.
6580 * opt.ads (Maximum_Messages): New name for Maximum_Errors.
6582 * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
6585 * bindusg.adb, usage.adb: Update line for -gnatm switch
6587 * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
6590 2009-04-09 Robert Dewar <dewar@adacore.com>
6592 * sem_ch10.adb: Minor reformatting.
6594 2009-04-09 Bob Duff <duff@adacore.com>
6596 * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
6597 Set Sloc of generated nodes for calls to Undefer_Aborts and
6598 Save_Occurrence to No_Location, so the debugger ignores them and
6599 therefore does not jump back and forth when single stepping.
6601 2009-04-09 Robert Dewar <dewar@adacore.com>
6603 * switch-b.adb: Minor reformatting.
6605 2009-04-09 Robert Dewar <dewar@adacore.com>
6607 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
6608 sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
6609 exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
6610 sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
6611 einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
6612 tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
6613 exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
6614 sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
6615 sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
6616 sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
6617 Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
6619 2009-04-09 Robert Dewar <dewar@adacore.com>
6621 * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
6623 * atree.h: Add Elist26
6625 * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
6628 2009-04-09 Javier Miranda <miranda@adacore.com>
6630 * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
6631 retrieve from the Dispatch_Table_Wrappers list the external name.
6632 Addition of documentation.
6633 (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
6634 used to export secondary dispatch tables (in the previous version of
6635 the frontend only primary dispatch tables were exported). Addition of
6637 (Import_DT): New subprogram (internal of Make_Tags). Used to import a
6638 dispatch table of a given tagged type.
6639 (Make_Tags): Modified to import secondary dispatch tables.
6641 * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
6642 (Constant_Redeclaration): Code cleanup.
6644 * einfo.ads (Dispatch_Table_Wrapper): Renamed to
6645 Dispatch_Table_Wrappers. Update documentation.
6647 * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
6648 Renamed to Dispatch_Table_Wrappers.
6650 * sem_util.adb (Collect_Interface_Components): Improve handling of
6653 * atree.ads (Elist26, Set_Elist26): New subprograms
6655 * atree.adb (Elist26, Set_Elist26): New subprograms
6657 2009-04-09 Javier Miranda <miranda@adacore.com>
6659 * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
6660 (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
6663 2009-04-09 Robert Dewar <dewar@adacore.com>
6665 * s-direio.adb: Minor reformatting
6667 * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
6669 2009-04-09 Robert Dewar <dewar@adacore.com>
6671 * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
6673 2009-04-09 Pascal Obry <obry@adacore.com>
6675 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
6676 s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
6677 a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
6678 a-filico.ads: Add some missing overriding keywords.
6680 2009-04-09 Pascal Obry <obry@adacore.com>
6682 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
6683 a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
6684 a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
6687 2009-04-09 Ed Schonberg <schonberg@adacore.com>
6689 * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
6690 missing overriding indicator if the new declaration is not seen as
6693 2009-04-09 Thomas Quinot <quinot@adacore.com>
6695 * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
6696 overflows in computation of bounds.
6698 2009-04-09 Pascal Obry <obry@adacore.com>
6700 * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
6703 2009-04-09 Robert Dewar <dewar@adacore.com>
6705 * sem_attr.adb (Check_Stream_Attribute): Check violation of
6706 restriction No_Streams
6708 * gnat_rm.texi: Clarify No_Streams restriction
6710 * g-socket.adb: Minor reformatting.
6712 2009-04-09 Thomas Quinot <quinot@adacore.com>
6714 * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
6716 2009-04-09 Geert Bosch <bosch@adacore.com>
6718 * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
6719 (Set_Result): Likewise.
6720 (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
6721 conversion, as required by RM 4.6(31).
6723 2009-04-08 Robert Dewar <dewar@adacore.com>
6725 * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
6728 * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
6731 2009-04-08 Robert Dewar <dewar@adacore.com>
6733 * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
6734 No_Local_Allocators restriction preventing local instantiation.
6736 2009-04-08 Thomas Quinot <quinot@adacore.com>
6738 * sem_eval.adb: Minor comment fix
6740 2009-04-08 Thomas Quinot <quinot@adacore.com>
6742 * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
6743 New limited controlled type used to automate the initialization and
6744 finalization of the sockets implementation.
6745 (GNAT.Sockets.Initialize, Finalize): Make these no-ops
6747 2009-04-08 Vincent Celier <celier@adacore.com>
6749 * prj-attr.adb: New read-only project-level attribute Project_Dir
6751 * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
6752 read-only attribute of the same name.
6753 (Process_Declarative_Items): Call Add_Attributes with Project_Dir
6754 (Recursive_Process): Ditto
6756 * snames.adb: Add new standard name Project_Dir
6758 * snames.ads: Add new standard name Project_Dir
6760 2009-04-08 Thomas Quinot <quinot@adacore.com>
6762 * checks.adb: Minor reformatting
6764 2009-04-08 Vincent Celier <celier@adacore.com>
6766 * vms_data.ads: Add documentation for new style keyword
6767 OVERRIDING_INDICATORS
6769 2009-04-08 Robert Dewar <dewar@adacore.com>
6771 * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
6772 spec is in the current unit.
6774 2009-04-08 Ed Schonberg <schonberg@adacore.com>
6776 * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
6779 * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
6781 2009-04-08 Vincent Celier <celier@adacore.com>
6783 * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
6785 2009-04-08 Thomas Quinot <quinot@adacore.com>
6787 * checks.ads: Minor reformatting
6789 2009-04-08 Robert Dewar <dewar@adacore.com>
6791 * gnat_rm.texi: Update documentation of pragma Obsolescent
6793 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
6794 be omitted, and allow Entity parameter to be omitted.
6796 2009-04-08 Thomas Quinot <quinot@adacore.com>
6798 * exp_util.adb: Minor comment fix
6800 2009-04-08 Robert Dewar <dewar@adacore.com>
6802 * g-socket.ads: Fix bad syntax in pragma Obsolescent
6804 * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
6805 argument with no identifier following one that has an identifier. Was
6806 missed in some cases.
6808 * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
6810 (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
6812 * snames.adb: Add Name_Policy
6814 * snames.ads: Add Name_Policy
6816 2009-04-08 Robert Dewar <dewar@adacore.com>
6818 * gnat_rm.texi: Minor reformatting
6820 * par-ch2.adb: Minor reformatting
6822 2009-04-08 Robert Dewar <dewar@adacore.com>
6824 * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
6826 2009-04-08 Robert Dewar <dewar@adacore.com>
6828 * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
6829 properly in the presence of Remote_Types or Remote_Call_Interface.
6831 * sem_util.adb: Add comment.
6833 2009-04-08 Robert Dewar <dewar@adacore.com>
6835 * ug_words: Add /ASSUME_VALID for -gnatB
6837 * vms_data.ads: Add /ASSUME_VALID for -gnatB
6839 * sem_cat.adb: Add clarifying commment
6841 * a-direio.ads (Bytes): Make sure value is non-zero
6843 2009-04-08 Ed Schonberg <schonberg@adacore.com>
6845 * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
6846 that does not come from source, check for a rewritten function call in
6847 prefixed notation before other forms of rewriting.
6849 2009-04-08 Robert Dewar <dewar@adacore.com>
6851 * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
6852 these are now obsolescent units used only for bootrapping with an
6855 2009-04-08 Robert Dewar <dewar@adacore.com>
6857 * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
6859 * sem_ch3.adb: Minor comment updates
6861 2009-04-08 Ed Schonberg <schonberg@adacore.com>
6863 * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
6864 that come from source.
6866 2009-04-08 Tristan Gingold <gingold@adacore.com>
6868 * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
6869 * gcc-interface/decl.c (prepend_attributes): New case
6870 Pragma_Thread_Local_Storage.
6871 * gcc-interface/utils.c (process_attributes): New case
6872 ATTR_THREAD_LOCAL_STORAGE.
6874 2009-04-08 Ed Schonberg <schonberg@adacore.com>
6876 * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
6877 by the back-end if it contains a call to a subprogram without a
6878 previous spec that is declared in the same unit.
6880 * errout.ads: Update comments on uses of dirs
6882 2009-04-08 Robert Dewar <dewar@adacore.com>
6884 * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
6886 2009-04-08 Tristan Gingold <gingold@adacore.com>
6888 * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
6890 Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
6892 2009-04-08 Vincent Celier <celier@adacore.com>
6895 (Add_Source): Add the mapping of the unit name to source file name in
6896 the Unit_Sources_HT hash table, if the unit name is not null.
6898 * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
6900 * prj.ads (Unit_Sources_Htable): New hash table instantiation
6901 (Project_Tree_Data): New component Unit_Sources_HT
6903 2009-04-08 Thomas Quinot <quinot@adacore.com>
6905 * sem_ch8.adb: Minor reformatting.
6906 Minor code reorganization.
6908 2009-04-08 Robert Dewar <dewar@adacore.com>
6910 * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
6911 snames.ads, freeze.adb, par-prag.adb: Add implementation of
6912 pragma Thread_Local_Storage, setting new flag
6913 Has_Pragma_Thread_Local_Storage in corresponding entities.
6915 2009-04-08 Emmanuel Briot <briot@adacore.com>
6917 * prj.ads: Update comment on switches file
6919 * prj-nmsc.adb: Code clean up. Use renaming clauses.
6921 2009-04-08 Robert Dewar <dewar@adacore.com>
6923 * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
6925 2009-04-08 Thomas Quinot <quinot@adacore.com>
6927 * ali-util.adb: Minor comment fix
6929 2009-04-08 Ed Schonberg <schonberg@adacore.com>
6931 * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
6932 appears in a context clause, and the enclosing package is mentioned in
6933 a limited_with_clause.
6934 (Use_One_Type): Reject clause if type is still incomplete.
6936 2009-04-08 Emmanuel Briot <briot@adacore.com>
6938 * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
6939 avoid copies of Source_Data variables when possible, since these
6940 involve calls to memcpy() which are done too many times.
6942 2009-04-08 Robert Dewar <dewar@adacore.com>
6944 * exp_ch4.adb (Expand_Concatenate): Clean up code
6946 2009-04-07 Thomas Quinot <quinot@adacore.com>
6948 * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
6949 type for the case of concatenating a constrained array indexed by an
6952 2009-04-07 Ed Schonberg <schonberg@adacore.com>
6954 * sem_ch6.adb (Check_Conformance): when checking conformance of an
6955 operation that overrides an abstract operation inherited from an
6956 interface, return False if only one of the controlling formals is an
6959 2009-04-07 Ed Schonberg <schonberg@adacore.com>
6961 * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
6962 mandated by AI05-105.
6964 2009-04-07 Vincent Celier <celier@adacore.com>
6966 * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
6968 2009-04-07 Thomas Quinot <quinot@adacore.com>
6970 * usage.adb: Minor fix in usage message.
6972 * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
6973 match declaration; the correct subtype is Node_Id, not Entity_Id,
6974 because the expected node kind is an identifier, not a defining
6977 * switch-c.adb: Minor reformatting.
6979 * uintp.adb: Minor reformatting.
6981 2009-04-07 Robert Dewar <dewar@adacore.com>
6983 * exp_ch13.adb: Minor reformatting
6985 2009-04-07 Robert Dewar <dewar@adacore.com>
6987 * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
6988 against missing parent.
6990 2009-04-07 Thomas Quinot <quinot@adacore.com>
6992 * xoscons.adb: Minor reformatting
6994 2009-04-07 Robert Dewar <dewar@adacore.com>
6996 * rtsfind.ads: Remove obsolete string concatenation entries
6998 2009-04-07 Robert Dewar <dewar@adacore.com>
7000 * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
7002 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7004 * sem_ch10.adb (Check_Body_Required): Handle properly imported
7007 2009-04-07 Gary Dismukes <dismukes@adacore.com>
7009 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
7010 Attribute_Address): When Init_Or_Norm_Scalars is True and the object
7011 is of a scalar or string type then suppress the setting of the
7012 expression to Empty.
7014 * freeze.adb (Warn_Overlay): Also emit the warnings about default
7015 initialization for the cases of scalar and string objects when
7016 Init_Or_Norm_Scalars is True.
7018 2009-04-07 Bob Duff <duff@adacore.com>
7020 * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
7022 2009-04-07 Bob Duff <duff@adacore.com>
7024 * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
7025 Form parameter of Text_Translation=No allows binary mode for Text_IO
7028 * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
7030 2009-04-07 Javier Miranda <miranda@adacore.com>
7032 * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
7033 processing the bounds for bit packed arrays or VM target machines.
7035 2009-04-07 Thomas Quinot <quinot@adacore.com>
7037 * g-sothco.ads (Int_Access): Remove extraneous access type (use
7038 anonymous access instead).
7039 (Get_Socket_From_Set): Fix incorrectly reverted formals
7040 Last and Socket to match the underlying C routine.
7042 * g-socket.adb, g-socket.ads
7043 (Get): Use named parameter associations instead of positional ones in
7044 call go Get_Socket_From_Set, since this routine has two formals of the
7046 (Image): New procedure.
7048 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
7049 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
7050 (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
7051 for type of Arg formal.
7053 * sem_warn.adb: Minor reformatting
7055 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7057 * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
7058 over record components.
7060 2009-04-07 Nicolas Roche <roche@adacore.com>
7063 Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
7064 has disappeared between VxWorks 6.4 and VxWorks 6.5
7065 In RTP mode use time.h instead of times.h
7067 2009-04-07 Robert Dewar <dewar@adacore.com>
7069 * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
7071 2009-04-07 Kevin Pouget <pouget@adacore.com>
7073 * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
7074 expanded code for constrained types.
7076 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7078 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
7079 AI05-105: in an object renaming declaration, anonymousness is a name
7082 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
7084 2009-04-07 Arnaud Charlet <charlet@adacore.com>
7086 * g-comlin.adb (Expansion): Fix old regression: also return directory
7087 names when matching.
7089 2009-04-07 Robert Dewar <dewar@adacore.com>
7092 (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
7093 (Expand_Concatenate): New name for Expand_Concatenate_String which has
7094 been rewritten to handle all types.
7095 (Expand_Concatenate_Other): Remove
7097 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7099 * lib-xref.adb (Generate_Reference): A default subprogram in an
7100 instance appears within the tree for the instance, but generates an
7101 implicit reference in the ALI.
7103 2009-04-07 Javier Miranda <miranda@adacore.com>
7105 * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
7106 derived type that has discriminants, propagate the list of interfaces
7107 to the corresponding new base type. In addition, propagate also
7108 attribute Limited_Present (found working in this patch).
7110 2009-04-07 Robert Dewar <dewar@adacore.com>
7112 * exp_ch4.adb: Rewrite concatenation expansion.
7114 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7116 * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
7117 relevant to packages.
7119 2009-04-07 Robert Dewar <dewar@adacore.com>
7121 * sem_attr.adb: Minor reformatting
7123 * sem_ch6.adb: Minor reformatting
7125 2009-04-07 Tristan Gingold <gingold@adacore.com>
7127 * socket.c: Add more protections against S_resolvLib_ macros.
7129 2009-04-07 Thomas Quinot <quinot@adacore.com>
7131 * sem_attr.adb: Minor reformatting
7133 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7135 * sem_ch6.adb (New_Overloaded_Entity): New predicate
7136 Is_Overriding_Alias to handle properly types that inherit two homonym
7137 operations that have distinct dispatch table entries.
7139 2009-04-07 Emmanuel Briot <briot@adacore.com>
7141 * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
7142 looking for the end of a parenthesis group
7144 2009-04-07 Tristan Gingold <gingold@adacore.com>
7146 * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
7148 * socket.c Don't use resolvLib_ macros if not defined.
7150 2009-04-07 Robert Dewar <dewar@adacore.com>
7152 * g-socket.adb: Minor reformatting.
7154 * g-socthi-mingw.adb: Minor reformatting
7156 * g-sothco.ads: Minor reformatting
7159 (Expand_Concatenate_String): Complete rewrite to generate efficient code
7160 inline instead of relying on external library routines.
7162 * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
7163 s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
7166 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7169 (Eval_Attribute): for attributes of array objects that are not strings,
7170 attributes are not static if nominal subtype of object is unconstrained.
7172 2009-04-07 Ed Schonberg <schonberg@adacore.com>
7174 * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
7175 operations for a type T in an instance do not override each other,
7176 when T is derived from a formal private type, the corresponding
7177 operations inherited by a type derived from T outside
7178 of the instance do not override each other either.
7180 2009-04-07 Robert Dewar <dewar@adacore.com>
7182 (Osint.Fail): Change calling sequence to have one string arg
7183 (Make.Make_Failed): Same change
7184 All callers are adjusted to use concatenation
7186 2009-04-07 Robert Dewar <dewar@adacore.com>
7188 * exp_ch4.adb: Fix documentation typo
7190 2009-04-07 Robert Dewar <dewar@adacore.com>
7192 * tbuild.ads: Minor reformatting
7194 2009-04-07 Javier Miranda <miranda@adacore.com>
7196 * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
7197 when compiling under ZFP runtime.
7199 2009-04-07 Robert Dewar <dewar@adacore.com>
7201 * g-comlin.adb: Minor reformatting
7203 2009-04-07 Thomas Quinot <quinot@adacore.com>
7205 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
7206 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
7207 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
7208 Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
7210 2009-04-07 Robert Dewar <dewar@adacore.com>
7212 * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
7214 * opt.ads (Sprint_Line_Limit): New parameter
7216 * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
7218 * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
7220 * usage.adb: Output information for -gnatGnn -gnatDnn
7222 2009-04-07 Robert Dewar <dewar@adacore.com>
7224 * make.adb: Minor reformatting
7226 2009-04-07 Robert Dewar <dewar@adacore.com>
7228 * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
7230 2009-04-07 Robert Dewar <dewar@adacore.com>
7232 * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
7234 2009-04-07 Robert Dewar <dewar@adacore.com>
7237 Remove Assume_Valid parameter from In_Subrange_Of calls
7240 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
7241 (Is_In_Range): Remove incorrect use of Assume_Valid
7242 (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
7245 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
7246 (Is_In_Range): Documentation cleanup
7247 (Is_Out_Of_Range): Documentation cleanup
7250 Add documentation for Assume_No_Invalid_Values pragma
7252 * sem_ch12.adb: Minor reformatting
7254 * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
7256 * sem_prag.adb: Improve error message.
7258 * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
7259 LF/CR no longer recognized as line terminator
7261 * switch.ads: Minor documentation improvement
7263 * vms_data.ads: Minor reformatting
7265 2009-04-07 Robert Dewar <dewar@adacore.com>
7267 * checks.adb (Determine_Range): Add Assume_Valid parameter
7269 * checks.ads (Determine_Range): Add Assume_Valid parameter
7271 * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
7272 Is_Null_Loop to suppress warnings in a loop body.
7275 (Rewrite_Comparison): Major rewrite to accomodate invalid values
7278 (Expand_N_Loop_Statement): Delete loop known not to execute
7281 (Assume_No_Invalid_Values): Now set to False, and as documented, this
7282 fully enables the proper handling of invalid values.
7285 New calling sequence for Is_In_Range
7288 (Analyze_Iteration_Scheme): Accomodate possible invalid values
7289 in determining if a loop range is null.
7292 (Is_In_Range): Add Assume_Valid parameter
7293 (Is_Out_Of_Range): Add Assume_Valid_Parameter
7294 (Compile_Time_Compare): Major rewrite to accomodate invalid values and
7295 also to do more accurate and complete range analysis, catching more
7299 (Is_In_Range): Add Assume_Valid parameter
7300 (Is_Out_Of_Range): Add Assume_Valid_Parameter
7303 New calling sequence for Is_In_Range
7306 (Suppress_Loop_Warnings): New flag
7309 (Is_Null_Loop): Update documentation
7310 (Suppress_Loop_Warnings): New flag
7312 * gnat_ugn.texi: Document -gnatB switch
7314 2009-04-07 Arnaud Charlet <charlet@adacore.com>
7316 * gnatvsn.ads: Bump version number.
7318 2009-04-07 Thomas Quinot <quinot@adacore.com>
7320 * exp_ch3.adb: Minor rewording (comments)
7322 2009-04-07 Robert Dewar <dewar@adacore.com>
7324 * exp_disp.adb: Minor reformatting
7326 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7328 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
7330 * gcc-interface/trans.c (lvalue_required_p): Likewise.
7332 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7334 * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
7335 Do not convert the result. Remove obsolete comment.
7337 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7339 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
7341 (Subprogram_Body_to_gnu): Fix pasto.
7343 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7345 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
7346 (void_type_decl_node): Remove.
7347 (init_gigi_decls): Likewise.
7348 (gnat_install_builtins): Declare.
7349 (record_builtin_type): Likewise.
7350 (create_type_stub_decl): Likewise.
7351 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
7352 (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
7354 <E_Array_Subtype>: Use the index types, not only their name, in the
7355 record giving the names of the bounds, if any.
7356 For a packed array type, make it artificial only if the base type
7357 was artificial as well. Remove redundant statement.
7358 (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
7360 Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
7361 (rest_of_type_decl_compilation_no_defer): Likewise.
7362 * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
7363 * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
7364 and use create_type_stub_decl to build it.
7365 (gnat_pushdecl): Rewrite condition.
7366 (gnat_install_builtins): Remove bogus declaration.
7367 (record_builtin_type): New function.
7368 (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
7370 (create_type_stub_decl): New function.
7371 (create_type_decl): Assert that the type is not dummy. If the type
7372 hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
7373 (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
7374 (build_vms_descriptor): Likewise.
7375 (init_gigi_decls): Delete and move bulk of code to...
7376 * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
7377 (emit_range_check): Add gnat_node parameter.
7378 (emit_index_check): Likewise.
7379 (emit_check): Likewise.
7380 (build_unary_op_trapv): Likewise.
7381 (build_binary_op_trapv): Likewise.
7382 (convert_with_check): Likewise.
7383 (Attribute_to_gnu): Adjust calls for above changes.
7384 (call_to_gnu): Likewise.
7385 (gnat_to_gnu): Likewise.
7386 (assoc_to_constructor): Likewise.
7387 (pos_to_constructor): Likewise.
7388 (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
7389 (process_type): Do not create TYPE_DECL for dummy types.
7391 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7393 * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
7394 * gcc-interface/trans.c: Fix formatting throughout. Fix comments.
7395 * gcc-interface/utils.c: Fix comments.
7397 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7399 * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
7401 (gnat_to_gnu_type): Move around.
7402 (get_unpadded_type): Likewise.
7403 * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
7406 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
7408 * gcc-interface/trans.c (check_for_eliminated_entity): New function.
7409 (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
7410 (call_to_gnu): Invoke it instead of manually checking.
7412 2009-04-04 Eric Botcazou <ebotcazou@adacore.com>
7414 * gcc-interface/utils.c (finish_record_type): Force structural equality
7415 checks if the record type is discriminated.
7417 2009-03-31 Eric Botcazou <ebotcazou@adacore.com>
7419 * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
7420 * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
7421 * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
7422 * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
7423 * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
7424 * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
7425 * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
7427 2009-03-30 Paolo Bonzini <bonzini@gnu.org>
7429 * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
7430 of TREE_CONSTANT_OVERFLOW.
7432 2009-03-30 Joseph Myers <joseph@codesourcery.com>
7434 PR rtl-optimization/323
7435 * gcc-interface/misc.c (gnat_post_options): Set
7436 flag_excess_precision_cmdline. Give an error for
7437 -fexcess-precision=standard for processors where the option is
7440 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
7443 * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
7446 2009-03-11 Olivier Hainque <hainque@adacore.com>
7448 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
7449 checks processing, remove unintended TREE_TYPE walk on index type.
7451 2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
7454 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
7455 call make_packable_type on fat pointer types.
7456 <E_Array_Subtype>: Likewise.
7457 <E_Record_Subtype>: Call make_packable_type on all record types
7458 except for fat pointer types.
7459 (make_packable_type): Likewise.
7460 (gnat_to_gnu_field): Likewise.
7462 2009-02-28 Eric Botcazou <ebotcazou@adacore.com>
7464 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
7465 EH_MECHANISM change made on 2007-12-06.
7467 2009-02-26 Andreas Schwab <schwab@suse.de>
7470 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
7471 * gcc-interface/Makefile.in: Change all uses of $(srcdir),
7472 $(fsrcdir) and $(fsrcpfx) to add ada subdir.
7474 (target_cpu_default): Substitute.
7476 2009-02-25 Laurent GUERBY <laurent@guerby.net>
7479 * a-teioed.adb (Expand): Fix Result overflow.
7481 2009-02-25 Laurent GUERBY <laurent@guerby.net>
7483 * gcc-interface/Makefile.in: Fix multilib handling for
7486 2009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7488 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
7490 2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
7492 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
7494 2009-02-16 Eric Botcazou <ebotcazou@adacore.com>
7496 * gcc-interface/deftarg.c: Remove.
7498 2009-02-10 Olivier Hainque <hainque@adacore.com>
7499 Eric Botcazou <ebotcazou@adacore.com>
7501 * gcc-interface/decl.c (enum alias_set_op): New enumeration.
7502 (copy_alias_set): Rename into...
7503 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
7504 underlying array of unconstrained arrays for the new type as well.
7505 If the old and new alias sets don't conflict, make one a subset of
7506 the other as per the OP parameter.
7507 (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
7508 <E_Record_Type>: Do not copy the alias set for derived types.
7509 For all types, make the alias set of derived types a superset of
7510 that of their parent type.
7511 (make_aligning_type): Adjust calls to copy_alias_set.
7512 (make_packable_type): Likewise.
7513 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
7514 Check for alias set conflict instead of strict equality to issue the
7517 2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
7519 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
7520 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
7521 (copy_alias_set): Assert that arrays have the same aliasing settings.
7522 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
7524 2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
7526 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
7527 Set TYPE_NONALIASED_COMPONENT on the array type.
7529 2009-01-31 Laurent GUERBY <laurent@guerby.net>
7531 * gcc-interface/Makefile.in: Fix mipsel linux handling.
7533 2009-01-16 Jakub Jelinek <jakub@redhat.com>
7535 * gcc-interface/Makefile.in: Fix multilib handling for
7538 2009-01-12 Eric Botcazou <ebotcazou@adacore.com>
7540 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
7541 only useless conversions around renamed objects.
7543 2009-01-11 Eric Botcazou <ebotcazou@adacore.com>
7545 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
7546 the _Tag field before any discriminants in the field list.
7547 (components_to_record): Remove obsolete comment.
7551 Copyright (C) 2009 Free Software Foundation, Inc.
7553 Copying and distribution of this file, with or without modification,
7554 are permitted in any medium without royalty provided the copyright
7555 notice and this notice are preserved.