2005-03-16 Dale Johannesen <dalej@apple.com>
* rtlanal.c (find_first_parameter_load): Rewrite to
return actual first param load or the call if none,
instead of first in block, when not all loads exist.
From-SVN: r96578
* open.c (new_unit): set record length to max_offset rather than
using a hard-coded limit (which was too low).
* write_big_array.f90: New test.
From-SVN: r96573
2005-03-16 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20940
* tree-ssa-pre.c (create_expression_by_pieces): Use
force_gimple_operand on result of fold.
From-SVN: r96560
2005-03-16 Andrew Pinski <pinskia@physics.uc.edu>
* config/i386/emmintrin.h (_mm_extract_epi16): Correct the number
of closing parenthesis.
From-SVN: r96556
* builtins.c (expand_movstr): Update a call to
fold_builtin_strcpy.
(expand_builtin_strncpy): Update a call to
fold_builtin_strncpy.
(fold_builtin_strcpy, fold_builtin_strncpy): Take decomosed
arguments of CALL_EXPR.
(fold_builtin_1): Update calls to fold_builtin_strcpy and
fold_builtin_strncpy.
* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
* tree.h: Update the prototypes of fold_builtin_strcpy and
fold_builtin_strncpy.
From-SVN: r96555
* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
error.
Co-Authored-By: Dorit Naishlos <dorit@il.ibm.com>
From-SVN: r96552
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549
PR tree-optimization/17454
* tree.c (tree_size): Add case for TREE_BINFO.
* fold-const.c (fold_checksum_tree): Only clear the overloaded
field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set.
From-SVN: r96548
* mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
Add new parameter In_Tree to specify the project tree: needed
by the project manager. Adapt to changes in project manager
using new parameter In_Tree.
From-SVN: r96545
* ada/Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
ada/bldtools to avoid make -jN failures.
From-SVN: r96531
* real.c (c4x_single_format, c4x_extended_format): Provide values
for signbit_ro for c4x's single and extended floating point formats.
* optabs.c (expand_copysign): Use the floating point format's
signbit_ro for expanding via expand_copysign_absneg, and it's
signbit_rw field for expanding via expand_copysign_bit.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r96530
* tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by
known_alignment_for_access_p.
(known_alignment_for_access_p): New.
(do_peeling_for_alignment): Field made int instead of bool and renamed
to peeling_for_alignment.
(LOOP_DO_PEELING_FOR_ALIGNMENT): Renamed to LOOP_PEELING_FOR_ALIGNMENT.
* tree-vect-analyze.c (vect_determine_vectorization_factor): New. This
functionality used to be in vect_analyze_operations.
(vect_analyze_operations): Code to determine vectorization factor was
moved to vect_determine_vectorization_factor.
(vect_enhance_data_refs_alignment): Update to correct alignment when it
is known instead of -1. Set LOOP_PEELING_FOR_ALIGNMENT to peeling
factor.
(vect_analyze_loop): Call vect_determine_vectorization_factor (used to
be part of vect_analyze_operations).
* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Use fold when
creating the guard condition, as the number of iterations may be
constant.
(slpeel_tree_peel_loop_to_edge): Use new name of
LOOP_DO_PEELING_FOR_ALIGNMENT. Set it to 0 instead of false.
* tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Handle known
alignment case more efficiently. Use LOOP_PEELING_FOR_ALIGNMENT.
(vect_do_peeling_for_alignment): Use fold.
(vect_transform_loop): Use new name of LOOP_DO_PEELING_FOR_ALIGNMENT.
(vect_update_inits_of_dr): Renamed to
vect_update_init_of_dr.
(vect_update_inits_of_drs): Use new name of vect_update_inits_of_dr.
(vectorizable_store): Fix assertion to use == instead of =.
From-SVN: r96526
2005-03-08 Geert Bosch <bosch@adacore.com>
Arnaud Charlet <charlet@adacore.com>
Robert Dewar <dewar@adacore.com>
Cyrille Comar <comar@adacore.com>
Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Remove extended inline assembly example, as it was far
too specific and long-winded to be appropriate for the GNAT User's
Guide.
Warn about use of GCC switches not documented in the GNAT User's Guide,
as these may cause generated code to not conform to Ada semantics.
Remove mention of -gdwarf-2 for sparc64, since this is now the default.
Add documentation for -gnat95 and -gnat05 switches
Remove paragraph documenting obsolete way to refer to third party
libraries.
Add a few references to Ada_05 that were missing.
Update documentation on -gnatZ/-gnatL.
Document limitation when using -m64 under Solaris.
Change the "Name Casing" subsection of the pretty-printer section
according to the changes in the dictionary processing.
* gnat_rm.texi: Document the Ada_05 pragma.
Section on record representation clauses describes the new more
relaxed rules about placement of large packed bit array components.
Add documentation of GNAT.UTF_32
From-SVN: r96513
2005-03-08 Robert Dewar <dewar@adacore.com>
* usage.adb: Add missing lines for -gnat95 and -gnat05 switches
* sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
* i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
From-SVN: r96511
2005-03-08 Gary Dismukes <dismukes@adacore.com>
* s-imgwch.adb: Add with and use of Interfaces.
(Img_Wide_Character): Change type of Val to Unsigned_16.
(Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
From-SVN: r96509
2005-03-08 Geert Bosch <bosch@adacore.com>
* s-fatgen.adb (Valid): Extend special exceptions to account for long
long float padding to also cover AMD64 and IA64.
From-SVN: r96508
2005-03-08 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
a renaming a body, check that the renamed subprogram in not intrinsic.
(Find_Direct_Name): If several use_visible entities hide
each other, and the context is a predefined file compiled through
rtsfind, keep only the entity that comes from a predefined file.
From-SVN: r96507
2005-03-08 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
attached to a list before checking whether it appears in the private
declarations of the current package.
(Make_Inequality_Operator): Insert declaration in proper declarative
list rather than just setting the Parent field, so that
Is_Private_Declaration can handle it properly.
From-SVN: r96506
2005-03-08 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
Eliminated as candidates for resolution. Both efficient, and avoids
anomalies with operators declared in deleted code.
(Process_Implicit_Dereference_Prefix): Use this procedure whenever
expansion is disabled (as when compiling a generic) to prevent spurious
warnings on prefixes of selected components.
From-SVN: r96505
2005-03-08 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
PR ada/15608
* sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
of a private type, in which case it is underlying_type that denotes
the proper task. Also modified to use the new entity attribute
that is directly available in the task type and task subtype entities
(Build_Actual_Subtype_Of_Component): Handle properly multidimensional
arrays when other dimensions than the first are constrained by
discriminants of an enclosing record.
(Insert_Explicit_Dereference): If the prefix is an indexed component or
a combination of indexed and selected components, find ultimate entity
and generate the appropriate reference for it, to suppress spurious
warnings.
(Note_Possible_Modification): If an entity name has no entity, return.
(Is_Variable): A function call never denotes a variable.
(Requires_Transient_Scope): For record types, recurse only on
components, not on internal subtypes that may have been generated for
constrained components.
From-SVN: r96504
2005-03-08 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Instantiate_Object): If the analysis of the actual
parameter reported some error we immediately return. This improves the
behaviour of the frontend in case of errors.
(Install_Parent, Remove_Parent): Introduce new flag
Parent_Unit_Visible, to preserve the proper visibility of the ultimate
ancestor of a generic child unit, when the child is being instantiated.
(Inline_Instance_Body): If we are compiling the private
part or the body of a child unit, restore the proper visibility of the
parents after compiling the instance body.
From-SVN: r96503
2005-03-08 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
instantiation that has been rewritten as a package body, retrieve spec
to generate proper name for implicit_with_clause.
(Install_Parents): Recognize a parent that is an instantiation but has
been rewritten as a package declaration during analysis.
From-SVN: r96502
2005-03-08 Robert Dewar <dewar@adacore.com>
* Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
* impunit.adb: Add GNAT.UTF_32
* scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
* widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
now uses GNAT.UTF_32).
* g-utf_32.ads, g-utf_32.adb: This is a new unit with full
capabilities for categorizing characters using Unicode categories
From-SVN: r96501
2005-03-08 Doug Rupp <rupp@adacore.com>
Bernard Banner <banner@adacore.com>
Vincent Celier <celier@adacore.com>
Arnaud Charlet <charlet@adacore.com>
PR ada/6852
This change works fine when gnatlib is built from the gcc directory,
but does not work when using the libada Makefile, since GCC_FOR_TARGET
is not passed to ada/Makefile.in, so more work is needed by a
Makefile/configure expert.
* Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
set GMEM_LIB on ia64 linux to add optional support for gnatmem.
Setup gnatlink switch -M for x86_64 linux, as it is already setup
for Linux x86.
(gnatlib-shared-default): Use GNATLIBCFLAGS as well.
Run ranlib on libgccprefix.a
Define PREFIX_OBJS for Darwin, to build libgccprefix.
(ADA_INCLUDE_SRCS): Split Ada packages.
From-SVN: r96500
2005-03-08 Pascal Obry <obry@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
PR ada/20226
PR ada/20344
* init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
when IN_RTS. This is to work around a bootstrap path problem.
* misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
table and pass it to __gnat_install_SEH_handler().
(gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
* lang.opt: Fix specification of -fRTS=.
From-SVN: r96499