aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-08-14re PR c++/27211 (Bogus error "template definition of non-template" when ↵Paolo Carlini1-1/+1
there is no non-template) /cp 2007-08-14 Paolo Carlini <pcarlini@suse.de> PR c++/27211 * decl2.c (check_classfn): Return error_mark_node in case of error; in that case, do not call add_method. * decl.c (start_decl): Deal with check_classfn returning error_mark_node. (grokfndecl): Likewise. * pt.c (tsubst_friend_function): Likewise. /testsuite 2007-08-14 Paolo Carlini <pcarlini@suse.de> PR c++/27211 * g++.dg/template/error27.C: New. * g++.dg/template/error28.C: New. * g++.dg/other/pr28304.C: Adjust. * g++.old-deja/g++.mike/p811.C: Likewise. From-SVN: r127493
2007-08-14re PR c++/27211 (Bogus error "template definition of non-template" when ↵Paolo Carlini8-20/+44
there is no non-template) /cp 2007-08-14 Paolo Carlini <pcarlini@suse.de> PR c++/27211 * decl2.c (check_classfn): Return error_mark_node in case of error; in that case, do not call add_method. * decl.c (start_decl): Deal with check_classfn returning error_mark_node. (grokfndecl): Likewise. * pt.c (tsubst_friend_function): Likewise. /testsuite 2007-08-14 Paolo Carlini <pcarlini@suse.de> PR c++/27211 * g++.dg/template/error27.C: New. * g++.dg/template/error28.C: New. * g++.dg/other/pr28304.C: Adjust. * g++.old-deja/g++.mike/p811.C: Likewise. From-SVN: r127492
2007-08-14tree-pass.h (PROP_pta): Removed.Daniel Berlin18-92/+86
2007-08-14 Daniel Berlin <dberlin@dberlin.org> * tree-pass.h (PROP_pta): Removed. (TODO_rebuild_alias): New. (pass_may_alias): Removed. * tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild aliasing if we changed something. * tree-ssa-alias.c (compute_may_aliases): Make non-static. Update SSA internally. (pass_may_alias): Removed. (create_structure_vars): Return TODO_rebuild_alias. * tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias. * tree-sra.c (tree_sra): Only rebuild aliasing if something changed. (tree_sra_early): We never affect aliasing right now. * tree-flow.h (compute_may_aliases): New prototype. * passes.c: Remove pass_may_alias from the passes. (execute_function_todo): Support TODO_rebuild_alias. From-SVN: r127491
2007-08-14i386.c: (legitimize_address): Move dllimported variable check infront of ↵Kai Tietz2-3/+8
legitimizing... * i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing pic address of CONST symbols. From-SVN: r127488
2007-08-14re PR tree-optimization/32941 (Bootstrap comparison failure)Steve Ellcey3-23/+51
PR tree-optimization/32941 * tree-eh.c (struct leh_tf_state): Add goto_queue_map field. (goto_queue_cmp): Remove. (find_goto_replacement): Change search method. (maybe_record_in_goto_queue): Add assert. (lower_try_finally): Remove qsort call, add pointer_map_destroy call. * Makefile.in (tree-eh.o): Add pointer-set.h dependency. From-SVN: r127487
2007-08-14alias.c (component_uses_parent_alias_set): Constify.Kaveh R. Ghazi28-102/+308
* alias.c (component_uses_parent_alias_set): Constify. * alias.h (component_uses_parent_alias_set): Likewise. * cfgrtl.c (print_rtl_with_bb): Likewise. * double-int.c (tree_to_double_int, double_int_fits_to_tree_p, mpz_get_double_int): Likewise. * double-int.h (double_int_fits_to_tree_p, tree_to_double_int, mpz_get_double_int): Likewise. * expr.c (is_aligning_offset, undefined_operand_subword_p, mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset): Likewise. * expr.h (safe_from_p): Likewise. * gimple-low.c (try_catch_may_fallthru, block_may_fallthru): Likewise. * gimplify.c (should_carry_locus_p, zero_sized_field_decl, zero_sized_type, goa_lhs_expr_p): Likewise. * omp-low.c (is_variable_sized, use_pointer_for_field): Likewise. * rtl.h (print_rtl_with_bb): Likewise. * sched-vis.c (print_exp, print_value, print_pattern): Likewise. * tree-cfg.c (const_first_stmt, const_last_stmt): New. * tree-flow-inline.h (bb_stmt_list): Constify. (cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev, cbsi_stmt): New. * tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last, const_first_stmt, const_last_stmt): New. (block_may_fallthru, empty_block_p): Constify. * tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY, EXPR_ONLY_BODY): New. (expr_first, expr_last, expr_only): Use macro for body. (const_expr_first, const_expr_last, const_expr_only): New. * tree-iterator.h (const_tree_stmt_iterator, ctsi_start, ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next, ctsi_prev, ctsi_stmt): New. * tree-scalar-evolution.c (get_loop_exit_condition): Constify. * tree-scalar-evolution.h (get_loop_exit_condition): Likewise. * tree-ssa-loop-niter.c (loop_only_exit_p, derive_constant_upper_bound): Likewise. * tree-ssa-phiopt.c (empty_block_p): Likewise. * tree-ssa-threadupdate.c (redirection_block_p): Likewise. * tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise. * tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise. * tree-vrp.c (vrp_bitmap_equal_p): Likewise. * tree.c (get_type_static_bounds): Likewise. * tree.h (const_expr_first, const_expr_last, const_expr_only): New. (get_type_static_bounds): Constify. From-SVN: r127483
2007-08-14re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu ↵Rask Ingemann Lambertsen7-11/+244
flags from addl) PR target/30315 * config/i386/i386.h (CANONICALIZE_COMPARISON): New. * config/i386/i386.md (plusminus)(addsub)(SWI): New. (*<addsub><mode>3_cc_overflow): New. (*add<mode>3_cconly_overflow): New. (*sub<mode>3_cconly_overflow): New. (*<addsub>si3_zext_cc_overflow): New. * config/i386/predicates.md (fcmov_comparison_operator): Accept CCCmode for LTU, GTU, LEU and GEU. (ix86_comparison_operator): Likewise. (ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode. * gcc/config/i386/i386.c (put_condition_code): Support CCCmode. (ix86_cc_mode): Use CCCmode when testing for overflow of PLUS or MINUS expressions. testsuite/ PR target/30315 * gcc.target/i386/pr30315.c: New. From-SVN: r127481
2007-08-14re PR fortran/32594 (substring simplification leads to ICE)Francois-Xavier Coudert5-10/+80
PR fortran/32594 * trans-expr.c (gfc_conv_substring_expr): Only call gfc_conv_substring if expr->ref is not NULL. * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring expression might be a constant. (gfc_simplify_expr): Handle missing start and end, as well as missing ref. * gfortran.dg/substr_5.f90: New test. From-SVN: r127478
2007-08-14re PR c/30428 (vector float | vector float is accepted)Andrew Pinski7-2/+70
2007-08-14 Andrew Pinski <pinskia@gmail.com> PR c/30428 * c-typeck.c (build_binary_op): Disallow vector float types with BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR. 2007-08-14 Andrew Pinski <pinskia@gmail.com> PR c++/30428 * typeck.c (build_binary_op): Disallow vector float types with BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR. 2007-08-14 Andrew Pinski <pinskia@gmail.com> PR c/30428 * gcc.dg/vector-2.c: New test. PR c++/30428 * g++.dg/ext/vector8.C: New test. From-SVN: r127477
2007-08-14ResyncArnaud Charlet1-0/+1406
From-SVN: r127476
2007-08-14Minor reformatting.Arnaud Charlet5-23/+17
Update comments. From-SVN: r127475
2007-08-14(Write_Eol): Remove trailing spaces before writing the lineArnaud Charlet1-20/+32
(Write_Eol): Remove trailing spaces before writing the line (Write_Eol_Keep_Blanks): New procedure to write a line, including possible trailing spaces. (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line Fix problem with suppressing warning messages from back end Improve handling of deleted warnings From-SVN: r127474
2007-08-14(Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines ↵Arnaud Charlet1-2/+24
which have changed between VxWorks 5 and 6. (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6. (Int_Lock, Int_Unlock): New function, thin binding to kernel routines which are not callable from a RTP. From-SVN: r127473
2007-08-14(Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):Arnaud Charlet1-0/+15
New functions. From-SVN: r127472
2007-08-14(Check_References.Publicly_Referenceable): A formal parameter is never ↵Arnaud Charlet1-303/+893
publicly referenceable outside of its body. (Check_References.Publicly_Referenceable): A formal parameter is never publicly referenceable outside of its body. (Check_References): For an unreferenced formal parameter in an accecpt statement, use the same warning circuitry as for subprogram formal parameters. (Warn_On_Unreferenced_Entity): New subprogram, taken from Output_Unreferenced_Messages, containing the part of that routine that is now reused for entry formals as described above. (Has_Pragma_Unreferenced_Check_Spec): New function (Check_References): Clean up handling of unmodified IN OUT parameters From-SVN: r127471
2007-08-14(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and ↵Arnaud Charlet1-86/+57
N_Procedure_Call_Statement. (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Procedure_Call_Statement. (takes_address): Rename to lvalue_required_p, add third parameter 'aliased' and adjust recursive calls. <N_Indexed_Component>: Update 'aliased' from the array type. <N_Selected_Component>: New case. <N_Object_Renaming_Declaration>: New Likewise. (Identifier_to_gnu): Adjust for above changes. (maybe_stabilize_reference) <CONST_DECL>: New case. From-SVN: r127470
2007-08-14(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI...Arnaud Charlet1-37/+18
(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more descriptive of the current use of the predicate, and update documentation. From-SVN: r127469
2007-08-14exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.Arnaud Charlet1-63/+116
* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal. (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ Prim_Op_Count by Max_Predef_Prims. From-SVN: r127468
2007-08-14[multiple changes]Arnaud Charlet43-2651/+3277
2007-08-14 Geert Bosch <bosch@adacore.com> * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads, s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: Add required linker pragmas for automatically linking with the gnalasup linear algebra support library, and the systems math library. Rename cdot to cdotu and zdot to zdotu. Update header comment to describe purpose of package. 2007-08-14 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Final_List): For an anonymous access type that has an explicitly specified Associated_Final_Chain, use that list. (Expand_N_Package_Body): Build dispatch tables of library level tagged types. (Expand_N_Package_Declaration): Build dispatch tables of library level tagged types. Minor code cleanup. 2007-08-14 Vincent Celier <celier@adacore.com> * gnatchop.adb (Terminate_Program): Remove exception and use Types.Terminate_Program instead. * osint.ads, osint.adb (Current_Exit_Status): New global variable (Find_Program_Name): Added protection against empty name. (OS_Exit_Through_Exception): New procedure * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body (OS_Exit_Default): New procedure that contains the previous implementation of procedure OS_Exit. (Final_Value): Remove obsolete Interix stuff. 2007-08-14 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Reorganize example code so that it also works on Windows XP. 2007-08-14 Tristan Gingold <gingold@adacore.com> * g-trasym.ads: AIX now supports symbolic backtraces. 2007-08-14 Ed Schonberg <schonberg@adacore.com> * lib-load.adb (From_Limited_With_Chain): Always scan the stack of units being loaded to detect circularities. A circularity may be present even if the current chain of pending units to load starts from a limited_with_clause. * lib-load.ads: Change profile of Load_Unit to use a with_clause rather than a boolean flag, in order to detect circularities in with_clauses. * par-load.adb: Use current with_clause in calls to Load_Unit, rather than propagating the From_Limited_With flag, in order to handle properly circularities involving with_clauses. 2007-08-14 Nicolas Setton <setton@adacore.com> * link.c (FreeBSD): Add "const" keyword where needed, to eliminate warnings. 2007-08-14 Arnaud Charlet <charlet@adacore.com> * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects to build for libgnala. libgnat: Add rules to build libgnala.a (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5. Add s-osinte-vxworks-kernel.adb to the target pairs of the kernel run-time lib for VxWorks 6, which would provide a different implementation for Task_Cont and Task_Stop than the VxWorks 5 version. x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now running ZCX by default. Add g-sttsne-locking to LynxOS version. Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead. On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads. * system-darwin-x86.ads: New file. * Make-lang.in: Delete files before copying onto them, so if they are read-only, the copy won't fail. Update dependencies 2007-08-14 Pascal Obry <obry@adacore.com> * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries naming scheme. 2007-08-14 Vincent Celier <celier@adacore.com> * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access (Gcc): Initialize Gcc_Name at the first call 2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Analyze_Package_Specification): Do not install private with_clauses of the enclosing unit when analyzing the package specification of a nested instance. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed. (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines. Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the layout of N_Allocator. 2007-08-14 Thomas Quinot <quinot@adacore.com> * rtsfind.adb (Check_RPC): Add PCS version check. * gnatvsn.ads, gnatvsn.adb: Add PCS version. (Gnat_Free_Software): New function. * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns the PCS_Version value from s-parint, used to check that it is consistent with what exp_dist expects. * s-parint.ads (PCS_Version): New entity for checking consistency between exp_dist and PCS. * gen-soccon.c: (SO_REUSEPORT): New constant. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image (Duration; Boolean)): Change type of local variable Sub_Second to Duration in order to accomodate a larger range of arithmetic operations. 2007-08-14 Bob Duff <duff@adacore.com> * g-sttsne-locking.ads: Move comments from spec to body. * g-sttsne-locking.adb: Move comments from spec to body. * g-sttsne-vxworks.ads: Removed. * g-sttsne-vxworks.adb: Removed. From-SVN: r127467
2007-08-14tracebak.c: Use tb-ivms.c on OpenVMS Itanium.Tristan Gingold3-134/+237
2007-08-14 Tristan Gingold <gingold@adacore.com> * tracebak.c: Use tb-ivms.c on OpenVMS Itanium. * tb-ivms.c: New file. * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2 From-SVN: r127466
2007-08-14s-veboop.adb (SU): New named number initialized to System.Storage_Unit.Gary Dismukes1-12/+18
2007-08-14 Gary Dismukes <dismukes@adacore.com> * s-veboop.adb (SU): New named number initialized to System.Storage_Unit. (True_Val): The initialization expression is revised to use SU (= Storage_Unit) rather than assuming 8 for the component size of an unpacked Boolean array. From-SVN: r127465
2007-08-14s-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort.Arnaud Charlet6-69/+60
2007-08-14 Arnaud Charlet <charlet@adacore.com> * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb, s-taskin.ads (Requeue_With_Abort): Rename field With_Abort. (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort parameter. * s-tassta.adb (Task_Wrapper): Increased value of the small overflow guard to 12K. From-SVN: r127464
2007-08-14s-tasini.adb (Get_Stack_Info): Move this function to ↵Jose Ruiz2-16/+13
System.Soft_Links.Tasking because it is common to the... 2007-08-14 Jose Ruiz <ruiz@adacore.com> * s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the full and the restricted run times. (Init_RTS): Do not set the Get_Stack_Info soft link because it is done in SSL.Tasking.Init_Tasking_Soft_Links. * s-solita.adb (Get_Stack_Info): Function moved from System.Tasking.Initialization because it is common to the full and the restricted run times. (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info. From-SVN: r127463
2007-08-14s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since ↵Cyrille Comar1-1/+8
it is potentially used in cases implying... 2007-08-14 Cyrille Comar <comar@adacore.com> * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying double finalization of the same object. From-SVN: r127462
2007-08-14s-fileio.adb (Is_Open): Add check for usability of the underlying file stream.Pascal Obry1-1/+7
2007-08-14 Pascal Obry <obry@adacore.com> * s-fileio.adb (Is_Open): Add check for usability of the underlying file stream. From-SVN: r127461
2007-08-14s-ficobl.ads: Declare AFCB as a tagged incomplete type...Ed Schonberg2-3/+3
2007-08-14 Ed Schonberg <schonberg@adacore.com> * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent obsolescent warning on application of 'Class to an incomplete type. * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to prevent obsolescent warning on application of 'Class to an incomplete type. From-SVN: r127460
2007-08-14sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a ↵Javier Miranda1-3/+12
generated interface thunk. 2007-08-14 Javier Miranda <miranda@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk. From-SVN: r127459
2007-08-14sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is ↵Javier Miranda1-142/+186
common to Analyze_Protected_Type... 2007-08-14 Javier Miranda <miranda@adacore.com> * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type and Analyze_Task_Type. In case of private types add missing check on matching interfaces in the partial and full declarations. (Analyze_Protected_Type): Code cleanup. (Analyze_Task_Type): Code cleanup. From-SVN: r127458
2007-08-14par-ch6.adb (P_Formal_Part): Fix wrong error message associated with ↵Javier Miranda1-8/+21
null-excluding access types. 2007-08-14 Javier Miranda <miranda@adacore.com> * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types. From-SVN: r127457
2007-08-14output.ads, output.adb (Write_Eol): Remove trailing spaces before writing ↵Vincent Celier2-2/+22
the line. 2007-08-14 Vincent Celier <celier@adacore.com> * output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line. (Write_Eol_Keep_Blanks): New procedure to write a line, including possible trailing spaces. (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line From-SVN: r127456
2007-08-14layout.adb (Layout_Type): In the case of access-to-subprogram types...Gary Dismukes1-2/+15
2007-08-14 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Type): In the case of access-to-subprogram types, if AAMP_On_Target is True, then the size of the type encompasses two addresses (a static link and a subprogram address), except in the case of library-level access types. From-SVN: r127455
2007-08-14impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and ↵Paul Hilfinger8-2/+1235
add to builds. 2007-08-14 Paul Hilfinger <hilfinger@adacore.com> * impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to builds. * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert* * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files. * a-assert.ads, a-assert.adb: New files. From-SVN: r127454
2007-08-14gnatls.adb: (Corresponding_Sdep_Entry): Always return a valueVincent Celier2-124/+411
2007-08-14 Vincent Celier <celier@adacore.com> * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value (Output_Source): Do nothing if parameter is No_Sdep_Id * make.adb (Gnatmake): Do not rebuild an archive simply because a shared library it imports has a later time stamp. (Check): Resolve the symbolic links in the path name of the object directory. Check that the ALI file is in the correct object directory Check if a file name does not correspond to the mapping of units to file names. (Display_Version): New procedure (Initialize): Process switches --version and --help Use type Path_Name_Type for path name From-SVN: r127453
2007-08-14gnatlink.adb (Gnatlink): Pass switches to the linker even if the ↵Eric Botcazou1-8/+45
binder-generated file is not in Ada. 2007-08-14 Eric Botcazou <ebotcazou@adacore.com> * gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada. Pass -mrtp to the linker if it is GCC and --RTS=rtp has been recorded in the ALI file. Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded. From-SVN: r127452
2007-08-14g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches.Emmanuel Briot1-0/+22
2007-08-14 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches. From-SVN: r127451
2007-08-14g-catiio.adb (Image): For the case of %s...Hristian Kirtchev1-7/+25
2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time values to compute the number of seconds since the Unix Epoc in order to account for Daylight Savings Time. Perform special processing for dates that are earlier than the Unix Epoc to obtain a negative number. From-SVN: r127450
2007-08-14exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating ↵Thomas Quinot1-132/+127
typecode parameters for a union (in a variant record)... 2007-08-14 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record), remove extraneous layer of Any wrapping for member label. (Expand_Receiving_Stubs_Bodies): For an RCI package body that has elabration statements, register the package with the name server at the beginning, not at the end, of the elaboration statements so that they can create remote access to subprogram values that designate remote subprograms from the package. From-SVN: r127449
2007-08-14exp_ch9.adb (Build_Protected_Entry): Propagate the original source location ↵Javier Miranda1-15/+43
to allow the correct generation of... 2007-08-14 Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of errors in case of restrictions applied to the expanded code. (Expand_Entry_Barrier): Remove all generated renamings for a barrier function if the condition does not reference them. (Expand_Entry_Body_Declarations): Mark the index constant as having a valid value. From-SVN: r127448
2007-08-14sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in ↵Ed Schonberg1-74/+167
the subtree to the current allocator... 2007-08-14 Ed Schonberg <schonberg@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator if it is not a static coextension. (Resolve_Allocator): Perform cleanup if resolution has determined that the allocator is not a coextension. (Resolve): Skip an interpretation hidden by an abstract operator only when the type of the interpretation matches that of the context. (Resolve): When looping through all possible interpretations of a node, do not consider those that are hidden by abstract operators. (Resolve_Actuals): When verifying that an access to class-wide object is an actual for a controlling formal, ignore anonymous access to subprograms whose return type is an access to class_wide type. (Resolve_Slice): If the prefix of the slice is a selected component whose type depends on discriminants, build its actual subtype before applying range checks on the bounds of the slice. (Valid_Conversion): In an instance or inlined body, compare root types, to prevent anomalies between private and public views. (Resolve): Improve error message for ambiguous fixed multiplication expressions that involve universal_fixed multiplying operations. From-SVN: r127447
2007-08-14sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity ↵Thomas Quinot2-90/+152
for the selector of the rewritten node. 2007-08-14 Thomas Quinot <quinot@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute reference): Use correct entity as denoted entity for the selector of the rewritten node. (Find_Direct_Name): Add comment about Generate_Reference incorrectly setting the Referenced_As_LHS flag for entities that are implicitly dereferenced. (Find_Type): If the type is an internally generated incomplete type, mark the full view as referenced, to prevent spurious warnings. (Find_Selected_Component, Has_Components): Handle properly non-limited views that are themselves incomplete types. Handle interfaces visible through limited-with clauses. (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a subprogram generic actual for which we have generated a renaming. Warn when the renaming introduces a homonym of the renamed entity, and the renamed entity is directly visible. From-SVN: r127446
2007-08-14sem_cat.ads, [...] (Has_Stream_Attribute_Definition): New formal ↵Thomas Quinot2-25/+51
At_Any_Place indicating... 2007-08-14 Thomas Quinot <quinot@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New formal At_Any_Place indicating, when True, that we want to test for availability of the stream attribute at any place (as opposed to the current visibility context only). (Missing_Read_Write_Attributes): A stream attribute is missing for the purpose of enforcing E.2.2(8) only if it is not available at any place. Take into account the Ada2005 pragma Has_Preelaborable_Initialization when checking the legality of an extension aggregate in a preelaborable package. Treat the literal null as a valid default expression in a component declaration for a type with preelaborable initialization. A limited interface is a legal progenitor for the designated type of a remote access to class-wide type. From-SVN: r127445
2007-08-14sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to ↵Ed Schonberg1-42/+151
determine whether operation applies to the... 2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the prefix. (Complete_Object_Operation): If actual has an access type and controlling formal is not an in_parameter, reject the actual if it is an access_to_constant type. (Try_Primitive_Operation): If the type of the prefix is a formal tagged type, the candidate operations are found in the scope of declaration of the type, because the type has no primitive subprograms. (Analyze_Selected_Component): If prefix is class-wide, and root type is a private extension, only examine visible components before trying to analyze as a prefixed call. Change Entity_List to Type_To_Use, for better readability. (Has_Fixed_Op): Use base type when checking whether the type of an operator has a user-defined multiplication/division (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when user-defined operators are available for fixed-point types. From-SVN: r127444
2007-08-14sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with ↵Ed Schonberg2-161/+598
interface progenitors use the analyzed... 2007-08-14 Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> Thomas Quinot <quinot@adacore.com> * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed formal as the parent of the actual, to create renamings for all the inherited operations in Derive_Subprograms. (Collect_Previous_Instances): new procedure within of Load_Parent_Of_Generic, to instantiate all bodies in the compilation unit being loaded, to ensure that the generation of global symbols is consistent in different compilation modes. (Is_Tagged_Ancestor): New function testing the ancestor relation that takes progenitor types into account. (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by traversing over the primitives of the formal and actual types to locate any abstract subprograms of the actual type that correspond to a nonabstract subprogram of the formal type's ancestor type(s), and issue an error if such is found. (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation, Instantiate_Package_Body, Instantiate_Subprogram_Body): Remove bogus guard around calls to Inherit_Context. (Reset_Entity): If the entity is the selector of a selected component that denotes a named number, propagate constant-folding to the generic template only if the named number is global to the generic unit. (Set_Instance_Env): Only reset the compilation switches when compiling a predefined or internal unit. From-SVN: r127443
2007-08-14table.adb, [...] (Append): Reimplement in terms of Set_Item.Thomas Quinot12-93/+215
2007-08-14 Thomas Quinot <quinot@adacore.com> * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms of Set_Item. (Set_Item): When the new item is an element of the currently allocated table passed by reference, save a copy on the stack if we're going to reallocate. Also, in Table.Set_Item, make sure we test the proper variable to determine whether to call Set_Last. * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb, symbols-vms.adb, symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace some occurrences of the pattern T.Increment_Last; T.Table (T.Last) := Value; with a cleaner call to T.Append (Value); From-SVN: r127442
2007-08-14a-cihama.ads, [...] (Next): Applied pragma Inline.Bob Duff21-407/+561
2007-08-14 Bob Duff <duff@adacore.com> * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads, a-coorse.ads (Next): Applied pragma Inline. Make all Containers packages Remote_Types (unless they are already Pure). (Previous): applied pragma Inline (Elements_Type): is now a record instead of an array From-SVN: r127441
2007-08-14s-intman-irix.adb, [...]: Minor reformattingRobert Dewar73-581/+786
2007-08-14 Robert Dewar <dewar@adacore.com> * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads, s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb, s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb, s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb, s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads, s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads, s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb, exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads, s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb, s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads, a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads, g-altcon.adb: Minor reformatting ada-tree.h: Delete empty line. ali.ads: Minor reformatting Clarification of comments. Minor spelling correction * exp_dbug.adb: Add Warnings Off to suppress new warning * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode formal * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old value * a-textio.adb (Write): Remove an unnecessary IN OUT mode from * a-textio.ads: Reorder the standard input/output/error declarations for consistency. * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call * par-ch2.adb: Recognize RM specially in errout Change 'R'M to RM in all error messages * scng.adb: Recognize RM specially in errout * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology. * s-direio.adb: Add missing routine header box. * sem_attr.ads: Add ??? comments * sem_eval.adb: Recognize RM specially in errout Change 'R'M to RM in all error messages * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes * s-tasinf.ads: Fix minor comment typo. * a-cihama.adb: Minor comment addition * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode formal * s-tasinf-tru64.ads: Fix minor comment typo. * itypes.ads: Comment update. * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed anymore. * argv.c: Added protection against null gnat_argv and gnat_envp. * bcheck.adb (Check_Consistency): Use correct markup character ({) in warning message when Tolerate_Consistency_Errors is True. * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for Any_Id, as this subprogram is only applicable to *type* entities (it sets RM_Size). Instead initialize just Esize and Alignment. From-SVN: r127440
2007-08-14binde.adb (Elab_All_Links): Remove unnecessary call to ↵Thomas Quinot5-72/+106
Generic_Separately_Compiled (if... 2007-08-14 Thomas Quinot <quinot@adacore.com> Vincent Celier <celier@adacore.com> * binde.adb (Elab_All_Links): Remove unnecessary call to Generic_Separately_Compiled (if a unit satisfies this predicate, there won't be an associated Afile). (Elab_All_Links): Fail if a referenced unit cannot be found * bindgen.adb: Fix comments in bindgen regarding consistency checks done in Bcheck: the checks are made across units within a partition, not across several partitions. Fix generation of C binder file for VxWorks. * lib.adb (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more descriptive of the current use of the predicate, and update documentation. * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code reorganization and documentation update for the case of predefined library generics (for which we do not reference an Afile). From-SVN: r127439
2007-08-14a-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE ↵Javier Miranda4-77/+57
exception. 2007-08-14 Javier Miranda <miranda@adacore.com> * a-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE exception. (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr, To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr, To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package spec. (Default_Prim_Op_Count): Removed. (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind, Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind): Remove pragma Inline_Always. * rtsfind.ads (Default_Prim_Op_Count): Removed (Max_Predef_Prims): New entity (RE_Expanded_Name): Removed (RE_HT_Link): Removed (RE_Iface_Tag): Remmoved (RE_Ifaces_Table): Removed (RE_Interfaces_Array): Removed (RE_Interface_Data_Element): Removed (RE_Nb_Ifaces): Removed (RE_RC_Offset): Removed (RE_Static_Offset_To_Top): Removed * exp_atag.ads (Build_Inherit_Prims): Addition of a new formal. (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ Prim_Op_Count by Max_Predef_Prims. From-SVN: r127438
2007-08-14adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file...Jose Ruiz2-15/+51
2007-08-14 Jose Ruiz <ruiz@adacore.com> * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file, device:/dir/file, and device:drive_letter:/dir/file as representing absolute path names. __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues. * cstreams.c (__gnat_full_name for VxWorks): Use __gnat_is_absolute_path to detect whether we need to add the current directory to normalize the path. From-SVN: r127437
2007-08-14sem_ch10.adb: Create a limited view of an incomplete type...Ed Schonberg1-170/+248
2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb: Create a limited view of an incomplete type, to make treatment of limited views uniform for all visible declarations in a limited_withed package. Set flag indicating that a subprogram body for a child unit has a generated spec. (Analyze_Compilation_Unit): If unit is a subprogram body that has no separate declaration, remove the unit name from visibility after compilation, so that environment is clean for subsequent compilations. (Install_Limited_Context_Clauses): Do not install a limited_private_with_clause unless the current unit is a body or a private child unit. (Analyze_Subunit, Install_Parents): Treat generic and non-generic units in the same fashion. (Install_Limited_Withed_Unit): Do not install a limited with clause if it applies to the declaration of the current package body. (Remove_Private_With_Clauses): If there is a regular with_clause for the unit, delete Private_With_Clause from context, to prevent improper hiding when processing subsequent nested packages and instantiations. From-SVN: r127436