2005-03-29 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
missing TYPE Improve the error message generated when compiling a
limited interface in Ada83 or Ada95 mode.
From-SVN: r97178
2005-03-29 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): Don't fail if the main project file is declared
as having no Ada sources. Do not display message "no sources to
compile" in quiet output.
From-SVN: r97175
2005-03-29 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Record_Type): If the type of the component is an
itype whose parent is controlled and not yet frozen, do not create a
freeze node for the itype if expansion is disabled.
From-SVN: r97174
2005-03-29 Robert Dewar <dewar@adacore.com>
* exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
recursive calls.
(Is_Possibly_Unaligned_Object): Correct typo that
resulted in inaccurate result for unaligned scalars within records.
From-SVN: r97173
2005-03-29 Gary Dismukes <dismukes@adacore.com>
Robert Dewar <dewar@adacore.com>
* exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
expand a call to an instance of
Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
Constructor actual of the instance. A class-wide membership
check is also generated, to ensure that the tag passed to the instance
denotes a type in the class.
(Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
of Name_Generic_Dispatching_Constructor.
* Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
05 unit for AI-260-02).
* a-tgdico.ads: New file.
* impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
* snames.ads, snames.adb (Preset_Names): Add entry for
Generic_Dispatching_Constructor.
PR ada/20300
* sem_ch8.adb (Find_Direct_Name): Go to root type for check of
character type cases.
(Analyze_Subprogram_Renaming): Add special handling for
the case of renaming of stream attributes when the renaming denotes a
generic formal subprogram association for an abstract formal subprogram.
Check that the attribute is a primitive stream attribute (and not
a class-wide stream attribute) and then rewrite the attribute name
as the name of the appropriate compiler-generated stream primitive.
From-SVN: r97172
2005-03-29 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
of using Set_Renaming_TSS. This ensures that the TSS bodies are not
analyzed if expansion is disabled (which could otherwise cause spurious
error messages if expansion has been disabled due to previous
(unrelated) errors).
* sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
is disabled, the entity denoted by the argument is the access type
itself, not an underlying record type, so there is no need to go back
to the Corresponding_Remote_Type.
From-SVN: r97171
2005-03-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
order to retrieve the component list of the type, before examining
individual components.
* sem_type.adb (Covers): Types are compatible if one is the base type
of the other, even though their base types might differ when private
views are involved.
From-SVN: r97170
2005-03-29 Robert Dewar <dewar@adacore.com>
* errutil.adb, errout.adb:
Minor comment updates on Line_Terminator references
* par-ch10.adb: Add ??? comment about line terminator
* styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
(check dos line terminator).
(Check_Line_Max_Length): New procedure, split off from the existing
Check_Line_Terminator routine. Separating this out allows -gnatyf to
be properly recognized.
* styleg.adb: Add ??? comment for line terminator reference
* scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
(Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
* styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
(check dos line terminator).
(Check_Line_Max_Length): New procedure, split off from the existing
Check_Line_Terminator routine. Separating this out allows -gnatyf to
be properly recognized.
* stylesw.ads, stylesw.adb:
Add handling for new -gnatyd switch (check dos line terminator)
* switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
Recognize -gnatwb/-gnatwB switches
Include Warn_On_Bad_Fixed_Value for -gnatg
* usage.adb:
Add line for new -gnatyd switch (check dos line terminator)
* usage.adb: Add lines for -gnatwb/-gnatwB
* vms_data.ads: Add entry for NOCRLF (-gnatyd)
* vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
* gnat_ugn.texi: Fix overlong lines
Document new -gnatyd switch
Document new -gnatwb/-gnatwB switches
From-SVN: r97169
2005-03-29 Javier Miranda <miranda@adacore.com>
* a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
(Inherit_DT): The first formal has been redefined as a Tag.
This allows us the removal of the subprogram Get_TSD.
(TSD): Replace the call to Get_TSD by the actual code.
* exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
(Make_DT): Upgrade the call to Inherit_TSD according to the
new interface: the first formal is now a Tag.
* i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
redefined as a Tag.
This change allows us to remove the subprogram Get_TSD.
(CPP_Get_TSD): Subprogram removed.
(TSD): Replace the call to CPP_Get_TSD by the actual code.
* rtsfind.ads: Remove support to call the run-time
subprogram Get_TSD
From-SVN: r97168
* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
(Build_Dynamic_Library.Version_String): Return the empty string when
Lib_Version is empty or when the symbol policy is not Autonomous.
* symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
a symbol is not in the reference symbol file, increase the Major ID
and set the Minor ID to 0.
Use gsmatch=lequal instead of gsmatch=equal
From-SVN: r97166
2005-03-29 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Real_Literal): Generate warning if static
fixed-point expression has value that is not a multiple of the Small
value.
* opt.ads (Warn_On_Bad_Fixed_Value): New flag
* s-taprop-tru64.adb (RT_Resolution): Return an integer number of
nanoseconds.
* ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
From-SVN: r97165
* tree-ssanames.c (duplicate_ssa_name_ptr_info): New function.
(duplicate_ssa_name): Call duplicate_ssa_name_ptr_info.
* tree-vect-analyze.c (vect_object_analysis): additional parm
pass back a "struct ptr_info_def *" with the points-to info.
(vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the
statement using info returned from vect_object_analysis.
* tree-vect-transform.c (update_vuses_to_preheader): New function.
(vect_create_data_ref_ptr): Remove updates to vars_to_rename
for virtual uses and defs when creating a replacement vector
reference. Call duplicate_ssa_name_ptr_info to define points-to
info for vector pointer replacement using STMT_VINFO_PTR_INFO.
(vectorizable_store): copy_virtual_operands and update
definition statements.
(vectorizable_load): copy_virtual_operands. Remove call to
mark_call_clobbered_vars_to_rename for call to "const" builtin.
* tree-vectorizer.c (vectorize_loops): Remove calls to
rewrite_into_ssa and bitmap_clear (vars_to_rename).
(new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt.
* tree-vectorizer.h (_stmt_vec_info): add field ptr_info and
define macro STMT_VINFO_PTR_INFO for use in accessing.
* tree.h add export of duplicate_ssa_name_ptr_info.
* rs6000.c (altivec_init_builtins): Declare builtin function
__builtin_altivec_mask_for_load to be "const".
From-SVN: r97164
PR libfortran/20163
* io/open.c (st_open): call library_end() before returning even if
an error arises.
* gfortran.dg/pr20163-2.f: New test.
From-SVN: r97153
PR libfortran/20163
* io/open.c (st_open): call library_end() before returning even if
an error arises.
* gfortran.dg/pr20163-2.f: New test.
From-SVN: r97152
PR middle-end/20635
* varasm.c (mark_decl_referenced): Do not mark extern inline functions
as needed.
* compile/gcc.c-torture/compile/20050328-1.c: New testcase made
by Jakub Jelinek.
From-SVN: r97133
* boehm.cc (_Jv_MarkObj): Don't follow null pointer to static field,
which can happen if class is JV_STATE_LOADED but not JV_STATE_PREPARED.
From-SVN: r97128
* c.opt (fshow-column): Move option from here ...
* common.opt (fshow-column): ... to here.
* diagnostic.c (diagnostic_build_prefix): Only print column number
if flag_show_column.
From-SVN: r97127
* vax-protos.h (vax_output_int_move, vax_output_int_add,
vax_output_conditional_branch): New prototypes.
* vax.c (vax_output_int_move, vax_output_int_add): New functions,
extracted from vax.md mov and add patterns.
(vax_output_conditional_branch): New function to output conditional
branch instructions.
* vax.md: Use mode macros for arithmetic and mov patterns.
Use code macros for the jump patterns.
From-SVN: r97111
* configure.ac: Fix ZIP and GCJH at configure time to absolute
paths like we do for the compiler, as we use it in external/sax
and it doesn't get MULTIBUILDTOP right when multilibing.
From-SVN: r97091