PR fortran/40878
* openmp.c (gfc_match_omp_clauses): Use gfc_error_now instead of
gfc_error to diagnose invalid COLLAPSE arguments.
* gfortran.dg/gomp/pr40878-1.f90: New test.
* gfortran.dg/gomp/pr40878-2.f90: New test.
From-SVN: r150165
2009-07-28 Emmanuel Briot <briot@adacore.com>
* make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
global variable that also exists in makeutl.ads, and that some routines
in that package use already.
(Check): Moved part of the code to makeutl.adb for better sharing with
gprbuild.
From-SVN: r150157
2009-07-28 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
importing project does not end up in the list, in the case of extending
projects.
* make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
makeutl.ads, for better sharing with gprbuild.
2009-07-28 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Fix typo.
2009-07-28 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
derivation that renames some discriminants and constrain others.
* exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
prefix is a derived untagged type, convert to the root type to conform
to the signature of the protected operations.
2009-07-28 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Update comments.
* exp_attr.adb: Minor reformatting
From-SVN: r150152
2009-07-28 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Get_Value): A named association in a record aggregate
should be treated as a modification of the named component, not as a
reference.
2009-07-28 Quentin Ochem <ochem@adacore.com>
* prj-tree.ads, prj-tree.adb (Free): Minor editing.
* prj.ads, prj.adb (Image): Ditto.
From-SVN: r150151
2009-07-28 Arnaud Charlet <charlet@adacore.com>
* frontend.adb: Minor reformatting.
(Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
for efficiency.
2009-07-28 Bob Duff <duff@adacore.com>
* exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
'Address to get a pointer to the protected body wrapper.
From-SVN: r150150
2009-07-28 Javier Miranda <miranda@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
nodes if we are not generating code.
* frontend.adb (Check_SCIL_Node): New subprogram. Used to check
attribute SCIL_Related_Node of SCIL dispatching nodes.
(Check_SCIL_Nodes): New instantiation of Traverse_Proc.
* sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Entity): Update documentation.
(SCIL_Related_Node): Update documentation.
(SCIL_Controlling_Tag): New attribute.
(SCIL_Target_Prim): Update documentation.
(N_Null_Statement): Remove attributes associated with SCIL nodes.
(N_SCIL_Dispatch_Table_Object_Init): New node.
(N_SCIL_Dispatch_Table_Tag_Init): New node.
(N_SCIL_Dispatching_Call): New node.
(N_SCIL_Tag_Init): New node.
* sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
(SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
(SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
(SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
N_SCIL_Dispatching_Call nodes.
* sem.adb (Analyze): No need to analyze SCIL nodes.
* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
(Next_Non_SCIL_Node): New subprogram
* sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
dispatching nodes.
* sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
dispatching node.
* sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
dispatching node.
* exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
null statement nodes.
(Build_Init_Procedure): Generate new SCIL node.
* exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
node.
* exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
they are currently implemented as special N_Null_Statement nodes.
* exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
procedure call then check if some SCIL node references it and needs
readjustment.
* exp_disp.ads (SCIL_Node_Kind): Removed.
(Adjust_SCIL_Node): New subprogram.
(Find_SCIL_Node): New subprogram.
(Get_SCIL_Node_Kind): Removed.
(New_SCIL_Node): Removed.
* exp_disp.adb (Adjust_SCIL_Node): New subprogram
(Expand_Dispatching_Call): Generate new SCIL dispatching node including
decoration of its new controlling_tag attribute.
(Get_SCIL_Node_Kind): Removed.
(Find_SCIL_Node): New subprogram.
(Make_Secondary_DT): Generate new SCIL nodes.
(Make_Tags): Generate new SCIL nodes.
(New_SCIL_Node): Removed.
* exp_util.adb (Insert_Actions): Handle SCIL nodes.
(Remove_Side_Effects): Check if relocated nodes require readjustment
of some SCIL dispatching node.
* gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
From-SVN: r150149
2009-07-28 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add section about gnatcheck rule exemption.
2009-07-28 Vadim Godunko <godunko@adacore.com>
* s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
not defined by limits.h.
* g-socket.adb (Receive_Vector): Use minimum length from user's vector
length and maximum supported length of data vector.
2009-07-28 Gary Dismukes <dismukes@adacore.com>
* usage.adb: Inhibit printing gcc-specific switches for AAMP target.
* make.adb: Call Get_Target_Parameters before calling Usage so that
VM_Target and AAMP_On_Target will be set.
From-SVN: r150147
2009-07-28 Olivier Hainque <hainque@adacore.com>
* g-ssinty.ads: Remove, pointless and just confusing at this stage.
* gnat_rm.texi: Remove documentation.
* g-sse.ads: Minor reorg along the way.
* gcc-interface/Makefile.in: Remove processing for g-ssinty.
* g-ssvety.ads: Minor comment updates.
2009-07-28 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
for the new format of the report file.
From-SVN: r150146
2009-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/40848
* interface.c (gfc_compare_interfaces): Call 'count_types_test' before
'generic_correspondence', and only if checking a generic interface.
2009-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/40848
* gfortran.dg/altreturn_7.f90: New.
From-SVN: r150134
* convert.c (convert_to_pointer): Don't assume the target
pointer type is POINTER_SIZE long. Fetch its precision instead.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150133
* pex-unix.c (vfork): Remove VMS specific definition (get from header
file instead).
(to_ptr32): New function.
(pex_unix_exec_child): Use it.
From-SVN: r150130
* dwarf2out.c (output_cfi_p): Removed.
(output_cfis): New function.
(output_fde): New function, split from output_call_frame_info.
(output_call_frame_info): Use it.
(dwarf2out_switch_text_section): Use output_cfis.
From-SVN: r150129
2009-07-27 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
rule definition the paragraph that explains that generic functions and
functions from generic packages are not checked.
2009-07-27 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
procedure when determining whether to set the Overridden_Operation
field of a subprogram overriding an inherited subprogram.
2009-07-27 Robert Dewar <dewar@adacore.com>
* a-except.adb, a-except-2005.ads: Minor reformatting
From-SVN: r150120
2009-07-27 Robert Dewar <dewar@adacore.com>
* sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2009-07-27 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
add some documentation explaining why the SCIL nodes must be generated
at that point.
2009-07-27 Olivier Hainque <hainque@adacore.com>
* a-except.adb: Bind to __builtin_longjmp directly.
* a-except-2005.ads: Provide direct binding to __builtin_longjmp
for sjlj variants.
* a-exexpr.adb: Use it.
* a-except-xi.adb: Likewise.
* raise.c (_gnat_builtin_longjmp): Remove and update comments.
* raise.h (_gnat_builtin_longjmp): Remove declaration.
From-SVN: r150119
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb (Compile_Time_Compare): More precise handling of
Known_Valid flag, to prevent spurious range deductions when scalar
variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2009-07-27 Robert Dewar <dewar@adacore.com>
* sem.adb: Minor reformatting
From-SVN: r150118
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
Ravenscar mode. Error has already been posted on specification.
* sem.adb: Further code clean ups.
From-SVN: r150116
2009-07-27 Robert Dewar <dewar@adacore.com>
* g-sse.ads: Minor reformatting
2009-07-27 Arnaud Charlet <charlet@adacore.com>
* xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
alternate ali extension.
* xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
account Osint.ALI_Suffix.
* osint.ads (ALI_Suffix): Make visible.
* gnatfind.adb (Gnatfind): Add support for --ext= switch.
* gnat_ugn.texi: Document new gnatfind --ext= switch.
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): If main unit is an instance body, do
its spec first.
2009-07-27 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
the dispatching call has is expanded.
From-SVN: r150115
2009-07-24 Kai Tietz <kai.tietz@onevision.com>
* config/i386/cygming.h (DWARF2_UNWIND_INFO): Error build when
TARGET_BI_ARCH is specified without enabling SJLJ.
* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Define MD_UNWIND_SUPPORT,
if TARGET_64BIT and TARGET_BI_ARCH aren't defined.
From-SVN: r150114
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
Is_Known_Valid flag on the temporary created for the value whose
validity is being checked.
* sem.adb (Do_Unit_And_Dependents): Further code reorganization to
handle properly main units that are package specifications.
2009-07-27 Geert Bosch <bosch@adacore.com>
* einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
* sem_aux.ads: Fix typo in comment
* sem_util.ads (Is_LHS): Adjust comment to match body
2009-07-27 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
rule definition.
2009-07-27 Olivier Hainque <hainque@adacore.com>
* g-sse.ads, g-ssvety.ads: Update comments.
From-SVN: r150113
2009-07-27 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
objects, since these are implicitly referenced by the return statement.
* sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
Is_Return_Object in this procedure, as return objects will never make
it here since they're now marked as Referenced.
2009-07-27 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
From-SVN: r150111
2009-07-27 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
* sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2009-07-27 Geert Bosch <bosch@adacore.com>
* checks.adb (Find_Check): Minor streamlining of logic.
* gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
* debug.adb: Document -gnatdX debug flag
* exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
list information about reads from scalar entities.
Also slightly simplify condition for Expand_Current_Value.
* sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
functions.
From-SVN: r150110
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* resolve.c (resolve_symbol): Do not initialize pointer
* derived-types.
* trans-decl.c (init_intent_out_dt): Ditto.
(generate_local_decl): No need to set attr.referenced for DT pointers.
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* gfortran.dg/derived_init_3.f90: New test.
From-SVN: r150108
2009-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/40863
* c99_functions.c: Define complex I, if not defined.
Create prototypes for C99 functions to silence warnings.
* gfortran.map: Add missing functions to GFORTRAN_C99_1.0
and new GFORTRAN_C99_1.1.
From-SVN: r150107
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* intrinsic.c (make_generic): Remove assert as "atan" can be
both ISYM_ATAN and ISYM_ATAN2.
(add_functions): Add two-argument variant of ATAN.
* intrinsic.h (gfc_check_atan_2): Add check for it.
* intrinsic.texi (ATAN2): Correct and enhance description.
(ATAN): Describe two-argument variant of ATAN.
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* gfortran.dg/atan2_1.f90: New test
* gfortran.dg/atan2_2.f90: New test
From-SVN: r150100