1 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
4 * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
7 2009-03-11 Olivier Hainque <hainque@adacore.com>
9 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
10 checks processing, remove unintended TREE_TYPE walk on index type.
12 2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
15 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
16 call make_packable_type on fat pointer types.
17 <E_Array_Subtype>: Likewise.
18 <E_Record_Subtype>: Call make_packable_type on all record types
19 except for fat pointer types.
20 (make_packable_type): Likewise.
21 (gnat_to_gnu_field): Likewise.
23 2009-02-28 Eric Botcazou <ebotcazou@adacore.com>
25 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
26 EH_MECHANISM change made on 2007-12-06.
28 2009-02-26 Andreas Schwab <schwab@suse.de>
31 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
32 * gcc-interface/Makefile.in: Change all uses of $(srcdir),
33 $(fsrcdir) and $(fsrcpfx) to add ada subdir.
35 (target_cpu_default): Substitute.
37 2009-02-25 Laurent GUERBY <laurent@guerby.net>
40 * a-teioed.adb (Expand): Fix Result overflow.
42 2009-02-25 Laurent GUERBY <laurent@guerby.net>
44 * gcc-interface/Makefile.in: Fix multilib handling for
47 2009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
49 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
51 2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
53 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
55 2009-02-16 Eric Botcazou <ebotcazou@adacore.com>
57 * gcc-interface/deftarg.c: Remove.
59 2009-02-10 Olivier Hainque <hainque@adacore.com>
60 Eric Botcazou <ebotcazou@adacore.com>
62 * gcc-interface/decl.c (enum alias_set_op): New enumeration.
63 (copy_alias_set): Rename into...
64 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
65 underlying array of unconstrained arrays for the new type as well.
66 If the old and new alias sets don't conflict, make one a subset of
67 the other as per the OP parameter.
68 (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
69 <E_Record_Type>: Do not copy the alias set for derived types.
70 For all types, make the alias set of derived types a superset of
71 that of their parent type.
72 (make_aligning_type): Adjust calls to copy_alias_set.
73 (make_packable_type): Likewise.
74 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
75 Check for alias set conflict instead of strict equality to issue the
78 2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
80 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
81 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
82 (copy_alias_set): Assert that arrays have the same aliasing settings.
83 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
85 2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
87 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
88 Set TYPE_NONALIASED_COMPONENT on the array type.
90 2009-01-31 Laurent GUERBY <laurent@guerby.net>
92 * gcc-interface/Makefile.in: Fix mipsel linux handling.
94 2009-01-16 Jakub Jelinek <jakub@redhat.com>
96 * gcc-interface/Makefile.in: Fix multilib handling for
99 2009-01-12 Eric Botcazou <ebotcazou@adacore.com>
101 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
102 only useless conversions around renamed objects.
104 2009-01-11 Eric Botcazou <ebotcazou@adacore.com>
106 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
107 the _Tag field before any discriminants in the field list.
108 (components_to_record): Remove obsolete comment.
110 2008-12-09 Jakub Jelinek <jakub@redhat.com>
113 * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
114 * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
117 2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
120 * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
122 2008-11-29 Eric Botcazou <ebotcazou@adacore.com>
125 * g-comver.adb (Ver_Len_Max): Fix inconsistency.
127 2008-11-27 Eric Botcazou <ebotcazou@adacore.com>
129 * gcc-interface/decl.c: Fix various nits.
131 2008-11-20 Eric Botcazou <ebotcazou@adacore.com>
133 * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
135 2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
138 * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
139 special-case boolean types. Propagate the name.
140 * gcc-interface/targtyps.c: Tweak comment.
142 2008-11-15 Geert Bosch <bosch@adacore.com>
144 * gcc-interface/trans.c (emit_check): Put back a final save_expr
145 to prevent exponential expansion during gimplification.
147 2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
149 * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
151 2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
153 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
154 initialized to a static constant to be statically allocated even if
155 they are of a padding type, provided the original type also has
158 2008-11-15 Laurent Guerby <laurent@guerby.net>
161 * gcc-interface/Makefile.in: Add multilib handling for x86_64
163 * system-darwin-x86_64.ads: New file.
165 2008-11-13 Olivier Hainque <hainque@adacore.com>
167 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
168 Turn Ada Pure on subprograms back into GCC CONST when eh constructs
169 are explicit to the middle-end. Tidy.
171 2008-11-09 Eric Botcazou <ebotcazou@adacore.com>
173 * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
174 (MINUS_NOMOD_EXPR): Likewise.
175 * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
177 <PLUS_NOMOD_EXPR>: New case.
178 <MINUS_NOMOD_EXPR>: Likewise.
179 * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
180 assignment statement instead of using an increment operator.
182 2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
184 * system-irix-n64.ads: New file.
185 * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
188 2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
191 * system-solaris-x86_64.ads: New file.
192 * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
194 2008-11-07 Bechir Zalila <bechir.zalila@gmail.com>
195 Eric Botcazou <ebotcazou@adacore.com>
198 * lib.ads: (Enable_Switch_Storing): Declare.
199 * lib.adb: (Enable_Switch_Storing): New procedure.
200 * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
201 * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
202 (Display): Never display -gnatea
203 * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
205 2008-11-07 Thomas Quinot <quinot@adacore.com>
207 * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
208 for empty range in original base type, not converted result type.
210 2008-11-07 Geert Bosch <bosch@adacore.com>
212 * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
213 and result for call to __gnat_mulv64.
215 2008-11-07 Eric Botcazou <ebotcazou@adacore.com>
217 * gcc-interface/trans.c: Fix formatting nits.
219 2008-11-07 Geert Bosch <bosch@adacore.com>
221 * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
222 overflow check for constant result.
224 2008-11-07 Geert Bosch <bosch@adacore.com>
226 * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
227 overflow check for addition/subtraction if neither operand is constant.
229 2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
231 * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
232 files for the target-dependent part of the runtime.
233 (SPARC/Linux): Likewise.
235 2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
237 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
238 optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
241 2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
243 * gcc-interface/misc.c (gnat_printable_name): Always return a copy
246 2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
249 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
250 Generate a call to memmove for an assignment between overlapping
253 2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
256 * gcc-interface/Makefile.in: Add multilib handling for
257 s390-linux and s390x-linux.
259 2008-10-24 Jakub Jelinek <jakub@redhat.com>
261 * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
262 check-acats-subtargets and check-gnat-subtargets.
263 (check_acats_targets): New variable.
264 (check-acats-subtargets, check-acats%): New targets.
265 (check-acats): If -j is used and CHAPTERS is empty, run the testing
266 in multiple make goals, possibly parallel, and afterwards run
267 dg-extract-results.sh to merge the sum and log files.
269 2008-10-17 Geert Bosch <bosch@adacore.com>
271 * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
272 to use only a single check instead of three, and avoid unnecessary
274 (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
275 creating more opportunities for optimizations.
277 2008-10-13 Jakub Jelinek <jakub@redhat.com>
280 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
283 2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
285 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
286 dealing with volatileness to after code dealing with renaming.
288 2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
290 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
291 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
293 2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
295 * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
296 (unchecked_convert): Use it to disable problematic folding with
297 VIEW_CONVERT_EXPR in the general case. Always disable it for the
298 special VIEW_CONVERT_EXPR built for integral types and cope with
299 its addressability issues by preserving the first conversion.
301 2008-10-01 Andreas Schwab <schwab@suse.de>
303 * system-linux-ppc64.ads: New file.
304 * gcc-interface/Makefile.in: Add multilib handling for
307 2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
309 * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
310 to that of ptr_mode instead of word_mode.
312 2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
315 * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
317 2008-09-25 Samuel Tardieu <sam@rfc1149.net>
320 * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
321 instead of deprecated FILE_WRITE_PROPERTIES.
323 2008-09-22 Olivier Hainque <hainque@adacore.com>
325 * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
326 are never assigned, volatile entities are not constant for code
329 2008-09-21 Laurent Guerby <laurent@guerby.net>
332 * gcc-interface/Makefile.in: Add multilib handling for x86_64
334 * system-linux-sparcv9.ads: New file.
336 2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
338 * exp_dbug.ads: Document new convention for the XVZ variable.
339 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
340 debug info if necessary for the type padding the component type.
341 <E_Array_Subtype>: Likewise.
342 (maybe_pad_type): Emit the XVZ variable in units.
343 * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
344 (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
345 on statements generated to initialize the parameter attributes cache.
346 Set the source line of the end label of the body on the special return
347 statement built for a procedure with copy-in copy-out parameters.
349 2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
352 * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
353 inlined external functions if they contain a nested function not
356 2008-09-18 Jan Hubicka <jh@suse.cz>
358 * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
359 (end_subprog_body): Do not set DECL_INLINE.
361 2008-09-17 Pascal Rigaux <pixel@mandriva.com>
364 * gnat_ugn.texi: Use proper format in direntry.
366 2008-09-15 Eric Botcazou <ebotcazou@adacore.com>
368 * gcc-interface/trans.c (gigi): Declare the name of the compilation
369 unit as the first global name.
371 2008-09-14 Jan Hubicka <jh@suse.cz>
373 * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
375 2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
377 * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
378 bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
379 exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
380 exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
381 exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
382 g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
383 gcc-interface/gigi.h, gcc-interface/trans.c,
384 lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
385 opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
386 s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
387 s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
388 sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
389 sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
390 sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
391 sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
393 * gnathtml.pl: Fix typos.
395 2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
397 * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
398 * s-osinte-rtems.ads: Add shared hardware interrupt adapter
399 layer. RTEMS binds to OS provided adapter routines so there are
400 no modifications to s-osinte-rtems.adb.
402 2008-09-09 Arnaud Charlet <charlet@adacore.com>
403 Joel Sherrill <joel.sherrill@oarcorp.com>
405 * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
407 * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
409 * s-interr-hwint.adb: New file.
411 * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
412 needed by s-interr-hwint.adb.
414 * s-osinte-vxworks-kernel.adb: New file.
416 2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
418 * s-stchop-rtems.adb: Add file missed in early commit. Already
419 referenced in gcc-interface/Makefile.in.
421 2008-08-30 Thomas Quinot <quinot@adacore.com>
423 * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
424 be built even without a separate libada directory.
426 2008-08-22 Arnaud Charlet <charlet@adacore.com>
428 * lib-xref.ads: Fix typo in subprogram reference definition.
430 2008-08-22 Robert Dewar <dewar@adacore.com>
432 * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
435 * g-trasym.adb: Ditto
437 * s-utf_32.adb (Get_Category): Fix obvious typo
439 * s-wwdcha.adb: Minor code reorganization
442 2008-08-22 Robert Dewar <dewar@adacore.com>
444 * checks.adb (Determine_Range): Deal with values that might be invalid
446 * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
447 configuration switches.
449 * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
451 * sem_prag.adb: Implement pragma Assume_No_Default_Values
453 * snames.adb, snames.ads, snames.h:
454 Add entries for pragma Assume_No_Invalid_Values
456 * switch-c.adb: Add processing for -gnatB switch
458 * usage.adb: Add entry for flag -gnatB (no bad invalid values)
460 2008-08-22 Javier Miranda <miranda@adacore.com>
462 * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
463 init procedure all the expanded code associated with the spec of
464 task types and protected types.
466 2008-08-22 Gary Dismukes <dismukes@adacore.com>
468 * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
469 component expression copies rather than directly setting Etype and
470 Is_Static_Expression.
472 2008-08-22 Gary Dismukes <dismukes@adacore.com>
474 * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
475 private types to allow for types derived from a private type with
476 preelaborable initialization, but return False for a private extension
477 (unless it has the pragma).
479 2008-08-22 Robert Dewar <dewar@adacore.com>
481 * opt.ads: Minor code reorganization (put entries in alpha order)
483 2008-08-22 Pascal Obry <obry@adacore.com>
485 * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
488 2008-08-22 Geert Bosch <bosch@adacore.com>
490 * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
491 (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
493 2008-08-22 Doug Rupp <rupp@adacore.com>
495 * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
499 (__gnat_set_features): New function.
500 (__gnat_features_set): New tracking variable.
501 (__gl_no_malloc_64): New feature global variable
503 2008-08-22 Ed Schonberg <schonberg@adacore.com>
505 * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
506 use_type_clause in an instance.
508 2008-08-22 Bob Duff <duff@adacore.com>
510 * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
512 2008-08-22 Robert Dewar <dewar@adacore.com>
514 * exp_ch6.adb: Minor reformatting
516 * exp_ch7.adb: Minor reformatting
518 * exp_ch7.ads: Put routines in proper alpha order
520 * exp_dist.adb: Minor reformatting
522 2008-08-22 Vincent Celier <celier@adacore.com>
524 * prj.ads: Minor comment update
526 2008-08-22 Robert Dewar <dewar@adacore.com>
528 * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
530 2008-08-22 Ed Schonberg <schonberg@adacore.com>
533 (Base_Init_Proc): For a protected subtype, use the base type of the
534 corresponding record to locate the propoer initialization procedure.
536 2008-08-22 Robert Dewar <dewar@adacore.com>
539 (In_Subrange_Of): New calling sequence
540 (Determine_Range): Prepare for new processing using base type
543 (Compile_Time_Compare): Use new calling sequence
546 (Compile_Time_Compare): Use new calling sequence
549 (Compile_Time_Compare): New calling sequence allows dealing with
551 (In_Subrange_Of): Ditto
554 (Compile_Time_Compare): New calling sequence allows dealing with
556 (In_Subrange_Of): Ditto
558 2008-08-22 Pascal Obry <obry@adacore.com>
560 * adaint.c: Fix possible race condition on win32_wait().
562 2008-08-22 Bob Duff <duff@adacore.com>
564 * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
565 exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
566 exp_intr.adb, exp_ch3.adb: Rename:
567 Exp_Ch7.Controlled_Type => Needs_Finalization
568 Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
569 Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
571 (Has_Some_Controlled_Component): Fix bug in array case.
573 2008-08-22 Robert Dewar <dewar@adacore.com>
575 * sem_ch8.adb: Minor reformatting
577 2008-08-22 Kevin Pouget <pouget@adacore.com>
579 * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
580 Shared_Var_Close procedure specifications from package spec to package body.
582 * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
583 RE_Shared_Var_WOpen entries.
585 * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
586 Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
588 2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
590 * init.c: adjust EH support code on Alpha/Tru64 as well.
592 * raise-gcc.c: Add back a couple of comments.
594 2008-08-22 Ed Schonberg <schonberg@adacore.com>
596 * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
597 involved and the return type is class-wide, use the type of the expression
598 for the generated access type. Suppress useless discriminant checks on the
601 2008-08-22 Bob Duff <duff@adacore.com>
603 * exp_ch7.adb: Minor comment fix
605 * exp_ch6.ads: Minor comment fix
607 2008-08-22 Thomas Quinot <quinot@adacore.com>
609 * sem_ch8.adb: Minor reformatting
610 Minor code reorganization (introduce subprogram to factor duplicated
613 2008-08-22 Sergey Rybin <rybin@adacore.com>
615 * gnat_ugn.texi: Change the description of gnatcheck default rule
618 2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
620 * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
621 Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
622 do not adjust the PC anymore.
623 (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
624 on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
626 * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
627 instead of _Unwind_GetIP.
629 2008-08-22 Gary Dismukes <dismukes@adacore.com>
631 * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
632 with a range is transformed into a positional aggregate, any copied
633 component literals should be marked Is_Static_Expression.
635 * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
636 not being known at at compile time when Configurable_Run_Time_Mode is
639 2008-08-22 Robert Dewar <dewar@adacore.com>
642 (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
643 Read or Input attribute.
645 2008-08-22 Ed Schonberg <schonberg@adacore.com>
647 * sem_ch8.adb (Use_One_Type): when checking which of two use_type
648 clauses in related units is redundant, if one of the units is a package
649 instantiation, use its instance_spec to determine which unit is the
650 ancestor of the other.
652 2008-08-22 Javier Miranda <miranda@adacore.com>
654 * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
655 attributes add missing support to handle designated types that come
656 from the limited view.
658 * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
660 2008-08-22 Sergey Rybin <rybin@adacore.com>
662 * vms_data.ads: Add entry for new gnatcheck -mNNN option
664 * gnat_ugn.texi: Add description for gnatcheck option '-m'
666 2008-08-22 Sergey Rybin <rybin@adacore.com>
668 * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
669 acoording to the latest changes in the metric rule interface
671 2008-08-22 Vincent Celier <celier@adacore.com>
673 * make.adb (Check.File_Not_A_Source_Of): New Boolean function
674 (Check): Check if the file names registered in the ALI file for the
675 spec, the body and each of the subunits are the ones expected.
677 2008-08-22 Robert Dewar <dewar@adacore.com>
679 * g-catiio.adb: Code cleanup.
681 2008-08-20 Vincent Celier <celier@adacore.com>
683 * make.adb (Gnatmake): Remove extra space in version line
686 (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
687 as the name may already have been entered in the table by the Project
690 2008-08-20 Jose Ruiz <ruiz@adacore.com>
692 * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
693 weak symbols so we use the version provided by MaRTE when available.
695 2008-08-20 Emmanuel Briot <briot@adacore.com>
697 * g-catiio.ads, g-catiio.adb:
698 (Value): Avoid an unnecessary system call to Clock in most cases.
699 This call is only needed when only the time is provided in the string,
700 and ignored in all other cases. This is more efficient.
702 2008-08-20 Eric Botcazou <ebotcazou@adacore.com>
704 * raise-gcc.c: Fix formatting nits.
706 2008-08-20 Robert Dewar <dewar@adacore.com>
709 (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
710 non-existing component clause.
712 * exp_ch5.adb: Minor reformatting
714 * g-comlin.adb: Minor reformatting
716 * make.adb: Minor reformatting
718 * prj-proc.adb: Minor reformatting
720 * stylesw.ads: Minor reformatting
722 2008-08-20 Vincent Celier <celier@adacore.com>
724 * make.adb (Gnatmake_Switch_Found): New Boolean global variable
725 (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
726 (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
727 defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
728 and a switch is not recognized by gnatmake.
729 (Gnatmake): Implement new scheme for gnatmake switches and global
730 compilation switches.
731 (Switches_Of): Try successively Switches (<file name>),
732 Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
734 2008-08-20 Ed Schonberg <schonberg@adacore.com>
736 * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
737 implement style check that overriding operations are explicitly marked
740 * style.ads (Missing_Overriding): new procedure that provides interface
743 * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
744 that the declaration or body of overriding operations carries an
745 explicit overriding indicator.
748 (Analyze_Subprogram_Renaming): if operation is overriding, check whether
749 explicit indicator should be present.
751 * sem_ch6.adb (Verify_Overriding_Indicator,
752 Check_Overriding_Indicator): If operation is overriding, check whether
753 declaration and/or body of subprogram should be present
755 2008-08-20 Vincent Celier <celier@adacore.com>
757 * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
758 gprbuild when casing is MixedCase, whatever the casing of the letters
761 2008-08-20 Gary Dismukes <dismukes@adacore.com>
763 * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
764 creating dummy init proc.
765 (Requires_Init_Proc): Return False in the case No_Default_Initialization
766 is in force and the type does not have associated default
767 initialization. Move test of Is_Public (with tests of restrictions
768 No_Initialize_Scalars and No_Default_Initialization) to end, past tests
769 for default initialization.
771 2008-08-20 Jerome Lambourg <lambourg@adacore.com>
773 * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
774 of any alias or prefix but having attached parameters (as \"-O2\").
776 2008-08-20 Robert Dewar <dewar@adacore.com>
778 * s-fileio.adb: Minor reformatting
780 2008-08-20 Thomas Quinot <quinot@adacore.com>
782 * exp_strm.adb (Build_Elementary_Input_Call,
783 Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
784 selects the stream attribute routines for long float types.
786 2008-08-20 Vincent Celier <celier@adacore.com>
788 * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
790 * prj.ads (Array_Data): Add a component Location
792 2008-08-20 Ed Schonberg <schonberg@adacore.com>
795 (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
796 argument for ASIS and navigation use.
798 2008-08-20 Ed Schonberg <schonberg@adacore.com>
800 * einfo.ads: Add comment.
802 2008-08-20 Bob Duff <duff@adacore.com>
804 * sem_eval.ads: Minor comment fix.
806 2008-08-20 Bob Duff <duff@adacore.com>
808 * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
809 folding. We were folding things like "False and then ...", but not
810 "X and then ..." where X is a constant whose value is known at compile
813 2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
815 * exp_ch5.adb (Controlled_Type): New routine.
816 (Expand_N_Extended_Return_Statement): When generating a move of the
817 final list in extended return statements, check the type of the
818 function and in the case of double expanded return statements, the type
819 of the returned object.
820 (Expand_Simple_Function_Return): Perform an interface conversion when
821 the type of the returned object is an interface and the context is an
822 extended return statement.
824 2008-08-20 Ed Schonberg <schonberg@adacore.com>
826 * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
827 and the full view is visible, set flag on full view as well.
829 2008-08-20 Thomas Quinot <quinot@adacore.com>
831 * g-comlin.adb: Minor reformatting
832 Minor code reorganization.
834 * freeze.adb: Minor reformatting
836 2008-08-20 Vincent Celier <celier@adacore.com>
838 * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
839 source of another project.
841 2008-08-20 Pascal Obry <obry@adacore.com>
843 * s-os_lib.ads: Minor reformatting.
845 2008-08-20 Arnaud Charlet <charlet@adacore.com>
847 * gnatvsn.ads: Minor reformatting.
849 2008-08-20 Arnaud Charlet <charlet@adacore.com>
851 * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
852 system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
853 g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
854 mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
855 exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
856 g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
857 s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
858 sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
859 s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
860 g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
861 g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
862 g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
863 live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
864 g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
865 s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
866 g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
867 s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
868 g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
869 osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
870 system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
871 i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
872 s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
873 a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
874 s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
875 a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
876 g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
877 a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
878 a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
879 lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
880 s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
881 par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
882 a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
883 system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
884 s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
885 a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
886 mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
887 s-poosiz.adb, link.c: Fix copyright notice.
889 2008-08-20 Arnaud Charlet <charlet@adacore.com>
891 * g-comlin.ads: Update comments.
893 2008-08-20 Ed Schonberg <schonberg@adacore.com>
895 * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
897 2008-08-20 Gary Dismukes <dismukes@adacore.com>
900 (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
901 Make_Implicit_Exception_Handler when rewriting an exception handler with
902 a choice parameter, and pass the handler's Sloc instead of that of the
903 handled sequence of statements. Make_Implicit_Exception_Handler sets the
904 Sloc to No_Location (unless debugging generated code), which we don't
905 want for the case of a user handler.
907 2008-08-20 Robert Dewar <dewar@adacore.com>
909 * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
912 (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
913 now labeled as info msgs, not warnings.
915 * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
917 * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
919 * a-textio.adb: Remove redundant test.
921 * a-witeio.adb: Minor code reorganization
922 Remove redundant test found working on another issue
924 * a-ztexio.adb: Minor code reorganization
925 Remove redundant test found working on another issue
927 2008-08-20 Thomas Quinot <quinot@adacore.com>
929 * s-fileio.adb (Open) Use C helper function to determine whether a
930 given errno value corresponds to a "file not found" error.
932 * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
934 2008-08-20 Jose Ruiz <ruiz@adacore.com>
936 * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
937 to get access to the per-task errno variable.
938 (__set_errno for MaRTE): Do not redefine this function here since it is
939 already defined in MaRTE.
941 2008-08-20 Tristan Gingold <gingold@adacore.com>
943 * gnat_ugn.texi: Gcov is not supported on static library on AIX.
945 2008-08-20 Robert Dewar <dewar@adacore.com>
947 * freeze.adb: Minor reformatting
949 * g-comlin.adb: Minor reformatting
951 * g-socket.adb: Minor reformatting
953 * g-socthi-mingw.adb: Minor reformatting
955 * g-stheme.adb: Minor reformatting
957 2008-08-20 Ed Schonberg <schonberg@adacore.com>
959 * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
960 exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
961 confusion between partial and full views of an ancestor of the context
962 type when the parent is a private extension declared in a parent unit,
963 and full views are available for the context type.
965 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
966 Robert Dewar <dewar@adacore.com>
969 * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
971 Move comment in the right place.
972 * g-comver.adb (Version): Look for a zero-termination in
973 addition to a closing parenthesis.
975 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
977 * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
978 * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
979 * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
980 Is_Package_Or_Generic_Package instead of hand-crafted tests.
982 2008-08-18 Samuel Tardieu <sam@rfc1149.net>
985 * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
988 2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
990 * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
992 2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
994 * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
995 for back-copy statements in lieu of that of the actual.
997 2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
1000 * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
1001 setjmp test consistently. Adjust for new behavior of flag_stack_check.
1002 * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
1003 test of flag_stack_check. Adjust for new behavior of flag_stack_check.
1005 2008-08-13 Samuel Tardieu <sam@rfc1149.net>
1008 * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
1009 * sem_attr.adb (Check_Type): The current instance of a protected
1010 object is not a type name.
1011 (Analyze_Access_Attribute): Accept instances of protected objects.
1012 (Analyze_Attribute, Attribute_Address clause): Ditto.
1013 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
1014 the prefix as being the current instance if needed.
1016 2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
1018 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
1019 Remove duplicate s-win32.o. Add s-winext.o.
1021 2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
1023 * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
1024 with SOSC.SOCK__STREAM.
1025 * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
1028 2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
1030 * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
1031 * gsocket.h, socket.c: Update to support RTEMS.
1032 * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
1034 2008-08-10 Samuel Tardieu <sam@rfc1149.net>
1035 Robert Dewar <dewar@adacore.com>
1037 * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
1038 left argument even when right argument is 0.
1039 (Expand_N_Op_Mod): Ditto when right argument is 1.
1040 (Expand_N_Op_Multiply): Ditto when any argument is 0.
1041 (Expand_N_Op_Rem): Ditto when right argument is 1.
1043 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1045 * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
1048 2008-08-08 Ed Schonberg <schonberg@adacore.com>
1050 * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
1051 from Freeze_Entity. Used to generate cross-reference information for
1052 types declared in generic packages.
1054 2008-08-08 Thomas Quinot <quinot@adacore.com>
1056 * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
1059 2008-08-08 Thomas Quinot <quinot@adacore.com>
1062 On Windows, include <errno.h> and redefine only selected errno values
1063 from their <winsock2.h> definitions.
1065 * s-osinte-freebsd.ads: Minor reformatting
1067 * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
1069 * g-soccon.ads: New file.
1071 * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
1072 g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
1073 g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
1074 g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
1075 unit, to allow building software that depends on this internal unit
1076 with both older and newer compilers.
1078 2008-08-08 Robert Dewar <dewar@adacore.com>
1080 * s-strxdr.adb: Minor reformatting
1082 2008-08-08 Bob Duff <duff@adacore.com>
1084 * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
1085 checking for integer operations (including division by zero)", which
1086 is wrong -- divide by zero is not part of overflow checking.
1087 Also added misc clarification about what check-suppression means.
1089 * gnat_rm.texi: Clarify the meaning of pragma Suppress.
1091 2008-08-08 Jerome Lambourg <lambourg@adacore.com>
1093 * g-comlin.adb (Add_Switch): Handle addition of switches at the
1094 begining of the command line.
1095 (Append, Add): Renaming of Append to Add as this now allows addition
1096 at the begining of the list.
1098 * g-comlin.ads (Add_Switch): Handle addition of switches at the
1099 begining of the command line.
1101 2008-08-08 Thomas Quinot <quinot@adacore.com>
1104 (Name): Document application scope (only legacy PC serial ports on
1107 2008-08-08 Thomas Quinot <quinot@adacore.com>
1109 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
1110 previous change, not needed after all.
1112 2008-08-08 Ed Schonberg <schonberg@adacore.com>
1114 * exp_ch4.adb (Expand_Allocator_Expression): add check if null
1115 exclusion indicator is present
1117 2008-08-08 Robert Dewar <dewar@adacore.com>
1119 * g-comlin.adb: Minor code reorganization
1122 * g-comlin.ads: Minor reformatting
1124 * s-fileio.adb: Minor reformatting
1126 * sem_attr.adb: Minor code reorganization (use Nkind_In)
1129 2008-08-06 Samuel Tardieu <sam@rfc1149.net>
1131 * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
1132 with s-oscons-tmplt.i.
1134 2008-08-06 Samuel Tardieu <sam@rfc1149.net>
1136 * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
1138 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1140 * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
1143 * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
1144 of a formal parameter of an incomplete type. Improve error message for
1145 other improper uses of incomplete types.
1147 2008-08-06 Robert Dewar <dewar@adacore.com>
1149 * gnat_ugn.texi: Clarify -gnato documentation
1151 2008-08-06 Thomas Quinot <quinot@adacore.com>
1153 * gcc-interface/Makefile.in,
1154 g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
1155 g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
1156 g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
1157 g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
1158 g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
1159 g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
1160 g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
1161 g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
1162 g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
1163 Remove GNAT.Sockets.Constants. This internal package is replaced by
1164 System.OS_Constants.
1166 2008-08-06 Thomas Quinot <quinot@adacore.com>
1168 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
1169 Remove obsolete targets referencing gen-soccon
1170 When generating s-oscons.ads, use a file name that includes the
1171 THREAD_KIND, to ensure that the (potentially different) version from a
1172 previous build with a different threads flavour does not get reused.
1174 2008-08-06 Thomas Quinot <quinot@adacore.com>
1176 * sem_res.adb: Minor reformatting
1178 * s-fileio.adb (Open): When file open operation fails, raise Name_Error
1179 only when the operating system reports a non-existing file or directory
1180 (ENOENT), otherwise raise Name_Error.
1182 * exp_ch11.adb: Minor reformatting
1184 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1186 * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
1187 incomplete, add the access_to_subprogram type to the list of private
1188 dependents only if the incomplete type will be completed in the current
1190 (Build_Discriminant_Constraints): If the type of the discriminant is
1191 access_to_variable, reject a constraint that is access_to_constant.
1193 2008-08-06 Thomas Quinot <quinot@adacore.com>
1195 * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
1196 g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
1197 g-sttsne-dummy.ads: New files.
1199 * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
1200 with pragma Unimplemented_Unit for sockets packages on Nucleus.
1202 2008-08-06 Pascal Obry <obry@adacore.com>
1204 * adaint.c: Another fix for ACL support on Windows.
1206 2008-08-06 Javier Miranda <miranda@adacore.com>
1208 * exp_disp (Expand_Interface_Actuals): Adds missing support for
1209 expansion of calls to subprograms using selected components.
1211 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1213 * sem_res.adb (Resolve_Call): Use base type to determine whether a
1214 dereference is needed because a subtype of an access_to_subprogram is
1215 simply an access-subtype
1217 2008-08-06 Jerome Lambourg <lambourg@adacore.com>
1219 * g-comlin.adb (Set_Command_Line): Now that aliases can contain
1220 parameters, always specify the expected separator.
1222 2008-08-06 Thomas Quinot <quinot@adacore.com>
1224 * xnmake.adb: Use new XUtil package for platform independent text
1227 2008-08-06 Vincent Celier <celier@adacore.com>
1229 * gnat_ugn.texi: Document compiler switch -gnateG
1231 2008-08-06 Quentin Ochem <ochem@adacore.com>
1233 * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
1234 in the case of an empty pattern size.
1235 (Compute_Result): Do not do any computation in the case of an empty
1237 (Report_Result): Fixed computation of the overflow guard.
1239 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1241 * g-awk.adb (Finalize): Do not use directly objects of the type in the
1242 finalization routine to prevent elaboration order anomalies in new
1243 finalization scheme.
1245 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1247 * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
1248 declaration for the same type.
1250 2008-08-06 Thomas Quinot <quinot@adacore.com>
1252 * sem.adb: Minor rewording (comment)
1254 2008-08-06 Jerome Lambourg <lambourg@adacore.com>
1256 * g-comlin.adb (Define_Switch, Get_Switches): New.
1257 (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
1258 ungrouping switches.
1259 (For_Each_Simple_Switch): Allow more control over parameters handling.
1260 This generic method now allows ungrouping of switches with parameters
1261 and switches with more than one letter after the prefix.
1262 (Set_Command_Line): Take care of switches that are prefixed with a
1263 switch handling parameters without delimiter (-gnatya and -gnaty3 for
1265 (Add_Switch, Remove_Switch): Handle parameters possibly present inside
1266 a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
1268 (Start, Alias_Switches, Group_Switches): Take care of parameters
1269 possibly present inside a group.
1271 * g-comlin.ads (Define_Switch): New method used to define a list of
1272 expected switches, that are necessary for correctly ungrouping switches
1273 with more that one character after the prefix.
1274 (Get_Switches): Method that builds a getopt string from the list of
1275 switches as set previously by Define_Switch.
1276 (Add_Switch, Remove_Switch): New versions of the methods, reporting the
1277 status of the operation. Also allow the removal of switches with
1279 (Command_Line_Configuration_Record): Maintain a list of expected
1282 2008-08-06 Doug Rupp <rupp@adacore.com>
1284 * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
1285 TARGET_MALLOC64 clear.
1287 * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
1288 if TARGET_MALLOC64 clear.
1290 * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
1291 (TARGET_MALLC64): New macro. Default to clear.
1293 2008-08-06 Doug Rupp <rupp@adacore.com>
1295 * gcc-interface/utils2.c (snames.h) Include
1296 (TARGET_ABI_OPEN_VMS): Initialize.
1297 (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
1300 2008-08-06 Ed Schonberg <schonberg@adacore.com>
1302 * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
1303 null exclusion in a discriminant declaration
1305 * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
1306 indicators when type is not an access type.
1308 * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
1309 indicators when type is not an access type.
1311 2008-08-06 Javier Miranda <miranda@adacore.com>
1313 * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
1314 with the target interface before expanding the code of the interface
1317 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1320 (Freeze_Entity): A deferred constant does not violate the restriction
1321 No_Default_Initialization,
1323 * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
1324 can carry a null exclusion indicator, and on which an error may be
1325 posted if the indicator is redundant.
1327 * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
1328 does not apply to a subtype mark that already excludes null.
1330 * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
1331 exclusion does not apply to a subtype mark that already excludes null.
1333 2008-08-05 Thomas Quinot <quinot@adacore.com>
1335 * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
1337 2008-08-05 Doug Rupp <rupp@adacore.com>
1339 * vms_data.ads: Translation for /POINTER_SIZE qualifier.
1341 2008-08-05 Thomas Quinot <quinot@adacore.com>
1343 * gsocket.h: Make this file includable in a Nucleus environment, which
1344 does not support sockets.
1346 * socket.c: Remove Nucleus-specific hack.
1348 2008-08-05 Pascal Obry <obry@adacore.com>
1350 * adaint.c: Remove support for readable attribute on vxworks and nucleus
1352 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1355 (Analyze_Attribute, case 'Result): handle properly the case where some
1356 operand of the expression in a post-condition generates a transient
1359 * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
1360 right-hand side when it is an anonymous access_to_subprogram, to force
1361 static accessibility check when needed.
1363 2008-08-05 Sergey Rybin <rybin@adacore.com>
1365 * gnat_ugn.texi: Changing the description of the gnatcheck metrics
1366 rule according to the change in the rule option.
1367 Add documentation for -gnatw.b/-gnatw.B
1369 2008-08-05 Robert Dewar <dewar@adacore.com>
1371 * ug_words: Add entries for -gnatw.b/-gnatw.B
1373 * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
1375 2008-08-05 Vincent Celier <celier@adacore.com>
1377 * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
1380 * a-ztdeio.adb: Ditto.
1382 2008-08-05 Pascal Obry <obry@adacore.com>
1384 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
1387 2008-08-05 Vincent Celier <celier@adacore.com>
1390 (Wide_String_To_String): Returns a String with the same 'First as its
1392 (Wide_Wide_String_To_String): Ditto
1395 (Wide_String_To_String): Document that the lowest index of the returned
1396 String is equal to S'First.
1398 2008-08-05 Thomas Quinot <quinot@adacore.com>
1400 * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
1402 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
1405 2008-08-05 Robert Dewar <dewar@adacore.com>
1407 * opt.ads (Warn_On_Biased_Representation): New flag
1410 (Analyze_Attribute_Definition_Clause): Issue warning when biased
1411 representation is required.
1412 (Minimum_Size): Don't allow biasing if enum rep clause case
1415 (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
1416 (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
1418 * usage.adb: Add lines for -gnatw.b/B switches
1420 2008-08-05 Pascal Obry <obry@adacore.com>
1422 * a-coinve.adb: Reorder the code to avoid uninitialized warning.
1424 * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
1426 2008-08-05 Thomas Quinot <quinot@adacore.com>
1428 * socket.c: Minor reformatting.
1430 2008-08-05 Robert Dewar <dewar@adacore.com>
1432 * sem_ch3.adb: Minor reformatting
1434 * prj-nmsc.adb: Minor reformatting
1436 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1438 * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
1439 visibility check on the component type if the simple test fails.
1441 2008-08-05 Jose Ruiz <ruiz@adacore.com>
1443 * init.c (__gnat_install_handler for linux): If we are building the
1444 Xenomai run time then we need to do two additional things: avoid
1445 memory swapping and transform the Linux environment task into a native
1448 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
1449 time): Use interface to Xenomai native skin and avoid linux-specific
1450 way of setting CPU affinity.
1451 (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
1453 2008-08-05 Bob Duff <duff@adacore.com>
1455 * checks.ads: Minor comment fix
1457 2008-08-05 Thomas Quinot <quinot@adacore.com>
1459 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
1460 g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
1463 2008-08-05 Robert Dewar <dewar@adacore.com>
1465 * mlib.adb: Minor code reorganization
1468 * make.adb: Minor reformatting
1470 * prj-attr.ads: Minor reformatting
1472 * s-os_lib.adb: Minor reformatting
1474 * s-fileio.adb: Minor code reorganization
1477 * prj.ads: Minor reformatting
1479 2008-08-05 Bob Duff <duff@adacore.com>
1481 * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
1482 unresolved initial value of "null", because it causes implicitly
1483 generated "=" operators to be ambiguous, and because this type should
1484 not be passed to gigi.
1486 2008-08-05 Vincent Celier <celier@adacore.com>
1488 * mlib.adb: Update comments.
1490 * make.adb (Switches_Of): Check for Switches (others), before checking
1491 for Default_Switches ("Ada").
1492 (Gnatmake): Use Builder'Switches (others) in preference to
1493 Builder'Default_Switches ("Ada") if there are several mains.
1496 (Add_Attribute): Add component Others_Allowed in Attribute_Record
1500 Add markers to indicates that attributes Switches allow others as index
1501 (Others_Allowed_For): New Boolean function, returning True for
1502 attributes with the mark.
1503 (Initialize): Recognize optional letter 'O' as the marker for
1504 associative array attributes where others is allowed as the index.
1507 (Others_Allowed_For): New Boolean function
1508 (Attribute_Record): New Boolean component Others_Allowed
1511 (Parse_Attribute_Declaration): For associative array attribute where
1512 others is allowed as the index, allow others as an index.
1515 (Process_Binder): Skip associative array attributes with index others
1516 (Process_Compiler): Ditto
1519 (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
1520 index is All_Other_Names.
1523 (All_Other_Names): New constant
1526 (Process_Declarative_Items): Skip associative array attribute when index
1527 is reserved word "others".
1529 2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
1531 * gen-oscons.c: Adapt for VMS where termios.h is not available.
1533 2008-08-05 Thomas Quinot <quinot@adacore.com>
1535 * a-rttiev.adb: Minor reformatting (comments)
1537 * gen-soccon.c: Rename to gen-oscons.c
1539 * gen-oscons.c: New file. Now generate System.OS_Constants instead of
1540 GNAT.Sockets.Constants.
1541 Add new constants for GNAT.Serial_Communications and System.File_IO.
1543 2008-08-05 Javier Miranda <miranda@adacore.com>
1545 * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
1546 * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
1547 implementation of this routine has been simplified.
1549 2008-08-05 Pascal Obry <obry@adacore.com>
1551 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
1552 Set_Read_Only Win32 implementation.
1554 2008-08-05 Thomas Quinot <quinot@adacore.com>
1556 * exp_strm.adb: Minor reformatting (comments)
1558 * sem_ch12.adb: Minor reformatting.
1560 2008-08-05 Robert Dewar <dewar@adacore.com>
1562 * sem_ch3.adb: Minor reformatting
1564 * checks.adb: Minor reformatting
1566 2008-08-05 Thomas Quinot <quinot@adacore.com>
1568 * tbuild.ads (New_External_Name): Update spec to reflect relaxed
1569 restriction on Prefix.
1571 2008-08-05 Jerome Lambourg <lambourg@adacore.com>
1573 * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
1574 methods needed to handle switch sections when building a command line.
1575 (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
1576 Current_Section): New public methods or methods modified to handle
1577 building command lines with sections.
1578 (Set_Command_Line): Take into account sections when analysing a switch
1580 (Start): Sort the switches by sections before iterating the command line
1583 * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
1584 Is_New_Section, Current_Section): New methods or methods modified to
1585 handle building command lines with sections.
1587 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1589 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
1590 discriminants, indicate that the corresponding object declaration has
1591 no initialization, to prevent spurious warnings when the access type is
1594 2008-08-05 Ed Schonberg <schonberg@adacore.com>
1596 * sem_res.adb (Resolve_Call): If this is a call to the predefined
1597 Abort_Task, warn if the call appears within a protected operation.
1599 2008-08-04 Robert Dewar <dewar@adacore.com>
1601 * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
1603 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1606 (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
1607 anonymous access to protected subprogram that is the return type of the
1608 specification of a subprogram body.
1611 (Analyze_Subprogram_Body): if the return type is an anonymous access to
1612 subprogram, freeze it now to prevent access anomalies in the back-end.
1614 * exp_ch9.adb: Minor code cleanup.
1615 Make sure that new declarations are inserted into the tree before
1616 analysis (from code reading).
1618 2008-08-04 Robert Dewar <dewar@adacore.com>
1621 (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
1624 2008-08-04 Thomas Quinot <quinot@adacore.com>
1626 * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
1628 2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
1630 * g-soccon-mingw.ads: Fix value for MSG_WAITALL
1632 2008-08-04 Javier Miranda <miranda@adacore.com>
1634 * sem_prag.adb (Process_Convention): Add missing support for
1635 N_Private_Extension_Declaration nodes.
1637 2008-08-04 Robert Dewar <dewar@adacore.com>
1639 * exp_ch4.adb: Minor reformatting
1641 2008-08-04 Pascal Obry <obry@adacore.com>
1643 * adaint.h: Add missing prototype.
1645 * adaint.c: Refine support for Windows file attributes.
1647 2008-08-04 Robert Dewar <dewar@adacore.com>
1650 (Valid_Conversion): Catch case of designated types having different
1651 sizes, even though they statically match.
1653 2008-08-04 Javier Miranda <miranda@adacore.com>
1655 * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
1656 added in previous patch to handle access to subprograms.
1658 2008-08-04 Robert Dewar <dewar@adacore.com>
1661 (Freeze_Entity): Only check No_Default_Initialization restriction for
1662 constructs that come from source
1664 2008-08-04 Thomas Quinot <quinot@adacore.com>
1666 * exp_ch6.adb: Minor comment fix.
1668 * sem_ch4.adb: Minor reformatting.
1670 2008-08-04 Robert Dewar <dewar@adacore.com>
1672 * sem_res.adb: (Large_Storage_Type): Improve previous change.
1674 2008-08-04 Pascal Obry <obry@adacore.com>
1676 * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
1679 2008-08-04 Javier Miranda <miranda@adacore.com>
1681 * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
1682 for N_Formal_Object_Declaration nodes. Adding kludge required by
1683 First_Formal to provide its functionality with access to functions.
1684 (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
1685 for anonymous access types returned by functions.
1687 * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
1688 conversion of null-excluding access types (required only once to force
1689 the generation of the required runtime check).
1691 * sem_type.adb (Covers): minor reformating
1693 * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
1694 with internally generated nodes. Avoid generating the error inside init
1697 * sem_res.adb (Resolve_Membership_Test): Minor reformating.
1698 (Resolve_Null): Generate the null-excluding check in case of assignment
1699 to a null-excluding object.
1700 (Valid_Conversion): Add missing support for anonymous access to
1703 * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
1704 anonymous access types whose designated type is an itype. This case
1705 occurs with anonymous access to protected subprograms types.
1706 (Analyze_Return_Type): Add missing support for anonymous access to
1707 protected subprogram.
1709 * sem_eval.adb (Subtypes_Statically_Match): In case of access to
1710 subprograms addition of missing check on matching convention. Required
1711 to properly handle access to protected subprogram types.
1713 * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
1714 null excluding access types.
1716 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1718 * sem_ch12.adb: Add comments
1720 * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
1721 access type and the allocator is not initialized, warn rather than
1724 2008-08-04 Robert Dewar <dewar@adacore.com>
1726 * exp_ch4.adb: Minor reformatting
1728 * exp_dist.adb: Minor reformatting
1730 * g-comlin.adb: Minor reformatting
1732 2008-08-04 Gary Dismukes <dismukes@adacore.com>
1734 * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
1735 target to the type of the aggregate in the case where the target object
1738 * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
1739 result type is class-wide and inherently limited, and the expression
1740 has a specific type, create a return object of the specific type, for
1741 more efficient handling of returns of build-in-place aggregates (avoids
1742 conversions of the class-wide return object to the specific type on
1743 component assignments).
1745 * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
1746 about a type mismatch for a class-wide function with a return object
1747 having a specific type when the object declaration doesn't come from
1748 source. Such an object can result from the expansion of a simple return.
1750 2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
1752 * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
1754 * gcc-interface/Makefile.in: Use 64bit-specific system files when
1755 compiling for 64bit windows.
1757 2008-08-04 Jerome Lambourg <lambourg@adacore.com>
1759 * g-comlin.adb (Group_Switches): Preserve the switch order when
1760 grouping and allow switch grouping of switches with more than one
1761 character extension (e.g. gnatw.x).
1762 (Args_From_Expanded): Remove this now obsolete method.
1764 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1766 * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
1767 chain at once, to ensure that type is properly decorated for back-end,
1768 when allocator appears within a loop.
1770 2008-08-04 Kevin Pouget <pouget@adacore.com>
1772 * snames.h, snames.adb, snames.ads:
1773 Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
1775 * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
1776 Build_To_Any_Call and Build_TypeCode_Call procedures.
1778 * exp_attr.adb, sem_attr.adb: Add corresponding cases.
1780 * rtsfind.ads: Add corresponding names.
1782 * tbuild.adb: Update prefix restrictions to allow '_' character.
1784 2008-08-04 Doug Rupp <rupp@adacore.com>
1786 * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
1787 * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
1788 * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
1789 use it. Calculate pointer range overflow using 64bit types.
1791 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1793 * sem_ch3.adb (Access_Definition): A formal object declaration is a
1794 legal context for an anonymous access to subprogram.
1796 * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
1797 indirect call, report success to the caller to include possible
1800 * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
1802 of the extended return is an anonymous access_to_subprogram type.
1805 (Resolve_Call): Insert a dereference if the type of the subprogram is an
1806 access_to_subprogram and the context requires its return type, and a
1807 dereference has not been introduced previously.
1809 2008-08-04 Arnaud Charlet <charlet@adacore.com>
1811 * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
1812 gnatcheck support in GPS.
1814 2008-08-04 Vincent Celier <celier@adacore.com>
1816 * mlib.adb (Create_Sym_Links): Create relative symbolic links when
1819 2008-08-04 Vincent Celier <celier@adacore.com>
1821 * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
1822 variable, but don't check the resulting value as it has no impact on
1826 (Generate_Processed_File): New Boolean flag, set to True in the compiler
1827 when switch -gnateG is used.
1830 (Preprocess): new Boolean out parameter Source_Modified. Set it to True
1831 when the source is modified by the preprocessor and there is no
1832 preprocessing errors.
1834 * prep.ads (Preprocess): new Boolean out parameter Source_Modified
1837 (Load_File): Output the result of preprocessing if the source text was
1840 * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
1842 * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
1844 * ug_words: Add VMS equivalent for -gnateG
1847 Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
1849 2008-08-04 Doug Rupp <rupp@adacore.com>
1851 * gcc-interface/utils2.c:
1852 (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
1853 in 32bit descriptor.
1855 2008-08-04 Robert Dewar <dewar@adacore.com>
1857 * par-ch10.adb: Minor reformatting
1859 * i-cobol.adb: Minor reformatting.
1861 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1863 * sem_ch3.adb (Access_Definition): Create an itype reference for an
1864 anonymous access return type of a regular function that is not a
1867 2008-08-04 Vincent Celier <celier@adacore.com>
1869 * prj-attr.adb: New Builder attribute Global_Compilation_Switches
1871 * snames.adb: New standard name Global_Compilation_Switches
1873 * snames.ads: New standard name Global_Compilation_Switches
1875 * make.adb: Correct spelling error in comment
1877 2008-08-04 Arnaud Charlet <charlet@adacore.com>
1879 * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
1882 2008-08-04 Thomas Quinot <quinot@adacore.com>
1884 * sem_ch10.adb: Minor comment fix.
1886 2008-08-04 Robert Dewar <dewar@adacore.com>
1888 * restrict.adb: Improved messages for restriction warnings
1890 * restrict.ads: Improved messages for restriction messages
1892 * s-rident.ads (Profile_Name): Add No_Profile
1894 2008-08-04 Robert Dewar <dewar@adacore.com>
1896 * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
1898 2008-08-04 Robert Dewar <dewar@adacore.com>
1900 * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
1902 2008-08-04 Vincent Celier <celier@adacore.com>
1905 (Copy_Package_Declarations): When inheriting package Naming from a
1906 project being extended, do not inherit source exception names.
1908 2008-08-04 Ed Schonberg <schonberg@adacore.com>
1910 * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
1911 list of declaration to find previous subprogram, do not go to the
1912 original node of a generic unit.
1914 2008-08-02 Eric Botcazou <ebotcazou@adacore.com>
1916 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
1917 New case. Convert BOOLEAN_TYPE operation to the default integer type.
1919 2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
1921 * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
1922 * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
1923 and adjust for above renaming.
1924 * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
1925 gnu_expr_alt_type parameter. Convert the expression to it instead
1926 of changing its type in place.
1927 (build_function_stub): Adjust call to above function.
1929 2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
1931 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
1932 code. Do not get full definition of deferred constants with address
1933 clause for a use. Do not ignore deferred constant definitions with
1934 address clause. Ignore constant definitions already marked with the
1936 <object>: Remove obsolete comment. For a deferred constant with
1937 address clause, get the initializer from the full view.
1938 * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
1939 Rework and remove obsolete comment.
1940 <N_Object_Declaration>: For a deferred constant with address clause,
1941 mark the full view with the error node.
1942 * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
1945 2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
1947 * rtsfind.ads: Add block IO versions of stream routines for Strings.
1949 * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
1950 sem_prag.adb, snames.adb, snames.ads, snames.h,
1951 par-prag.adb: Undo previous stream related changes.
1953 * s-rident.ads: Add new restriction No_Stream_Optimizations.
1955 * s-ststop.ads, s-ststop.adb: Comment reformatting.
1956 Define enumeration type to designate different IO mechanisms.
1957 Enchance generic package Stream_Ops_Internal to include an
1958 implementation of Input and Output.
1960 * exp_attr.adb (Find_Stream_Subprogram): If restriction
1961 No_Stream_Optimization is active, choose the default byte IO
1962 implementations of stream attributes for Strings.
1963 Otherwise use the corresponding block IO version.
1965 2008-08-01 Olivier Hainque <hainque@adacore.com>
1967 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
1968 turn Ada Pure into GCC const, now implicitely implying nothrow as well.
1970 2008-08-01 Robert Dewar <dewar@adacore.com>
1972 * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
1973 convert plain identifier into defining identifier.
1975 2008-08-01 Robert Dewar <dewar@adacore.com>
1977 * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
1980 * lib-xref.adb: Add error defense.
1982 2008-08-01 Bob Duff <duff@adacore.com>
1984 * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
1986 2008-08-01 Gary Dismukes <dismukes@adacore.com>
1988 * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
1989 correct accessibility levels. In the "when others" case, retrieve the
1990 access level of the Etype of Prev rather than Prev_Orig, because the
1991 original exression has not always been analyzed.
1993 2008-08-01 Robert Dewar <dewar@adacore.com>
1995 * prj-nmsc.adb: Minor reformatting
1997 * sem_ch4.adb: Minor reformatting
1998 Minor code reorganization
2000 * prj.ads: Minor reformatting
2002 * s-os_lib.adb: Minor reformatting
2004 * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
2007 * scans.ads: Minor reformatting.
2009 * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
2010 (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
2013 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
2015 * sem_ch12.adb: Minor comment reformatting
2017 * par-ch3.adb (P_Type_Declaration): Properly handle missing type
2020 2008-08-01 Robert Dewar <dewar@adacore.com>
2022 * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
2025 2008-08-01 Ed Schonberg <schonberg@adacore.com>
2027 * checks.adb (Apply_Float_Conversion_Check): If the expression to be
2028 converted is a real literal and the target type has static bounds,
2029 perform the conversion exactly to prevent floating-point anomalies on
2032 2008-08-01 Vincent Celier <celier@adacore.com>
2034 * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
2036 * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
2038 * prj.adb (Object_Exist_For): Use Object_Generated, not
2039 Objects_Generated that is removed and was never modified anyway.
2042 (Path_Syntax_Kind): New enumeration type
2043 (Language_Config): New component Path_Syntax, defaulted to Host.
2044 Components PIC_Option and Objects_Generated removed, as they are not
2047 * snames.adb: New standard name Path_Syntax
2049 * snames.ads: New standard name Path_Syntax
2051 2008-08-01 Vincent Celier <celier@adacore.com>
2054 (Adalib_Path): New variable to store the path of the adalib directory
2055 when procedure Specify_Adalib_Dir is called.
2056 (Lib_Directory): If Adalib_Path is not null, return its value
2057 (Specify_Adalib_Dir): New procedure
2059 * mlib-utl.ads (Specify_Adalib_Dir): New procedure
2061 2008-08-01 Ed Schonberg <schonberg@adacore.com>
2064 (Check_Precondition_Postcondition): If not generating code, analyze the
2065 expression in a postcondition that appears in a subprogram body, so that
2066 it is properly decorated for ASIS use.
2068 2008-08-01 Gary Dismukes <dismukes@adacore.com>
2070 * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
2071 Orig_Prev to Prev in the case where the actual is N_Function_Call or
2072 N_Identifier. This was interfering with other cases that are rewritten
2073 as N_Identifier, such as allocators, resulting in passing of the wrong
2074 accessibility level, and based on testing this code is apparently no
2075 longer needed at all.
2077 2008-08-01 Ed Schonberg <schonberg@adacore.com>
2079 * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
2080 procedure call whose prefix
2081 is a parameterless function call that returns an access_to_procedure.
2083 2008-08-01 Jose Ruiz <ruiz@adacore.com>
2085 * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
2086 for RTX. Adding a suffix that is incremented at each iteration.
2088 2008-08-01 Robert Dewar <dewar@adacore.com>
2090 * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
2093 2008-08-01 Jerome Lambourg <lambourg@adacore.com>
2095 * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
2096 paths, which are authorized by Windows but can lead to errors when used
2099 2008-08-01 Ed Schonberg <schonberg@adacore.com>
2101 * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
2102 a pending instantiation for the body of a subprogram that is to be
2106 (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
2108 * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
2109 create a pending instance for its body, so that calls to the subprogram
2110 can be inlined by the back-end.
2112 2008-08-01 Jose Ruiz <ruiz@adacore.com>
2114 * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
2117 2008-08-01 Robert Dewar <dewar@adacore.com>
2119 * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
2121 2008-08-01 Doug Rupp <rupp@adacore.com>
2123 * gnat_rm.texi: Document new mechanism Short_Descriptor.
2125 * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
2128 * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2129 mechanism and Short_Descriptor mechanism values.
2131 * snames.adb (preset_names): Add short_descriptor entry.
2133 * snames.ads: Add Name_Short_Descriptor.
2135 * types.h: Add new By_Short_Descriptor mechanism values.
2137 * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2138 mechanism and Short_Descriptor mechanism values.
2140 * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
2142 (Descriptor_Codes): Modify range for new mechanism values.
2144 * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
2147 * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
2148 (gnat_to_gnu_param): Handle By_Short_Descriptor.
2150 * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
2151 (build_vms_descriptor32): New prototype.
2152 (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
2154 * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
2155 argument in call fill_vms_descriptor.
2157 * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
2158 build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
2159 (build_vms_descriptor): Renamed from build_vms_descriptor64.
2160 (convert_vms_descriptor32): New function.
2161 (convert_vms_descriptor64): New function.
2162 (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
2165 * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
2168 2008-08-01 Jose Ruiz <ruiz@adacore.com>
2170 * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
2171 nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
2174 2008-08-01 Jose Ruiz <ruiz@adacore.com>
2176 * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
2177 current directory so only fully qualified names are allowed.
2179 2008-08-01 Robert Dewar <dewar@adacore.com>
2182 Minor editing, remove uncomfortable use of semicolon
2184 * s-ststop.adb: Add some ??? comments
2186 * sem_ch10.adb: Minor reformatting
2189 Minor comment fixes, some pragmas were not properly
2190 categorized in the comments, documentation change only
2192 * xref_lib.adb: Minor reformatting
2194 * sinput.adb: Minor reformatting
2196 * gnatchop.adb: Minor reformatting
2198 * sem_util.ads: Minor reformatting.
2200 * opt.ads: Minor documentation fix
2202 * scng.adb: Minor reformatting
2204 * prj-part.adb: Update comments
2206 2008-08-01 Ed Schonberg <schonberg@adacore.com>
2208 * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
2209 tagged synchronized type, use corresponding record type.
2211 2008-08-01 Doug Rupp <rupp@adacore.com>
2213 * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
2214 dummy transfer address for debugging.
2216 * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
2218 * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
2220 2008-07-31 Eric Botcazou <ebotcazou@adacore.com>
2222 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
2223 * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
2225 2008-07-31 Pascal Obry <obry@adacore.com>
2227 * prj-nmsc.adb: Keep Object and Exec directory casing.
2229 2008-07-31 Jose Ruiz <ruiz@adacore.com>
2231 * system-rtx-rtss.ads
2232 Change the default stack size. It is important to set the commit part.
2235 (Initialize): Get the clock resolution.
2236 (RT_Resolution): Return the clock resolution that is indicated by the
2239 * s-parame-vxworks.adb
2240 Document that this body is used for RTX in RTSS (kernel) mode.
2242 * gcc-interface/Makefile.in
2243 (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
2244 s-parame-vxworks.adb body in order to have reasonable stack sizes in
2245 RTX RTSS kernel mode. Virtual memory is not used in that case, so we
2246 cannot ask for too big values.
2248 2008-07-31 Robert Dewar <dewar@adacore.com>
2250 * exp_aggr.adb: Minor reformatting
2252 * makeutl.adb: Minor reformatting
2254 * prj-env.adb: Minor reformatting
2256 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2258 * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
2259 tagged type is completed by a concurrent type.
2261 2008-07-31 Gary Dismukes <dismukes@adacore.com>
2264 (Resolve_Record_Aggregate): Bypass error that a type without
2265 components must have a "null record" aggregate when compiling for Ada
2266 2005, since it's legal to give an aggregate of form (others => <>)
2269 2008-07-31 Javier Miranda <miranda@adacore.com>
2271 * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
2272 handle synchronized types. Required to handle well the object.operation
2273 notation applied to synchronized types.
2275 2008-07-31 Quentin Ochem <ochem@adacore.com>
2277 * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
2278 anymore - just used internally.
2279 Added handling of very small tasks - when the theoretical size is
2280 already full at the point of the call.
2281 (Report_Result): Fixed result computation, Stack_Used_When_Filling does
2282 not need to be added to the result.
2284 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2286 * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
2287 corresponding spec is a primitive wrapper. Update comment.
2289 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2291 * bindgen.adb Comment reformatting. Update the list of run-time globals.
2292 (Gen_Adainit_Ada): Add the declaration, import and value set for
2293 configuration flag Canonical_Streams.
2294 (Gen_Adainit_C): Add the declaration and initial value of external
2295 symbol __gl_canonical_streams.
2297 * init.c: Update the list of global values computed by the binder.
2299 * opt.ads: Add flag Canonical_Streams.
2301 * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
2302 semantically handled pragmas.
2304 * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
2305 (Analyze_Pragma): Add case for pragma Canonical_Streams.
2307 * snames.adb: Add character value for name Canonical_Streams.
2310 Add Name_Canonical_Streams to the list of configuration pragmas.
2311 Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
2313 * snames.h: Add a definition for Pragma_Canonical_Streams.
2316 Add a flag and import to seize the value of external symbol
2317 __gl_canonical_streams. Update comment and initial value of constant
2320 * gnat_rm.texi: Add section of pragma Canonical_Streams.
2323 Add pragma Canonical_Streams to the list of configuration pragmas.
2325 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2327 * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
2328 has the form A.B.C and B is a unit renaming, analyze its compilation
2329 unit and add a with_clause on A.b to the context.
2331 2008-07-31 Vincent Celier <celier@adacore.com>
2333 * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
2334 return the empty string, instead of raising Constraint_Error.
2336 2008-07-31 Gary Dismukes <dismukes@adacore.com>
2338 * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
2340 * checks.adb (Apply_Accessibility_Check): Insert the check on
2344 (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
2345 to new parameter Insert_Node on call to Apply_Accessibility_Check.
2346 Necessary to distinguish the insertion node because the dereferenced
2347 formal may come from a rename, but the check must be inserted in
2348 front of the attribute.
2351 (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
2352 call to Apply_Accessibility_Check.
2353 (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
2354 on call to Apply_Accessibility_Check.
2357 2008-07-31 Javier Miranda <miranda@adacore.com>
2359 * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
2360 types when the candidate type is a synchronized type.
2362 * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
2363 types, and complete management of synchronized types adding missing
2364 code to handle formal that is a synchronized type.
2366 * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
2367 are not available and cause the compiler to blowup. Found compiling
2368 test with switch -gnatc
2370 * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
2371 Has_Correct_Formal_Mode plus code cleanup.
2373 2008-07-31 Bob Duff <duff@adacore.com>
2375 * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
2376 recognized as two end-of-lines, but it should be just one.
2378 2008-07-31 Thomas Quinot <quinot@adacore.com>
2380 * exp_ch9.adb: Minor reformatting
2382 * tbuild.ads: Fix several occurrences of incorrectly referring to
2383 Name_Find as Find_Name.
2385 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2387 * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
2388 and the context is an object declaration with non-static bounds, treat
2389 the aggregate as non-static.
2391 2008-07-31 Vincent Celier <celier@adacore.com>
2393 * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
2394 Move back spec of Parse_Single_Project to body, as it is not called
2395 outside of package Prj.Part.
2396 (Project_Data): Remove components Linker_Name, Linker_Path and
2397 Minimum_Linker_Options as they are no longer set.
2398 Remove function There_Are_Ada_Sources from package Prj and move code
2399 in the only place it was used, in Prj.Env.Set_Ada_Paths.
2401 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2403 * mlib-utl.ads: Fix typo.
2405 2008-07-31 Robert Dewar <dewar@adacore.com>
2407 * sem_ch12.adb: Minor reformatting
2409 2008-07-31 Sergey Rybin <rybin@adacore.com>
2411 * gnat_ugn.texi: Change the description of the
2412 Overly_Nested_Control_Structures: now the rule always requires a
2413 positive parameter for '+R' option
2415 2008-07-31 Thomas Quinot <quinot@adacore.com>
2417 * g-pehage.adb: Minor reformatting
2419 2008-07-31 Pascal Obry <obry@adacore.com>
2421 * s-finimp.ads: Minor reformatting.
2423 2008-07-31 Vincent Celier <celier@adacore.com>
2425 * s-regexp.ads: Minor comment fix
2427 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2429 * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
2430 so that we can compile this file successfully with -gnatc.
2432 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
2434 * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
2435 of the type when looking for stream subprograms for type String,
2436 Wide_String and Wide_Wide_String.
2438 * s-ststop.adb: Change the initialization expression of constant
2441 2008-07-31 Geert Bosch <bosch@adacore.com>
2444 New file implementing __gnat_mulv64 signed integer multiplication with
2447 * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
2449 * gcc-interface/gigi.h:
2450 (standard_types): Add ADT_mulv64_decl
2451 (mulv64_decl): Define subprogram declaration for __gnat_mulv64
2453 * gcc-interface/utils.c:
2454 (init_gigi_decls): Add initialization of mulv64_decl
2456 * gcc-interface/trans.c:
2457 (build_unary_op_trapv): New function
2458 (build_binary_op_trapv): New function
2459 (gnat_to_gnu): Use the above functions instead of
2460 build_{unary,binary}_op
2462 * gcc-interface/Makefile.in
2463 (LIBGNAT_SRCS): Add arit64.c
2464 (LIBGNAT_OBJS): Add arit64.o
2466 2008-07-31 Vincent Celier <celier@adacore.com>
2468 * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
2469 Linker'Default_Switches are declared. Warn if they are declared.
2471 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2473 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
2474 Insert_Actions to place the pointer declaration in the code, rather
2475 than Insert_Before_And_Analyze, so that insertions of temporaries are
2476 kept in the proper order when transient scopes are present.
2479 2008-07-31 Robert Dewar <dewar@adacore.com>
2481 * einfo.adb (Spec_PPC): Now defined for generic subprograms
2483 * einfo.ads (Spec_PPC): Now defined for generic subprograms
2485 * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
2488 2008-07-31 Vincent Celier <celier@adacore.com>
2490 * s-os_lib.adb: Minor comment fix
2492 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2494 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
2495 transfer pre/postconditions from generic copy to original tree, so that
2496 they will appear in each instance.
2497 (Process_PPCs): Do not transform postconditions into a procedure in a
2498 generic context, to prevent double expansion of check pragmas.
2500 * sem_attr.adb: In an instance, the prefix of the 'result attribute
2501 can be the renaming of the
2502 current instance, so check validity of the name accordingly.
2504 2008-07-31 Robert Dewar <dewar@adacore.com>
2506 * mlib-utl.ads: Minor reformatting
2508 2008-07-31 Ed Schonberg <schonberg@adacore.com>
2510 sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
2511 from context. This attribute must be usable in Ada95 mode.
2512 The attribute can appear in the body of a function marked
2513 Inline_Always, but in this case the postocondition is not enforced.
2515 sem_prag.adb (Check_Precondition_Postcondition): within the expansion
2516 of an inlined call pre- and postconditions are legal
2518 2008-07-31 Vincent Celier <celier@adacore.com>
2520 * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
2521 were for gprmake only
2523 2008-07-31 Robert Dewar <dewar@adacore.com>
2525 * gnat_ugn.texi: Update -gnatN documentation.
2527 * gnat_rm.texi: Add note about pre/postcondition
2528 pragmas not checked in conjunction with front-end inlining.
2530 2008-07-31 Robert Dewar <dewar@adacore.com>
2532 * g-pehage.adb, g-pehage.ads: Minor reformatting
2534 2008-07-31 Arnaud Charlet <charlet@adacore.com>
2536 * mlib-utl.ads, prj-makr.ads: Add comments.
2538 2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2540 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
2541 [WINDOWS]: Add s-winext.o.
2543 2008-07-30 Eric Botcazou <ebotcazou@adacore.com>
2546 * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
2547 * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
2548 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
2549 Set precision to 1 for subtype of BOOLEAN_TYPE.
2550 (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
2551 (make_type_from_size): Deal with BOOLEAN_TYPE.
2552 * gcc-interface/misc.c (gnat_print_type): Likewise.
2553 * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
2554 Set boolean_type_node as its translation in the table, as well
2555 as boolean_false_node for False and boolean_true_node for True.
2556 * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
2557 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
2558 (create_param_decl): Deal with BOOLEAN_TYPE.
2559 (build_vms_descriptor): Likewise.
2560 (build_vms_descriptor64): Likewise.
2561 (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
2563 2008-07-30 Robert Dewar <dewar@adacore.com>
2565 * exp_ch9.adb: Minor reformatting
2567 * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
2568 if no primitive operation is found.
2570 * exp_util.adb: (Find_Prim_Op): Add comments for previous change
2572 * sem_ch8.adb: Minor reformatting
2574 2008-07-30 Laurent Pautet <pautet@adacore.com>
2577 Remove a limitation on the length of the words handled by the minimal
2578 perfect hash function generator.
2581 Detail the use of subprograms Insert, Initialize, Compute and Finalize.
2584 2008-07-30 Robert Dewar <dewar@adacore.com>
2586 * gnatlink.adb: Minor reformatting
2588 2008-07-30 Thomas Quinot <quinot@adacore.com>
2590 * rtsfind.adb (Check_RPC): Check version consistency even when not
2591 generating RCI stubs. Provide more detailed error message in case of
2594 2008-07-30 Ed Schonberg <schonberg@adacore.com>
2596 * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
2597 as a actual in an instance, check for a missing attribute to prevent
2598 program_error on an illegal program.
2600 * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
2601 error if primitive is not found, so that exception can be handled
2602 elsewhere on illegal programs.
2604 2008-07-30 Robert Dewar <dewar@adacore.com>
2606 * uintp.adb (UI_GCD): Fix potential overflow
2608 2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
2610 * einfo.adb: Flag245 is now used.
2611 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
2612 check to include functions.
2613 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2614 (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
2616 (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
2617 to the list of displayed flags.
2619 * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
2620 Wrapped_Entity. These two flags are now present in functions.
2621 New flag Is_Private_Primitive.
2622 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2625 (Build_Wrapper_Bodies): New subprogram.
2626 (Build_Wrapper_Body): The spec and body have been moved to in
2627 Build_Wrapper_ Bodies. Code cleanup.
2628 (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
2629 Wrappers are now generated for primitives declared between the private
2630 and full view of a concurrent type that implements an interface.
2631 (Build_Wrapper_Specs): New subprogram.
2632 (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
2633 creation mechanism with a call to Build_Wrapper_Bodies.
2634 (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
2635 wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
2636 (Expand_N_Task_Body): Replace the wrapper body creation
2637 mechanism with a call to Build_Wrapper_Bodies.
2638 (Expand_N_Task_Type_Declaration): Replace the wrapper spec
2639 creation mechanism with a call to Build_Wrapper_Specs.
2640 (Is_Private_Primitive_Subprogram): New subprogram.
2641 (Overriding_Possible): Code cleanup.
2642 (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
2644 * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
2646 * sem_ch3.adb: Add with and use clause for Exp_Ch9.
2647 (Process_Full_View): Build wrapper specs for all primitives
2648 that belong to a private view completed by a concurrent type
2649 implementing an interface.
2651 * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
2653 concurrent type with a private view that implements an interface, try to
2654 find the proper spec.
2655 (Analyze_Subprogram_Declaration): Mark a subprogram as a private
2656 primitive if the type of its first parameter is a non-generic tagged
2658 (Analyze_Subprogram_Specification): Code reformatting.
2659 (Disambiguate_Spec): New routine.
2660 (Find_Corresponding_Spec): Add a flag to controll the output of errors.
2661 (Is_Private_Concurrent_Primitive): New routine.
2664 (Find_Corresponding_Spec): Add a formal to control the output of errors.
2666 2008-07-30 Doug Rupp <rupp@adacore.com>
2668 * gigi.h (build_vms_descriptor64): New function prototype.
2669 (fill_vms_descriptor): Modified function prototype.
2671 * utils.c (build_vms_descriptor64): New function.
2673 * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
2675 * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
2678 * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
2679 64bit and 32bit descriptor and save the 64bit version as an alternate
2680 TREE_TYPE in the parameter.
2681 (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
2684 * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
2686 2008-07-30 Robert Dewar <dewar@adacore.com>
2688 * make.adb: Minor reformatting
2690 * mlib-utl.adb: Minor reformatting
2692 * osint.ads: Minor reformatting
2694 2008-07-30 Jose Ruiz <ruiz@adacore.com>
2697 (__gnat_file_exists): Do not use __gnat_stat for RTX.
2698 (__main for RTX in RTSS mode): Create this dummy procedure symbol to
2699 avoid the use of this symbol from libgcc.a in RTX kernel mode.
2702 (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
2703 the function RtPrintf for console output.
2705 * argv.c Do not use the environ variable for RTX.
2707 * gnatlink.adb (gnatlink): The part that handles the --RTS option has
2708 been moved before the call to Osint.Add_Default_Search_Dirs in order
2709 to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
2710 from the appropriate run time.
2713 (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
2714 target is a RTSS module for RTX.
2716 * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
2717 RTX_RTSS_Kernel_Module
2718 (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
2720 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
2721 exception handling mechanism for Windows and RTX in Win32 mode, but
2722 not for RTX in kernel mode (RTSS).
2723 (LIBGNAT_SRCS): Remove ada.h
2725 2008-07-30 Paolo Bonzini <bonzini@gnu.org>
2727 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
2728 T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2729 (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
2730 * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
2731 X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
2732 ALL_ADA_CFLAGS): Remove.
2733 (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
2734 replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2735 (GCC_CFLAGS): Remove X_CFLAGS.
2736 (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
2737 (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
2738 (ADA_CFLAGS): Substitute.
2740 2008-07-30 Laurent Guerby <laurent@guerby.net>
2743 * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
2744 Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
2745 Replace stamp-gnatlib* by stamp-gnatlib*-rts.
2746 * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
2747 by stamp-gnatlib2-rts.
2749 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2751 PR documentation/15479
2752 * gnat-style.texi: Remove AdaCore copyright statement and GPL
2753 statement for GNAT. Add @copying stanza, use it. Update to
2754 GFDL 1.2. Do not list GFDL as Invariant Section, do not list
2755 title as Front-Cover Text.
2756 * gnat_rm.texi: Likewise.
2757 * gnat_ugn.texi: Likewise.
2759 2008-07-29 Jan Hubicka <jh@suse.cz>
2761 * trans.c (process_inlined_subprograms): Remove tree_really_inline
2764 2008-07-29 Arnaud Charlet <charlet@adacore.com>
2766 * gcc-interface: New directory.
2768 * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
2769 utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
2770 config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
2771 to gcc-interface subdirectory.
2773 2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2775 * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2777 2008-07-28 Jan Hubicka <jh@suse.cz>
2779 * misc.c (gnat_post_options): Do not set flag_no_inline.
2781 2008-07-28 Richard Guenther <rguenther@suse.de>
2783 Merge from gimple-tuples-branch.
2785 2008-07-22 Olivier Hainque <hainque@adacore.com>
2787 * gigi.h (end_subprog_body): New ELAB_P argument, saying if
2788 this is called for an elab proc to be discarded if empty.
2789 * utils.c (end_subprog_body): Honor ELAB_P.
2790 (build_function_stub): Adjust call to end_subprog_body.
2791 * trans.c (Subprogram_Body_to_gnu): Likewise.
2792 (gigi): Reorganize processing of elab procs to prevent
2793 gimplifying twice, using the new end_subprog_body argument.
2795 2008-07-19 Richard Guenther <rguenther@suse.de>
2797 * Make-lang.in (trans.o): Add tree-iterator.h dependency.
2798 (utils.o): Likewise.
2799 * trans.c: Include tree-iterator.h.
2800 (gnat_gimplify_expr): Adjust prototype. Fix typo.
2801 (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
2802 (set_expr_location_from_node): Likewise.
2804 * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
2806 * utils.c: Include tree-iterator.h.
2807 * gigi.h (gnat_gimplify_expr): Adjust prototype.
2809 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
2811 * trans.c: Include gimple.h instead of tree-gimple.h.
2814 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
2816 * trans.c (gnat_gimplify_expr): Use gimplify_assign.
2818 2008-07-25 Jan Hubicka <jh@suse.cz>
2820 * utils.c (end_subprog_body): Remove inline trees check.
2821 * misc.c (gnat_post_options): Do not set flag_inline_trees.
2823 2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2825 * raise-gcc.c: Move tsystem.h before tm.h.
2827 2008-07-20 Arnaud Charlet <charlet@adacore.com>
2829 * gnathtml.pl: New file.
2831 2008-07-19 Olivier Hainque <hainque@adacore.com>
2833 * targtyps.c (get_target_default_allocator_alignment): Use
2834 MALLOC_ABI_ALIGNMENT.
2836 2008-07-17 Olivier Hainque <hainque@adacore.com>
2838 * adaint.c (__MINGW32__ section): Include ctype.h and define
2839 a fallback ISALPHA if IN_RTS.
2840 (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
2842 2008-07-17 Olivier Hainque <hainque@adacore.com>
2844 * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
2845 argument, to apply to references in addition to definitions. Prevent
2846 setting TREE_STATIC on externals.
2847 (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
2849 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2851 PR documentation/15479
2852 * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
2853 Replace backets around optional parameters with @ovar
2854 where possible, use @r{[}, @r{]} otherwise.
2855 Replace some @r, @i, and @emph with @var where appropriate.
2857 2008-07-02 Eric Botcazou <ebotcazou@adacore.com>
2859 * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
2861 2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2863 * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
2864 -Wc++-compat warnings.
2865 * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
2866 __gnat_locate_exec_on_path): Likewise.
2867 * decl.c (annotate_value): Likewise.
2868 * misc.c (gnat_handle_option): Likewise.
2869 * trans.c (gnat_to_gnu, extract_encoding, decode_name,
2870 post_error_ne_tree): Likewise.
2872 2008-06-27 Eric Botcazou <ebotcazou@adacore.com>
2874 * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
2875 version of its type, attempt to first convert its elements.
2877 2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
2879 * Makefile.in: Fix *86 kfreebsd target specific pairs.
2881 2008-06-25 Samuel Tardieu <sam@rfc1149.net>
2883 * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
2885 2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
2887 * utils2.c (known_alignment): Derive the alignment from pointed-to
2888 types only if it is otherwise unknown.
2889 <INTEGER_CST>: Tidy.
2890 <MULT_EXPR>: Likewise.
2891 <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
2894 2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2897 * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
2899 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2901 * gnat_rm.texi (Implementation Defined Characteristics)
2902 (Standard Library Routines): Use @smallexample for indented
2903 text. Drop Indentation outside examples.
2904 * gnat_ugn.texi: Likewise.
2906 2008-06-13 Olivier Hainque <hainque@adacore.com>
2908 * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
2910 (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
2911 realignment with force_align_arg_pointer attribute on foreign
2912 convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2914 2008-06-13 Olivier Hainque <hainque@adacore.com>
2916 * utils.c (rest_of_record_type_compilation): When computing
2917 encodings for the components of a variable size type, early
2918 strip conversions on the current position expression to make
2919 sure it's shape is visible. Use remove_conversions for this
2922 2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
2924 * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
2925 constrained subtype of a discriminated type, discard the fields that
2926 are beyond its limits according to its size.
2928 2008-06-10 Olivier Hainque <hainque@adacore.com>
2930 * utils.c (create_subprog_decl): If this is for the 'main' entry
2931 point according to the asm name, redirect main_identifier_node.
2933 2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
2935 * decl.c (components_to_record): Adjust the packedness for the
2936 qualified union as well.
2938 2008-06-09 Arnaud Charlet <charlet@adacore.com>
2940 * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
2943 2008-06-07 Samuel Tardieu <sam@rfc1149.net>
2945 * sem_res.adb (Large_Storage_Type): A type is large if it
2946 requires as many bits as Positive to store its values and its
2947 bounds are known at compile time.
2948 * sem_ch13.adb (Minimum_Size): Note that this function returns
2949 0 if the size is not known at compile time.
2951 2008-06-06 Nicolas Setton <setton@adacore.com>
2952 Olivier Hainque <hainque@adacore.com>
2954 * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
2955 attribute, parallel descriptive type attached to another
2956 type for debug info generation purposes.
2957 * utils.c (add_parallel_type): New function, register
2958 parallel type to be attached to a type.
2959 (get_parallel_type): New function, fetch a registered
2960 parallel type, if any.
2961 (rest_of_record_type_compilation): Register the parallel
2962 type we make for variable size records.
2963 * gigi.h (add_parallel_type, get_parallel_type): Declare.
2964 * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
2965 parallel debug types we make.
2966 * trans.c (extract_encoding, decode_name): New functions.
2967 (gigi): If the DWARF attribute extensions are available, setup
2969 * lang.opt: Register language specific processing request
2971 * misc.c (gnat_dwarf_extensions): New global variable. How much
2972 do we want of our DWARF extensions. 0 by default.
2973 (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
2974 (gnat_post_options): Map gnat_dwarf_extensions to the
2975 commonuse_gnu_debug_info_extensions for later processing.
2977 2008-06-04 Samuel Tardieu <sam@rfc1149.net>
2979 * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
2981 2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2983 * Makefile.in (common_tools): Fix typos in $(exeext) extension.
2984 * gnat_ugn.texi (Style Checking)
2985 (Adding the Results of Compiler Checks to gnatcheck Output)
2986 (Example of Binder Output File): Fix typos.
2987 * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
2988 exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
2989 s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
2990 s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
2991 sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
2992 sinfo.ads, utils.c: Fix typos in comments.
2993 * sem_ch6.adb, vms_data.ads: Fix typos in strings.
2995 2008-05-29 Thomas Quinot <quinot@adacore.com>
2997 * sem_eval.adb: Minor reformatting
2999 2008-05-29 Ed Schonberg <schonberg@adacore.com>
3001 * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
3002 is abstract, do not apply abstractness check on subprogram if this is
3003 a renaming declaration.
3005 2008-05-29 Arnaud Charlet <charlet@adacore.com>
3008 * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
3009 allow recognition of program suffix in addition to prefix.
3011 * gnatchop.adb (Locate_Executable): Add support for prefix.
3013 * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
3014 mlib-utl.adb: Adjust calls to Program_Name.
3016 2008-05-29 Robert Dewar <dewar@adacore.com>
3018 * sem_ch3.adb: Minor reformatting
3019 * sem_prag.adb: Minor reformatting
3020 * sem_res.adb: Minor reformatting
3021 * sinput-p.ads: Minor reformatting
3023 2008-05-29 Javier Miranda <miranda@adacore.com>
3026 (Abstract_Interface_List): Add missing support for full type-declaration
3027 associated with synchronized types.
3029 2008-05-29 Robert Dewar <dewar@adacore.com>
3031 * sem_eval.adb (Is_Same_Value): Take care of several more cases
3033 2008-05-28 Ed Schonberg <schonberg@adacore.com>
3035 * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
3036 access type, wrap the expression in a conversion to force an
3037 accessibility check.
3039 * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
3040 accessibility checks even when expansion is disabled in order to
3041 generate messages in the presence of previous errors or in
3042 semantics-only mode.
3044 2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
3046 * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
3047 * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
3049 2008-05-28 Vincent Celier <celier@adacore.com>
3052 * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
3053 preprocessing expressions
3055 2008-05-28 Vincent Celier <celier@adacore.com>
3057 * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
3060 * sinput-p.ads: Minor comment update and reformatting
3062 2008-05-28 Ed Schonberg <schonberg@adacore.com>
3064 * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
3065 type has a deeper level than any master only when it is the type of an
3068 2008-05-28 Javier Miranda <miranda@adacore.com>
3070 * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
3072 2008-05-28 Javier Miranda <miranda@adacore.com>
3074 * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
3075 * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
3076 * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
3077 Add code that was previously located in
3078 Find_Overridden_Synchronized_Primitive because it is only used here.
3080 2008-05-28 Sergey Rybin <rybin@adacore.com>
3082 * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
3083 Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
3085 2008-05-28 Robert Dewar <dewar@adacore.com>
3088 Add missing restrictions, and properly label all GNAT defined ones
3091 Add entry for Ada_Real_Time.Timing_Events.Timing_Event
3092 Add entry for Ada.Task_Termination.Set_Specific_Handler
3093 Add entry for Ada.Task_Termination.Specific_Handler
3096 Add missing restrictions and properly mark all gnat defined ones
3099 (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
3102 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
3104 * gnat_rm.texi: Add missing restrictions, and properly label all
3107 2008-05-28 Robert Dewar <dewar@adacore.com>
3110 (Check_Restriction): violation of restriction No_Finalization is
3111 treated as a serious error to stop expansion
3113 2008-05-28 Robert Dewar <dewar@adacore.com>
3115 * exp_util.adb: Minor reformatting
3116 * exp_util.ads: Minor reformatting.
3118 2008-05-28 Arnaud Charlet <charlet@adacore.com>
3120 * Make-lang.in: Remove gprmake.
3122 * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
3124 2008-05-28 Ed Schonberg <schonberg@adacore.com>
3126 * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
3127 improper progenitor names, and avoid cascaded errors.
3129 2008-05-28 Robert Dewar <dewar@adacore.com>
3131 * gnat_rm.texi: Add note on Old giving warning when applied to constant
3133 * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
3136 2008-05-28 Robert Dewar <dewar@adacore.com>
3138 * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
3141 2008-05-28 Robert Dewar <dewar@adacore.com>
3144 (Expand_Simple_Function_Return): Copy unaligned result into temporary
3146 2008-05-28 Javier Miranda <miranda@adacore.com>
3148 * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
3149 for user-defined predefined primitives.
3151 * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
3152 (Find_Overridden_Synchronized_Primitive): Ditto.
3154 * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
3156 2008-05-27 Arnaud Charlet <charlet@adacore.com>
3158 * a-ststio.adb, s-direio.adb:
3159 Further code clean up of previous change.
3162 2008-05-27 Vincent Celier <celier@adacore.com>
3164 * prj-nmsc.adb: Minor reformatting
3166 2008-05-27 Bob Duff <duff@adacore.com>
3168 * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
3169 untagged private type with a tagged full type, where the full type has
3170 a self reference, create the corresponding class-wide type early, in
3171 case the self reference is "access T'Class".
3173 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3175 * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
3176 tasks and context is an object declaration. create master entity before
3179 2008-05-27 Robert Dewar <dewar@adacore.com>
3181 * mlib-prj.adb: Minor reformatting
3183 * prj-part.adb: Minor reformatting
3185 * prj.ads: Minor reformatting
3187 * exp_ch3.adb: Minor reformatting.
3189 * sem_ch3.ads: Minor reformatting
3191 * sem_eval.adb: Minor reformatting
3193 2008-05-27 Vincent Celier <celier@adacore.com>
3196 <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
3198 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3200 * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
3201 tasks, create an activation chain now, before the expansion into
3202 assignments and build-in-place calls that require the presence of an
3204 (Backend_Processing_Possible): If the component type is inherently
3205 limited, the aggregate must be expanded into individual built-in-place
3208 * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
3209 determine whether an allocation extra parameter must be built, to
3210 handle case of a private type whose full type is a discriminated type
3213 2008-05-27 Bob Duff <duff@adacore.com>
3216 Document the new behavior regarding trampolines.
3218 2008-05-27 Arnaud Charlet <charlet@adacore.com>
3220 * a-direio.adb, a-sequio.adb: Replace address clause by
3221 unrestricted_access, simpler and compatible with .NET.
3223 2008-05-27 Vincent Celier <celier@adacore.com>
3226 (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
3227 a project file, so that symbolic links are not resolved.
3229 2008-05-27 Arnaud Charlet <charlet@adacore.com>
3231 * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
3232 Replace heavy address clause by 'Unrestricted_Access, cleaner and more
3233 portable across GNAT targets, since this kind of address clause is not
3234 supported by VM back-ends (.NET/JGNAT).
3236 2008-05-27 Arnaud Charlet <charlet@adacore.com>
3238 * bindgen.adb: Update comments.
3240 * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
3242 2008-05-27 Vincent Celier <celier@adacore.com>
3244 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
3245 prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
3246 mlib-tgt.adb, prj-env.adb, prj-env.ads:
3247 (Path_Information): New record type
3248 Use component of type Path_Information when there are two paths, one in
3249 canonical format and one in display format.
3250 Update the project manager to these new components.
3252 2008-05-27 Robert Dewar <dewar@adacore.com>
3254 * makeutl.adb: Minor reformatting
3255 * prj-nmsc.adb: Minor reformatting
3256 * s-stausa.adb: Minor reformatting
3257 * s-stausa.ads: Minor reformatting
3258 * sem_ch6.adb: Minor reformatting
3260 2008-05-27 Thomas Quinot <quinot@adacore.com>
3262 * sem_res.adb: Minor comment fixes
3264 2008-05-27 Thomas Quinot <quinot@adacore.com>
3266 * makeutl.adb: Minor code reorganization
3268 * exp_aggr.adb: Add ??? comment
3271 * exp_ch6.adb: Minor reformatting
3273 2008-05-27 Quentin Ochem <ochem@adacore.com>
3275 * s-stausa.adb (Initialize): Updated result initialization, and
3276 initialization of environment stack.
3277 (Fill_Stack): Improved computation of the pattern zone, taking into
3278 account already filled at the calling point.
3279 (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
3280 Measure and Overflow_Guard.
3281 (Report_Result): Fixed computation of the result using new fields of
3284 * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
3285 params by more explicit Stack_Size / Max_Pattern_Size params.
3286 (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
3287 Added Stack_Used_When_Filling field.
3288 (Task_Result): Replaced Measure / Overflow_Guard by more explicit
3289 Min_Measure and Max_Measure fields.
3291 * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
3293 2008-05-27 Vincent Celier <celier@adacore.com>
3296 (Check_File): Make sure that a unit that replaces the same unit in a
3297 project being extended is properly processed.
3299 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3302 (Get_Discr_Value): Remove obsolete code that failed to find the value
3303 of a discriminant for an inherited task component appearing in a type
3306 2008-05-27 Thomas Quinot <quinot@adacore.com>
3308 (System.File_IO.{Close, Delete, Reset}):
3309 Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
3311 (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
3312 Pass File parameter by reference.
3314 2008-05-27 Vincent Celier <celier@adacore.com>
3317 (Process_Sources_In_Multi_Language_Mode): Check that there are not two
3318 sources of the same project that have the same object file name.
3319 (Find_Explicit_Sources): Always remove a source exception that was not
3322 2008-05-27 Thomas Quinot <quinot@adacore.com>
3324 * sem_ch3.adb: Minor reformatting
3326 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3329 (Is_Interface_Conformant): Handle properly a primitive operation that
3330 overrides an interface function with a controlling access result.
3331 (Type_Conformance): If Skip_Controlling_Formals is true, when matching
3332 inherited and overriding operations, omit as well the conformance check
3333 on result types, to prevent spurious errors.
3335 2008-05-27 Vincent Celier <celier@adacore.com>
3337 * makeutl.ads, makeutl.adb:
3338 (Set_Location): New procedure
3339 (Get_Location): New function
3340 (Update_Main): New procedure
3342 2008-05-27 Vincent Celier <celier@adacore.com>
3345 (Check_Library): Allow standard project to be extended as a static
3347 (Get_Mains): Do not inherit attribute Main in an extending library
3350 2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
3352 * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
3353 * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
3354 * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
3355 * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
3356 * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
3357 * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
3358 * system-mingw.ads (Always_Compatible_Rep): Likewise.
3359 * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
3360 * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
3361 * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
3363 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3365 * sem_attr.adb: add guard to previous patch.
3367 2008-05-27 Ed Schonberg <schonberg@adacore.com>
3369 * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
3370 a synchronized tagged type, do not attempt to build dispatch table for
3371 full view. The table is built for the corresponding record type, which
3372 has its own declaration.
3374 2008-05-27 Gary Dismukes <dismukes@adacore.com>
3376 * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
3377 to the known type entity E, rather than setting it to Any_Type. Fixes
3378 possible blowup in function Base_Init_Proc, as called from Freeze_Entity
3379 for objects whose type had an illegal constraint.
3381 2008-05-27 Vincent Celier <celier@adacore.com>
3384 Add succinct documentation for attribute Excluded_Source_List_File
3386 2008-05-27 Vincent Celier <celier@adacore.com>
3388 * prj-attr.adb: Add new project level attribute Map_File_Option
3390 * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
3392 * prj.ads: Minor reformatting and comment update
3393 (Project_Configuration): New component Map_File_Option
3395 * snames.adb: New standard name Map_File_Option
3397 * snames.ads: New standard name Map_File_Option
3399 2008-05-27 Vincent Celier <celier@adacore.com>
3401 * xsnames.adb: Remove unused variable Oname
3403 2008-05-27 Doug Rupp <rupp@adacore.com>
3406 (Expand_N_Function_Call): Fix comments. Minor reformatting.
3409 (Expand_Vax_Foreign_Return): Fix comments.
3411 2008-05-27 Thomas Quinot <quinot@adacore.com>
3413 * exp_dist.adb: Minor reformating
3415 2008-05-26 Gary Dismukes <dismukes@adacore.com>
3417 * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
3418 No_Default_Initialization, which is now delayed until the freeze point
3419 of the object. Add a comment about deferral of the check.
3421 * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
3422 on objects is moved here.
3424 2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
3426 * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
3427 (Compare_Array_S16): Adjust for above change.
3428 * s-casi32.adb (Uword): Likewise.
3429 (Compare_Array_S32): Likewise.
3430 * s-casi64.adb (Uword): Likewise.
3431 (Compare_Array_S64): Likewise.
3432 * s-caun16.adb (Uhalf): Likewise.
3433 (Compare_Array_U16): Likewise.
3434 * s-caun32.adb (Uword): Likewise.
3435 (Compare_Array_U32): Likewise.
3436 * s-caun64.adb (Uword): Likewise.
3437 (Compare_Array_U64): Likewise.
3439 2008-05-26 Robert Dewar <dewar@adacore.com>
3441 * exp_ch6.adb: Add ??? comment for previous change
3443 * exp_vfpt.adb: Minor reformatting
3445 * exp_vfpt.ads: Add ??? comment for last change
3447 * sem_attr.adb: Add some ??? comments for previous change
3449 * s-vaflop.ads: Add comments for previous change
3451 2008-05-26 Doug Rupp <rupp@adacore.com>
3453 * s-vaflop-vms-alpha.adb:
3454 Remove System.IO use clause, to prevent spurious ambiguities when
3455 package is access through rtsfind.
3457 2008-05-26 Sergey Rybin <rybin@adacore.com>
3459 * tree_io.ads (ASIS_Version_Number): Update because of the changes
3462 2008-05-26 Ed Schonberg <schonberg@adacore.com>
3465 (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
3466 converted to S (A)'address only if A .. B is known to be a non-null
3469 2008-05-26 Doug Rupp <rupp@adacore.com>
3472 (Return_D, Return_F, Return_G): New functions.
3475 (Return_D, Return_F, Return_G): New functions.
3478 (Expand_Vax_Foreign_Return): New procedure
3481 (Expand_Vax_Foreign_Return): New procedure
3484 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
3485 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
3489 (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
3491 * s-vaflop-vms-alpha.adb: