1 2008-10-24 Jakub Jelinek <jakub@redhat.com>
3 * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
4 check-acats-subtargets and check-gnat-subtargets.
5 (check_acats_targets): New variable.
6 (check-acats-subtargets, check-acats%): New targets.
7 (check-acats): If -j is used and CHAPTERS is empty, run the testing
8 in multiple make goals, possibly parallel, and afterwards run
9 dg-extract-results.sh to merge the sum and log files.
11 2008-10-17 Geert Bosch <bosch@adacore.com>
13 * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
14 to use only a single check instead of three, and avoid unnecessary
16 (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
17 creating more opportunities for optimizations.
19 2008-10-13 Jakub Jelinek <jakub@redhat.com>
22 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
25 2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
27 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
28 dealing with volatileness to after code dealing with renaming.
30 2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
32 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
33 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
35 2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
37 * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
38 (unchecked_convert): Use it to disable problematic folding with
39 VIEW_CONVERT_EXPR in the general case. Always disable it for the
40 special VIEW_CONVERT_EXPR built for integral types and cope with
41 its addressability issues by preserving the first conversion.
43 2008-10-01 Andreas Schwab <schwab@suse.de>
45 * system-linux-ppc64.ads: New file.
46 * gcc-interface/Makefile.in: Add multilib handling for
49 2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
51 * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
52 to that of ptr_mode instead of word_mode.
54 2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
57 * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
59 2008-09-25 Samuel Tardieu <sam@rfc1149.net>
62 * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
63 instead of deprecated FILE_WRITE_PROPERTIES.
65 2008-09-22 Olivier Hainque <hainque@adacore.com>
67 * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
68 are never assigned, volatile entities are not constant for code
71 2008-09-21 Laurent Guerby <laurent@guerby.net>
74 * gcc-interface/Makefile.in: Add multilib handling for x86_64
76 * system-linux-sparcv9.ads: New file.
78 2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
80 * exp_dbug.ads: Document new convention for the XVZ variable.
81 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
82 debug info if necessary for the type padding the component type.
83 <E_Array_Subtype>: Likewise.
84 (maybe_pad_type): Emit the XVZ variable in units.
85 * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
86 (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
87 on statements generated to initialize the parameter attributes cache.
88 Set the source line of the end label of the body on the special return
89 statement built for a procedure with copy-in copy-out parameters.
91 2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
94 * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
95 inlined external functions if they contain a nested function not
98 2008-09-18 Jan Hubicka <jh@suse.cz>
100 * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
101 (end_subprog_body): Do not set DECL_INLINE.
103 2008-09-17 Pascal Rigaux <pixel@mandriva.com>
106 * gnat_ugn.texi: Use proper format in direntry.
108 2008-09-15 Eric Botcazou <ebotcazou@adacore.com>
110 * gcc-interface/trans.c (gigi): Declare the name of the compilation
111 unit as the first global name.
113 2008-09-14 Jan Hubicka <jh@suse.cz>
115 * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
117 2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
119 * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
120 bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
121 exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
122 exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
123 exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
124 g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
125 gcc-interface/gigi.h, gcc-interface/trans.c,
126 lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
127 opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
128 s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
129 s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
130 sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
131 sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
132 sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
133 sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
135 * gnathtml.pl: Fix typos.
137 2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
139 * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
140 * s-osinte-rtems.ads: Add shared hardware interrupt adapter
141 layer. RTEMS binds to OS provided adapter routines so there are
142 no modifications to s-osinte-rtems.adb.
144 2008-09-09 Arnaud Charlet <charlet@adacore.com>
145 Joel Sherrill <joel.sherrill@oarcorp.com>
147 * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
149 * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
151 * s-interr-hwint.adb: New file.
153 * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
154 needed by s-interr-hwint.adb.
156 * s-osinte-vxworks-kernel.adb: New file.
158 2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
160 * s-stchop-rtems.adb: Add file missed in early commit. Already
161 referenced in gcc-interface/Makefile.in.
163 2008-08-30 Thomas Quinot <quinot@adacore.com>
165 * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
166 be built even without a separate libada directory.
168 2008-08-22 Arnaud Charlet <charlet@adacore.com>
170 * lib-xref.ads: Fix typo in subprogram reference definition.
172 2008-08-22 Robert Dewar <dewar@adacore.com>
174 * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
177 * g-trasym.adb: Ditto
179 * s-utf_32.adb (Get_Category): Fix obvious typo
181 * s-wwdcha.adb: Minor code reorganization
184 2008-08-22 Robert Dewar <dewar@adacore.com>
186 * checks.adb (Determine_Range): Deal with values that might be invalid
188 * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
189 configuration switches.
191 * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
193 * sem_prag.adb: Implement pragma Assume_No_Default_Values
195 * snames.adb, snames.ads, snames.h:
196 Add entries for pragma Assume_No_Invalid_Values
198 * switch-c.adb: Add processing for -gnatB switch
200 * usage.adb: Add entry for flag -gnatB (no bad invalid values)
202 2008-08-22 Javier Miranda <miranda@adacore.com>
204 * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
205 init procedure all the expanded code associated with the spec of
206 task types and protected types.
208 2008-08-22 Gary Dismukes <dismukes@adacore.com>
210 * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
211 component expression copies rather than directly setting Etype and
212 Is_Static_Expression.
214 2008-08-22 Gary Dismukes <dismukes@adacore.com>
216 * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
217 private types to allow for types derived from a private type with
218 preelaborable initialization, but return False for a private extension
219 (unless it has the pragma).
221 2008-08-22 Robert Dewar <dewar@adacore.com>
223 * opt.ads: Minor code reorganization (put entries in alpha order)
225 2008-08-22 Pascal Obry <obry@adacore.com>
227 * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
230 2008-08-22 Geert Bosch <bosch@adacore.com>
232 * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
233 (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
235 2008-08-22 Doug Rupp <rupp@adacore.com>
237 * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
241 (__gnat_set_features): New function.
242 (__gnat_features_set): New tracking variable.
243 (__gl_no_malloc_64): New feature global variable
245 2008-08-22 Ed Schonberg <schonberg@adacore.com>
247 * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
248 use_type_clause in an instance.
250 2008-08-22 Bob Duff <duff@adacore.com>
252 * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
254 2008-08-22 Robert Dewar <dewar@adacore.com>
256 * exp_ch6.adb: Minor reformatting
258 * exp_ch7.adb: Minor reformatting
260 * exp_ch7.ads: Put routines in proper alpha order
262 * exp_dist.adb: Minor reformatting
264 2008-08-22 Vincent Celier <celier@adacore.com>
266 * prj.ads: Minor comment update
268 2008-08-22 Robert Dewar <dewar@adacore.com>
270 * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
272 2008-08-22 Ed Schonberg <schonberg@adacore.com>
275 (Base_Init_Proc): For a protected subtype, use the base type of the
276 corresponding record to locate the propoer initialization procedure.
278 2008-08-22 Robert Dewar <dewar@adacore.com>
281 (In_Subrange_Of): New calling sequence
282 (Determine_Range): Prepare for new processing using base type
285 (Compile_Time_Compare): Use new calling sequence
288 (Compile_Time_Compare): Use new calling sequence
291 (Compile_Time_Compare): New calling sequence allows dealing with
293 (In_Subrange_Of): Ditto
296 (Compile_Time_Compare): New calling sequence allows dealing with
298 (In_Subrange_Of): Ditto
300 2008-08-22 Pascal Obry <obry@adacore.com>
302 * adaint.c: Fix possible race condition on win32_wait().
304 2008-08-22 Bob Duff <duff@adacore.com>
306 * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
307 exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
308 exp_intr.adb, exp_ch3.adb: Rename:
309 Exp_Ch7.Controlled_Type => Needs_Finalization
310 Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
311 Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
313 (Has_Some_Controlled_Component): Fix bug in array case.
315 2008-08-22 Robert Dewar <dewar@adacore.com>
317 * sem_ch8.adb: Minor reformatting
319 2008-08-22 Kevin Pouget <pouget@adacore.com>
321 * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
322 Shared_Var_Close procedure specifications from package spec to package body.
324 * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
325 RE_Shared_Var_WOpen entries.
327 * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
328 Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
330 2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
332 * init.c: adjust EH support code on Alpha/Tru64 as well.
334 * raise-gcc.c: Add back a couple of comments.
336 2008-08-22 Ed Schonberg <schonberg@adacore.com>
338 * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
339 involved and the return type is class-wide, use the type of the expression
340 for the generated access type. Suppress useless discriminant checks on the
343 2008-08-22 Bob Duff <duff@adacore.com>
345 * exp_ch7.adb: Minor comment fix
347 * exp_ch6.ads: Minor comment fix
349 2008-08-22 Thomas Quinot <quinot@adacore.com>
351 * sem_ch8.adb: Minor reformatting
352 Minor code reorganization (introduce subprogram to factor duplicated
355 2008-08-22 Sergey Rybin <rybin@adacore.com>
357 * gnat_ugn.texi: Change the description of gnatcheck default rule
360 2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
362 * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
363 Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
364 do not adjust the PC anymore.
365 (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
366 on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
368 * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
369 instead of _Unwind_GetIP.
371 2008-08-22 Gary Dismukes <dismukes@adacore.com>
373 * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
374 with a range is transformed into a positional aggregate, any copied
375 component literals should be marked Is_Static_Expression.
377 * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
378 not being known at at compile time when Configurable_Run_Time_Mode is
381 2008-08-22 Robert Dewar <dewar@adacore.com>
384 (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
385 Read or Input attribute.
387 2008-08-22 Ed Schonberg <schonberg@adacore.com>
389 * sem_ch8.adb (Use_One_Type): when checking which of two use_type
390 clauses in related units is redundant, if one of the units is a package
391 instantiation, use its instance_spec to determine which unit is the
392 ancestor of the other.
394 2008-08-22 Javier Miranda <miranda@adacore.com>
396 * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
397 attributes add missing support to handle designated types that come
398 from the limited view.
400 * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
402 2008-08-22 Sergey Rybin <rybin@adacore.com>
404 * vms_data.ads: Add entry for new gnatcheck -mNNN option
406 * gnat_ugn.texi: Add description for gnatcheck option '-m'
408 2008-08-22 Sergey Rybin <rybin@adacore.com>
410 * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
411 acoording to the latest changes in the metric rule interface
413 2008-08-22 Vincent Celier <celier@adacore.com>
415 * make.adb (Check.File_Not_A_Source_Of): New Boolean function
416 (Check): Check if the file names registered in the ALI file for the
417 spec, the body and each of the subunits are the ones expected.
419 2008-08-22 Robert Dewar <dewar@adacore.com>
421 * g-catiio.adb: Code cleanup.
423 2008-08-20 Vincent Celier <celier@adacore.com>
425 * make.adb (Gnatmake): Remove extra space in version line
428 (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
429 as the name may already have been entered in the table by the Project
432 2008-08-20 Jose Ruiz <ruiz@adacore.com>
434 * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
435 weak symbols so we use the version provided by MaRTE when available.
437 2008-08-20 Emmanuel Briot <briot@adacore.com>
439 * g-catiio.ads, g-catiio.adb:
440 (Value): Avoid an unnecessary system call to Clock in most cases.
441 This call is only needed when only the time is provided in the string,
442 and ignored in all other cases. This is more efficient.
444 2008-08-20 Eric Botcazou <ebotcazou@adacore.com>
446 * raise-gcc.c: Fix formatting nits.
448 2008-08-20 Robert Dewar <dewar@adacore.com>
451 (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
452 non-existing component clause.
454 * exp_ch5.adb: Minor reformatting
456 * g-comlin.adb: Minor reformatting
458 * make.adb: Minor reformatting
460 * prj-proc.adb: Minor reformatting
462 * stylesw.ads: Minor reformatting
464 2008-08-20 Vincent Celier <celier@adacore.com>
466 * make.adb (Gnatmake_Switch_Found): New Boolean global variable
467 (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
468 (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
469 defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
470 and a switch is not recognized by gnatmake.
471 (Gnatmake): Implement new scheme for gnatmake switches and global
472 compilation switches.
473 (Switches_Of): Try successively Switches (<file name>),
474 Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
476 2008-08-20 Ed Schonberg <schonberg@adacore.com>
478 * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
479 implement style check that overriding operations are explicitly marked
482 * style.ads (Missing_Overriding): new procedure that provides interface
485 * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
486 that the declaration or body of overriding operations carries an
487 explicit overriding indicator.
490 (Analyze_Subprogram_Renaming): if operation is overriding, check whether
491 explicit indicator should be present.
493 * sem_ch6.adb (Verify_Overriding_Indicator,
494 Check_Overriding_Indicator): If operation is overriding, check whether
495 declaration and/or body of subprogram should be present
497 2008-08-20 Vincent Celier <celier@adacore.com>
499 * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
500 gprbuild when casing is MixedCase, whatever the casing of the letters
503 2008-08-20 Gary Dismukes <dismukes@adacore.com>
505 * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
506 creating dummy init proc.
507 (Requires_Init_Proc): Return False in the case No_Default_Initialization
508 is in force and the type does not have associated default
509 initialization. Move test of Is_Public (with tests of restrictions
510 No_Initialize_Scalars and No_Default_Initialization) to end, past tests
511 for default initialization.
513 2008-08-20 Jerome Lambourg <lambourg@adacore.com>
515 * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
516 of any alias or prefix but having attached parameters (as \"-O2\").
518 2008-08-20 Robert Dewar <dewar@adacore.com>
520 * s-fileio.adb: Minor reformatting
522 2008-08-20 Thomas Quinot <quinot@adacore.com>
524 * exp_strm.adb (Build_Elementary_Input_Call,
525 Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
526 selects the stream attribute routines for long float types.
528 2008-08-20 Vincent Celier <celier@adacore.com>
530 * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
532 * prj.ads (Array_Data): Add a component Location
534 2008-08-20 Ed Schonberg <schonberg@adacore.com>
537 (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
538 argument for ASIS and navigation use.
540 2008-08-20 Ed Schonberg <schonberg@adacore.com>
542 * einfo.ads: Add comment.
544 2008-08-20 Bob Duff <duff@adacore.com>
546 * sem_eval.ads: Minor comment fix.
548 2008-08-20 Bob Duff <duff@adacore.com>
550 * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
551 folding. We were folding things like "False and then ...", but not
552 "X and then ..." where X is a constant whose value is known at compile
555 2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
557 * exp_ch5.adb (Controlled_Type): New routine.
558 (Expand_N_Extended_Return_Statement): When generating a move of the
559 final list in extended return statements, check the type of the
560 function and in the case of double expanded return statements, the type
561 of the returned object.
562 (Expand_Simple_Function_Return): Perform an interface conversion when
563 the type of the returned object is an interface and the context is an
564 extended return statement.
566 2008-08-20 Ed Schonberg <schonberg@adacore.com>
568 * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
569 and the full view is visible, set flag on full view as well.
571 2008-08-20 Thomas Quinot <quinot@adacore.com>
573 * g-comlin.adb: Minor reformatting
574 Minor code reorganization.
576 * freeze.adb: Minor reformatting
578 2008-08-20 Vincent Celier <celier@adacore.com>
580 * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
581 source of another project.
583 2008-08-20 Pascal Obry <obry@adacore.com>
585 * s-os_lib.ads: Minor reformatting.
587 2008-08-20 Arnaud Charlet <charlet@adacore.com>
589 * gnatvsn.ads: Minor reformatting.
591 2008-08-20 Arnaud Charlet <charlet@adacore.com>
593 * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
594 system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
595 g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
596 mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
597 exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
598 g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
599 s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
600 sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
601 s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
602 g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
603 g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
604 g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
605 live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
606 g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
607 s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
608 g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
609 s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
610 g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
611 osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
612 system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
613 i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
614 s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
615 a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
616 s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
617 a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
618 g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
619 a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
620 a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
621 lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
622 s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
623 par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
624 a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
625 system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
626 s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
627 a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
628 mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
629 s-poosiz.adb, link.c: Fix copyright notice.
631 2008-08-20 Arnaud Charlet <charlet@adacore.com>
633 * g-comlin.ads: Update comments.
635 2008-08-20 Ed Schonberg <schonberg@adacore.com>
637 * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
639 2008-08-20 Gary Dismukes <dismukes@adacore.com>
642 (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
643 Make_Implicit_Exception_Handler when rewriting an exception handler with
644 a choice parameter, and pass the handler's Sloc instead of that of the
645 handled sequence of statements. Make_Implicit_Exception_Handler sets the
646 Sloc to No_Location (unless debugging generated code), which we don't
647 want for the case of a user handler.
649 2008-08-20 Robert Dewar <dewar@adacore.com>
651 * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
654 (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
655 now labeled as info msgs, not warnings.
657 * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
659 * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
661 * a-textio.adb: Remove redundant test.
663 * a-witeio.adb: Minor code reorganization
664 Remove redundant test found working on another issue
666 * a-ztexio.adb: Minor code reorganization
667 Remove redundant test found working on another issue
669 2008-08-20 Thomas Quinot <quinot@adacore.com>
671 * s-fileio.adb (Open) Use C helper function to determine whether a
672 given errno value corresponds to a "file not found" error.
674 * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
676 2008-08-20 Jose Ruiz <ruiz@adacore.com>
678 * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
679 to get access to the per-task errno variable.
680 (__set_errno for MaRTE): Do not redefine this function here since it is
681 already defined in MaRTE.
683 2008-08-20 Tristan Gingold <gingold@adacore.com>
685 * gnat_ugn.texi: Gcov is not supported on static library on AIX.
687 2008-08-20 Robert Dewar <dewar@adacore.com>
689 * freeze.adb: Minor reformatting
691 * g-comlin.adb: Minor reformatting
693 * g-socket.adb: Minor reformatting
695 * g-socthi-mingw.adb: Minor reformatting
697 * g-stheme.adb: Minor reformatting
699 2008-08-20 Ed Schonberg <schonberg@adacore.com>
701 * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
702 exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
703 confusion between partial and full views of an ancestor of the context
704 type when the parent is a private extension declared in a parent unit,
705 and full views are available for the context type.
707 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
708 Robert Dewar <dewar@adacore.com>
711 * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
713 Move comment in the right place.
714 * g-comver.adb (Version): Look for a zero-termination in
715 addition to a closing parenthesis.
717 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
719 * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
720 * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
721 * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
722 Is_Package_Or_Generic_Package instead of hand-crafted tests.
724 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
727 * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
730 2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
732 * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
734 2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
736 * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
737 for back-copy statements in lieu of that of the actual.
739 2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
742 * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
743 setjmp test consistently. Adjust for new behavior of flag_stack_check.
744 * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
745 test of flag_stack_check. Adjust for new behavior of flag_stack_check.
747 2008-08-13 Samuel Tardieu <sam@rfc1149.net>
750 * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
751 * sem_attr.adb (Check_Type): The current instance of a protected
752 object is not a type name.
753 (Analyze_Access_Attribute): Accept instances of protected objects.
754 (Analyze_Attribute, Attribute_Address clause): Ditto.
755 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
756 the prefix as being the current instance if needed.
758 2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
760 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
761 Remove duplicate s-win32.o. Add s-winext.o.
763 2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
765 * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
766 with SOSC.SOCK__STREAM.
767 * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
770 2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
772 * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
773 * gsocket.h, socket.c: Update to support RTEMS.
774 * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
776 2008-08-10 Samuel Tardieu <sam@rfc1149.net>
777 Robert Dewar <dewar@adacore.com>
779 * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
780 left argument even when right argument is 0.
781 (Expand_N_Op_Mod): Ditto when right argument is 1.
782 (Expand_N_Op_Multiply): Ditto when any argument is 0.
783 (Expand_N_Op_Rem): Ditto when right argument is 1.
785 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
787 * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
790 2008-08-08 Ed Schonberg <schonberg@adacore.com>
792 * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
793 from Freeze_Entity. Used to generate cross-reference information for
794 types declared in generic packages.
796 2008-08-08 Thomas Quinot <quinot@adacore.com>
798 * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
801 2008-08-08 Thomas Quinot <quinot@adacore.com>
804 On Windows, include <errno.h> and redefine only selected errno values
805 from their <winsock2.h> definitions.
807 * s-osinte-freebsd.ads: Minor reformatting
809 * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
811 * g-soccon.ads: New file.
813 * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
814 g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
815 g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
816 g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
817 unit, to allow building software that depends on this internal unit
818 with both older and newer compilers.
820 2008-08-08 Robert Dewar <dewar@adacore.com>
822 * s-strxdr.adb: Minor reformatting
824 2008-08-08 Bob Duff <duff@adacore.com>
826 * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
827 checking for integer operations (including division by zero)", which
828 is wrong -- divide by zero is not part of overflow checking.
829 Also added misc clarification about what check-suppression means.
831 * gnat_rm.texi: Clarify the meaning of pragma Suppress.
833 2008-08-08 Jerome Lambourg <lambourg@adacore.com>
835 * g-comlin.adb (Add_Switch): Handle addition of switches at the
836 begining of the command line.
837 (Append, Add): Renaming of Append to Add as this now allows addition
838 at the begining of the list.
840 * g-comlin.ads (Add_Switch): Handle addition of switches at the
841 begining of the command line.
843 2008-08-08 Thomas Quinot <quinot@adacore.com>
846 (Name): Document application scope (only legacy PC serial ports on
849 2008-08-08 Thomas Quinot <quinot@adacore.com>
851 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
852 previous change, not needed after all.
854 2008-08-08 Ed Schonberg <schonberg@adacore.com>
856 * exp_ch4.adb (Expand_Allocator_Expression): add check if null
857 exclusion indicator is present
859 2008-08-08 Robert Dewar <dewar@adacore.com>
861 * g-comlin.adb: Minor code reorganization
864 * g-comlin.ads: Minor reformatting
866 * s-fileio.adb: Minor reformatting
868 * sem_attr.adb: Minor code reorganization (use Nkind_In)
871 2008-08-06 Samuel Tardieu <sam@rfc1149.net>
873 * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
874 with s-oscons-tmplt.i.
876 2008-08-06 Samuel Tardieu <sam@rfc1149.net>
878 * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
880 2008-08-06 Ed Schonberg <schonberg@adacore.com>
882 * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
885 * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
886 of a formal parameter of an incomplete type. Improve error message for
887 other improper uses of incomplete types.
889 2008-08-06 Robert Dewar <dewar@adacore.com>
891 * gnat_ugn.texi: Clarify -gnato documentation
893 2008-08-06 Thomas Quinot <quinot@adacore.com>
895 * gcc-interface/Makefile.in,
896 g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
897 g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
898 g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
899 g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
900 g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
901 g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
902 g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
903 g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
904 g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
905 Remove GNAT.Sockets.Constants. This internal package is replaced by
908 2008-08-06 Thomas Quinot <quinot@adacore.com>
910 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
911 Remove obsolete targets referencing gen-soccon
912 When generating s-oscons.ads, use a file name that includes the
913 THREAD_KIND, to ensure that the (potentially different) version from a
914 previous build with a different threads flavour does not get reused.
916 2008-08-06 Thomas Quinot <quinot@adacore.com>
918 * sem_res.adb: Minor reformatting
920 * s-fileio.adb (Open): When file open operation fails, raise Name_Error
921 only when the operating system reports a non-existing file or directory
922 (ENOENT), otherwise raise Name_Error.
924 * exp_ch11.adb: Minor reformatting
926 2008-08-06 Ed Schonberg <schonberg@adacore.com>
928 * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
929 incomplete, add the access_to_subprogram type to the list of private
930 dependents only if the incomplete type will be completed in the current
932 (Build_Discriminant_Constraints): If the type of the discriminant is
933 access_to_variable, reject a constraint that is access_to_constant.
935 2008-08-06 Thomas Quinot <quinot@adacore.com>
937 * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
938 g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
939 g-sttsne-dummy.ads: New files.
941 * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
942 with pragma Unimplemented_Unit for sockets packages on Nucleus.
944 2008-08-06 Pascal Obry <obry@adacore.com>
946 * adaint.c: Another fix for ACL support on Windows.
948 2008-08-06 Javier Miranda <miranda@adacore.com>
950 * exp_disp (Expand_Interface_Actuals): Adds missing support for
951 expansion of calls to subprograms using selected components.
953 2008-08-06 Ed Schonberg <schonberg@adacore.com>
955 * sem_res.adb (Resolve_Call): Use base type to determine whether a
956 dereference is needed because a subtype of an access_to_subprogram is
957 simply an access-subtype
959 2008-08-06 Jerome Lambourg <lambourg@adacore.com>
961 * g-comlin.adb (Set_Command_Line): Now that aliases can contain
962 parameters, always specify the expected separator.
964 2008-08-06 Thomas Quinot <quinot@adacore.com>
966 * xnmake.adb: Use new XUtil package for platform independent text
969 2008-08-06 Vincent Celier <celier@adacore.com>
971 * gnat_ugn.texi: Document compiler switch -gnateG
973 2008-08-06 Quentin Ochem <ochem@adacore.com>
975 * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
976 in the case of an empty pattern size.
977 (Compute_Result): Do not do any computation in the case of an empty
979 (Report_Result): Fixed computation of the overflow guard.
981 2008-08-06 Ed Schonberg <schonberg@adacore.com>
983 * g-awk.adb (Finalize): Do not use directly objects of the type in the
984 finalization routine to prevent elaboration order anomalies in new
987 2008-08-06 Ed Schonberg <schonberg@adacore.com>
989 * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
990 declaration for the same type.
992 2008-08-06 Thomas Quinot <quinot@adacore.com>
994 * sem.adb: Minor rewording (comment)
996 2008-08-06 Jerome Lambourg <lambourg@adacore.com>
998 * g-comlin.adb (Define_Switch, Get_Switches): New.
999 (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
1000 ungrouping switches.
1001 (For_Each_Simple_Switch): Allow more control over parameters handling.
1002 This generic method now allows ungrouping of switches with parameters
1003 and switches with more than one letter after the prefix.
1004 (Set_Command_Line): Take care of switches that are prefixed with a
1005 switch handling parameters without delimiter (-gnatya and -gnaty3 for
1007 (Add_Switch, Remove_Switch): Handle parameters possibly present inside
1008 a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
1010 (Start, Alias_Switches, Group_Switches): Take care of parameters
1011 possibly present inside a group.
1013 * g-comlin.ads (Define_Switch): New method used to define a list of
1014 expected switches, that are necessary for correctly ungrouping switches
1015 with more that one character after the prefix.
1016 (Get_Switches): Method that builds a getopt string from the list of
1017 switches as set previously by Define_Switch.
1018 (Add_Switch, Remove_Switch): New versions of the methods, reporting the
1019 status of the operation. Also allow the removal of switches with
1021 (Command_Line_Configuration_Record): Maintain a list of expected
1024 2008-08-06 Doug Rupp <rupp@adacore.com>
1026 * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
1027 TARGET_MALLOC64 clear.
1029 * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
1030 if TARGET_MALLOC64 clear.
1032 * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
1033 (TARGET_MALLC64): New macro. Default to clear.
1035 2008-08-06 Doug Rupp <rupp@adacore.com>
1037 * gcc-interface/utils2.c (snames.h) Include
1038 (TARGET_ABI_OPEN_VMS): Initialize.
1039 (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
1042 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1044 * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
1045 null exclusion in a discriminant declaration
1047 * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
1048 indicators when type is not an access type.
1050 * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
1051 indicators when type is not an access type.
1053 2008-08-06 Javier Miranda <miranda@adacore.com>
1055 * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
1056 with the target interface before expanding the code of the interface
1059 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1062 (Freeze_Entity): A deferred constant does not violate the restriction
1063 No_Default_Initialization,
1065 * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
1066 can carry a null exclusion indicator, and on which an error may be
1067 posted if the indicator is redundant.
1069 * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
1070 does not apply to a subtype mark that already excludes null.
1072 * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
1073 exclusion does not apply to a subtype mark that already excludes null.
1075 2008-08-05 Thomas Quinot <quinot@adacore.com>
1077 * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
1079 2008-08-05 Doug Rupp <rupp@adacore.com>
1081 * vms_data.ads: Translation for /POINTER_SIZE qualifier.
1083 2008-08-05 Thomas Quinot <quinot@adacore.com>
1085 * gsocket.h: Make this file includable in a Nucleus environment, which
1086 does not support sockets.
1088 * socket.c: Remove Nucleus-specific hack.
1090 2008-08-05 Pascal Obry <obry@adacore.com>
1092 * adaint.c: Remove support for readable attribute on vxworks and nucleus
1094 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1097 (Analyze_Attribute, case 'Result): handle properly the case where some
1098 operand of the expression in a post-condition generates a transient
1101 * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
1102 right-hand side when it is an anonymous access_to_subprogram, to force
1103 static accessibility check when needed.
1105 2008-08-05 Sergey Rybin <rybin@adacore.com>
1107 * gnat_ugn.texi: Changing the description of the gnatcheck metrics
1108 rule according to the change in the rule option.
1109 Add documentation for -gnatw.b/-gnatw.B
1111 2008-08-05 Robert Dewar <dewar@adacore.com>
1113 * ug_words: Add entries for -gnatw.b/-gnatw.B
1115 * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
1117 2008-08-05 Vincent Celier <celier@adacore.com>
1119 * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
1122 * a-ztdeio.adb: Ditto.
1124 2008-08-05 Pascal Obry <obry@adacore.com>
1126 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
1129 2008-08-05 Vincent Celier <celier@adacore.com>
1132 (Wide_String_To_String): Returns a String with the same 'First as its
1134 (Wide_Wide_String_To_String): Ditto
1137 (Wide_String_To_String): Document that the lowest index of the returned
1138 String is equal to S'First.
1140 2008-08-05 Thomas Quinot <quinot@adacore.com>
1142 * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
1144 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
1147 2008-08-05 Robert Dewar <dewar@adacore.com>
1149 * opt.ads (Warn_On_Biased_Representation): New flag
1152 (Analyze_Attribute_Definition_Clause): Issue warning when biased
1153 representation is required.
1154 (Minimum_Size): Don't allow biasing if enum rep clause case
1157 (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
1158 (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
1160 * usage.adb: Add lines for -gnatw.b/B switches
1162 2008-08-05 Pascal Obry <obry@adacore.com>
1164 * a-coinve.adb: Reorder the code to avoid uninitialized warning.
1166 * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
1168 2008-08-05 Thomas Quinot <quinot@adacore.com>
1170 * socket.c: Minor reformatting.
1172 2008-08-05 Robert Dewar <dewar@adacore.com>
1174 * sem_ch3.adb: Minor reformatting
1176 * prj-nmsc.adb: Minor reformatting
1178 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1180 * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
1181 visibility check on the component type if the simple test fails.
1183 2008-08-05 Jose Ruiz <ruiz@adacore.com>
1185 * init.c (__gnat_install_handler for linux): If we are building the
1186 Xenomai run time then we need to do two additional things: avoid
1187 memory swapping and transform the Linux environment task into a native
1190 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
1191 time): Use interface to Xenomai native skin and avoid linux-specific
1192 way of setting CPU affinity.
1193 (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
1195 2008-08-05 Bob Duff <duff@adacore.com>
1197 * checks.ads: Minor comment fix
1199 2008-08-05 Thomas Quinot <quinot@adacore.com>
1201 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
1202 g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
1205 2008-08-05 Robert Dewar <dewar@adacore.com>
1207 * mlib.adb: Minor code reorganization
1210 * make.adb: Minor reformatting
1212 * prj-attr.ads: Minor reformatting
1214 * s-os_lib.adb: Minor reformatting
1216 * s-fileio.adb: Minor code reorganization
1219 * prj.ads: Minor reformatting
1221 2008-08-05 Bob Duff <duff@adacore.com>
1223 * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
1224 unresolved initial value of "null", because it causes implicitly
1225 generated "=" operators to be ambiguous, and because this type should
1226 not be passed to gigi.
1228 2008-08-05 Vincent Celier <celier@adacore.com>
1230 * mlib.adb: Update comments.
1232 * make.adb (Switches_Of): Check for Switches (others), before checking
1233 for Default_Switches ("Ada").
1234 (Gnatmake): Use Builder'Switches (others) in preference to
1235 Builder'Default_Switches ("Ada") if there are several mains.
1238 (Add_Attribute): Add component Others_Allowed in Attribute_Record
1242 Add markers to indicates that attributes Switches allow others as index
1243 (Others_Allowed_For): New Boolean function, returning True for
1244 attributes with the mark.
1245 (Initialize): Recognize optional letter 'O' as the marker for
1246 associative array attributes where others is allowed as the index.
1249 (Others_Allowed_For): New Boolean function
1250 (Attribute_Record): New Boolean component Others_Allowed
1253 (Parse_Attribute_Declaration): For associative array attribute where
1254 others is allowed as the index, allow others as an index.
1257 (Process_Binder): Skip associative array attributes with index others
1258 (Process_Compiler): Ditto
1261 (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
1262 index is All_Other_Names.
1265 (All_Other_Names): New constant
1268 (Process_Declarative_Items): Skip associative array attribute when index
1269 is reserved word "others".
1271 2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
1273 * gen-oscons.c: Adapt for VMS where termios.h is not available.
1275 2008-08-05 Thomas Quinot <quinot@adacore.com>
1277 * a-rttiev.adb: Minor reformatting (comments)
1279 * gen-soccon.c: Rename to gen-oscons.c
1281 * gen-oscons.c: New file. Now generate System.OS_Constants instead of
1282 GNAT.Sockets.Constants.
1283 Add new constants for GNAT.Serial_Communications and System.File_IO.
1285 2008-08-05 Javier Miranda <miranda@adacore.com>
1287 * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
1288 * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
1289 implementation of this routine has been simplified.
1291 2008-08-05 Pascal Obry <obry@adacore.com>
1293 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
1294 Set_Read_Only Win32 implementation.
1296 2008-08-05 Thomas Quinot <quinot@adacore.com>
1298 * exp_strm.adb: Minor reformatting (comments)
1300 * sem_ch12.adb: Minor reformatting.
1302 2008-08-05 Robert Dewar <dewar@adacore.com>
1304 * sem_ch3.adb: Minor reformatting
1306 * checks.adb: Minor reformatting
1308 2008-08-05 Thomas Quinot <quinot@adacore.com>
1310 * tbuild.ads (New_External_Name): Update spec to reflect relaxed
1311 restriction on Prefix.
1313 2008-08-05 Jerome Lambourg <lambourg@adacore.com>
1315 * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
1316 methods needed to handle switch sections when building a command line.
1317 (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
1318 Current_Section): New public methods or methods modified to handle
1319 building command lines with sections.
1320 (Set_Command_Line): Take into account sections when analysing a switch
1322 (Start): Sort the switches by sections before iterating the command line
1325 * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
1326 Is_New_Section, Current_Section): New methods or methods modified to
1327 handle building command lines with sections.
1329 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1331 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
1332 discriminants, indicate that the corresponding object declaration has
1333 no initialization, to prevent spurious warnings when the access type is
1336 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1338 * sem_res.adb (Resolve_Call): If this is a call to the predefined
1339 Abort_Task, warn if the call appears within a protected operation.
1341 2008-08-04 Robert Dewar <dewar@adacore.com>
1343 * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
1345 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1348 (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
1349 anonymous access to protected subprogram that is the return type of the
1350 specification of a subprogram body.
1353 (Analyze_Subprogram_Body): if the return type is an anonymous access to
1354 subprogram, freeze it now to prevent access anomalies in the back-end.
1356 * exp_ch9.adb: Minor code cleanup.
1357 Make sure that new declarations are inserted into the tree before
1358 analysis (from code reading).
1360 2008-08-04 Robert Dewar <dewar@adacore.com>
1363 (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
1366 2008-08-04 Thomas Quinot <quinot@adacore.com>
1368 * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
1370 2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
1372 * g-soccon-mingw.ads: Fix value for MSG_WAITALL
1374 2008-08-04 Javier Miranda <miranda@adacore.com>
1376 * sem_prag.adb (Process_Convention): Add missing support for
1377 N_Private_Extension_Declaration nodes.
1379 2008-08-04 Robert Dewar <dewar@adacore.com>
1381 * exp_ch4.adb: Minor reformatting
1383 2008-08-04 Pascal Obry <obry@adacore.com>
1385 * adaint.h: Add missing prototype.
1387 * adaint.c: Refine support for Windows file attributes.
1389 2008-08-04 Robert Dewar <dewar@adacore.com>
1392 (Valid_Conversion): Catch case of designated types having different
1393 sizes, even though they statically match.
1395 2008-08-04 Javier Miranda <miranda@adacore.com>
1397 * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
1398 added in previous patch to handle access to subprograms.
1400 2008-08-04 Robert Dewar <dewar@adacore.com>
1403 (Freeze_Entity): Only check No_Default_Initialization restriction for
1404 constructs that come from source
1406 2008-08-04 Thomas Quinot <quinot@adacore.com>
1408 * exp_ch6.adb: Minor comment fix.
1410 * sem_ch4.adb: Minor reformatting.
1412 2008-08-04 Robert Dewar <dewar@adacore.com>
1414 * sem_res.adb: (Large_Storage_Type): Improve previous change.
1416 2008-08-04 Pascal Obry <obry@adacore.com>
1418 * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
1421 2008-08-04 Javier Miranda <miranda@adacore.com>
1423 * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
1424 for N_Formal_Object_Declaration nodes. Adding kludge required by
1425 First_Formal to provide its functionality with access to functions.
1426 (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
1427 for anonymous access types returned by functions.
1429 * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
1430 conversion of null-excluding access types (required only once to force
1431 the generation of the required runtime check).
1433 * sem_type.adb (Covers): minor reformating
1435 * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
1436 with internally generated nodes. Avoid generating the error inside init
1439 * sem_res.adb (Resolve_Membership_Test): Minor reformating.
1440 (Resolve_Null): Generate the null-excluding check in case of assignment
1441 to a null-excluding object.
1442 (Valid_Conversion): Add missing support for anonymous access to
1445 * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
1446 anonymous access types whose designated type is an itype. This case
1447 occurs with anonymous access to protected subprograms types.
1448 (Analyze_Return_Type): Add missing support for anonymous access to
1449 protected subprogram.
1451 * sem_eval.adb (Subtypes_Statically_Match): In case of access to
1452 subprograms addition of missing check on matching convention. Required
1453 to properly handle access to protected subprogram types.
1455 * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
1456 null excluding access types.
1458 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1460 * sem_ch12.adb: Add comments
1462 * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
1463 access type and the allocator is not initialized, warn rather than
1466 2008-08-04 Robert Dewar <dewar@adacore.com>
1468 * exp_ch4.adb: Minor reformatting
1470 * exp_dist.adb: Minor reformatting
1472 * g-comlin.adb: Minor reformatting
1474 2008-08-04 Gary Dismukes <dismukes@adacore.com>
1476 * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
1477 target to the type of the aggregate in the case where the target object
1480 * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
1481 result type is class-wide and inherently limited, and the expression
1482 has a specific type, create a return object of the specific type, for
1483 more efficient handling of returns of build-in-place aggregates (avoids
1484 conversions of the class-wide return object to the specific type on
1485 component assignments).
1487 * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
1488 about a type mismatch for a class-wide function with a return object
1489 having a specific type when the object declaration doesn't come from
1490 source. Such an object can result from the expansion of a simple return.
1492 2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
1494 * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
1496 * gcc-interface/Makefile.in: Use 64bit-specific system files when
1497 compiling for 64bit windows.
1499 2008-08-04 Jerome Lambourg <lambourg@adacore.com>
1501 * g-comlin.adb (Group_Switches): Preserve the switch order when
1502 grouping and allow switch grouping of switches with more than one
1503 character extension (e.g. gnatw.x).
1504 (Args_From_Expanded): Remove this now obsolete method.
1506 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1508 * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
1509 chain at once, to ensure that type is properly decorated for back-end,
1510 when allocator appears within a loop.
1512 2008-08-04 Kevin Pouget <pouget@adacore.com>
1514 * snames.h, snames.adb, snames.ads:
1515 Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
1517 * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
1518 Build_To_Any_Call and Build_TypeCode_Call procedures.
1520 * exp_attr.adb, sem_attr.adb: Add corresponding cases.
1522 * rtsfind.ads: Add corresponding names.
1524 * tbuild.adb: Update prefix restrictions to allow '_' character.
1526 2008-08-04 Doug Rupp <rupp@adacore.com>
1528 * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
1529 * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
1530 * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
1531 use it. Calculate pointer range overflow using 64bit types.
1533 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1535 * sem_ch3.adb (Access_Definition): A formal object declaration is a
1536 legal context for an anonymous access to subprogram.
1538 * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
1539 indirect call, report success to the caller to include possible
1542 * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
1544 of the extended return is an anonymous access_to_subprogram type.
1547 (Resolve_Call): Insert a dereference if the type of the subprogram is an
1548 access_to_subprogram and the context requires its return type, and a
1549 dereference has not been introduced previously.
1551 2008-08-04 Arnaud Charlet <charlet@adacore.com>
1553 * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
1554 gnatcheck support in GPS.
1556 2008-08-04 Vincent Celier <celier@adacore.com>
1558 * mlib.adb (Create_Sym_Links): Create relative symbolic links when
1561 2008-08-04 Vincent Celier <celier@adacore.com>
1563 * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
1564 variable, but don't check the resulting value as it has no impact on
1568 (Generate_Processed_File): New Boolean flag, set to True in the compiler
1569 when switch -gnateG is used.
1572 (Preprocess): new Boolean out parameter Source_Modified. Set it to True
1573 when the source is modified by the preprocessor and there is no
1574 preprocessing errors.
1576 * prep.ads (Preprocess): new Boolean out parameter Source_Modified
1579 (Load_File): Output the result of preprocessing if the source text was
1582 * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
1584 * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
1586 * ug_words: Add VMS equivalent for -gnateG
1589 Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
1591 2008-08-04 Doug Rupp <rupp@adacore.com>
1593 * gcc-interface/utils2.c:
1594 (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
1595 in 32bit descriptor.
1597 2008-08-04 Robert Dewar <dewar@adacore.com>
1599 * par-ch10.adb: Minor reformatting
1601 * i-cobol.adb: Minor reformatting.
1603 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1605 * sem_ch3.adb (Access_Definition): Create an itype reference for an
1606 anonymous access return type of a regular function that is not a
1609 2008-08-04 Vincent Celier <celier@adacore.com>
1611 * prj-attr.adb: New Builder attribute Global_Compilation_Switches
1613 * snames.adb: New standard name Global_Compilation_Switches
1615 * snames.ads: New standard name Global_Compilation_Switches
1617 * make.adb: Correct spelling error in comment
1619 2008-08-04 Arnaud Charlet <charlet@adacore.com>
1621 * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
1624 2008-08-04 Thomas Quinot <quinot@adacore.com>
1626 * sem_ch10.adb: Minor comment fix.
1628 2008-08-04 Robert Dewar <dewar@adacore.com>
1630 * restrict.adb: Improved messages for restriction warnings
1632 * restrict.ads: Improved messages for restriction messages
1634 * s-rident.ads (Profile_Name): Add No_Profile
1636 2008-08-04 Robert Dewar <dewar@adacore.com>
1638 * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
1640 2008-08-04 Robert Dewar <dewar@adacore.com>
1642 * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
1644 2008-08-04 Vincent Celier <celier@adacore.com>
1647 (Copy_Package_Declarations): When inheriting package Naming from a
1648 project being extended, do not inherit source exception names.
1650 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1652 * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
1653 list of declaration to find previous subprogram, do not go to the
1654 original node of a generic unit.
1656 2008-08-02 Eric Botcazou <ebotcazou@adacore.com>
1658 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
1659 New case. Convert BOOLEAN_TYPE operation to the default integer type.
1661 2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
1663 * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
1664 * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
1665 and adjust for above renaming.
1666 * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
1667 gnu_expr_alt_type parameter. Convert the expression to it instead
1668 of changing its type in place.
1669 (build_function_stub): Adjust call to above function.
1671 2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
1673 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
1674 code. Do not get full definition of deferred constants with address
1675 clause for a use. Do not ignore deferred constant definitions with
1676 address clause. Ignore constant definitions already marked with the
1678 <object>: Remove obsolete comment. For a deferred constant with
1679 address clause, get the initializer from the full view.
1680 * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
1681 Rework and remove obsolete comment.
1682 <N_Object_Declaration>: For a deferred constant with address clause,
1683 mark the full view with the error node.
1684 * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
1687 2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
1689 * rtsfind.ads: Add block IO versions of stream routines for Strings.
1691 * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
1692 sem_prag.adb, snames.adb, snames.ads, snames.h,
1693 par-prag.adb: Undo previous stream related changes.
1695 * s-rident.ads: Add new restriction No_Stream_Optimizations.
1697 * s-ststop.ads, s-ststop.adb: Comment reformatting.
1698 Define enumeration type to designate different IO mechanisms.
1699 Enchance generic package Stream_Ops_Internal to include an
1700 implementation of Input and Output.
1702 * exp_attr.adb (Find_Stream_Subprogram): If restriction
1703 No_Stream_Optimization is active, choose the default byte IO
1704 implementations of stream attributes for Strings.
1705 Otherwise use the corresponding block IO version.
1707 2008-08-01 Olivier Hainque <hainque@adacore.com>
1709 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
1710 turn Ada Pure into GCC const, now implicitely implying nothrow as well.
1712 2008-08-01 Robert Dewar <dewar@adacore.com>
1714 * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
1715 convert plain identifier into defining identifier.
1717 2008-08-01 Robert Dewar <dewar@adacore.com>
1719 * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
1722 * lib-xref.adb: Add error defense.
1724 2008-08-01 Bob Duff <duff@adacore.com>
1726 * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
1728 2008-08-01 Gary Dismukes <dismukes@adacore.com>
1730 * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
1731 correct accessibility levels. In the "when others" case, retrieve the
1732 access level of the Etype of Prev rather than Prev_Orig, because the
1733 original exression has not always been analyzed.
1735 2008-08-01 Robert Dewar <dewar@adacore.com>
1737 * prj-nmsc.adb: Minor reformatting
1739 * sem_ch4.adb: Minor reformatting
1740 Minor code reorganization
1742 * prj.ads: Minor reformatting
1744 * s-os_lib.adb: Minor reformatting
1746 * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
1749 * scans.ads: Minor reformatting.
1751 * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
1752 (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
1755 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
1757 * sem_ch12.adb: Minor comment reformatting
1759 * par-ch3.adb (P_Type_Declaration): Properly handle missing type
1762 2008-08-01 Robert Dewar <dewar@adacore.com>
1764 * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
1767 2008-08-01 Ed Schonberg <schonberg@adacore.com>
1769 * checks.adb (Apply_Float_Conversion_Check): If the expression to be
1770 converted is a real literal and the target type has static bounds,
1771 perform the conversion exactly to prevent floating-point anomalies on
1774 2008-08-01 Vincent Celier <celier@adacore.com>
1776 * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
1778 * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
1780 * prj.adb (Object_Exist_For): Use Object_Generated, not
1781 Objects_Generated that is removed and was never modified anyway.
1784 (Path_Syntax_Kind): New enumeration type
1785 (Language_Config): New component Path_Syntax, defaulted to Host.
1786 Components PIC_Option and Objects_Generated removed, as they are not
1789 * snames.adb: New standard name Path_Syntax
1791 * snames.ads: New standard name Path_Syntax
1793 2008-08-01 Vincent Celier <celier@adacore.com>
1796 (Adalib_Path): New variable to store the path of the adalib directory
1797 when procedure Specify_Adalib_Dir is called.
1798 (Lib_Directory): If Adalib_Path is not null, return its value
1799 (Specify_Adalib_Dir): New procedure
1801 * mlib-utl.ads (Specify_Adalib_Dir): New procedure
1803 2008-08-01 Ed Schonberg <schonberg@adacore.com>
1806 (Check_Precondition_Postcondition): If not generating code, analyze the
1807 expression in a postcondition that appears in a subprogram body, so that
1808 it is properly decorated for ASIS use.
1810 2008-08-01 Gary Dismukes <dismukes@adacore.com>
1812 * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
1813 Orig_Prev to Prev in the case where the actual is N_Function_Call or
1814 N_Identifier. This was interfering with other cases that are rewritten
1815 as N_Identifier, such as allocators, resulting in passing of the wrong
1816 accessibility level, and based on testing this code is apparently no
1817 longer needed at all.
1819 2008-08-01 Ed Schonberg <schonberg@adacore.com>
1821 * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
1822 procedure call whose prefix
1823 is a parameterless function call that returns an access_to_procedure.
1825 2008-08-01 Jose Ruiz <ruiz@adacore.com>
1827 * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
1828 for RTX. Adding a suffix that is incremented at each iteration.
1830 2008-08-01 Robert Dewar <dewar@adacore.com>
1832 * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
1835 2008-08-01 Jerome Lambourg <lambourg@adacore.com>
1837 * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
1838 paths, which are authorized by Windows but can lead to errors when used
1841 2008-08-01 Ed Schonberg <schonberg@adacore.com>
1843 * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
1844 a pending instantiation for the body of a subprogram that is to be
1848 (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
1850 * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
1851 create a pending instance for its body, so that calls to the subprogram
1852 can be inlined by the back-end.
1854 2008-08-01 Jose Ruiz <ruiz@adacore.com>
1856 * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
1859 2008-08-01 Robert Dewar <dewar@adacore.com>
1861 * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
1863 2008-08-01 Doug Rupp <rupp@adacore.com>
1865 * gnat_rm.texi: Document new mechanism Short_Descriptor.
1867 * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
1870 * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
1871 mechanism and Short_Descriptor mechanism values.
1873 * snames.adb (preset_names): Add short_descriptor entry.
1875 * snames.ads: Add Name_Short_Descriptor.
1877 * types.h: Add new By_Short_Descriptor mechanism values.
1879 * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
1880 mechanism and Short_Descriptor mechanism values.
1882 * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
1884 (Descriptor_Codes): Modify range for new mechanism values.
1886 * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
1889 * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
1890 (gnat_to_gnu_param): Handle By_Short_Descriptor.
1892 * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
1893 (build_vms_descriptor32): New prototype.
1894 (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
1896 * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
1897 argument in call fill_vms_descriptor.
1899 * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
1900 build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
1901 (build_vms_descriptor): Renamed from build_vms_descriptor64.
1902 (convert_vms_descriptor32): New function.
1903 (convert_vms_descriptor64): New function.
1904 (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
1907 * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
1910 2008-08-01 Jose Ruiz <ruiz@adacore.com>
1912 * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
1913 nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
1916 2008-08-01 Jose Ruiz <ruiz@adacore.com>
1918 * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
1919 current directory so only fully qualified names are allowed.
1921 2008-08-01 Robert Dewar <dewar@adacore.com>
1924 Minor editing, remove uncomfortable use of semicolon
1926 * s-ststop.adb: Add some ??? comments
1928 * sem_ch10.adb: Minor reformatting
1931 Minor comment fixes, some pragmas were not properly
1932 categorized in the comments, documentation change only
1934 * xref_lib.adb: Minor reformatting
1936 * sinput.adb: Minor reformatting
1938 * gnatchop.adb: Minor reformatting
1940 * sem_util.ads: Minor reformatting.
1942 * opt.ads: Minor documentation fix
1944 * scng.adb: Minor reformatting
1946 * prj-part.adb: Update comments
1948 2008-08-01 Ed Schonberg <schonberg@adacore.com>
1950 * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
1951 tagged synchronized type, use corresponding record type.
1953 2008-08-01 Doug Rupp <rupp@adacore.com>
1955 * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
1956 dummy transfer address for debugging.
1958 * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
1960 * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
1962 2008-07-31 Eric Botcazou <ebotcazou@adacore.com>
1964 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
1965 * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
1967 2008-07-31 Pascal Obry <obry@adacore.com>
1969 * prj-nmsc.adb: Keep Object and Exec directory casing.
1971 2008-07-31 Jose Ruiz <ruiz@adacore.com>
1973 * system-rtx-rtss.ads
1974 Change the default stack size. It is important to set the commit part.
1977 (Initialize): Get the clock resolution.
1978 (RT_Resolution): Return the clock resolution that is indicated by the
1981 * s-parame-vxworks.adb
1982 Document that this body is used for RTX in RTSS (kernel) mode.
1984 * gcc-interface/Makefile.in
1985 (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
1986 s-parame-vxworks.adb body in order to have reasonable stack sizes in
1987 RTX RTSS kernel mode. Virtual memory is not used in that case, so we
1988 cannot ask for too big values.
1990 2008-07-31 Robert Dewar <dewar@adacore.com>
1992 * exp_aggr.adb: Minor reformatting
1994 * makeutl.adb: Minor reformatting
1996 * prj-env.adb: Minor reformatting
1998 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2000 * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
2001 tagged type is completed by a concurrent type.
2003 2008-07-31 Gary Dismukes <dismukes@adacore.com>
2006 (Resolve_Record_Aggregate): Bypass error that a type without
2007 components must have a "null record" aggregate when compiling for Ada
2008 2005, since it's legal to give an aggregate of form (others => <>)
2011 2008-07-31 Javier Miranda <miranda@adacore.com>
2013 * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
2014 handle synchronized types. Required to handle well the object.operation
2015 notation applied to synchronized types.
2017 2008-07-31 Quentin Ochem <ochem@adacore.com>
2019 * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
2020 anymore - just used internally.
2021 Added handling of very small tasks - when the theoretical size is
2022 already full at the point of the call.
2023 (Report_Result): Fixed result computation, Stack_Used_When_Filling does
2024 not need to be added to the result.
2026 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2028 * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
2029 corresponding spec is a primitive wrapper. Update comment.
2031 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2033 * bindgen.adb Comment reformatting. Update the list of run-time globals.
2034 (Gen_Adainit_Ada): Add the declaration, import and value set for
2035 configuration flag Canonical_Streams.
2036 (Gen_Adainit_C): Add the declaration and initial value of external
2037 symbol __gl_canonical_streams.
2039 * init.c: Update the list of global values computed by the binder.
2041 * opt.ads: Add flag Canonical_Streams.
2043 * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
2044 semantically handled pragmas.
2046 * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
2047 (Analyze_Pragma): Add case for pragma Canonical_Streams.
2049 * snames.adb: Add character value for name Canonical_Streams.
2052 Add Name_Canonical_Streams to the list of configuration pragmas.
2053 Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
2055 * snames.h: Add a definition for Pragma_Canonical_Streams.
2058 Add a flag and import to seize the value of external symbol
2059 __gl_canonical_streams. Update comment and initial value of constant
2062 * gnat_rm.texi: Add section of pragma Canonical_Streams.
2065 Add pragma Canonical_Streams to the list of configuration pragmas.
2067 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2069 * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
2070 has the form A.B.C and B is a unit renaming, analyze its compilation
2071 unit and add a with_clause on A.b to the context.
2073 2008-07-31 Vincent Celier <celier@adacore.com>
2075 * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
2076 return the empty string, instead of raising Constraint_Error.
2078 2008-07-31 Gary Dismukes <dismukes@adacore.com>
2080 * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
2082 * checks.adb (Apply_Accessibility_Check): Insert the check on
2086 (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
2087 to new parameter Insert_Node on call to Apply_Accessibility_Check.
2088 Necessary to distinguish the insertion node because the dereferenced
2089 formal may come from a rename, but the check must be inserted in
2090 front of the attribute.
2093 (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
2094 call to Apply_Accessibility_Check.
2095 (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
2096 on call to Apply_Accessibility_Check.
2099 2008-07-31 Javier Miranda <miranda@adacore.com>
2101 * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
2102 types when the candidate type is a synchronized type.
2104 * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
2105 types, and complete management of synchronized types adding missing
2106 code to handle formal that is a synchronized type.
2108 * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
2109 are not available and cause the compiler to blowup. Found compiling
2110 test with switch -gnatc
2112 * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
2113 Has_Correct_Formal_Mode plus code cleanup.
2115 2008-07-31 Bob Duff <duff@adacore.com>
2117 * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
2118 recognized as two end-of-lines, but it should be just one.
2120 2008-07-31 Thomas Quinot <quinot@adacore.com>
2122 * exp_ch9.adb: Minor reformatting
2124 * tbuild.ads: Fix several occurrences of incorrectly referring to
2125 Name_Find as Find_Name.
2127 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2129 * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
2130 and the context is an object declaration with non-static bounds, treat
2131 the aggregate as non-static.
2133 2008-07-31 Vincent Celier <celier@adacore.com>
2135 * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
2136 Move back spec of Parse_Single_Project to body, as it is not called
2137 outside of package Prj.Part.
2138 (Project_Data): Remove components Linker_Name, Linker_Path and
2139 Minimum_Linker_Options as they are no longer set.
2140 Remove function There_Are_Ada_Sources from package Prj and move code
2141 in the only place it was used, in Prj.Env.Set_Ada_Paths.
2143 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2145 * mlib-utl.ads: Fix typo.
2147 2008-07-31 Robert Dewar <dewar@adacore.com>
2149 * sem_ch12.adb: Minor reformatting
2151 2008-07-31 Sergey Rybin <rybin@adacore.com>
2153 * gnat_ugn.texi: Change the description of the
2154 Overly_Nested_Control_Structures: now the rule always requires a
2155 positive parameter for '+R' option
2157 2008-07-31 Thomas Quinot <quinot@adacore.com>
2159 * g-pehage.adb: Minor reformatting
2161 2008-07-31 Pascal Obry <obry@adacore.com>
2163 * s-finimp.ads: Minor reformatting.
2165 2008-07-31 Vincent Celier <celier@adacore.com>
2167 * s-regexp.ads: Minor comment fix
2169 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2171 * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
2172 so that we can compile this file successfully with -gnatc.
2174 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2176 * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
2177 of the type when looking for stream subprograms for type String,
2178 Wide_String and Wide_Wide_String.
2180 * s-ststop.adb: Change the initialization expression of constant
2183 2008-07-31 Geert Bosch <bosch@adacore.com>
2186 New file implementing __gnat_mulv64 signed integer multiplication with
2189 * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
2191 * gcc-interface/gigi.h:
2192 (standard_types): Add ADT_mulv64_decl
2193 (mulv64_decl): Define subprogram declaration for __gnat_mulv64
2195 * gcc-interface/utils.c:
2196 (init_gigi_decls): Add initialization of mulv64_decl
2198 * gcc-interface/trans.c:
2199 (build_unary_op_trapv): New function
2200 (build_binary_op_trapv): New function
2201 (gnat_to_gnu): Use the above functions instead of
2202 build_{unary,binary}_op
2204 * gcc-interface/Makefile.in
2205 (LIBGNAT_SRCS): Add arit64.c
2206 (LIBGNAT_OBJS): Add arit64.o
2208 2008-07-31 Vincent Celier <celier@adacore.com>
2210 * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
2211 Linker'Default_Switches are declared. Warn if they are declared.
2213 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2215 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
2216 Insert_Actions to place the pointer declaration in the code, rather
2217 than Insert_Before_And_Analyze, so that insertions of temporaries are
2218 kept in the proper order when transient scopes are present.
2221 2008-07-31 Robert Dewar <dewar@adacore.com>
2223 * einfo.adb (Spec_PPC): Now defined for generic subprograms
2225 * einfo.ads (Spec_PPC): Now defined for generic subprograms
2227 * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
2230 2008-07-31 Vincent Celier <celier@adacore.com>
2232 * s-os_lib.adb: Minor comment fix
2234 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2236 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
2237 transfer pre/postconditions from generic copy to original tree, so that
2238 they will appear in each instance.
2239 (Process_PPCs): Do not transform postconditions into a procedure in a
2240 generic context, to prevent double expansion of check pragmas.
2242 * sem_attr.adb: In an instance, the prefix of the 'result attribute
2243 can be the renaming of the
2244 current instance, so check validity of the name accordingly.
2246 2008-07-31 Robert Dewar <dewar@adacore.com>
2248 * mlib-utl.ads: Minor reformatting
2250 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2252 sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
2253 from context. This attribute must be usable in Ada95 mode.
2254 The attribute can appear in the body of a function marked
2255 Inline_Always, but in this case the postocondition is not enforced.
2257 sem_prag.adb (Check_Precondition_Postcondition): within the expansion
2258 of an inlined call pre- and postconditions are legal
2260 2008-07-31 Vincent Celier <celier@adacore.com>
2262 * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
2263 were for gprmake only
2265 2008-07-31 Robert Dewar <dewar@adacore.com>
2267 * gnat_ugn.texi: Update -gnatN documentation.
2269 * gnat_rm.texi: Add note about pre/postcondition
2270 pragmas not checked in conjunction with front-end inlining.
2272 2008-07-31 Robert Dewar <dewar@adacore.com>
2274 * g-pehage.adb, g-pehage.ads: Minor reformatting
2276 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2278 * mlib-utl.ads, prj-makr.ads: Add comments.
2280 2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2282 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
2283 [WINDOWS]: Add s-winext.o.
2285 2008-07-30 Eric Botcazou <ebotcazou@adacore.com>
2288 * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
2289 * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
2290 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
2291 Set precision to 1 for subtype of BOOLEAN_TYPE.
2292 (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
2293 (make_type_from_size): Deal with BOOLEAN_TYPE.
2294 * gcc-interface/misc.c (gnat_print_type): Likewise.
2295 * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
2296 Set boolean_type_node as its translation in the table, as well
2297 as boolean_false_node for False and boolean_true_node for True.
2298 * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
2299 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
2300 (create_param_decl): Deal with BOOLEAN_TYPE.
2301 (build_vms_descriptor): Likewise.
2302 (build_vms_descriptor64): Likewise.
2303 (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
2305 2008-07-30 Robert Dewar <dewar@adacore.com>
2307 * exp_ch9.adb: Minor reformatting
2309 * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
2310 if no primitive operation is found.
2312 * exp_util.adb: (Find_Prim_Op): Add comments for previous change
2314 * sem_ch8.adb: Minor reformatting
2316 2008-07-30 Laurent Pautet <pautet@adacore.com>
2319 Remove a limitation on the length of the words handled by the minimal
2320 perfect hash function generator.
2323 Detail the use of subprograms Insert, Initialize, Compute and Finalize.
2326 2008-07-30 Robert Dewar <dewar@adacore.com>
2328 * gnatlink.adb: Minor reformatting
2330 2008-07-30 Thomas Quinot <quinot@adacore.com>
2332 * rtsfind.adb (Check_RPC): Check version consistency even when not
2333 generating RCI stubs. Provide more detailed error message in case of
2336 2008-07-30 Ed Schonberg <schonberg@adacore.com>
2338 * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
2339 as a actual in an instance, check for a missing attribute to prevent
2340 program_error on an illegal program.
2342 * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
2343 error if primitive is not found, so that exception can be handled
2344 elsewhere on illegal programs.
2346 2008-07-30 Robert Dewar <dewar@adacore.com>
2348 * uintp.adb (UI_GCD): Fix potential overflow
2350 2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
2352 * einfo.adb: Flag245 is now used.
2353 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
2354 check to include functions.
2355 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2356 (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
2358 (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
2359 to the list of displayed flags.
2361 * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
2362 Wrapped_Entity. These two flags are now present in functions.
2363 New flag Is_Private_Primitive.
2364 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2367 (Build_Wrapper_Bodies): New subprogram.
2368 (Build_Wrapper_Body): The spec and body have been moved to in
2369 Build_Wrapper_ Bodies. Code cleanup.
2370 (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
2371 Wrappers are now generated for primitives declared between the private
2372 and full view of a concurrent type that implements an interface.
2373 (Build_Wrapper_Specs): New subprogram.
2374 (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
2375 creation mechanism with a call to Build_Wrapper_Bodies.
2376 (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
2377 wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
2378 (Expand_N_Task_Body): Replace the wrapper body creation
2379 mechanism with a call to Build_Wrapper_Bodies.
2380 (Expand_N_Task_Type_Declaration): Replace the wrapper spec
2381 creation mechanism with a call to Build_Wrapper_Specs.
2382 (Is_Private_Primitive_Subprogram): New subprogram.
2383 (Overriding_Possible): Code cleanup.
2384 (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
2386 * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
2388 * sem_ch3.adb: Add with and use clause for Exp_Ch9.
2389 (Process_Full_View): Build wrapper specs for all primitives
2390 that belong to a private view completed by a concurrent type
2391 implementing an interface.
2393 * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
2395 concurrent type with a private view that implements an interface, try to
2396 find the proper spec.
2397 (Analyze_Subprogram_Declaration): Mark a subprogram as a private
2398 primitive if the type of its first parameter is a non-generic tagged
2400 (Analyze_Subprogram_Specification): Code reformatting.
2401 (Disambiguate_Spec): New routine.
2402 (Find_Corresponding_Spec): Add a flag to controll the output of errors.
2403 (Is_Private_Concurrent_Primitive): New routine.
2406 (Find_Corresponding_Spec): Add a formal to control the output of errors.
2408 2008-07-30 Doug Rupp <rupp@adacore.com>
2410 * gigi.h (build_vms_descriptor64): New function prototype.
2411 (fill_vms_descriptor): Modified function prototype.
2413 * utils.c (build_vms_descriptor64): New function.
2415 * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
2417 * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
2420 * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
2421 64bit and 32bit descriptor and save the 64bit version as an alternate
2422 TREE_TYPE in the parameter.
2423 (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
2426 * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
2428 2008-07-30 Robert Dewar <dewar@adacore.com>
2430 * make.adb: Minor reformatting
2432 * mlib-utl.adb: Minor reformatting
2434 * osint.ads: Minor reformatting
2436 2008-07-30 Jose Ruiz <ruiz@adacore.com>
2439 (__gnat_file_exists): Do not use __gnat_stat for RTX.
2440 (__main for RTX in RTSS mode): Create this dummy procedure symbol to
2441 avoid the use of this symbol from libgcc.a in RTX kernel mode.
2444 (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
2445 the function RtPrintf for console output.
2447 * argv.c Do not use the environ variable for RTX.
2449 * gnatlink.adb (gnatlink): The part that handles the --RTS option has
2450 been moved before the call to Osint.Add_Default_Search_Dirs in order
2451 to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
2452 from the appropriate run time.
2455 (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
2456 target is a RTSS module for RTX.
2458 * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
2459 RTX_RTSS_Kernel_Module
2460 (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
2462 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
2463 exception handling mechanism for Windows and RTX in Win32 mode, but
2464 not for RTX in kernel mode (RTSS).
2465 (LIBGNAT_SRCS): Remove ada.h
2467 2008-07-30 Paolo Bonzini <bonzini@gnu.org>
2469 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
2470 T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2471 (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
2472 * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
2473 X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
2474 ALL_ADA_CFLAGS): Remove.
2475 (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
2476 replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2477 (GCC_CFLAGS): Remove X_CFLAGS.
2478 (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
2479 (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
2480 (ADA_CFLAGS): Substitute.
2482 2008-07-30 Laurent Guerby <laurent@guerby.net>
2485 * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
2486 Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
2487 Replace stamp-gnatlib* by stamp-gnatlib*-rts.
2488 * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
2489 by stamp-gnatlib2-rts.
2491 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2493 PR documentation/15479
2494 * gnat-style.texi: Remove AdaCore copyright statement and GPL
2495 statement for GNAT. Add @copying stanza, use it. Update to
2496 GFDL 1.2. Do not list GFDL as Invariant Section, do not list
2497 title as Front-Cover Text.
2498 * gnat_rm.texi: Likewise.
2499 * gnat_ugn.texi: Likewise.
2501 2008-07-29 Jan Hubicka <jh@suse.cz>
2503 * trans.c (process_inlined_subprograms): Remove tree_really_inline
2506 2008-07-29 Arnaud Charlet <charlet@adacore.com>
2508 * gcc-interface: New directory.
2510 * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
2511 utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
2512 config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
2513 to gcc-interface subdirectory.
2515 2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2517 * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2519 2008-07-28 Jan Hubicka <jh@suse.cz>
2521 * misc.c (gnat_post_options): Do not set flag_no_inline.
2523 2008-07-28 Richard Guenther <rguenther@suse.de>
2525 Merge from gimple-tuples-branch.
2527 2008-07-22 Olivier Hainque <hainque@adacore.com>
2529 * gigi.h (end_subprog_body): New ELAB_P argument, saying if
2530 this is called for an elab proc to be discarded if empty.
2531 * utils.c (end_subprog_body): Honor ELAB_P.
2532 (build_function_stub): Adjust call to end_subprog_body.
2533 * trans.c (Subprogram_Body_to_gnu): Likewise.
2534 (gigi): Reorganize processing of elab procs to prevent
2535 gimplifying twice, using the new end_subprog_body argument.
2537 2008-07-19 Richard Guenther <rguenther@suse.de>
2539 * Make-lang.in (trans.o): Add tree-iterator.h dependency.
2540 (utils.o): Likewise.
2541 * trans.c: Include tree-iterator.h.
2542 (gnat_gimplify_expr): Adjust prototype. Fix typo.
2543 (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
2544 (set_expr_location_from_node): Likewise.
2546 * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
2548 * utils.c: Include tree-iterator.h.
2549 * gigi.h (gnat_gimplify_expr): Adjust prototype.
2551 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
2553 * trans.c: Include gimple.h instead of tree-gimple.h.
2556 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
2558 * trans.c (gnat_gimplify_expr): Use gimplify_assign.
2560 2008-07-25 Jan Hubicka <jh@suse.cz>
2562 * utils.c (end_subprog_body): Remove inline trees check.
2563 * misc.c (gnat_post_options): Do not set flag_inline_trees.
2565 2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2567 * raise-gcc.c: Move tsystem.h before tm.h.
2569 2008-07-20 Arnaud Charlet <charlet@adacore.com>
2571 * gnathtml.pl: New file.
2573 2008-07-19 Olivier Hainque <hainque@adacore.com>
2575 * targtyps.c (get_target_default_allocator_alignment): Use
2576 MALLOC_ABI_ALIGNMENT.
2578 2008-07-17 Olivier Hainque <hainque@adacore.com>
2580 * adaint.c (__MINGW32__ section): Include ctype.h and define
2581 a fallback ISALPHA if IN_RTS.
2582 (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
2584 2008-07-17 Olivier Hainque <hainque@adacore.com>
2586 * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
2587 argument, to apply to references in addition to definitions. Prevent
2588 setting TREE_STATIC on externals.
2589 (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
2591 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2593 PR documentation/15479
2594 * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
2595 Replace backets around optional parameters with @ovar
2596 where possible, use @r{[}, @r{]} otherwise.
2597 Replace some @r, @i, and @emph with @var where appropriate.
2599 2008-07-02 Eric Botcazou <ebotcazou@adacore.com>
2601 * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
2603 2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2605 * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
2606 -Wc++-compat warnings.
2607 * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
2608 __gnat_locate_exec_on_path): Likewise.
2609 * decl.c (annotate_value): Likewise.
2610 * misc.c (gnat_handle_option): Likewise.
2611 * trans.c (gnat_to_gnu, extract_encoding, decode_name,
2612 post_error_ne_tree): Likewise.
2614 2008-06-27 Eric Botcazou <ebotcazou@adacore.com>
2616 * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
2617 version of its type, attempt to first convert its elements.
2619 2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
2621 * Makefile.in: Fix *86 kfreebsd target specific pairs.
2623 2008-06-25 Samuel Tardieu <sam@rfc1149.net>
2625 * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
2627 2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
2629 * utils2.c (known_alignment): Derive the alignment from pointed-to
2630 types only if it is otherwise unknown.
2631 <INTEGER_CST>: Tidy.
2632 <MULT_EXPR>: Likewise.
2633 <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
2636 2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2639 * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
2641 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2643 * gnat_rm.texi (Implementation Defined Characteristics)
2644 (Standard Library Routines): Use @smallexample for indented
2645 text. Drop Indentation outside examples.
2646 * gnat_ugn.texi: Likewise.
2648 2008-06-13 Olivier Hainque <hainque@adacore.com>
2650 * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
2652 (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
2653 realignment with force_align_arg_pointer attribute on foreign
2654 convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2656 2008-06-13 Olivier Hainque <hainque@adacore.com>
2658 * utils.c (rest_of_record_type_compilation): When computing
2659 encodings for the components of a variable size type, early
2660 strip conversions on the current position expression to make
2661 sure it's shape is visible. Use remove_conversions for this
2664 2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
2666 * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
2667 constrained subtype of a discriminated type, discard the fields that
2668 are beyond its limits according to its size.
2670 2008-06-10 Olivier Hainque <hainque@adacore.com>
2672 * utils.c (create_subprog_decl): If this is for the 'main' entry
2673 point according to the asm name, redirect main_identifier_node.
2675 2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
2677 * decl.c (components_to_record): Adjust the packedness for the
2678 qualified union as well.
2680 2008-06-09 Arnaud Charlet <charlet@adacore.com>
2682 * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
2685 2008-06-07 Samuel Tardieu <sam@rfc1149.net>
2687 * sem_res.adb (Large_Storage_Type): A type is large if it
2688 requires as many bits as Positive to store its values and its
2689 bounds are known at compile time.
2690 * sem_ch13.adb (Minimum_Size): Note that this function returns
2691 0 if the size is not known at compile time.
2693 2008-06-06 Nicolas Setton <setton@adacore.com>
2694 Olivier Hainque <hainque@adacore.com>
2696 * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
2697 attribute, parallel descriptive type attached to another
2698 type for debug info generation purposes.
2699 * utils.c (add_parallel_type): New function, register
2700 parallel type to be attached to a type.
2701 (get_parallel_type): New function, fetch a registered
2702 parallel type, if any.
2703 (rest_of_record_type_compilation): Register the parallel
2704 type we make for variable size records.
2705 * gigi.h (add_parallel_type, get_parallel_type): Declare.
2706 * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
2707 parallel debug types we make.
2708 * trans.c (extract_encoding, decode_name): New functions.
2709 (gigi): If the DWARF attribute extensions are available, setup
2711 * lang.opt: Register language specific processing request
2713 * misc.c (gnat_dwarf_extensions): New global variable. How much
2714 do we want of our DWARF extensions. 0 by default.
2715 (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
2716 (gnat_post_options): Map gnat_dwarf_extensions to the
2717 commonuse_gnu_debug_info_extensions for later processing.
2719 2008-06-04 Samuel Tardieu <sam@rfc1149.net>
2721 * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
2723 2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2725 * Makefile.in (common_tools): Fix typos in $(exeext) extension.
2726 * gnat_ugn.texi (Style Checking)
2727 (Adding the Results of Compiler Checks to gnatcheck Output)
2728 (Example of Binder Output File): Fix typos.
2729 * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
2730 exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
2731 s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
2732 s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
2733 sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
2734 sinfo.ads, utils.c: Fix typos in comments.
2735 * sem_ch6.adb, vms_data.ads: Fix typos in strings.
2737 2008-05-29 Thomas Quinot <quinot@adacore.com>
2739 * sem_eval.adb: Minor reformatting
2741 2008-05-29 Ed Schonberg <schonberg@adacore.com>
2743 * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
2744 is abstract, do not apply abstractness check on subprogram if this is
2745 a renaming declaration.
2747 2008-05-29 Arnaud Charlet <charlet@adacore.com>
2750 * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
2751 allow recognition of program suffix in addition to prefix.
2753 * gnatchop.adb (Locate_Executable): Add support for prefix.
2755 * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
2756 mlib-utl.adb: Adjust calls to Program_Name.
2758 2008-05-29 Robert Dewar <dewar@adacore.com>
2760 * sem_ch3.adb: Minor reformatting
2761 * sem_prag.adb: Minor reformatting
2762 * sem_res.adb: Minor reformatting
2763 * sinput-p.ads: Minor reformatting
2765 2008-05-29 Javier Miranda <miranda@adacore.com>
2768 (Abstract_Interface_List): Add missing support for full type-declaration
2769 associated with synchronized types.
2771 2008-05-29 Robert Dewar <dewar@adacore.com>
2773 * sem_eval.adb (Is_Same_Value): Take care of several more cases
2775 2008-05-28 Ed Schonberg <schonberg@adacore.com>
2777 * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
2778 access type, wrap the expression in a conversion to force an
2779 accessibility check.
2781 * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
2782 accessibility checks even when expansion is disabled in order to
2783 generate messages in the presence of previous errors or in
2784 semantics-only mode.
2786 2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
2788 * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
2789 * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
2791 2008-05-28 Vincent Celier <celier@adacore.com>
2794 * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
2795 preprocessing expressions
2797 2008-05-28 Vincent Celier <celier@adacore.com>
2799 * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
2802 * sinput-p.ads: Minor comment update and reformatting
2804 2008-05-28 Ed Schonberg <schonberg@adacore.com>
2806 * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
2807 type has a deeper level than any master only when it is the type of an
2810 2008-05-28 Javier Miranda <miranda@adacore.com>
2812 * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
2814 2008-05-28 Javier Miranda <miranda@adacore.com>
2816 * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
2817 * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
2818 * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
2819 Add code that was previously located in
2820 Find_Overridden_Synchronized_Primitive because it is only used here.
2822 2008-05-28 Sergey Rybin <rybin@adacore.com>
2824 * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
2825 Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
2827 2008-05-28 Robert Dewar <dewar@adacore.com>
2830 Add missing restrictions, and properly label all GNAT defined ones
2833 Add entry for Ada_Real_Time.Timing_Events.Timing_Event
2834 Add entry for Ada.Task_Termination.Set_Specific_Handler
2835 Add entry for Ada.Task_Termination.Specific_Handler
2838 Add missing restrictions and properly mark all gnat defined ones
2841 (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
2844 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
2846 * gnat_rm.texi: Add missing restrictions, and properly label all
2849 2008-05-28 Robert Dewar <dewar@adacore.com>
2852 (Check_Restriction): violation of restriction No_Finalization is
2853 treated as a serious error to stop expansion
2855 2008-05-28 Robert Dewar <dewar@adacore.com>
2857 * exp_util.adb: Minor reformatting
2858 * exp_util.ads: Minor reformatting.
2860 2008-05-28 Arnaud Charlet <charlet@adacore.com>
2862 * Make-lang.in: Remove gprmake.
2864 * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
2866 2008-05-28 Ed Schonberg <schonberg@adacore.com>
2868 * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
2869 improper progenitor names, and avoid cascaded errors.
2871 2008-05-28 Robert Dewar <dewar@adacore.com>
2873 * gnat_rm.texi: Add note on Old giving warning when applied to constant
2875 * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
2878 2008-05-28 Robert Dewar <dewar@adacore.com>
2880 * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
2883 2008-05-28 Robert Dewar <dewar@adacore.com>
2886 (Expand_Simple_Function_Return): Copy unaligned result into temporary
2888 2008-05-28 Javier Miranda <miranda@adacore.com>
2890 * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
2891 for user-defined predefined primitives.
2893 * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
2894 (Find_Overridden_Synchronized_Primitive): Ditto.
2896 * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
2898 2008-05-27 Arnaud Charlet <charlet@adacore.com>
2900 * a-ststio.adb, s-direio.adb:
2901 Further code clean up of previous change.
2904 2008-05-27 Vincent Celier <celier@adacore.com>
2906 * prj-nmsc.adb: Minor reformatting
2908 2008-05-27 Bob Duff <duff@adacore.com>
2910 * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
2911 untagged private type with a tagged full type, where the full type has
2912 a self reference, create the corresponding class-wide type early, in
2913 case the self reference is "access T'Class".
2915 2008-05-27 Ed Schonberg <schonberg@adacore.com>
2917 * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
2918 tasks and context is an object declaration. create master entity before
2921 2008-05-27 Robert Dewar <dewar@adacore.com>
2923 * mlib-prj.adb: Minor reformatting
2925 * prj-part.adb: Minor reformatting
2927 * prj.ads: Minor reformatting
2929 * exp_ch3.adb: Minor reformatting.
2931 * sem_ch3.ads: Minor reformatting
2933 * sem_eval.adb: Minor reformatting
2935 2008-05-27 Vincent Celier <celier@adacore.com>
2938 <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
2940 2008-05-27 Ed Schonberg <schonberg@adacore.com>
2942 * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
2943 tasks, create an activation chain now, before the expansion into
2944 assignments and build-in-place calls that require the presence of an
2946 (Backend_Processing_Possible): If the component type is inherently
2947 limited, the aggregate must be expanded into individual built-in-place
2950 * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
2951 determine whether an allocation extra parameter must be built, to
2952 handle case of a private type whose full type is a discriminated type
2955 2008-05-27 Bob Duff <duff@adacore.com>
2958 Document the new behavior regarding trampolines.
2960 2008-05-27 Arnaud Charlet <charlet@adacore.com>
2962 * a-direio.adb, a-sequio.adb: Replace address clause by
2963 unrestricted_access, simpler and compatible with .NET.
2965 2008-05-27 Vincent Celier <celier@adacore.com>
2968 (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
2969 a project file, so that symbolic links are not resolved.
2971 2008-05-27 Arnaud Charlet <charlet@adacore.com>
2973 * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
2974 Replace heavy address clause by 'Unrestricted_Access, cleaner and more
2975 portable across GNAT targets, since this kind of address clause is not
2976 supported by VM back-ends (.NET/JGNAT).
2978 2008-05-27 Arnaud Charlet <charlet@adacore.com>
2980 * bindgen.adb: Update comments.
2982 * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
2984 2008-05-27 Vincent Celier <celier@adacore.com>
2986 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
2987 prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
2988 mlib-tgt.adb, prj-env.adb, prj-env.ads:
2989 (Path_Information): New record type
2990 Use component of type Path_Information when there are two paths, one in
2991 canonical format and one in display format.
2992 Update the project manager to these new components.
2994 2008-05-27 Robert Dewar <dewar@adacore.com>
2996 * makeutl.adb: Minor reformatting
2997 * prj-nmsc.adb: Minor reformatting
2998 * s-stausa.adb: Minor reformatting
2999 * s-stausa.ads: Minor reformatting
3000 * sem_ch6.adb: Minor reformatting
3002 2008-05-27 Thomas Quinot <quinot@adacore.com>
3004 * sem_res.adb: Minor comment fixes
3006 2008-05-27 Thomas Quinot <quinot@adacore.com>
3008 * makeutl.adb: Minor code reorganization
3010 * exp_aggr.adb: Add ??? comment
3013 * exp_ch6.adb: Minor reformatting
3015 2008-05-27 Quentin Ochem <ochem@adacore.com>
3017 * s-stausa.adb (Initialize): Updated result initialization, and
3018 initialization of environment stack.
3019 (Fill_Stack): Improved computation of the pattern zone, taking into
3020 account already filled at the calling point.
3021 (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
3022 Measure and Overflow_Guard.
3023 (Report_Result): Fixed computation of the result using new fields of
3026 * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
3027 params by more explicit Stack_Size / Max_Pattern_Size params.
3028 (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
3029 Added Stack_Used_When_Filling field.
3030 (Task_Result): Replaced Measure / Overflow_Guard by more explicit
3031 Min_Measure and Max_Measure fields.
3033 * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
3035 2008-05-27 Vincent Celier <celier@adacore.com>
3038 (Check_File): Make sure that a unit that replaces the same unit in a
3039 project being extended is properly processed.
3041 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3044 (Get_Discr_Value): Remove obsolete code that failed to find the value
3045 of a discriminant for an inherited task component appearing in a type
3048 2008-05-27 Thomas Quinot <quinot@adacore.com>
3050 (System.File_IO.{Close, Delete, Reset}):
3051 Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
3053 (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
3054 Pass File parameter by reference.
3056 2008-05-27 Vincent Celier <celier@adacore.com>
3059 (Process_Sources_In_Multi_Language_Mode): Check that there are not two
3060 sources of the same project that have the same object file name.
3061 (Find_Explicit_Sources): Always remove a source exception that was not
3064 2008-05-27 Thomas Quinot <quinot@adacore.com>
3066 * sem_ch3.adb: Minor reformatting
3068 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3071 (Is_Interface_Conformant): Handle properly a primitive operation that
3072 overrides an interface function with a controlling access result.
3073 (Type_Conformance): If Skip_Controlling_Formals is true, when matching
3074 inherited and overriding operations, omit as well the conformance check
3075 on result types, to prevent spurious errors.
3077 2008-05-27 Vincent Celier <celier@adacore.com>
3079 * makeutl.ads, makeutl.adb:
3080 (Set_Location): New procedure
3081 (Get_Location): New function
3082 (Update_Main): New procedure
3084 2008-05-27 Vincent Celier <celier@adacore.com>
3087 (Check_Library): Allow standard project to be extended as a static
3089 (Get_Mains): Do not inherit attribute Main in an extending library
3092 2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
3094 * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
3095 * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
3096 * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
3097 * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
3098 * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
3099 * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
3100 * system-mingw.ads (Always_Compatible_Rep): Likewise.
3101 * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
3102 * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
3103 * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
3105 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3107 * sem_attr.adb: add guard to previous patch.
3109 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3111 * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
3112 a synchronized tagged type, do not attempt to build dispatch table for
3113 full view. The table is built for the corresponding record type, which
3114 has its own declaration.
3116 2008-05-27 Gary Dismukes <dismukes@adacore.com>
3118 * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
3119 to the known type entity E, rather than setting it to Any_Type. Fixes
3120 possible blowup in function Base_Init_Proc, as called from Freeze_Entity
3121 for objects whose type had an illegal constraint.
3123 2008-05-27 Vincent Celier <celier@adacore.com>
3126 Add succinct documentation for attribute Excluded_Source_List_File
3128 2008-05-27 Vincent Celier <celier@adacore.com>
3130 * prj-attr.adb: Add new project level attribute Map_File_Option
3132 * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
3134 * prj.ads: Minor reformatting and comment update
3135 (Project_Configuration): New component Map_File_Option
3137 * snames.adb: New standard name Map_File_Option
3139 * snames.ads: New standard name Map_File_Option
3141 2008-05-27 Vincent Celier <celier@adacore.com>
3143 * xsnames.adb: Remove unused variable Oname
3145 2008-05-27 Doug Rupp <rupp@adacore.com>
3148 (Expand_N_Function_Call): Fix comments. Minor reformatting.
3151 (Expand_Vax_Foreign_Return): Fix comments.
3153 2008-05-27 Thomas Quinot <quinot@adacore.com>
3155 * exp_dist.adb: Minor reformating
3157 2008-05-26 Gary Dismukes <dismukes@adacore.com>
3159 * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
3160 No_Default_Initialization, which is now delayed until the freeze point
3161 of the object. Add a comment about deferral of the check.
3163 * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
3164 on objects is moved here.
3166 2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
3168 * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
3169 (Compare_Array_S16): Adjust for above change.
3170 * s-casi32.adb (Uword): Likewise.
3171 (Compare_Array_S32): Likewise.
3172 * s-casi64.adb (Uword): Likewise.
3173 (Compare_Array_S64): Likewise.
3174 * s-caun16.adb (Uhalf): Likewise.
3175 (Compare_Array_U16): Likewise.
3176 * s-caun32.adb (Uword): Likewise.
3177 (Compare_Array_U32): Likewise.
3178 * s-caun64.adb (Uword): Likewise.
3179 (Compare_Array_U64): Likewise.
3181 2008-05-26 Robert Dewar <dewar@adacore.com>
3183 * exp_ch6.adb: Add ??? comment for previous change
3185 * exp_vfpt.adb: Minor reformatting
3187 * exp_vfpt.ads: Add ??? comment for last change
3189 * sem_attr.adb: Add some ??? comments for previous change
3191 * s-vaflop.ads: Add comments for previous change
3193 2008-05-26 Doug Rupp <rupp@adacore.com>
3195 * s-vaflop-vms-alpha.adb:
3196 Remove System.IO use clause, to prevent spurious ambiguities when
3197 package is access through rtsfind.
3199 2008-05-26 Sergey Rybin <rybin@adacore.com>
3201 * tree_io.ads (ASIS_Version_Number): Update because of the changes
3204 2008-05-26 Ed Schonberg <schonberg@adacore.com>
3207 (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
3208 converted to S (A)'address only if A .. B is known to be a non-null
3211 2008-05-26 Doug Rupp <rupp@adacore.com>
3214 (Return_D, Return_F, Return_G): New functions.
3217 (Return_D, Return_F, Return_G): New functions.
3220 (Expand_Vax_Foreign_Return): New procedure
3223 (Expand_Vax_Foreign_Return): New procedure
3226 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
3227 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
3231 (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
3233 * s-vaflop-vms-alpha.adb:
3234 (Return_D, Return_F, Return_G): New functions.
3236 2008-05-26 Gary Dismukes <dismukes@adacore.com>
3238 * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
3239 init proc entity when there is actual default initialization associated
3240 with the component type, to avoid spurious errors on objects of scalar
3241 array types that are marked Is_Public when No_Default_Initialization
3244 2008-05-26 Thomas Quinot <quinot@adacore.com>
3246 * rtsfind.ads, rtsfind.adb:
3247 (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
3248 (Check_RPC): Support per-PCS-kind API versioning.
3250 exp_dist.ads, exp_dist.adb:
3251 (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
3252 (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
3253 library function Get_RACW.
3254 (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
3255 library function Get_Reference.
3256 (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
3257 through an intermediate Any.
3258 (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
3259 going through an intermediate Any.
3261 * sem_dist.adb: Minor reformatting.
3263 2008-05-26 Javier Miranda <miranda@adacore.com>
3265 * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
3266 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
3267 (Is_Internal): Adding documentation on internal entities that have
3268 attribute Interface_Alias (old attribute Abstract_Interface_Alias)
3270 * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
3271 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
3272 Added assertion to force entities with this attribute to have
3273 attribute Is_Internal set to True.
3274 (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
3276 * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
3277 renamed as Derive_Progenitor_Subprograms. In addition, its code is
3278 a new implementation.
3279 (Add_Interface_Tag_Components): Remove special management of
3280 synchronized interfaces.
3281 (Analyze_Interface_Declaration): Minor reformating
3282 (Build_Derived_Record_Type): Minor reformating
3283 (Check_Abstract_Overriding): Avoid reporting error in case of abstract
3284 predefined primitive inherited from interface type because the body of
3285 internally generated predefined primitives of tagged types are generated
3286 later by Freeze_Type
3287 (Derive_Subprogram): Avoid generating an internal name if the parent
3288 subprogram overrides an interface primitive.
3289 (Derive_Subprograms): New implementation that keeps separate the
3290 management of tagged types not implementing interfaces, from tagged
3291 types that implement interfaces.
3292 (Is_Progenitor): New implementation.
3293 (Process_Full_View): Add documentation
3294 (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
3295 by call to Derive_Progenitor_Subprograms.
3297 * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
3298 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
3299 Skip_Controlling_Formals.
3301 * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
3302 (Check_Conventions): New implementation. Remove local subprogram
3303 Skip_Check. Remove formal Search_From of routine Check_Convention.
3304 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
3305 Skip_Controlling_Formals.
3306 (New_Overloaded_Entity): Enable addition of predefined dispatching
3310 (Find_Primitive_Covering_Interface): New subprogram.
3312 * sem_disp.adb (Check_Dispatching_Operation): Disable registering
3313 the task body procedure as a primitive of the corresponding tagged
3315 (Check_Operation_From_Private_Type): Avoid adding twice an entity
3316 to the list of primitives.
3317 (Find_Primitive_Covering_Interface): New subprogram.
3318 (Override_Dispatching_Operation): Add documentation.
3320 * sem_type.adb (Covers): Minor reformatings
3322 * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
3325 (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
3326 (Implements_Interface): New subprogram.
3327 (Is_Parent): Removed.
3328 (Primitive_Names_Match): New subprogram.
3329 (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
3330 (Ultimate_Alias): New subprogram.
3332 * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
3334 Remove special management for synchronized types. Rename formal. Remove
3335 internal subprograms Interface_Present_In_Parent and Add_Interface.
3336 (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
3337 on non-record types by code to return false in such case.
3338 (Implements_Interface): New subprogram.
3339 (Is_Parent): Removed. No special management is now required for
3340 synchronized types covering interfaces.
3341 (Primitive_Names_Match): New subprogram.
3342 (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
3343 (Ultimate_Alias): New subprogram.
3345 * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
3346 Add internal entities associated with secondary dispatch tables to
3347 the list of tagged type primitives that are not interfaces.
3348 (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
3349 (Make_Predefined_Primitive_Specs): Code reorganization to improve
3350 the management of predefined equality operator. In addition, if
3351 the type has an equality function corresponding with a primitive
3352 defined in an interface type, the inherited equality is abstract
3353 as well, and no body can be created for it.
3355 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
3356 exp_util to exp_disp.
3357 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
3358 an entity corresponds with one of the predefined primitives required
3359 to implement interfaces.
3360 Update copyright notice.
3362 * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
3363 final check on abstract subprograms all the primitives associated with
3364 interface primitives because they must be visible in the public and
3366 (Write_DT): Use Find_Dispatching_Type to locate the name of the
3367 interface type. This allows the use of this routine, for debugging
3368 purposes, when the tagged type is not fully decorated.
3369 (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
3370 Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
3371 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
3372 entity corresponds with one of the predefined primitives required to
3373 implement interfaces.
3375 * exp_util.adb (Find_Interface_ADT): New implementation
3376 (Find_Interface): Removed.
3378 * sprint.adb (Sprint_Node_Actual): Generate missing output for the
3379 list of interfaces associated with nodes
3380 N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
3382 2008-05-26 Thomas Quinot <quinot@adacore.com>
3384 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
3385 condition for assignment to temporary.
3387 2008-05-26 Ed Schonberg <schonberg@adacore.com>
3389 * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
3390 checks on the upper bound if the index type is a modular type, to
3391 prevent wrap-around computations when size is close to upper bound of
3394 2008-05-26 Robert Dewar <dewar@adacore.com>
3396 * sem_ch3.adb: Minor reformatting
3398 2008-05-26 Ed Schonberg <schonberg@adacore.com>
3400 * sem_ch12.adb (Remove_Parent): Use specification of instance
3401 to retrieve generic parent,
3402 to handle properly the case where the instance is a child unit.
3403 Add guard to handle properly wrapper packages.
3406 2008-05-26 Thomas Quinot <quinot@adacore.com>
3408 * sinfo.ads: Minor reformatting
3410 2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
3412 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
3413 Generate a tag check when the result subtype of a function, defined by
3414 an access definition, designates a specific tagged type.
3415 (Make_Tag_Check): New routine.
3417 2008-05-26 Arnaud Charlet <charlet@adacore.com>
3419 * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
3421 2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
3423 * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
3424 (builtin_decl_for): Likewise.
3425 * trans.c (gigi): Likewise.
3426 * utils.c (def_builtin_1): Fix formatting.
3428 2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
3430 * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
3431 Create the statements which map a string name to protected or task
3434 * exp_ch9.adb: Add with and use clause for Stringt.
3435 Minor code reformatting.
3436 (Build_Entry_Names): New routine.
3437 (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
3438 for flag Build_Entry_Names which controls the allocation of the data
3439 structure for the string names of entries.
3441 * exp_ch9.ads (Build_Entry_Names): New subprogram.
3443 * exp_util.adb (Entry_Names_OK): New function.
3445 * exp_util.ads (Entry_Names_OK): New function.
3447 * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
3448 enumerations RE_Id and RE_Unit_Table.
3450 * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
3451 (Free_Entry_Names_Array): New routine.
3453 * s-taskin.ads: Comment reformatting.
3454 Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
3455 Add component Entry_Names to record Ada_Task_Control_Block.
3456 (Free_Entry_Names_Array): New routine.
3458 * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
3459 dynamically allocate an array
3460 of string pointers. This structure holds string entry names.
3461 (Free_Entry_Names): New routine.
3462 (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
3463 (Set_Entry_Names): New routine.
3466 (Create_Task): Add formal Build_Entry_Names. The flag is used to
3467 control the allocation of the data structure which stores entry names.
3468 (Set_Entry_Name): New routine.
3471 Add with and use clause for Ada.Unchecked_Conversion.
3472 (Finalize): Deallocate the entry names array.
3473 (Free_Entry_Names): New routine.
3474 (Initialize_Protection_Entries): When flag Build_Entry_Names is set,