URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [ChangeLog-2008] - Rev 764
Go to most recent revision | Compare with Previous | Blame | View Log
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 notspecial-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_exprto 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 constantsinitialized to a static constant to be statically allocated even ifthey are of a padding type, provided the original type also hasconstant size.2008-11-15 Laurent Guerby <laurent@guerby.net>PR ada/37993* gcc-interface/Makefile.in: Add multilib handling for x86_64on 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 constructsare 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>: Makeunreachable.<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 N64multilibs.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): Checkfor 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 argumentsand 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 emittingoverflow check for constant result.2008-11-07 Geert Bosch <bosch@adacore.com>* gcc-interface/trans.c (build_binary_op_trapv): Use more efficientoverflow 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 offiles 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 notoptimizing, create a PARM_DECL pointing to the VAR_DECL for debuggingpurposes.2008-11-06 Eric Botcazou <ebotcazou@adacore.com>* gcc-interface/misc.c (gnat_printable_name): Always return a copyin 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 overlappingarray slices.2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>PR target/37977* gcc-interface/Makefile.in: Add multilib handling fors390-linux and s390x-linux.2008-10-24 Jakub Jelinek <jakub@redhat.com>* gcc-interface/Make-lang.in (check-ada-subtargets): Depend oncheck-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 testingin multiple make goals, possibly parallel, and afterwards rundg-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 expansionto use only a single check instead of three, and avoid unnecessaryCOMPOUND_EXPR.(emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimescreating more opportunities for optimizations.2008-10-13 Jakub Jelinek <jakub@redhat.com>PR middle-end/37601* gcc-interface/utils.c (gnat_types_compatible_p): HandleNULL TYPE_DOMAIN.2008-10-07 Eric Botcazou <ebotcazou@adacore.com>* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move codedealing 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 withVIEW_CONVERT_EXPR in the general case. Always disable it for thespecial VIEW_CONVERT_EXPR built for integral types and cope withits 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 forpowerpc-linux.2008-09-26 Eric Botcazou <ebotcazou@adacore.com>* decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotionto 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_EAinstead of deprecated FILE_WRITE_PROPERTIES.2008-09-22 Olivier Hainque <hainque@adacore.com>* gcc-interface/decl.c (gnat_to_gnu_entity): Even when theyare never assigned, volatile entities are not constant for codegeneration purposes.2008-09-21 Laurent Guerby <laurent@guerby.net>PR ada/5911* gcc-interface/Makefile.in: Add multilib handling for x86_64and 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>: Generatedebug 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 nodeon statements generated to initialize the parameter attributes cache.Set the source line of the end label of the body on the special returnstatement 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 forinlined external functions if they contain a nested function notdeclared 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 compilationunit 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 incomments.* 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 adapterlayer. RTEMS binds to OS provided adapter routines so there areno 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 functionsneeded 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. Alreadyreferenced in gcc-interface/Makefile.in.2008-08-30 Thomas Quinot <quinot@adacore.com>* gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} tobe 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 fixto avoid warning.* g-trasym.adb: Ditto* s-utf_32.adb (Get_Category): Fix obvious typo* s-wwdcha.adb: Minor code reorganizationRemove dead code2008-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]): Newconfiguration 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 theinit procedure all the expanded code associated with the spec oftask types and protected types.2008-08-22 Gary Dismukes <dismukes@adacore.com>* exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on thecomponent expression copies rather than directly setting Etype andIs_Static_Expression.2008-08-22 Gary Dismukes <dismukes@adacore.com>* sem_util.adb (Has_Preelaborable_Initialization): Revise checking ofprivate types to allow for types derived from a private type withpreelaborable 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-blockingspawn.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 02008-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 variable2008-08-22 Ed Schonberg <schonberg@adacore.com>* sem_ch8.adb (Use_One_Type): Do not emit warning message about redundantuse_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 reformatting2008-08-22 Vincent Celier <celier@adacore.com>* prj.ads: Minor comment update2008-08-22 Robert Dewar <dewar@adacore.com>* sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack2008-08-22 Ed Schonberg <schonberg@adacore.com>* exp_tss.adb:(Base_Init_Proc): For a protected subtype, use the base type of thecorresponding 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 withinvalid values.(In_Subrange_Of): Ditto* sem_eval.ads:(Compile_Time_Compare): New calling sequence allows dealing withinvalid values.(In_Subrange_Of): Ditto2008-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_FinalizationExp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_PartExp_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 reformatting2008-08-22 Kevin Pouget <pouget@adacore.com>* s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen andShared_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 inBuild_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 isinvolved and the return type is class-wide, use the type of the expressionfor the generated access type. Suppress useless discriminant checks on theallocator.2008-08-22 Bob Duff <duff@adacore.com>* exp_ch7.adb: Minor comment fix* exp_ch6.ads: Minor comment fix2008-08-22 Thomas Quinot <quinot@adacore.com>* sem_ch8.adb: Minor reformattingMinor code reorganization (introduce subprogram to factor duplicatedcode).2008-08-22 Sergey Rybin <rybin@adacore.com>* gnat_ugn.texi: Change the description of gnatcheck default rulesettings.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_raiseon AIX, HP-UX, Solaris, FreeBSD and VxWorks.* raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfoinstead of _Unwind_GetIP.2008-08-22 Gary Dismukes <dismukes@adacore.com>* exp_aggr.adb (Static_Array_Aggregate): When a static array aggregatewith a range is transformed into a positional aggregate, any copiedcomponent literals should be marked Is_Static_Expression.* sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals asnot being known at at compile time when Configurable_Run_Time_Mode istrue.2008-08-22 Robert Dewar <dewar@adacore.com>* exp_attr.adb:(Expand_N_Attribute_Reference): No validity checking on OUT parameter ofRead or Input attribute.2008-08-22 Ed Schonberg <schonberg@adacore.com>* sem_ch8.adb (Use_One_Type): when checking which of two use_typeclauses in related units is redundant, if one of the units is a packageinstantiation, use its instance_spec to determine which unit is theancestor of the other.2008-08-22 Javier Miranda <miranda@adacore.com>* exp_attr.adb (Expand_N_Attribute_Reference): In case of accessattributes add missing support to handle designated types that comefrom 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 rulesacoording to the latest changes in the metric rule interface2008-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 thespec, 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 ProjectManager.2008-08-20 Jose Ruiz <ruiz@adacore.com>* errno.c (__get_errno, __set_errno for MaRTE): Transform then intoweak 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 fornon-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 reformatting2008-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_Compilerdefaulted to True. Fail when Unknown_Switches_To_The_Compiler is Falseand a switch is not recognized by gnatmake.(Gnatmake): Implement new scheme for gnatmake switches and globalcompilation 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 toimplement style check that overriding operations are explicitly markedat such.* style.ads (Missing_Overriding): new procedure that provides interfaceto previous one.* stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable checkthat the declaration or body of overriding operations carries anexplicit overriding indicator.* sem_ch8.adb(Analyze_Subprogram_Renaming): if operation is overriding, check whetherexplicit indicator should be present.* sem_ch6.adb (Verify_Overriding_Indicator,Check_Overriding_Indicator): If operation is overriding, check whetherdeclaration and/or body of subprogram should be present2008-08-20 Vincent Celier <celier@adacore.com>* prj-nmsc.adb (Check_Naming_Schemes): Accept source file names forgprbuild when casing is MixedCase, whatever the casing of the lettersin the file name.2008-08-20 Gary Dismukes <dismukes@adacore.com>* exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related tocreating dummy init proc.(Requires_Init_Proc): Return False in the case No_Default_Initializationis in force and the type does not have associated defaultinitialization. Move test of Is_Public (with tests of restrictionsNo_Initialize_Scalars and No_Default_Initialization) to end, past testsfor default initialization.2008-08-20 Jerome Lambourg <lambourg@adacore.com>* g-comlin.adb (For_Each_Simple_Switch): Take care of switches not partof any alias or prefix but having attached parameters (as \"-O2\").2008-08-20 Robert Dewar <dewar@adacore.com>* s-fileio.adb: Minor reformatting2008-08-20 Thomas Quinot <quinot@adacore.com>* exp_strm.adb (Build_Elementary_Input_Call,Build_Elementary_Write_Call): Fix incorrect condition in circuitry thatselects 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 Location2008-08-20 Ed Schonberg <schonberg@adacore.com>* sem_prag.adb:(Analyze_Pragma, case Obsolescent): Add entity information on the pragmaargument 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 constantfolding. We were folding things like "False and then ...", but not"X and then ..." where X is a constant whose value is known at compiletime.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 thefinal list in extended return statements, check the type of thefunction and in the case of double expanded return statements, the typeof the returned object.(Expand_Simple_Function_Return): Perform an interface conversion whenthe type of the returned object is an interface and the context is anextended return statement.2008-08-20 Ed Schonberg <schonberg@adacore.com>* sem_util.adb (Set_Debug_Info_Needed): If the entity is a private typeand the full view is visible, set flag on full view as well.2008-08-20 Thomas Quinot <quinot@adacore.com>* g-comlin.adb: Minor reformattingMinor code reorganization.* freeze.adb: Minor reformatting2008-08-20 Vincent Celier <celier@adacore.com>* prj-nmsc.adb (Check_File): An excluded Ada source file may be asource 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 ofMake_Implicit_Exception_Handler when rewriting an exception handler witha choice parameter, and pass the handler's Sloc instead of that of thehandled sequence of statements. Make_Implicit_Exception_Handler sets theSloc to No_Location (unless debugging generated code), which we don'twant 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 arenow 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 reorganizationRemove redundant test found working on another issue* a-ztexio.adb: Minor code reorganizationRemove redundant test found working on another issue2008-08-20 Thomas Quinot <quinot@adacore.com>* s-fileio.adb (Open) Use C helper function to determine whether agiven 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_errnoto get access to the per-task errno variable.(__set_errno for MaRTE): Do not redefine this function here since it isalready 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 reformatting2008-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): Resolveconfusion between partial and full views of an ancestor of the contexttype 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 theversion string.Move comment in the right place.* g-comver.adb (Version): Look for a zero-termination inaddition 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: UseIs_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 packagesas 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 callfor 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 thesetjmp test consistently. Adjust for new behavior of flag_stack_check.* gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundanttest 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 protectedobject 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): Rewritethe 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_STREAMwith SOSC.SOCK__STREAM.* g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB withSOSC.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 ofleft 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_Wunusedby warn_unused.2008-08-08 Ed Schonberg <schonberg@adacore.com>* freeze.adb (Generate_Prim_Op_References): New procedure, abstractedfrom Freeze_Entity. Used to generate cross-reference information fortypes declared in generic packages.2008-08-08 Thomas Quinot <quinot@adacore.com>* gcc-interface/Makefile.in: Reintroduce g-soccon.ads as acompatibility shim.2008-08-08 Thomas Quinot <quinot@adacore.com>* gsocket.h:On Windows, include <errno.h> and redefine only selected errno valuesfrom 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 childunit, to allow building software that depends on this internal unitwith both older and newer compilers.2008-08-08 Robert Dewar <dewar@adacore.com>* s-strxdr.adb: Minor reformatting2008-08-08 Bob Duff <duff@adacore.com>* gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflowchecking for integer operations (including division by zero)", whichis 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 thebegining of the command line.(Append, Add): Renaming of Append to Add as this now allows additionat the begining of the list.* g-comlin.ads (Add_Switch): Handle addition of switches at thebegining of the command line.2008-08-08 Thomas Quinot <quinot@adacore.com>* g-sercom.ads:(Name): Document application scope (only legacy PC serial ports onLinux and Windows).2008-08-08 Thomas Quinot <quinot@adacore.com>* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revertprevious change, not needed after all.2008-08-08 Ed Schonberg <schonberg@adacore.com>* exp_ch4.adb (Expand_Allocator_Expression): add check if nullexclusion indicator is present2008-08-08 Robert Dewar <dewar@adacore.com>* g-comlin.adb: Minor code reorganizationMinor reformatting* g-comlin.ads: Minor reformatting* s-fileio.adb: Minor reformatting* sem_attr.adb: Minor code reorganization (use Nkind_In)Minor reformatting2008-08-06 Samuel Tardieu <sam@rfc1149.net>* gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealingwith 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 misuseof incomplete type.* sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renamingof a formal parameter of an incomplete type. Improve error message forother improper uses of incomplete types.2008-08-06 Robert Dewar <dewar@adacore.com>* gnat_ugn.texi: Clarify -gnato documentation2008-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 bySystem.OS_Constants.2008-08-06 Thomas Quinot <quinot@adacore.com>* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:Remove obsolete targets referencing gen-socconWhen generating s-oscons.ads, use a file name that includes theTHREAD_KIND, to ensure that the (potentially different) version from aprevious 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_Erroronly when the operating system reports a non-existing file or directory(ENOENT), otherwise raise Name_Error.* exp_ch11.adb: Minor reformatting2008-08-06 Ed Schonberg <schonberg@adacore.com>* sem_ch3.adb (Access_Subprogram_Declaration): If the return type isincomplete, add the access_to_subprogram type to the list of privatedependents only if the incomplete type will be completed in the currentscope.(Build_Discriminant_Constraints): If the type of the discriminant isaccess_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 sourceswith 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 forexpansion 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 adereference is needed because a subtype of an access_to_subprogram issimply an access-subtype2008-08-06 Jerome Lambourg <lambourg@adacore.com>* g-comlin.adb (Set_Command_Line): Now that aliases can containparameters, always specify the expected separator.2008-08-06 Thomas Quinot <quinot@adacore.com>* xnmake.adb: Use new XUtil package for platform independent textoutput.2008-08-06 Vincent Celier <celier@adacore.com>* gnat_ugn.texi: Document compiler switch -gnateG2008-08-06 Quentin Ochem <ochem@adacore.com>* s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern markin the case of an empty pattern size.(Compute_Result): Do not do any computation in the case of an emptypattern 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 thefinalization routine to prevent elaboration order anomalies in newfinalization scheme.2008-08-06 Ed Schonberg <schonberg@adacore.com>* sem_ch3.adb (Find_Type_Name): protect against duplicate incompletedeclaration 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 whenungrouping switches.(For_Each_Simple_Switch): Allow more control over parameters handling.This generic method now allows ungrouping of switches with parametersand switches with more than one letter after the prefix.(Set_Command_Line): Take care of switches that are prefixed with aswitch handling parameters without delimiter (-gnatya and -gnaty3 forexample).(Add_Switch, Remove_Switch): Handle parameters possibly present insidea group, as in gnaty3aM80 (3 and 80 are parameters). Report status ofthe operation.(Start, Alias_Switches, Group_Switches): Take care of parameterspossibly present inside a group.* g-comlin.ads (Define_Switch): New method used to define a list ofexpected switches, that are necessary for correctly ungrouping switcheswith more that one character after the prefix.(Get_Switches): Method that builds a getopt string from the list ofswitches as set previously by Define_Switch.(Add_Switch, Remove_Switch): New versions of the methods, reporting thestatus of the operation. Also allow the removal of switches withparameters only.(Command_Line_Configuration_Record): Maintain a list of expectedswitches.2008-08-06 Doug Rupp <rupp@adacore.com>* gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor ifTARGET_MALLOC64 clear.* gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit mallocif 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 heapfor Convention C.2008-08-06 Ed Schonberg <schonberg@adacore.com>* sem_ch3.adb (Process_Discriminants): diagnose redundant or impropernull exclusion in a discriminant declaration* sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusionindicators when type is not an access type.* sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusionindicators when type is not an access type.2008-08-06 Javier Miranda <miranda@adacore.com>* exp_disp (Expand_Interface_Conversion): Freeze the entity associatedwith the target interface before expanding the code of the interfaceconversion.2008-08-05 Ed Schonberg <schonberg@adacore.com>* freeze.adb:(Freeze_Entity): A deferred constant does not violate the restrictionNo_Default_Initialization,* sem_ch3.adb (Process_Subtype): An allocator is a valid construct thatcan carry a null exclusion indicator, and on which an error may beposted if the indicator is redundant.* sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusiondoes not apply to a subtype mark that already excludes null.* sem_ch12.adb (Formal_Object_Declaration): Verify that a nullexclusion 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, whichdoes 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 nucleus2008-08-05 Ed Schonberg <schonberg@adacore.com>* sem_attr.adb:(Analyze_Attribute, case 'Result): handle properly the case where someoperand of the expression in a post-condition generates a transientblock.* sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion toright-hand side when it is an anonymous access_to_subprogram, to forcestatic accessibility check when needed.2008-08-05 Sergey Rybin <rybin@adacore.com>* gnat_ugn.texi: Changing the description of the gnatcheck metricsrule according to the change in the rule option.Add documentation for -gnatw.b/-gnatw.B2008-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.B2008-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 thereadable attribute.2008-08-05 Vincent Celier <celier@adacore.com>* s-wchwts.adb:(Wide_String_To_String): Returns a String with the same 'First as itsparameter S.(Wide_Wide_String_To_String): Ditto* s-wchwts.ads:(Wide_String_To_String): Document that the lowest index of the returnedString 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: Generates-oscons.ads2008-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 biasedrepresentation 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 switches2008-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 reformatting2008-08-05 Ed Schonberg <schonberg@adacore.com>* sem_ch12.adb (Validate_Array_Type_Instance): Only apply complexvisibility 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 theXenomai run time then we need to do two additional things: avoidmemory swapping and transform the Linux environment task into a nativeXenomai task.* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai runtime): Use interface to Xenomai native skin and avoid linux-specificway 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 fix2008-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 andCS8.2008-08-05 Robert Dewar <dewar@adacore.com>* mlib.adb: Minor code reorganizationMinor reformatting* make.adb: Minor reformatting* prj-attr.ads: Minor reformatting* s-os_lib.adb: Minor reformatting* s-fileio.adb: Minor code reorganizationMinor reformatting* prj.ads: Minor reformatting2008-08-05 Bob Duff <duff@adacore.com>* sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access inunresolved initial value of "null", because it causes implicitlygenerated "=" operators to be ambiguous, and because this type shouldnot 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 checkingfor Default_Switches ("Ada").(Gnatmake): Use Builder'Switches (others) in preference toBuilder'Default_Switches ("Ada") if there are several mains.* prj-attr-pm.adb:(Add_Attribute): Add component Others_Allowed in Attribute_Recordaggregate.* prj-attr.adb:Add markers to indicates that attributes Switches allow others as index(Others_Allowed_For): New Boolean function, returning True forattributes with the mark.(Initialize): Recognize optional letter 'O' as the marker forassociative 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 whereothers 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 whenindex is All_Other_Names.* prj.ads:(All_Other_Names): New constant* prj-proc.adb:(Process_Declarative_Items): Skip associative array attribute when indexis 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 ofGNAT.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: theimplementation 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 theSet_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 reformatting2008-08-05 Thomas Quinot <quinot@adacore.com>* tbuild.ads (New_External_Name): Update spec to reflect relaxedrestriction on Prefix.2008-08-05 Jerome Lambourg <lambourg@adacore.com>* g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internalmethods 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 handlebuilding command lines with sections.(Set_Command_Line): Take into account sections when analysing a switchstring.(Start): Sort the switches by sections before iterating the command lineelements.* g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,Is_New_Section, Current_Section): New methods or methods modified tohandle building command lines with sections.2008-08-05 Ed Schonberg <schonberg@adacore.com>* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For accessdiscriminants, indicate that the corresponding object declaration hasno initialization, to prevent spurious warnings when the access type isnull-excluding.2008-08-05 Ed Schonberg <schonberg@adacore.com>* sem_res.adb (Resolve_Call): If this is a call to the predefinedAbort_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 instances2008-08-04 Ed Schonberg <schonberg@adacore.com>* sem_ch3.adb:(Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly ananonymous access to protected subprogram that is the return type of thespecification of a subprogram body.* sem_ch6.adb:(Analyze_Subprogram_Body): if the return type is an anonymous access tosubprogram, 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 beforeanalysis (from code reading).2008-08-04 Robert Dewar <dewar@adacore.com>* exp_ch5.adb:(Expand_Simple_Function_Return): Check No_Secondary_Stack restrictionat point of return.2008-08-04 Thomas Quinot <quinot@adacore.com>* sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>* g-soccon-mingw.ads: Fix value for MSG_WAITALL2008-08-04 Javier Miranda <miranda@adacore.com>* sem_prag.adb (Process_Convention): Add missing support forN_Private_Extension_Declaration nodes.2008-08-04 Robert Dewar <dewar@adacore.com>* exp_ch4.adb: Minor reformatting2008-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 differentsizes, even though they statically match.2008-08-04 Javier Miranda <miranda@adacore.com>* sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patchadded 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 forconstructs that come from source2008-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 withfile attributes.2008-08-04 Javier Miranda <miranda@adacore.com>* sem_ch3.adb (Access_Subprogram_Declaration): Adding missing supportfor N_Formal_Object_Declaration nodes. Adding kludge required byFirst_Formal to provide its functionality with access to functions.(Replace_Anonymous_Access_To_Protected_Subprogram): Add missing supportfor anonymous access types returned by functions.* sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicateconversion of null-excluding access types (required only once to forcethe generation of the required runtime check).* sem_type.adb (Covers): minor reformating* checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errorswith internally generated nodes. Avoid generating the error inside initprocs.* sem_res.adb (Resolve_Membership_Test): Minor reformating.(Resolve_Null): Generate the null-excluding check in case of assignmentto a null-excluding object.(Valid_Conversion): Add missing support for anonymous access tosubprograms.* sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support foranonymous access types whose designated type is an itype. This caseoccurs with anonymous access to protected subprograms types.(Analyze_Return_Type): Add missing support for anonymous access toprotected subprogram.* sem_eval.adb (Subtypes_Statically_Match): In case of access tosubprograms addition of missing check on matching convention. Requiredto properly handle access to protected subprogram types.* exp_ch3 (Build_Assignment): Code cleanup removing duplicated check onnull 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-nullaccess type and the allocator is not initialized, warn rather thanreporting an error.2008-08-04 Robert Dewar <dewar@adacore.com>* exp_ch4.adb: Minor reformatting* exp_dist.adb: Minor reformatting* g-comlin.adb: Minor reformatting2008-08-04 Gary Dismukes <dismukes@adacore.com>* exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of thetarget to the type of the aggregate in the case where the target objectis class-wide.* exp_ch5.adb (Expand_Simple_Function_Return): When the function'sresult type is class-wide and inherently limited, and the expressionhas a specific type, create a return object of the specific type, formore efficient handling of returns of build-in-place aggregates (avoidsconversions of the class-wide return object to the specific type oncomponent assignments).* sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the errorabout a type mismatch for a class-wide function with a return objecthaving a specific type when the object declaration doesn't come fromsource. 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 whencompiling for 64bit windows.2008-08-04 Jerome Lambourg <lambourg@adacore.com>* g-comlin.adb (Group_Switches): Preserve the switch order whengrouping and allow switch grouping of switches with more than onecharacter 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 forchain 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 anduse 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 alegal context for an anonymous access to subprogram.* sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as anindirect call, report success to the caller to include possibleinterpretation.* sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformancecheck when the typeof 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 anaccess_to_subprogram and the context requires its return type, and adereference has not been introduced previously.2008-08-04 Arnaud Charlet <charlet@adacore.com>* usage.adb (Usage): Minor rewording of -gnatwz switch, to improvegnatcheck support in GPS.2008-08-04 Vincent Celier <celier@adacore.com>* mlib.adb (Create_Sym_Links): Create relative symbolic links whenrequested2008-08-04 Vincent Celier <celier@adacore.com>* gprep.adb (Process_One_File): Call Prep.Preprocess with a Booleanvariable, but don't check the resulting value as it has no impact onthe processing.* opt.ads:(Generate_Processed_File): New Boolean flag, set to True in the compilerwhen switch -gnateG is used.* prep.adb:(Preprocess): new Boolean out parameter Source_Modified. Set it to Truewhen the source is modified by the preprocessor and there is nopreprocessing errors.* prep.ads (Preprocess): new Boolean out parameter Source_Modified* sinput-l.adb:(Load_File): Output the result of preprocessing if the source text wasmodified.* 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 -gnateG2008-08-04 Doug Rupp <rupp@adacore.com>* gcc-interface/utils2.c:(fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointerin 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 ananonymous access return type of a regular function that is not acompilation 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 comment2008-08-04 Arnaud Charlet <charlet@adacore.com>* sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLItarget.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_Profile2008-08-04 Robert Dewar <dewar@adacore.com>* system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus2008-08-04 Robert Dewar <dewar@adacore.com>* freeze.adb (Freeze_Entity): Check for size clause for boolean warning2008-08-04 Vincent Celier <celier@adacore.com>* prj-proc.adb:(Copy_Package_Declarations): When inheriting package Naming from aproject being extended, do not inherit source exception names.2008-08-04 Ed Schonberg <schonberg@adacore.com>* sem_prag.adb (Check_Precondition_Postcondition): When scanning thelist of declaration to find previous subprogram, do not go to theoriginal 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, simplifyand adjust for above renaming.* gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add newgnu_expr_alt_type parameter. Convert the expression to it insteadof 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 deadcode. Do not get full definition of deferred constants with addressclause for a use. Do not ignore deferred constant definitions withaddress clause. Ignore constant definitions already marked with theerror node.<object>: Remove obsolete comment. For a deferred constant withaddress 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 fixformatting 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 animplementation of Input and Output.* exp_attr.adb (Find_Stream_Subprogram): If restrictionNo_Stream_Optimization is active, choose the default byte IOimplementations 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 notturn 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 toconvert plain identifier into defining identifier.2008-08-01 Robert Dewar <dewar@adacore.com>* sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improvewarnings* 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 passingcorrect accessibility levels. In the "when others" case, retrieve theaccess level of the Etype of Prev rather than Prev_Orig, because theoriginal exression has not always been analyzed.2008-08-01 Robert Dewar <dewar@adacore.com>* prj-nmsc.adb: Minor reformatting* sem_ch4.adb: Minor reformattingMinor code reorganization* prj.ads: Minor reformatting* s-os_lib.adb: Minor reformatting* par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upperhalf 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 typekeyword2008-08-01 Robert Dewar <dewar@adacore.com>* sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if notgenerating code2008-08-01 Ed Schonberg <schonberg@adacore.com>* checks.adb (Apply_Float_Conversion_Check): If the expression to beconverted is a real literal and the target type has static bounds,perform the conversion exactly to prevent floating-point anomalies onsome 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, notObjects_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 notused.* snames.adb: New standard name Path_Syntax* snames.ads: New standard name Path_Syntax2008-08-01 Vincent Celier <celier@adacore.com>* mlib-utl.adb:(Adalib_Path): New variable to store the path of the adalib directorywhen 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 procedure2008-08-01 Ed Schonberg <schonberg@adacore.com>* sem_prag.adb:(Check_Precondition_Postcondition): If not generating code, analyze theexpression in a postcondition that appears in a subprogram body, so thatit 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 resetsOrig_Prev to Prev in the case where the actual is N_Function_Call orN_Identifier. This was interfering with other cases that are rewrittenas N_Identifier, such as allocators, resulting in passing of the wrongaccessibility level, and based on testing this code is apparently nolonger needed at all.2008-08-01 Ed Schonberg <schonberg@adacore.com>* sem_ch4.adb (Analyze_One_Call): Handle complex overloading of aprocedure call whose prefixis 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 namesfor 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 ofRaise_Exception2008-08-01 Jerome Lambourg <lambourg@adacore.com>* s-os_lib.adb (Normalize_Pathname): Take care of double-quotes inpaths, which are authorized by Windows but can lead to errors when usedelsewhere.2008-08-01 Ed Schonberg <schonberg@adacore.com>* sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to createa pending instantiation for the body of a subprogram that is to beinlined.* 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 subprogramcan 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 andrts-rtx-w32).2008-08-01 Robert Dewar <dewar@adacore.com>* scng.adb (Error_Illegal_Wide_Character): Bump scan pointer2008-08-01 Doug Rupp <rupp@adacore.com>* gnat_rm.texi: Document new mechanism Short_Descriptor.* types.ads (Mechanism_Type): Modify range for new Short_Descriptormechanism values.* sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptormechanism 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_Descriptormechanism and Short_Descriptor mechanism values.* sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanismvalues.(Descriptor_Codes): Modify range for new mechanism values.* treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptormechanism 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_actualargument in call fill_vms_descriptor.* gcc-interface/utils.c (build_vms_descriptor32): Renamed frombuild_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 64bitdescriptors.* 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 tempnamnor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporaryname.2008-08-01 Jose Ruiz <ruiz@adacore.com>* cstreams.c (__gnat_full_name): RTSS applications cannot ask for thecurrent 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 properlycategorized 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 comments2008-08-01 Ed Schonberg <schonberg@adacore.com>* exp_disp.adb (Expand_Interface_Conversion): If the target type is atagged synchronized type, use corresponding record type.2008-08-01 Doug Rupp <rupp@adacore.com>* mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output adummy transfer address for debugging.* mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.* vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING2008-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.adsChange 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 thesystem.* s-parame-vxworks.adbDocument 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 thes-parame-vxworks.adb body in order to have reasonable stack sizes inRTX RTSS kernel mode. Virtual memory is not used in that case, so wecannot 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 reformatting2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>* exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a privatetagged 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 withoutcomponents must have a "null record" aggregate when compiling for Ada2005, 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 tohandle synchronized types. Required to handle well the object.operationnotation applied to synchronized types.2008-07-31 Quentin Ochem <ochem@adacore.com>* s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now storedanymore - just used internally.Added handling of very small tasks - when the theoretical size isalready full at the point of the call.(Report_Result): Fixed result computation, Stack_Used_When_Filling doesnot need to be added to the result.2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>* sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if thecorresponding 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 forconfiguration flag Canonical_Streams.(Gen_Adainit_C): Add the declaration and initial value of externalsymbol __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 ofsemantically 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 constantUse_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_clausehas the form A.B.C and B is a unit renaming, analyze its compilationunit 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 onInsert_Node.* exp_attr.adb:(Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute nodeto new parameter Insert_Node on call to Apply_Accessibility_Check.Necessary to distinguish the insertion node because the dereferencedformal may come from a rename, but the check must be inserted infront of the attribute.* exp_ch4.adb:(Expand_N_Allocator): Pass actual for new Insert_Node parameter oncall to Apply_Accessibility_Check.(Expand_N_Type_Conversion): Pass actual for new Insert_Node parameteron call to Apply_Accessibility_Check.Minor reformatting2008-07-31 Javier Miranda <miranda@adacore.com>* sem_type.adb (Has_Compatible_Type): Complete support for synchronizedtypes when the candidate type is a synchronized type.* sem_res.adb (Resolve_Actuals): Reorganize code handling synchronizedtypes, and complete management of synchronized types adding missingcode to handle formal that is a synchronized type.* sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes thatare not available and cause the compiler to blowup. Found compilingtest with switch -gnatc* sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogramHas_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 wasrecognized 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 toName_Find as Find_Name.2008-07-31 Ed Schonberg <schonberg@adacore.com>* exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single componentand the context is an object declaration with non-static bounds, treatthe 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 calledoutside of package Prj.Part.(Project_Data): Remove components Linker_Name, Linker_Path andMinimum_Linker_Options as they are no longer set.Remove function There_Are_Ada_Sources from package Prj and move codein 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 reformatting2008-07-31 Sergey Rybin <rybin@adacore.com>* gnat_ugn.texi: Change the description of theOverly_Nested_Control_Structures: now the rule always requires apositive parameter for '+R' option2008-07-31 Thomas Quinot <quinot@adacore.com>* g-pehage.adb: Minor reformatting2008-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 fix2008-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 insteadof the type when looking for stream subprograms for type String,Wide_String and Wide_Wide_String.* s-ststop.adb: Change the initialization expression of constantUse_Block_IO.2008-07-31 Geert Bosch <bosch@adacore.com>* arit64.c:New file implementing __gnat_mulv64 signed integer multiplication withoverflow 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 ofbuild_{unary,binary}_op* gcc-interface/Makefile.in(LIBGNAT_SRCS): Add arit64.c(LIBGNAT_OBJS): Add arit64.o2008-07-31 Vincent Celier <celier@adacore.com>* prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches orLinker'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): UseInsert_Actions to place the pointer declaration in the code, ratherthan Insert_Before_And_Analyze, so that insertions of temporaries arekept 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 genericsubprogram case2008-07-31 Vincent Celier <celier@adacore.com>* s-os_lib.adb: Minor comment fix2008-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 thatthey will appear in each instance.(Process_PPCs): Do not transform postconditions into a procedure in ageneric context, to prevent double expansion of check pragmas.* sem_attr.adb: In an instance, the prefix of the 'result attributecan be the renaming of thecurrent instance, so check validity of the name accordingly.2008-07-31 Robert Dewar <dewar@adacore.com>* mlib-utl.ads: Minor reformatting2008-07-31 Ed Schonberg <schonberg@adacore.com>sem_attr.adb: 'Result can have an ambiguous prefix, and is resolvedfrom context. This attribute must be usable in Ada95 mode.The attribute can appear in the body of a function markedInline_Always, but in this case the postocondition is not enforced.sem_prag.adb (Check_Precondition_Postcondition): within the expansionof an inlined call pre- and postconditions are legal2008-07-31 Vincent Celier <celier@adacore.com>* prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations thatwere for gprmake only2008-07-31 Robert Dewar <dewar@adacore.com>* gnat_ugn.texi: Update -gnatN documentation.* gnat_rm.texi: Add note about pre/postconditionpragmas not checked in conjunction with front-end inlining.2008-07-31 Robert Dewar <dewar@adacore.com>* g-pehage.adb, g-pehage.ads: Minor reformatting2008-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 wellas boolean_false_node for False and boolean_true_node for True.* gcc-interface/utils.c (gnat_init_decl_processing): Create custom8-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 raisedif no primitive operation is found.* exp_util.adb: (Find_Prim_Op): Add comments for previous change* sem_ch8.adb: Minor reformatting2008-07-30 Laurent Pautet <pautet@adacore.com>* g-pehage.adb:Remove a limitation on the length of the words handled by the minimalperfect 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 reformatting2008-07-30 Thomas Quinot <quinot@adacore.com>* rtsfind.adb (Check_RPC): Check version consistency even when notgenerating RCI stubs. Provide more detailed error message in case ofmismatch.2008-07-30 Ed Schonberg <schonberg@adacore.com>* sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attributeas a actual in an instance, check for a missing attribute to preventprogram_error on an illegal program.* exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise programerror if primitive is not found, so that exception can be handledelsewhere on illegal programs.2008-07-30 Robert Dewar <dewar@adacore.com>* uintp.adb (UI_GCD): Fix potential overflow2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>* einfo.adb: Flag245 is now used.(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertioncheck to include functions.(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.(Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check toinclude functions.(Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitiveto the list of displayed flags.* einfo.ads: Update comment on the usage of Is_Primitive_Wrapper andWrapped_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 inBuild_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 privateand full view of a concurrent type that implements an interface.(Build_Wrapper_Specs): New subprogram.(Expand_N_Protected_Body): Code reformatting. Replace the wrapper bodycreation mechanism with a call to Build_Wrapper_Bodies.(Expand_N_Protected_Type_Declaration): Code reformatting. Replace thewrapper spec creation mechanism with a call to Build_Wrapper_Specs.(Expand_N_Task_Body): Replace the wrapper body creationmechanism with a call to Build_Wrapper_Bodies.(Expand_N_Task_Type_Declaration): Replace the wrapper speccreation 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 primitivesthat belong to a private view completed by a concurrent typeimplementing an interface.* sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogramis a primitive of aconcurrent type with a private view that implements an interface, try tofind the proper spec.(Analyze_Subprogram_Declaration): Mark a subprogram as a privateprimitive if the type of its first parameter is a non-generic taggedprivate 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 thirdargument.* decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a64bit and 32bit descriptor and save the 64bit version as an alternateTREE_TYPE in the parameter.(make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for thethin 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 reformatting2008-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 toavoid 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 callthe 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 hasbeen moved before the call to Osint.Add_Default_Search_Dirs in orderto 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 iftarget is a RTSS module for RTX.* targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX forRTX_RTSS_Kernel_Module(Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gccexception handling mechanism for Windows and RTX in Win32 mode, butnot for RTX in kernel mode (RTSS).(LIBGNAT_SRCS): Remove ada.h2008-07-30 Paolo Bonzini <bonzini@gnu.org>* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS andT_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-gnatlib2by stamp-gnatlib2-rts.2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>PR documentation/15479* gnat-style.texi: Remove AdaCore copyright statement and GPLstatement for GNAT. Add @copying stanza, use it. Update toGFDL 1.2. Do not list GFDL as Invariant Section, do not listtitle 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_inlinecheck.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: Movedto 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 ifthis 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 preventgimplifying 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 insteadof 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): UseMALLOC_ABI_ALIGNMENT.2008-07-17 Olivier Hainque <hainque@adacore.com>* adaint.c (__MINGW32__ section): Include ctype.h and definea 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_FLAGargument, to apply to references in addition to definitions. Preventsetting 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 @ovarwhere 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 packableversion 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-totypes only if it is otherwise unknown.<INTEGER_CST>: Tidy.<MULT_EXPR>: Likewise.<POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, usethat 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 indentedtext. 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 0if undefined.(gnat_to_gnu_entity) <case E_Function/Procedure>: Request stackrealignment with force_align_arg_pointer attribute on foreignconvention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.2008-06-13 Olivier Hainque <hainque@adacore.com>* utils.c (rest_of_record_type_compilation): When computingencodings for the components of a variable size type, earlystrip conversions on the current position expression to makesure it's shape is visible. Use remove_conversions for thispurpose.2008-06-12 Eric Botcazou <ebotcazou@adacore.com>* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of aconstrained subtype of a discriminated type, discard the fields thatare 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' entrypoint 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 thequalified union as well.2008-06-09 Arnaud Charlet <charlet@adacore.com>* Make-lang.in: Use -gnatwns instead of -gnatws to make sytylechecks non fatal.2008-06-07 Samuel Tardieu <sam@rfc1149.net>* sem_res.adb (Large_Storage_Type): A type is large if itrequires as many bits as Positive to store its values and itsbounds are known at compile time.* sem_ch13.adb (Minimum_Size): Note that this function returns0 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 specificattribute, parallel descriptive type attached to anothertype for debug info generation purposes.* utils.c (add_parallel_type): New function, registerparallel type to be attached to a type.(get_parallel_type): New function, fetch a registeredparallel type, if any.(rest_of_record_type_compilation): Register the paralleltype 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 theparallel debug types we make.* trans.c (extract_encoding, decode_name): New functions.(gigi): If the DWARF attribute extensions are available, setupto use them.* lang.opt: Register language specific processing requestfor -gdwarf+.* misc.c (gnat_dwarf_extensions): New global variable. How muchdo 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 thecommonuse_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 reformatting2008-05-29 Ed Schonberg <schonberg@adacore.com>* sem_ch6.adb (Analyze_Subprogram_Specification): if the return typeis abstract, do not apply abstractness check on subprogram if this isa renaming declaration.2008-05-29 Arnaud Charlet <charlet@adacore.com>PR ada/864* osint.ads, osint.adb (Program_Name): New parameter "Prog" toallow 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 reformatting2008-05-29 Javier Miranda <miranda@adacore.com>* sem_util.adb:(Abstract_Interface_List): Add missing support for full type-declarationassociated with synchronized types.2008-05-29 Robert Dewar <dewar@adacore.com>* sem_eval.adb (Is_Same_Value): Take care of several more cases2008-05-28 Ed Schonberg <schonberg@adacore.com>* sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymousaccess type, wrap the expression in a conversion to force anaccessibility check.* sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to forceaccessibility checks even when expansion is disabled in order togenerate messages in the presence of previous errors or insemantics-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 inpreprocessing expressions2008-05-28 Vincent Celier <celier@adacore.com>* sinput-p.adb (Source_File_Is_Subunit): Allow special character usedfor preprocessing* sinput-p.ads: Minor comment update and reformatting2008-05-28 Ed Schonberg <schonberg@adacore.com>* sem_res.adb (Valid_Conversion): An anonymous access_to_subprogramtype has a deeper level than any master only when it is the type of anaccess 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 inFind_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): SetEntity 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_EventAdd entry for Ada.Task_Termination.Set_Specific_HandlerAdd 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 allGNAT defined ones2008-05-28 Robert Dewar <dewar@adacore.com>* restrict.adb:(Check_Restriction): violation of restriction No_Finalization istreated as a serious error to stop expansion2008-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 involvingimproper 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 isa constant2008-05-28 Robert Dewar <dewar@adacore.com>* exp_fixd.adb (Build_Multiply): Correct one-off error in computingsize2008-05-28 Robert Dewar <dewar@adacore.com>* exp_ch5.adb:(Expand_Simple_Function_Return): Copy unaligned result into temporary2008-05-28 Javier Miranda <miranda@adacore.com>* sem_ch3.adb (Derive_Progenitor_Primitives): Add missing supportfor 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 reformatting2008-05-27 Bob Duff <duff@adacore.com>* sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of anuntagged private type with a tagged full type, where the full type hasa self reference, create the corresponding class-wide type early, incase 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 includestasks and context is an object declaration. create master entity beforeexpansion.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 reformatting2008-05-27 Vincent Celier <celier@adacore.com>* gnatcmd.adb:<prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack2008-05-27 Ed Schonberg <schonberg@adacore.com>* exp_aggr.adb (Expand_Array_Aggregate): If the aggregate containstasks, create an activation chain now, before the expansion intoassignments and build-in-place calls that require the presence of anactivation chain.(Backend_Processing_Possible): If the component type is inherentlylimited, the aggregate must be expanded into individual built-in-placeassignments.* sem_ch6.adb (Build_Extra_Formals): Use underlying type of result todetermine whether an allocation extra parameter must be built, tohandle case of a private type whose full type is a discriminated typewith 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 byunrestricted_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 finda 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 moreportable across GNAT targets, since this kind of address clause is notsupported 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_Interface2008-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 typeUse component of type Path_Information when there are two paths, one incanonical 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 reformatting2008-05-27 Thomas Quinot <quinot@adacore.com>* sem_res.adb: Minor comment fixes2008-05-27 Thomas Quinot <quinot@adacore.com>* makeutl.adb: Minor code reorganization* exp_aggr.adb: Add ??? commentFix typo* exp_ch6.adb: Minor reformatting2008-05-27 Quentin Ochem <ochem@adacore.com>* s-stausa.adb (Initialize): Updated result initialization, andinitialization of environment stack.(Fill_Stack): Improved computation of the pattern zone, taking intoaccount already filled at the calling point.(Get_Usage_Range): Now uses Min_Measure and Max_Measure instead ofMeasure and Overflow_Guard.(Report_Result): Fixed computation of the result using new fields ofStack_Analyzer.* s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guardparams 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 explicitMin_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 aproject 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 valueof a discriminant for an inherited task component appearing in a typeextension.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 twosources of the same project that have the same object file name.(Find_Explicit_Sources): Always remove a source exception that was notfound.2008-05-27 Thomas Quinot <quinot@adacore.com>* sem_ch3.adb: Minor reformatting2008-05-27 Ed Schonberg <schonberg@adacore.com>* sem_ch6.adb:(Is_Interface_Conformant): Handle properly a primitive operation thatoverrides an interface function with a controlling access result.(Type_Conformance): If Skip_Controlling_Formals is true, when matchinginherited and overriding operations, omit as well the conformance checkon 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 procedure2008-05-27 Vincent Celier <celier@adacore.com>* prj-nmsc.adb:(Check_Library): Allow standard project to be extended as a staticlibrary project.(Get_Mains): Do not inherit attribute Main in an extending libraryproject.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 bya synchronized tagged type, do not attempt to build dispatch table forfull view. The table is built for the corresponding record type, whichhas its own declaration.2008-05-27 Gary Dismukes <dismukes@adacore.com>* sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtypeto the known type entity E, rather than setting it to Any_Type. Fixespossible blowup in function Base_Init_Proc, as called from Freeze_Entityfor 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_File2008-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_Option2008-05-27 Vincent Celier <celier@adacore.com>* xsnames.adb: Remove unused variable Oname2008-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 reformating2008-05-26 Gary Dismukes <dismukes@adacore.com>* exp_ch3.adb (Expand_N_Object_Declaration): Remove checks forNo_Default_Initialization, which is now delayed until the freeze pointof the object. Add a comment about deferral of the check.* freeze.adb (Freeze_Entity): The check for No_Default_Initializationon 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 change2008-05-26 Doug Rupp <rupp@adacore.com>* s-vaflop-vms-alpha.adb:Remove System.IO use clause, to prevent spurious ambiguities whenpackage is access through rtsfind.2008-05-26 Sergey Rybin <rybin@adacore.com>* tree_io.ads (ASIS_Version_Number): Update because of the changesmade in front-end2008-05-26 Ed Schonberg <schonberg@adacore.com>* sem_attr.adb:(Resolve_Attribute, case 'address): S (A .. B)' address can be safelyconverted to S (A)'address only if A .. B is known to be a non-nullrange.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 dummyinit proc entity when there is actual default initialization associatedwith the component type, to avoid spurious errors on objects of scalararray types that are marked Is_Public when No_Default_Initializationapplies.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 runtimelibrary function Get_RACW.(PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtimelibrary function Get_Reference.(PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of goingthrough an intermediate Any.(PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead ofgoing 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 haveattribute 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 haveattribute Is_Internal set to True.(Next_Tag_Component): Simplify assertion using attribute Is_Tag.* sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has beenrenamed as Derive_Progenitor_Subprograms. In addition, its code isa new implementation.(Add_Interface_Tag_Components): Remove special management ofsynchronized interfaces.(Analyze_Interface_Declaration): Minor reformating(Build_Derived_Record_Type): Minor reformating(Check_Abstract_Overriding): Avoid reporting error in case of abstractpredefined primitive inherited from interface type because the body ofinternally generated predefined primitives of tagged types are generatedlater by Freeze_Type(Derive_Subprogram): Avoid generating an internal name if the parentsubprogram overrides an interface primitive.(Derive_Subprograms): New implementation that keeps separate themanagement of tagged types not implementing interfaces, from taggedtypes that implement interfaces.(Is_Progenitor): New implementation.(Process_Full_View): Add documentation(Record_Type_Declaration): Replace call to Derive_Interface_Subprogramsby call to Derive_Progenitor_Subprograms.* sem_ch6.ads (Is_Interface_Conformant): New subprogram.(Check_Subtype_Conformant, Subtype_Conformant): Adding new argumentSkip_Controlling_Formals.* sem_ch6.adb (Is_Interface_Conformant): New subprogram.(Check_Conventions): New implementation. Remove local subprogramSkip_Check. Remove formal Search_From of routine Check_Convention.(Check_Subtype_Conformant, Subtype_Conformant): Adding new argumentSkip_Controlling_Formals.(New_Overloaded_Entity): Enable addition of predefined dispatchingoperations.* sem_disp.ads(Find_Primitive_Covering_Interface): New subprogram.* sem_disp.adb (Check_Dispatching_Operation): Disable registeringthe task body procedure as a primitive of the corresponding taggedtype.(Check_Operation_From_Private_Type): Avoid adding twice an entityto 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 asCollect_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 asCollect_Interfaces.Remove special management for synchronized types. Rename formal. Removeinternal subprograms Interface_Present_In_Parent and Add_Interface.(Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertionon non-record types by code to return false in such case.(Implements_Interface): New subprogram.(Is_Parent): Removed. No special management is now required forsynchronized 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 tothe 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 improvethe management of predefined equality operator. In addition, ifthe type has an equality function corresponding with a primitivedefined in an interface type, the inherited equality is abstractas well, and no body can be created for it.* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved fromexp_util to exp_disp.(Is_Predefined_Interface_Primitive): New subprogram. Returns True ifan entity corresponds with one of the predefined primitives requiredto implement interfaces.Update copyright notice.* exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from thefinal check on abstract subprograms all the primitives associated withinterface primitives because they must be visible in the public andprivate part.(Write_DT): Use Find_Dispatching_Type to locate the name of theinterface type. This allows the use of this routine, for debuggingpurposes, 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 anentity corresponds with one of the predefined primitives required toimplement interfaces.* exp_util.adb (Find_Interface_ADT): New implementation(Find_Interface): Removed.* sprint.adb (Sprint_Node_Actual): Generate missing output for thelist of interfaces associated with nodesN_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 oncondition for assignment to temporary.2008-05-26 Ed Schonberg <schonberg@adacore.com>* exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraintchecks on the upper bound if the index type is a modular type, toprevent wrap-around computations when size is close to upper bound oftype.2008-05-26 Robert Dewar <dewar@adacore.com>* sem_ch3.adb: Minor reformatting2008-05-26 Ed Schonberg <schonberg@adacore.com>* sem_ch12.adb (Remove_Parent): Use specification of instanceto retrieve generic parent,to handle properly the case where the instance is a child unit.Add guard to handle properly wrapper packages.Minor reformatting2008-05-26 Thomas Quinot <quinot@adacore.com>* sinfo.ads: Minor reformatting2008-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 byan 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 taskentry 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 valuefor flag Build_Entry_Names which controls the allocation of the datastructure 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 toenumerations 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 arrayof 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 tocontrol 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_Driver2008-05-26 Ed Schonberg <schonberg@adacore.com>* inline.adb:(Cleanup_Scopes): For a protected operation, transfer finalization listto 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 literal2008-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 setsthe scheduling policy to FIFO within priorities or round-robinrespectively.Hence, the priority must be set in this case to the one selected by theuser.2008-05-26 Ed Schonberg <schonberg@adacore.com>* sem_ch12.adb:(Remove_Parent): If the enclosing scope is an instance whose genericparent is declared within some parent scope of the just completedinstance, make full views of the entities in that parent visible, whenapplicable.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_TRAMPOLINEinstead 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 translatingGNAT 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 markingonly 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 fromfile indicated by attribute Excluded_Source_List_File, when present andneither Excluded_Source_Files nor Locally_Removed_Files are declared.2008-05-23 Robert Dewar <dewar@adacore.com>* exp_dist.adb: Minor reformatting2008-05-23 Ed Schonberg <schonberg@adacore.com>* sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is aslice, convert it to an indexed component, which is equivalent, moreefficient, 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 Intrinsicconvention also allows access to named compiler built-in subprogramssuch 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 andsep. If there are several possibilities, choose the one with thelonger prefix.2008-05-23 Vincent Celier <celier@adacore.com>* gnatlink.adb (Process_Args): Do not disable scanning of ALI file forback end switches when executable specified with --GCC= is same asdefault, even if there are additional options.* gnat_ugn.texi:Document when the back end switches from the ALI file are taken intoaccount 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 acceptfixed 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 intoThin_Common.New constant SIZEOF_fd_setNew flag Has_Sockaddr_LenNew constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6* g-stsifd-sockets.adb(Create): Remove call to Set_Length; use Set_Family to set the familyand (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_setMove common code out of GNAT.Sockets.Thin implementations and intoThin_Common.* g-socket.ads, g-socket.adb:Move common code out of GNAT.Sockets.Thin implementations and intoThin_Common.(Connect_Socket, Accept_Socket): Provide new versions of these tworoutines 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 thatrequire it.* gen-soccon.c:Move common code out of GNAT.Sockets.Thin implementations and intoThin_Common.(SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, definethis constant to 0 (not -1) because we use it to initialize anunsigned_char value.Align values for numeric constants only.Handle the case of systems that do not support AF_INET6.New constant SIZEOF_fd_setNew flag Has_Sockaddr_LenNew constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6* gsocket.h: New flag Has_Sockaddr_LenNew constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in62008-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 thatthe underlying issue with malloc/free has been fixed. Remove associatedcomments.Minor reformatting.Related to PR ada/245332008-05-20 Robert Dewar <dewar@adacore.com>* ali.adb: Correct casing of ASCII.NUL* styleg-c.adb (Check_Identifier): Handle case of names in ASCIIproperly.2008-05-20 Robert Dewar <dewar@adacore.com>Gary Dismukes <dismukes@adacore.com>* checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediateoverflow if result converted to wider integer type.(Apply_Type_Conversion_Checks): Don't emit checks on conversions todiscriminated types when discriminant checks are suppressed.2008-05-20 Vincent Celier <celier@adacore.com>* cstand.adb (Print_Standard): Issue the correct Size clause for typeWide_Wide_Character.2008-05-20 Tristan Gingold <gingold@adacore.com>* decl.c: Do not emit a variable for a object that has an addressrepresentation clause whose value is known at compile time.When a variable has an address clause whose value is known at compiletime, refer to this variable by using directly the address instead ofdereferencing a pointer.2008-05-20 Robert Dewar <dewar@adacore.com>PR ada/30740* einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types andsubtypes, 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 thecase where we have a modular type with a non-binary modules.Comments reformattings.* sem_intr.adb: Simplify code not that Non_Binary_Modulus applies toall types.2008-05-20 Javier Miranda <miranda@adacore.com>* exp_aggr.adb(Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previoustests did not covered the case in which the type of the aggregate hasno 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 thegeneration of a call to Displace when initializing a class-wide object.(Build_Dcheck_Functions): Build discriminant-checking for null variantswhen Frontend_Layout_On_Target is true to ensure that they're availablefor 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 initializationprocedure for a derived type retrieve the discriminant values from theparent using the corresponding discriminant.(Expand_N_Assignment_Statement): Skip generation of implicitif-statement associated with controlled types if we arecompiling 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 andDeclared_In_Interfaces.(Project_Data): New Boolean component Interfaces_Defined* prj-attr.adb:New project level attribute Object_Generated and Objects_LinkedAdd 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 simplename and is not found in the current project, look for it also in theancestors of the project.* prj-makr.adb:Replace procedure Make with procedures Initialize, Process and Finalizeto implement H414-023: process different directories with differentpatterns.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 tothe language configuration.(Process_Project_Level_Array_Attributes): Process new attributesObject_Generated and Object_Linked.(Report_No_Sources): New Boolean parameter Continuation, defaulted toFalse, to indicate that the erreor/warning is a continuation.(Check): Call Report_No_Sources with Contnuation = True after the firstcall.(Error_Msg): Process successively contnuation character and warningcharacter.(Find_Explicit_Sources): Check that all declared sources have been found(Check_File): Indicate in hash table Source_Names when a declared sourceis found.(Check_File): Set Other_Part when found(Find_Explicit_Sources): In multi language mode, check if all exceptionsto the naming scheme have been found. For Ada, report an error if anexception has not been found. Otherwise, disregard the exception.(Check_Interfaces): New procedure(Add_Source): When Other_Part is defined, set mutual pointers in specand body.(Check): In multi-language mode, call Check_Interfaces(Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to Falsefor an excluded source.(Remove_Source): A source replacing a source in the interfaces is alsoin 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 severaltimes. Do not allow an abstract project to extend a non abstractproject.* prj-pp.adb: Use functions Present and No throughout(Print): Take into account the full associative array attributedeclarations.* prj-proc.adb: Use functions Present and No throughout(Expression): Call itself with the same From_Project_Node for thedefault 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 nameand is not found in the current project, look for it also in theancestors of the project.* prj-tree.ads, prj-tree.adb (Present): New function(No): New functionUse 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_Linked2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>* exp_ch6.adb (Expand_Call): Add guard to ensure that both the parentand the derived type are of the same kind.(Expand_Call): Generate type conversions for actuals ofrecord or array types when the parent and the derived types differ insize 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): Avoidgenerating 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 thegeneric dispatching constructor, the type of the first argument may bea 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 ofassigning NULL into the result, to avoid a spurious warning.(Add_RACW_Features, case Same_Scope): Add assertion that designated typeis not frozen.(Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stubtype.(Build_From_Any_Function, Build_To_Any_Function,Build_TypeCode_Function): For a type that has user-specified streamattributes, 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 assignroutines has been replaced by an instantiation ofSystem.Shared_Storage.Shared_Var_Procs generic package, while expandingshared variable declaration.Calls to access and assign routines have been replaced by calls toRead/Write routines of System.Shared_Storage.Shared_Var_Procsinstantiated package.* rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_TableIt identifies the new generic package added in s-shasto.* s-shasto.adb, s-shasto.ads: A new generic package has been added, itis instantiated for each shared passive variable. It providessupporting procedures called upon each read or write access by theexpanded code.* sem_attr.adb:For this runtime unit (always compiled in GNAT mode), we allowstream attributes references for limited types for the case whereshared 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 foreignconvention 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 differentfrom 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 separatearguments into sections.(Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for eachsection, 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 flagTreat_Restrictions_As_Warnings.* switch-c.adb: Recognize new switch -gnatr* usage.adb: Add line for -gnatr2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>* par-ch3.adb(P_Access_Definition): Change the error message when parsing "accessall" in Ada 95 mode. The message no longer forces the user to recompilein 05 mode only to discover that anonymous access types are not allowedto have "all".2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>* par-ch9.adb(P_Protected): Update the error message on missing "-gnat05" switch whenusing interfaces in conjunction with protected types. Remove theincorrect error message associated with the presence of "private" aftera "with".2008-05-20 Ed Schonberg <schonberg@adacore.com>* sem_aggr.adb: Update comments.Improve previous change for PR ada/179852008-05-20 Thomas Quinot <quinot@adacore.com>* sem_cat.adb(Set_Categorization_From_Scope): Do not set In_Remote_Types unless inthe visible part of the spec of a remote types unit.(Validate_Remote_Access_Object_Type_Declaration):New local subprogram Is_Valid_Remote_Object_Type, replacesIs_Recursively_Limited_Private.(Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of allnon-controlling formals (and the return type, even though this is notexplicit in the standard) must support external streaming.(Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: sameas above for of RAS types and RCI subprograms. (The return type is notchecked yet).Update comments related to RACWs designating limited interfaces perARG ruling on AI05-060.* sem_util.ads, sem_util.adb(Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types andIs_Remote_Call_Interface to identify RACW types in a stable andconsistent way. We used to rely in this predicate on the privateness ofthe designated type and its ancestors, but depending on the currentlyvisible private parts, this caused false negatives. We now uniformlyrely 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 conditionrestricting use of predefined assignment with tagged types that haveconvention CPP.(Analyze_Object_Declaration): Relax the check regarding deferredconstants declared in scopes other than packages since they can becompleted with pragma Import.Add missing escaping of all-caps word 'CPP' in error messages.(Build_Discriminated_Subtype): Do not inherit representation clausesfrom parent type if subtype already carries them, because they areinherited earlier during derivation and already include those that maycome 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 deferredconstant 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) whereF is a parameterless function that returns an array, and S is a subtypemark.(Analyze_Call): Insert dereference when the prefix is a parameterlessfunction that returns an access to subprogram and the call hasparameters.Reject a non-overloaded call whose name resolves to denotea primitive operation of the stub type generated to support a remoteaccess-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 bodywhen there is a use clause for the same entity in the context.(Analyze_Subprogram_Renaming): A renaming_as_body is legal if it iscreated 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): Newsubprogram.* sem_type.adb(Add_One_Interp): Ignore any interpretation that is a primitiveoperation of an RACW stub type (these primitives are only executedthrough dispatching, never through static calls).(Collect_Interps): When only one interpretation has been found, set N'sEntity and Etype to that interpretation, otherwise Entity and Etype maystill refer to an interpretation that was ignored by Add_One_Interp,in which case would end up with being marked as not overloaded but withan 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 namedenotes the whole array of its prefix.2008-05-20 Robert Dewar <dewar@adacore.com>* sem_res.adb (Resolve_Op_Not): Warn on double negation2008-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 sourcelocation 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 withAppend.2008-05-20 Robert Dewar <dewar@adacore.com>Vincent Celier <celier@adacore.com>* vms_data.ads: Add entry for -gnatrPut GNAT SYNC section in proper alpha orderAdd VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d* gnat_ugn.texi: Add documentation for new gnatname switch --andUpdate the style checks sectionAdd documentation of -gnatrAdd to the "Adding the Results of Compiler Checks to gnatcheck Output"subsection the explanation how compiler checks should be disabled forgnatcheck.Update the list of Ada 95 reserved words used by in the project languageAdd documentation for project qualifiers.Document that abstract projects may be extended by different projects inthe same project tree.Add documentation for gnatmake switch -d* ug_words: Add -gnatyy VMS equivalence string.Add entry for -gnatr2008-05-20 Bob Duff <duff@adacore.com>* a-rttiev.adb(Set_Handler): Remove code from both of these that implementsRM-D.15(15/2), because it causes a race condition and potentialdeadlock.(Process_Queued_Events): Add comment explaining "exception when others=> null". Add clarifying ".all", even though implicit .all is legalhere.2008-05-20 Arnaud Charlet <charlet@adacore.com>* s-winext.ads: Replace representation clause by pragma Pack. Givesequivalent representation, but has the advantage of allowingcompilation 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 listif 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): Newtype/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>: Accountfor 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 fieldof 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): Addrestrictions 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 localvariables.2008-05-13 Eric Botcazou <ebotcazou@adacore.com>PR ada/24880PR ada/26635* utils.c (convert) <INTEGER_TYPE>: When converting an additiveexpression to an integral type with lower precision, use NOP_EXPRdirectly 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 matchingconstraint 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): RenameDECL_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 qualifiedunion 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 integralmode even if the alignment is not a factor of the original size. Butmake sure to create the inner field with the original size. Reorder.* trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a paddingrecord as always addressable.* utils.c (convert): Deal specially with conversions between originaland packable versions of a record type.* utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive whenrecognizing 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 sizeonly 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 incompletetagged 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 alignmentof 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 computationdoesn'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 sigalstackfunction. Add Alternate_Stack and Alternate_Stack_Size.Add missing process_shared field to pthread_condattr_tand 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 defaultinstead 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'tsupport 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 ofconstant objects, but not exceptions.* trans.c (add_decl_expr): Use gnat_types_compatible_p for typecompatibility test.* utils.c (create_var_decl_1): Likewise.* utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view ofthe 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 thealignment, reset it to zero if it would end up not being greaterthan that of the type.2008-04-18 Eric Botcazou <ebotcazou@adacore.com>* decl.c (maybe_pad_type): Only generate the XVS parallel type ifthe 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 bytarget 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 ofobjects 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 theSocket_Error exception.2008-04-16 Samuel Tardieu <sam@rfc1149.net>PR ada/29015* sem_ch12.adb (Instantiate_Type): Check whether the full view ofthe 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 initializationprocedure for a derived type retrieve the discriminant values fromthe 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 somethingwhich 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 anyprotected operation that matches the signature, not only an entry, aregular 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 onlyif a size or alignment is specified. Do not take into accountalignment 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 ifrequested.* trans.c (Attribute_to_gnu): Fix a couple of nits.* utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditionalstatements. Use the padded view of the type when copying betweenpadded 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 errorto 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_Subprogramdirectly.2008-04-14 Samuel Tardieu <sam@rfc1149.net>PR ada/18680* sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse toapply 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-localsubprogram 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 thatstorage 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 Unixline 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 therenaming information.2008-04-13 Samuel Tardieu <sam@rfc1149.net>PR ada/17985* sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor ofitself.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 restoreenvironment 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 asaccess 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 ifallocator size is 32 and default pointer size is 64.(find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use oflhs type if smaller, whatever the modes.* gigi.h (malloc32_decl): New macro definition* utils.c (init_gigi_decls): New malloc32_declVarious code clean ups.* s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert toTask_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 toTask_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 delayexpires 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 targetuses 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 targetuses descriptors for vtables and the type comes from a dispatch table,build a descriptor in the static case and copy the existing one in thenon-static case.(gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables andthe type is a pointer-to-subprogram coming from a dispatch table,return the null descriptor.<N_Unchecked_Type_Conversion>: If the target uses descriptors forvtables, the source type is the descriptor type and the target typeis a pointer type, first build the pointer.* utils.c (init_gigi_decls): If the target uses descriptors for vtablesbuild 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 forpacking, even if it has an integral mode.<E_Record_Subtype>: Likewise.* trans.c (gnat_to_gnu): Do not require BLKmode for the specialexception 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 optimizingalignment for space, promote the alignment of non-scalar variables withno 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 viewconversion 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 andthe parity. Parameter timeout is now a duration insteadof 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 servicesdirectly 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 declarationotherwise.(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 alternatesignal 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 forthe 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 analternate signal stack for stack overflows.* init.c (__gnat_adjust_context_for_raise, Linux version): On i386 andx86-64, adjust the saved value of the stack pointer if the signal wasraised by a stack checking probe.(HP-UX section): Use global __gnat_alternate_stack as signal handlerstack 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 contextadjustment for PPC && !VTHREADS && !RTP, as required by the zcxpropagation circuitry.(__gnat_error_handler): Second argument of a sigaction handler is apointer, 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 itsaddress into the ATCB if the platform makes use of an alternate signalstack for stack overflows.(Free_Task): Add call to Finalize_Attributes_Link.Add argument Relative_Deadline to pass the value specified forthe task. This is not yet used for any target.* s-tassta.ads (Create_Task): Add argument Relative_Deadline to passthe 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 declarationfrom 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.adsunit 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.adsGet rid of gnatbl.(EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.oFiles mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adbMinor 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 ofASCII.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 complexrenaming.* a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conformto convention for non-RM specs.Add descriptive header, and documented each operationdocument each operation2008-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): Addsubprograms to get and set the relative deadline associated to a task.* exp_attr.adb (May_Be_External_Call): Account for the case where theAccess attribute is part of a named parameter association.(Expand_Access_To_Protected_Op): Test for the attribute occurringwithin an init proc and use that directly as the scope rather thantraversing up to the protected operation's enclosing scope. Only applyassertion 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) asthe 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 theitypes associated with record types (i.e. the implicit full viewof private types).Implement Enum_Val attribute(Expand_N_Attribute_Reference, case Old): Properly handle appearencewithin _Postconditions procedure(Expand_N_Attribute_Reference, case Result): Implement new attribute* exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in whicha return statement calls a function that is not available inconfigurable 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/PostconditionAdd 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 addmissing check because they are not allowed in CPP tagged types.Add Sure parameter to Note_Possible_Modification callsAdd implementation of Invalid_Value attributeImplement new attribute Has_Tagged_ValuesImplement Enum_Val attribute(Analyze_Attribute, case Range): Set Name_Req True for prefix ofgenerated attributes.(Analyze_Attribute, case Result): If prefix of the attribute isoverloaded, it always resolves to the enclosing function.(Analyze_Attribute, case Result): Properly deal with analysis whenPostconditions are not active.(Resolve_Attribute, case Result): Properly deal with appearence duringpreanalysis in spec.Add processing for attribute Result* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanupfor operators.(Analyze_Subprogram_Body): Install private_with_clauses when the bodyacts as a spec.(Check_Inline_Pragma): recognize an inline pragma that appears withinthe subprogram body to which it applies.(Analyze_Function_Return): Check that type of the expression of a returnstatement in a function with a class-wide result is not declared at adeeper level than the function.(Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag(Verify_Overriding_Indicator): Handle properly subprogram bodies foruser- defined operators.(Install_Formals): Moved to spec to allow use from Sem_Prag foranalysis of precondition/postcondition pragmas.(Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name forLast_Formal, along with lots of comments on what this is about(Analyze_Subprogram_Body): Fix case where we move entities from thespec to the body when there are no body entities (now possible withprecondition 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_typeclause.(Pop_Scope): Restore Check_Policy_List on scope exit(Push_Scope): Save Check_Policy_List on scope entryChange name In_Default_Expression => In_Spec_ExpressionChange name Analyze_Per_Use_Expression => Preanalyze_Spec_ExpressionChange 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 spellingof 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 formalsubprograms.(Analyze_Pragma, case Export): If the entity is a deferred constant,propagate information to full view, which is the one elaborated by theback-end.(Make_Inline): the pragma is effective if it applies to an internallygenerated subprogram declaration for a body that carries the pragma.(Analyze_Pragma, case Optimize_Alignment): Set new flagOptimize_Alignment_Local.(Analyze_PPC_In_Decl_Part): New procedure(Get_Pragma_Arg): Moved to outer level(Check_Precondition_Postcondition): Change to allow new visibilityrules for package spec(Analyze_Pragma, case Check_Policy): Change placement rules to besame as pragma Suppress/Unsuppress.Change name In_Default_Expression => In_Spec_ExpressionChange name Analyze_Per_Use_Expression => Preanalyze_Spec_ExpressionChange name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve(Check_Precondition_Postcondition): Do proper visibility preanalysisfor 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 procedureImplement pragmas Check and Check_PolicyMerge Assert processing with Check* sem_warn.adb (Warn_On_Known_Condition): Handle pragma CheckNew warning flag -gnatw.e* sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New functionreturning whether a task (or main procedure) has a pragmaRelative_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 nameInherit_Source_PathAdd entry for 'Invalid_Value attributeAdd entry for new attribute Has_Tagged_ValuesAdd entry for Enum_Val attributeAdd new standard names Aggregate, Configuration and Library.Add _PostconditionsAdd _ResultAdd Pragma_PreconditionAdd Pragma_PostconditionAdd Attribute_ResultNew standard name Archive_Builder_Append_Option(Preset_Names): Add _relative_deadline and relative_deadline definitionsThere was also a missing non_preemptive_within_priorities.(Get_Pragma_Id, Is_Pragma_Name): Add support for pragmaRelative_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 callingsequence* exp_intr.adb (Expand_Source_Info): New Build_Location callingsequence* exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.(Expand_N_Pragma): Call the appropriate procedure for expanding pragmaRelative_Deadline.(Expand_Pragma_Check): New procedure* sinput.ads, sinput.adb (Build_Location_String): Now appends to namebuffer.* sinfo.adb (PPC_Enabled): New flag2008-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): Placeunits 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 flagNew 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 oflimited_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 messagesem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newlycreated class-wide type (to the Parent field of the specific type).(Install_Siblings): Handle properly private_with_clauses on subprogrambodies and on generic units.(Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against anillegal limited_with_clause that names a non-existent package.(Check_Body_Required): Determine whether a unit named a limited_withclause 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 inlibrary record.(Build_Limited_Views): Include task and protected type declarations.* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle thecase of a possible constant redeclaration where the current object isan entry index constant.(Analyze_Object_Declaration): Generate an error in case of CPPclass-wide object initialization.(Analyze_Object_Declaration): Add extra information on warnings fordeclaration of unconstrained objects.(Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoidconflicts with the setting of Stored_Constraint in the case where theaccess type entity has already been created as an E_Incomplete_Type dueto a limited with clause.Use new Is_Standard_Character_Type predicate(Analyze_Object_Declaration): Apply access_constant check only afterexpression has been resolved, given that it may be overloaded withseveral access types.(Constant_Redeclaration): Additional legality checks for deferredconstant declarations tha involve anonymous access types and/or nullexclusion indicators.(Analyze_Type_Declaration): Set Optimize_Alignment flags(Analyze_Subtype_Declaration): Ditto(Analyze_Object_Declaration): Ditto(Analyze_Object_Declaration): Don't count tasks in genericsChange name In_Default_Expression => In_Spec_ExpressionChange name Analyze_Per_Use_Expression => Preanalyze_Spec_ExpressionChange name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve(Process_Discriminants): Additional check for illegal use of defaultexpressions in access discriminant specifications in a type that is notexplicitly limited.(Check_Abstract_Overriding): If an inherited function dispaches on anaccess result, it must be overridden, even if the type is a nullextension.(Derive_Subprogram): The formals of the derived subprogram have thenames and defaults of the parent subprogram, even if the type isobtained from the actual subprogram.(Derive_Subprogram): In the presence of interfaces, a formal of aninherited operation has the derived type not only if it descends fromthe type of the formal of the parent operation, but also if itimplements it. This is relevant for the renamings created for theprimitive operations of the actual for a formal derived type.(Is_Progenitor): New predicate, to determine whether the type of aformal in the parent operation must be replaced by the derived type.* sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Makepredicate recursive to handle components that have a user-definedInitialize procedure. Handle controlled derived types whose ancestorhas a user-defined Initialize procedured.(Note_Possible_Modification): Add Sure parameter, generate warning ifsure modification of constantUse new Is_Standard_Character_Type predicate(Find_Parameter_Type): when determining whether a protected operationimplements an interface operation, retrieve the type of the formal fromthe entity when the formal is an access parameter or ananonymous-access-to-subprogram.Move Copy_Parameter_List to sem_util, for use when building stubbedsubprogram bodies.(Has_Access_Values): Tagged types now return False(Within_HSS_Or_If): New procedure(Set_Optimize_Alignment_Flags): New procedureChange name In_Default_Expression => In_Spec_ExpressionChange name Analyze_Per_Use_Expression => Preanalyze_Spec_ExpressionChange name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve2008-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 withBase (=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 forSystem.OS_Primitives.Change type of various constants, parameters and local variables fromTime 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. Newbody 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 packageConversions_Operations.(Time_Of): Add default parameters for several formals.* Makefile.rtl: Add a-ststopAdd 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 procedurewhich is a simplified version of Install_Handlers that does not storepreviously installed.* s-interr-vxworks.adb: Fix ACATS cxc3001On VxWorks interrupts can't be detached.(Install_Restricted_Handlers): New procedure.* s-interr.ads, s-interr.adb (Install_Restricted_Handlers): Newprocedure.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 therequired services already implemented elsewhere.(Notify_Exception): Delete body, import __gnat_error_handler instead.(Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontextargument passed to the handler, which we need for ZCX propagationpurposes.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 accordingly2008-04-08 Robert Dewar <dewar@adacore.com>* a-strbou.ads, a-strbou.adb (From_String): New procedure (for use byStream_Convert)* sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert setsFOnly2008-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 ofthe 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 generatecode referencing the Offset_To_Top component of the dispatch table'sprologue.(Prim_Ptr): New declaration of access to procedure. Used to avoid theuse of 'address to initialize dispatch table slots.(Size_Func): New component of the TSD. Used by the run-time to call thesize primitive of the tagged type.* checks.adb (Apply_Access_Check): Avoid check when accessing theOffset_To_Top component of a dispatch table.(Null_Exclusion_Static_Checks): If the non-null access type appears in adeferred constant declaration. do not add a null expression, to preventspurious errors when full declaration is analyzed.(Apply_Discriminant_Check): If both discriminant constraints share anode which is not static but has no side effects, do not generate acheck for that discriminant.(Generate_Index_Checks): Set Name_Req to true in call to duplicatesubexpr, 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 specand body of predefined primitives in case of CPP tagged typederivations.(Freeze_Type): Deal properly with no storage pool case(Make_Predefined_Primitive_Specs): Generate specification of abstractprimitive Deep_Adjust if a nonlimited interface is derived from alimited interface.(Build_Dcheck_Functions): Create discriminant-checking functions onlyfor variants that have some component(s).(Build_Slice_Assignment): In expanded code for slice assignment, handleproperly the case where the slice bounds extend to the last value of theunderlying representation.(Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value(Is_Variable_Size_Record): An array component has a static size ifindex bounds are enumeration literals.* exp_disp.adb (Make_DT): Use the first subtype to determine whetheran 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 accessto the entity associated with the parent of Typ. This is done toavoid wrong access when the parent is a private type.(Expand_Interface_Conversion): Improve error message when theconfigurable runtime has no support for dynamic interface conversion.(Expand_Interface_Thunk): Add missing support to interface types inconfigurable runtime.(Expand_Dispatching_Call): remove obsolete code.(Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, andensure that all subtypes and aggregates associated with dispatchtables 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 oof 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.Dispatchingchildren.* exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.(Build_Set_Static_Offset_To_Top): New subprogram. Generates code thatinitializes the Offset_To_Top component of a dispatch table.(Build_Predef_Prims): Removed.(Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims byits 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_Actions2008-04-08 Robert Dewar <dewar@adacore.com>* a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error incomputing Fore when Exp > 02008-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 toFalse.(Update_Mapping_File): Do nothing if No_Mapping_File is True. If thetables were empty before adding entries, open the mapping filewith 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 forbig pointer types* table.ads: Add for Table_Ptr'Storage_Size use 0* types.ads: Add Big_String declarationsAdd Size_Clause of zero for big pointer types2008-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 projectfiles.* gnatcmd.adb: Process switches -eL and --subdirs=(Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and callProgram_Name to get proper tool names when AAMP_On_Target is set.(Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to getAAMP_On_Target set properly for use of GNAAMP tools (this is needed byOsint.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 inprocedure 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 inanother imported project indicate the name of this imported project.(Check_File): When a unit is in two project files, indicate the projectnames and the paths of the source files for each project.(Add_Source): Set Compiled to False if compiler driver is empty. Onlyset 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 notspecified, locate and create if necessary the actual object dir.(Locate_Directory): When Subdirs is not empty and Create is not theempty string, locate and create if necessary the actual directoryas 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 bylibrary 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 nosources, even when this is not declared explicitly.(Check_If_Externally_Built): A virtual project extending an externallybuilt project is also externally built.(Check_Library_Attributes): For a virtual project extending a libraryproject, inherit the library directory.(Process_Project_Level_Array_Attributes): Process new attributeInherit_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 attributeArchive_Builder_Append_Option.* switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=(Normalize_Compiler_Switches): Only keep compiler switches that arepassed to gnat1 by the gcc driver and that are stored in the ALI fileby gnat1.Do not take into account switc -save-temps* makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL ifgprmake 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 attributeInherit_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, forupward compatibility.* prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, puteach Trying ..." on different lines.(Parse_Single_Project): Recognize project qualifiers. Fail in qualifieris "configuration" when not in configuration. Fail when in configurationwhen a specified qualifier is other than "configuration".* prj-proc.adb (Process_Declarative_Items): Link new elements of copiedfull 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 procedure2008-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 forinfo messages as well as style messages.* erroutc.ads: Remove unneeded fields from Specific_Warning_Entry* sem_elab.adb (Supply_Bodies): Create actual bodies for stubbedsubprograms.(Check_A_Call): Special "info: " warnings now have ? in the text(Elab_Warning): Use info message in static case2008-04-08 Ed Schonberg <schonberg@adacore.com>* exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determinewhether an array aggregate with static bounds and scalar componentsshould 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 ofHas_Stream_Attribute_ Definition when checking for available streamattributes on parameters of a limited type in Ada 2005. Necessary forproper recognition of visible stream attribute clauses.(Has_Stream_Attribute_Definition): If the type is derived from aprivate type, then use the derived type's underlying type for checkingwhether it has stream attributes.(Validate_Object_Declaration): The check for a user-defined Initializeprocedure applies also to types with controlled components or acontrolled ancestor.Reject an object declaration in a preelaborated unit if the type is acontrolled type with an overriding Initialize procedure.(Validate_Remote_Access_To_Class_Wide_Type): Return without furtherchecking when the parent of a dereference is a selected component andthe name has not been analyzed.* sem_ch4.adb (Analyze_Selected_Component): Add checking for selectedprefixes that are invalid explicit dereferences of remoteaccess-to-class-wide values, first checking whether the selectedcomponent is a prefixed form of call to a tagged operation.(Analyze_Call): Remove code that issues an error for limited functioncalls in illegal contexts, as we now support all of the contexts thatwere forbidden here.Allow a function call that returns a task.and appears as theprefix of a selected component.(Analyze_Reference): Give error message if we try to make a 'Referencefor an object that is atomic/aliased without its type having thecorresponding attribute.(Analyze_Call): Remove condition checking for attributes to allowcalls to functions with inherently limited results as prefixes ofattributes. Remove related comment about Class attributes.(Analyze_Selected_Component): If the prefix is a remote type, checkwhether this is a prefixed call before reporting an error.(Complete_Object_Operation): If the controlling formal is an access tovariable reject an actual that is a constant or an access to one.(Try_Object_Operation): If prefix is a tagged protected object,retrieveprimitive operations from base type.* exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is abuild-in-placefunction call and call Make_Build_In_Place_Call_In_Anonymous_Context.(Expand_N_Selected_Component): Test for prefix that is a build-in-placefunction call and call Make_Build_In_Place_Call_In_Anonymous_Context.(Expand_N_Slice): Test for prefix that is a build-in-place function calland call Make_Build_In_Place_Call_In_Anonymous_Context.(Analyze_Call): Remove code that issues an error for limited functioncalls in illegal contexts, as we now support all of the contexts thatwere 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_Test2008-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): Thegenerated subprogram declaration must inherit the overriding indicatorfrom the instantiation node.(Validate_Access_Type_Instance): If the designated type of the actual isa limited view, use the available view in all cases, not only if thetype is an incomplete type.(Instantiate_Object): Actual is illegal if the formal is null-excludingand the actual subtype does not exclude null.(Process_Default): Handle properly abstract formal subprograms.(Check_Formal_Package_Instance): Handle properly defaulted formalsubprograms in a partially parameterized formal package.Add Sure parameter to Note_Possible_Modification calls(Validate_Derived_Type_Instance): if the formal is non-limited, theactual cannot be limited.(Collect_Previous_Instances): Generate instance bodies for subprogramsas well.* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don'ttry 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 forconstant overlaid by variable and issue warning.Use new Is_Standard_Character_Type predicate(Analyze_Record_Representation_Clause): Check that the specifiedLast_Bit is not less than First_Bit - 1.(Analyze_Attribute_Definition_Clause, case Address): Check forself-referential address clause* sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite thedetection mechanism when the lhs is a prival.(Analyze_Assignment): Call Check_Unprotected_Access to detectassignment of a pointer to protected data, to an object declaredoutside of the protected object.(Analyze_Loop_Statement): Check for unreachable code after loopAdd Sure parameter to Note_Possible_Modication callsProtect analysis from previous syntax error such as a scope mismatchor a missing begin.(Analyze_Assignment_Statement): The assignment is illegal if theleft-hand is an interface.* sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem checkviolation of restriction No_Implicit_ConditionalsAdd Sure parameter to Note_Possible_Modication callsUse new Is_Standard_Character_Type predicate(Make_Call_Into_Operator): Preserve Comes_From_Source when rewritingcall as operator. Fixes problems (e.g. validity checking) whichcome from the result looking as though it does not come from source).(Resolve_Call): Check case of name in named parameter if style checksare enabled.(Resolve_Call): Exclude calls to Current_Task as entry formal defaultsfrom the checking that such calls should not occur from an entry body.(Resolve_Call): If the return type of an Inline_Always functionrequires the secondary stack, create a transient scope for the callif the body of the function is not available for inlining.(Resolve_Actuals): Apply Ada2005 checks to view conversions of arraysthat are actuals for in-out formals.(Try_Object_Operation): If prefix is a tagged protected object,retrieveprimitive operations from base type.(Analyze_Selected_Component): If the context is a call to a protectedoperation the parent may be an indexed component prior to expansion.(Resolve_Actuals): If an actual is of a protected subtype, use itsbase type to determine whether a conversion to the corresponding recordis 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 comparison2008-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 restrictionNo_Default_Initialization(Expand_N_Subprogram_Body): Remove redundant initialization of outparameters when Normalize_Scalars is active.(Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_CompFix 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 adispatching 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 aselected component from an access type's Associated_Final_Chain tocheck for the presence of that field, rather than assuming it existsfor all named access types.(Make_Clean): New formal Chained_Cleanup_Action allowing to specify aprocedure to call at the end of the generated cleanup procedure.(Expand_Cleanup_Actions): When a new cleanup procedure is generated, andand an At_End_Proc already exists in the handled sequence of statementsfor which cleanup actions are being expanded, the original cleanupaction 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 fordeclarations related to the handling of private data in task andprotected 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 correctstage of expansion.(Build_Simple_Entry_Call): If the task name is a function call, expandthe prefix into an object declaration, and make the surrounding block atask 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 oranonymous access to subprogram, copy the original tree to create newentities for the formals of the subprogram.(Expand_N_Task_Type_Declaration): Create a Relative_Deadline variablefor tasks to store the value passed using pragma Relative_Deadline.(Make_Task_Create_Call): Add the Relative_Deadline argument to therun-time call to create a task.(Build_Wrapper_Spec): If the controlling argument of the interfaceoperation is an access parameter with a non-null indicator, use thenon-null indicator on the wrapper.* sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view whenpresent, which it may not be in the case where the type entity is anincomplete view brought in by a limited with.(Analyze_Task_Type): Only retrieve the full view when present, which itmay not be in the case where the type entity is an incomplete view broughtin by a limited with.(Analyze_Protected_Definition): Set Is_Frozen on all itypes generated forprivate components of a protected type, to prevent the generation of freezenodes 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 atask, 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 valuefor 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/falsecase test to Exp_Util(Expand_Packed_Xor): Move silly true/true case test to Exp_Util2008-04-08 Thomas Quinot <quinot@adacore.com>* exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter namein call(Add_RACW_Features): When processing an RACW in another unit than themain unit, set Body_Decls to No_List to indicate that the bodies ofthe type's TSS must not be generated.(GARLIC_Support.Add_RACW_Read_Attribute,GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies ifBody_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 'Inputat the point where their temporary is declared (as opposed to later onwith a 'Read call).(PolyORB_Support.Build_General_Calling_Stubs):Use the above to determine which parameters to unmarshall using From_Anyat the point where their temporary is declared (as opposed to later onwith an assignment).2008-04-08 Ed Schonberg <schonberg@adacore.com>* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this isan Input function for an access type, do not perform defaultinitialization on the local variable that receives the value, toprevent 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 pureunits.(Size_Known): Generic formal scalar types have known at compiletime 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 error2008-04-08 Robert Dewar <dewar@adacore.com>* gnatbind.adb (Restriction_Could_Be_Set): New procedure(List_Applicable_Restrictions): Do not list existing restrictions2008-04-08 Thomas Quinot <quinot@adacore.com>* g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:add a pointer to generic sockets literaturedo 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 OUTsince this formal is never modified.2008-04-08 Robert Dewar <dewar@adacore.com>* sprint.adb (Write_Itype): Handle Itypes whose Parent field points tothe declaration for some different entity.(Sprint_Node_Actual, case N_Derived_Type_Definition): When an interfacelist is precent (following the parent subtype indication), displayappropriate "and" keyword.* itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_EsizeRemove unnecessary calls to Init_Size_Align and Init_Esize.Add notes on use of Parent field of an Itype2008-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 absstractspecification is actually being overridden. For source navigationpurposes.* sem_ch7.adb (Is_Primitive_Of): use base type to determine whetheroperation is primitive for the type.(Declare_Inherited_Private_Subprograms): If the new operation overridesan inherited private subprogram, set properly the Overridden_Operationattribute, for better cross-reference information.(Analyze_Package_Specification): Do late analysis of spec PPCs(Install_Private_Declaration, Uninstall_Declarations): Save/restoreproperly the full view and underlying full views of a private type in achild unit, whose full view is derived from a private type in a parentunit, and whose own full view becomes visible in the child body.* sem_disp.adb (Check_Dispatching_Operation): When a body declares aprimitive operation after the type has been frozen, add an explicitreference to the type and the operation, because other primitivereferences have been emitted already.(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing adispatching 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_Calledis True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".(Insert_Project_Sources): Take into account index in multi-unit sourcefiles.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 sourcesof 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 onlyfile names.* makeutl.ads (Path_Or_File_Name): New function(Path_Or_File_Name): New function2008-04-08 Arnaud Charlet <charlet@adacore.com>* Make-lang.in: Disable warnings during first stage of bootstrapGet rid of gnatbl.Update dependencies.2008-04-08 Vincent Celier <celier@adacore.com>* mlib-prj.adb (Build_Library): Compare with ALI file name in canonicalcase to decide if ALI object file is included in library.(Build_Library): Never attempt to build a library if the project isexternally 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): Improvedocumentation.Update comments.(Read_Default_Search_Dirs): Do not consider spaces as path separatorsbecause spaces may be part of legal paths.2008-04-08 Robert Dewar <dewar@adacore.com>* par-ch11.adb (P_Exception_Handler): Check indentation level forhandler2008-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 orprivate type extension.2008-04-08 Vincent Celier <celier@adacore.com>* prj-util.adb (Executable_Of): New String parameter Language. WhenAda_Main is False and Language is not empty, attempt to remove the bodysuffix or the spec suffix of the language to get the base of theexecutable file name.(Put): New Boolean parameter Lower_Case, defauilted to False. WhenLower_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 False2008-04-08 Robert Dewar <dewar@adacore.com>* scng.adb (Scan_Identifier): Handle case of identifier starting withwide character using UTF-8 encoding.2008-04-08 Javier Miranda <miranda@adacore.com>* sem.adb (Analyze): Consider case in which we analyze an empty nodethat was generated by a call to a runtime function that is notavailable under the configurable runtime.* sem.ads (Inside_Freezing_Actions): New flag.(Save_Check_Policy_List): New field in scope stack entry2008-04-08 Ed Schonberg <schonberg@adacore.com>Robert Dewar <dewar@adacore.com>* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks forthe ancestor part of an extension aggregate for a limited type.(Resolve_Array_Aggregate): Issue warning for sliding of aggregate withenumeration index bounds.(Resolve_Array_Aggregate): Add circuit for diagnosing missing choiceswhen array is too short.(Check_Expr_OK_In_Limited_Aggregate): Move functionCheck_Non_Limited_Type from Resolve_Record_Aggregate to top level (andchange name).(Resolve_Array_Aggregate.Resolve_Aggr_Expr):Check_Expr_OK_In_Limited_Aggregates called to check for illegal limitedcomponent associations.(Check_Non_Limited_Type): Moved to outer level and renamed.(Resolve_Record_Aggregate): In an extension aggregate, an associationwith a box initialization can only designate a component of theextension, not a component inherited from the given ancestor* sem_case.adb: Use new Is_Standard_Character_Type predicate2008-04-08 Robert Dewar <dewar@adacore.com>* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero withnegative scale(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)Properly handle case where Aft > Scale and input number is less thanone.2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>* s-stoele.ads, s-soflin.ads: Move the location ofDummy_Communication_Block from System.Storage_Elements toSystem.Soft_Links.* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block toemulate 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): Newsubprogram.Add new subtype S_WWC, unchecked conversion routines From_WWC andTo_WWC.(I_WWC, O_WWC): New routines for input and output ofWide_Wide_Character.2008-04-08 Robert Dewar <dewar@adacore.com>* stringt.adb (Write_String_Table_Entry): Handle wide charactersproperly2008-04-08 Robert Dewar <dewar@adacore.com>* styleg.adb (Check_Comment): Allow special char after -- innon-end-of-line case2008-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 options2008-04-08 Sergey Rybin <rybin@adacore.com>* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Auxto 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 forUse_Error, as specified in the RM. Check if directory is open and raiseUse_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 whenAAMP_On_Target is set.* vms_data.ads: Add NOxxx to style check switch listAdd entry COMPONENTS for -gnatVeAdd VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=(/SUBDIRS=).(GCC_Switches): Add /ALL_BACK_END_WARNINGS.Add qualifiers for gnatmetric coupling optionsAdd note that -gnata enables all checksAdd entries [NO]PARAMETER_ORDER for -gnatw.p[P]Fix inconsistency for VMS qualifier for the gnatpp '-rnb' optionNew warning flag -gnatw.e* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyyAdd entry for -gnatyN (forgotten before)Line for new warning switch -gnatw.pNew warning flag -gnatw.e* gnat_ugn.texi: Add documentation fpr project file switch -aPDocument -gnaty - + yReplace occurences of "package specification" with "package spec"Define preprocessing symbols in documentation of gnatprepClarify reason for distinguishing overflow checkingAdd documentation for project-aware tool switches -eL and --subdirs=Complete list of configuration pragmasSpecify that, even when gnatmake switch -x is used, mains on the commandline need to be sources of project files.Editing of gnatcheck/gnatmetric doc.Add documentation for -gnatw.p/-gnatw.PAdd missing documentation for -fno-inline-functions.Add documentation for -gnatw.e* gnat_rm.texi: Add documentation for No_Default_InitializationReplace occurences of "package specification" with "package spec"Document use of * in Warnings Off stringUpdate documentation of alignment/component clauses.Add documentation for Invalid_ValueDocument new consistency rule for Optimize_AlignmentAdd documentation for Precondition and Postcondition pragmasAdd documentation for Check and Check_Policy pragmasDocument new Enum_Val attributeRemove requirement for static string in pragma AssertAdd documentation on GNAT.Time_Stamp* ug_words: add entry for -gnatVeAdd entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDERAdd entry for -gnatw.e* debug.adb: Add missing documentation for d.a flagDocument new -gnatd.a switch.Add documentation for new gnatmake debug switch -df2008-04-08 Thomas Quinot <quinot@adacore.com>* gen-soccon.c: Bump year in copyright notices.* g-soccon-vxworks.ads: Add new constant IP_PKTINFO2008-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 formalsCleanup and simplify codeUse named notation in calls* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation inconfusing 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 call2008-04-08 Ed Schonberg <schonberg@adacore.com>* binde.adb (Gather_All_Links, Gather_Dependencies): units that arementioned in limited_with_clauses to do create semantic dependencieseven though they appear in the ali file.2008-04-08 Emmanuel Briot <briot@adacore.com>* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable returnstatement.(Get_Configuration): New subprogram.* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_TreeThese optional parameters help preserve the casing of the project's namewhen 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 errormessages on .NET, since some constructs of the language are notproperly 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 toilasm.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 todetect 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): Newconstant 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 withthe same name. Note that on the Ada side we use a bitfield array for the affinity mask. There is not needfor the C macro for setting individual bit.(pthread_setaffinity_np): New imported routine.* Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adbon 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 withReturn by Depressed Stack Pointer.2008-04-06 Eric Botcazou <ebotcazou@adacore.com>* decl.c (is_variable_size): Do not unconditionally return falseon non-strict alignment platforms.2008-04-06 Eric Botcazou <ebotcazou@adacore.com>* decl.c (rest_of_type_decl_compilation_no_defer): New local functionused to process all the variants of the specified type.(gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeraltypes 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 whosetype has self-referential size, get the size from the initializingexpression directly if it is also a constant whose nominal typehas 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 andIP_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-nullsize 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 vslhs/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 commenttypos.2008-03-27 Eric Botcazou <ebotcazou@adacore.com>* decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flagif 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 file2008-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. Updatecomments.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: Addnew constants SO_REUSEPORT and IP_PKTINFO2008-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 priorityor 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.vAdd debug flag .T (Optimize_Alignment (Time))Add debug flag .S (Optimize_Alignment (Space))* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Componentsdepending on setting of relevant debug flags.Replace use of Warnings_Off by Has_Warnings_Off(Freeze_Entity): In circuit for warning on suspicious conventionactuals, do not give warning if subprogram has same entity as formaltype, or if subprogram does not come from source.(Freeze_Entity): Don't reset Is_Packed for fully rep speced recordif Optimize_Alignment set to Space.* frontend.adb: Add call to Sem_Warn.InitializeAdd call to Sem_Warn.Output_Unused_Warnings_Off_WarningsReset Optimize_Alignment mode from debug switches .S and .T* layout.adb (Layout_Composite_Object): Rewritten forOptimize_Aligment pragma.* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignmentmode.* 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 accomodatethis 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_TypeAdd implementation of pragma Optimize_Alignment2008-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 fill2008-03-26 Robert Dewar <dewar@adacore.com>* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problemwith 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 order2008-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 function2008-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 asnon-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 used2008-03-26 Ed Schonberg <schonberg@adacore.com>* exp_aggr.adb (Replace_Type): When checking for self-reference, verifythat the prefix of an attribute is the type of the aggregate beingexpanded.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 withattribute 'Unrestricted_Access is a subprogram entity then replace itby 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 toNew_Internal_Entity by call to Create_Itype to centralize callsbuilding itypes, ad propagate the convention of the designatedsubprogram. In addition, disable the machinery cleaning constantindications from all entities in current scope when 'Unrestricted_Accesscorresponds with a node initializing a dispatch table slot.(Analyze_Attribute): Parameterless attributes returning a string or atype will not be called with improper arguments, so we can remove junkcode that was dealing with this case.Implement attribute Old* snames.ads, snames.h, snames.adb: Add entries for attribute OldAdd entry for pragma Optimize_AlignmentNew standard names Sync and Synchronize2008-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 raisestmt.(No_Exception_Propagation_Active): New function.(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.Update comments, and review all uses of No_Exception_Propagation, whichare now correct and in sync with what gigi expects.* restrict.ads, restrict.adb (No_Exception_Propagation_Active): Newfunction.(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.Update comments, and review all uses of No_Exception_Propagation, whichare 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 returnresult of a protected function, create an itype reference for itbecause usage will be in an inner scope from the point of declaration.(Build_Derived_Record_Type): Inherit Reverse_Bit_Order andOK_To_Reorder_Components.(Make_Index): If an overloaded range includes a universal integerinterpretation, resolve to Standard.Integer.(Analyze_Subtype_Indication): Copy Convention to subtype(Check_Abstract_Interfaces): Complete semantic checks on the legality oflimited an synchronized progenitors in type declaration and privateextension declarations.* exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is aprotected subprogram body, determine proper scope from subprogramdeclaration.2008-03-26 Robert Dewar <dewar@adacore.com>* exp_ch4.adb (Expand_N_Op_Concat): Remove special tests forNo_Run_Time_Mode2008-03-26 Gary Dismukes <dismukes@adacore.com>* exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generationof a heap allocator for a limited unconstrained function return whenresstriction No_Allocators is active.(Analyze_Allocator): The restriction No_Allocators is now only checkedon allocators that have Comes_From_Source set, as per RM-H.4(7).* sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generationof a heap allocator for a limited unconstrained function return whenresstriction No_Allocators is active.(Analyze_Allocator): The restriction No_Allocators is now only checkedon 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 theoperands are fixed-point types, the universal_fixed predefined operationis used, regardless of whether the operand type (s) have a primitiveoperation of the same name.2008-03-26 Javier Miranda <miranda@adacore.com>* exp_disp.adb (Make_DT, Make_Secondary_DT): Set attributeIs_Static_Dispatch_Table(Build_Dispatch_Tables): Replace calls to Exchange_Entities() by callsto Exchange_Declarations to exchange the private and full-view. Bugfound working in this issue.(Expand_Dispatching_Call): Propagate the convention of the subprogramto the subprogram pointer type.(Make_Secondary_DT): Replace generation of Prim'Address byAddress (Prim'Unrestricted_Access)(Make_DT): Replace generation of Prim'Address byAddress (Prim'Unrestricted_Access)(Make_Disp_*_Bodies): When compiling for a restricted profile, usesimple call form for single entry.(Make_DT): Handle new contents of Access_Disp_Table (access to dispatchtables of predefined primitives).(Make_Secondary_DT): Add support to handle access to dispatch tables ofpredefined primitives.(Make_Tags): Add entities to Access_Dispatch_Table associated withaccess to dispatch tables containing predefined primitives.* exp_ch6.adb (N_Pragma): Chars field removed, use Chars(Pragma_Identifier (.. instead, adjustments throughout to accomodatethis change.(Register_Predefined_DT_Entry): Updated to handle the new contentsof attribute Access_Disp_Table (pointers to dispatch tables containingpredefined primitives).* exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): Newsubprogram.(Find_Interface_ADT): Updated to skip the new contents of attributeAccess_Dispatch_Table (pointers to dispatch tables containing predefinedprimitives).* sem_util.adb (Has_Abstract_Interfaces): Add missing support forconcurrent types.(Set_Convention): Use new function Is_Access_Subprogram_Type(Collect_Interfaces_Info): Updated to skip the new contents of attributeAccess_Dispatch_Table (pointers to dispatch tables containing predefinedprimitives).* exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improveexpanded code avoiding calls to Build_Predef_Prims.(Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoidingcall 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 centralizedsubprogram Corresponding_Runtime_Package to know the runtime packagethat 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): Codecleanup using the new centralized subprogram Corresponding_RuntimePackage to know the runtime package that provides support toa given protected type.2008-03-26 Ed Schonberg <schonberg@adacore.com>* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the componentassignment is within the initialization procedure for a packed array,and Initialize_Scalars is enabled, compile right-hand side with checksoff, 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.wAdd qualifier for gnatstub --header-file optionAdd 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 list2008-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: ReplaceRaise_Exception by "raise with" construct.2008-03-26 Pascal Obry <obry@adacore.com>* Makefile.in: Add proper GNAT.Serial_Communications implementation onsupported 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 accesstype 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 raisea program error exception.* g-sercom-mingw.adb, g-sercom-linux.adb: Windows andGNU/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 forunchecked conversion for different conventions only for subprogrampointers or on VMS.2008-03-26 Vincent Celier <celier@adacore.com>* osint-c.adb (Set_Library_Info_Name): Use canonical case file namesto 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 onComes_From_Source to exclude primitives from being checked. We want toexclude predefined primitives only, so use the appropriate specificpredicate. Also, flag a formal parameter of an anonymousaccess-to-subprogram type as illegal for a primitive operation of aremote access to class-wide type.2008-03-26 Vincent Celier <celier@adacore.com>* prj-dect.adb (Parse_Package_Declaration): When a package name is notknown, check if it may be a missspelling of a known package name. Innot verbose, not mode, issue warnings only if the package name is apossible 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 nonlimited withs or limited withs are parse during one call.(Parse_Single_Project): Post parse context clause in two passes: nonlimited withs before current project and limited withs after currentproject.* prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extendedproject with the name With_Name, even if it is only extended indirectly.(Recursive_Process): Process projects in order: first single withs, thencurrent project, then limited withs.* prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extendedproject 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 error2008-03-26 Ed Schonberg <schonberg@adacore.com>* sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context isa generic subprogram that is imported, do not attempt to compilenon-existent body.* sem_ch12.adb (Instantiate_Subprogram_Body): if the generic isimported, do not generate a raise_program_error for the non-existentbody.(Pre_Analyze_Actuals): If an error is detected during pre-analysis,perform minimal name resolution on the generic to avoid spuriouswarnings.(Find_Actual_Type): the designated type of the actual in a child unitmay 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 flag2008-03-26 Ed Schonberg <schonberg@adacore.com>* sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check onoperations that have an interface parameter.(Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flagDon't treat No_Return call as raise.* sem_disp.adb (Check_Dispatching_Operations): apply check fornon-primitive interface primitives to access parameters, not to allparameters of an access type.2008-03-26 Ed Schonberg <schonberg@adacore.com>* sem_ch7.adb (Install_Parent_Private_Declarations): If the privatedeclarations of a parent unit are made visible when compiling a childinstance, the parent is not a hidden open scope, even though it maycontain other pending instance.* sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is ahidden open scope for some child instance, it does affect thevisibility status of other stach entries.(Analyze_Object_Renaming): Check that a class-wide object cannot berenamed as an object of a specific type.2008-03-26 Robert Dewar <dewar@adacore.com>* sem_res.adb (Check_Infinite_Recursion): Diagnose definite infiniterecursion and raise SE directly.(Resolve_Actuals): Reset Never_Set_In_Source if warnings off isset 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): Ditto2008-03-26 Vincent Celier <celier@adacore.com>* a-direct.adb (Start_Search): Raise Use_Error if the directory is notreadable.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 overriding2008-03-26 Robert Dewar <dewar@adacore.com>* g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized2008-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 pragma2008-03-26 Robert Dewar <dewar@adacore.com>* alloc.ads: Add entries for Warnings_Off_Pragmas table2008-03-26 GNAT Script <nobody@adacore.com>* Make-lang.in: Makefile automatically updated2008-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 fieldremoved, use Chars (Pragma_Identifier (.. instead, adjustmentsthroughout to accomodate this change.* s-pooglo.ads, s-pooloc.ads: Minor comment updates* exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (notEinfo.Set_Needs_Debug_Info)2008-03-26 Robert Dewar <dewar@adacore.com>* gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.WAdd description for the new gnatstub option '--header-file'clarification of -gnatwz/-gnatwZAdd a "Irix-Specific Considerations" section to document the need toset 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 generatesmessages that are not suppressed when clients are compiled.Add documentation of s-pooglo s-poolocDocument the new GNAT.Serial_Communications API.Add documentation for 'Old attributeAdd 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>Revert2008-03-05 Eric Botcazou <ebotcazou@adacore.com>PR ada/35186* decl.c (maybe_pad_type): Avoid padding an integral type whenbumping 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 filenameunconditionally to gnat_ugn.info. Fix cross references to theGNAT 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 armsare addressable.(gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.(call_to_gnu): Do not use name reference in the error messagefor a misaligned by_reference_parameter. The actual may be ageneral 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 whereappropriate.* 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 typeof 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 notbother 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 forceBIGGEST_ALIGNMENT when capping the alignment of records withstrict 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 -Wunusedand -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 sufficientlyaligned bit-fields, bumping the alignment of the record type if deemedprofitable.(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 supportfor 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 labelfrom that of the front-end's end label.(gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward gotofrom that of the loop label.2008-03-07 Eric Botcazou <ebotcazou@adacore.com>* decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Addcomment for the packed array type case.* utils.c (build_template): Use a loop to strip padding orcontaining records for justified modular types.2008-03-07 Eric Botcazou <ebotcazou@adacore.com>* decl.c (gnat_to_gnu_entity): Issue a warning on suspiciouslylarge 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 ofthe component for packing, if possible, as well as if a componentsize clause is specified.<E_Record_Subtype>: For an array type used to implement a packedarray, 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 thesize is too large for an integral mode, attempt to shrink the sizeby 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 theparameter is by-reference. Do the conversion actual type -> nominaltype if the nominal type is a larger record.(gnat_to_gnu): Do not require integral modes on the source type toavoid the conversion for types with identical names.(addressable_p): Add gnu_type parameter. If it is specified, do notreturn 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 whenbumping 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 copyrightstatement.* 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 sourcecode 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): Checkthat underlying type is present.2008-02-26 Tom Tromey <tromey@redhat.com>* misc.c (internal_error_function): Remove test ofUSE_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 ofplain characters `C', use `@samp{C}'.* gnat_ugn.texi (File Naming Rules, About gnatkr)(Krunching Method): Likewise.* gnat_ugn.texi (Conventions): List environment variables andmetasyntactic 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 @sampinstead 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 errorsin 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 notuse @code for IEEE.* gnat_rm.texi (Aggregates with static bounds): Fix typo in codesample.* 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 andPTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Addpragma 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 typeif 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_EXPRin 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 renamingsbefore 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 onlywhen 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 issuesinto 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 alignmentfor 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 forsysconf call.(bit_field): New packed boolean type used by cpu_set_t.(cpu_set_t): New type corresponding to the C type withthe same name. Note that on the Ada side we use a bitfield array for the affinity mask. There is not needfor 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 immediateI/O.PR ada/34644* env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missingclearenv().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 copyrightnotice and this notice are preserved.
Go to most recent revision | Compare with Previous | Blame | View Log
