Commit Graph

66658 Commits

Author SHA1 Message Date
Daniel Berlin
5f6c8a56a7 re PR tree-optimization/20489 (ICE: address taken, but ADDRESSABLE bit not set)
2005-03-16  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20489

	* tree-ssa-alias.c (push_fields_onto_fieldstack): DTRT
	for empty structures.

From-SVN: r96562
2005-03-16 16:25:47 +00:00
Daniel Berlin
f718710e8d re PR tree-optimization/20490 (ICE: verify_stmts failed. (with -O -ftree-pre))
Fix PR tree-optimization/20490
not 20940

From-SVN: r96561
2005-03-16 16:22:45 +00:00
Daniel Berlin
705966423a re PR tree-optimization/20490 (ICE: verify_stmts failed. (with -O -ftree-pre))
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 16:20:12 +00:00
Manfred Hollstein
ef6e9bc04f Makefile.tpl (check-[+module+]): Fix shell statement inside if ...
* Makefile.tpl (check-[+module+]): Fix shell statement inside if ... fi.
	* Makefile.in: Regenerate.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r96559
2005-03-16 15:34:56 +00:00
Andrew Pinski
13953f0a36 emmintrin.h (_mm_extract_epi16): Correct the number of closing parenthesis.
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
2005-03-16 06:48:51 -08:00
Kazu Hirata
a456b43276 builtins.c (expand_movstr): Update a call to fold_builtin_strcpy.
* 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
2005-03-16 14:45:15 +00:00
Steven Bosscher
00c714edd6 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.
* 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
2005-03-16 11:47:38 +00:00
Paolo Carlini
b0ea9c011d binders.cc: Remove explicit instantiations for non-weak systems.
2005-03-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/20_util/functional/binders.cc: Remove explicit
	instantiations for non-weak systems.
	* testsuite/20_util/memory/allocator/1.cc: Likewise.
	* testsuite/20_util/memory/allocator/10378.cc: Likewise.
	* testsuite/20_util/memory/allocator/10416.cc: Likewise.
	* testsuite/20_util/memory/allocator/8230.cc: Likewise.
	* testsuite/20_util/utility/rel_ops.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
	* testsuite/23_containers/deque/cons/1.cc: Likewise.
	* testsuite/23_containers/deque/cons/2.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/1.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/2.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/3.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/4.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/deque/operators/1.cc: Likewise.
	* testsuite/23_containers/list/capacity/1.cc: Likewise.
	* testsuite/23_containers/list/cons/1.cc: Likewise.
	* testsuite/23_containers/list/cons/2.cc: Likewise.
	* testsuite/23_containers/list/cons/3.cc: Likewise.
	* testsuite/23_containers/list/cons/4.cc: Likewise.
	* testsuite/23_containers/list/cons/5.cc: Likewise.
	* testsuite/23_containers/list/cons/6.cc: Likewise.
	* testsuite/23_containers/list/cons/7.cc: Likewise.
	* testsuite/23_containers/list/cons/8.cc: Likewise.
	* testsuite/23_containers/list/cons/9.cc: Likewise.
	* testsuite/23_containers/list/invalidation/1.cc: Likewise.
	* testsuite/23_containers/list/invalidation/2.cc: Likewise.
	* testsuite/23_containers/list/invalidation/3.cc: Likewise.
	* testsuite/23_containers/list/invalidation/4.cc: Likewise.
	* testsuite/23_containers/list/modifiers/1.cc: Likewise.
	* testsuite/23_containers/list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/list/operators/1.cc: Likewise.
	* testsuite/23_containers/list/operators/2.cc: Likewise.
	* testsuite/23_containers/list/operators/3.cc: Likewise.
	* testsuite/23_containers/list/operators/4.cc: Likewise.
	* testsuite/23_containers/map/insert/1.cc: Likewise.
	* testsuite/23_containers/map/invalidation/1.cc: Likewise.
	* testsuite/23_containers/map/invalidation/2.cc: Likewise.
	* testsuite/23_containers/map/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/map/operators/1.cc: Likewise.
	* testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
	* testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/multiset/insert/1.cc: Likewise.
	* testsuite/23_containers/multiset/insert/2.cc: Likewise.
	* testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
	* testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
	* testsuite/23_containers/queue/members/7157.cc: Likewise.
	* testsuite/23_containers/set/insert/1.cc: Likewise.
	* testsuite/23_containers/set/invalidation/1.cc: Likewise.
	* testsuite/23_containers/set/invalidation/2.cc: Likewise.
	* testsuite/23_containers/set/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/stack/members/7158.cc: Likewise.
	* testsuite/23_containers/vector/bool/6886.cc: Likewise.
	* testsuite/23_containers/vector/capacity/1.cc: Likewise.
	* testsuite/23_containers/vector/capacity/8230.cc: Likewise.
	* testsuite/23_containers/vector/cons/1.cc: Likewise.
	* testsuite/23_containers/vector/cons/2.cc: Likewise.
	* testsuite/23_containers/vector/cons/3.cc: Likewise.
	* testsuite/23_containers/vector/cons/6513.cc: Likewise.
	* testsuite/23_containers/vector/element_access/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/3.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/1.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/2.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/vector/resize/1.cc: Likewise.
	* testsuite/24_iterators/back_insert_iterator.cc: Likewise.
	* testsuite/24_iterators/front_insert_iterator.cc: Likewise.
	* testsuite/24_iterators/insert_iterator.cc: Likewise.
	* testsuite/24_iterators/iterator.cc: Likewise.
	* testsuite/25_algorithms/copy/1.cc: Likewise.
	* testsuite/25_algorithms/copy/2.cc: Likewise.
	* testsuite/25_algorithms/copy/3.cc: Likewise.
	* testsuite/25_algorithms/copy/4.cc: Likewise.
	* testsuite/25_algorithms/equal.cc: Likewise.
	* testsuite/25_algorithms/fill/1.cc: Likewise.
	* testsuite/25_algorithms/fill/2.cc: Likewise.
	* testsuite/25_algorithms/min_max.cc: Likewise.
	* testsuite/25_algorithms/rotate.cc: Likewise.
	* testsuite/25_algorithms/unique/1.cc: Likewise.
	* testsuite/25_algorithms/unique/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
	* testsuite/ext/concept_checks.cc: Likewise.
	* testsuite/ext/hash_map/1.cc: Likewise.
	* testsuite/ext/hash_set/1.cc: Likewise.
	* testsuite/ext/rope/1.cc: Likewise.
	* testsuite/ext/rope/2.cc: Likewise.
	* testsuite/ext/rope/3.cc: Likewise.
	* testsuite/thread/pthread1.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

From-SVN: r96551
2005-03-16 11:24:36 +00:00
Steven Bosscher
b8c4a565c9 tree-inline.c (walk_type_fields, [...]): Move from here...
* tree-inline.c (walk_type_fields, walk_tree,
        walk_tree_without_duplicates): Move from here...
        * tree.c: ...to here.

From-SVN: r96550
2005-03-16 09:01:20 +00:00
Zack Weinberg
a1286ef574 gcc-version.m4: Delete.
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
2005-03-16 06:04:10 +00:00
Roger Sayle
0ebfd2c928 re PR tree-optimization/17454 (ICE with --enable-checking=fold)
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
2005-03-16 02:20:05 +00:00
Geoffrey Keating
c79e602b63 charset.c (_cpp_valid_ucn): In identifiers, reject a partial UCN rather than printing an error.
2005-03-15  Geoffrey Keating  <geoffk@apple.com>

	* charset.c (_cpp_valid_ucn): In identifiers, reject a partial
	UCN rather than printing an error.

Index: gcc/testsuite/ChangeLog
2005-03-15  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/cpp/ucnid-7.c: New.

From-SVN: r96546
2005-03-16 00:59:31 +00:00
Vincent Celier
2532808d17 mlib-tgt-darwin.adb (Library_Exist_For, [...]): Add new parameter In_Tree to specify the project tree...
* 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
2005-03-16 01:32:38 +01:00
GCC Administrator
c96a2f400d Daily bump.
From-SVN: r96543
2005-03-16 00:16:26 +00:00
Paolo Carlini
b0de85997d re PR libstdc++/20352 (FAIL: 26_numerics/complex/pow.cc execution test)
2005-03-15  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20352
	* include/std/std_complex.h (pow(const complex<_Tp>&,
	const _Tp&)): On non-c99 platforms, don't try to compute
	log of complex zero.

From-SVN: r96538
2005-03-15 23:38:54 +00:00
Roger Sayle
69f39b11aa optabs.c (expand_doubleword_mult): Avoid clobbering op0 and op1 whilst expanding the signed widenening multiply...
* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
	op1 whilst expanding the signed widenening multiply variant.

From-SVN: r96537
2005-03-15 23:30:23 +00:00
Richard Sandiford
d522e7a222 toplev.c (display_target_options): Avoid unused variable warning if TARGET_SWITCHES and TARGET_OPTIONS are both...
* toplev.c (display_target_options): Avoid unused variable warning if
	TARGET_SWITCHES and TARGET_OPTIONS are both undefined.
	* config/mips/mips.c (mips_arch_string, mips_tune_string): Make static.
	(mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete.
	(mips_isa): Initialize to MIPS_ABI_DEFAULT.
	(mips_isa_info): New variable.
	(mips_parse_cpu): Remove the first argument and leave the caller
	to report errors.
	(TARGET_HANDLE_OPTION): Override default.
	(mips_handle_option): New function.  Move option validation code from...
	(override_options): ...here.  Update calls to mips_parse_cpu.
	* config/mips/mips.h (mips_arch_string, mips_tune_string)
	(mips_isa_string, mips_abi_string, TARGET_OPTIONS)
	(SUBTARGET_TARGET_OPTIONS): Delete.
	* config/mips/mips.opt (mabi=, march=, mflush-func=, mips)
	(mno-flush-func, mtune=): New options.

From-SVN: r96536
2005-03-15 23:02:37 +00:00
Jakub Jelinek
cf1665b99c re PR libgcj/20251 (libgcj configured with --enable-gtk-cairo fails on installation)
PR libgcj/20251
	* Makefile.am (libjawt_la_LIBADD): Add -L$(here)/.libs.
	* Makefile.in: Rebuilt.

From-SVN: r96533
2005-03-15 21:55:22 +01:00
Jakub Jelinek
e2d6b9b9c0 Make-lang.in (ada/treeprs.ads, [...]): Use unique subdirectories of ada/bldtools to avoid make -jN failures.
* 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
2005-03-15 21:51:17 +01:00
Roger Sayle
c064fde513 real.c (c4x_single_format, [...]): Provide values for signbit_ro for c4x's single and extended floating point formats.
* 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
2005-03-15 20:43:12 +00:00
Eric Botcazou
813edff1aa trans.c (gnat_to_gnu): Set gnu_result to NULL_TREE on entry.
* trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
	to NULL_TREE on entry.

From-SVN: r96528
2005-03-15 19:21:36 +00:00
Janis Johnson
3562bc34e8 target-supports.exp (check_vmx_hw_available): Use -maltivec for darwin.
* lib/target-supports.exp (check_vmx_hw_available): Use -maltivec for
        darwin.

Co-Authored-By: Dorit Naishlos <dorit@il.ibm.com>

From-SVN: r96527
2005-03-15 18:41:19 +00:00
Dorit Naishlos
5f55a1ba12 tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by known_alignment_for_access_p.
* 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-15 18:33:09 +00:00
Daniel Jacobowitz
119bb233e2 arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear call_used_regs for wCG registers.
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
	call_used_regs for wCG registers.

From-SVN: r96525
2005-03-15 17:45:55 +00:00
Joseph Myers
7fbdc950de inclhack.def (hpux_htonl): New fix.
* inclhack.def (hpux_htonl): New fix.
	* tests/base/netinet/in.h: New test.
	* fixincl.x: Regenerate.

From-SVN: r96522
2005-03-15 17:37:03 +00:00
David Daney
6dcd18b9aa natPlainSocketImplPosix.cc (read_helper): Handle count == 0 case.
2005-03-15  David Daney  <ddaney@avtrex.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (read_helper): Handle
	count == 0 case.

2005-03-15  David Daney  <ddaney@avtrex.com>

	* java/io/BufferedInputStream.java (available): Use 'in' instead
	of 'super' for underlying stream access.
	(close): Ditto.
	(read(byte[], int, int)): Ditto.
	(refill): Ditto.
	(skip): Call skip on underlying stream when possible.

From-SVN: r96516
2005-03-15 16:46:51 +00:00
Arnaud Charlet
4f51c6e7ca resync.
From-SVN: r96514
2005-03-15 17:25:14 +01:00
Geert Bosch
0f1b0456bf gnat_ugn.texi: Remove extended inline assembly example...
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-15 17:20:14 +01:00
Arnaud Charlet
1a49cf99b7 [multiple changes]
2005-03-08  Robert Dewar  <dewar@adacore.com>

	* s-bitops.adb, s-bitops.ads,
	s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
	s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
	tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
	s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
	s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
	s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
	s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
	s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
	reformatting.

2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>

	* utils2.c (build_binary_op): Fix typo.

2005-03-08  Doug Rupp  <rupp@adacore.com>

	* s-crtl.ads (popen,pclose): New imports.

2005-03-08  Cyrille Comar  <comar@adacore.com>

	* comperr.adb (Compiler_Abort): remove references to obsolete
	procedures in the bug boxes for various GNAT builds.

2005-03-08  Vincent Celier  <celier@adacore.com>

	* snames.ads, snames.adb: Save as Unix text file, not as DOS text file

From-SVN: r96512
2005-03-15 17:19:40 +01:00
Robert Dewar
728c3084ee usage.adb: Add missing lines for -gnat95 and -gnat05 switches
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-15 17:19:12 +01:00
Matthew Gingell
e965f6ad7e sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
2005-03-08  Matthew Gingell  <gingell@adacore.com>

	* sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.

From-SVN: r96510
2005-03-15 17:18:57 +01:00
Gary Dismukes
d08160311a s-imgwch.adb: Add with and use of Interfaces.
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-15 17:18:42 +01:00
Geert Bosch
4275704c44 s-fatgen.adb (Valid): Extend special exceptions to account for long long float padding to also cover...
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-15 17:18:21 +01:00
Ed Schonberg
5eb10f25ac sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic...
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-15 17:18:01 +01:00
Ed Schonberg
9865d858f1 sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is attached to a list before checking whether it...
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-15 17:17:37 +01:00
Ed Schonberg
1a8fae9978 sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked Eliminated as candidates for resolution.
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-15 17:14:07 +01:00
Ed Schonberg
482a63fb77 re PR ada/15608 (Bug box at sem_ch3.adb:8228)
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-15 17:12:58 +01:00
Javier Miranda
89167cad83 sem_ch12.adb (Instantiate_Object): If the analysis of the actual parameter reported some error we immediately return.
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-15 17:12:36 +01:00
Ed Schonberg
f5905c0beb sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an instantiation that has been rewritten as a package body...
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-15 17:12:20 +01:00
Robert Dewar
c8427bff14 Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
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-15 17:10:45 +01:00
Doug Rupp
73f0204748 re PR ada/6852 (gnatlib fails to build with newlib because it doesn't set up the include path)
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-15 17:10:20 +01:00
Pascal Obry
9c2d872c6a re PR ada/20226 (Error in __gnat_install_SEH_handler breaks bootstrap)
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
2005-03-15 17:02:26 +01:00
Doug Rupp
454ff542f8 gnatchop.adb (Locate_Executable): Normalize the possibly VMS style Command_Name.
2005-03-08  Doug Rupp  <rupp@adacore.com>

	* gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
	Command_Name.

From-SVN: r96498
2005-03-15 17:02:05 +01:00
Thomas Quinot
6e40e48148 exp_tss.ads, [...] (Find_Inherited_TSS): New subprogram...
2005-03-08  Thomas Quinot  <quinot@adacore.com>

	* exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
	here from exp_attr so it can be shared between exp_attr and exp_dist.
	(TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
	all TSS names, not a subset thereof, and the previous name introduced
	an unnecessarily confusion that a distinction might exist between
	"OK" TSS names and some "not OK" TSS names.

From-SVN: r96497
2005-03-15 17:01:51 +01:00
Robert Dewar
4ee27193ec exp_smem.adb, [...]: Remove OK_For_Stream flag, not used, not needed.
2005-03-08  Robert Dewar  <dewar@adacore.com>

	* exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
	not needed.
	Add documentation to replace the use of this flag
	Fix kludge for Maximum_Alignment on x86 so that it does not apply to
	the x86_64.

From-SVN: r96496
2005-03-15 17:01:34 +01:00
Ed Schonberg
b7cdaf8d70 exp_intr.adb (Expand_Unc_Conversion): As a target type...
2005-03-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
	that appears in the instantiation rather than the internal subtype
	generated in the wrapper package, to avoid anomalies in gigi when the
	target is derived from a private type whose full view is an access type.

From-SVN: r96495
2005-03-15 17:01:19 +01:00
Ed Schonberg
a877ccc41a exp_ch7.adb (Convert_View): Use base types of underlying types when determining whether an unchecked...
2005-03-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch7.adb (Convert_View): Use base types of underlying types when
	determining whether an unchecked conversion is needed for the argument
	of an initialization call.

From-SVN: r96494
2005-03-15 17:00:42 +01:00
Robert Dewar
f44fe43027 re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1)
2005-03-08  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	PR ada/19900

	* exp_pakd.adb (Create_Packed_Array_Type): Do not set
	Must_Be_Byte_Aligned for cases where we do not need to use a
	System.Pack_nn unit.

	* exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
	as procedures.
	Needed now that we do some processing for IN parameters as well. This
	may well fix some unrelated errors.
	(Expand_Call): Handle case of unaligned objects (in particular those
	that come from packed arrays).
	(Expand_Inlined_Call): If the subprogram is a renaming as body, and the
	renamed entity is an inherited operation, re-expand the call using the
	original operation, which is the one to call.
	Detect attempt to inline parameterless recursive subprogram.
	(Represented_As_Scalar): Fix to work properly with private types
	(Is_Possibly_Unaligned_Object): Major rewrite to get a much more
	accurate estimate. Yields True in far fewer cases than before,
	improving the quality of code that depends on this test.
	(Remove_Side_Effects): Properly test for Expansion_Delayed and handle
	case when it's inside an N_Qualified_Expression.

	* exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
	over both visible and private declarations to remove them from tree,
	and mark subprograms declared in package as eliminated, to prevent
	spurious use in subsequent compilation of generic units in the context.

	* exp_util.ads: Minor cleanup in variable names

	* sem_eval.ads, sem_eval.adb: Minor reformatting
	(Compile_Time_Known_Bounds): New function

From-SVN: r96493
2005-03-15 17:00:26 +01:00
Eric Botcazou
c6823a20b2 re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1)
2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>
	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
	    Nicolas Setton  <setton@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	PR ada/19900
	PR ada/19408
	PR ada/19140
	PR ada/20255

	* decl.c (gnat_to_gnu_field): Reject aliased components with a
	representation clause that prescribes a size not equal to the rounded
	size of their types.
	(gnat_to_gnu_entity, case E_Component): Always look at
	Original_Record_Component if Present and not the entity.
	(gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
	of tagged extension types by not making field for components that are
	inside the parent.
	(gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
	(gnat_to_gnu_entity) <E_Variable>: Do not convert again the
	expression to the type of the object when the object is constant.
	Reverse defer_debug_incomplete_list before traversing it, so that trees
	are processed in the order at which they were added to the list. This
	order is important when using the stabs debug format.
	If we are deferring the output of debug information, also defer this
	output for a function return type.
	When adding fields to a record, prevent emitting debug information
	for incomplete records, emit the information only when the record is
	complete.
	(components_to_record): New parameter defer_debug.
	(gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
	(gnat_to_gnu_field_decl): New function.
	(substitution_list, annotate_rep): Call it.
	(gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
	(gnat_to_gnu_entity, case E_Record_Type): Likewise.
	No longer update discriminants to not be a COMPONENT_REF.
	(copy_alias_set): Strip padding from input type; also handle
	unconstrained arrays properly.

	* gigi.h (write_record_type_debug_info): New function.
	Convert to use ANSI-style prototypes. Remove unused
	declarations for emit_stack_check, elab_all_gnat and
	set_second_error_entity.
	(gnat_to_gnu_field_decl): New decl.

	* utils.c (write_record_type_debug_info): New function.
	(finish_record_type): Delegate generation of debug information to
	write_record_type_debug_info.
	(update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
	(update_pointer_to): Fix pasto.
	(convert) <UNION_TYPE>: Accept slight type variations when
	converting to an unchecked union type.

	* exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
	replace the N_Freeze_Entity with a null statement.

	* freeze.adb (Freeze_Expression): If the freeze nodes are generated
	within a constrained subcomponent of an enclosing record, place the
	freeze nodes in the scope stack entry for the enclosing record.
	(Undelay_Type): New Subprogram.
	(Set_Small_Size): Pass T, the type to modify; all callers changed.
	(Freeze_Entity, Freeze_Record_Type): Change the way we handle types
	within records; allow them to have freeze nodes if their base types
	aren't frozen yet.

	* sem_ch3.adb (Derived_Type_Declaration): New predicate
	Comes_From_Generic, to recognize accurately that the parent type in a
	derived type declaration can be traced back to a formal type, because
	it is one or is derived from one, or because its completion is derived
	from one.
	(Constrain_Component_Type): If component comes from source and has no
	explicit constraint, no need to constrain in in a subtype of the
	enclosing record.
	(Constrain_Access, Constrain_Array): Allow itypes to be delayed.
	Minor change to propagate Is_Ada_2005 flag

	* trans.c (gnat_to_gnu, case N_Aggregate): Verify that
	Expansion_Delayed is False.
	(assoc_to_constructor): Ignore fields that have a
	Corresponding_Discriminant.
	(gnat_to_gnu) <N_Return_Statement>: Restructure. If the
	function returns "by target", dereference the target pointer using the
	type of the actual return value.
	<all>: Be prepared for a null gnu_result.
	(processed_inline_subprograms): Check flag_really_no_inline
	instead of flag_no_inline.
	(set_second_error_entity): Remove unused function.
	(gnat_to_gnu, case N_Selected_Component): Call
	gnat_to_gnu_field_decl.
	(assoc_to_constructor): Likewise.

From-SVN: r96492
2005-03-15 16:59:54 +01:00
Thomas Quinot
3a8b9f38bf checks.adb (Get_E_First_Or_Last): When the expression being retrieved is an N_Raise_Constraint_Error node...
2005-03-08  Thomas Quinot  <quinot@adacore.com>

	* checks.adb (Get_E_First_Or_Last): When the expression being retrieved
	is an N_Raise_Constraint_Error node, create a new copy of it without
	going through a call to Duplicate_Subexpr.

From-SVN: r96491
2005-03-15 16:58:36 +01:00