diff options
Diffstat (limited to 'gcc-4.4.3/gcc/ada/ChangeLog-2008')
-rw-r--r-- | gcc-4.4.3/gcc/ada/ChangeLog-2008 | 7464 |
1 files changed, 0 insertions, 7464 deletions
diff --git a/gcc-4.4.3/gcc/ada/ChangeLog-2008 b/gcc-4.4.3/gcc/ada/ChangeLog-2008 deleted file mode 100644 index 4e34213ea..000000000 --- a/gcc-4.4.3/gcc/ada/ChangeLog-2008 +++ /dev/null @@ -1,7464 +0,0 @@ -2008-12-09 Jakub Jelinek <jakub@redhat.com> - - PR ada/38450 - * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE. - * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type): - Likewise. - -2008-12-05 Sebastian Pop <sebastian.pop@amd.com> - - PR bootstrap/38262 - * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS. - -2008-11-29 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/30827 - * g-comver.adb (Ver_Len_Max): Fix inconsistency. - -2008-11-27 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c: Fix various nits. - -2008-11-20 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch. - -2008-11-16 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/38127 - * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not - special-case boolean types. Propagate the name. - * gcc-interface/targtyps.c: Tweak comment. - -2008-11-15 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c (emit_check): Put back a final save_expr - to prevent exponential expansion during gimplification. - -2008-11-15 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/lang-specs.h: Expand -coverage and reorder switches. - -2008-11-15 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants - initialized to a static constant to be statically allocated even if - they are of a padding type, provided the original type also has - constant size. - -2008-11-15 Laurent Guerby <laurent@guerby.net> - - PR ada/37993 - * gcc-interface/Makefile.in: Add multilib handling for x86_64 - on darwin. - * system-darwin-x86_64.ads: New file. - -2008-11-13 Olivier Hainque <hainque@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: - Turn Ada Pure on subprograms back into GCC CONST when eh constructs - are explicit to the middle-end. Tidy. - -2008-11-09 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code. - (MINUS_NOMOD_EXPR): Likewise. - * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make - unreachable. - <PLUS_NOMOD_EXPR>: New case. - <MINUS_NOMOD_EXPR>: Likewise. - * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and- - assignment statement instead of using an increment operator. - -2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * system-irix-n64.ads: New file. - * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64 - multilibs. - -2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - PR ada/37681 - * system-solaris-x86_64.ads: New file. - * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib. - -2008-11-07 Bechir Zalila <bechir.zalila@gmail.com> - Eric Botcazou <ebotcazou@adacore.com> - - PR ada/34289 - * lib.ads: (Enable_Switch_Storing): Declare. - * lib.adb: (Enable_Switch_Storing): New procedure. - * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea. - * make.adb: (Compile_Sources.Compile): Add -gnatea as first option. - (Display): Never display -gnatea - * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez. - -2008-11-07 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check - for empty range in original base type, not converted result type. - -2008-11-07 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments - and result for call to __gnat_mulv64. - -2008-11-07 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.c: Fix formatting nits. - -2008-11-07 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting - overflow check for constant result. - -2008-11-07 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient - overflow check for addition/subtraction if neither operand is constant. - -2008-11-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of - files for the target-dependent part of the runtime. - (SPARC/Linux): Likewise. - -2008-11-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not - optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging - purposes. - -2008-11-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/misc.c (gnat_printable_name): Always return a copy - in GC memory. - -2008-11-06 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/19419 - * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: - Generate a call to memmove for an assignment between overlapping - array slices. - -2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> - - PR target/37977 - * gcc-interface/Makefile.in: Add multilib handling for - s390-linux and s390x-linux. - -2008-10-24 Jakub Jelinek <jakub@redhat.com> - - * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on - check-acats-subtargets and check-gnat-subtargets. - (check_acats_targets): New variable. - (check-acats-subtargets, check-acats%): New targets. - (check-acats): If -j is used and CHAPTERS is empty, run the testing - in multiple make goals, possibly parallel, and afterwards run - dg-extract-results.sh to merge the sum and log files. - -2008-10-17 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion - to use only a single check instead of three, and avoid unnecessary - COMPOUND_EXPR. - (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes - creating more opportunities for optimizations. - -2008-10-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/37601 - * gcc-interface/utils.c (gnat_types_compatible_p): Handle - NULL TYPE_DOMAIN. - -2008-10-07 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code - dealing with volatileness to after code dealing with renaming. - -2008-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks. - * gcc-interface/trans.c (Pragma_to_gnu): Likewise. - -2008-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate. - (unchecked_convert): Use it to disable problematic folding with - VIEW_CONVERT_EXPR in the general case. Always disable it for the - special VIEW_CONVERT_EXPR built for integral types and cope with - its addressability issues by preserving the first conversion. - -2008-10-01 Andreas Schwab <schwab@suse.de> - - * system-linux-ppc64.ads: New file. - * gcc-interface/Makefile.in: Add multilib handling for - powerpc-linux. - -2008-09-26 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion - to that of ptr_mode instead of word_mode. - -2008-09-26 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/5911 - * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support. - -2008-09-25 Samuel Tardieu <sam@rfc1149.net> - - PR ada/37641 - * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA - instead of deprecated FILE_WRITE_PROPERTIES. - -2008-09-22 Olivier Hainque <hainque@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they - are never assigned, volatile entities are not constant for code - generation purposes. - -2008-09-21 Laurent Guerby <laurent@guerby.net> - - PR ada/5911 - * gcc-interface/Makefile.in: Add multilib handling for x86_64 - and sparc. - * system-linux-sparcv9.ads: New file. - -2008-09-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_dbug.ads: Document new convention for the XVZ variable. - * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate - debug info if necessary for the type padding the component type. - <E_Array_Subtype>: Likewise. - (maybe_pad_type): Emit the XVZ variable in units. - * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits. - (Subprogram_Body_to_gnu): Set the source line of the subprogram's node - on statements generated to initialize the parameter attributes cache. - Set the source line of the end label of the body on the special return - statement built for a procedure with copy-in copy-out parameters. - -2008-09-20 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/37585 - * gcc-interface/utils.c (create_subprog_decl): Disable inlining for - inlined external functions if they contain a nested function not - declared inline. - -2008-09-18 Jan Hubicka <jh@suse.cz> - - * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P. - (end_subprog_body): Do not set DECL_INLINE. - -2008-09-17 Pascal Rigaux <pixel@mandriva.com> - - PR ada/21327 - * gnat_ugn.texi: Use proper format in direntry. - -2008-09-15 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.c (gigi): Declare the name of the compilation - unit as the first global name. - -2008-09-14 Jan Hubicka <jh@suse.cz> - - * gcc-interface/Make-lang.in (gnat1): Add CFLAGS. - -2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads, - bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb, - exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, - exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb, - exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads, - g-diopit.adb, g-socket.ads, gcc-interface/decl.c, - gcc-interface/gigi.h, gcc-interface/trans.c, - lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads, - opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads, - s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads, - s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb, - sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, - sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, - sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads, - sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in - comments. - * gnathtml.pl: Fix typos. - -2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com> - - * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb. - * s-osinte-rtems.ads: Add shared hardware interrupt adapter - layer. RTEMS binds to OS provided adapter routines so there are - no modifications to s-osinte-rtems.adb. - -2008-09-09 Arnaud Charlet <charlet@adacore.com> - Joel Sherrill <joel.sherrill@oarcorp.com> - - * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb. - - * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb - - * s-interr-hwint.adb: New file. - - * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions - needed by s-interr-hwint.adb. - - * s-osinte-vxworks-kernel.adb: New file. - -2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com> - - * s-stchop-rtems.adb: Add file missed in early commit. Already - referenced in gcc-interface/Makefile.in. - -2008-08-30 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to - be built even without a separate libada directory. - -2008-08-22 Arnaud Charlet <charlet@adacore.com> - - * lib-xref.ads: Fix typo in subprogram reference definition. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix - to avoid warning. - - * g-trasym.adb: Ditto - - * s-utf_32.adb (Get_Category): Fix obvious typo - - * s-wwdcha.adb: Minor code reorganization - Remove dead code - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * checks.adb (Determine_Range): Deal with values that might be invalid - - * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New - configuration switches. - - * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values - - * sem_prag.adb: Implement pragma Assume_No_Default_Values - - * snames.adb, snames.ads, snames.h: - Add entries for pragma Assume_No_Invalid_Values - - * switch-c.adb: Add processing for -gnatB switch - - * usage.adb: Add entry for flag -gnatB (no bad invalid values) - -2008-08-22 Javier Miranda <miranda@adacore.com> - - * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the - init procedure all the expanded code associated with the spec of - task types and protected types. - -2008-08-22 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the - component expression copies rather than directly setting Etype and - Is_Static_Expression. - -2008-08-22 Gary Dismukes <dismukes@adacore.com> - - * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of - private types to allow for types derived from a private type with - preelaborable initialization, but return False for a private extension - (unless it has the pragma). - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * opt.ads: Minor code reorganization (put entries in alpha order) - -2008-08-22 Pascal Obry <obry@adacore.com> - - * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking - spawn. - -2008-08-22 Geert Bosch <bosch@adacore.com> - - * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN - (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0 - -2008-08-22 Doug Rupp <rupp@adacore.com> - - * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call - __gnat_set_features. - - * init.c - (__gnat_set_features): New function. - (__gnat_features_set): New tracking variable. - (__gl_no_malloc_64): New feature global variable - -2008-08-22 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant - use_type_clause in an instance. - -2008-08-22 Bob Duff <duff@adacore.com> - - * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * exp_ch6.adb: Minor reformatting - - * exp_ch7.adb: Minor reformatting - - * exp_ch7.ads: Put routines in proper alpha order - - * exp_dist.adb: Minor reformatting - -2008-08-22 Vincent Celier <celier@adacore.com> - - * prj.ads: Minor comment update - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack - -2008-08-22 Ed Schonberg <schonberg@adacore.com> - - * exp_tss.adb: - (Base_Init_Proc): For a protected subtype, use the base type of the - corresponding record to locate the propoer initialization procedure. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * checks.adb: - (In_Subrange_Of): New calling sequence - (Determine_Range): Prepare for new processing using base type - - * exp_ch4.adb: - (Compile_Time_Compare): Use new calling sequence - - * exp_ch5.adb: - (Compile_Time_Compare): Use new calling sequence - - * sem_eval.adb: - (Compile_Time_Compare): New calling sequence allows dealing with - invalid values. - (In_Subrange_Of): Ditto - - * sem_eval.ads: - (Compile_Time_Compare): New calling sequence allows dealing with - invalid values. - (In_Subrange_Of): Ditto - -2008-08-22 Pascal Obry <obry@adacore.com> - - * adaint.c: Fix possible race condition on win32_wait(). - -2008-08-22 Bob Duff <duff@adacore.com> - - * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb, - exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb, - exp_intr.adb, exp_ch3.adb: Rename: - Exp_Ch7.Controlled_Type => Needs_Finalization - Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part - Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type => - Has_Controlled_Parts - (Has_Some_Controlled_Component): Fix bug in array case. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * sem_ch8.adb: Minor reformatting - -2008-08-22 Kevin Pouget <pouget@adacore.com> - - * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and - Shared_Var_Close procedure specifications from package spec to package body. - - * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen, - RE_Shared_Var_WOpen entries. - - * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in - Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures. - -2008-08-22 Eric Botcazou <ebotcazou@adacore.com> - - * init.c: adjust EH support code on Alpha/Tru64 as well. - - * raise-gcc.c: Add back a couple of comments. - -2008-08-22 Ed Schonberg <schonberg@adacore.com> - - * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is - involved and the return type is class-wide, use the type of the expression - for the generated access type. Suppress useless discriminant checks on the - allocator. - -2008-08-22 Bob Duff <duff@adacore.com> - - * exp_ch7.adb: Minor comment fix - - * exp_ch6.ads: Minor comment fix - -2008-08-22 Thomas Quinot <quinot@adacore.com> - - * sem_ch8.adb: Minor reformatting - Minor code reorganization (introduce subprogram to factor duplicated - code). - -2008-08-22 Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Change the description of gnatcheck default rule - settings. - -2008-08-22 Eric Botcazou <ebotcazou@adacore.com> - - * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX, - Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux, - do not adjust the PC anymore. - (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise - on AIX, HP-UX, Solaris, FreeBSD and VxWorks. - - * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo - instead of _Unwind_GetIP. - -2008-08-22 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate - with a range is transformed into a positional aggregate, any copied - component literals should be marked Is_Static_Expression. - - * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as - not being known at at compile time when Configurable_Run_Time_Mode is - true. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * exp_attr.adb: - (Expand_N_Attribute_Reference): No validity checking on OUT parameter of - Read or Input attribute. - -2008-08-22 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb (Use_One_Type): when checking which of two use_type - clauses in related units is redundant, if one of the units is a package - instantiation, use its instance_spec to determine which unit is the - ancestor of the other. - -2008-08-22 Javier Miranda <miranda@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): In case of access - attributes add missing support to handle designated types that come - from the limited view. - - * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion. - -2008-08-22 Sergey Rybin <rybin@adacore.com> - - * vms_data.ads: Add entry for new gnatcheck -mNNN option - - * gnat_ugn.texi: Add description for gnatcheck option '-m' - -2008-08-22 Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Update the gnatcheck subsection for metric rules - acoording to the latest changes in the metric rule interface - -2008-08-22 Vincent Celier <celier@adacore.com> - - * make.adb (Check.File_Not_A_Source_Of): New Boolean function - (Check): Check if the file names registered in the ALI file for the - spec, the body and each of the subunits are the ones expected. - -2008-08-22 Robert Dewar <dewar@adacore.com> - - * g-catiio.adb: Code cleanup. - -2008-08-20 Vincent Celier <celier@adacore.com> - - * make.adb (Gnatmake): Remove extra space in version line - - * ali.adb: - (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit, - as the name may already have been entered in the table by the Project - Manager. - -2008-08-20 Jose Ruiz <ruiz@adacore.com> - - * errno.c (__get_errno, __set_errno for MaRTE): Transform then into - weak symbols so we use the version provided by MaRTE when available. - -2008-08-20 Emmanuel Briot <briot@adacore.com> - - * g-catiio.ads, g-catiio.adb: - (Value): Avoid an unnecessary system call to Clock in most cases. - This call is only needed when only the time is provided in the string, - and ignored in all other cases. This is more efficient. - -2008-08-20 Eric Botcazou <ebotcazou@adacore.com> - - * raise-gcc.c: Fix formatting nits. - -2008-08-20 Robert Dewar <dewar@adacore.com> - - * sem_ch13.adb: - (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for - non-existing component clause. - - * exp_ch5.adb: Minor reformatting - - * g-comlin.adb: Minor reformatting - - * make.adb: Minor reformatting - - * prj-proc.adb: Minor reformatting - - * stylesw.ads: Minor reformatting - -2008-08-20 Vincent Celier <celier@adacore.com> - - * make.adb (Gnatmake_Switch_Found): New Boolean global variable - (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable - (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler - defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False - and a switch is not recognized by gnatmake. - (Gnatmake): Implement new scheme for gnatmake switches and global - compilation switches. - (Switches_Of): Try successively Switches (<file name>), - Switches ("Ada"), Switches (others) and Default_Switches ("Ada"). - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to - implement style check that overriding operations are explicitly marked - at such. - - * style.ads (Missing_Overriding): new procedure that provides interface - to previous one. - - * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check - that the declaration or body of overriding operations carries an - explicit overriding indicator. - - * sem_ch8.adb - (Analyze_Subprogram_Renaming): if operation is overriding, check whether - explicit indicator should be present. - - * sem_ch6.adb (Verify_Overriding_Indicator, - Check_Overriding_Indicator): If operation is overriding, check whether - declaration and/or body of subprogram should be present - -2008-08-20 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for - gprbuild when casing is MixedCase, whatever the casing of the letters - in the file name. - -2008-08-20 Gary Dismukes <dismukes@adacore.com> - - * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to - creating dummy init proc. - (Requires_Init_Proc): Return False in the case No_Default_Initialization - is in force and the type does not have associated default - initialization. Move test of Is_Public (with tests of restrictions - No_Initialize_Scalars and No_Default_Initialization) to end, past tests - for default initialization. - -2008-08-20 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part - of any alias or prefix but having attached parameters (as \"-O2\"). - -2008-08-20 Robert Dewar <dewar@adacore.com> - - * s-fileio.adb: Minor reformatting - -2008-08-20 Thomas Quinot <quinot@adacore.com> - - * exp_strm.adb (Build_Elementary_Input_Call, - Build_Elementary_Write_Call): Fix incorrect condition in circuitry that - selects the stream attribute routines for long float types. - -2008-08-20 Vincent Celier <celier@adacore.com> - - * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data - - * prj.ads (Array_Data): Add a component Location - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * sem_prag.adb: - (Analyze_Pragma, case Obsolescent): Add entity information on the pragma - argument for ASIS and navigation use. - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * einfo.ads: Add comment. - -2008-08-20 Bob Duff <duff@adacore.com> - - * sem_eval.ads: Minor comment fix. - -2008-08-20 Bob Duff <duff@adacore.com> - - * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant - folding. We were folding things like "False and then ...", but not - "X and then ..." where X is a constant whose value is known at compile - time. - -2008-08-20 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_ch5.adb (Controlled_Type): New routine. - (Expand_N_Extended_Return_Statement): When generating a move of the - final list in extended return statements, check the type of the - function and in the case of double expanded return statements, the type - of the returned object. - (Expand_Simple_Function_Return): Perform an interface conversion when - the type of the returned object is an interface and the context is an - extended return statement. - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type - and the full view is visible, set flag on full view as well. - -2008-08-20 Thomas Quinot <quinot@adacore.com> - - * g-comlin.adb: Minor reformatting - Minor code reorganization. - - * freeze.adb: Minor reformatting - -2008-08-20 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb (Check_File): An excluded Ada source file may be a - source of another project. - -2008-08-20 Pascal Obry <obry@adacore.com> - - * s-os_lib.ads: Minor reformatting. - -2008-08-20 Arnaud Charlet <charlet@adacore.com> - - * gnatvsn.ads: Minor reformatting. - -2008-08-20 Arnaud Charlet <charlet@adacore.com> - - * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads, - system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb, - g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads, - mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb, - exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads, - g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb, - s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb, - sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb, - s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads, - g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb, - g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb, - g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads, - live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb, - g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads, - s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb, - g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads, - s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads, - g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb, - osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb, - system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads, - i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads, - s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads, - a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads, - s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb, - a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads, - g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb, - a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c, - a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb, - lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads, - s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads, - par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads, - a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb, - system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads, - s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads, - a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb, - mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb, - s-poosiz.adb, link.c: Fix copyright notice. - -2008-08-20 Arnaud Charlet <charlet@adacore.com> - - * g-comlin.ads: Update comments. - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag. - -2008-08-20 Gary Dismukes <dismukes@adacore.com> - - * exp_ch11.adb: - (Expand_Exception_Handlers): Call Make_Exception_Handler instead of - Make_Implicit_Exception_Handler when rewriting an exception handler with - a choice parameter, and pass the handler's Sloc instead of that of the - handled sequence of statements. Make_Implicit_Exception_Handler sets the - Sloc to No_Location (unless debugging generated code), which we don't - want for the case of a user handler. - -2008-08-20 Robert Dewar <dewar@adacore.com> - - * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field - - * sem_ch13.adb: - (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are - now labeled as info msgs, not warnings. - - * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler - - * usage.adb: Minor change to avoid overlong line for -gnatwz/Z - - * a-textio.adb: Remove redundant test. - - * a-witeio.adb: Minor code reorganization - Remove redundant test found working on another issue - - * a-ztexio.adb: Minor code reorganization - Remove redundant test found working on another issue - -2008-08-20 Thomas Quinot <quinot@adacore.com> - - * s-fileio.adb (Open) Use C helper function to determine whether a - given errno value corresponds to a "file not found" error. - - * sysdep.c (__gnat_is_file_not_found_error): New C helper function. - -2008-08-20 Jose Ruiz <ruiz@adacore.com> - - * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno - to get access to the per-task errno variable. - (__set_errno for MaRTE): Do not redefine this function here since it is - already defined in MaRTE. - -2008-08-20 Tristan Gingold <gingold@adacore.com> - - * gnat_ugn.texi: Gcov is not supported on static library on AIX. - -2008-08-20 Robert Dewar <dewar@adacore.com> - - * freeze.adb: Minor reformatting - - * g-comlin.adb: Minor reformatting - - * g-socket.adb: Minor reformatting - - * g-socthi-mingw.adb: Minor reformatting - - * g-stheme.adb: Minor reformatting - -2008-08-20 Ed Schonberg <schonberg@adacore.com> - - * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads, - exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve - confusion between partial and full views of an ancestor of the context - type when the parent is a private extension declared in a parent unit, - and full views are available for the context type. - -2008-08-18 Samuel Tardieu <sam@rfc1149.net> - Robert Dewar <dewar@adacore.com> - - PR ada/30827 - * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the - version string. - Move comment in the right place. - * g-comver.adb (Version): Look for a zero-termination in - addition to a closing parenthesis. - -2008-08-18 Samuel Tardieu <sam@rfc1149.net> - - * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb, - * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, - * sem_prag.adb, sem_util.adb, sem_warn.adb: Use - Is_Package_Or_Generic_Package instead of hand-crafted tests. - -2008-08-18 Samuel Tardieu <sam@rfc1149.net> - - PR ada/15808 - * sem_ch6.adb (Check_Private_Overriding): Check for generic packages - as well. - -2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com> - - * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement. - -2008-08-16 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call - for back-copy statements in lieu of that of the actual. - -2008-08-16 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/20548 - * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the - setjmp test consistently. Adjust for new behavior of flag_stack_check. - * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant - test of flag_stack_check. Adjust for new behavior of flag_stack_check. - -2008-08-13 Samuel Tardieu <sam@rfc1149.net> - - PR ada/36777 - * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New. - * sem_attr.adb (Check_Type): The current instance of a protected - object is not a type name. - (Analyze_Access_Attribute): Accept instances of protected objects. - (Analyze_Attribute, Attribute_Address clause): Ditto. - * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite - the prefix as being the current instance if needed. - -2008-08-12 Danny Smith <danyssmith@users.sourceforge.net> - - * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: - Remove duplicate s-win32.o. Add s-winext.o. - -2008-08-12 Danny Smith <danyssmith@users.sourceforge.net> - - * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM - with SOSC.SOCK__STREAM. - * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with - SOSC.MSG_OOB. - -2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com> - - * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it. - * gsocket.h, socket.c: Update to support RTEMS. - * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross. - -2008-08-10 Samuel Tardieu <sam@rfc1149.net> - Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of - left argument even when right argument is 0. - (Expand_N_Op_Mod): Ditto when right argument is 1. - (Expand_N_Op_Multiply): Ditto when any argument is 0. - (Expand_N_Op_Rem): Ditto when right argument is 1. - -2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> - - * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused - by warn_unused. - -2008-08-08 Ed Schonberg <schonberg@adacore.com> - - * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted - from Freeze_Entity. Used to generate cross-reference information for - types declared in generic packages. - -2008-08-08 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a - compatibility shim. - -2008-08-08 Thomas Quinot <quinot@adacore.com> - - * gsocket.h: - On Windows, include <errno.h> and redefine only selected errno values - from their <winsock2.h> definitions. - - * s-osinte-freebsd.ads: Minor reformatting - - * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting - - * g-soccon.ads: New file. - - * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb, - g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb, - g-stsifd-sockets.adb, g-socket.adb, g-socket.ads, - g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child - unit, to allow building software that depends on this internal unit - with both older and newer compilers. - -2008-08-08 Robert Dewar <dewar@adacore.com> - - * s-strxdr.adb: Minor reformatting - -2008-08-08 Bob Duff <duff@adacore.com> - - * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow - checking for integer operations (including division by zero)", which - is wrong -- divide by zero is not part of overflow checking. - Also added misc clarification about what check-suppression means. - - * gnat_rm.texi: Clarify the meaning of pragma Suppress. - -2008-08-08 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (Add_Switch): Handle addition of switches at the - begining of the command line. - (Append, Add): Renaming of Append to Add as this now allows addition - at the begining of the list. - - * g-comlin.ads (Add_Switch): Handle addition of switches at the - begining of the command line. - -2008-08-08 Thomas Quinot <quinot@adacore.com> - - * g-sercom.ads: - (Name): Document application scope (only legacy PC serial ports on - Linux and Windows). - -2008-08-08 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert - previous change, not needed after all. - -2008-08-08 Ed Schonberg <schonberg@adacore.com> - - * exp_ch4.adb (Expand_Allocator_Expression): add check if null - exclusion indicator is present - -2008-08-08 Robert Dewar <dewar@adacore.com> - - * g-comlin.adb: Minor code reorganization - Minor reformatting - - * g-comlin.ads: Minor reformatting - - * s-fileio.adb: Minor reformatting - - * sem_attr.adb: Minor code reorganization (use Nkind_In) - Minor reformatting - -2008-08-06 Samuel Tardieu <sam@rfc1149.net> - - * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing - with s-oscons-tmplt.i. - -2008-08-06 Samuel Tardieu <sam@rfc1149.net> - - * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove. - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse - of incomplete type. - - * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming - of a formal parameter of an incomplete type. Improve error message for - other improper uses of incomplete types. - -2008-08-06 Robert Dewar <dewar@adacore.com> - - * gnat_ugn.texi: Clarify -gnato documentation - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/Makefile.in, - g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb, - g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads, - g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads, - g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads, - g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads, - g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads, - g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads, - g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads, - g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads: - Remove GNAT.Sockets.Constants. This internal package is replaced by - System.OS_Constants. - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: - Remove obsolete targets referencing gen-soccon - When generating s-oscons.ads, use a file name that includes the - THREAD_KIND, to ensure that the (potentially different) version from a - previous build with a different threads flavour does not get reused. - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * sem_res.adb: Minor reformatting - - * s-fileio.adb (Open): When file open operation fails, raise Name_Error - only when the operating system reports a non-existing file or directory - (ENOENT), otherwise raise Name_Error. - - * exp_ch11.adb: Minor reformatting - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is - incomplete, add the access_to_subprogram type to the list of private - dependents only if the incomplete type will be completed in the current - scope. - (Build_Discriminant_Constraints): If the type of the discriminant is - access_to_variable, reject a constraint that is access_to_constant. - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb, - g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads, - g-sttsne-dummy.ads: New files. - - * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources - with pragma Unimplemented_Unit for sockets packages on Nucleus. - -2008-08-06 Pascal Obry <obry@adacore.com> - - * adaint.c: Another fix for ACL support on Windows. - -2008-08-06 Javier Miranda <miranda@adacore.com> - - * exp_disp (Expand_Interface_Actuals): Adds missing support for - expansion of calls to subprograms using selected components. - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * sem_res.adb (Resolve_Call): Use base type to determine whether a - dereference is needed because a subtype of an access_to_subprogram is - simply an access-subtype - -2008-08-06 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (Set_Command_Line): Now that aliases can contain - parameters, always specify the expected separator. - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * xnmake.adb: Use new XUtil package for platform independent text - output. - -2008-08-06 Vincent Celier <celier@adacore.com> - - * gnat_ugn.texi: Document compiler switch -gnateG - -2008-08-06 Quentin Ochem <ochem@adacore.com> - - * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark - in the case of an empty pattern size. - (Compute_Result): Do not do any computation in the case of an empty - pattern size. - (Report_Result): Fixed computation of the overflow guard. - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * g-awk.adb (Finalize): Do not use directly objects of the type in the - finalization routine to prevent elaboration order anomalies in new - finalization scheme. - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete - declaration for the same type. - -2008-08-06 Thomas Quinot <quinot@adacore.com> - - * sem.adb: Minor rewording (comment) - -2008-08-06 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (Define_Switch, Get_Switches): New. - (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when - ungrouping switches. - (For_Each_Simple_Switch): Allow more control over parameters handling. - This generic method now allows ungrouping of switches with parameters - and switches with more than one letter after the prefix. - (Set_Command_Line): Take care of switches that are prefixed with a - switch handling parameters without delimiter (-gnatya and -gnaty3 for - example). - (Add_Switch, Remove_Switch): Handle parameters possibly present inside - a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of - the operation. - (Start, Alias_Switches, Group_Switches): Take care of parameters - possibly present inside a group. - - * g-comlin.ads (Define_Switch): New method used to define a list of - expected switches, that are necessary for correctly ungrouping switches - with more that one character after the prefix. - (Get_Switches): Method that builds a getopt string from the list of - switches as set previously by Define_Switch. - (Add_Switch, Remove_Switch): New versions of the methods, reporting the - status of the operation. Also allow the removal of switches with - parameters only. - (Command_Line_Configuration_Record): Maintain a list of expected - switches. - -2008-08-06 Doug Rupp <rupp@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if - TARGET_MALLOC64 clear. - - * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc - if TARGET_MALLOC64 clear. - - * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c - (TARGET_MALLC64): New macro. Default to clear. - -2008-08-06 Doug Rupp <rupp@adacore.com> - - * gcc-interface/utils2.c (snames.h) Include - (TARGET_ABI_OPEN_VMS): Initialize. - (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap - for Convention C. - -2008-08-06 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper - null exclusion in a discriminant declaration - - * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion - indicators when type is not an access type. - - * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion - indicators when type is not an access type. - -2008-08-06 Javier Miranda <miranda@adacore.com> - - * exp_disp (Expand_Interface_Conversion): Freeze the entity associated - with the target interface before expanding the code of the interface - conversion. - -2008-08-05 Ed Schonberg <schonberg@adacore.com> - - * freeze.adb: - (Freeze_Entity): A deferred constant does not violate the restriction - No_Default_Initialization, - - * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that - can carry a null exclusion indicator, and on which an error may be - posted if the indicator is redundant. - - * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion - does not apply to a subtype mark that already excludes null. - - * sem_ch12.adb (Formal_Object_Declaration): Verify that a null - exclusion does not apply to a subtype mark that already excludes null. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * Makefile.rtl: Compile s-oscons.ads as part of the runtime library. - -2008-08-05 Doug Rupp <rupp@adacore.com> - - * vms_data.ads: Translation for /POINTER_SIZE qualifier. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * gsocket.h: Make this file includable in a Nucleus environment, which - does not support sockets. - - * socket.c: Remove Nucleus-specific hack. - -2008-08-05 Pascal Obry <obry@adacore.com> - - * adaint.c: Remove support for readable attribute on vxworks and nucleus - -2008-08-05 Ed Schonberg <schonberg@adacore.com> - - * sem_attr.adb: - (Analyze_Attribute, case 'Result): handle properly the case where some - operand of the expression in a post-condition generates a transient - block. - - * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to - right-hand side when it is an anonymous access_to_subprogram, to force - static accessibility check when needed. - -2008-08-05 Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Changing the description of the gnatcheck metrics - rule according to the change in the rule option. - Add documentation for -gnatw.b/-gnatw.B - -2008-08-05 Robert Dewar <dewar@adacore.com> - - * ug_words: Add entries for -gnatw.b/-gnatw.B - - * vms_data.ads: Add entries for -gnatw.b/-gnatw.B - -2008-08-05 Vincent Celier <celier@adacore.com> - - * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put - (File). - - * a-ztdeio.adb: Ditto. - -2008-08-05 Pascal Obry <obry@adacore.com> - - * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the - readable attribute. - -2008-08-05 Vincent Celier <celier@adacore.com> - - * s-wchwts.adb: - (Wide_String_To_String): Returns a String with the same 'First as its - parameter S. - (Wide_Wide_String_To_String): Ditto - - * s-wchwts.ads: - (Wide_String_To_String): Document that the lowest index of the returned - String is equal to S'First. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files. - - * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate - s-oscons.ads - -2008-08-05 Robert Dewar <dewar@adacore.com> - - * opt.ads (Warn_On_Biased_Representation): New flag - - * sem_ch13.adb: - (Analyze_Attribute_Definition_Clause): Issue warning when biased - representation is required. - (Minimum_Size): Don't allow biasing if enum rep clause case - - * sem_warn.adb: - (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches - (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws - - * usage.adb: Add lines for -gnatw.b/B switches - -2008-08-05 Pascal Obry <obry@adacore.com> - - * a-coinve.adb: Reorder the code to avoid uninitialized warning. - - * adaint.c: In UNIX cases do not call __gnat_stat but stat directly. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * socket.c: Minor reformatting. - -2008-08-05 Robert Dewar <dewar@adacore.com> - - * sem_ch3.adb: Minor reformatting - - * prj-nmsc.adb: Minor reformatting - -2008-08-05 Ed Schonberg <schonberg@adacore.com> - - * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex - visibility check on the component type if the simple test fails. - -2008-08-05 Jose Ruiz <ruiz@adacore.com> - - * init.c (__gnat_install_handler for linux): If we are building the - Xenomai run time then we need to do two additional things: avoid - memory swapping and transform the Linux environment task into a native - Xenomai task. - - * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run - time): Use interface to Xenomai native skin and avoid linux-specific - way of setting CPU affinity. - (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism. - -2008-08-05 Bob Duff <duff@adacore.com> - - * checks.ads: Minor comment fix - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, - g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and - CS8. - -2008-08-05 Robert Dewar <dewar@adacore.com> - - * mlib.adb: Minor code reorganization - Minor reformatting - - * make.adb: Minor reformatting - - * prj-attr.ads: Minor reformatting - - * s-os_lib.adb: Minor reformatting - - * s-fileio.adb: Minor code reorganization - Minor reformatting - - * prj.ads: Minor reformatting - -2008-08-05 Bob Duff <duff@adacore.com> - - * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in - unresolved initial value of "null", because it causes implicitly - generated "=" operators to be ambiguous, and because this type should - not be passed to gigi. - -2008-08-05 Vincent Celier <celier@adacore.com> - - * mlib.adb: Update comments. - - * make.adb (Switches_Of): Check for Switches (others), before checking - for Default_Switches ("Ada"). - (Gnatmake): Use Builder'Switches (others) in preference to - Builder'Default_Switches ("Ada") if there are several mains. - - * prj-attr-pm.adb: - (Add_Attribute): Add component Others_Allowed in Attribute_Record - aggregate. - - * prj-attr.adb: - Add markers to indicates that attributes Switches allow others as index - (Others_Allowed_For): New Boolean function, returning True for - attributes with the mark. - (Initialize): Recognize optional letter 'O' as the marker for - associative array attributes where others is allowed as the index. - - * prj-attr.ads: - (Others_Allowed_For): New Boolean function - (Attribute_Record): New Boolean component Others_Allowed - - * prj-dect.adb: - (Parse_Attribute_Declaration): For associative array attribute where - others is allowed as the index, allow others as an index. - - * prj-nmsc.adb: - (Process_Binder): Skip associative array attributes with index others - (Process_Compiler): Ditto - - * prj-util.adb: - (Value_Of (Index, In_Array)): Make no attempt to put in lower case when - index is All_Other_Names. - - * prj.ads: - (All_Other_Names): New constant - - * prj-proc.adb: - (Process_Declarative_Items): Skip associative array attribute when index - is reserved word "others". - -2008-08-05 Vasiliy Fofanov <fofanov@adacore.com> - - * gen-oscons.c: Adapt for VMS where termios.h is not available. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * a-rttiev.adb: Minor reformatting (comments) - - * gen-soccon.c: Rename to gen-oscons.c - - * gen-oscons.c: New file. Now generate System.OS_Constants instead of - GNAT.Sockets.Constants. - Add new constants for GNAT.Serial_Communications and System.File_IO. - -2008-08-05 Javier Miranda <miranda@adacore.com> - - * sem_util.adb (Collect_Interfaces_Info): Minor reformating. - * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the - implementation of this routine has been simplified. - -2008-08-05 Pascal Obry <obry@adacore.com> - - * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the - Set_Read_Only Win32 implementation. - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * exp_strm.adb: Minor reformatting (comments) - - * sem_ch12.adb: Minor reformatting. - -2008-08-05 Robert Dewar <dewar@adacore.com> - - * sem_ch3.adb: Minor reformatting - - * checks.adb: Minor reformatting - -2008-08-05 Thomas Quinot <quinot@adacore.com> - - * tbuild.ads (New_External_Name): Update spec to reflect relaxed - restriction on Prefix. - -2008-08-05 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal - methods needed to handle switch sections when building a command line. - (Define_Section, Add_Switch, Remove_Switch, Is_New_Section, - Current_Section): New public methods or methods modified to handle - building command lines with sections. - (Set_Command_Line): Take into account sections when analysing a switch - string. - (Start): Sort the switches by sections before iterating the command line - elements. - - * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch, - Is_New_Section, Current_Section): New methods or methods modified to - handle building command lines with sections. - -2008-08-05 Ed Schonberg <schonberg@adacore.com> - - * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access - discriminants, indicate that the corresponding object declaration has - no initialization, to prevent spurious warnings when the access type is - null-excluding. - -2008-08-05 Ed Schonberg <schonberg@adacore.com> - - * sem_res.adb (Resolve_Call): If this is a call to the predefined - Abort_Task, warn if the call appears within a protected operation. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb: - (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an - anonymous access to protected subprogram that is the return type of the - specification of a subprogram body. - - * sem_ch6.adb: - (Analyze_Subprogram_Body): if the return type is an anonymous access to - subprogram, freeze it now to prevent access anomalies in the back-end. - - * exp_ch9.adb: Minor code cleanup. - Make sure that new declarations are inserted into the tree before - analysis (from code reading). - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * exp_ch5.adb: - (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction - at point of return. - -2008-08-04 Thomas Quinot <quinot@adacore.com> - - * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting - -2008-08-04 Vasiliy Fofanov <fofanov@adacore.com> - - * g-soccon-mingw.ads: Fix value for MSG_WAITALL - -2008-08-04 Javier Miranda <miranda@adacore.com> - - * sem_prag.adb (Process_Convention): Add missing support for - N_Private_Extension_Declaration nodes. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb: Minor reformatting - -2008-08-04 Pascal Obry <obry@adacore.com> - - * adaint.h: Add missing prototype. - - * adaint.c: Refine support for Windows file attributes. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * sem_res.adb: - (Valid_Conversion): Catch case of designated types having different - sizes, even though they statically match. - -2008-08-04 Javier Miranda <miranda@adacore.com> - - * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch - added in previous patch to handle access to subprograms. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * freeze.adb: - (Freeze_Entity): Only check No_Default_Initialization restriction for - constructs that come from source - -2008-08-04 Thomas Quinot <quinot@adacore.com> - - * exp_ch6.adb: Minor comment fix. - - * sem_ch4.adb: Minor reformatting. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * sem_res.adb: (Large_Storage_Type): Improve previous change. - -2008-08-04 Pascal Obry <obry@adacore.com> - - * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with - file attributes. - -2008-08-04 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support - for N_Formal_Object_Declaration nodes. Adding kludge required by - First_Formal to provide its functionality with access to functions. - (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support - for anonymous access types returned by functions. - - * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate - conversion of null-excluding access types (required only once to force - the generation of the required runtime check). - - * sem_type.adb (Covers): minor reformating - - * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors - with internally generated nodes. Avoid generating the error inside init - procs. - - * sem_res.adb (Resolve_Membership_Test): Minor reformating. - (Resolve_Null): Generate the null-excluding check in case of assignment - to a null-excluding object. - (Valid_Conversion): Add missing support for anonymous access to - subprograms. - - * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for - anonymous access types whose designated type is an itype. This case - occurs with anonymous access to protected subprograms types. - (Analyze_Return_Type): Add missing support for anonymous access to - protected subprogram. - - * sem_eval.adb (Subtypes_Statically_Match): In case of access to - subprograms addition of missing check on matching convention. Required - to properly handle access to protected subprogram types. - - * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on - null excluding access types. - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * sem_ch12.adb: Add comments - - * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null - access type and the allocator is not initialized, warn rather than - reporting an error. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb: Minor reformatting - - * exp_dist.adb: Minor reformatting - - * g-comlin.adb: Minor reformatting - -2008-08-04 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the - target to the type of the aggregate in the case where the target object - is class-wide. - - * exp_ch5.adb (Expand_Simple_Function_Return): When the function's - result type is class-wide and inherently limited, and the expression - has a specific type, create a return object of the specific type, for - more efficient handling of returns of build-in-place aggregates (avoids - conversions of the class-wide return object to the specific type on - component assignments). - - * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error - about a type mismatch for a class-wide function with a return object - having a specific type when the object declaration doesn't come from - source. Such an object can result from the expansion of a simple return. - -2008-08-04 Vasiliy Fofanov <fofanov@adacore.com> - - * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files. - - * gcc-interface/Makefile.in: Use 64bit-specific system files when - compiling for 64bit windows. - -2008-08-04 Jerome Lambourg <lambourg@adacore.com> - - * g-comlin.adb (Group_Switches): Preserve the switch order when - grouping and allow switch grouping of switches with more than one - character extension (e.g. gnatw.x). - (Args_From_Expanded): Remove this now obsolete method. - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for - chain at once, to ensure that type is properly decorated for back-end, - when allocator appears within a loop. - -2008-08-04 Kevin Pouget <pouget@adacore.com> - - * snames.h, snames.adb, snames.ads: - Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines. - - * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call, - Build_To_Any_Call and Build_TypeCode_Call procedures. - - * exp_attr.adb, sem_attr.adb: Add corresponding cases. - - * rtsfind.ads: Add corresponding names. - - * tbuild.adb: Update prefix restrictions to allow '_' character. - -2008-08-04 Doug Rupp <rupp@adacore.com> - - * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual - * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter. - * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and - use it. Calculate pointer range overflow using 64bit types. - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Access_Definition): A formal object declaration is a - legal context for an anonymous access to subprogram. - - * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an - indirect call, report success to the caller to include possible - interpretation. - - * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance - check when the type - of the extended return is an anonymous access_to_subprogram type. - - * sem_res.adb: - (Resolve_Call): Insert a dereference if the type of the subprogram is an - access_to_subprogram and the context requires its return type, and a - dereference has not been introduced previously. - -2008-08-04 Arnaud Charlet <charlet@adacore.com> - - * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve - gnatcheck support in GPS. - -2008-08-04 Vincent Celier <celier@adacore.com> - - * mlib.adb (Create_Sym_Links): Create relative symbolic links when - requested - -2008-08-04 Vincent Celier <celier@adacore.com> - - * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean - variable, but don't check the resulting value as it has no impact on - the processing. - - * opt.ads: - (Generate_Processed_File): New Boolean flag, set to True in the compiler - when switch -gnateG is used. - - * prep.adb: - (Preprocess): new Boolean out parameter Source_Modified. Set it to True - when the source is modified by the preprocessor and there is no - preprocessing errors. - - * prep.ads (Preprocess): new Boolean out parameter Source_Modified - - * sinput-l.adb: - (Load_File): Output the result of preprocessing if the source text was - modified. - - * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG - - * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG - - * ug_words: Add VMS equivalent for -gnateG - - * vms_data.ads: - Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG - -2008-08-04 Doug Rupp <rupp@adacore.com> - - * gcc-interface/utils2.c: - (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer - in 32bit descriptor. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * par-ch10.adb: Minor reformatting - - * i-cobol.adb: Minor reformatting. - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Access_Definition): Create an itype reference for an - anonymous access return type of a regular function that is not a - compilation unit. - -2008-08-04 Vincent Celier <celier@adacore.com> - - * prj-attr.adb: New Builder attribute Global_Compilation_Switches - - * snames.adb: New standard name Global_Compilation_Switches - - * snames.ads: New standard name Global_Compilation_Switches - - * make.adb: Correct spelling error in comment - -2008-08-04 Arnaud Charlet <charlet@adacore.com> - - * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI - target. - -2008-08-04 Thomas Quinot <quinot@adacore.com> - - * sem_ch10.adb: Minor comment fix. - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * restrict.adb: Improved messages for restriction warnings - - * restrict.ads: Improved messages for restriction messages - - * s-rident.ads (Profile_Name): Add No_Profile - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus - -2008-08-04 Robert Dewar <dewar@adacore.com> - - * freeze.adb (Freeze_Entity): Check for size clause for boolean warning - -2008-08-04 Vincent Celier <celier@adacore.com> - - * prj-proc.adb: - (Copy_Package_Declarations): When inheriting package Naming from a - project being extended, do not inherit source exception names. - -2008-08-04 Ed Schonberg <schonberg@adacore.com> - - * sem_prag.adb (Check_Precondition_Postcondition): When scanning the - list of declaration to find previous subprogram, do not go to the - original node of a generic unit. - -2008-08-02 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>: - New case. Convert BOOLEAN_TYPE operation to the default integer type. - -2008-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE. - * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify - and adjust for above renaming. - * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new - gnu_expr_alt_type parameter. Convert the expression to it instead - of changing its type in place. - (build_function_stub): Adjust call to above function. - -2008-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead - code. Do not get full definition of deferred constants with address - clause for a use. Do not ignore deferred constant definitions with - address clause. Ignore constant definitions already marked with the - error node. - <object>: Remove obsolete comment. For a deferred constant with - address clause, get the initializer from the full view. - * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>: - Rework and remove obsolete comment. - <N_Object_Declaration>: For a deferred constant with address clause, - mark the full view with the error node. - * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix - formatting nits. - -2008-08-01 Hristian Kirtchev <kirtchev@adacore.com> - - * rtsfind.ads: Add block IO versions of stream routines for Strings. - - * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads, - sem_prag.adb, snames.adb, snames.ads, snames.h, - par-prag.adb: Undo previous stream related changes. - - * s-rident.ads: Add new restriction No_Stream_Optimizations. - - * s-ststop.ads, s-ststop.adb: Comment reformatting. - Define enumeration type to designate different IO mechanisms. - Enchance generic package Stream_Ops_Internal to include an - implementation of Input and Output. - - * exp_attr.adb (Find_Stream_Subprogram): If restriction - No_Stream_Optimization is active, choose the default byte IO - implementations of stream attributes for Strings. - Otherwise use the corresponding block IO version. - -2008-08-01 Olivier Hainque <hainque@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not - turn Ada Pure into GCC const, now implicitely implying nothrow as well. - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to - convert plain identifier into defining identifier. - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve - warnings - - * lib-xref.adb: Add error defense. - -2008-08-01 Bob Duff <duff@adacore.com> - - * ioexcept.ads, sequenio.ads, directio.ads: Correct comment. - -2008-08-01 Gary Dismukes <dismukes@adacore.com> - - * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing - correct accessibility levels. In the "when others" case, retrieve the - access level of the Etype of Prev rather than Prev_Orig, because the - original exression has not always been analyzed. - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * prj-nmsc.adb: Minor reformatting - - * sem_ch4.adb: Minor reformatting - Minor code reorganization - - * prj.ads: Minor reformatting - - * s-os_lib.adb: Minor reformatting - - * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper - half encodings - - * scans.ads: Minor reformatting. - - * sem_prag.adb (Analyze_Pragma): Put entries in alpha order - (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma - - * sem_res.adb: - (Resolve_Call): Check violation of No_Specific_Termination_Handlers - - * sem_ch12.adb: Minor comment reformatting - - * par-ch3.adb (P_Type_Declaration): Properly handle missing type - keyword - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not - generating code - -2008-08-01 Ed Schonberg <schonberg@adacore.com> - - * checks.adb (Apply_Float_Conversion_Check): If the expression to be - converted is a real literal and the target type has static bounds, - perform the conversion exactly to prevent floating-point anomalies on - some targets. - -2008-08-01 Vincent Celier <celier@adacore.com> - - * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>) - - * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax - - * prj.adb (Object_Exist_For): Use Object_Generated, not - Objects_Generated that is removed and was never modified anyway. - - * prj.ads: - (Path_Syntax_Kind): New enumeration type - (Language_Config): New component Path_Syntax, defaulted to Host. - Components PIC_Option and Objects_Generated removed, as they are not - used. - - * snames.adb: New standard name Path_Syntax - - * snames.ads: New standard name Path_Syntax - -2008-08-01 Vincent Celier <celier@adacore.com> - - * mlib-utl.adb: - (Adalib_Path): New variable to store the path of the adalib directory - when procedure Specify_Adalib_Dir is called. - (Lib_Directory): If Adalib_Path is not null, return its value - (Specify_Adalib_Dir): New procedure - - * mlib-utl.ads (Specify_Adalib_Dir): New procedure - -2008-08-01 Ed Schonberg <schonberg@adacore.com> - - * sem_prag.adb: - (Check_Precondition_Postcondition): If not generating code, analyze the - expression in a postcondition that appears in a subprogram body, so that - it is properly decorated for ASIS use. - -2008-08-01 Gary Dismukes <dismukes@adacore.com> - - * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets - Orig_Prev to Prev in the case where the actual is N_Function_Call or - N_Identifier. This was interfering with other cases that are rewritten - as N_Identifier, such as allocators, resulting in passing of the wrong - accessibility level, and based on testing this code is apparently no - longer needed at all. - -2008-08-01 Ed Schonberg <schonberg@adacore.com> - - * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a - procedure call whose prefix - is a parameterless function call that returns an access_to_procedure. - -2008-08-01 Jose Ruiz <ruiz@adacore.com> - - * adaint.c (__gnat_tmp_name): Refine the generation of temporary names - for RTX. Adding a suffix that is incremented at each iteration. - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of - Raise_Exception - -2008-08-01 Jerome Lambourg <lambourg@adacore.com> - - * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in - paths, which are authorized by Windows but can lead to errors when used - elsewhere. - -2008-08-01 Ed Schonberg <schonberg@adacore.com> - - * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create - a pending instantiation for the body of a subprogram that is to be - inlined. - - * sem_ch12.adb: - (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body. - - * sem_prag.adb (Make_Inline): If the pragma applies to an instance, - create a pending instance for its body, so that calls to the subprogram - can be inlined by the back-end. - -2008-08-01 Jose Ruiz <ruiz@adacore.com> - - * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and - rts-rtx-w32). - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer - -2008-08-01 Doug Rupp <rupp@adacore.com> - - * gnat_rm.texi: Document new mechanism Short_Descriptor. - - * types.ads (Mechanism_Type): Modify range for new Short_Descriptor - mechanism values. - - * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor - mechanism and Short_Descriptor mechanism values. - - * snames.adb (preset_names): Add short_descriptor entry. - - * snames.ads: Add Name_Short_Descriptor. - - * types.h: Add new By_Short_Descriptor mechanism values. - - * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor - mechanism and Short_Descriptor mechanism values. - - * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism - values. - (Descriptor_Codes): Modify range for new mechanism values. - - * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor - mechanism values. - - * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor. - (gnat_to_gnu_param): Handle By_Short_Descriptor. - - * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype. - (build_vms_descriptor32): New prototype. - (fill_vms_descriptor): Remove unneeded gnat_actual parameter. - - * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual - argument in call fill_vms_descriptor. - - * gcc-interface/utils.c (build_vms_descriptor32): Renamed from - build_vms_descriptor and enhanced to hande Short_Descriptor mechanism. - (build_vms_descriptor): Renamed from build_vms_descriptor64. - (convert_vms_descriptor32): New function. - (convert_vms_descriptor64): New function. - (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit - descriptors. - - * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes, - no longer needed. - -2008-08-01 Jose Ruiz <ruiz@adacore.com> - - * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam - nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary - name. - -2008-08-01 Jose Ruiz <ruiz@adacore.com> - - * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the - current directory so only fully qualified names are allowed. - -2008-08-01 Robert Dewar <dewar@adacore.com> - - * gnat_ugn.texi: - Minor editing, remove uncomfortable use of semicolon - - * s-ststop.adb: Add some ??? comments - - * sem_ch10.adb: Minor reformatting - - * snames.ads: - Minor comment fixes, some pragmas were not properly - categorized in the comments, documentation change only - - * xref_lib.adb: Minor reformatting - - * sinput.adb: Minor reformatting - - * gnatchop.adb: Minor reformatting - - * sem_util.ads: Minor reformatting. - - * opt.ads: Minor documentation fix - - * scng.adb: Minor reformatting - - * prj-part.adb: Update comments - -2008-08-01 Ed Schonberg <schonberg@adacore.com> - - * exp_disp.adb (Expand_Interface_Conversion): If the target type is a - tagged synchronized type, use corresponding record type. - -2008-08-01 Doug Rupp <rupp@adacore.com> - - * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a - dummy transfer address for debugging. - - * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise. - - * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING - -2008-07-31 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting. - * gcc-interface/utils.c (create_field_decl): Avoid superfluous work. - -2008-07-31 Pascal Obry <obry@adacore.com> - - * prj-nmsc.adb: Keep Object and Exec directory casing. - -2008-07-31 Jose Ruiz <ruiz@adacore.com> - - * system-rtx-rtss.ads - Change the default stack size. It is important to set the commit part. - - * s-taprop-rtx.adb - (Initialize): Get the clock resolution. - (RT_Resolution): Return the clock resolution that is indicated by the - system. - - * s-parame-vxworks.adb - Document that this body is used for RTX in RTSS (kernel) mode. - - * gcc-interface/Makefile.in - (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the - s-parame-vxworks.adb body in order to have reasonable stack sizes in - RTX RTSS kernel mode. Virtual memory is not used in that case, so we - cannot ask for too big values. - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * exp_aggr.adb: Minor reformatting - - * makeutl.adb: Minor reformatting - - * prj-env.adb: Minor reformatting - -2008-07-31 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private - tagged type is completed by a concurrent type. - -2008-07-31 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb: - (Resolve_Record_Aggregate): Bypass error that a type without - components must have a "null record" aggregate when compiling for Ada - 2005, since it's legal to give an aggregate of form (others => <>) - for such a type. - -2008-07-31 Javier Miranda <miranda@adacore.com> - - * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to - handle synchronized types. Required to handle well the object.operation - notation applied to synchronized types. - -2008-07-31 Quentin Ochem <ochem@adacore.com> - - * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored - anymore - just used internally. - Added handling of very small tasks - when the theoretical size is - already full at the point of the call. - (Report_Result): Fixed result computation, Stack_Used_When_Filling does - not need to be added to the result. - -2008-07-31 Hristian Kirtchev <kirtchev@adacore.com> - - * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the - corresponding spec is a primitive wrapper. Update comment. - -2008-07-31 Hristian Kirtchev <kirtchev@adacore.com> - - * bindgen.adb Comment reformatting. Update the list of run-time globals. - (Gen_Adainit_Ada): Add the declaration, import and value set for - configuration flag Canonical_Streams. - (Gen_Adainit_C): Add the declaration and initial value of external - symbol __gl_canonical_streams. - - * init.c: Update the list of global values computed by the binder. - - * opt.ads: Add flag Canonical_Streams. - - * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of - semantically handled pragmas. - - * sem_prag.adb: Add an entry into enumeration type Sig_Flags. - (Analyze_Pragma): Add case for pragma Canonical_Streams. - - * snames.adb: Add character value for name Canonical_Streams. - - * snames.ads: - Add Name_Canonical_Streams to the list of configuration pragmas. - Add Pragma_Canonical_Streams to enumeration type Pragma_Id. - - * snames.h: Add a definition for Pragma_Canonical_Streams. - - * s-ststop.adb: - Add a flag and import to seize the value of external symbol - __gl_canonical_streams. Update comment and initial value of constant - Use_Block_IO. - - * gnat_rm.texi: Add section of pragma Canonical_Streams. - - * gnat_ugn.texi: - Add pragma Canonical_Streams to the list of configuration pragmas. - -2008-07-31 Ed Schonberg <schonberg@adacore.com> - - * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause - has the form A.B.C and B is a unit renaming, analyze its compilation - unit and add a with_clause on A.b to the context. - -2008-07-31 Vincent Celier <celier@adacore.com> - - * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails, - return the empty string, instead of raising Constraint_Error. - -2008-07-31 Gary Dismukes <dismukes@adacore.com> - - * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node. - - * checks.adb (Apply_Accessibility_Check): Insert the check on - Insert_Node. - - * exp_attr.adb: - (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node - to new parameter Insert_Node on call to Apply_Accessibility_Check. - Necessary to distinguish the insertion node because the dereferenced - formal may come from a rename, but the check must be inserted in - front of the attribute. - - * exp_ch4.adb: - (Expand_N_Allocator): Pass actual for new Insert_Node parameter on - call to Apply_Accessibility_Check. - (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter - on call to Apply_Accessibility_Check. - Minor reformatting - -2008-07-31 Javier Miranda <miranda@adacore.com> - - * sem_type.adb (Has_Compatible_Type): Complete support for synchronized - types when the candidate type is a synchronized type. - - * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized - types, and complete management of synchronized types adding missing - code to handle formal that is a synchronized type. - - * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that - are not available and cause the compiler to blowup. Found compiling - test with switch -gnatc - - * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram - Has_Correct_Formal_Mode plus code cleanup. - -2008-07-31 Bob Duff <duff@adacore.com> - - * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was - recognized as two end-of-lines, but it should be just one. - -2008-07-31 Thomas Quinot <quinot@adacore.com> - - * exp_ch9.adb: Minor reformatting - - * tbuild.ads: Fix several occurrences of incorrectly referring to - Name_Find as Find_Name. - -2008-07-31 Ed Schonberg <schonberg@adacore.com> - - * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component - and the context is an object declaration with non-static bounds, treat - the aggregate as non-static. - -2008-07-31 Vincent Celier <celier@adacore.com> - - * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb: - Move back spec of Parse_Single_Project to body, as it is not called - outside of package Prj.Part. - (Project_Data): Remove components Linker_Name, Linker_Path and - Minimum_Linker_Options as they are no longer set. - Remove function There_Are_Ada_Sources from package Prj and move code - in the only place it was used, in Prj.Env.Set_Ada_Paths. - -2008-07-31 Arnaud Charlet <charlet@adacore.com> - - * mlib-utl.ads: Fix typo. - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * sem_ch12.adb: Minor reformatting - -2008-07-31 Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Change the description of the - Overly_Nested_Control_Structures: now the rule always requires a - positive parameter for '+R' option - -2008-07-31 Thomas Quinot <quinot@adacore.com> - - * g-pehage.adb: Minor reformatting - -2008-07-31 Pascal Obry <obry@adacore.com> - - * s-finimp.ads: Minor reformatting. - -2008-07-31 Vincent Celier <celier@adacore.com> - - * s-regexp.ads: Minor comment fix - -2008-07-31 Arnaud Charlet <charlet@adacore.com> - - * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off), - so that we can compile this file successfully with -gnatc. - -2008-07-31 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead - of the type when looking for stream subprograms for type String, - Wide_String and Wide_Wide_String. - - * s-ststop.adb: Change the initialization expression of constant - Use_Block_IO. - -2008-07-31 Geert Bosch <bosch@adacore.com> - - * arit64.c: - New file implementing __gnat_mulv64 signed integer multiplication with - overflow checking - - * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi - - * gcc-interface/gigi.h: - (standard_types): Add ADT_mulv64_decl - (mulv64_decl): Define subprogram declaration for __gnat_mulv64 - - * gcc-interface/utils.c: - (init_gigi_decls): Add initialization of mulv64_decl - - * gcc-interface/trans.c: - (build_unary_op_trapv): New function - (build_binary_op_trapv): New function - (gnat_to_gnu): Use the above functions instead of - build_{unary,binary}_op - - * gcc-interface/Makefile.in - (LIBGNAT_SRCS): Add arit64.c - (LIBGNAT_OBJS): Add arit64.o - -2008-07-31 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or - Linker'Default_Switches are declared. Warn if they are declared. - -2008-07-31 Ed Schonberg <schonberg@adacore.com> - - * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use - Insert_Actions to place the pointer declaration in the code, rather - than Insert_Before_And_Analyze, so that insertions of temporaries are - kept in the proper order when transient scopes are present. - - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * einfo.adb (Spec_PPC): Now defined for generic subprograms - - * einfo.ads (Spec_PPC): Now defined for generic subprograms - - * sem_prag.adb (Check_Precondition_Postcondition): Handle generic - subprogram case - -2008-07-31 Vincent Celier <celier@adacore.com> - - * s-os_lib.adb: Minor comment fix - -2008-07-31 Ed Schonberg <schonberg@adacore.com> - - * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis, - transfer pre/postconditions from generic copy to original tree, so that - they will appear in each instance. - (Process_PPCs): Do not transform postconditions into a procedure in a - generic context, to prevent double expansion of check pragmas. - - * sem_attr.adb: In an instance, the prefix of the 'result attribute - can be the renaming of the - current instance, so check validity of the name accordingly. - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * mlib-utl.ads: Minor reformatting - -2008-07-31 Ed Schonberg <schonberg@adacore.com> - - sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved - from context. This attribute must be usable in Ada95 mode. - The attribute can appear in the body of a function marked - Inline_Always, but in this case the postocondition is not enforced. - - sem_prag.adb (Check_Precondition_Postcondition): within the expansion - of an inlined call pre- and postconditions are legal - -2008-07-31 Vincent Celier <celier@adacore.com> - - * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that - were for gprmake only - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * gnat_ugn.texi: Update -gnatN documentation. - - * gnat_rm.texi: Add note about pre/postcondition - pragmas not checked in conjunction with front-end inlining. - -2008-07-31 Robert Dewar <dewar@adacore.com> - - * g-pehage.adb, g-pehage.ads: Minor reformatting - -2008-07-31 Arnaud Charlet <charlet@adacore.com> - - * mlib-utl.ads, prj-makr.ads: Add comments. - -2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com> - - * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) - [WINDOWS]: Add s-winext.o. - -2008-07-30 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/36554 - * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi. - * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter. - * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>: - Set precision to 1 for subtype of BOOLEAN_TYPE. - (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE. - (make_type_from_size): Deal with BOOLEAN_TYPE. - * gcc-interface/misc.c (gnat_print_type): Likewise. - * gcc-interface/trans.c (gigi): Take new standard_boolean parameter. - Set boolean_type_node as its translation in the table, as well - as boolean_false_node for False and boolean_true_node for True. - * gcc-interface/utils.c (gnat_init_decl_processing): Create custom - 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM. - (create_param_decl): Deal with BOOLEAN_TYPE. - (build_vms_descriptor): Likewise. - (build_vms_descriptor64): Likewise. - (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE. - -2008-07-30 Robert Dewar <dewar@adacore.com> - - * exp_ch9.adb: Minor reformatting - - * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised - if no primitive operation is found. - - * exp_util.adb: (Find_Prim_Op): Add comments for previous change - - * sem_ch8.adb: Minor reformatting - -2008-07-30 Laurent Pautet <pautet@adacore.com> - - * g-pehage.adb: - Remove a limitation on the length of the words handled by the minimal - perfect hash function generator. - - * g-pehage.ads: - Detail the use of subprograms Insert, Initialize, Compute and Finalize. - Fix some typos. - -2008-07-30 Robert Dewar <dewar@adacore.com> - - * gnatlink.adb: Minor reformatting - -2008-07-30 Thomas Quinot <quinot@adacore.com> - - * rtsfind.adb (Check_RPC): Check version consistency even when not - generating RCI stubs. Provide more detailed error message in case of - mismatch. - -2008-07-30 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute - as a actual in an instance, check for a missing attribute to prevent - program_error on an illegal program. - - * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program - error if primitive is not found, so that exception can be handled - elsewhere on illegal programs. - -2008-07-30 Robert Dewar <dewar@adacore.com> - - * uintp.adb (UI_GCD): Fix potential overflow - -2008-07-30 Hristian Kirtchev <kirtchev@adacore.com> - - * einfo.adb: Flag245 is now used. - (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion - check to include functions. - (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms. - (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to - include functions. - (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive - to the list of displayed flags. - - * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and - Wrapped_Entity. These two flags are now present in functions. - New flag Is_Private_Primitive. - (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms. - - * exp_ch9.adb: - (Build_Wrapper_Bodies): New subprogram. - (Build_Wrapper_Body): The spec and body have been moved to in - Build_Wrapper_ Bodies. Code cleanup. - (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup. - Wrappers are now generated for primitives declared between the private - and full view of a concurrent type that implements an interface. - (Build_Wrapper_Specs): New subprogram. - (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body - creation mechanism with a call to Build_Wrapper_Bodies. - (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the - wrapper spec creation mechanism with a call to Build_Wrapper_Specs. - (Expand_N_Task_Body): Replace the wrapper body creation - mechanism with a call to Build_Wrapper_Bodies. - (Expand_N_Task_Type_Declaration): Replace the wrapper spec - creation mechanism with a call to Build_Wrapper_Specs. - (Is_Private_Primitive_Subprogram): New subprogram. - (Overriding_Possible): Code cleanup. - (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup. - - * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9. - - * sem_ch3.adb: Add with and use clause for Exp_Ch9. - (Process_Full_View): Build wrapper specs for all primitives - that belong to a private view completed by a concurrent type - implementing an interface. - - * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram - is a primitive of a - concurrent type with a private view that implements an interface, try to - find the proper spec. - (Analyze_Subprogram_Declaration): Mark a subprogram as a private - primitive if the type of its first parameter is a non-generic tagged - private type. - (Analyze_Subprogram_Specification): Code reformatting. - (Disambiguate_Spec): New routine. - (Find_Corresponding_Spec): Add a flag to controll the output of errors. - (Is_Private_Concurrent_Primitive): New routine. - - * sem_ch6.ads: - (Find_Corresponding_Spec): Add a formal to control the output of errors. - -2008-07-30 Doug Rupp <rupp@adacore.com> - - * gigi.h (build_vms_descriptor64): New function prototype. - (fill_vms_descriptor): Modified function prototype. - - * utils.c (build_vms_descriptor64): New function. - - * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems. - - * trans.c (call_to_gnu): Call fill_vms_descriptor with new third - argument. - - * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a - 64bit and 32bit descriptor and save the 64bit version as an alternate - TREE_TYPE in the parameter. - (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the - thin pointer. - - * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros. - -2008-07-30 Robert Dewar <dewar@adacore.com> - - * make.adb: Minor reformatting - - * mlib-utl.adb: Minor reformatting - - * osint.ads: Minor reformatting - -2008-07-30 Jose Ruiz <ruiz@adacore.com> - - * adaint.c - (__gnat_file_exists): Do not use __gnat_stat for RTX. - (__main for RTX in RTSS mode): Create this dummy procedure symbol to - avoid the use of this symbol from libgcc.a in RTX kernel mode. - - * cio.c - (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call - the function RtPrintf for console output. - - * argv.c Do not use the environ variable for RTX. - - * gnatlink.adb (gnatlink): The part that handles the --RTS option has - been moved before the call to Osint.Add_Default_Search_Dirs in order - to take into account the flags in system.ads (RTX_RTSS_Kernel_Module) - from the appropriate run time. - - * targparm.ads - (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if - target is a RTSS module for RTX. - - * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for - RTX_RTSS_Kernel_Module - (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag. - - * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc - exception handling mechanism for Windows and RTX in Win32 mode, but - not for RTX in kernel mode (RTSS). - (LIBGNAT_SRCS): Remove ada.h - -2008-07-30 Paolo Bonzini <bonzini@gnu.org> - - * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and - T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS. - (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS. - * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS, - X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS, - ALL_ADA_CFLAGS): Remove. - (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS, - replace ALL_ADA_CFLAGS with ADA_CFLAGS. - (GCC_CFLAGS): Remove X_CFLAGS. - (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS. - (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS. - (ADA_CFLAGS): Substitute. - -2008-07-30 Laurent Guerby <laurent@guerby.net> - - PR ada/5911 - * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables. - Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts. - Replace stamp-gnatlib* by stamp-gnatlib*-rts. - * gcc-interface/Make-lang.in: Replace stamp-gnatlib2 - by stamp-gnatlib2-rts. - -2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - PR documentation/15479 - * gnat-style.texi: Remove AdaCore copyright statement and GPL - statement for GNAT. Add @copying stanza, use it. Update to - GFDL 1.2. Do not list GFDL as Invariant Section, do not list - title as Front-Cover Text. - * gnat_rm.texi: Likewise. - * gnat_ugn.texi: Likewise. - -2008-07-29 Jan Hubicka <jh@suse.cz> - - * trans.c (process_inlined_subprograms): Remove tree_really_inline - check. - -2008-07-29 Arnaud Charlet <charlet@adacore.com> - - * gcc-interface: New directory. - - * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h, - utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c, - config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved - to gcc-interface subdirectory. - -2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com> - - * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o. - -2008-07-28 Jan Hubicka <jh@suse.cz> - - * misc.c (gnat_post_options): Do not set flag_no_inline. - -2008-07-28 Richard Guenther <rguenther@suse.de> - - Merge from gimple-tuples-branch. - - 2008-07-22 Olivier Hainque <hainque@adacore.com> - - * gigi.h (end_subprog_body): New ELAB_P argument, saying if - this is called for an elab proc to be discarded if empty. - * utils.c (end_subprog_body): Honor ELAB_P. - (build_function_stub): Adjust call to end_subprog_body. - * trans.c (Subprogram_Body_to_gnu): Likewise. - (gigi): Reorganize processing of elab procs to prevent - gimplifying twice, using the new end_subprog_body argument. - - 2008-07-19 Richard Guenther <rguenther@suse.de> - - * Make-lang.in (trans.o): Add tree-iterator.h dependency. - (utils.o): Likewise. - * trans.c: Include tree-iterator.h. - (gnat_gimplify_expr): Adjust prototype. Fix typo. - (gnat_gimplify_stmt): Use SET_EXPR_LOCATION. - (set_expr_location_from_node): Likewise. - (gigi): Tuplify. - * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead - of GENERIC_NEXT. - * utils.c: Include tree-iterator.h. - * gigi.h (gnat_gimplify_expr): Adjust prototype. - - 2008-07-18 Aldy Hernandez <aldyh@redhat.com> - - * trans.c: Include gimple.h instead of tree-gimple.h. - * utils.c: Same. - - 2008-07-14 Aldy Hernandez <aldyh@redhat.com> - - * trans.c (gnat_gimplify_expr): Use gimplify_assign. - -2008-07-25 Jan Hubicka <jh@suse.cz> - - * utils.c (end_subprog_body): Remove inline trees check. - * misc.c (gnat_post_options): Do not set flag_inline_trees. - -2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * raise-gcc.c: Move tsystem.h before tm.h. - -2008-07-20 Arnaud Charlet <charlet@adacore.com> - - * gnathtml.pl: New file. - -2008-07-19 Olivier Hainque <hainque@adacore.com> - - * targtyps.c (get_target_default_allocator_alignment): Use - MALLOC_ABI_ALIGNMENT. - -2008-07-17 Olivier Hainque <hainque@adacore.com> - - * adaint.c (__MINGW32__ section): Include ctype.h and define - a fallback ISALPHA if IN_RTS. - (__gnat_is_absolute_path): Use ISALPHA instead of isalpha. - -2008-07-17 Olivier Hainque <hainque@adacore.com> - - * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG - argument, to apply to references in addition to definitions. Prevent - setting TREE_STATIC on externals. - (gnat_pushdecl): Always clear DECL_CONTEXT on public externals. - -2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - PR documentation/15479 - * gnat_ugn.texi (@ovar): New macro, from autoconf.texi. - Replace backets around optional parameters with @ovar - where possible, use @r{[}, @r{]} otherwise. - Replace some @r, @i, and @emph with @var where appropriate. - -2008-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up. - -2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - - * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix - -Wc++-compat warnings. - * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec, - __gnat_locate_exec_on_path): Likewise. - * decl.c (annotate_value): Likewise. - * misc.c (gnat_handle_option): Likewise. - * trans.c (gnat_to_gnu, extract_encoding, decode_name, - post_error_ne_tree): Likewise. - -2008-06-27 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable - version of its type, attempt to first convert its elements. - -2008-06-26 Chris Proctor <chrisp_42@bigpond.com> - - * Makefile.in: Fix *86 kfreebsd target specific pairs. - -2008-06-25 Samuel Tardieu <sam@rfc1149.net> - - * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well. - -2008-06-24 Eric Botcazou <ebotcazou@adacore.com> - - * utils2.c (known_alignment): Derive the alignment from pointed-to - types only if it is otherwise unknown. - <INTEGER_CST>: Tidy. - <MULT_EXPR>: Likewise. - <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use - that of the base. - -2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> - - PR ada/36573 - * s-osinte-hpux-dce.ads (SA_ONSTACK): Define. - -2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * gnat_rm.texi (Implementation Defined Characteristics) - (Standard Library Routines): Use @smallexample for indented - text. Drop Indentation outside examples. - * gnat_ugn.texi: Likewise. - -2008-06-13 Olivier Hainque <hainque@adacore.com> - - * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0 - if undefined. - (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack - realignment with force_align_arg_pointer attribute on foreign - convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. - -2008-06-13 Olivier Hainque <hainque@adacore.com> - - * utils.c (rest_of_record_type_compilation): When computing - encodings for the components of a variable size type, early - strip conversions on the current position expression to make - sure it's shape is visible. Use remove_conversions for this - purpose. - -2008-06-12 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a - constrained subtype of a discriminated type, discard the fields that - are beyond its limits according to its size. - -2008-06-10 Olivier Hainque <hainque@adacore.com> - - * utils.c (create_subprog_decl): If this is for the 'main' entry - point according to the asm name, redirect main_identifier_node. - -2008-06-09 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (components_to_record): Adjust the packedness for the - qualified union as well. - -2008-06-09 Arnaud Charlet <charlet@adacore.com> - - * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle - checks non fatal. - -2008-06-07 Samuel Tardieu <sam@rfc1149.net> - - * sem_res.adb (Large_Storage_Type): A type is large if it - requires as many bits as Positive to store its values and its - bounds are known at compile time. - * sem_ch13.adb (Minimum_Size): Note that this function returns - 0 if the size is not known at compile time. - -2008-06-06 Nicolas Setton <setton@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * ada-tree.h (DECL_PARALLEL_TYPE): New language specific - attribute, parallel descriptive type attached to another - type for debug info generation purposes. - * utils.c (add_parallel_type): New function, register - parallel type to be attached to a type. - (get_parallel_type): New function, fetch a registered - parallel type, if any. - (rest_of_record_type_compilation): Register the parallel - type we make for variable size records. - * gigi.h (add_parallel_type, get_parallel_type): Declare. - * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the - parallel debug types we make. - * trans.c (extract_encoding, decode_name): New functions. - (gigi): If the DWARF attribute extensions are available, setup - to use them. - * lang.opt: Register language specific processing request - for -gdwarf+. - * misc.c (gnat_dwarf_extensions): New global variable. How much - do we want of our DWARF extensions. 0 by default. - (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions. - (gnat_post_options): Map gnat_dwarf_extensions to the - commonuse_gnu_debug_info_extensions for later processing. - -2008-06-04 Samuel Tardieu <sam@rfc1149.net> - - * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP. - -2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * Makefile.in (common_tools): Fix typos in $(exeext) extension. - * gnat_ugn.texi (Style Checking) - (Adding the Results of Compiler Checks to gnatcheck Output) - (Example of Binder Output File): Fix typos. - * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb, - exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads, - s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb, - s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb, - sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads, - sinfo.ads, utils.c: Fix typos in comments. - * sem_ch6.adb, vms_data.ads: Fix typos in strings. - -2008-05-29 Thomas Quinot <quinot@adacore.com> - - * sem_eval.adb: Minor reformatting - -2008-05-29 Ed Schonberg <schonberg@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type - is abstract, do not apply abstractness check on subprogram if this is - a renaming declaration. - -2008-05-29 Arnaud Charlet <charlet@adacore.com> - - PR ada/864 - * osint.ads, osint.adb (Program_Name): New parameter "Prog" to - allow recognition of program suffix in addition to prefix. - - * gnatchop.adb (Locate_Executable): Add support for prefix. - - * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb, - mlib-utl.adb: Adjust calls to Program_Name. - -2008-05-29 Robert Dewar <dewar@adacore.com> - - * sem_ch3.adb: Minor reformatting - * sem_prag.adb: Minor reformatting - * sem_res.adb: Minor reformatting - * sinput-p.ads: Minor reformatting - -2008-05-29 Javier Miranda <miranda@adacore.com> - - * sem_util.adb: - (Abstract_Interface_List): Add missing support for full type-declaration - associated with synchronized types. - -2008-05-29 Robert Dewar <dewar@adacore.com> - - * sem_eval.adb (Is_Same_Value): Take care of several more cases - -2008-05-28 Ed Schonberg <schonberg@adacore.com> - - * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous - access type, wrap the expression in a conversion to force an - accessibility check. - - * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force - accessibility checks even when expansion is disabled in order to - generate messages in the presence of previous errors or in - semantics-only mode. - -2008-05-28 Eric Botcazou <ebotcazou@adacore.com> - - * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False. - * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False. - -2008-05-28 Vincent Celier <celier@adacore.com> - - PR ada/34446 - * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in - preprocessing expressions - -2008-05-28 Vincent Celier <celier@adacore.com> - - * sinput-p.adb (Source_File_Is_Subunit): Allow special character used - for preprocessing - - * sinput-p.ads: Minor comment update and reformatting - -2008-05-28 Ed Schonberg <schonberg@adacore.com> - - * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram - type has a deeper level than any master only when it is the type of an - access parameter. - -2008-05-28 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation. - -2008-05-28 Javier Miranda <miranda@adacore.com> - - * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed. - * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed. - * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal. - Add code that was previously located in - Find_Overridden_Synchronized_Primitive because it is only used here. - -2008-05-28 Sergey Rybin <rybin@adacore.com> - - * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set - Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION. - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * restrict.ads: - Add missing restrictions, and properly label all GNAT defined ones - - * rtsfind.ads: - Add entry for Ada_Real_Time.Timing_Events.Timing_Event - Add entry for Ada.Task_Termination.Set_Specific_Handler - Add entry for Ada.Task_Termination.Specific_Handler - - * s-rident.ads: - Add missing restrictions and properly mark all gnat defined ones - - * sem_ch3.adb: - (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction - - * sem_res.adb: - (Resolve_Call): Check violation of No_Specific_Termination_Handlers - - * gnat_rm.texi: Add missing restrictions, and properly label all - GNAT defined ones - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * restrict.adb: - (Check_Restriction): violation of restriction No_Finalization is - treated as a serious error to stop expansion - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * exp_util.adb: Minor reformatting - * exp_util.ads: Minor reformatting. - -2008-05-28 Arnaud Charlet <charlet@adacore.com> - - * Make-lang.in: Remove gprmake. - - * gprmake.adb, makegpr.ads, makegpr.adb: Removed. - -2008-05-28 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving - improper progenitor names, and avoid cascaded errors. - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * gnat_rm.texi: Add note on Old giving warning when applied to constant - - * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is - a constant - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * exp_fixd.adb (Build_Multiply): Correct one-off error in computing - size - -2008-05-28 Robert Dewar <dewar@adacore.com> - - * exp_ch5.adb: - (Expand_Simple_Function_Return): Copy unaligned result into temporary - -2008-05-28 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support - for user-defined predefined primitives. - - * sem_util.adb (Matches_Prefixed_View_Profile): Ditto. - (Find_Overridden_Synchronized_Primitive): Ditto. - - * sem_ch6.adb (Check_Synchronized_Overriding): Ditto. - -2008-05-27 Arnaud Charlet <charlet@adacore.com> - - * a-ststio.adb, s-direio.adb: - Further code clean up of previous change. - Update comments. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb: Minor reformatting - -2008-05-27 Bob Duff <duff@adacore.com> - - * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an - untagged private type with a tagged full type, where the full type has - a self reference, create the corresponding class-wide type early, in - case the self reference is "access T'Class". - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes - tasks and context is an object declaration. create master entity before - expansion. - -2008-05-27 Robert Dewar <dewar@adacore.com> - - * mlib-prj.adb: Minor reformatting - - * prj-part.adb: Minor reformatting - - * prj.ads: Minor reformatting - - * exp_ch3.adb: Minor reformatting. - - * sem_ch3.ads: Minor reformatting - - * sem_eval.adb: Minor reformatting - -2008-05-27 Vincent Celier <celier@adacore.com> - - * gnatcmd.adb: - <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains - tasks, create an activation chain now, before the expansion into - assignments and build-in-place calls that require the presence of an - activation chain. - (Backend_Processing_Possible): If the component type is inherently - limited, the aggregate must be expanded into individual built-in-place - assignments. - - * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to - determine whether an allocation extra parameter must be built, to - handle case of a private type whose full type is a discriminated type - with defaults. - -2008-05-27 Bob Duff <duff@adacore.com> - - * gnat_rm.texi: - Document the new behavior regarding trampolines. - -2008-05-27 Arnaud Charlet <charlet@adacore.com> - - * a-direio.adb, a-sequio.adb: Replace address clause by - unrestricted_access, simpler and compatible with .NET. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-part.adb: - (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find - a project file, so that symbolic links are not resolved. - -2008-05-27 Arnaud Charlet <charlet@adacore.com> - - * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb: - Replace heavy address clause by 'Unrestricted_Access, cleaner and more - portable across GNAT targets, since this kind of address clause is not - supported by VM back-ends (.NET/JGNAT). - -2008-05-27 Arnaud Charlet <charlet@adacore.com> - - * bindgen.adb: Update comments. - - * s-tasinf-mingw.adb: Add "with" of System.OS_Interface - -2008-05-27 Vincent Celier <celier@adacore.com> - - * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, - prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb, - mlib-tgt.adb, prj-env.adb, prj-env.ads: - (Path_Information): New record type - Use component of type Path_Information when there are two paths, one in - canonical format and one in display format. - Update the project manager to these new components. - -2008-05-27 Robert Dewar <dewar@adacore.com> - - * makeutl.adb: Minor reformatting - * prj-nmsc.adb: Minor reformatting - * s-stausa.adb: Minor reformatting - * s-stausa.ads: Minor reformatting - * sem_ch6.adb: Minor reformatting - -2008-05-27 Thomas Quinot <quinot@adacore.com> - - * sem_res.adb: Minor comment fixes - -2008-05-27 Thomas Quinot <quinot@adacore.com> - - * makeutl.adb: Minor code reorganization - - * exp_aggr.adb: Add ??? comment - Fix typo - - * exp_ch6.adb: Minor reformatting - -2008-05-27 Quentin Ochem <ochem@adacore.com> - - * s-stausa.adb (Initialize): Updated result initialization, and - initialization of environment stack. - (Fill_Stack): Improved computation of the pattern zone, taking into - account already filled at the calling point. - (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of - Measure and Overflow_Guard. - (Report_Result): Fixed computation of the result using new fields of - Stack_Analyzer. - - * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard - params by more explicit Stack_Size / Max_Pattern_Size params. - (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields. - Added Stack_Used_When_Filling field. - (Task_Result): Replaced Measure / Overflow_Guard by more explicit - Min_Measure and Max_Measure fields. - - * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb: - (Check_File): Make sure that a unit that replaces the same unit in a - project being extended is properly processed. - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb: - (Get_Discr_Value): Remove obsolete code that failed to find the value - of a discriminant for an inherited task component appearing in a type - extension. - -2008-05-27 Thomas Quinot <quinot@adacore.com> - - (System.File_IO.{Close, Delete, Reset}): - Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr". - - (Ada.*_IO.{Close, Delete, Reset, Set_Mode}): - Pass File parameter by reference. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb: - (Process_Sources_In_Multi_Language_Mode): Check that there are not two - sources of the same project that have the same object file name. - (Find_Explicit_Sources): Always remove a source exception that was not - found. - -2008-05-27 Thomas Quinot <quinot@adacore.com> - - * sem_ch3.adb: Minor reformatting - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * sem_ch6.adb: - (Is_Interface_Conformant): Handle properly a primitive operation that - overrides an interface function with a controlling access result. - (Type_Conformance): If Skip_Controlling_Formals is true, when matching - inherited and overriding operations, omit as well the conformance check - on result types, to prevent spurious errors. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * makeutl.ads, makeutl.adb: - (Set_Location): New procedure - (Get_Location): New function - (Update_Main): New procedure - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb: - (Check_Library): Allow standard project to be extended as a static - library project. - (Get_Mains): Do not inherit attribute Main in an extending library - project. - -2008-05-27 Eric Botcazou <ebotcazou@adacore.com> - - * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False. - * system-darwin-x86.ads (Always_Compatible_Rep): Likewise. - * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise. - * system-linux-ppc.ads (Always_Compatible_Rep): Likewise. - * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise. - * system-linux-x86.ads (Always_Compatible_Rep): Likewise. - * system-mingw.ads (Always_Compatible_Rep): Likewise. - * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise. - * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise. - * system-solaris-x86.ads (Always_Compatible_Rep): Likewise. - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * sem_attr.adb: add guard to previous patch. - -2008-05-27 Ed Schonberg <schonberg@adacore.com> - - * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by - a synchronized tagged type, do not attempt to build dispatch table for - full view. The table is built for the corresponding record type, which - has its own declaration. - -2008-05-27 Gary Dismukes <dismukes@adacore.com> - - * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype - to the known type entity E, rather than setting it to Any_Type. Fixes - possible blowup in function Base_Init_Proc, as called from Freeze_Entity - for objects whose type had an illegal constraint. - -2008-05-27 Vincent Celier <celier@adacore.com> - - * gnat_ugn.texi: - Add succinct documentation for attribute Excluded_Source_List_File - -2008-05-27 Vincent Celier <celier@adacore.com> - - * prj-attr.adb: Add new project level attribute Map_File_Option - - * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option - - * prj.ads: Minor reformatting and comment update - (Project_Configuration): New component Map_File_Option - - * snames.adb: New standard name Map_File_Option - - * snames.ads: New standard name Map_File_Option - -2008-05-27 Vincent Celier <celier@adacore.com> - - * xsnames.adb: Remove unused variable Oname - -2008-05-27 Doug Rupp <rupp@adacore.com> - - * exp_ch6.adb: - (Expand_N_Function_Call): Fix comments. Minor reformatting. - - * exp_vfpt.ads: - (Expand_Vax_Foreign_Return): Fix comments. - -2008-05-27 Thomas Quinot <quinot@adacore.com> - - * exp_dist.adb: Minor reformating - -2008-05-26 Gary Dismukes <dismukes@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for - No_Default_Initialization, which is now delayed until the freeze point - of the object. Add a comment about deferral of the check. - - * freeze.adb (Freeze_Entity): The check for No_Default_Initialization - on objects is moved here. - -2008-05-26 Eric Botcazou <ebotcazou@adacore.com> - - * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. - (Compare_Array_S16): Adjust for above change. - * s-casi32.adb (Uword): Likewise. - (Compare_Array_S32): Likewise. - * s-casi64.adb (Uword): Likewise. - (Compare_Array_S64): Likewise. - * s-caun16.adb (Uhalf): Likewise. - (Compare_Array_U16): Likewise. - * s-caun32.adb (Uword): Likewise. - (Compare_Array_U32): Likewise. - * s-caun64.adb (Uword): Likewise. - (Compare_Array_U64): Likewise. - -2008-05-26 Robert Dewar <dewar@adacore.com> - - * exp_ch6.adb: Add ??? comment for previous change - - * exp_vfpt.adb: Minor reformatting - - * exp_vfpt.ads: Add ??? comment for last change - - * sem_attr.adb: Add some ??? comments for previous change - - * s-vaflop.ads: Add comments for previous change - -2008-05-26 Doug Rupp <rupp@adacore.com> - - * s-vaflop-vms-alpha.adb: - Remove System.IO use clause, to prevent spurious ambiguities when - package is access through rtsfind. - -2008-05-26 Sergey Rybin <rybin@adacore.com> - - * tree_io.ads (ASIS_Version_Number): Update because of the changes - made in front-end - -2008-05-26 Ed Schonberg <schonberg@adacore.com> - - * sem_attr.adb: - (Resolve_Attribute, case 'address): S (A .. B)' address can be safely - converted to S (A)'address only if A .. B is known to be a non-null - range. - -2008-05-26 Doug Rupp <rupp@adacore.com> - - * s-vaflop.adb: - (Return_D, Return_F, Return_G): New functions. - - * s-vaflop.ads: - (Return_D, Return_F, Return_G): New functions. - - * exp_vfpt.adb: - (Expand_Vax_Foreign_Return): New procedure - - * exp_vfpt.ads: - (Expand_Vax_Foreign_Return): New procedure - - * rtsfind.ads: - (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids - (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements - - * exp_ch6.adb: - Import Exp_Vfpt - (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return. - - * s-vaflop-vms-alpha.adb: - (Return_D, Return_F, Return_G): New functions. - -2008-05-26 Gary Dismukes <dismukes@adacore.com> - - * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy - init proc entity when there is actual default initialization associated - with the component type, to avoid spurious errors on objects of scalar - array types that are marked Is_Public when No_Default_Initialization - applies. - -2008-05-26 Thomas Quinot <quinot@adacore.com> - - * rtsfind.ads, rtsfind.adb: - (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint. - (Check_RPC): Support per-PCS-kind API versioning. - - exp_dist.ads, exp_dist.adb: - (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms. - (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime - library function Get_RACW. - (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime - library function Get_Reference. - (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going - through an intermediate Any. - (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of - going through an intermediate Any. - - * sem_dist.adb: Minor reformatting. - -2008-05-26 Javier Miranda <miranda@adacore.com> - - * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias. - (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. - (Is_Internal): Adding documentation on internal entities that have - attribute Interface_Alias (old attribute Abstract_Interface_Alias) - - * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias. - (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. - Added assertion to force entities with this attribute to have - attribute Is_Internal set to True. - (Next_Tag_Component): Simplify assertion using attribute Is_Tag. - - * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been - renamed as Derive_Progenitor_Subprograms. In addition, its code is - a new implementation. - (Add_Interface_Tag_Components): Remove special management of - synchronized interfaces. - (Analyze_Interface_Declaration): Minor reformating - (Build_Derived_Record_Type): Minor reformating - (Check_Abstract_Overriding): Avoid reporting error in case of abstract - predefined primitive inherited from interface type because the body of - internally generated predefined primitives of tagged types are generated - later by Freeze_Type - (Derive_Subprogram): Avoid generating an internal name if the parent - subprogram overrides an interface primitive. - (Derive_Subprograms): New implementation that keeps separate the - management of tagged types not implementing interfaces, from tagged - types that implement interfaces. - (Is_Progenitor): New implementation. - (Process_Full_View): Add documentation - (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms - by call to Derive_Progenitor_Subprograms. - - * sem_ch6.ads (Is_Interface_Conformant): New subprogram. - (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument - Skip_Controlling_Formals. - - * sem_ch6.adb (Is_Interface_Conformant): New subprogram. - (Check_Conventions): New implementation. Remove local subprogram - Skip_Check. Remove formal Search_From of routine Check_Convention. - (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument - Skip_Controlling_Formals. - (New_Overloaded_Entity): Enable addition of predefined dispatching - operations. - - * sem_disp.ads - (Find_Primitive_Covering_Interface): New subprogram. - - * sem_disp.adb (Check_Dispatching_Operation): Disable registering - the task body procedure as a primitive of the corresponding tagged - type. - (Check_Operation_From_Private_Type): Avoid adding twice an entity - to the list of primitives. - (Find_Primitive_Covering_Interface): New subprogram. - (Override_Dispatching_Operation): Add documentation. - - * sem_type.adb (Covers): Minor reformatings - - * sem_util.ads (Collect_Abstract_Interfaces): Renamed as - Collect_Interfaces. - Rename formal. - (Has_Abstract_Interfaces): Renamed as Has_Interfaces. - (Implements_Interface): New subprogram. - (Is_Parent): Removed. - (Primitive_Names_Match): New subprogram. - (Remove_Homonym): Moved here from Derive_Interface_Subprograms. - (Ultimate_Alias): New subprogram. - - * sem_util.adb (Collect_Abstract_Interfaces): Renamed as - Collect_Interfaces. - Remove special management for synchronized types. Rename formal. Remove - internal subprograms Interface_Present_In_Parent and Add_Interface. - (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion - on non-record types by code to return false in such case. - (Implements_Interface): New subprogram. - (Is_Parent): Removed. No special management is now required for - synchronized types covering interfaces. - (Primitive_Names_Match): New subprogram. - (Remove_Homonym): Moved here from Derive_Interface_Subprograms. - (Ultimate_Alias): New subprogram. - - * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram. - Add internal entities associated with secondary dispatch tables to - the list of tagged type primitives that are not interfaces. - (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities - (Make_Predefined_Primitive_Specs): Code reorganization to improve - the management of predefined equality operator. In addition, if - the type has an equality function corresponding with a primitive - defined in an interface type, the inherited equality is abstract - as well, and no body can be created for it. - - * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from - exp_util to exp_disp. - (Is_Predefined_Interface_Primitive): New subprogram. Returns True if - an entity corresponds with one of the predefined primitives required - to implement interfaces. - Update copyright notice. - - * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the - final check on abstract subprograms all the primitives associated with - interface primitives because they must be visible in the public and - private part. - (Write_DT): Use Find_Dispatching_Type to locate the name of the - interface type. This allows the use of this routine, for debugging - purposes, when the tagged type is not fully decorated. - (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp. - Factorize code calling new subprogram Is_Predefined_Interface_Primitive. - (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an - entity corresponds with one of the predefined primitives required to - implement interfaces. - - * exp_util.adb (Find_Interface_ADT): New implementation - (Find_Interface): Removed. - - * sprint.adb (Sprint_Node_Actual): Generate missing output for the - list of interfaces associated with nodes - N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration. - -2008-05-26 Thomas Quinot <quinot@adacore.com> - - * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on - condition for assignment to temporary. - -2008-05-26 Ed Schonberg <schonberg@adacore.com> - - * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint - checks on the upper bound if the index type is a modular type, to - prevent wrap-around computations when size is close to upper bound of - type. - -2008-05-26 Robert Dewar <dewar@adacore.com> - - * sem_ch3.adb: Minor reformatting - -2008-05-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch12.adb (Remove_Parent): Use specification of instance - to retrieve generic parent, - to handle properly the case where the instance is a child unit. - Add guard to handle properly wrapper packages. - Minor reformatting - -2008-05-26 Thomas Quinot <quinot@adacore.com> - - * sinfo.ads: Minor reformatting - -2008-05-26 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting. - Generate a tag check when the result subtype of a function, defined by - an access definition, designates a specific tagged type. - (Make_Tag_Check): New routine. - -2008-05-26 Arnaud Charlet <charlet@adacore.com> - - * ceinfo.adb, csinfo.adb: Remove warnings. Update headers. - -2008-05-26 Eric Botcazou <ebotcazou@adacore.com> - - * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker. - (builtin_decl_for): Likewise. - * trans.c (gigi): Likewise. - * utils.c (def_builtin_1): Fix formatting. - -2008-05-26 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables. - Create the statements which map a string name to protected or task - entry indix. - - * exp_ch9.adb: Add with and use clause for Stringt. - Minor code reformatting. - (Build_Entry_Names): New routine. - (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value - for flag Build_Entry_Names which controls the allocation of the data - structure for the string names of entries. - - * exp_ch9.ads (Build_Entry_Names): New subprogram. - - * exp_util.adb (Entry_Names_OK): New function. - - * exp_util.ads (Entry_Names_OK): New function. - - * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to - enumerations RE_Id and RE_Unit_Table. - - * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation. - (Free_Entry_Names_Array): New routine. - - * s-taskin.ads: Comment reformatting. - Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access. - Add component Entry_Names to record Ada_Task_Control_Block. - (Free_Entry_Names_Array): New routine. - - * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set, - dynamically allocate an array - of string pointers. This structure holds string entry names. - (Free_Entry_Names): New routine. - (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array. - (Set_Entry_Names): New routine. - - * s-tassta.ads: - (Create_Task): Add formal Build_Entry_Names. The flag is used to - control the allocation of the data structure which stores entry names. - (Set_Entry_Name): New routine. - - * s-tpoben.adb: - Add with and use clause for Ada.Unchecked_Conversion. - (Finalize): Deallocate the entry names array. - (Free_Entry_Names): New routine. - (Initialize_Protection_Entries): When flag Build_Entry_Names is set, - create an array of string pointers to hold the entry names. - (Set_Entry_Name): New routine. - - * s-tpoben.ads: - Add field Entry_Names to record Protection_Entries. - (Initialize_Protection_Entries): Add formal Build_Entry_Names. - (Set_Entry_Name): New routine. - -2008-05-26 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb: - (Process_Project_Level_Simple_Attributes): process attribute Library_GCC - - * prj.ads: - (Project_Configuration): New component Shared_Lib_Driver - -2008-05-26 Ed Schonberg <schonberg@adacore.com> - - * inline.adb: - (Cleanup_Scopes): For a protected operation, transfer finalization list - to protected body subprogram, to force cleanup actions when needed. - -2008-05-26 Robert Dewar <dewar@adacore.com> - - * sem_cat.adb: Minor reformatting - - * gnatname.adb: Minor reformatting - - * osint.ads: Minor reformatting - - * s-carun8.ads: Minor reformatting - - * g-heasor.ads: Minor comment fix (unit is now pure) - -2008-05-26 Robert Dewar <dewar@adacore.com> - - * exp_ch2.adb: - (Expand_Current_Value): Properly type generated integer literal - -2008-05-26 Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Add description for the new gnatcheck rule - - Separate_Numeric_Error_Handlers. - -2008-05-26 Pascal Obry <obry@adacore.com> - - * sem_aggr.adb: Minor reformatting. - -2008-05-26 Jose Ruiz <ruiz@adacore.com> - - * s-osinte-aix.adb: - (To_Target_Priority): Setting the time slice value to 0 or greater sets - the scheduling policy to FIFO within priorities or round-robin - respectively. - Hence, the priority must be set in this case to the one selected by the - user. - -2008-05-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch12.adb: - (Remove_Parent): If the enclosing scope is an instance whose generic - parent is declared within some parent scope of the just completed - instance, make full views of the entities in that parent visible, when - applicable. - -2008-05-26 Kai Tietz <kai.tietz@onevision.com> - - * mingw32.h (STD_MINGW): Set to true for target w64. - -2008-05-25 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE - instead of TREE_STATIC on the ADDR_EXPR. - -2008-05-24 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs. - (Sloc_to_locus): Do not overwrite known GCC locations when translating - GNAT standard locations. - -2008-05-23 Eric Botcazou <ebotcazou@adacore.com> - - * gigi.h (mark_visited): Declare. - * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking - only the topmost node of expressions. - (elaborate_expression_1): Look deeper for read-only variables. - * trans.c (add_decl_expr): Use mark_visited instead of marking by hand. - (mark_visited): Move logic to mark_visited_r. Invoke walk_tree. - (mark_visited_r): New function. - -2008-05-23 Vincent Celier <celier@adacore.com> - - * snames.adb: New standard name Excluded_Source_List_File. - - * snames.ads: New standard name Excluded_Source_List_File. - - * prj-attr.adb: New project level attribute Excluded_Source_List_File. - - * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project. - Get excluded sources from - file indicated by attribute Excluded_Source_List_File, when present and - neither Excluded_Source_Files nor Locally_Removed_Files are declared. - -2008-05-23 Robert Dewar <dewar@adacore.com> - - * exp_dist.adb: Minor reformatting - -2008-05-23 Ed Schonberg <schonberg@adacore.com> - - * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a - slice, convert it to an indexed component, which is equivalent, more - efficient, and usable even if the slice itself is not addressable. - -2008-05-23 Olivier Hainque <hainque@adacore.com> - - * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic - convention also allows access to named compiler built-in subprograms - such as the GCC __builtin family. - -2008-05-23 Vincent Celier <celier@adacore.com> - - * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and - sep. If there are several possibilities, choose the one with the - longer prefix. - -2008-05-23 Vincent Celier <celier@adacore.com> - - * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for - back end switches when executable specified with --GCC= is same as - default, even if there are additional options. - - * gnat_ugn.texi: - Document when the back end switches from the ALI file are taken into - account when gnatlink is invoked with --GCC= - -2008-05-23 Thomas Quinot <quinot@adacore.com> - - * s-os_lib.adb: - (copy_File): Do not open destination file if source file is unreadable. - -2008-05-23 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (handle_type_generic_attribute): Adjust to accept - fixed arguments before an elipsis. - -2008-05-21 Thomas Quinot <quinot@adacore.com> - - * g-sothco.ads, g-sothco.adb: New files. - -2008-05-20 Thomas Quinot <quinot@adacore.com> - - * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit. - - * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants. - Add missing "with" of Ada.Unchecked_Conversion - - * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads, - g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads, - g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads, - g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, - g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads, - g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads: - Move common code out of GNAT.Sockets.Thin implementations and into - Thin_Common. - New constant SIZEOF_fd_set - New flag Has_Sockaddr_Len - New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 - - * g-stsifd-sockets.adb - (Create): Remove call to Set_Length; use Set_Family to set the family - and (on appropriate platforms) length fields in struct sockaddr. - - * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb, - g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb, - g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set - Move common code out of GNAT.Sockets.Thin implementations and into - Thin_Common. - - * g-socket.ads, g-socket.adb: - Move common code out of GNAT.Sockets.Thin implementations and into - Thin_Common. - (Connect_Socket, Accept_Socket): Provide new versions of these two - routines that operate with a user specified timeout. - (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length, - this is now handled automatically by Set_Family on platforms that - require it. - - * gen-soccon.c: - Move common code out of GNAT.Sockets.Thin implementations and into - Thin_Common. - (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define - this constant to 0 (not -1) because we use it to initialize an - unsigned_char value. - Align values for numeric constants only. - Handle the case of systems that do not support AF_INET6. - New constant SIZEOF_fd_set - New flag Has_Sockaddr_Len - New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 - - * gsocket.h: New flag Has_Sockaddr_Len - New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 - -2008-05-20 Santiago Uruena <uruena@adacore.com> - - * i-cobol.ads: Interfaces.COBOL should be preelaborate. - -2008-05-20 Arnaud Charlet <charlet@adacore.com> - - * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that - the underlying issue with malloc/free has been fixed. Remove associated - comments. - Minor reformatting. - Related to PR ada/24533 - -2008-05-20 Robert Dewar <dewar@adacore.com> - - * ali.adb: Correct casing of ASCII.NUL - - * styleg-c.adb (Check_Identifier): Handle case of names in ASCII - properly. - -2008-05-20 Robert Dewar <dewar@adacore.com> - Gary Dismukes <dismukes@adacore.com> - - * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate - overflow if result converted to wider integer type. - (Apply_Type_Conversion_Checks): Don't emit checks on conversions to - discriminated types when discriminant checks are suppressed. - -2008-05-20 Vincent Celier <celier@adacore.com> - - * cstand.adb (Print_Standard): Issue the correct Size clause for type - Wide_Wide_Character. - -2008-05-20 Tristan Gingold <gingold@adacore.com> - - * decl.c: Do not emit a variable for a object that has an address - representation clause whose value is known at compile time. - When a variable has an address clause whose value is known at compile - time, refer to this variable by using directly the address instead of - dereferencing a pointer. - -2008-05-20 Robert Dewar <dewar@adacore.com> - - PR ada/30740 - * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and - subtypes, always False for non-modular types. - Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15) - entry nodes have been replaced by Shared_Var_Procs_Instance (node22) - for Shared_Storage package. - (Is_RACW_Stub_Type): New entity flag. - - * exp_ch4.adb - (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the - case where we have a modular type with a non-binary modules. - Comments reformattings. - - * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to - all types. - -2008-05-20 Javier Miranda <miranda@adacore.com> - - * exp_aggr.adb - (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous - tests did not covered the case in which the type of the aggregate has - no progenitors but some its parents has progenitors. - -2008-05-20 Gary Dismukes <dismukes@adacore.com> - Hristian Kirtchev <kirtchev@adacore.com> - - * exp_ch3.adb - (Expand_N_Object_Declaration): Correct the condition which triggers the - generation of a call to Displace when initializing a class-wide object. - (Build_Dcheck_Functions): Build discriminant-checking for null variants - when Frontend_Layout_On_Target is true to ensure that they're available - for calling when a record variant size function is built in Layout. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * exp_ch5.adb (Expand_Assign_Record): Within an initialization - procedure for a derived type retrieve the discriminant values from the - parent using the corresponding discriminant. - (Expand_N_Assignment_Statement): Skip generation of implicit - if-statement associated with controlled types if we are - compiling with restriction No_Finalization. - -2008-05-20 Vincent Celier <celier@adacore.com> - - * prj.adb (Hash (Project_Id)): New function - (Project_Empty): Add new component Interfaces_Defined - - * prj.ads (Source_Data): New component Object_Linked - (Language_Config): New components Object_Generated and Objects_Linked - (Hash (Project_Id)): New function - (Source_Data): New Boolean components In_Interfaces and - Declared_In_Interfaces. - (Project_Data): New Boolean component Interfaces_Defined - - * prj-attr.adb: - New project level attribute Object_Generated and Objects_Linked - Add new project level attribute Interfaces - - * prj-dect.adb: Use functions Present and No throughout - (Parse_Variable_Declaration): If a string type is specified as a simple - name and is not found in the current project, look for it also in the - ancestors of the project. - - * prj-makr.adb: - Replace procedure Make with procedures Initialize, Process and Finalize - to implement H414-023: process different directories with different - patterns. - Use functions Present and No throughout - - * prj-makr.ads: - Replace procedure Make with procedures Initialize, Process and Finalize - - * prj-nmsc.adb - (Add_Source): Set component Object_Exists and Object_Linked accordnig to - the language configuration. - (Process_Project_Level_Array_Attributes): Process new attributes - Object_Generated and Object_Linked. - (Report_No_Sources): New Boolean parameter Continuation, defaulted to - False, to indicate that the erreor/warning is a continuation. - (Check): Call Report_No_Sources with Contnuation = True after the first - call. - (Error_Msg): Process successively contnuation character and warning - character. - (Find_Explicit_Sources): Check that all declared sources have been found - (Check_File): Indicate in hash table Source_Names when a declared source - is found. - (Check_File): Set Other_Part when found - (Find_Explicit_Sources): In multi language mode, check if all exceptions - to the naming scheme have been found. For Ada, report an error if an - exception has not been found. Otherwise, disregard the exception. - (Check_Interfaces): New procedure - (Add_Source): When Other_Part is defined, set mutual pointers in spec - and body. - (Check): In multi-language mode, call Check_Interfaces - (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False - for an excluded source. - (Remove_Source): A source replacing a source in the interfaces is also - in the interfaces. - - * prj-pars.adb: Use function Present - - * prj-part.adb: Use functions Present and No throughout - (Parse_Single_Project): Set the parent project for child projects - (Create_Virtual_Extending_Project): Register project with no qualifier - (Parse_Single_Project): Allow an abstract project to be extend several - times. Do not allow an abstract project to extend a non abstract - project. - - * prj-pp.adb: Use functions Present and No throughout - (Print): Take into account the full associative array attribute - declarations. - - * prj-proc.adb: Use functions Present and No throughout - (Expression): Call itself with the same From_Project_Node for the - default value of an external reference. - - * prj-strt.adb: Use functions Present and No throughout - (Parse_Variable_Reference): If a variable is specified as a simple name - and is not found in the current project, look for it also in the - ancestors of the project. - - * prj-tree.ads, prj-tree.adb (Present): New function - (No): New function - Use functions Present and No throughout - (Parent_Project_Of): New function - (Set_Parent_Project_Of): New procedure - - * snames.ads, snames.adb: - Add new standard names Object_Generated and Objects_Linked - -2008-05-20 Hristian Kirtchev <kirtchev@adacore.com> - - * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent - and the derived type are of the same kind. - (Expand_Call): Generate type conversions for actuals of - record or array types when the parent and the derived types differ in - size and/or packed status. - -2008-05-20 Javier Miranda <miranda@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid - generating dispatch tables of locally defined tagged types statically. - Remove implicit if-statement that is no longer required. - (Expand_Dispatching_Call): If this is a call to an instance of the - generic dispatching constructor, the type of the first argument may be - a subtype of Tag, so always use the base type to recognize this case. - -2008-05-20 Thomas Quinot <quinot@adacore.com> - - * exp_dist.adb - (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received, - and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of - assigning NULL into the result, to avoid a spurious warning. - (Add_RACW_Features, case Same_Scope): Add assertion that designated type - is not frozen. - (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub - type. - (Build_From_Any_Function, Build_To_Any_Function, - Build_TypeCode_Function): For a type that has user-specified stream - attributes, use an opaque sequence of octets as the representation. - -2008-05-20 Kevin Pouget <pouget@adacore.com> - - * exp_smem.ads, exp_smem.adb: Construction of access and assign - routines has been replaced by an instantiation of - System.Shared_Storage.Shared_Var_Procs generic package, while expanding - shared variable declaration. - Calls to access and assign routines have been replaced by calls to - Read/Write routines of System.Shared_Storage.Shared_Var_Procs - instantiated package. - - * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table - It identifies the new generic package added in s-shasto. - - * s-shasto.adb, s-shasto.ads: A new generic package has been added, it - is instantiated for each shared passive variable. It provides - supporting procedures called upon each read or write access by the - expanded code. - - * sem_attr.adb: - For this runtime unit (always compiled in GNAT mode), we allow - stream attributes references for limited types for the case where - shared passive objects are implemented using stream attributes, - which is the default in GNAT's persistent storage implementation. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * freeze.adb - (Freeze_Enumeration_Type): For a subtype that inherits a foreign - convention from its base type, do not set the type to that of integer, - because it may inherit a size clause. - Warn on a size clause with a size different - from that of Integer, if the type has convention C. - -2008-05-20 Vincent Celier <celier@adacore.com> - - * gnatname.adb - (Scan_Args): Rewrite to take into account new switch --and to separate - arguments into sections. - (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each - section, then Finalize. - -2008-05-20 Tristan Gingold <gingold@adacore.com> - - * init.c: Enable stack probing on ppc-linux. - - * tracebak.c: Add symbolic traceback for ppc-linux. - - * system-linux-ppc.ads: Enable stack probing on ppc-linux. - -2008-05-20 Arnaud Charlet <charlet@adacore.com> - - * Makefile.in - (common-tools): New rule, to avoid parallel build failure on gnat tools. - Reenable parallel builds on this Makefile. - - * Make-lang.in: Update dependencies. - -2008-05-20 Robert Dewar <dewar@adacore.com> - - * opt.ads (Treat_Restrictions_As_Warnings): New switch - - * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag - Treat_Restrictions_As_Warnings. - - * switch-c.adb: Recognize new switch -gnatr - - * usage.adb: Add line for -gnatr - -2008-05-20 Hristian Kirtchev <kirtchev@adacore.com> - - * par-ch3.adb - (P_Access_Definition): Change the error message when parsing "access - all" in Ada 95 mode. The message no longer forces the user to recompile - in 05 mode only to discover that anonymous access types are not allowed - to have "all". - -2008-05-20 Hristian Kirtchev <kirtchev@adacore.com> - - * par-ch9.adb - (P_Protected): Update the error message on missing "-gnat05" switch when - using interfaces in conjunction with protected types. Remove the - incorrect error message associated with the presence of "private" after - a "with". - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * sem_aggr.adb: Update comments. - Improve previous change for PR ada/17985 - -2008-05-20 Thomas Quinot <quinot@adacore.com> - - * sem_cat.adb - (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in - the visible part of the spec of a remote types unit. - (Validate_Remote_Access_Object_Type_Declaration): - New local subprogram Is_Valid_Remote_Object_Type, replaces - Is_Recursively_Limited_Private. - (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all - non-controlling formals (and the return type, even though this is not - explicit in the standard) must support external streaming. - (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same - as above for of RAS types and RCI subprograms. (The return type is not - checked yet). - Update comments related to RACWs designating limited interfaces per - ARG ruling on AI05-060. - - * sem_util.ads, sem_util.adb - (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and - Is_Remote_Call_Interface to identify RACW types in a stable and - consistent way. We used to rely in this predicate on the privateness of - the designated type and its ancestors, but depending on the currently - visible private parts, this caused false negatives. We now uniformly - rely on checks made at the point where the RACW type is declared. - (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7. - -2008-05-20 Javier Miranda <miranda@adacore.com> - Ed Schonberg <schonberg@adacore.com> - Hristian Kirtchev <kirtchev@adacore.com> - - * sem_ch3.adb - (Analyze_Object_Declaration): Fix over-conservative condition - restricting use of predefined assignment with tagged types that have - convention CPP. - (Analyze_Object_Declaration): Relax the check regarding deferred - constants declared in scopes other than packages since they can be - completed with pragma Import. - Add missing escaping of all-caps word 'CPP' in error messages. - (Build_Discriminated_Subtype): Do not inherit representation clauses - from parent type if subtype already carries them, because they are - inherited earlier during derivation and already include those that may - come from a partial view. - - * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body): - Check the declarations of a subprogram body for proper deferred - constant completion. - - * sem_ch7.ads, sem_ch7.adb - (Inspect_Deferred_Constant_Completion): Moved to sem_util. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - Thomas Quinot <quinot@adacore.com> - - * sem_ch4.adb - (Try_Indexed_Call): Handle properly a construct of the form F(S) where - F is a parameterless function that returns an array, and S is a subtype - mark. - (Analyze_Call): Insert dereference when the prefix is a parameterless - function that returns an access to subprogram and the call has - parameters. - Reject a non-overloaded call whose name resolves to denote - a primitive operation of the stub type generated to support a remote - access-to-class-wide type. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb - (Note_Redundant_Use): Diagnose a redundant use within a subprogram body - when there is a use clause for the same entity in the context. - (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is - created for a stream attribute of an abstract type or interface type. - -2008-05-20 Thomas Quinot <quinot@adacore.com> - - * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New - subprogram. - - * sem_type.adb - (Add_One_Interp): Ignore any interpretation that is a primitive - operation of an RACW stub type (these primitives are only executed - through dispatching, never through static calls). - (Collect_Interps): When only one interpretation has been found, set N's - Entity and Etype to that interpretation, otherwise Entity and Etype may - still refer to an interpretation that was ignored by Add_One_Interp, - in which case would end up with being marked as not overloaded but with - an Entity attribute not pointing to its (unique) correct interpretation. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * sem_eval.adb - (Eval_Slice): Warn when a slice whose discrete range is a subtype name - denotes the whole array of its prefix. - -2008-05-20 Robert Dewar <dewar@adacore.com> - - * sem_res.adb (Resolve_Op_Not): Warn on double negation - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * sprint.adb - (Print_Itype): Do not modify the sloc of the component type of a - (packed) array itype, because it is an unrelated type whose source - location is independent of the point of creation of the itype itself. - -2008-05-20 Thomas Quinot <quinot@adacore.com> - - * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with - Append. - -2008-05-20 Robert Dewar <dewar@adacore.com> - Vincent Celier <celier@adacore.com> - - * vms_data.ads: Add entry for -gnatr - Put GNAT SYNC section in proper alpha order - Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d - - * gnat_ugn.texi: Add documentation for new gnatname switch --and - Update the style checks section - Add documentation of -gnatr - Add to the "Adding the Results of Compiler Checks to gnatcheck Output" - subsection the explanation how compiler checks should be disabled for - gnatcheck. - Update the list of Ada 95 reserved words used by in the project language - Add documentation for project qualifiers. - Document that abstract projects may be extended by different projects in - the same project tree. - Add documentation for gnatmake switch -d - - * ug_words: Add -gnatyy VMS equivalence string. - Add entry for -gnatr - -2008-05-20 Bob Duff <duff@adacore.com> - - * a-rttiev.adb - (Set_Handler): Remove code from both of these that implements - RM-D.15(15/2), because it causes a race condition and potential - deadlock. - (Process_Queued_Events): Add comment explaining "exception when others - => null". Add clarifying ".all", even though implicit .all is legal - here. - -2008-05-20 Arnaud Charlet <charlet@adacore.com> - - * s-winext.ads: Replace representation clause by pragma Pack. Gives - equivalent representation, but has the advantage of allowing - compilation of this file under 64 bits platforms. - - * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant. - - * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration. - - * adaint.c: - Don't define dummy implementation of convert_addresses on ppc-linux. - -2008-05-20 Ed Schonberg <schonberg@adacore.com> - - * exp_ch7.adb - (Expand_Ctrl_Function_Call): Do not attach result to finalization list - if expression is aggregate component. - -2008-05-20 Robert Dewar <dewar@adacore.com> - - * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads, - sem_ch12.adb: Update comments. Minor reformatting. - - * exp_ch2.adb: Typo - - * s-unstyp.ads: Fixed some typos in comments. - -2008-05-20 Arnaud Charlet <charlet@adacore.com> - - * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New - type/constant. - - * g-socthi-vxworks.ads: Update to latest socket changes. - - * a-caldel-vms.adb: Resync with a-caldel spec. - - * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting. - Update comments. - -2008-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account - for dummy types pointed to by the converted pointer types. - -2008-05-15 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field - of records and unions. - (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting. - -2008-05-14 Samuel Tardieu <sam@rfc1149.net> - Robert Dewar <dewar@adacore.com> - - * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add - restrictions to the prefix of 'Old. - * sem_util.ads, sem_util.adb (In_Parameter_Specification): New. - * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local - variables. - -2008-05-13 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/24880 - PR ada/26635 - * utils.c (convert) <INTEGER_TYPE>: When converting an additive - expression to an integral type with lower precision, use NOP_EXPR - directly in a couple of special cases. - -2008-05-12 Samuel Tardieu <sam@rfc1149.net> - Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching - constraint expressions. - -2008-05-12 Tomas Bily <tbily@suse.cz> - - * utils2.c (known_alignment, contains_save_expr_p) - (gnat_mark_addressable): Use CASE_CONVERT. - * decl.c (annotate_value): Likewise. - * trans.c (maybe_stabilize_reference): Likewise. - * utils2.c (build_binary_op): Use CONVERT_EXPR_P. - * utils.c (rest_of_record_type_compilation): Likewise. - * trans.c (protect_multiple_eval, Attribute_to_gnu) - (protect_multiple_eval): Likewise. - -2008-05-08 Andreas Schwab <schwab@suse.de> - - * utils.c (handle_pure_attribute, init_gigi_decls): Rename - DECL_IS_PURE to DECL_PURE_P. - -2008-05-05 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (maybe_pad_type): Add ??? comment. - -2008-05-03 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (components_to_record): Zero the alignment of the qualified - union built for the variant part upon creating it. - -2008-05-03 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (maybe_pad_type): Try to get a form of the type with integral - mode even if the alignment is not a factor of the original size. But - make sure to create the inner field with the original size. Reorder. - * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding - record as always addressable. - * utils.c (convert): Deal specially with conversions between original - and packable versions of a record type. - * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when - recognizing an assignment between padded objects. - -2008-05-01 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (make_packable_type): Resize the last component to its RM size - only if it is of an aggregate type. - * trans.c (call_to_gnu): Fix nit in comment. - (gnat_to_gnu): Likewise. - -2008-04-30 Samuel Tardieu <sam@rfc1149.net> - - * Makefile.in: Adapt sh4-linux target. - -2008-04-29 Ed Schonberg <schonberg@adacore.com> - - PR ada/35792 - * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete - tagged type by an untagged protected or task type. - -2008-04-28 Eric Botcazou <ebotcazou@adacore.com> - Tristan Gingold <gingold@adacore.com> - - PR ada/36007 - * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment - of aliased objects with an unconstrained nominal subtype. - Cap the promotion to the effective alignment of the word mode. - -2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads) - (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads): - Use '&&' instead of ';'. - -2008-04-24 Olivier Hainque <hainque@adacore.com> - - * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation - doesn't require signed arithmetic anymore. - -2008-04-23 Paolo Bonzini <bonzini@gnu.org> - - * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT. - (call_to_gnu): Don't set TREE_INVARIANT. - * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT. - -2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com> - - * s-osinte-rtems.adb: Add sigalstack function. - * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack - function. Add Alternate_Stack and Alternate_Stack_Size. - Add missing process_shared field to pthread_condattr_t - and change ss_low_priority to int from timespec. - -2008-04-22 Samuel Tardieu <sam@rfc1149.net> - - * i-forbla.adb: Link against -llapack and -lblas by default - instead of the private -lgnalasup. - -2008-04-21 Olivier Hainque <hainque@adacore.com> - - Access to most C builtins from Ada - * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE. - (handle_pure_attribute, handle_novops_attribute, - handle_nonnull_attribute, handle_sentinel_attribute, - handle_noreturn_attribute, handle_malloc_attribute, - handle_type_generic_attribute): New attribute handlers, from C fe. - (gnat_internal_attribute_table): Map the new handlers. - (gnat_init_decl_processing): Move call to gnat_install_builtins to ... - (init_gigi_decls): ... here. - (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for): - Move to a section dedicated to builtins processing. - (build_void_list_node, builtin_type_for_size): New functions. - (def_fn_type, get_nonnull_operand): Likewise. - (install_builtin_elementary_type, install_builtin_function_types, - install_builtin_attributes): Likewise. - (fake_attribute_handler): Fake handler for attributes we don't - support in Ada. - (def_builtin_1): New function, worker for DEF_BUILTIN. - (install_builtin_functions): New function. - (gnat_install_builtins): Move to the builtins processing section. - Now calling the newly introduced installers. - -2008-04-20 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of - constant objects, but not exceptions. - * trans.c (add_decl_expr): Use gnat_types_compatible_p for type - compatibility test. - * utils.c (create_var_decl_1): Likewise. - * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of - the type when copying to padded object and the source is a constructor. - -2008-04-18 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the - alignment, reset it to zero if it would end up not being greater - than that of the type. - -2008-04-18 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (maybe_pad_type): Only generate the XVS parallel type if - the padded type has a variable size. - -2008-04-18 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by - target pointer mechanism as soon as the size is not constant. - -2008-04-18 Eric Botcazou <ebotcazou@adacore.com> - - * gigi.h (create_var_decl_1): Declare. - (create_var_decl): Turn into a macro invoking create_var_decl_1. - (create_true_var_decl): Likewise. - * utils.c (create_var_decl_1): Make global and reorder parameters. - (create_var_decl): Delete. - (create_true_var_decl): Likewise. - -2008-04-17 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of - objects by default. - * fe.h (Debug_Flag_Dot_A): Delete. - * debug.adb (-gnatd.a): Update documentation. - -2008-04-17 Samuel Tardieu <sam@rfc1149.net> - - * g-socket.ads, g-socket.adb (Get_Address): Make Stream a - "not null" parameter. - -2008-04-17 Samuel Tardieu <sam@rfc1149.net> - - * g-socket.adb: Add a message "IPv6 not supported" to the - Socket_Error exception. - -2008-04-16 Samuel Tardieu <sam@rfc1149.net> - - PR ada/29015 - * sem_ch12.adb (Instantiate_Type): Check whether the full view of - the type is known instead of the underlying type. - -2008-04-15 Ed Schonberg <schonberg@adacore.com> - - PR ada/22387 - * exp_ch5.adb (Expand_Assign_Record): Within an initialization - procedure for a derived type retrieve the discriminant values from - the parent using the corresponding discriminant. - -2008-04-15 Samuel Tardieu <sam@rfc1149.net> - Gary Dismukes <dismukes@adacore.com> - - PR ada/28733 - * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something - which is not an entity (and hence not a package). - (End_Use_Package): Ditto. - -2008-04-15 Ed Schonberg <schonberg@adacore.com> - - PR ada/16086 - * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any - protected operation that matches the signature, not only an entry, a - regular subprogram or a literal. - -2008-04-15 Eric Botcazou <ebotcazou@adacore.com> - - * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3. - * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only - if a size or alignment is specified. Do not take into account - alignment promotions for the computation of the object's size. - <type>: Call maybe_pad_type only if a size or alignment is specified. - (maybe_pad_type): Really reuse the RM_Size of the original type if - requested. - * trans.c (Attribute_to_gnu): Fix a couple of nits. - * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional - statements. Use the padded view of the type when copying between - padded objects of the same underlying type. - -2008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * vms_data.ads: Fix typo in constant. - * gen-soccon.c: Fix typo in error string. - * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition): - Fix typos. - * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads, - bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb, - erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb, - exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb, - exp_util.adb, fmap.adb, g-soccon-linux-mips.ads, - g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads, - mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb, - s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads, - s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads, - sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads, - sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, - sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads, - sinfo.ads: Fix typos in comments. - -2008-04-14 Robert Dewar <dewar@adacore.com> - - * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error - to every non-object and change error message. - -2008-04-14 Robert Dewar <dewar@adacore.com> - - * sem_util.ads, sem_util.adb (In_Subprogram): Remove. - * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram - directly. - -2008-04-14 Samuel Tardieu <sam@rfc1149.net> - - PR ada/18680 - * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to - apply pragma Linker_Section on type. - -2008-04-14 Samuel Tardieu <sam@rfc1149.net> - - PR ada/16098 - * sem_prag.adb (Error_Pragma_Ref): New. - (Process_Convention): Specialized message for non-local - subprogram renaming. Detect the problem in homonyms as well. - -2008-04-14 Samuel Tardieu <sam@rfc1149.net> - - PR ada/15915 - * sem_util.ads, sem_util.adb (Denotes_Variable): New function. - * sem_ch12.adb (Instantiate_Object): Use it. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that - storage pool denotes a variable as per RM 13.11(15). - -2008-04-14 Samuel Tardieu <sam@rfc1149.net> - - * sem_util.ads, sem_util.adb (In_Subprogram): New function. - * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it. - -2008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de> - - PR ada/20822 - * xgnatugn.adb (Put_Line): New procedure, ensuring Unix - line endings even on non-Unix platforms. - -2008-04-14 Samuel Tardieu <sam@rfc1149.net> - - PR ada/35050 - * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the - renaming information. - -2008-04-13 Samuel Tardieu <sam@rfc1149.net> - - PR ada/17985 - * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of - itself. - -2008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * sfn_scan.adb, sfn_scan.ads, sinfo.ads, - sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads, - snames.ads, sprint.adb, stand.ads, stringt.ads, - styleg.adb, styleg.ads, stylesw.adb, stylesw.ads, - switch.ads, sysdep.c, table.adb, table.ads, - targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c, - trans.c, tree_io.adb, treepr.adb, types.adb, types.ads, - uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads, - vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb, - widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb, - xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb: - Fix comment typos. - - * sem_ch10.adb, sem_ch10.ads, - sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, - sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, - sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb, - sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads, - sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, - sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb, - sem_warn.ads: Fix comment typos. - - * s-secsta.adb, s-sequio.ads, s-shasto.ads, - s-soflin.ads, s-stalib.ads, s-stausa.adb, - s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads, - s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, - s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb, - s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, - s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb, - s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads, - s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads, - s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, - s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb, - s-tposen.ads, s-traceb-hpux.adb, s-traces.ads, - s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads, - s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb, - s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads, - scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb, - sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads, - sem_cat.adb, sem_cat.ads: Fix comment typos. - -2008-04-12 Joel Sherrill <joel@oarcorp.com> - - PR ada/35825 - * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported. - -2008-04-12 Arnaud Charlet <charlet@adacore.com> - - * s-linux-hppa.ads: Fix syntax errors. - -2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * gnat_ugn.texi: Fix typos. - * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb, - restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads, - s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads, - s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads, - s-fatllf.ads, s-fatsfl.ads, s-filofl.ads, - s-finimp.adb, s-finroo.ads, s-fishfl.ads, - s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads, - s-hibaen.ads, s-htable.ads, s-imgcha.adb, - s-imgenu.ads, s-imgint.adb, s-imgrea.adb, - s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb, - s-interr-vxworks.adb, s-interr.adb, s-interr.ads, - s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb, - s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads, - s-osinte-darwin.ads, s-osinte-freebsd.ads, - s-osinte-hpux.ads, s-osinte-lynxos-3.adb, - s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, - s-osinte-rtems.ads, s-osinte-solaris-posix.ads, - s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads, - s-parame-hpux.ads, s-parame-vms-alpha.ads, - s-parame-vms-ia64.ads, s-parame-vms-restrict.ads, - s-parame-vxworks.ads, s-parame.ads, s-parint.adb, - s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads, - s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads, - s-rident.ads: Fix comment typos. - -2008-04-09 Samuel Tardieu <sam@rfc1149.net> - - PR ada/28305 - * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore - environment if generic instance is a top-level one. - -2008-04-09 Doug Rupp <rupp@adacore.com> - - * decl.c (validate_size): Set minimum size for fat pointers same as - access types. Code clean ups. - - * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise - (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS - - * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant - - * s-crtl.ads (malloc32) New function, alias for malloc - (realloc32) New function, alias for realloc - - * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS - - * utils2.c (build_call_alloc_dealloc): Return call to short malloc if - allocator size is 32 and default pointer size is 64. - (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of - lhs type if smaller, whatever the modes. - - * gigi.h (malloc32_decl): New macro definition - - * utils.c (init_gigi_decls): New malloc32_decl - Various code clean ups. - - * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to - Task_Address vice System.Address. - - * s-taspri-vms.ads: Import System.Aux_DEC - (Task_Address): New subtype of System.Aux_DEC.Short_Address - (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address - - * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to - Task_Address vice System.Address. - - * s-inmaop-vms.adb: Import System.Task_Primitives - (To_Address): Unchecked convert to Task_Address vice System.Address - - * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay - expires now. - (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address - (To_Address) Unchecked convert to Task_Address vice System.Address - - * s-tpopde-vms.adb: Remove unnecessary warning pragmas - - * g-socthi-vms.ads: Add 32bit size clauses on socket access types. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - - * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc. - (fdesc_type_node): Define. - (null_fdesc_node): Likewise. - * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target - uses descriptors for vtables and the type comes from a dispatch table, - return the descriptor type. - * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target - uses descriptors for vtables and the type comes from a dispatch table, - build a descriptor in the static case and copy the existing one in the - non-static case. - (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and - the type is a pointer-to-subprogram coming from a dispatch table, - return the null descriptor. - <N_Unchecked_Type_Conversion>: If the target uses descriptors for - vtables, the source type is the descriptor type and the target type - is a pointer type, first build the pointer. - * utils.c (init_gigi_decls): If the target uses descriptors for vtables - build the descriptor type and the null descriptor. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (prepend_attributes): Fix typo. - * trans.c (Pragma_to_gnu): Likewise. - * utils.c (gnat_genericize): Likewise. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - Richard Kenner <kenner@adacore.com> - - * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed. - * decl.c (gnat_to_gnu_entity): Adjust for above change. - <E_Record_Type>: Try to get a better form of the component for - packing, even if it has an integral mode. - <E_Record_Subtype>: Likewise. - * trans.c (gnat_to_gnu): Do not require BLKmode for the special - exception suppressing the final conversion between record types. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing - alignment for space, promote the alignment of non-scalar variables with - no size and alignment. - * gigi.h (gnat_types_compatible_p): Declare. - * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate. - * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup. - * utils.c (gnat_types_compatible_p) : New predicate. - (convert): Use it throughout to test for cases where a mere view - conversion is sufficient. - * utils2.c (build_binary_op): Minor tweaks. - (build_unary_op): Likewise. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (adjust_packed): Expand comment. - -2008-04-08 Arnaud Charlet <charlet@adacore.com> - - * s-tasuti.ads: Use Task_Address instead of System.Address. - - * makeutl.adb (Path_Or_File_Name): New function - - * nlists.ads, itypes.ads: Update comments. - - * s-crtl.ads (malloc32, realloc32): New functions. - - * s-auxdec.ads (Short_Address_Size): New constant. - - * a-taside.adb, s-tasdeb.adb: Use Task_Address. - - * s-ststop.ads, s-ststop.adb: New file. - - * exp_tss.ads, s-taprop-lynxos.adb: Update comments. - Minor reformatting. - -2008-04-08 Pascal Obry <obry@adacore.com> - - * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200. - (Stop_Bits_Number): New type. - (Parity_Check): Likewise. - (Set): Add parameter to set the number of stop bits and - the parity. Parameter timeout is now a duration instead - of a plain integer. - - * g-sercom-linux.adb: - Implement the stop bits and parity support for GNU/Linux. - Fix handling of timeout, it must be given in tenth of seconds. - - * g-sercom-mingw.adb: - Implement the stop bits and parity support for Windows. - Use new s-win32.ads unit instead of declaring Win32 services - directly into this body. - Update handling of timeout as now a duration. - - * s-win32.ads, s-winext.ads: New files. - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - Arnaud Charlet <charlet@adacore.com> - - * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed. - - s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads, - s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux. - - * s-osinte-lynxos-3.ads, - (Alternate_Stack): Remove when not needed. Simplify declaration - otherwise. - (Alternate_Stack_Size): New constant. - - s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of - 'Unrestricted_Access. - - * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads, - s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads, - s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads, - s-osinte-solaris.ads, s-osinte-vms.ads - (SA_ONSTACK): New constant. - (stack_t): New record type. - (sigaltstack): New imported function. - (Alternate_Stack): New imported variable. - (Alternate_Stack_Size): New constant. - - * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True. - - * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads, - s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads, - s-taspri-vms.ads (Task_Address): New subtype of System.Address - (Task_Address_Size): New constant size of System.Address - (Alternate_Stack_Size): New constant. - - * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete. - (Enter_Task): Do not notify stack to System.Stack_Checking.Operations. - Establish the alternate stack if the platform makes use of n alternate - signal stack for stack overflows. - (Create_Task): Take into account the alternate stack in the stack size. - (Initialize): Save the address of the alternate stack into the ATCB for - the environment task. - (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads). - - * s-parame.adb (Minimum_Stack_Size): Increase value to 16K - - * system-linux-x86.ads: (Stack_Check_Probes): Set to True. - - * s-intman-posix.adb: - (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an - alternate signal stack for stack overflows. - - * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and - x86-64, adjust the saved value of the stack pointer if the signal was - raised by a stack checking probe. - (HP-UX section): Use global __gnat_alternate_stack as signal handler - stack and only for SIGSEGV. - (Linux section): Likewise on x86 and x86-64. - [VxWorks section] - (__gnat_map_signal): Now static. - (__gnat_error_handler): Not static any more. - (__gnat_adjust_context_for_raise): New function. Signal context - adjustment for PPC && !VTHREADS && !RTP, as required by the zcx - propagation circuitry. - (__gnat_error_handler): Second argument of a sigaction handler is a - pointer, not an int, and is unused. - Adjust signal context before mapping to exception. - Install signal handlers for LynxOS case. - - * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack. - (Task_Id): Set size to Task_Address_Size - (To_Task_id): Unchecked convert from Task_Address vice System.Address - (To_Address): Unchecked convert to Task_Address vice System.Address - - * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its - address into the ATCB if the platform makes use of an alternate signal - stack for stack overflows. - (Free_Task): Add call to Finalize_Attributes_Link. - Add argument Relative_Deadline to pass the value specified for - the task. This is not yet used for any target. - - * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass - the value specified for the task. - -2008-04-08 Arnaud Charlet <charlet@adacore.com> - - (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb - (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads, - s-vxwext-rtp.adb): New files. - - * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb: - Minor updates to accomodate changes above. - -2008-04-08 Pascal Obry <obry@adacore.com> - - * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb, - s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads: - Use new s-win32.ads unit instead of declaration - from s-osinte-mingw.ads. - - * s-osinte-mingw.ads: - Move all non tasking based interface to s-win32.ads. - - * s-osprim-mingw.adb: - Remove duplicated declarations and use s-win32.ads - unit instead. - -2008-04-08 Vincent Celier <celier@adacore.com> - Arnaud Charlet <charlet@adacore.com> - - * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb, - mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb, - mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb, - mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, - mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into... - - * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb, - mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb, - mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb, - mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb, - mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, - mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb, - mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, - mlib-tgt-specific-mingw.adb: New names. - - * Makefile.in: - On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads - Get rid of gnatbl. - (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o - Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb - Minor updates for VMS - - * gnatbl.c: Removed. - -2008-04-08 Thomas Quinot <quinot@adacore.com> - - * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb, - g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb, - gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads, - a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb, - s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of - ASCII.NUL throughout. - -2008-04-08 Arnaud Charlet <charlet@adacore.com> - Matthew Heaney <heaney@adacore.com> - - * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex - renaming. - - * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, - a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform - to convention for non-RM specs. - Add descriptive header, and documented each operation - document each operation - -2008-04-08 Robert Dewar <dewar@adacore.com> - Bob Duff <duff@adacore.com> - Gary Dismukes <dismukes@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * alloc.ads: Add entries for Obsolescent_Warnings table - - * einfo.ads, einfo.adb: Minor reformatting. - (Is_Discriminal): New subprogram. - (Is_Prival): New subprogram. - (Is_Protected_Component): New subprogram. - (Is_Protected_Private): Removed. - (Object_Ref, Set_Object_Ref): Removed. - (Prival, Set_Prival): Change assertion. - (Privals_Chain, Set_Privals_Chain): Removed. - (Prival_Link, Set_Prival_Link): New subprogram. - (Protected_Operation, Set_Protected_Operation): Removed. - (Protection_Object, Set_Protection_Object): New subprogram. - (Write_Field17_Name): Remove case for Object_Ref. - (Write_Field20_Name): Add case for Prival_Link. - (Write_Field22_Name): Remove case for Protected_Operation, - Privals_Chain. - Add case for Protection_Object. - (Can_Use_Internal_Rep): Make this into a [base type only] attribute, - so clients - (Overlays_Constant): New flag - (Is_Constant_Object): New predicate - (Is_Standard_Character_Type): New predicate - (Optimize_Alignment_Space): New flag - (Optimize_Alignment_Time): New flag - (Has_Postconditions): New flag - (Obsolescent_Warrning): Field removed - (Spec_PPC_List): New field - (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add - subprograms to get and set the relative deadline associated to a task. - - * exp_attr.adb (May_Be_External_Call): Account for the case where the - Access attribute is part of a named parameter association. - (Expand_Access_To_Protected_Op): Test for the attribute occurring - within an init proc and use that directly as the scope rather than - traversing up to the protected operation's enclosing scope. Only apply - assertion on Is_Open_Scopes in the case the scope traversal is done. - For the init proc case use the address of the first formal (_init) as - the protected object reference. - Implement Invalid_Value attribute - (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access. - contents of the dispatch table there is no need to duplicate the - itypes associated with record types (i.e. the implicit full view - of private types). - Implement Enum_Val attribute - (Expand_N_Attribute_Reference, case Old): Properly handle appearence - within _Postconditions procedure - (Expand_N_Attribute_Reference, case Result): Implement new attribute - - * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which - a return statement calls a function that is not available in - configurable runtime. - (Analyze_If_Statement): don't optimize simple True/False cases in -O0 - (Expand_Non_Function_Return): Generate call to _Postconditions proc - (Expand_Simple_Function_Return): Ditto - - * frontend.adb: Add call to Sem_Aux.Initialize - - * sem_aux.ads, sem_aux.adb: New file. - - * par-prag.adb: Add entries for pragmas Precondition/Postcondition - Add new Pragma_Relative_Deadline. - Add support for pragmas Check and Check_Policy - - * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram. - (Check_Stream_Attribute): Add missing check (not allowed in CPP types) - (Analyze_Attribute): In case of attributes 'Alignment and 'size add - missing check because they are not allowed in CPP tagged types. - Add Sure parameter to Note_Possible_Modification calls - Add implementation of Invalid_Value attribute - Implement new attribute Has_Tagged_Values - Implement Enum_Val attribute - (Analyze_Attribute, case Range): Set Name_Req True for prefix of - generated attributes. - (Analyze_Attribute, case Result): If prefix of the attribute is - overloaded, it always resolves to the enclosing function. - (Analyze_Attribute, case Result): Properly deal with analysis when - Postconditions are not active. - (Resolve_Attribute, case Result): Properly deal with appearence during - preanalysis in spec. - Add processing for attribute Result - - * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup - for operators. - (Analyze_Subprogram_Body): Install private_with_clauses when the body - acts as a spec. - (Check_Inline_Pragma): recognize an inline pragma that appears within - the subprogram body to which it applies. - (Analyze_Function_Return): Check that type of the expression of a return - statement in a function with a class-wide result is not declared at a - deeper level than the function. - (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag - (Verify_Overriding_Indicator): Handle properly subprogram bodies for - user- defined operators. - (Install_Formals): Moved to spec to allow use from Sem_Prag for - analysis of precondition/postcondition pragmas. - (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for - Last_Formal, along with lots of comments on what this is about - (Analyze_Subprogram_Body): Fix case where we move entities from the - spec to the body when there are no body entities (now possible with - precondition and postcondition pragmas). - (Process_PPCs): New procedure - (Analyze_Subprogram_Body): Add call to Process_PPCs - - * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type - clause. - (Pop_Scope): Restore Check_Policy_List on scope exit - (Push_Scope): Save Check_Policy_List on scope entry - Change name In_Default_Expression => In_Spec_Expression - Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression - Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve - (Analyze_Object_Renaming): Allow 'Reference as object - (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma - (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling - of restriction identifier. - Add Sure parameter to Note_Possible_Modication calls - - * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert): - Don't check for primitive operations when calling Rep_Item_Too_Late. - (Process_Import_Or_Interface): Do not place flag on formal - subprograms. - (Analyze_Pragma, case Export): If the entity is a deferred constant, - propagate information to full view, which is the one elaborated by the - back-end. - (Make_Inline): the pragma is effective if it applies to an internally - generated subprogram declaration for a body that carries the pragma. - (Analyze_Pragma, case Optimize_Alignment): Set new flag - Optimize_Alignment_Local. - (Analyze_PPC_In_Decl_Part): New procedure - (Get_Pragma_Arg): Moved to outer level - (Check_Precondition_Postcondition): Change to allow new visibility - rules for package spec - (Analyze_Pragma, case Check_Policy): Change placement rules to be - same as pragma Suppress/Unsuppress. - Change name In_Default_Expression => In_Spec_Expression - Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression - Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve - (Check_Precondition_Postcondition): Do proper visibility preanalysis - for the case of these pragmas appearing in the spec. - (Check_Enabled): New function - (Initialize): New procedure - (Tree_Read): New procedure - (Tree_Write): New procedure - (Check_Precondition_Postcondition): New procedure - Implement pragmas Check and Check_Policy - Merge Assert processing with Check - - * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check - New warning flag -gnatw.e - - * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function - returning whether a task (or main procedure) has a pragma - Relative_Deadline. - (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task - (or main procedure) has a pragma Relative_Deadline. - Add Next_Pragma field to N_Pragma node - (PPC_Enabled): New flag - (Next_Pragma): Now used for Pre/Postcondition processing - - * snames.h, snames.ads, snames.adb: New standard name - Inherit_Source_Path - Add entry for 'Invalid_Value attribute - Add entry for new attribute Has_Tagged_Values - Add entry for Enum_Val attribute - Add new standard names Aggregate, Configuration and Library. - Add _Postconditions - Add _Result - Add Pragma_Precondition - Add Pragma_Postcondition - Add Attribute_Result - New standard name Archive_Builder_Append_Option - (Preset_Names): Add _relative_deadline and relative_deadline definitions - There was also a missing non_preemptive_within_priorities. - (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma - Relative_Deadline. - Add support for pragmas Check and Check_Policy - - * tree_gen.adb: Call Sem_Aux.Tree_Write - - * tree_in.adb: Call Sem_Aux.Tree_Read - - * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling - sequence - - * exp_intr.adb (Expand_Source_Info): New Build_Location calling - sequence - - * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure. - (Expand_N_Pragma): Call the appropriate procedure for expanding pragma - Relative_Deadline. - (Expand_Pragma_Check): New procedure - - * sinput.ads, sinput.adb (Build_Location_String): Now appends to name - buffer. - - * sinfo.adb (PPC_Enabled): New flag - -2008-04-08 Robert Dewar <dewar@adacore.com> - Gary Dismukes <dismukes@adacore.com> - Javier Miranda <miranda@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * fe.h: Remove global Optimize_Alignment flag, no longer used - - * layout.adb: Test Optimize_Alignment flags rather than global switch - - * lib.ads, lib.adb: New OA_Setting field in library record - - * lib-load.adb: New OA_Setting field in library record - - * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place - units mentioned in limited_with_ clauses in the ali file, with an - 'Y' marker. - New Ox fields in U line - - * opt.adb: New flag Optimize_Alignment_Local - (Check_Policy_List[_Config]): New flags - - * opt.ads (Invalid_Value_Used): New flag - New switch Optimize_Alignment_Local - (Warn_On_Parameter_Order): New flag - (Check_Policy_List[_Config]): New flags - - * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of - limited_with clauses. - New data structures for Optimize_Alignment - - * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization): - New procedure - (Check_Consistent_Optimize_Alignment): Rework for new structure - (Check_Consistent_Restrictions): Fix incorrect error message - - sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly - created class-wide type (to the Parent field of the specific type). - (Install_Siblings): Handle properly private_with_clauses on subprogram - bodies and on generic units. - (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an - illegal limited_with_clause that names a non-existent package. - (Check_Body_Required): Determine whether a unit named a limited_with - clause needs a body. - (Analyze_Context): A limited_with_clause is illegal on a unit_renaming. - Capture Optimize_Alignment settings to set new OA_Setting field in - library record. - (Build_Limited_Views): Include task and protected type declarations. - - * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the - case of a possible constant redeclaration where the current object is - an entry index constant. - (Analyze_Object_Declaration): Generate an error in case of CPP - class-wide object initialization. - (Analyze_Object_Declaration): Add extra information on warnings for - declaration of unconstrained objects. - (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid - conflicts with the setting of Stored_Constraint in the case where the - access type entity has already been created as an E_Incomplete_Type due - to a limited with clause. - Use new Is_Standard_Character_Type predicate - (Analyze_Object_Declaration): Apply access_constant check only after - expression has been resolved, given that it may be overloaded with - several access types. - (Constant_Redeclaration): Additional legality checks for deferred - constant declarations tha involve anonymous access types and/or null - exclusion indicators. - (Analyze_Type_Declaration): Set Optimize_Alignment flags - (Analyze_Subtype_Declaration): Ditto - (Analyze_Object_Declaration): Ditto - (Analyze_Object_Declaration): Don't count tasks in generics - Change name In_Default_Expression => In_Spec_Expression - Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression - Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve - (Process_Discriminants): Additional check for illegal use of default - expressions in access discriminant specifications in a type that is not - explicitly limited. - (Check_Abstract_Overriding): If an inherited function dispaches on an - access result, it must be overridden, even if the type is a null - extension. - (Derive_Subprogram): The formals of the derived subprogram have the - names and defaults of the parent subprogram, even if the type is - obtained from the actual subprogram. - (Derive_Subprogram): In the presence of interfaces, a formal of an - inherited operation has the derived type not only if it descends from - the type of the formal of the parent operation, but also if it - implements it. This is relevant for the renamings created for the - primitive operations of the actual for a formal derived type. - (Is_Progenitor): New predicate, to determine whether the type of a - formal in the parent operation must be replaced by the derived type. - - * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make - predicate recursive to handle components that have a user-defined - Initialize procedure. Handle controlled derived types whose ancestor - has a user-defined Initialize procedured. - (Note_Possible_Modification): Add Sure parameter, generate warning if - sure modification of constant - Use new Is_Standard_Character_Type predicate - (Find_Parameter_Type): when determining whether a protected operation - implements an interface operation, retrieve the type of the formal from - the entity when the formal is an access parameter or an - anonymous-access-to-subprogram. - Move Copy_Parameter_List to sem_util, for use when building stubbed - subprogram bodies. - (Has_Access_Values): Tagged types now return False - (Within_HSS_Or_If): New procedure - (Set_Optimize_Alignment_Flags): New procedure - Change name In_Default_Expression => In_Spec_Expression - Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression - Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve - -2008-04-08 Tristan Gingold <gingold@adacore.com> - - * s-fileio.adb: Name_Error shouldn't be raised for a tempory file. - -2008-04-08 Tristan Gingold <gingold@adacore.com> - -PR ada/10768 - - * cuintp.c: Fix 16 bits issue for AVR. - On AVR, integer is 16 bits, so it can't be used to do math with - Base (=32768). - So use long_integer instead. - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - - * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for - System.OS_Primitives. - Change type of various constants, parameters and local variables from - Time to representation type OS_Time. - (To_Ada_Time, To_Unix_Time): Correct sign of origin shift. - Remove the declaration of constant Mili_F from several routines. New - body for internal package Conversions_Operations. - (Time_Of): Add default parameters for several formals. - - * a-caldel.adb: Minor reformatting - - * a-calend.ads, a-calend.adb: New body for internal package - Conversions_Operations. - (Time_Of): Add default parameters for several formals. - - * Makefile.rtl: Add a-ststop - Add Ada.Calendar.Conversions to the list of runtime files. - Add g-timsta - - * a-calcon.adb, a-calcon.ads: New files. - -2008-04-08 Jose Ruiz <ruiz@adacore.com> - Tristan Gingold <gingold@adacore.com> - - * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb - (Install_Restricted_Handlers): New procedure - which is a simplified version of Install_Handlers that does not store - previously installed. - - * s-interr-vxworks.adb: Fix ACATS cxc3001 - On VxWorks interrupts can't be detached. - (Install_Restricted_Handlers): New procedure. - - * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New - procedure. - -2008-04-08 Olivier Hainque <hainque@adacore.com> - - * s-intman-vxworks.ads, s-intman-vxworks.adb - (Map_And_Raise_Exception): Remove. Was an import of only part of the - required services already implemented elsewhere. - (Notify_Exception): Delete body, import __gnat_error_handler instead. - (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext - argument passed to the handler, which we need for ZCX propagation - purposes. - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - - * adaint.h, adaint.c (__gnat_current_time_string): New routine. - - * g-timsta.adb, g-timsta.ads: New files. - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb - (Raise_Exception): In accordance with AI-446, raise CE for Null_Id - (Raise_Exception_Always): Fix documentation accordingly - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by - Stream_Convert) - - * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets - FOnly - -2008-04-08 Javier Miranda <miranda@adacore.com> - Robert Dewar <dewar@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * a-tags.adb (Register_Interface_Offset): New subprogram. - (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment). - (To_Predef_Prims_Table_Ptr): Removed. - (Acc_Size): Removed. - (To_Acc_Size): Removed. - (Parent_Size): Modified to the call the subprogram returning the size of - the parent by means of the new TSD component Size_Func. - - * a-tags.ads (Offset_To_Top_Ptr): New access type declaration. - (DT_Offset_To_Top_Offset): New constant value that is used to generate - code referencing the Offset_To_Top component of the dispatch table's - prologue. - (Prim_Ptr): New declaration of access to procedure. Used to avoid the - use of 'address to initialize dispatch table slots. - (Size_Func): New component of the TSD. Used by the run-time to call the - size primitive of the tagged type. - - * checks.adb (Apply_Access_Check): Avoid check when accessing the - Offset_To_Top component of a dispatch table. - (Null_Exclusion_Static_Checks): If the non-null access type appears in a - deferred constant declaration. do not add a null expression, to prevent - spurious errors when full declaration is analyzed. - (Apply_Discriminant_Check): If both discriminant constraints share a - node which is not static but has no side effects, do not generate a - check for that discriminant. - (Generate_Index_Checks): Set Name_Req to true in call to duplicate - subexpr, since the prefix of an attribute is a name. - - * checks.ads: Fix nit in comment. - - * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec - and body of predefined primitives in case of CPP tagged type - derivations. - (Freeze_Type): Deal properly with no storage pool case - (Make_Predefined_Primitive_Specs): Generate specification of abstract - primitive Deep_Adjust if a nonlimited interface is derived from a - limited interface. - (Build_Dcheck_Functions): Create discriminant-checking functions only - for variants that have some component(s). - (Build_Slice_Assignment): In expanded code for slice assignment, handle - properly the case where the slice bounds extend to the last value of the - underlying representation. - (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value - (Is_Variable_Size_Record): An array component has a static size if - index bounds are enumeration literals. - - * exp_disp.adb (Make_DT): Use the first subtype to determine whether - an external tag has been specified for the type. - (Building_Static_DT): Add missing support for private types. - (Make_DT): Add declaration of Parent_Typ to ensure consistent access - to the entity associated with the parent of Typ. This is done to - avoid wrong access when the parent is a private type. - (Expand_Interface_Conversion): Improve error message when the - configurable runtime has no support for dynamic interface conversion. - (Expand_Interface_Thunk): Add missing support to interface types in - configurable runtime. - (Expand_Dispatching_Call): remove obsolete code. - (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and - ensure that all subtypes and aggregates associated with dispatch - tables have the attribute Is_Dispatch_Table_Entity set to true. - (Register_Primitive): Rename one variable to improve code reading. - Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o - of the pointer to the 'size primitive in the TSD. - - * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity. - (RE_Offset_To_Top_Ptr): New entity. - (RE_Register_Interface_Offset): New entity. - (RE_Set_Dynamic_Offset_To_Top): New entity. - (RE_Set_Offset_To_Top): Removed entity. - (RE_Prim_Ptr): New entity - (RE_Size_Func): New entity - (RE_Size_Ptr): New entity - (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF. - (Ada_Dispatching_Child): Define this new subrange. - (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock, - RE_Time_Span, and RE_Time_Span_Zero). - (RE_Unit_Table): Add new required run-time calls - - * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching - children. - - * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram. - (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that - initializes the Offset_To_Top component of a dispatch table. - (Build_Predef_Prims): Removed. - (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by - its actual code. - (Build_Set_Size_Function): New subprogram. - - * exp_ch13.adb: Do not generate storage variable for storage_size zero - (Expand): Handle setting/restoring flag Inside_Freezing_Actions - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in - computing Fore when Exp > 0 - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * back_end.adb: Remove Big_String_Ptr declarations (now in Types) - - * errout.adb: Remove Big_String_Ptr declarations (now in Types) - Change name Is_Style_Msg to Is_Style_Or_Info_Msg - - * fmap.adb: Remove Big_String declarations (now in Types) - (No_Mapping_File): New Boolean global variable - (Initialize): When mapping file cannot be read, set No_Mapping_File to - False. - (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the - tables were empty before adding entries, open the mapping file - with Truncate = True, instead of delete/re-create. - - * fname-sf.adb: Remove Big_String declarations (now in Types) - - * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb, - s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for - big pointer types - - * table.ads: Add for Table_Ptr'Storage_Size use 0 - - * types.ads: Add Big_String declarations - Add Size_Clause of zero for big pointer types - -2008-04-08 Vincent Celier <celier@adacore.com> - - * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs= - (Usage): Add line for switch --subdirs= - Add new switch -eL, to follow symbolic links when processing project - files. - - * gnatcmd.adb: Process switches -eL and --subdirs= - (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call - Program_Name to get proper tool names when AAMP_On_Target is set. - (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get - AAMP_On_Target set properly for use of GNAAMP tools (this is needed by - Osint.Program_Name). - - * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs= - (Usage): Add lines for switches -eL and --subdirs= - - * makeusg.adb: Add line for switch --subdirs= - - * prj.ads: - (Source_Data): New Boolean component Compiled, defaulted to True - (Empty_File_Name: New global variable in private part, initialized in - procedure Initialize. - (Subdirs_Option): New constant string - (Subdirs): New String_Ptr global variable - (Language_Config): New component Include_Compatible_Languages - (Project_Qualifier): New type for project qualifiers - (Project_Data): New component Qualifier - (Project_Configuration): New component Archive_Builder_Append_Option - - * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in - another imported project indicate the name of this imported project. - (Check_File): When a unit is in two project files, indicate the project - names and the paths of the source files for each project. - (Add_Source): Set Compiled to False if compiler driver is empty. Only - set object, dependency and switches file names if Compiled is True. - (Process_Compiler): Allow the empty string for value of attribute Driver - (Get_Directories): When Subdirs is not null and Object_Dir is not - specified, locate and create if necessary the actual object dir. - (Locate_Directory): When Subdirs is not empty and Create is not the - empty string, locate and create if necessary the actual directory - as a subdirectory of directory Name. - (Check_Library_Attributes.Check_Library): Allow a project where the only - "sources" are header files of file based languages to be imported by - library projects, in multi-language mode (gprbuild). - (Check_Library_Attributes.Check_Library): In multi-language mode - (gprbuild), allow a library project to import a project with no - sources, even when this is not declared explicitly. - (Check_If_Externally_Built): A virtual project extending an externally - built project is also externally built. - (Check_Library_Attributes): For a virtual project extending a library - project, inherit the library directory. - (Process_Project_Level_Array_Attributes): Process new attribute - Inherit_Source_Path. - For projects with specified qualifiers "standard", "library" or - "abstract", check that the project conforms to the qualifier. - (Process_Project_Level_Simple_Attributes): Process new attribute - Archive_Builder_Append_Option. - - * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs= - (Normalize_Compiler_Switches): Only keep compiler switches that are - passed to gnat1 by the gcc driver and that are stored in the ALI file - by gnat1. - Do not take into account switc -save-temps - - * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if - gprmake is called with -eL. - (Scan_Arg): Recognize switch -eL - (Usage): Add line for switch -eL - - * prj.adb (Initialize): Initialize Empty_File_Name - (Project_Empty): New component Qualifier - - * prj-attr.ads, prj-attr.adb: New project level attribute - Inherit_Source_Path. - New project level attribute Archive_Builder_Append_Option - - * prj-dect.adb: Replace System.Strings by GNAT.Strings. - - * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add - <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for - upward compatibility. - - * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put - each Trying ..." on different lines. - (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier - is "configuration" when not in configuration. Fail when in configuration - when a specified qualifier is other than "configuration". - - * prj-proc.adb (Process_Declarative_Items): Link new elements of copied - full associative array together. - (Recursive_Process): Put the project qualifier in the project data - - * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function - (Set_Project_Qualifier_Of): New procedure - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * errout.ads: Update comments for new handling of info: messages - - * erroutc.adb (Matches): New procedure - (Warning_Specifically_Suppressed): Modified to handle multiple * chars - (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for - info messages as well as style messages. - - * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry - - * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed - subprograms. - (Check_A_Call): Special "info: " warnings now have ? in the text - (Elab_Warning): Use info message in static case - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - - * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine - whether an array aggregate with static bounds and scalar components - should be expanded into a static constant. - -2008-04-08 Gary Dismukes <dismukes@adacore.com> - Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - - * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of - Has_Stream_Attribute_ Definition when checking for available stream - attributes on parameters of a limited type in Ada 2005. Necessary for - proper recognition of visible stream attribute clauses. - (Has_Stream_Attribute_Definition): If the type is derived from a - private type, then use the derived type's underlying type for checking - whether it has stream attributes. - (Validate_Object_Declaration): The check for a user-defined Initialize - procedure applies also to types with controlled components or a - controlled ancestor. - Reject an object declaration in a preelaborated unit if the type is a - controlled type with an overriding Initialize procedure. - (Validate_Remote_Access_To_Class_Wide_Type): Return without further - checking when the parent of a dereference is a selected component and - the name has not been analyzed. - - * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected - prefixes that are invalid explicit dereferences of remote - access-to-class-wide values, first checking whether the selected - component is a prefixed form of call to a tagged operation. - (Analyze_Call): Remove code that issues an error for limited function - calls in illegal contexts, as we now support all of the contexts that - were forbidden here. - Allow a function call that returns a task.and appears as the - prefix of a selected component. - (Analyze_Reference): Give error message if we try to make a 'Reference - for an object that is atomic/aliased without its type having the - corresponding attribute. - (Analyze_Call): Remove condition checking for attributes to allow - calls to functions with inherently limited results as prefixes of - attributes. Remove related comment about Class attributes. - (Analyze_Selected_Component): If the prefix is a remote type, check - whether this is a prefixed call before reporting an error. - (Complete_Object_Operation): If the controlling formal is an access to - variable reject an actual that is a constant or an access to one. - (Try_Object_Operation): If prefix is a tagged protected object,retrieve - primitive operations from base type. - - * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a - build-in-place - function call and call Make_Build_In_Place_Call_In_Anonymous_Context. - (Expand_N_Selected_Component): Test for prefix that is a build-in-place - function call and call Make_Build_In_Place_Call_In_Anonymous_Context. - (Expand_N_Slice): Test for prefix that is a build-in-place function call - and call Make_Build_In_Place_Call_In_Anonymous_Context. - (Analyze_Call): Remove code that issues an error for limited function - calls in illegal contexts, as we now support all of the contexts that - were forbidden here. - New calling sequence for Get_Simple_Init_Val - (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test - (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - - * exp_ch2.adb: Minor reformatting. - (Expand_Entry_Index_Parameter): Set the type of the identifier. - (Expand_Entry_Reference): Add call to Expand_Protected_Component. - (Expand_Protected_Component): New routine. - (Expand_Protected_Private): Removed. - Add Sure parameter to Note_Possible_Modification calls - - * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The - generated subprogram declaration must inherit the overriding indicator - from the instantiation node. - (Validate_Access_Type_Instance): If the designated type of the actual is - a limited view, use the available view in all cases, not only if the - type is an incomplete type. - (Instantiate_Object): Actual is illegal if the formal is null-excluding - and the actual subtype does not exclude null. - (Process_Default): Handle properly abstract formal subprograms. - (Check_Formal_Package_Instance): Handle properly defaulted formal - subprograms in a partially parameterized formal package. - Add Sure parameter to Note_Possible_Modification calls - (Validate_Derived_Type_Instance): if the formal is non-limited, the - actual cannot be limited. - (Collect_Previous_Instances): Generate instance bodies for subprograms - as well. - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't - try to set RM_Size. - Add Sure parameter to Note_Possible_Modification calls - (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call - (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for - constant overlaid by variable and issue warning. - Use new Is_Standard_Character_Type predicate - (Analyze_Record_Representation_Clause): Check that the specified - Last_Bit is not less than First_Bit - 1. - (Analyze_Attribute_Definition_Clause, case Address): Check for - self-referential address clause - - * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the - detection mechanism when the lhs is a prival. - (Analyze_Assignment): Call Check_Unprotected_Access to detect - assignment of a pointer to protected data, to an object declared - outside of the protected object. - (Analyze_Loop_Statement): Check for unreachable code after loop - Add Sure parameter to Note_Possible_Modication calls - Protect analysis from previous syntax error such as a scope mismatch - or a missing begin. - (Analyze_Assignment_Statement): The assignment is illegal if the - left-hand is an interface. - - * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check - violation of restriction No_Implicit_Conditionals - Add Sure parameter to Note_Possible_Modication calls - Use new Is_Standard_Character_Type predicate - (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting - call as operator. Fixes problems (e.g. validity checking) which - come from the result looking as though it does not come from source). - (Resolve_Call): Check case of name in named parameter if style checks - are enabled. - (Resolve_Call): Exclude calls to Current_Task as entry formal defaults - from the checking that such calls should not occur from an entry body. - (Resolve_Call): If the return type of an Inline_Always function - requires the secondary stack, create a transient scope for the call - if the body of the function is not available for inlining. - (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays - that are actuals for in-out formals. - (Try_Object_Operation): If prefix is a tagged protected object,retrieve - primitive operations from base type. - (Analyze_Selected_Component): If the context is a call to a protected - operation the parent may be an indexed component prior to expansion. - (Resolve_Actuals): If an actual is of a protected subtype, use its - base type to determine whether a conversion to the corresponding record - is needed. - (Resolve_Short_Circuit): Handle pragma Check - - * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object) - Use new Is_Standard_Character_Type predicate - (Eval_Relational_Op): Catch more cases of string comparison - -2008-04-08 Robert Dewar <dewar@adacore.com> - Gary Dismukes <dismukes@adacore.com> - - * s-rident.ads: Add No_Default_Initialization restriction - - * exp_tss.adb: - (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case - (Set_TSS): Handle No_Default_Initialization case - - * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction - No_Default_Initialization - (Expand_N_Subprogram_Body): Remove redundant initialization of out - parameters when Normalize_Scalars is active. - (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp - Fix casing error in formal parameter name in call - (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by - (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a - dispatching call on VM targets. - -2008-04-08 Gary Dismukes <dismukes@adacore.com> - Thomas Quinot <quinot@adacore.com> - - * exp_ch7.adb (Find_Final_List): Change the test for generating a - selected component from an access type's Associated_Final_Chain to - check for the presence of that field, rather than assuming it exists - for all named access types. - (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a - procedure to call at the end of the generated cleanup procedure. - (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and - and an At_End_Proc already exists in the handled sequence of statements - for which cleanup actions are being expanded, the original cleanup - action must be preserved. - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - Gary Dismukes <dismukes@adacore.com> - - * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry, - Build_Unprotected_Subprogram_Body): Generate debug info for - declarations related to the handling of private data in task and - protected types. - (Debug_Private_Data_Declarations): New subprogram. - (Install_Private_Data_Declarations): Remove all debug info flagging. - This is now done by Debug_Private_Data_Declarations at the correct - stage of expansion. - (Build_Simple_Entry_Call): If the task name is a function call, expand - the prefix into an object declaration, and make the surrounding block a - task master. - (Build_Master_Entity): An internal block is a master if it wraps a call. - Code reformatting, update comments. Code clean up. - (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address. - (Replicate_Entry_Formals): If the formal is an access parameter or - anonymous access to subprogram, copy the original tree to create new - entities for the formals of the subprogram. - (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable - for tasks to store the value passed using pragma Relative_Deadline. - (Make_Task_Create_Call): Add the Relative_Deadline argument to the - run-time call to create a task. - (Build_Wrapper_Spec): If the controlling argument of the interface - operation is an access parameter with a non-null indicator, use the - non-null indicator on the wrapper. - - * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when - present, which it may not be in the case where the type entity is an - incomplete view brought in by a limited with. - (Analyze_Task_Type): Only retrieve the full view when present, which it - may not be in the case where the type entity is an incomplete view brought - in by a limited with. - (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for - private components of a protected type, to prevent the generation of freeze - nodes for which there is no proper scope of elaboration. - - * exp_util.ads, exp_util.adb - (Remove_Side_Effects): If the expression is a function call that returns a - task, expand into a declaration to invoke the build_in_place machinery. - (Find_Protection_Object): New routine. - (Remove_Side_Effects): Also make a copy of the value - for attributes whose result is of an elementary type. - (Silly_Boolean_Array_Not_Test): New procedure - (Silly_Boolean_Array_Xor_Test): New procedure - (Is_Volatile_Reference): New function - (Remove_Side_Effects): Use Is_Volatile_Reference - (Possible_Bit_Aligned_Component): Handle slice case properly - - * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false - case test to Exp_Util - (Expand_Packed_Xor): Move silly true/true case test to Exp_Util - -2008-04-08 Thomas Quinot <quinot@adacore.com> - - * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name - in call - (Add_RACW_Features): When processing an RACW in another unit than the - main unit, set Body_Decls to No_List to indicate that the bodies of - the type's TSS must not be generated. - (GARLIC_Support.Add_RACW_Read_Attribute, - GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if - Body_Decls is No_List. - (PolyORB_Support.Add_RACW_Read_Attribute, - PolyORB_Support.Add_RACW_Write_Attribute, - PolyORB_Support.Add_RACW_From_Any, - PolyORB_Support.Add_RACW_To_Any, - PolyORB_Support.Add_RACW_TypeCode): Same. - (Transmit_As_Unconstrained): New function. - (Build_Ordered_Parameters_List): Use the above to order parameters. - (GARLIC_Support.Build_General_Calling_Stubs): - Use the above to determine which parameters to unmarshall using 'Input - at the point where their temporary is declared (as opposed to later on - with a 'Read call). - (PolyORB_Support.Build_General_Calling_Stubs): - Use the above to determine which parameters to unmarshall using From_Any - at the point where their temporary is declared (as opposed to later on - with an assignment). - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - - * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is - an Input function for an access type, do not perform default - initialization on the local variable that receives the value, to - prevent spurious warnings when the type is null-excluding. - -2008-04-08 Robert Dewar <dewar@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * freeze.adb (Freeze_Entity): Improve warnings on access types in pure - units. - (Size_Known): Generic formal scalar types have known at compile - time size, so remove check. - Fix casing error in formal parameter name in call - (Freeze_Subprogram): If the subprogram is a user-defined operator, - recheck its overriding indication. - -2008-04-08 Vincent Celier <celier@adacore.com> - - * gnat1drv.adb: Send all messages indicating an error to standard error - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * gnatbind.adb (Restriction_Could_Be_Set): New procedure - (List_Applicable_Restrictions): Do not list existing restrictions - -2008-04-08 Thomas Quinot <quinot@adacore.com> - - * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets: - add a pointer to generic sockets literature - do not mention that the given example is "typical" usage. - Remove obsolete comment about multicast not being supported on Windows. - (Connect_Socket): Make Server mode IN rather than IN OUT - since this formal is never modified. - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to - the declaration for some different entity. - (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface - list is precent (following the parent subtype indication), display - appropriate "and" keyword. - - * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize - Remove unnecessary calls to Init_Size_Align and Init_Esize. - Add notes on use of Parent field of an Itype - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - Gary Dismukes <dismukes@adacore.com> - - * lib-xref.adb (Is_On_LHS): Remove dead code - (Output_Overriden_Op): If the overridden operation is itself inherited, - list the ancestor operation, which is the one whose body or absstract - specification is actually being overridden. For source navigation - purposes. - - * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether - operation is primitive for the type. - (Declare_Inherited_Private_Subprograms): If the new operation overrides - an inherited private subprogram, set properly the Overridden_Operation - attribute, for better cross-reference information. - (Analyze_Package_Specification): Do late analysis of spec PPCs - (Install_Private_Declaration, Uninstall_Declarations): Save/restore - properly the full view and underlying full views of a private type in a - child unit, whose full view is derived from a private type in a parent - unit, and whose own full view becomes visible in the child body. - - * sem_disp.adb (Check_Dispatching_Operation): When a body declares a - primitive operation after the type has been frozen, add an explicit - reference to the type and the operation, because other primitive - references have been emitted already. - (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a - dispatching call on VM targets. - -2008-04-08 Vincent Celier <celier@adacore.com> - Thomas Quinot <quinot@adacore.com> - - * make.adb: (Gnatmake_Called): Remove, no longer necessary - (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called - is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files". - (Insert_Project_Sources): Take into account index in multi-unit source - files. - After building a library project, delete all temporary files. - (Initialize): Reset current output after parsing project file. - (Collect_Arguments_And_Compile): Never insert in the queue the sources - of library projects that are externally built. - Put file name in error and inform messages if -df is used - (Display): If invoked with -d7, do not display path names, but only - file names. - - * makeutl.ads (Path_Or_File_Name): New function - (Path_Or_File_Name): New function - -2008-04-08 Arnaud Charlet <charlet@adacore.com> - - * Make-lang.in: Disable warnings during first stage of bootstrap - Get rid of gnatbl. - Update dependencies. - -2008-04-08 Vincent Celier <celier@adacore.com> - - * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical - case to decide if ALI object file is included in library. - (Build_Library): Never attempt to build a library if the project is - externally built. - -2008-04-08 Thomas Quinot <quinot@adacore.com> - - * nlists.adb (Is_Non_Empty_List): Remove redundant test. First - (No_List) is defined to return Empty. - -2008-04-08 Jose Ruiz <ruiz@adacore.com> - - * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve - documentation. - Update comments. - (Read_Default_Search_Dirs): Do not consider spaces as path separators - because spaces may be part of legal paths. - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * par-ch11.adb (P_Exception_Handler): Check indentation level for - handler - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - - * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized" - in a type declaration, if this is not an interface declaration or - private type extension. - -2008-04-08 Vincent Celier <celier@adacore.com> - - * prj-util.adb (Executable_Of): New String parameter Language. When - Ada_Main is False and Language is not empty, attempt to remove the body - suffix or the spec suffix of the language to get the base of the - executable file name. - (Put): New Boolean parameter Lower_Case, defauilted to False. When - Lower_Case is True, put the value in lower case in the name list. - (Executable_Of): If there is no executable suffix in the configuration, - then do not modify Executable_Extension_On_Target. - - * prj-util.ads (Executable_Of): New String parameter Language, - defaulted to the empty string. - (Put): New Boolean parameter Lower_Case, defauilted to False - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * scng.adb (Scan_Identifier): Handle case of identifier starting with - wide character using UTF-8 encoding. - -2008-04-08 Javier Miranda <miranda@adacore.com> - - * sem.adb (Analyze): Consider case in which we analyze an empty node - that was generated by a call to a runtime function that is not - available under the configurable runtime. - - * sem.ads (Inside_Freezing_Actions): New flag. - (Save_Check_Policy_List): New field in scope stack entry - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - - * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for - the ancestor part of an extension aggregate for a limited type. - (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with - enumeration index bounds. - (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices - when array is too short. - (Check_Expr_OK_In_Limited_Aggregate): Move function - Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and - change name). - (Resolve_Array_Aggregate.Resolve_Aggr_Expr): - Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited - component associations. - (Check_Non_Limited_Type): Moved to outer level and renamed. - (Resolve_Record_Aggregate): In an extension aggregate, an association - with a box initialization can only designate a component of the - extension, not a component inherited from the given ancestor - - * sem_case.adb: Use new Is_Standard_Character_Type predicate - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with - negative scale - (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1) - Properly handle case where Aft > Scale and input number is less than - one. - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - - * s-stoele.ads, s-soflin.ads: Move the location of - Dummy_Communication_Block from System.Storage_Elements to - System.Soft_Links. - - * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to - emulate Communication_Block in certain scenarios. - -2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> - - * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New - subprogram. - Add new subtype S_WWC, unchecked conversion routines From_WWC and - To_WWC. - (I_WWC, O_WWC): New routines for input and output of - Wide_Wide_Character. - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * stringt.adb (Write_String_Table_Entry): Handle wide characters - properly - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * styleg.adb (Check_Comment): Allow special char after -- in - non-end-of-line case - -2008-04-08 Robert Dewar <dewar@adacore.com> - - * stylesw.adb: Implement -gnaty + - y options - (Set_GNAT_Style_Check_Options): Includ I in style check string - - * stylesw.ads: Add comments for new style switch options - -2008-04-08 Sergey Rybin <rybin@adacore.com> - - * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux - to the set of the GNAT components needed by ASIS. - -2008-04-08 Bob Duff <duff@adacore.com> - - * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9). - -2008-04-08 Tristan Gingold <gingold@adacore.com> - - * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type. - Improve error message generation. - -2008-04-08 Vincent Celier <celier@adacore.com> - - * a-direct.adb (Start_Search): Check for Name_Error before checking for - Use_Error, as specified in the RM. Check if directory is open and raise - Use_Error if it is not. - -2008-04-08 Vincent Celier <celier@adacore.com> - Robert Dewar <dewar@adacore.com> - - * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when - AAMP_On_Target is set. - - * vms_data.ads: Add NOxxx to style check switch list - Add entry COMPONENTS for -gnatVe - Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs= - (/SUBDIRS=). - (GCC_Switches): Add /ALL_BACK_END_WARNINGS. - Add qualifiers for gnatmetric coupling options - Add note that -gnata enables all checks - Add entries [NO]PARAMETER_ORDER for -gnatw.p[P] - Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option - New warning flag -gnatw.e - - * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy - Add entry for -gnatyN (forgotten before) - Line for new warning switch -gnatw.p - New warning flag -gnatw.e - - * gnat_ugn.texi: Add documentation fpr project file switch -aP - Document -gnaty - + y - Replace occurences of "package specification" with "package spec" - Define preprocessing symbols in documentation of gnatprep - Clarify reason for distinguishing overflow checking - Add documentation for project-aware tool switches -eL and --subdirs= - Complete list of configuration pragmas - Specify that, even when gnatmake switch -x is used, mains on the command - line need to be sources of project files. - Editing of gnatcheck/gnatmetric doc. - Add documentation for -gnatw.p/-gnatw.P - Add missing documentation for -fno-inline-functions. - Add documentation for -gnatw.e - - * gnat_rm.texi: Add documentation for No_Default_Initialization - Replace occurences of "package specification" with "package spec" - Document use of * in Warnings Off string - Update documentation of alignment/component clauses. - Add documentation for Invalid_Value - Document new consistency rule for Optimize_Alignment - Add documentation for Precondition and Postcondition pragmas - Add documentation for Check and Check_Policy pragmas - Document new Enum_Val attribute - Remove requirement for static string in pragma Assert - Add documentation on GNAT.Time_Stamp - - * ug_words: add entry for -gnatVe - Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER - Add entry for -gnatw.e - - * debug.adb: Add missing documentation for d.a flag - Document new -gnatd.a switch. - Add documentation for new gnatmake debug switch -df - -2008-04-08 Thomas Quinot <quinot@adacore.com> - - * gen-soccon.c: Bump year in copyright notices. - - * g-soccon-vxworks.ads: Add new constant IP_PKTINFO - -2008-04-08 Eric Botcazou <ebotcazou@adacore.com> - - * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows. - Minor reformatting. - -2008-04-08 Robert Dewar <dewar@adacore.com> - Bob Duff <duff@adacore.com> - - * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops, - Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp - - * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly - - * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly - - * g-trasym.ads: Minor comment improvements - - * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly - - * a-sequio.ads, a-direio.ads: improve message for tagged type - - * a-strunb.ads: Minor reformatting - - * a-tifiio.adb: Minor reformatting - - * atree.adb (Fix_Parents): Use clearer names for formals - Cleanup and simplify code - Use named notation in calls - - * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in - confusing calls - - * uintp.adb: Used named notation for some confusing calls - - * bindusg.adb: Minor change in one line of output - - * cstand.adb: Minor reformatting of src representation of Standard - - * a-assert.ads: Add comment. - - * g-decstr.adb: Fix bad indentation - - * expander.ads, expander.adb: Code clean up. - - * sem_dist.ads: Minor comment improvement - - * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb, - s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting - - * i-cstrin.adb: Fix casing error in formal parameter name in call - -2008-04-08 Ed Schonberg <schonberg@adacore.com> - - * binde.adb (Gather_All_Links, Gather_Dependencies): units that are - mentioned in limited_with_clauses to do create semantic dependencies - even though they appear in the ali file. - -2008-04-08 Emmanuel Briot <briot@adacore.com> - - * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return - statement. - (Get_Configuration): New subprogram. - - * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree - These optional parameters help preserve the casing of the project's name - when pretty-printing. - -2008-04-08 Jerome Lambourg <lambourg@adacore.com> - Arnaud Charlet <charlet@adacore.com> - - * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function, - then use __gnat_set_exit_status to report the returned status code. - - * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error - messages on .NET, since some constructs of the language are not - properly supported. - - * gnatlink.adb (Gnatlink): In case the command line is too long for the - .NET linker, gnatlink now concatenate all .il files and pass this to - ilasm. - -2008-04-07 Aurelien Jarno <aurelien@aurel32.net> - Xavier Grave <grave@ipno.in2p3.fr> - - * Makefile.in: Add make ifeq define for mips/mipsel support. - * g-soccon-linux-mips.ads, system-linux-mipsel.ads, - system-linux-mips.ads: New files. - -2008-04-07 Aurelien Jarno <aurelien@aurel32.net> - - * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to - detect systems using GNU libc. - * gsocket.h: ditto. - * socket.c: ditto. - * adaint.c: ditto. - * link.c: ditto. - -2008-04-07 Aurelien Jarno <aurelien@aurel32.net> - - * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New - constant constant for sysconf call. - (bit_field): New packed boolean type used by cpu_set_t. - (cpu_set_t): New type corresponding to the C type with - the same name. Note that on the Ada side we use a bit - field array for the affinity mask. There is not need - for the C macro for setting individual bit. - (pthread_setaffinity_np): New imported routine. - * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb - on GNU/kFreeBSD. - -2008-04-07 Eric Botcazou <ebotcazou@adacore.com> - - * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too. - -2008-04-07 Eric Botcazou <ebotcazou@adacore.com> - - * gigi.h (create_subprog_type): Remove returns_with_dsp parameter. - * decl.c (gnat_to_gnu_entity): Adjust for above new prototype. - * utils.c (create_subprog_type): Remove returns_with_dsp parameter. - * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with - Return by Depressed Stack Pointer. - -2008-04-06 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (is_variable_size): Do not unconditionally return false - on non-strict alignment platforms. - -2008-04-06 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (rest_of_type_decl_compilation_no_defer): New local function - used to process all the variants of the specified type. - (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral - types too. Call rest_of_type_decl_compilation_no_defer if undeferring. - (rest_of_type_decl_compilation): Likewise. - * utils.c (gnat_pushdecl): Propagate the name to all variants of type. - -2008-04-03 Paolo Bonzini <bonzini@gnu.org> - - * gigi.h (insert_block): Kill. - * utils.c (insert_block): Kill. - -2008-04-02 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose - type has self-referential size, get the size from the initializing - expression directly if it is also a constant whose nominal type - has self-referential size. - -2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> - - PR ada/33688 - * g-soccon-darwin.ads: Define new constant IP_PKTINFO. - - PR ada/33857 - * env.c: Always include crt_externs.h if __APPLE__ is defined. - (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined. - -2008-04-01 Andreas Jaeger <aj@suse.de> - - * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and - IP_PKTINFO. - -2008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * g-table.adb, g-tasloc.adb, g-traceb.ads, - g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c, - gnatbind.adb, gnatchop.adb, gnatcmd.adb, - gnatcmd.ads, gnatdll.adb, gnatfind.adb, - gnatlink.adb, gnatmem.adb, gprep.adb, - i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads, - i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb, - layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, - lib-xref.ads, lib.adb, link.c, live.ads, - make.adb, makegpr.adb, makeutl.adb, math_lib.adb, - mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads, - misc.c, mlib-prj.adb, mlib-tgt-hpux.adb, - mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads, - namet.adb, namet.h, nlists.adb, nlists.ads, - nlists.h, opt.ads, osint-b.ads, osint-c.adb, - osint-c.ads, osint.adb, osint.ads, output.ads, - par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb, - par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, - par-endh.adb, par-labl.adb, par-prag.adb, - par-sync.adb, par-tchk.adb, par-util.adb, - par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads, - prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb, - prj-nmsc.ads, prj-pp.adb, prj-proc.adb, - prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos. - -2008-03-31 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null - size if it has overflowed. - -2008-03-31 Olivier Hainque <hainque@adacore.com> - Eric Botcazou <ebotcazou@adacore.com> - - * utils2.c (find_common_type): Document assumption on t1/t2 vs - lhs/rhs. Force use of lhs type if smaller, whatever the modes. - -2008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads, - einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb, - exp_imgv.adb, exp_intr.adb, exp_pakd.adb, - exp_pakd.ads, exp_prag.adb, exp_smem.adb, - exp_tss.ads, exp_util.adb, exp_util.ads, - exp_vfpt.adb, freeze.adb, freeze.ads, - frontend.adb, g-alleve.adb, g-altcon.adb, - g-altive.ads, g-alveop.ads, g-alvevi.ads, - g-arrspl.adb, g-busorg.ads, g-calend.adb, - g-calend.ads, g-casuti.ads, g-cgideb.adb, - g-comlin.adb, g-comlin.ads, g-curexc.ads, - g-debpoo.adb, g-debpoo.ads, g-decstr.adb, - g-dirope.adb, g-dirope.ads, g-dynhta.ads, - g-dyntab.adb, g-encstr.ads, g-excact.ads, - g-except.ads, g-expect.ads, g-heasor.adb, - g-hesora.adb, g-hesorg.adb, g-htable.ads, - g-locfil.ads, g-md5.adb, g-md5.ads, - g-memdum.ads, g-moreex.ads, g-os_lib.adb, - g-pehage.adb, g-pehage.ads, g-regexp.adb, - g-regexp.ads, g-regpat.adb, g-regpat.ads, - g-soccon-aix.ads, g-soccon-darwin.ads, - g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads, - g-soccon-hpux.ads, g-soccon-irix.ads, - g-soccon-linux-64.ads, g-soccon-linux-ppc.ads, - g-soccon-linux-x86.ads, g-soccon-lynxos.ads, - g-soccon-mingw.ads, g-soccon-solaris-64.ads, - g-soccon-solaris.ads, g-soccon-tru64.ads, - g-soccon-vms.ads, g-soccon-vxworks.ads, - g-soccon.ads, g-socket.adb, g-socket.ads, - g-socthi-mingw.adb, g-socthi-vms.adb, - g-socthi-vxworks.adb, g-soliop-mingw.ads, - g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb, - g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment - typos. - -2008-03-27 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag - if the procedure is imported. - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * adaint.c: Fix warnings. - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec. - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * a-witeio.adb: Fix problem with Current_Output (introduce Self). - Fix problem of status check for null file - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * s-proinf-irix-athread.ads, s-vxwork-mips.ads, - s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, - s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads, - i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads, - s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update - comments. - -2008-03-26 Thomas Quinot <quinot@adacore.com> - - PR ada/33688 - * g-socket.ads, g-socket.adb (Options, Set_Socket_Option, - Get_Socket_Option): Add support for Receive_Packet_Info. - - * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads, - g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, - g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads, - g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads, - g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add - new constants SO_REUSEPORT and IP_PKTINFO - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb, - a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb, - a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads, - a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads, - a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads, - a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads, - s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads, - s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, - a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads, - s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads, - s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, - s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads, - s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb, - s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads, - s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads, - s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads, - s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads, - s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb, - s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb, - s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb, - a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads, - a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads, - s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads, - s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads, - s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads, - s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb, - s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb, - a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb, - a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb, - s-tasloc.adb: Minor reformatting. - Update comments. - Remove "used for" sections from comments. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb, - s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb, - s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads, - s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb, - s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, - a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb, - a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, - a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads, - a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads, - a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads, - a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb, - i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads, - a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb, - s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads, - s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads, - double spaced if it fits on one line and otherwise single spaced. - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, - s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, - s-taprop-posix.adb (Create_Task): Do not attempt to set task priority - or task info if the thread could not be created. - -2008-03-26 Arnaud Charlet <charlet@adacore.com> - - * gnatvsn.ads (Library_Version): Bump to 4.4. - (Current_Year): Bump to 2008. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record - - * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure - - * debug.adb: Add debug flags d.r and d.v - Add debug flag .T (Optimize_Alignment (Time)) - Add debug flag .S (Optimize_Alignment (Space)) - - * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components - depending on setting of relevant debug flags. - Replace use of Warnings_Off by Has_Warnings_Off - (Freeze_Entity): In circuit for warning on suspicious convention - actuals, do not give warning if subprogram has same entity as formal - type, or if subprogram does not come from source. - (Freeze_Entity): Don't reset Is_Packed for fully rep speced record - if Optimize_Alignment set to Space. - - * frontend.adb: Add call to Sem_Warn.Initialize - Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings - Reset Optimize_Alignment mode from debug switches .S and .T - - * layout.adb (Layout_Composite_Object): Rewritten for - Optimize_Aligment pragma. - - * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment - mode. - - * opt.ads, opt.adb: (Optimize_Alignment): New global switch - - * par-prag.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. instead, adjustments throughout to accomodate - this change. Add entry for pragma Optimize_Alignment - - * sem_prag.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. - instead, adjustments throughout to accomodate this change. - (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg - (Favor_Top_Level): Use new function Is_Access_Subprogram_Type - Add implementation of pragma Optimize_Alignment - -2008-03-26 Vincent Celier <celier@adacore.com> - - * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line): - Improve memory usage to avoid use of stack. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * a-teioed.ads: Correct value of Default_Fill - - * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem - with Current_Output (introduce Self). - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * checks.adb (Ensure_Valid): Capture valid status if possible - (eliminate checks) - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * stand.ads: Deal with reordering of package standard declarations - - * cstand.adb: Put package Standard declarations in proper order - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. instead. - (OK_To_Reorder_Components): New flag - (Has_Entries): Code cleanup. - (Warnings_Off_Used): New flag - (Warnings_Off_Used_Unmodified): New flag - (Warnings_Off_Used_Unreferenced): New flag - (Has_Warnings_Off): New function - (Has_Unmodified): New function - (Has_Unreferenced): New function - (Is_Trivial_Subprogram): New flag - (Is_Static_Dispatch_Table_Entity): New attribute. - Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind - (more consistent with other similar names) - (Access_Subprogram_Type): New classification function - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * errout.ads: Document new !! insertion sequence - - * errout.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. instead. - Replace use of Warnings_Off by Has_Warnings_Off - (Error_Msg_Internal): Don't delete warning ending in !! - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * par.adb (Check_No_Right_Paren): Removed no longer used - - * par-ch10.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. instead. - - * par-ch10.adb (P_Subunit): Improvement in error recovery and message - - * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb, - par-ch4.adb: Minor improvements in error recovery and messages. - - * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as - non-serious - - * par-ch9.adb: Minor improvements in error recovery and messages - (P_Protected): Better error recovery for "protected type x;" - - * par-util.adb: Minor improvements in error recovery and messages - (Check_No_Right_Paren): Removed no longer used - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * exp_aggr.adb (Replace_Type): When checking for self-reference, verify - that the prefix of an attribute is the type of the aggregate being - expanded. - -2008-03-26 Javier Miranda <miranda@adacore.com> - Robert Dewar <dewar@adacore.com> - - * exp_attr.adb (N_Pragma): Chars field removed. - (Expand_N_Attribute_Reference): If the designated type associated with - attribute 'Unrestricted_Access is a subprogram entity then replace it - by an E_Subprogram_Type itype. - Implement attribute Old - - * sem_attr.ads (Attribute_Class_Array): Move to snames.ads - - * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation. - Replace call to - New_Internal_Entity by call to Create_Itype to centralize calls - building itypes, ad propagate the convention of the designated - subprogram. In addition, disable the machinery cleaning constant - indications from all entities in current scope when 'Unrestricted_Access - corresponds with a node initializing a dispatch table slot. - (Analyze_Attribute): Parameterless attributes returning a string or a - type will not be called with improper arguments, so we can remove junk - code that was dealing with this case. - Implement attribute Old - - * snames.ads, snames.h, snames.adb: Add entries for attribute Old - Add entry for pragma Optimize_Alignment - New standard names Sync and Synchronize - -2008-03-26 Robert Dewar <dewar@adacore.com> - Arnaud Charlet <charlet@adacore.com> - - * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise - stmt. - (No_Exception_Propagation_Active): New function. - (Expand_Exception_Handlers): Use No_Exception_Propagation_Active. - Update comments, and review all uses of No_Exception_Propagation, which - are now correct and in sync with what gigi expects. - - * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New - function. - (Expand_Exception_Handlers): Use No_Exception_Propagation_Active. - Update comments, and review all uses of No_Exception_Propagation, which - are now correct and in sync with what gigi expects. - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch3.adb (Access_Definition): If the access type is the return - result of a protected function, create an itype reference for it - because usage will be in an inner scope from the point of declaration. - (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and - OK_To_Reorder_Components. - (Make_Index): If an overloaded range includes a universal integer - interpretation, resolve to Standard.Integer. - (Analyze_Subtype_Indication): Copy Convention to subtype - (Check_Abstract_Interfaces): Complete semantic checks on the legality of - limited an synchronized progenitors in type declaration and private - extension declarations. - - * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a - protected subprogram body, determine proper scope from subprogram - declaration. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for - No_Run_Time_Mode - -2008-03-26 Gary Dismukes <dismukes@adacore.com> - - * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation - of a heap allocator for a limited unconstrained function return when - resstriction No_Allocators is active. - (Analyze_Allocator): The restriction No_Allocators is now only checked - on allocators that have Comes_From_Source set, as per RM-H.4(7). - - * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation - of a heap allocator for a limited unconstrained function return when - resstriction No_Allocators is active. - (Analyze_Allocator): The restriction No_Allocators is now only checked - on allocators that have Comes_From_Source set, as per RM-H.4(7). - (Has_Fixed_Op): If the name in a function call is Standard."*" and the - operands are fixed-point types, the universal_fixed predefined operation - is used, regardless of whether the operand type (s) have a primitive - operation of the same name. - -2008-03-26 Javier Miranda <miranda@adacore.com> - - * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute - Is_Static_Dispatch_Table - (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls - to Exchange_Declarations to exchange the private and full-view. Bug - found working in this issue. - (Expand_Dispatching_Call): Propagate the convention of the subprogram - to the subprogram pointer type. - (Make_Secondary_DT): Replace generation of Prim'Address by - Address (Prim'Unrestricted_Access) - (Make_DT): Replace generation of Prim'Address by - Address (Prim'Unrestricted_Access) - (Make_Disp_*_Bodies): When compiling for a restricted profile, use - simple call form for single entry. - (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch - tables of predefined primitives). - (Make_Secondary_DT): Add support to handle access to dispatch tables of - predefined primitives. - (Make_Tags): Add entities to Access_Dispatch_Table associated with - access to dispatch tables containing predefined primitives. - - * exp_ch6.adb (N_Pragma): Chars field removed, use Chars - (Pragma_Identifier (.. instead, adjustments throughout to accomodate - this change. - (Register_Predefined_DT_Entry): Updated to handle the new contents - of attribute Access_Disp_Table (pointers to dispatch tables containing - predefined primitives). - - * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New - subprogram. - (Find_Interface_ADT): Updated to skip the new contents of attribute - Access_Dispatch_Table (pointers to dispatch tables containing predefined - primitives). - - * sem_util.adb (Has_Abstract_Interfaces): Add missing support for - concurrent types. - (Set_Convention): Use new function Is_Access_Subprogram_Type - (Collect_Interfaces_Info): Updated to skip the new contents of attribute - Access_Dispatch_Table (pointers to dispatch tables containing predefined - primitives). - - * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve - expanded code avoiding calls to Build_Predef_Prims. - (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding - call to Build_Get_Predefined_Prim_Op_Address. - -2008-03-26 Javier Miranda <miranda@adacore.com> - - * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized - subprogram Corresponding_Runtime_Package to know the runtime package - that will provide support to a given protected type. - - * exp_ch9.adb (Add_Private_Declarations, - Build_Protected_Subprogram_Call, - Build_Protected_Entry, Build_Simple_Entry_Call, - Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration, - Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code - cleanup using the new centralized subprogram Corresponding_Runtime - Package to know the runtime package that provides support to - a given protected type. - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component - assignment is within the initialization procedure for a packed array, - and Initialize_Scalars is enabled, compile right-hand side with checks - off, because the value is purposely out of range. - -2008-03-26 Vincent Celier <celier@adacore.com> - - * gnatcmd.adb: Add processing for GNAT SYNC - - * vms_conv.ads: (Command_Type): Add command Sync - - * vms_conv.adb (Initialize): Add Command_List data for new command Sync - - * vms_data.ads: Add entries for -gnatw.w - Add qualifier for gnatstub --header-file option - Add switches for GNAT SYNC - - * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC - (Add_Package_Name): New procedure - (Package_Name_List): New function - (Initialize): Add known package names to the list - (Register_New_Package): Add the new package name to the list - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb, - s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace - Raise_Exception by "raise with" construct. - -2008-03-26 Pascal Obry <obry@adacore.com> - - * Makefile.in: Add proper GNAT.Serial_Communications implementation on - supported platforms. - - * Makefile.rtl: Add g-sercom.o. - - * impunit.adb: Add g-sercom.adb. - - * s-crtl.ads (open): New routine. - (close): Likewise. - (write): Likewise. - - * s-osinte-mingw.ads (BYTE): New type. - (CHAR): Likewise. - (OVERLAPPED): Likewise. - (GENERIC_READ): New constant. - (GENERIC_WRITE): Likewise. - (OPEN_EXISTING): Likewise. - (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access - type instead. - (CreateFile): New routine. - (WriteFile): Likewise. - (ReadFile): Likewise. - (CloseHandle): Move next to the other file oriented routines. - - * g-sercom.ads: New unit. - - * g-sercom.adb: Default implementation, calls to this unit will raise - a program error exception. - - * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and - GNU/Linux implementations. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind - - * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for - unchecked conversion for different conventions only for subprogram - pointers or on VMS. - -2008-03-26 Vincent Celier <celier@adacore.com> - - * osint-c.adb (Set_Library_Info_Name): Use canonical case file names - to check if the specified object file is correct. - -2008-03-26 Thomas Quinot <quinot@adacore.com> - - * sem_cat.adb (Validate_RACW_Primitives): Do not rely on - Comes_From_Source to exclude primitives from being checked. We want to - exclude predefined primitives only, so use the appropriate specific - predicate. Also, flag a formal parameter of an anonymous - access-to-subprogram type as illegal for a primitive operation of a - remote access to class-wide type. - -2008-03-26 Vincent Celier <celier@adacore.com> - - * prj-dect.adb (Parse_Package_Declaration): When a package name is not - known, check if it may be a missspelling of a known package name. In - not verbose, not mode, issue warnings only if the package name is a - possible misspelling. - In verbose mode, always issue a warning for a not known package name, - plus a warning if the name is a misspelling of a known package name. - - * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non - limited withs or limited withs are parse during one call. - (Parse_Single_Project): Post parse context clause in two passes: non - limited withs before current project and limited withs after current - project. - - * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended - project with the name With_Name, even if it is only extended indirectly. - (Recursive_Process): Process projects in order: first single withs, then - current project, then limited withs. - - * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended - project with the name With_Name, even if it is only extended indirectly. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * scn.adb (Initialize_Scanner): Format messages belong on standard error - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is - a generic subprogram that is imported, do not attempt to compile - non-existent body. - - * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is - imported, do not generate a raise_program_error for the non-existent - body. - (Pre_Analyze_Actuals): If an error is detected during pre-analysis, - perform minimal name resolution on the generic to avoid spurious - warnings. - (Find_Actual_Type): the designated type of the actual in a child unit - may be declared in a parent unit without being an actual. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ - * sinfo.ads, sinfo.adb (From_At_End): New flag - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on - operations that have an interface parameter. - (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag - Don't treat No_Return call as raise. - - * sem_disp.adb (Check_Dispatching_Operations): apply check for - non-primitive interface primitives to access parameters, not to all - parameters of an access type. - -2008-03-26 Ed Schonberg <schonberg@adacore.com> - - * sem_ch7.adb (Install_Parent_Private_Declarations): If the private - declarations of a parent unit are made visible when compiling a child - instance, the parent is not a hidden open scope, even though it may - contain other pending instance. - - * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a - hidden open scope for some child instance, it does affect the - visibility status of other stach entries. - (Analyze_Object_Renaming): Check that a class-wide object cannot be - renamed as an object of a specific type. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite - recursion and raise SE directly. - (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is - set for formal type for IN mode parameter. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table - (Initialize): New procedure - (Output_Warnings_Off_Warnings): New procedure - (Check_References): Suppress certain msgs if Is_Trivial_Subprogram - (Output_Non_Modifed_In_Out_Warnings): Ditto - (Warn_On_Unreferenced_Entity): Ditto - -2008-03-26 Vincent Celier <celier@adacore.com> - - * a-direct.adb (Start_Search): Raise Use_Error if the directory is not - readable. - -2008-03-26 Matthew Heaney <heaney@adacore.com> - - * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads, - a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads: - Marked with clauses as private, and controlled operations as overriding - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * back_end.adb, back_end.ads: Minor reformatting - - * bindgen.adb: Minor clarification of comments - - * fname.ads: Minor comment fixes - - * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads, - prj-nmsc.adb, sem_aggr.adb: Minor reformatting - - * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb, - xsnames.adb: Remove warnings off pragma no longer needed - - * a-catizo.ads, a-calari.ads, a-calfor.adb, - a-calfor.ads: Fix header. - -2008-03-26 Tristan Gingold <gingold@adacore.com> - - * init.c: Do not adjust pc for HPARITH on alpha/vms. - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * lib-xref.adb: (OK_To_Set_Reference): New function - (Generate_Reference): Don't set referenced from occurrence in Warnings, - Unmodified, or Unreferenced pragma - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * alloc.ads: Add entries for Warnings_Off_Pragmas table - -2008-03-26 GNAT Script <nobody@adacore.com> - - * Make-lang.in: Makefile automatically updated - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c, - par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field - removed, use Chars (Pragma_Identifier (.. instead, adjustments - throughout to accomodate this change. - - * s-pooglo.ads, s-pooloc.ads: Minor comment updates - - * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not - Einfo.Set_Needs_Debug_Info) - -2008-03-26 Robert Dewar <dewar@adacore.com> - - * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W - Add description for the new gnatstub option '--header-file' - clarification of -gnatwz/-gnatwZ - Add a "Irix-Specific Considerations" section to document the need to - set LD_LIBRARY_PATH when using the default shared runtime library. - Added documentation for both gcov and gprof. - - * gnat_rm.texi: Document that pragma Compile_Time_Warning generates - messages that are not suppressed when clients are compiled. - Add documentation of s-pooglo s-pooloc - Document the new GNAT.Serial_Communications API. - Add documentation for 'Old attribute - Add description of pragma Optimize_Alignment - - * ug_words: Add entries for -gnatw.w -gnatw.W - - * usage.adb: Add line for -gnatw.w (warn on warnings off) - -2008-03-25 Eric Botcazou <ebotcazou@adacore.com> - - Revert - 2008-03-05 Eric Botcazou <ebotcazou@adacore.com> - PR ada/35186 - * decl.c (maybe_pad_type): Avoid padding an integral type when - bumping its alignment is sufficient. - -2008-03-25 Arnaud Charlet <charlet@adacore.com> - - * exp_ch6.adb, exp_disp.adb: Update copyright notice. - Fix wrong formatting (lines too long) - -2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb, - a-calend-vms.adb, a-calend.adb, a-calend.ads, - a-calfor.adb, a-chahan.ads, a-chtgke.adb, - a-cihama.ads, a-ciorse.adb, a-clrefi.ads, - a-cohama.ads, a-comlin.ads, a-coorse.adb, - a-crbtgk.adb, a-direct.adb, a-except-2005.adb, - a-except-2005.ads, a-except.adb, a-except.ads, - a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb, - a-exextr.adb, a-filico.ads, a-finali.ads, - a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb, - a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads, - a-sequio.ads, a-strbou.ads, a-strfix.adb, - checks.adb, exp_ch3.adb, exp_ch4.adb, - exp_ch4.ads, exp_ch5.adb, exp_ch6.adb, - exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, - exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, - exp_dbug.ads, exp_disp.adb, exp_dist.adb, - exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos. - -2008-03-24 Robert Dewar <dewar@adacore.com> - - * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb, - s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb, - s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads, - s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb, - s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, - a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb, - a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, - a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads, - a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads, - a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads, - a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb, - i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads, - a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb, - s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads, - s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads, - double spaced if it fits on one line and otherwise single spaced. - -2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - PR documentation/15479 - * Make-lang.in (doc/gnat_ugn.texi) Renamed from ... - (doc/gnat_ugn_unw.texi): ... this, and adjusted. - (doc/gnat_ugn.info): Renamed from ... - (doc/gnat_ugn_unw.info): ... this. - (doc/gnat_ugn.dvi): Renamed from ... - (doc/gnat_ugn_unw.dvi): ... this. - (doc/gnat_ugn.pdf): Renamed from ... - (doc/gnat_ugn_unw.pdf): ... this. - (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi): - Adjusted. - * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename - unconditionally to gnat_ugn.info. Fix cross references to the - GNAT Reference Manual. Convert links to the GCC, GDB, Emacs, - and GNU make manuals to be proper texinfo links. - * gnat_rm.texi: Fix cross references to the GNAT User's Guide. - -2008-03-21 Olivier Hainque <hainque@adacore.com> - - * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb) - ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0). - -2008-03-21 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (addressable_p): Add notes on addressability issues. - -2008-03-21 Olivier Hainque <hainque@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * trans.c (addressable_p): Accept COND_EXPR when both arms - are addressable. - (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR. - (call_to_gnu): Do not use name reference in the error message - for a misaligned by_reference_parameter. The actual may be a - general expression. - -2008-03-18 Paolo Bonzini <bonzini@gnu.org> - - * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete. - -2008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * gnat_rm.texi (Implementation Defined Characteristics) - (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where - appropriate. - * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind) - (Switches for gnatchop, Installing a library): Likewise. - -2008-03-10 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (emit_range_check): Do not emit the check if the base type - of the expression is the type against which its range must be checked. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (maybe_pad_type): Use value_factor_p. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * lang.opt (nostdlib): Move around. - * misc.c (gnat_handle_option): Fix formatting. - (gnat_dwarf_name): Move around. - * trans.c (Case_Statement_to_gnu): Fix formatting. - (gnat_to_gnu): Likewise. - * utils.c (aggregate_type_contains_array_p): Likewise. - (create_subprog_decl): Likewise. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not - bother propagating the TYPE_USER_ALIGN flag when creating a JM type. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force - BIGGEST_ALIGNMENT when capping the alignment of records with - strict alignment and size clause. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * lang-specs.h: Pass -gnatwa if -Wall is passed. - * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused - and -Wuninitialized. - (gnat_post_options): Clear warn_unused_parameter. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently - aligned bit-fields, bumping the alignment of the record type if deemed - profitable. - (value_factor_p): Return false instead of 0. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support - for scalar types with small alignment. - -2008-03-08 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label - from that of the front-end's end label. - (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto - from that of the loop label. - -2008-03-07 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add - comment for the packed array type case. - * utils.c (build_template): Use a loop to strip padding or - containing records for justified modular types. - -2008-03-07 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously - large alignments specified for types. - (validate_alignment): Minor cleanup. - -2008-03-07 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined. - (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of - the component for packing, if possible, as well as if a component - size clause is specified. - <E_Record_Subtype>: For an array type used to implement a packed - array, get the component type from the original array type. - Try to get a smaller form of the component for packing, if possible, - as well as if a component size clause is specified. - (round_up_to_align): New function. - (make_packable_type): Add in_record parameter. - For a padding record, preserve the size. If not in_record and the - size is too large for an integral mode, attempt to shrink the size - by lowering the alignment. - Ditch the padding bits of the last component. - Compute sizes and mode manually, and propagate the RM size. - Return a BLKmode record type if its size has shrunk. - (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT. - Use Original_Array_Type to retrieve the type in case of an error. - Adjust call to make_packable_type. - (gnat_to_gnu_field): Likewise. - (concat_id_with_name): Minor tweak. - * trans.c (larger_record_type_p): New predicate. - (call_to_gnu): Compute the nominal type of the object only if the - parameter is by-reference. Do the conversion actual type -> nominal - type if the nominal type is a larger record. - (gnat_to_gnu): Do not require integral modes on the source type to - avoid the conversion for types with identical names. - (addressable_p): Add gnu_type parameter. If it is specified, do not - return true if the expression is not addressable in gnu_type. - Adjust recursive calls. - * utils.c (finish_record_type): Remove dead code. - -2008-03-05 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/35186 - * decl.c (maybe_pad_type): Avoid padding an integral type when - bumping its alignment is sufficient. - -2008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * gnatfind.adb, gnatxref.adb: Fix argument parsing typos. - * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright - statement. - * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb, - gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb, - sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source - code output strings. - * sem_type.adb, system-vms-ia64.ads, system-vms.ads, - system-vms_64.ads: Fix typos in ada source code comments. - * sinfo-cn.adb: Remove incomplete sentence. - - PR documentation/15479 - * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word. - -2008-02-27 Samuel Tardieu <sam@rfc1149.net> - - PR ada/22255 - * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed. - -2008-02-27 Samuel Tardieu <sam@rfc1149.net> - - PR ada/34799 - * sem_ch13.adb (Analyze_Record_Representation_Clause): Check - that underlying type is present. - -2008-02-26 Tom Tromey <tromey@redhat.com> - - * misc.c (internal_error_function): Remove test of - USE_MAPPED_LOCATION. - * trans.c (gigi): Remove test of USE_MAPPED_LOCATION. - (Sloc_to_locus): Remove old location code. - -2008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and - `i.e.' by adding comma or `@:' as appropriate. - * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of - plain characters `C', use `@samp{C}'. - * gnat_ugn.texi (File Naming Rules, About gnatkr) - (Krunching Method): Likewise. - - * gnat_ugn.texi (Conventions): List environment variables and - metasyntactic variables. - (Compiling Programs): Fix notation of metasyntactic variables. - Add @file where appropriate. Use @file for file extensions, - @samp for strings. - * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp - instead of @file, @env instead of @code. - -2008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - PR documentation/15479 - * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..' - and `...' with `@dots{}' or `@enddots{}'. - - PR documentation/15479 - * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command, - use @command instead of @code, @option instead of @samp or @code, - @code instead of @var, @samp instead of @file. - - PR documentation/15479 - * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors - in Makefile rules, by using `&&' rather than `;'. - -2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - PR documentation/15479 - * gnat_ugn.texi: In non-code, avoid space before colon. - (Regular Expressions in gnatfind and gnatxref): Fix indentation. - (Examples of gnatxref Usage): Use @command{vi} instead of - @file{vi}. - (Character Set Control): Do not use @code for UTF-8. - (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not - use @code for IEEE. - * gnat_rm.texi (Aggregates with static bounds): Fix typo in code - sample. - * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years. - -2008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com> - - PR ada/35143 - * env.c: Add __rtems__ to if defined. - * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting. - * s-osinte-rtems.ads: Add To_Target_Priority prototype and - PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add - pragma Convention as required. - * gsocket.h: Make compile in and out of RTS. - * Makefile.in: Add system-rtems.ads. Build DEC extensions. - Use g-soccon-rtems.ads. - * g-soccon-rtems.ads, system-rtems.ads: New files. - -2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - - PR other/35107 - * Make-lang.in (gnat1): Add $(GMPLIBS). - -2008-01-26 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (components_to_record): Improve comment. - -2008-01-22 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (components_to_record): Do not reuse the empty union type - if there is a representation clause on the record. - * trans.c (addressable_p): Return true for INTEGER_CST. - -2008-01-21 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR - in pointer arithmetics. - * utils2.c (build_allocator): Likewise. - -2008-01-17 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (build_function_stub): Properly build the call expression. - -2008-01-14 Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (gnat_to_gnu_entity) <object>: Process renamings - before converting the expression to the type of the object. - * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case. - Stabilize constructors for special wrapping types. - -2008-01-13 Eric Botcazou <ebotcazou@adacore.com> - - * trans.c (call_to_gnu): Invoke the addressable_p predicate only - when necessary. Merge some conditional statements. Update comments. - Rename unchecked_convert_p local variable to suppress_type_conversion. - Do not suppress conversions in the In case. - (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues - into account on non strict-alignment platforms. - -2008-01-12 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (aggregate_type_contains_array_p): New predicate. - (create_field_decl): In a packed record, force byte alignment - for fields without specified position that contain an array. - -2008-01-12 Eric Botcazou <ebotcazou@adacore.com> - - * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression. - -2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca> - - PR ada/34466 - * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for - sysconf call. - (bit_field): New packed boolean type used by cpu_set_t. - (cpu_set_t): New type corresponding to the C type with - the same name. Note that on the Ada side we use a bit - field array for the affinity mask. There is not need - for the C macro for setting individual bit. - (pthread_setaffinity_np): New imported routine. - -2008-01-03 Tero Koskinen <tero.koskinen@iki.fi> - - PR ada/34647 - * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp() - on OpenBSD as is done on other BSD systems. - - PR ada/34645 - * sysdep.c (__gnat_ttyname, getc_immediate_nowait, - getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate - I/O. - - PR ada/34644 - * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing - clearenv(). - - PR ada/34646 - * init.c (__gnat_error_handler, __gnat_install_handler, - __gnat_init_float): Define for OpenBSD. - - * initialize.c (__gnat_initialize): Define for OpenBSD. - - - -Copyright (C) 2008 Free Software Foundation, Inc. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. |