OSDN Git Service

19 years ago2001-12-12 Matthias Klose <doko@debian.org>
doko [Fri, 14 Dec 2001 22:46:31 +0000 (22:46 +0000)]
2001-12-12  Matthias Klose  <doko@debian.org>

* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
generation of more than one man page from one source.
Add '-' to set of valid chars for an identifier.
Let -D option accept flags of the form <flag>=<value>.
Use \s+ for whitespace detection in '@c man' lines.
Handle @set and @clear independent of $output.
Substitute all @value{}'s in a line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48015 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config-lang.in: Update copyright notice
bosch [Fri, 14 Dec 2001 22:31:14 +0000 (22:31 +0000)]
* config-lang.in: Update copyright notice

* layout.adb: Remove commented out code.

* mdllfile.ads: Update copyright notice. Fix header format.

* sem_case.ads: Likewise.

* sem_ch3.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48014 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago For PR libgcj/5103:
tromey [Fri, 14 Dec 2001 21:56:29 +0000 (21:56 +0000)]
For PR libgcj/5103:
* libjava.jni/cxxtest.out: New file.
* libjava.jni/cxxtest.cc: New file.
* libjava.jni/cxxtest.java: New file.
* libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
assume there is a .cc file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48012 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
hubicka [Fri, 14 Dec 2001 21:28:49 +0000 (21:28 +0000)]
* predict.c (estimate_probability): Fix LOOP_EXIT heuristic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48010 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * combine.c (record_dead_and_set_regs): Use
zack [Fri, 14 Dec 2001 21:20:03 +0000 (21:20 +0000)]
* combine.c (record_dead_and_set_regs): Use
regs_invalidated_by_call.  Don't note stores for CALL_INSNs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48009 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-14 Roger Sayle <roger@eyesopen.com>
aj [Fri, 14 Dec 2001 21:06:35 +0000 (21:06 +0000)]
2001-12-14  Roger Sayle <roger@eyesopen.com>

* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
__builtin_fsqrt to __builtin_sqrt.
* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
* doc/extend.texi: Simplify documentation to match patch.
* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
* com.c (ffecom_init_0): Same, and fixed enumeration usage.
* acconfig.h: Test for __builtin_sqrt instead of
* acinclude.m4: Same.
* include/c_shadow/bits/std_cmath.h: Same.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48008 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config.gcc: Revamp target_cpu_default2 to strings;
hubicka [Fri, 14 Dec 2001 20:43:41 +0000 (20:43 +0000)]
* config.gcc: Revamp target_cpu_default2 to strings;
support new x86 variants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48007 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config.gcc: Revamp target_cpu_default2 to strings;
hubicka [Fri, 14 Dec 2001 20:27:05 +0000 (20:27 +0000)]
* config.gcc: Revamp target_cpu_default2 to strings;
support new x86 variants.
* i386.c (override_options): Default x86_cpu_string and x86_arch_string
properly; set prefetch_sse.
* i386.h (x86_prefetch_sse): Declare.
(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
* config/i386/i386.h (struct processor_costs): Add new members
  prefetch_block and simultaneous_prefetches.
* config/i386/i386.c (processor_costs structs): Add values for
  prefetch_block and simultaneous_prefetches.
* config/i386/i386.md (unspec values): Remove values for prefetch
  operations, which now use the PREFETCH rtx code.
  (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
  unified prefetch support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48006 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * diagnostic.c (sorry): Increment sorrycount before saving the
jason [Fri, 14 Dec 2001 20:13:55 +0000 (20:13 +0000)]
    * diagnostic.c (sorry): Increment sorrycount before saving the
        buffer state.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48005 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * class.c (get_dispatch_table): Fix java vtable layout
hboehm [Fri, 14 Dec 2001 19:01:02 +0000 (19:01 +0000)]
* class.c (get_dispatch_table): Fix java vtable layout
* decl.c (java_init_decl_processing): Initialize
alloc_no_finalizer_node, finalize_identifier_node.
* expr.c (class_has_finalize_method): New function.
(expand_java_NEW): Generate calls for finalizer-free allocation.
(build_invokevirtual): Fix java vtable layout for
* java-tree.h (enum java_tree_index): New entries:
(alloc_no_finalizer_node, finalize_deintifier_node): New macros.
(class_has_finalize_method): declare.
(HAS_FINALIZER_P): New macro.
* parse.y (patch_invoke): Generate calls for finalizer-free

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48004 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * i386.md (sqrt?f): Fix conditionals.
hubicka [Fri, 14 Dec 2001 18:54:46 +0000 (18:54 +0000)]
* i386.md (sqrt?f): Fix conditionals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48003 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * libjava/prims.cc: Some old cleanups. The collector now
hboehm [Fri, 14 Dec 2001 18:43:55 +0000 (18:43 +0000)]
* libjava/prims.cc: Some old cleanups.  The collector now
handles test for out of memory.
* libjava/prims.cc, libjava/gcj/javaprims.h:
(_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
New functions for finalizer-free allocation.
(jvmpi_notify_alloc): Became separate function.
* libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
revised vtable layout on IA64.  With TARGET_VTABLE_USES_DESCRIPTORS,
there is only one extra descriptor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48002 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config.gcc (alpha64-dec-*vms*): New case.
kenner [Fri, 14 Dec 2001 12:55:07 +0000 (12:55 +0000)]
* config.gcc (alpha64-dec-*vms*): New case.
* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
* config/alpha/xm-vms64.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48001 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
kenner [Fri, 14 Dec 2001 12:39:08 +0000 (12:39 +0000)]
* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
(alpha_write_linkage): Test for null alpha_links.
(vms_section_type_flags, vms_asm_named_section): Handle them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48000 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoFri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
hubicka [Fri, 14 Dec 2001 11:20:27 +0000 (11:20 +0000)]
Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>

* i386.c (ix86_fpmath, ix86_fpmath_string): New.
(override_option): Set ix86_fpmath.
* i386.h (MASK_MIX_SSE_I387): Remove.
(TARGET_MIX_SSE_I387): Use ix86_fpmath.
(TARGET_SWITCHES): Remove "mix-sse-i387".
(fpmath_unit): New enum.
(ix86_fpmath, ix86_fpmath_string): Declare.
* i386.md (swapsf): Fix condition.
(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
(fp_?f_*_nosse): New.
(fp_*): Use TARGET_SSE_MATH.
* invoke.texi (-mfpmath): Document.
(-msse2): Add.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47999 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agotweak comment
jason [Fri, 14 Dec 2001 11:19:28 +0000 (11:19 +0000)]
tweak comment

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47998 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * dwarf2out.c (output_die): Print the string in the comment for
jason [Fri, 14 Dec 2001 11:15:36 +0000 (11:15 +0000)]
    * dwarf2out.c (output_die): Print the string in the comment for
        a DW_FORM_strp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47997 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* netbsd.h (COLLECT_SHARED_INIT_FUNC)
rearnsha [Fri, 14 Dec 2001 11:03:49 +0000 (11:03 +0000)]
(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47996 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoDaily bump.
gccadmin [Fri, 14 Dec 2001 08:16:45 +0000 (08:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47995 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * regrename.c (kill_value_regno): Simplify chain removal.
rth [Fri, 14 Dec 2001 06:47:56 +0000 (06:47 +0000)]
    * regrename.c (kill_value_regno): Simplify chain removal.
        (kill_value): Kill all of HARD_REGNO_NREGS.
        (kill_set_value): Use kill_value not kill_value_regno.
        (kill_autoinc_value): Likewise.
        (copyprop_hardreg_forward): Don't collect refresh_blocks.
        Call delete_noop_moves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47992 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-13 Aldy Hernandez <aldyh@redhat.com>
aldyh [Fri, 14 Dec 2001 06:37:02 +0000 (06:37 +0000)]
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

* gcc.dg/altivec-4.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47991 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * attribs.c (c_common_attribute_table): Swap decl_req and type_req
aldyh [Fri, 14 Dec 2001 06:36:14 +0000 (06:36 +0000)]
    * attribs.c (c_common_attribute_table): Swap decl_req and type_req
for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47990 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-09 Aldy Hernandez <aldyh@redhat.com>
aldyh [Fri, 14 Dec 2001 06:27:51 +0000 (06:27 +0000)]
2001-12-09  Aldy Hernandez  <aldyh@redhat.com>

        * attribs.c (c_common_attribute_table): Swap decl_req and type_req
for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47989 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
jason [Fri, 14 Dec 2001 03:08:50 +0000 (03:08 +0000)]
    * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47988 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
jason [Fri, 14 Dec 2001 03:01:59 +0000 (03:01 +0000)]
    * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        * Make-lang.in (parse.h): Separate rule, just depend on parse.c.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47987 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-13 Aldy Hernandez <aldyh@redhat.com>
aldyh [Fri, 14 Dec 2001 02:43:26 +0000 (02:43 +0000)]
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
        constraint to base register.
        (eh_set_lr_si): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47986 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agorestore # lines
jason [Fri, 14 Dec 2001 02:30:48 +0000 (02:30 +0000)]
restore # lines

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47985 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * expr.c (expand_expr, case ADDR_EXPR): Don't honor
hp [Fri, 14 Dec 2001 02:16:33 +0000 (02:16 +0000)]
* expr.c (expand_expr, case ADDR_EXPR): Don't honor
flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.

* gcc.dg/20011113-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47984 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
kenner [Fri, 14 Dec 2001 01:37:46 +0000 (01:37 +0000)]
* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
warning and reformat comments.
(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
if overflow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47983 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/rs6000/rs6000.c (rs6000_override_options): Add
aldyh [Thu, 13 Dec 2001 23:14:45 +0000 (23:14 +0000)]
    * config/rs6000/rs6000.c (rs6000_override_options): Add

        * config/rs6000/eabialtivec.h: New file.

* config/rs6000/linuxaltivec.h: New file.

* config.gcc: Add powerpc-*-eabialtivec and

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47981 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-13 Phil Edwards <pme@gcc.gnu.org>
pme [Thu, 13 Dec 2001 23:11:49 +0000 (23:11 +0000)]
2001-12-13  Phil Edwards  <pme@gcc.gnu.org>

* docs/html/ext/howto.html:  Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47980 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * toplev.c (process_options, parse_options_and_default_flags):
neil [Thu, 13 Dec 2001 21:37:27 +0000 (21:37 +0000)]
* toplev.c (process_options, parse_options_and_default_flags):
Set flag_no_inline before the post_options hook.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47979 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
rth [Thu, 13 Dec 2001 17:50:02 +0000 (17:50 +0000)]
    * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
        is false.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47978 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * g++.old-deja/g++.jason/template31.C: Remove templates for classes
danglin [Thu, 13 Dec 2001 17:20:20 +0000 (17:20 +0000)]
* g++.old-deja/g++.jason/template31.C: Remove templates for classes
        std::__malloc_alloc_template<0> and
std::__default_alloc_template<false, 0>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47977 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * optimize.c (maybe_clone_body): Fix parameter updating.
jason [Thu, 13 Dec 2001 15:06:42 +0000 (15:06 +0000)]
    * optimize.c (maybe_clone_body): Fix parameter updating.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47976 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* collect2.c (COLLECT_SHARED_INIT_FUNC)
rearnsha [Thu, 13 Dec 2001 14:24:03 +0000 (14:24 +0000)]
(COLLECT_SHARD_FINI_FUNC): Define default values.
(write_c_file_stat): Use them to call construtor and destructor
functions in shared libraries.
* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)

* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
shared library.  Pass -shared through to the linker.
* config/arm/netbsd.h (LINK_SPEC): Likewise.

* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47975 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoUpdate whitespace.
kenner [Thu, 13 Dec 2001 14:23:21 +0000 (14:23 +0000)]
Update whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47974 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
rearnsha [Thu, 13 Dec 2001 13:58:47 +0000 (13:58 +0000)]
* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
the same way as we handle SYMBOL_REFS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47973 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * loop.c (remove_constant_addition): Fix prototype and whitespace.
kenner [Thu, 13 Dec 2001 12:56:49 +0000 (12:56 +0000)]
* loop.c (remove_constant_addition): Fix prototype and whitespace.
(emit_prefetch_instructions): Remove warnings and whitespace

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47972 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoNew objc tests for bitfield enumeration ivars
nicola [Thu, 13 Dec 2001 12:41:07 +0000 (12:41 +0000)]
New objc tests for bitfield enumeration ivars

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47971 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/alpha/vms-cc.c (preprocess_args): Fix forward
kenner [Thu, 13 Dec 2001 11:55:26 +0000 (11:55 +0000)]
* config/alpha/vms-cc.c (preprocess_args): Fix forward

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47970 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * predict.c (estimate_probability): Reorganize opcode heuristics.
hubicka [Thu, 13 Dec 2001 11:34:11 +0000 (11:34 +0000)]
* predict.c (estimate_probability): Reorganize opcode heuristics.

* i386.c (override_options): Recognize various CPU variants and set
SSE/MMX/3dNOW flags accordingly.
(MASK_*): Renumber.
(TARGET_FLAGS): Use new masks.
(CPP_CPU_SPECS): Recognize new CPU variants.
* invoke.texi (-mcpu): Update documentation.

* flags.h (flag_prefetch_loop_arrays): Declare.
* loop.h (LOOP_PREFETCH): Define new constant.
* loop.c (strength_reduce): Call emit_prefetch_instructions.
(check_store_data): New structure.
(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
New functions.
* toplev.c: Include insn-flags.h.
(flag_prefetch_loop_arrays): New global variable.
(lang_independent_option): Add -fprefetch-loop-arrays.
(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
        is set.
* Makefile.in (toplev.c): Depend on insn-flags.h.
* invoke.texi (-fprefetch-loop-arrays): Document.

* predict.c (estimate_probability): Distribute the loop exit
probability according to number of exit edges.

* cfgcleanup.c (insns_match_p): Break out from ...;
(flow_find_cross_jump): ... here;
(outgoing_edges_match): Add parameter MODE; attempt to match everything
except for tablejumps.
(try_crossjump_to_edge): Accept complex edges.
(try_crossjump_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47969 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-13 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 13 Dec 2001 11:12:56 +0000 (11:12 +0000)]
2001-12-13  Benjamin Kosnik  <bkoz@redhat.com>

* src/locale.cc (locale::locale(const char*)): Deal with locales
named "".
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47968 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoDaily bump.
gccadmin [Thu, 13 Dec 2001 08:16:52 +0000 (08:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47966 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * prims.cc (_Jv_RunMain): Use `using' to simplify code. Set
tromey [Thu, 13 Dec 2001 04:19:36 +0000 (04:19 +0000)]
* prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
_Jv_Jar_Class_Path early.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47965 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
jason [Thu, 13 Dec 2001 01:37:52 +0000 (01:37 +0000)]
    * decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
        * semantics.c (genrtl_start_function): Don't pass
        parms_have_cleanups or push an extra binding level.
        (genrtl_finish_function): Lose cleanup_label cruft.

        * cp-tree.h (struct cp_language_function): Remove x_ctor_label.
        (ctor_label): Remove.
        * semantics.c (finish_return_stmt): Lose ctor_label support.
        * decl.c (finish_constructor_body, mark_lang_function): Likewise.
        * typeck.c (check_return_expr): Check DECL_DESTRUCTOR_P, not

        * call.c (build_new_method_call): Let resolves_to_fixed_type_p
        check for [cd]tors.
        * class.c (fixed_type_or_null, case INDIRECT_REF): Fix.

        * decl.c (finish_function): Check VMS_TARGET, not VMS.

        * decl.c (start_cleanup_fn): Remove redundant pushlevel.
        (end_cleanup_fn): And poplevel.

        * semantics.c (setup_vtbl_ptr): Always build a CTOR_INITIALIZER
        if we're in a template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47962 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
rth [Thu, 13 Dec 2001 01:21:52 +0000 (01:21 +0000)]
    * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
        instead of plus_constant.
        * simplify-rtx.c (neg_const_int): New.
        (simplify_gen_binary, simplify_plus_minus): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47961 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
rth [Thu, 13 Dec 2001 00:43:51 +0000 (00:43 +0000)]
    * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
        expand_builtin_strcpy): Additional arguments TARGET and MODE.
        (expand_builtin_bzero, expand_builtin_strcpy,
        expand_builtin_strncpy, expand_builtin_bzero): Pass additional
        TARGET and MODE parameters to the above functions.
        (expand_builtin_memset, expand_builtin_memcpy): Optimize the
        case where the LEN parameter is constant zero.
        (expand_builtin_memcmp): No longer conditional on
        HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
        the cases where len is either constant zero or one.
        Optimize to call to memcpy, even if the memcpy isn't inlined.
        (expand_builtin_strncpy): Optimize to call memcpy, even if the
        memcpy isn't inlined.
        (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
        to optimize to a call to memcmp.
        (expand_builtin): expand_builtin_memcmp can always be called,
        and pass the required parameters to expand_builtin_memcmp,
        expand_builtin_memset, expand_builtin_memcpy and

        * gcc.c-torture/execute/string-opt-14.c: New test case.
        * gcc.c-torture/execute/string-opt-15.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47960 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-12 Paolo Carlini <pcarlini@unitus.it>
paolo [Thu, 13 Dec 2001 00:41:03 +0000 (00:41 +0000)]
2001-12-12  Paolo Carlini  <pcarlini@unitus.it>

* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
: Adjust implicit typename.
* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
Adjust implicit typename.
* testsuite/27_io/streambuf.cc: Adjust implicit typename.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47958 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-12 David O'Brien <obrien@FreeBSD.org>
obrien [Thu, 13 Dec 2001 00:27:30 +0000 (00:27 +0000)]
2001-12-12  David O'Brien  <obrien@FreeBSD.org>
* config.gcc (arm-*-freebsd*): Add target.
* config/arm/freebsd.h: New file.
* config/arm/arm.h (CPP_PREDEFINES): Do not define.
(CPP_SPEC): #undef before defining.
(CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
* config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
* config/arm/linux-elf.h: Likewise.
* config/arm/netbsd.h: Likewise.
* config/arm/riscix.h: Likewise.
* config/arm/riscix1-1.h: Likewise.
* config/arm/semiaof.h: Likewise.

Approved by:  Richard Earnshaw <rearnsha@arm.com> (in private email)
              Message-Id: <200112121046.KAA09097@cam-mail2.cambridge.arm.com>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47957 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * freeze.ads: Update copyright date.
bosch [Thu, 13 Dec 2001 00:03:51 +0000 (00:03 +0000)]
* freeze.ads: Update copyright date.

* g-comlin.ads: Minor reformatting.

* gnat-style.texi: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47956 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * einfo.h: Regenerate.
bosch [Wed, 12 Dec 2001 23:56:56 +0000 (23:56 +0000)]
*  einfo.h: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47955 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
bosch [Wed, 12 Dec 2001 23:51:11 +0000 (23:51 +0000)]
* sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
on known node types, rather than untyped fields. Further cleanups.

* sem_ch12.adb:
(Save_Entity_Descendant): Minor comment update.
(Copy_Generic_Node): Deal with incorrect reference to Associated_Node
 of an N_Attribute_Reference node. As per note below, this does not
eliminate need for Associated_Node in attribute ref nodes.
(Associated_Node): Documentation explicitly mentions attribute
reference nodes, since this field is used in such nodes.

* sem_ch12.adb (Associated_Node): Minor documentation cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47954 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-12 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 12 Dec 2001 23:16:35 +0000 (23:16 +0000)]
2001-12-12  Benjamin Kosnik  <bkoz@redhat.com>

Named locale support for ctype<char>.
* config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
definitions for alternate constructor.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/irix6.5/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/irix5.2/bits/ctype_noninline.h (ctype): Same.
* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
* config/os/generic/bits/ctype_noninline.h (ctype): Same.
* config/os/djgpp/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
* config/os/aix/bits/ctype_noninline.h (ctype): Same.
* include/bits/locale_facets.h (ctype<_CharT>): Remove dummy
definitions for all virtual functions. These are now explicitly
undefined for non-required factets, ie any non-char, non-wchar_t
* src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
locales use alternate constructor for ctype facet.
* include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
mask*, bool, size_t): Add.
(ctype<wchar_t>::ctype(__c_locale, size_t): Add.
* src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add

* testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
XFAIL for non-gnu locale models.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47953 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
rodrigc [Wed, 12 Dec 2001 23:08:07 +0000 (23:08 +0000)]
2001-12-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>

        PR other/2719
        * cplus-dem.c (consume_count): Treat negative count as an error.
        * testsuite/demangle-expected: Added testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47952 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * regrename.c (copyprop_hardreg_forward): New optimization.
rth [Wed, 12 Dec 2001 22:50:05 +0000 (22:50 +0000)]
    * regrename.c (copyprop_hardreg_forward): New optimization.
        (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
        kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
        replace_oldest_value_reg, replace_oldest_value_addr,
        replace_oldest_value_mem, copyprop_hardreg_forward_1,
        debug_value_data, validate_value_data): New.
        * rtl.h (copyprop_hardreg_forward): Declare.
        * toplev.c (flag_cprop_registers): New.
        (f_options): Add -fcprop-registers
        (rest_of_compilation): Invoke it.
        (parse_options_and_default_flags): Set it at -O1.
        * doc/invoke.texi: Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47951 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * s-stalib.adb: Add more comments on with statements being needed
bosch [Wed, 12 Dec 2001 21:26:45 +0000 (21:26 +0000)]
* s-stalib.adb: Add more comments on with statements being needed

* par-ch12.adb: Minor reformatting

* prj-dect.ads: Fix copyright header

* s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
inputs fit in 32 bits, but the result still overflows.

* s-fatgen.ads: Minor comment improvement

* sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
formal derived type, look for an inherited component from the full
view of the parent, if any.

* checks.ads (Apply_Alignment_Check): New procedure.

* exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
ensure that the alignment of objects with address clauses is
appropriate, and raise PE if not.

* exp_util.ads (Must_Be_Aligned): Removed, replaced by

* mdllfile.ads: Minor reformatting

* mlib-fil.ads: Minor reformatting

* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
fix to any component reference if enclosing record has non-standard

* g-dirope.ads (Find, Wildcard_Iterator): Moved to child package

* freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in

* impunit.adb: Add entry for GNAT.Directory_Operations.Iteration

* g-regexp.adb: Remove all debug code, since it isn't required anymore,
and it adds dependencies to system.io.

* g-dirope.adb (Expand_Path.Var): Correctly detect end of
variable name.

*** s-stalib.adb 2001/09/03 15:24:33 1.17
--- s-stalib.adb 2001/10/16 13:14:46 1.18
*** 46,59 ****
  --  elaboration circularities with Ada.Exceptions if polling is on.

  with System.Soft_Links;
! --  Referenced directly from generated code
! --  Also referenced from exception handling routines.
  --  This is needed for programs that don't use exceptions explicitely but
  --  direct calls to Ada.Exceptions are generated by gigi (for example,
  --  by calling __gnat_raise_constraint_error directly).

  with System.Memory;
! --  Referenced directly from generated code

  package body System.Standard_Library is

--- 46,62 ----
  --  elaboration circularities with Ada.Exceptions if polling is on.

  with System.Soft_Links;
! --  Referenced directly from generated code using external symbols so it
! --  must always be present in a build, even if no unit has a direct with
! --  of this unit. Also referenced from exception handling routines.
  --  This is needed for programs that don't use exceptions explicitely but
  --  direct calls to Ada.Exceptions are generated by gigi (for example,
  --  by calling __gnat_raise_constraint_error directly).

  with System.Memory;
! --  Referenced directly from generated code using external symbols, so it
! --  must always be present in a build, even if no unit has a direct with
! --  of this unit.

  package body System.Standard_Library is

*** par-ch12.adb 2001/10/19 15:22:18 1.48
--- par-ch12.adb 2001/10/19 15:24:48 1.49
*** 452,466 ****
        if Def_Node /= Error then
           Set_Formal_Type_Definition (Decl_Node, Def_Node);
           Decl_Node := Error;

           if Token = Tok_Semicolon then
-             --   Avoid further cascaded errors.
           end if;
        end if;

        return Decl_Node;
     end P_Formal_Type_Declaration;
--- 452,467 ----
        if Def_Node /= Error then
           Set_Formal_Type_Definition (Decl_Node, Def_Node);
           Decl_Node := Error;

+          --  If we have semicolon, skip it to avoid cascaded errors
           if Token = Tok_Semicolon then
           end if;
        end if;

        return Decl_Node;
     end P_Formal_Type_Declaration;

*** prj-dect.ads 2001/10/20 10:28:13 1.4
--- prj-dect.ads 2001/10/20 11:43:56 1.5
*** 8,14 ****
  --                                                                          --
  --                            $Revision$
  --                                                                          --
! --          Copyright (C) 2000-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 8,14 ----
  --                                                                          --
  --                            $Revision$
  --                                                                          --
! --             Copyright (C) 2001 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --

*** s-arit64.adb 2001/02/09 15:10:29 1.16
--- s-arit64.adb 2001/10/20 14:50:39 1.17
*** 325,337 ****
              T2 := Xhi * Ylo;
           end if;

!       else
!          if Yhi /= 0 then
!             T2 := Xlo * Yhi;
!          else
!             return X * Y;
!          end if;
        end if;

        T1 := Xlo * Ylo;
        T2 := T2 + Hi (T1);
--- 325,339 ----
              T2 := Xhi * Ylo;
           end if;

!       elsif Yhi /= 0 then
!          T2 := Xlo * Yhi;
!       else -- Yhi = Xhi = 0
!          T2 := 0;
        end if;
+       --  Here we have T2 set to the contribution to the upper half
+       --  of the result from the upper halves of the input values.

        T1 := Xlo * Ylo;
        T2 := T2 + Hi (T1);

*** s-fatgen.ads 2001/07/20 00:59:34 1.9
--- s-fatgen.ads 2001/10/20 18:37:39 1.10
*** 89,97 ****

     function Unbiased_Rounding (X : T)                       return T;

!    function Valid             (X : access T)                return Boolean;
!    --  The argument must be passed by reference here, as T may be
!    --  an abnormal value that can be passed in a floating point register.

     pragma Inline (Machine);
--- 89,100 ----

     function Unbiased_Rounding (X : T)                       return T;

!    function Valid (X : access T) return Boolean;
!    --  This function checks if the object of type T referenced by X
!    --  is valid, and returns True/False accordingly. The parameter is
!    --  passed by reference (access) here, as the object of type T may
!    --  be an abnormal value that cannot be passed in a floating-point
!    --  register, and the whole point of 'Valid is to prevent exceptions.

     pragma Inline (Machine);

*** sem_ch4.adb 2001/09/24 22:32:31 1.511
--- sem_ch4.adb 2001/10/21 17:41:52 1.512
*** 2691,2696 ****
--- 2691,2708 ----

              Check_Misspelled_Selector (Entity_List, Sel);

+          elsif Is_Generic_Type (Prefix_Type)
+            and then Ekind (Prefix_Type) = E_Record_Type_With_Private
+            and then Is_Record_Type (Etype (Prefix_Type))
+          then
+             --  If this is a derived formal type, the parent may have a
+             --  different visibility at this point. Try for an inherited
+             --  component before reporting an error.
+             Set_Etype (Prefix (N), Etype (Prefix_Type));
+             Analyze_Selected_Component (N);
+             return;
              if Ekind (Prefix_Type) = E_Record_Subtype then

*** checks.ads 2001/07/16 01:26:04 1.55
--- checks.ads 2001/10/28 15:13:02 1.56
*** 83,88 ****
--- 83,95 ----
     --  the object denoted by the access parameter is not deeper than the
     --  level of the type Typ. Program_Error is raised if the check fails.

+    procedure Apply_Alignment_Check (E : Entity_Id; N : Node_Id);
+    --  E is the entity for an object. If there is an address clause for
+    --  this entity, and checks are enabled, then this procedure generates
+    --  a check that the specified address has an alignment consistent with
+    --  the alignment of the object, raising PE if this is not the case. The
+    --  resulting check (if one is generated) is inserted before node N.
     procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id);
     --  N is the node for an object declaration that declares an object of
     --  array type Typ. This routine generates, if necessary, a check that

*** exp_ch13.adb 2001/07/16 21:21:29 1.76
--- exp_ch13.adb 2001/10/28 15:13:25 1.77
*** 27,32 ****
--- 27,33 ----

  with Atree;    use Atree;
+ with Checks;   use Checks;
  with Einfo;    use Einfo;
  with Exp_Ch3;  use Exp_Ch3;
  with Exp_Ch6;  use Exp_Ch6;
*** 236,245 ****
        Decl           : Node_Id;

!       if not Is_Type (E) and then not Is_Subprogram (E) then
        end if;

        E_Scope := Scope (E);

        --  If we are freezing entities defined in protected types, they
--- 237,256 ----
        Decl           : Node_Id;

!       --  For object, with address clause, check alignment is OK
!       if Is_Object (E) then
!          Apply_Alignment_Check (E, N);
!       --  Only other items requiring any front end action are
!       --  types and subprograms.
!       elsif not Is_Type (E) and then not Is_Subprogram (E) then
        end if;

+       --  Here E is a type or a subprogram
        E_Scope := Scope (E);

        --  If we are freezing entities defined in protected types, they
*** 304,314 ****

        elsif Is_Subprogram (E) then
           Freeze_Subprogram (N);
-       --  No other entities require any front end freeze actions
-       else
-          null;
        end if;

        --  Analyze actions generated by freezing. The init_proc contains
--- 315,320 ----

*** exp_util.ads 2001/07/23 10:05:17 1.112
--- exp_util.ads 2001/10/28 15:14:04 1.113
*** 372,386 ****
     --  routine is to help avoid generating troublesome temporaries that
     --  intefere with the stack checking mechanism.

-    function Must_Be_Aligned (Obj : Node_Id) return Boolean;
-    --  Given an object reference, determines whether or not the object
-    --  is required to be aligned according to its type'alignment value.
-    --  Normally, objects are required to be aligned, and the result will
-    --  be True. The situation in which this is not the case is if the
-    --  object reference involves a component of a packed array, where
-    --  the type of the component is not required to have strict alignment.
-    --  In this case, false will be returned.
     procedure Remove_Side_Effects
       (Exp          : Node_Id;
        Name_Req     : Boolean := False;
--- 372,377 ----

*** mdllfile.ads 2001/10/29 02:06:24 1.2
--- mdllfile.ads 2001/10/29 02:50:12 1.3
*** 26,52 ****
  --                                                                          --

! --  Simple services used by GNATDLL to deal with Filename extension.

  package MDLL.Files is

     No_Ext : constant String := "";

!    function Get_Ext (Filename : in String)
!                      return String;
!    --  return filename's extension.
!    function Is_Ali (Filename : in String)
!                     return Boolean;
!    --  test if Filename is an Ada library file (.ali).
!    function Is_Obj (Filename : in String)
!                     return Boolean;
!    --  test if Filename is an object file (.o or .obj).
!    function Ext_To (Filename : in String;
!                     New_Ext  : in String := No_Ext)
!                     return String;
!    --  return Filename with the extension change to New_Ext.

  end MDLL.Files;
--- 26,51 ----
  --                                                                          --

! --  Simple services used by GNATDLL to deal with Filename extension

  package MDLL.Files is

     No_Ext : constant String := "";
+    --  Used to mark the absence of an extension

!    function Get_Ext (Filename : String) return String;
!    --  Return extension of Filename
!    function Is_Ali (Filename : String) return Boolean;
!    --  Test if Filename is an Ada library file (.ali).
!    function Is_Obj (Filename : String) return Boolean;
!    --  Test if Filename is an object file (.o or .obj)
!    function Ext_To
!      (Filename : String;
!       New_Ext  : String := No_Ext)
!       return     String;
!    --  Return Filename with the extension change to New_Ext

  end MDLL.Files;

*** mlib-fil.ads 2001/10/29 02:06:26 1.3
--- mlib-fil.ads 2001/10/29 02:51:28 1.4
*** 36,51 ****
        return     String;
     --  Return Filename with the extension change to New_Ext.

!    function Get_Ext (Filename : in String) return String;
     --  Return extension of filename.

     function Is_Archive (Filename : String) return Boolean;
     --  Test if filename is an archive

!    function Is_C (Filename : in String) return Boolean;
     --  Test if Filename is a C file

!    function Is_Obj (Filename : in String) return Boolean;
     --  Test if Filename is an object file

  end MLib.Fil;
--- 36,51 ----
        return     String;
     --  Return Filename with the extension change to New_Ext.

!    function Get_Ext (Filename : String) return String;
     --  Return extension of filename.

     function Is_Archive (Filename : String) return Boolean;
     --  Test if filename is an archive

!    function Is_C (Filename : String) return Boolean;
     --  Test if Filename is a C file

!    function Is_Obj (Filename : String) return Boolean;
     --  Test if Filename is an object file

  end MLib.Fil;

*** exp_ch8.adb 2001/10/03 02:17:32 1.30
--- exp_ch8.adb 2001/10/29 17:32:24 1.31
*** 59,65 ****
     --  of the renamed object. The cases in which this is not true are when
     --  this address is not computable, since it involves extraction of a
     --  packed array element, or of a record component to which a component
!    --  clause applies (that can specify an arbitrary bit boundary).

     --  In these two cases, we pre-evaluate the renaming expression, by
     --  extracting and freezing the values of any subscripts, and then we
--- 59,66 ----
     --  of the renamed object. The cases in which this is not true are when
     --  this address is not computable, since it involves extraction of a
     --  packed array element, or of a record component to which a component
!    --  clause applies (that can specify an arbitrary bit boundary), or where
!    --  the enclosing record itself has a non-standard representation.

     --  In these two cases, we pre-evaluate the renaming expression, by
     --  extracting and freezing the values of any subscripts, and then we
*** 211,228 ****
              end if;

           elsif Nkind (Nam) = N_Selected_Component then
!             if Present (Component_Clause (Entity (Selector_Name (Nam)))) then
!                return True;

!             elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
!               and then Is_Record_Type (Etype (Prefix (Nam)))
!               and then not Is_Concurrent_Record_Type (Etype (Prefix (Nam)))
!             then
!                return True;

!             else
!                return Evaluation_Required (Prefix (Nam));
!             end if;

              return False;
--- 212,236 ----
              end if;

           elsif Nkind (Nam) = N_Selected_Component then
!             declare
!                Rec_Type : Entity_Id := Etype (Prefix (Nam));

!             begin
!                if Present (Component_Clause (Entity (Selector_Name (Nam))))
!                  or else Has_Non_Standard_Rep (Rec_Type)
!                then
!                   return True;
!                elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
!                  and then Is_Record_Type (Rec_Type)
!                  and then not Is_Concurrent_Record_Type (Rec_Type)
!                then
!                   return True;

!                else
!                   return Evaluation_Required (Prefix (Nam));
!                end if;
!             end;

              return False;

*** g-dirope.ads 2001/08/27 09:48:38 1.12
--- g-dirope.ads 2001/10/29 19:18:13 1.13
*** 38,43 ****
--- 38,47 ----
  --  can be treated as a file, using open and close routines, and a scanning
  --  routine is provided for iterating through the entries in a directory.

+ --  See also child package GNAT.Directory_Operations.Iteration
+ with Ada.Strings.Maps;
  package GNAT.Directory_Operations is

     subtype Dir_Name_Str is String;
*** 187,248 ****
     --  returned in target-OS form. Raises Directory_Error if Dir has not
     --  be opened (Dir = Null_Dir).

-    generic
-       with procedure Action
-         (Item  :        String;
-          Index :        Positive;
-          Quit  : in out Boolean);
-    procedure Wildcard_Iterator (Path : Path_Name);
-    --  Calls Action for each path matching Path. Path can include wildcards '*'
-    --  and '?' and [...]. The rules are:
-    --
-    --     *       can be replaced by any sequence of characters
-    --     ?       can be replaced by a single character
-    --     [a-z]   match one character in the range 'a' through 'z'
-    --     [abc]   match either character 'a', 'b' or 'c'
-    --
-    --  Item is the filename that has been matched. Index is set to one for the
-    --  first call and is incremented by one at each call. The iterator's
-    --  termination can be controlled by setting Quit to True. It is by default
-    --  set to False.
-    --
-    --  For example, if we have the following directory structure:
-    --     /boo/
-    --        foo.ads
-    --     /sed/
-    --        foo.ads
-    --        file/
-    --          foo.ads
-    --     /sid/
-    --        foo.ads
-    --        file/
-    --          foo.ads
-    --     /life/
-    --
-    --  A call with expression "/s*/file/*" will call Action for the following
-    --  items:
-    --     /sed/file/foo.ads
-    --     /sid/file/foo.ads
-    generic
-       with procedure Action
-         (Item  :        String;
-          Index :        Positive;
-          Quit  : in out Boolean);
-    procedure Find
-      (Root_Directory : Dir_Name_Str;
-       File_Pattern   : String);
-    --  Recursively searches the directory structure rooted at Root_Directory.
-    --  This provides functionality similar to the UNIX 'find' command.
-    --  Action will be called for every item matching the regular expression
-    --  File_Pattern (see GNAT.Regexp). Item is the full pathname to the file
-    --  starting with Root_Directory that has been matched. Index is set to one
-    --  for the first call and is incremented by one at each call. The iterator
-    --  will pass in the value False on each call to Action. The iterator will
-    --  terminate after passing the last matched path to Action or after
-    --  returning from a call to Action which sets Quit to True.
-    --  Raises GNAT.Regexp.Error_In_Regexp if File_Pattern is ill formed.
     function Read_Is_Thread_Safe return Boolean;
     --  Indicates if procedure Read is thread safe. On systems where the
     --  target system supports this functionality, Read is thread safe,
--- 191,196 ----
*** 259,263 ****
--- 207,215 ----
     Null_Dir : constant Dir_Type := null;

     pragma Import (C, Dir_Separator, "__gnat_dir_separator");
+    Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
+                 Ada.Strings.Maps.To_Set ("/\");
+    --  UNIX and DOS style directory separators.

  end GNAT.Directory_Operations;

*** freeze.ads 2001/10/29 02:06:04 1.15
--- freeze.ads 2001/10/30 01:36:24 1.16
*** 205,210 ****
--- 205,215 ----
     --  so need to be similarly treated. Freeze_Expression takes care of
     --  determining the proper insertion point for generated freeze actions.

+    procedure Freeze_Fixed_Point_Type (Typ : Entity_Id);
+    --  Freeze fixed point type. For fixed-point types, we have to defer
+    --  setting the size and bounds till the freeze point, since they are
+    --  potentially affected by the presence of size and small clauses.
     procedure Freeze_Itype (T : Entity_Id; N : Node_Id);
     --  This routine is called when an Itype is created and must be frozen
     --  immediately at the point of creation (for the sake of the expansion

*** impunit.adb 2001/09/26 07:14:11 1.14
--- impunit.adb 2001/10/30 04:33:45 1.15
*** 195,200 ****
--- 195,201 ----
       "g-curexc",    -- GNAT.Current_Exception
       "g-debpoo",    -- GNAT.Debug_Pools
       "g-debuti",    -- GNAT.Debug_Utilities
+      "g-diopit",    -- GNAT.Directory_Operations.Iteration
       "g-dirope",    -- GNAT.Directory_Operations
       "g-dyntab",    -- GNAT.Dynamic_Tables
       "g-exctra",    -- GNAT.Exception_Traces

*** g-regexp.adb 2001/10/21 11:04:16 1.28
--- g-regexp.adb 2001/10/30 15:25:04 1.29
*** 32,38 ****
  --                                                                          --

- with System.IO;
  with Unchecked_Deallocation;
  with Ada.Exceptions;
  with GNAT.Case_Util;
--- 32,37 ----
*** 73,82 ****
     end record;
     --  Deterministic finite-state machine

-    Debug : constant Boolean := False;
-    --  When True, the primary and secondary tables will be printed.
-    --  Gnat does not generate any code if this variable is False;
     -- Local Subprograms --
--- 72,77 ----
*** 188,199 ****
        pragma No_Return (Raise_Exception);
        --  Raise an exception, indicating an error at character Index in S.

-       procedure Print_Table
-         (Table      : Regexp_Array;
-          Num_States : State_Index;
-          Is_Primary : Boolean := True);
-       --  Print a table for debugging purposes
        -- Create_Mapping --
--- 183,188 ----
*** 1225,1309 ****
                 end loop;
              end loop;

-             if Debug then
-                System.IO.New_Line;
-                System.IO.Put_Line ("Secondary table : ");
-                Print_Table (R.States, Nb_State, False);
-             end if;
              return (Ada.Finalization.Controlled with R => R);
        end Create_Secondary_Table;

-       -----------------
-       -- Print_Table --
-       -----------------
-       procedure Print_Table
-         (Table      : Regexp_Array;
-          Num_States : State_Index;
-          Is_Primary : Boolean := True)
-       is
-          function Reverse_Mapping (N : Column_Index) return Character;
-          --  Return the character corresponding to a column in the mapping
-          ---------------------
-          -- Reverse_Mapping --
-          ---------------------
-          function Reverse_Mapping (N : Column_Index) return Character is
-          begin
-             for Column in Map'Range loop
-                if Map (Column) = N then
-                   return Column;
-                end if;
-             end loop;
-             return ' ';
-          end Reverse_Mapping;
-       --  Start of processing for Print_Table
-       begin
-          --  Print the header line
-          System.IO.Put ("   [*]  ");
-          for Column in 1 .. Alphabet_Size  loop
-             System.IO.Put
-               (String'(1 .. 1 => Reverse_Mapping (Column)) & "   ");
-          end loop;
-          if Is_Primary then
-             System.IO.Put ("closure....");
-          end if;
-          System.IO.New_Line;
-          --  Print every line
-          for State in 1 .. Num_States loop
-             System.IO.Put (State'Img);
-             for K in 1 .. 3 - State'Img'Length loop
-                System.IO.Put (" ");
-             end loop;
-             for K in 0 .. Alphabet_Size loop
-                System.IO.Put (Table (State, K)'Img & "  ");
-             end loop;
-             for K in Alphabet_Size + 1 .. Table'Last (2) loop
-                if Table (State, K) /= 0 then
-                   System.IO.Put (Table (State, K)'Img & ",");
-                end if;
-             end loop;
-             System.IO.New_Line;
-          end loop;
-       end Print_Table;
        -- Raise_Exception --
--- 1214,1223 ----
*** 1345,1356 ****
                (Table, Num_States, Start_State, End_State);
           end if;

-          if Debug then
-             Print_Table (Table.all, Num_States);
-             System.IO.Put_Line ("Start_State : " & Start_State'Img);
-             System.IO.Put_Line ("End_State   : " & End_State'Img);
-          end if;
           --  Creates the secondary table

           R := Create_Secondary_Table
--- 1259,1264 ----
*** 1451,1467 ****
           New_Table := new Regexp_Array (Table'First (1) .. New_Lines,
                                          Table'First (2) .. New_Columns);
           New_Table.all := (others => (others => 0));
-          if Debug then
-             System.IO.Put_Line ("Reallocating table: Lines from "
-                                 & State_Index'Image (Table'Last (1))
-                                 & " to "
-                                 & State_Index'Image (New_Lines));
-             System.IO.Put_Line ("   and columns from "
-                                 & Column_Index'Image (Table'Last (2))
-                                 & " to "
-                                 & Column_Index'Image (New_Columns));
-          end if;

           for J in Table'Range (1) loop
              for K in Table'Range (2) loop
--- 1359,1364 ----

*** g-dirope.adb 2001/10/31 21:36:04 1.20
--- g-dirope.adb 2001/11/01 16:39:33 1.21
*** 371,387 ****
                 E := E + 1;

                 Var_Name : loop
!                   exit Var_Name when E = Path'Last;

                    if Characters.Handling.Is_Letter (Path (E))
                      or else Characters.Handling.Is_Digit (Path (E))
                       E := E + 1;
-                      E := E - 1;
                       exit Var_Name;
                    end if;
                 end loop Var_Name;

                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
--- 371,388 ----
                 E := E + 1;

                 Var_Name : loop
!                   exit Var_Name when E > Path'Last;

                    if Characters.Handling.Is_Letter (Path (E))
                      or else Characters.Handling.Is_Digit (Path (E))
                       E := E + 1;
                       exit Var_Name;
                    end if;
                 end loop Var_Name;
+                E := E - 1;

                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
2001-12-11  Ed Schonberg <schonber@gnat.com>

* sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
that is the parent of other generics, the instance body replaces the
instance node.  Retrieve the instance of the spec, which is the one
that is visible in clients and within the body.

2001-12-11  Vincent Celier <celier@gnat.com>

* gnatmain.adb: Initial version.

* gnatmain.ads: Initial version.

* prj-attr.adb (Initialisation_Data): Add package Gnatstub.

* snames.adb: Updated to match snames.ads.

* snames.ads: Added Gnatstub.

2001-12-11  Vincent Celier <celier@gnat.com>

* prj-attr.adb (Initialization_Data): Change name from

2001-12-11  Emmanuel Briot <briot@gnat.com>

* g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+ and * applied to backslashed expressions like \r.

2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>

* g-os_lib.ads: String_List type added, Argument_List type is now
subtype of String_List.

2001-12-11  Robert Dewar <dewar@gnat.com>

* g-os_lib.ads: Change copyright to FSF
Add comments for String_List type

2001-12-11  Vincent Celier <celier@gnat.com>

* g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
string to the buffer).

2001-12-11  Ed Schonberg <schonber@gnat.com>

* freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in

* sem_attr.adb: Simplify previous fix for Address.
(Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
to avoid anomalies where the bound of the type appears to raise
constraint error.

2001-12-11  Robert Dewar <dewar@gnat.com>

* lib-xref.adb (Output_Refs): Make sure pointers are always properly

2001-12-11  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
renamed unit before checking for recursive instantiations.

2001-12-11  Emmanuel Briot <briot@gnat.com>

* prj.ads: Add comments for some of the fields.

2001-12-11  Robert Dewar <dewar@gnat.com>

* lib-xref.adb (Output_Refs): Don't output type references outside
the main unit if they are not otherwise referenced.

2001-12-11  Ed Schonberg <schonber@gnat.com>

* sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
code and diagnose additional illegal uses

* sem_util.adb (Is_Object_Reference): An indexed component is an
object only if the prefix is.

2001-12-11  Vincent Celier <celier@gnat.com>

* g-diopit.adb: Initial version.

* g-diopit.ads: Initial version.

* g-dirope.adb:
(Expand_Path): Avoid use of Unbounded_String
(Find, Wildcard_Iterator): Moved to child package Iteration

* Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS

2001-12-11  Robert Dewar <dewar@gnat.com>

* sem_attr.adb: Minor reformatting

2001-12-11  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb: Clarify some ???.

2001-12-11  Robert Dewar <dewar@gnat.com>

* exp_util.adb (Must_Be_Aligned): Removed, replaced by

* sem_ch13.adb (Check_Address_Alignment): Removed, extended
version is moved to Exp_Ch13.

2001-12-11  Robert Dewar <dewar@gnat.com>

* einfo.ads: Minor reformatting

* exp_ch5.adb: Add comment for previous.change

* ali.adb: New interface for extended typeref stuff.

* ali.ads: New interface for typeref stuff.

* checks.adb (Apply_Alignment_Check): New procedure.

* debug.adb: Add -gnatdM for modified ALI output

* exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.

* lib-xref.adb: Extend generation of <..> notation to cover
subtype/object types. Note that this is a complete rewrite,
getting rid of the very nasty quadratic algorithm previously
used for derived type output.

* lib-xref.ads: Extend description of <..> notation to cover
subtype/object types. Uses {..} for these other cases.
Also use (..) for pointer types.

* sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.

* exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
(Known_Aligned_Enough): Replaces Must_Be_Aligned.

2001-12-11  Vincent Celier <celier@gnat.com>

* gnatcmd.adb:

2001-12-11  Ed Schonberg  <schonber@gnat.com>

* sem_ch8.adb (Find_Selected_Component): improved search for a
candidate package in case of error.

* sem_ch12.adb (Inline_Instance_Body): place head of use_clause
chain back on scope stack before reinstalling use clauses.

* exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
is enabled, do not kill the code for the condition, to preserve

2001-12-11  Robert Dewar <dewar@gnat.com>

* checks.adb (Insert_Valid_Check): Apply validity check to expression
of conversion, not to result of conversion.

2001-12-11  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
before freezing parent. If the declarations are mutually recursive,
an access to the current record type may be frozen before the
derivation is complete.

2001-12-05  Vincent Celier <celier@gnat.com>

* gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,

* opt.ads:
(Bind_Only): New Flag
(Link_Only): New flag

* switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
and -l (Link_Only)

* makeusg.adb: Add new switches -b and -l. Update Copyright notice.

* make.adb:
(Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
(Gnatmake): Set the step flags. Only perform a step if the
corresponding step flag is True.
(Scan_Make_Arg): Reset the bind and link step flags when -u
or -gnatc has been specified.

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_eval.adb (Eval_Concatenation): If left operand is a null string,
get bounds from right operand.

* sem_eval.adb: Minor reformatting

* exp_util.adb (Make_Literal_Range): use bound of literal rather
than Index'First, its lower bound may be different from 1.

* exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
and C48009J

2001-12-05  Vincent Celier <celier@gnat.com>

* prj-nmsc.adb Minor reformatting

* prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
set and libraries are not supported.

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb (Build_Derived_Private_Type): set Public status of
private view explicitly, so the back-end can treat as a global
when appropriate.

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
 unit, always replace instance node with new body, for ASIS use.

2001-12-05  Vincent Celier <celier@gnat.com>

* prj-nmsc.adb (Language_Independent_Check): Issue a warning if
libraries are not supported and both attributes Library_Name and
Library_Dir are specified.

* prj-proc.adb (Expression): Set location of Result to location of
first term.

* Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
(prj-nmsc is now importing MLib.Tgt)

* prj-proc.adb: Put the change indicated above that was forgotten.

2001-12-05  Robert Dewar <dewar@gnat.com>

* Makefile.in: Add dependencies for System.IO for GNAT.Regexp

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
constraint, introduce explicit subtype declaration and derive from it.

* sem_ch3.adb: Minor reformatting

2001-12-05  Robert Dewar <dewar@gnat.com>

* checks.adb (Determine_Range): Increase cache size for checks.
Minor reformatting

* exp_ch6.adb: Minor reformatting
(Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
a parameter whose root type is System.Address, since treating such
subprograms as pure in the code generator is almost surely a mistake
that will lead to unexpected results.

* exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
change handling of conversions.

* g-regexp.adb: Use System.IO instead of Ada.Text_IO.

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb (Analyze_Object_Declaration): If expression is an
aggregate with static wrong size, attach generated Raise node to

2001-12-05  Robert Dewar <dewar@gnat.com>

* sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
Fixes compilation abandoned bomb in B24009B.

2001-12-05  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb:
Document use of Associated_Node on Selected_Components.
(Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
to clarify use of untyped descendant fields.

2001-12-05  Robert Dewar <dewar@gnat.com>

* prj-dect.ads: Add ??? comment
Add 2001 to copyright notice (was not done in after all)

* prj-part.adb: Minor reformatting. Reword one awkward error message.

* prj.ads: Minor reformatting throughout, and add some ??? comments

* snames.ads: Minor reformatting

2001-12-05  Geert Bosch <bosch@gnat.com>

* snames.adb: Autoupdate

2001-12-05  Vincent Celier <celier@gnat.com>

* prj-dect.adb (Parse): Rename parameter Modifying to Extends.

* prj-dect.ads (Parse): Rename parameter Modifying to Extends.

* prj-env.adb: Minor comment changes (modifying -> extends).

* prj-nmsc.adb: Minor comment changes (modifying -> extends).

* prj-part.adb (Parse_Single_Project): Change Tok_Modifying to

* prj.adb (Initialize): Change Modifying to Extends.

* scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.

* prj.ads: Minor comment change (Modifying -> extending).

* snames.ads: Change modifying to extends.

2001-12-05  Robert Dewar <dewar@gnat.com>

* sem_warn.adb: Remove stuff for conditionals, we are not going to
do this after all.

* sem_warn.ads: Remove stuff for conditionals, we are not going to
do this after all.  Add 2001 to copyright notice

2001-12-04  Geert Bosch <bosch@gnat.com>

*  einfo.h, sinfo.h, treeprs.ads: Regenerate.

2001-12-04  Robert Dewar <dewar@gnat.com>

* errout.adb (Error_Msg): Ignore attempt to put error msg at junk
location if we already have errors. Stops some cases of cascaded

* errout.adb: Improve comment.

2001-12-04  Robert Dewar <dewar@gnat.com>

* sem_ch12.adb:
(Analyze_Formal_Type_Definition): Defend against Error.
(Analyze_Formal_Subprogram): Defend against Error.

* par-ch12.adb (F_Formal_Type_Declaration): In case of error,
remove following semicolon if present. Removes cascaded error.

2001-12-04  Douglas B. Rupp <rupp@gnat.com>

* bindgen.adb:
(Gen_Exception_Table_Ada): Write "begin" and then return if Num
 exceptions equals 0.
(Gen_Exception_Table_C): Return if Num exceptions equals 0.
Fixes PIWG E tests (which have to be run with -gnatL).

2001-12-04  Robert Dewar <dewar@gnat.com>

* einfo.ads: Minor reformatting

2001-12-04  Ed Schonberg <schonber@gnat.com>

* einfo.ads: Block_Node points to the identifier of the block, not to
the block node itself, to preserve the link when the block is
rewritten, e.g. within an if-statement with a static condition.

* inline.adb (Cleanup_Scopes): recover block statement from block
entity using new meaning of Block_Node.

* sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
identifier of block node, rather than to node itself.

2001-12-04  Gary Dismukes <dismukes@gnat.com>

* layout.adb:
(Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
(Discrimify): Go back to setting the Etypes of the selected component
because the Vname component does not exist at this point and will
fail name resolution. Also set Analyzed.
Remove with and use of Sem_Res.

2001-12-04  Arnaud Charlet <charlet@gnat.com>

* Makefile.in: (HIE_SOURCES): add s-fat*.

2001-12-04  Robert Dewar <dewar@gnat.com>

* sem_attr.adb:
(Compile_Time_Known_Attribute): New procedure.
(Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
 proper range check.

2001-12-04  Ed Schonberg <schonber@gnat.com>

* sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
processing discriminants to diagnose illegal default values.

2001-12-04  Ed Schonberg <schonber@gnat.com>

* sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
access discriminant within a type extension that constrains its
parent discriminants.

2001-12-04  Ed Schonberg <schonber@gnat.com>

* sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
is malformed, use instance of Any_Id to allow analysis to proceed.

* par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
type definition is illegal.
(P_Formal_Derived_Type_Definition): Better recovery when TAGGED is

2001-12-04  Ed Schonberg <schonber@gnat.com>

* sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to

2001-12-04  Robert Dewar <dewar@gnat.com>

* errout.adb: Minor reformatting

2001-12-04  Robert Dewar <dewar@gnat.com>

* exp_util.adb: Minor reformatting from last change

* errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
which is a rewriting of an expression, traverse the original
expression to remove warnings that may have been posted on it.

2001-12-04  Ed Schonberg <schonber@gnat.com>

* exp_util.adb (Must_Be_Aligned): Return false for a component of a
record that has other packed components.

2001-12-04  Douglass B. Rupp <rupp@gnat.com>

* adaint.c: Minor cleanups.

2001-12-04  Douglass B. Rupp <rupp@gnat.com>

* adaint.c: Do not use utime.h on vxworks.

2001-12-04  Arnaud Charlet <charlet@gnat.com>

* Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
more confusion than it solves.

2001-12-04  Geert bosch <bosch@gnat.com>

* einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.

2001-12-04  Geert Bosch  <bosch@gnat.com>

* Makefile.in (update-sources): New target.
For use by gcc_release script.

2001-12-04  Ed Schonberg <schonber@gnat.com>

* sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
a configuration pragma, it is now legal wherever a pragma can appear.

2001-12-04  Zack Weinberg  <zack@codesourcery.com>

* Makefile.in: Don't set ALL.  Delete @cross_defines@,
@cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
is now @CROSS@ -DIN_GCC; update comment.

2001-12-04  Robert Dewar <dewar@gnat.com>

* einfo.adb (Has_Pragma_Pure_Function): New flag.
Fix problem that stopped ceinfo from working

* einfo.ads (Has_Pragma_Pure_Function): New flag.

* sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.

2001-12-04  Douglas B. Rupp <rupp@gnat.com>

* gnatchop.adb:
(File_Time_Stamp): New procedure.
(Preserve_Mode): New boolean.
(Write_Unit): Pass time stamp.
Implement -p switch (preserve time stamps).

* gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).

* gnatchop.adb: Do usage info for -p switch

* adaint.h (__gnat_set_file_time_name): New function

* adaint.c (__gnat_set_file_time_name): Implement

* adaint.h: Fix typo

2001-12-03  Robert Dewar <dewar@gnat.com>

* sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
        have Associated_Node.

2001-12-03  Robert Dewar <dewar@gnat.com>

* prj-proc.adb: Minor reformatting

* make.adb: Minor reformatting

2001-12-03  Geert Bosch <bosch@gnat.com>

* make.adb: Minor reformatting.

2001-12-03 Robert Dewar  <dewar@gnat.com>

* sem_ch12.adb: Minor reformatting

2001-12-03  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
push Standard on the stack before analyzing the instance body,
in order to have a clean visibility environment.

* sem_ch12.adb (Inline_Instance_Body): Remove redundant code.

2001-12-03  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb (Instantiate_Package_Body): Protect against double
instantiation of a body that contains an inlined body.

2001-12-03  Ed Schonberg <schonber@gnat.com>

* sem_ch12.adb:
(Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
to prevent freezing within formal packages.
(Freeze_Subprogram_Body): If body comes from another instance that
appeared before its own body, place freeze node at end of current
declarative part, to prevent a back-end crash.
(Inline_Instance_Body): Handle properly a package instance within
a subprogram instance that is a child unit.

2001-12-01  Graham Stott  <grahams@redhat.com>

* Makefile.in (misc.o): Add missing $(srcdir) prefix
and add optabs.h dependency.

* misc.c: Include optabs.h
(gnat_tree_code_type): Make static and const.
(gnat_tree_code_length): Likewise.
(gnat_tree_code_name): Likewise.
(update_setjmp_buf): Obtain operands mode from insn_data.

2001-11-29  Richard Henderson  <rth@redhat.com>

* init.c: Remove obsolete dwarf2 frame.h section.

2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>

* Make-lang.in (ada.generated-manpages): New dummy target.

2001-11-29  Ed Schonberg <schonber@gnat.com>

* g-os_lib.adb (Add_To_Command): use explicit loop to move string
into Command, an array conversion is illegal here. Uncovered by
ACATS B460005.

2001/11/28  Geert Bosch <bosch@gnat.com>

* init.c: Minor whitespace changes.

2001-11-28  Doug Rupp <rupp@gnat.com>

* init.c: (__gnat_install_handler,VMS): Increase size of alternate
signal stack.

2001-11-28  Zack Weinberg  <zack@codesourcery.com>

* misc.c (gnat_expand_constant): Move declaration above
definition of lang_hooks.
(LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
(gnat_init): lang_expand_constant no longer exists.

(internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
always have vprintf.
(gnat_init): Always call set_internal_error_function.

2001-11-27  Andreas Jaeger  <aj@suse.de>

* Makefile.in (stamp-tool_src_dir): Use symbolic link.

2001-11-27  Laurent Guerby  <guerby@acm.org>

* Makefile.in: Regenerate Ada dependencies.

2001-11-26  Richard Henderson  <rth@redhat.com>

* Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.

2001-11-25  Laurent Guerby  <guerby@acm.org>

* sysdep.c (rts_get_*): Fix style.

2001-11-19  Laurent Guerby  <guerby@acm.org>

* Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
since it is of no apparent use and cause warnings.

2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>

* misc.c (gnat_decode_option, gnat_init_options): Make definitions
static too.
(gnat_init): Don't return NULL.
(finish_parse): Remove.

2001-11-17  Laurent Guerby  <guerby@acm.org>

* Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
* gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
* io-aux.c: Provide K&R prototypes to all functions, reformat code.
* lang-spec.h: Add missing struct field to silence warnings.
* sysdep.c (rts_get_*): Provide K&R prototype.
* sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
* traceback.c (Unlock_Task, Lock_Task): Likewise.
* tracebak.c (__gnat_backtrace): Remove unused variable.
* utils.c (end_subprog_body): Move to K&R style.

Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.

2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>

* misc.c (gnat_init): Change prototype.  Include the
functionality of the old init_parse and init_decl_processing.
(gnat_init_decl_processing): New prototype.
(init_parse): Remove.
* utils.c (init_decl_processing): Rename gnat_init_decl_processing.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

* misc.c (gnat_print_decl, gnat_print_type): Renamed.
(print_lang_statistics, lang_print_xnode, print_lang_identifier,
set_yydebug): Remove.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

(struct lang_hooks): Constify.
(language_string, lang_identify): Remove.
* utils.c (init_decl_processing): Update.

2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

* misc.c: Include langhooks-def.h.
* Makefile.in: Update.

2001-10-30  Robert Dewar <dewar@gnat.com>

* style.adb:
(Check_Identifier): Rewrite circuit to be compatible with use of letters
in the upper half of ASCII.
(Check_Identifier): Minor reformatting

2001-10-30  Geert Bosch <bosch@gnat.com>

* (Associated_Node, Set_Associated_Node): Do not check for

2001-10-30  Robert Dewar <dewar@gnat.com>

* a-reatim.ads: Minor reformatting

2001-10-30  Robert Dewar <dewar@gnat.com>

* gnatdll.adb: Minor reformatting throughout. Many ??? added for
undocumented declarations.

2001-10-30  Pascal Obry <obry@gnat.com>

* gnatdll.adb (Parse_Command_Line): handle -g option to be passed
to the binder and linker.
Minor style fix.

* mdll.ads: Fix layout.  Update copyright notice.

* mdll.adb: Fix layout.  Update copyright notice.

2001-10-30  Robert Dewar <dewar@gnat.com>

* usage.adb: Minor fix to output for -gnaty.

2001-10-30  Ed Schonberg <schonber@gnat.com>

* a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
to accommodate all its possible values.

* a-reatim.adb (Split): Special-case handling of Time_Span_First
and of small absolute values of T.

2001-10-30  Richard Kenner <kenner@gnat.com>

* misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
set_mem_attributes since not needed and wrong if RESULT if a REG;
fixes ACATS failures.

2001-10-30  Geert Bosch <bosch@gnat.com>

* 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.

2001-10-30  Robert Dewar <dewar@gnat.com>

* bindusg.adb: Undocument -f switch.

* gnatcmd.adb: Remove /FULL_ELABORATION.

* opt.ads (Force_RM_Elaboration_Order): Document that this is

* gnatbind.adb: Output new warning for use of obsolescent -f switch.

* gnatbind.adb: Minor update of warning msg.

2001-10-30  Vincent Celier <celier@gnat.com>

* gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
for project file switches (-P (/PROJECT_FILE=),

2001-10-30  Geert Bosch <bosch@gnat.com>

* decl.c: Minor whitespace fixes.

2001-10-30  Richard Kenner <kenner@gnat.com>

* utils2.c (build_allocator): Test for SIZE overflow in array case too

2001-10-30  Geert Bosch <bosch@gnat.com>

* ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
Found due to GCC 3.0 warning of using uninitialized value.

* layout.adb:
(Get_Max_Size): Use variant record for tracking value/expression.
 Makes logic clearer and prevents warnings for uninitialized variables.
(Layout_Array_Type): Use variant record for tracking value/expression.
 Makes logic clearer and prevents warnings for uninitialized variables.

2001-10-30  Robert Dewar <dewar@gnat.com>

* lib.adb: Minor reformatting

* s-taprop.ads: Minor reformatting

2001-10-29  Laurent Guerby  <guerby@acm.org>

* init.c:
(Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
(_gnat_error_handler): Make MSG const.

2001-10-29  Richard Kenner <kenner@gnat.com>

* sysdep.c: Fix localtime_r problem on LynxOS.
Also remove #elif to avoid warnings.

* misc.c (yyparse): Don't set up and register jmpbuf; remove decls
used by this.

* decl.c (annotate_value): Make SIZE unsigned to avoid warning.

2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>

* 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
types.ads, urealp.adb: Fix spelling errors.

2001-10-27  Laurent Guerby <guerby@acm.org>

* trans.c (gigi): Fix non determinism leading to bootstrap
comparison failures for debugging information.

2001-10-26  Florian Weimer  <fw@deneb.enyo.de>

* gnat_rm.texi: Use @./@: where appropriate.

2001-10-26  Robert Dewar <dewar@gnat.com>

* sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.

2001-10-26  Richard Kenner <kenner@gnat.com>

* gmem.c (__gnat_gmem_read_next): Properly check for EOF

2001-10-26  Richard Kenner <kenner@gnat.com>

* decl.c (validate_size): Modify message for bad size to avoid
implication that compiler is modifying the size.

2001-10-26  Robert Dewar <dewar@gnat.com>

* prj-util.adb: Minor reformatting. Fix bad header format.

2001-10-26  Robert Dewar <dewar@gnat.com>

* sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.

* sinfo.ads: Clarify use of Associated_Node (documentation only).

* sem_ch12.adb: Change Node4 to Associated_Node. Change
Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
much more narrowly in places where needed. These are cleanups.

2001-10-26  Joel Brobecker <brobecke@gnat.com>

* 5zosinte.ads (null_pthread): new constant.

* 5ztaprop.adb:
(Initialize_TCB): Initialize thread ID to null, to be able to verify
 later that this field has been set.
(Finalize_TCB): ditto.
(Suspend_Task): Verify that the thread ID is not null before using it.
(Resume_Task): ditto.

* s-tasdeb.adb:
(Resume_All_Tasks): Lock the tasks list before using it.
(Suspend_All_Tasks): ditto.

2001-10-26  Richard Kenner <kenner@gnat.com>

* decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
Make constant variant of designated type for Is_Access_Constant.
Call update_pointer_to with main variant.

* trans.c (process_freeze_entity, process_type):
Call update_pointer_to on main variant.

* utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
If main variant, update all other variants.

* utils2.c (build_unary_op, case INDIRECT_REF): No longer set

2001-10-26  Robert Dewar <dewar@gnat.com>

* prj-util.adb: Minor reformatting

2001-10-26  Robert Dewar <dewar@gnat.com>

* prj-util.adb: Minor reformatting

2001-10-26  Robert Dewar <dewar@gnat.com>

* prj-attr.adb: Minor reformatting throughout

2001-10-26  Robert Dewar <dewar@gnat.com>

* prj-attr.ads: Minor reformatting
Add ??? comment (this whole spec has almost no comments)

2001-10-26  Vincent Celier <celier@gnat.com>

* g-os_lib.adb (Normalize_Pathname): Preserve the double slash
        ("//") that precede the drive letter on Interix.

2001-10-26  Geert Bosch <bosch@gnat.com>

* gnat_rm.texi: Add GNAT Reference Manual.

2001-10-25  Robert Dewar <dewar@gnat.com>

* sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
        is Error. Similar change for other renaming cases.

2001-10-25  Robert Dewar <dewar@gnat.com>

* s-atacco.ads: Add pragma Inline_Always for functions.
Fix header format. Add copyright 2001

2001-10-25  Ed Schonberg <schonber@gnat.com>

* par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
        return Error rather than Empty so that analysis can proceed.

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_util.adb (Enter_Name): better handling of cascaded error
        messages when a unit appears in its own context.

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_util.adb (Defining_Entity): in case of error, attach created
        entity to specification, so that semantic analysis can proceed.

2001-10-25  Robert Dewar <dewar@gnat.com>

* sem_util.adb
        (Defining_Entity): Deal with Error.
(Process_End_Label): Deal with bad end label for.

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_elab.adb (Check_A_Call): refine message when call is in an
instance but callee is not declared in the generic unit.

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_elab.adb (Check_A_Call): check for renaming before finding the
enclosing unit, which may already be different from the calling unit.

2001-10-25  Geert Bosch <bosch@gnat.com>

* 4gintnam.ads: fix header format.

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_res.adb (Resolve_Call): if the call is actually an indexing
        operation on the result of a parameterless call, perform elaboration
        check after the node has been properly rewritten.

* sem_ch12.adb (Copy_Generic_Node): after the proper body has been
        inlined within the generic tree, the defining identifier is not a

2001-10-25  Ed Schonberg <schonber@gnat.com>

* sem_res.adb (Resolve): special-case resolution of Null in an
         instance or an inlined body to avoid view conflicts.

* sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
         compatibility by retrieving the access type of the generic copy.

2001-10-25  Robert Dewar <dewar@gnat.com>

* sem_ch3.adb:
(Analyze_Number_Declaration): Handle error expression.
(Signed_Integer_Type_Declaration): Handle error bound.
(Analyze_Subtype_Indication): Handle error range.

* sem_util.adb (Get_Index_Bounds): Check for Error.

2001-10-25  Robert Dewar <dewar@gnat.com>

* restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
in no run time mode.

2001-10-25  Pascal Obry <obry@gnat.com>

* gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
        mode case for ALLOC case.

* gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
        all platforms. Improvement of last change.

2001-10-25  Robert Dewar <dewar@gnat.com>

* exp_ch4.adb (Expand_N_Allocator): Minor reformatting.

2001-10-25  Geert Bosch  <bosch@gnat.com>

* osint.adb (Is_Relative): Remove duplicate.

2001-10-25  Pascal Obry <obry@gnat.com>

* osint.adb (Read_Default_Search_Dirs): correctly detect relative
        pathnames in UNIX and DOS style with drive letter.
(Is_Relative): new routine.

* osint.adb: Minor reformatting

* osint.adb (Is_Relative): implementation using
        GNAT.OS_Lib.Is_Absolute_Path. Better fix.

2001-10-25  Pascal Obry <obry@gnat.com>

* g-dirope.adb (Basename): correctly compute offset between the
        original Path and the translated one.

* g-dirope.adb: (Base_Name): add some comments.

2001-10-25  Robert Dewar <dewar@gnat.com>

* exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
        in HIE mode, avoids compilation abandoned message

* exp_imgv.adb: Correct typo in previous change

* exp_imgv.adb: Correct typo in previous change (not my day!)

2001-10-25  Robert Dewar <dewar@gnat.com>

* s-tpinop.ads: Add 2001 to copyright notice. Fix header format.

2001-10-25  Pascal Obry <obry@gnat.com>

* g-awk.ads: Move all pragma inlines next to the routine
 declarations. This is more uniform with other GNAT spec.

2001-10-22  Geert Bosch  <bosch@gnat.com>

* Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.

2001-10-19  Geert Bosch  <bosch@gnat.com>

* Makefile.in (tools, gnattools): Remove gnatmem.

2001-10-17  Richard Henderson  <rth@redhat.com>

* Makefile.in (misc.o): Depend on langhooks.h.
* misc.c: Include it.

2001-10-16  Florian Weimer  <fw@deneb.enyo.de>

* trans.c (tree_transform): Adjust to recent change in
expand_asm_operands to implement named asm operands.

2001-10-11  Ed Schonberg  <schonber@gnat.com>

* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
renaming of discriminant for mutable record type.

2001-10-11  Robert Dewar  <dewar@gnat.com>

* validsw.adb: Properly save -gnatVn status.

2001-10-11  Robert Dewar <dewar@gnat.com>

* usage.adb: Add lines for V switch.

* gnatcmd.adb (COMPILE): Revise translations for -gnatV

2001-10-11  Ed Schonberg <schonber@gnat.com>

* sem_type.adb (Add_One_Interp): an operator for a type declared in
an extension of System is known to be visible.

2001-10-11  Ed Schonberg <schonber@gnat.com>

* sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
properly. Fixes regression on ACATS C34005G.

2001-10-11  Robert Dewar <dewar@gnat.com>

* sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
loop in generic instance, since this is likely not very useful.

2001-10-11  Robert Dewar <dewar@gnat.com>

* restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
the error message for high integrity mode.

* rtsfind.adb (RTE): Give message if we try to find an entity that
is not available in high integrity mode.

* rtsfind.ads:
(OK_To_Use_In_HIE_Mode): New array.
(RTE): May return Empty in high integrity mode.

* rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.

* sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
unit if not inlined always and in no runtime mode. Fixes problem
caused by new Rtsfind changes.

* sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
body is deleted.

* rtsfind.adb (RTE): Make sure we do not try to load unit after
giving message for entity not available in high integrity mode.

2001-10-11  Pascal Obry <obry@gnat.com>

* impunit.adb: Add GNAT.CRC32.

2001-10-11  Ed Schonberg <schonber@gnat.com>

* exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
properly the case where one universal operand in a non-static
exponentiation of a real literal.

2001-10-11  Ed Schonberg <schonber@gnat.com>

* exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
clause, return the gobal finalization list, for lack of anthing else.

2001-10-11  Ed Schonberg <schonber@gnat.com>

* exp_ch7.adb (Make_Transient_Block): if statement is within
exception handler, always use new transient scope to place Clean

2001-10-11  Pascal Obry <obry@gnat.com>

* Makefile.in:
(GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
(GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
(GNATLS_RTL_OBJS): add g-crc32.o
(GNATMAKE_RTL_OBJS): add g-crc32.o

* ali-util.adb:
(CRC_Match): new function.
(Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
instead of the previous simple checksum algorithm.
(Time_Stamp_Mismatch): use CRC_Match for comparison.
(Set_Source_Table): idem.

* ali-util.ads:
(Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
instead of simple checksum.
(CRC_Match): new function.
(CRC_Error): new constant.

* ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
a CRC now and not a simple checksum. A CRC uses lower-case hex
letters, fixes ambiguity in parsing.

* ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
is what this variable will store.

* bcheck.adb: Change reference to chechsum in comments by CRC.
(Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
rename All_Checksum_Match to All_CRC_Match. Change due to API
renaming since now GNAT does not use a simple checksum but a
CRC using GNAT.CRC32.

* gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
now and not anymore a simple checksum.

* lib-load.adb: Use Source_CRC instead of Source_Checksum in many

* lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.

* scans.adb:
(Restore_Scan_State): rename Checksum to CRC.
(Save_Scan_State): idem.

* scans.ads:
With GNAT.CRC32.
(Checksum): rename to CRC.
(Saved_Scan_State): Save_Checksum field renamed to Save_CRC

* scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
GNAT.CRC32).  Update copyright notice.

* scn-slit.adb: Rename many Accumulate_Checksum to Update (from
GNAT.CRC32).  Update copyright notice.

* scn.adb:
(Accumulate_Checksum): removed.
(Update): new procedure. Add a wide-character into the CRC.

* sinput-l.adb:
(Complete_Source_File_Entry): use CRC32 instead of simple checksum.
(Load_File): fix initialization of S (change Source_Checksum to

* sinput-p.adb (Load_Project_File): rename Source_Checksum to
Source_CRC in S initialization.

* sinput.adb (Source_Checksum): renamed to Source_CRC.

* sinput.ads (Source_Checksum): renamed to Source_CRC.
Update comments for the CRC.

* types.adb (Hex): Use lowercase for the letter part.

* types.ads (Get_Hex_String): Returns the hexadecimal representation
for a word. This is currently used only for CRC. In previous version,
the checksum was using a representation with all letter being
upper-case. With the new implementation (using CRC) we do not remove
the 32th bit of the CRC, so we can have an upper-case starting letter
in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
It is ambigous since the CRC was optional and could be followed by
options like EB, EE. So now this routines uses lower-case letter for
the hexadecimal representation. Strange enough only lower case letters
where checked in Scan_ALI (even if this was not a possible case).

* gnatvsn.ads (Library_Version): changed to 3.15a.

* s-crc32.ads: Initial version from GNAT.CRC32. This is the version
for the compiler.

* s-crc32.adb: Initial version from GNAT.CRC32. This is the version
for the compiler.

* ali-util.adb: Redo previous change to avoid using word CRC everywhere
Add 2001 to copyright notice
(Accumulate_Checksum): Modify to use System.CRC32.

* ali-util.ads: Redo changes of previous revision to continue to use
the word Checksum. Add 2001 to copyright notice.

* ali.adb: Undo some of previous changes, not needed.
Keep the change for lower case letters in the checksum.

* ali.ads: Undo previous change not needed.

* bcheck.adb: Undo most of previous change, not needed.
But do use Checksums_Match for checksum comparison.

* gnatls.adb: Undo most of previous change, not needed.
But do use Checksums_Match for comparing checksums.

* lib-load.adb: Undo previous change, not needed.

* lib-writ.adb: Undo previous change, not needed.

* lib-writ.ads: Document that checksums use lower case,
not upper case letters.

* scans.adb: Undo previous change, not needed

* scans.ads: Undo previous change, not needed.

* scn-nlit.adb: Undo previous changes, not needed.

* scn-slit.adb: Undo previous change, not needed.  Fix header format.

* scn.adb:
(Accumulate_Checksum): Use System.CRC32.
(Initialize_Checksum): New procedure.
Remove other changes of previous revision.

* sinput-p.adb: Undo previous change, not needed.

* sinput.adb: Undo previous change, not needed.

* sinput-l.adb: Undo previous change, not needed.

* sinput.ads: Undo previous change, not needed.  Keep only comment
on new checksum algorithm

* Makefile.in: Add s-crc32 as needed, remove g-crc32.
Also remove a-tags and a-stream from GNAT sources.

* ali.adb (Scan_ALI): fix typo introduce in latest check-in.

* Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.

2001-10-11  Geert Bosch  <bosch@gnat.com>

* einfo.h: Regenerate.

* nmake.ads: Regenerate.

* nmake.adb: Regenerate.

* sinfo.h: Regenerate.

* treeprs.adb: Regenerate.

2001-10-10  Geert Bosch  <bosch@gnat.com>

* gnat-style.texi: New file describing coding guidelines for Ada.

2001-10-10  Ed Schonberg <schonber@gnat.com>

* einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
is Flag174.

2001-10-10  Geert Bosch  <bosch@gnat.com>

* snames.ads: Add new names for project facility.

* snames.adb: Update to reflect snames.ads changes.

* snames.h: Update to reflect snames.ads changes.

2001-10-10  Vincent Celier <celier@gnat.com>

* make.adb:
(Add_Switches): reflect the changes for the switches attributes
Default_Switches indexed by the programming language,
Switches indexed by the file name.
(Collect_Arguments_And_Compile): Idem.
Reflect the attribute name changes.

* prj-attr.adb:
(Initialisation_Data): Change the names of some packages and
(Initialize): process case insensitive associative arrays.

* prj-attr.ads:
(Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.

* prj-dect.adb:
(Parse_Attribute_Declaration): For case insensitive associative
 arrays, set the index string to lower case.

* prj-env.adb:
Reflect the changes of the project attributes.

* prj-nmsc.adb:
Replace Check_Naming_Scheme by Ada_Check and

* prj-nmsc.ads:
Replaced Check_Naming_Scheme by 2 procedures:
Ada_Check and Language_Independent_Check.

* prj-proc.adb:
(Process_Declarative_Items): For case-insensitive associative
arrays, set the index string to lower case.
(Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of

* prj-tree.adb:
(Case_Insensitive): New function
(Set_Case_Insensitive): New procedure

* prj-tree.ads:
(Case_Insensitive): New function
(Set_Case_Insensitive): New procedure
(Project_Node_Record): New flag Case_Insensitive.

* prj-util.adb:
(Value_Of): new function to get the string value of a single
string variable or attribute.

* prj-util.ads:
(Value_Of): new function to get the string value of a single
string variable or attribute.

* prj.adb:
(Ada_Default_Spec_Suffix): New function
(Ada_Default_Impl_Suffix): New function
Change definitions of several constants to reflect
new components of record types.

* prj.ads:
(Naming_Data): Change several components to reflect new
elements of naming schemes.
(Project_Data): New flags Sources_Present and
(Ada_Default_Spec_Suffix): New function.
(Ada_Default_Impl_Suffix): New function.

* snames.ads:
Modification of predefined names for project manager: added
Implementation, Specification_Exceptions, Implementation_Exceptions,
Specification_Suffix, Implementation_Suffix, Separate_Suffix,
Default_Switches, _Languages, Builder, Cross_Reference,
Finder. Removed Body_Part, Specification_Append, Body_Append,
Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,

* prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
Add comments.

* prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
not that it is Nil_Variable_Value.

* prj.ads: Add ??? for uncommented declarations

2001-10-10  Ed Schonberg <schonber@gnat.com>

* sem_prag.adb: (Analyze_Pragma, case External): If entity is a
constant, do not indicate possible modification, so that gigi can
treat it as a bona fide constant.

2001-10-10  Robert Dewar <dewar@gnat.com>

* sem_prag.adb: Add processing for pragma External.

* snames.ads: Add entry for pragma External.

* par-prag.adb: Add pragma External.

* snames.adb: Updated to match snames.ads.

2001-10-10  Ed Schonberg <schonber@gnat.com>

* exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
a dynamic task if the allocator appears in an indexed assignment
or selected component assignment.

* exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
For a dynamic task in an assignment statement, use target of
assignment to generate meaningful name.

2001-10-10  Ed Schonberg <schonber@gnat.com>

* einfo.adb (Write_Field19_Name): Body_Entity is also defined for
a generic package.

* einfo.ads: Body_Entity is also defined for generic package.
Documentation change only

* exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
others_choice for a discriminated component initialization,
convert discriminant references into the corresponding discriminals.

* exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
only if original type is private and expression has to be wrapped
in a conversion.

* checks.adb:
(Apply_Constraint_Check): Do not perform length check
if expression is an aggregate with only an others_choice.
(Length_N_Cond): two references to the same in_parameter
(typically the discriminal in an init_proc) denote the same value.
Two useful optimization uncovered by bugfixes above.

2001-10-10  Robert Dewar <dewar@gnat.com>

* xeinfo.adb: Change int to char in translation of enumeration types.
This fixes a problem in the C representation of component alignment.
Add 2001 to copyright notice

2001-10-10  Richard Kenner <kenner@gnat.com>

* decl.c: (validate_size): Do check size of object of integral type
if it is a packed array type.

2001-10-10  Richard Kenner <kenner@gnat.com>

* decl.c: (gnat_to_gnu_entity, case object): Also materialize
VAR_DECL for constant if not Is_Public but -O0.

2001-10-10  Richard Kenner  <kenner@gnat.com>

* misc.c (struct lang_hooks): Add new initializer to match GCC change.

2001-10-10  Geert Bosch  <bosch@gnat.com>

* xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
use '/' as switch character, allowing for absolute file names.

2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>

* 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
FSF address.

2001-10-08  Geert Bosch  <bosch@gnat.com>

* Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
Automatically build utilities when files need to be regenerated.

2001-10-08  Geert Bosch  <bosch@gnat.com>

* xsnames.adb: New utility for updating snames.ads and snames.adb

2001-10-08  Zack Weinberg  <zack@codesourcery.com>

* Make-lang.in (ADAFLAGS): Add -W -Wall.
(gnat1): Also depend on attribs.o.
(gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
* Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
(ADAC): Set to @ADAC@ in stage1, $(CC) later.
(ADAFLAGS): Add -W -Wall.
take out CFLAGS.

(.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
Use $(ADAC), not $(CC), as compilation command.

(gnattools): Depend directly on tools to build, don't use
recursive make.
(gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.

* einfo.h, sinfo.h: New files (autogenerated).

2001-10-08  Richard Henderson  <rth@redhat.com>

* comperr.adb (Abort_In_Progress): New.
(Compiler_Abort): Use it to prevent recursion.

2001-10-08  Robert Dewar <dewar@gnat.com>

* atree.adb: Set Error_Posted in Error node, helps error recovery.

* par-endh.adb (Output_End_Expected): We should also not test
Error_Posted on the Error node, since now it is always set.

* cstand.adb (Create_Standard): Set Etype of Error to Any_Type
to help error recovery. Part of general work on 9407-004.

* par.adb: Add ??? for misuse of error

* sem_res.adb:
(Resolve): Defend against Error, fixes 9407-003.
(Resolve_Discrete_Subtype_Indication): Defend against Error.

* sinfo.ads (N_Error): Now has Etype field (which will be set
to Any_Type to help error recovery).

2001-10-08  Richard Kenner (kenner@gnat.com)

* misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
Consistently set MEM attributes from expression; fixes
bootstrap failure on x86.

2001-10-08  Geert Bosch  (bosch@gnat.com)

* 5oosinte.adb: Add 2001 to copyright notice.

2001-10-08  Geert Bosch  (bosch@gnat.com)

* ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].

* csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

* 5oosinte.adb: Fix spelling error of "separate" as "seperate".

2001-10-05  Geert Bosch  (bosch@gnat.com)

* adaint.h: Small formatting fix.

2001-10-04  Geert Bosch  <bosch@gnat.com>

* sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
Arg is int, not FILE *, in dummy version of functions.

* adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
Arg is int, not FILE *.

2001-10-04  Geert Bosch  <bosch@gnat.com>

* 3lsoccon.ads: Added file, missed with initial check ins.

* 4lintnam.ads: Fix header format.
Change Linux to GNU/Linux.

* 5iosinte.adb: Change Linux to GNU/Linux.

* 5iosinte.ads: Change Linux to GNU/Linux.

* 5itaprop.adb: Change Linux to GNU/Linux.

* 5itaspri.ads: Change Linux to GNU/Linux.
Update copyright notice.

* 5lintman.adb: Change Linux to GNU/Linux.

* 5lml-tgt.adb: Change Linux to GNU/Linux.

* 5losinte.ads: Change Linux to GNU/Linux.

* 5lsystem.ads: Change Linux to GNU/Linux.

* 5qosinte.adb: Change Linux to GNU/Linux.

* 5qosinte.ads: Change Linux to GNU/Linux.

* 5qparame.ads: Change Linux to GNU/Linux.

* 5qtaprop.adb: Change Linux to GNU/Linux.

* 5qtaspri.ads: Change Linux to GNU/Linux.
Add 2001 to copyright notice.

* 5vintman.ads: Change Linux to GNU/Linux.
Fix header format.  Add 2001 to copyright notice.

* g-soccon.ads: Change Linux to GNU/Linux.

* g-trasym.ads: Change Linux to GNU/Linux.
Add 2001 to copyright notice.

* memtrack.adb: Change Linux to GNU/Linux.

* s-intman.ads: Change Linux to GNU/Linux.
Add 2001 to copyright notice.  Fix header format.

* s-stache.adb: Change Linux to GNU/Linux.

* adaint.c: Change Linux to GNU/Linux.

* cio.c: Change Linux to GNU/Linux.

* cstreams.c: Change Linux to GNU/Linux.

* init.c: Change Linux to GNU/Linux.

* gmem.c: Change Linux to GNU/Linux.

* tracebak.c: Change Linux to GNU/Linux.

2001-10-02  Geert Bosch  <bosch@gnat.com>

* misc.c (insert_default_attributes): Add dummy version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47950 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * jni.cc (call): Synchronize if required.
tromey [Wed, 12 Dec 2001 20:58:41 +0000 (20:58 +0000)]
* jni.cc (call): Synchronize if required.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47949 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gij.cc (main): Clarify --help output.
tromey [Wed, 12 Dec 2001 20:56:08 +0000 (20:56 +0000)]
* gij.cc (main): Clarify --help output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47948 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-12 Philip Martin <philip@codematters.co.uk>
paolo [Wed, 12 Dec 2001 20:23:30 +0000 (20:23 +0000)]
2001-12-12  Philip Martin  <philip@codematters.co.uk>
            Ross Smith     <r-smith@ihug.co.nz>
            Paolo Carlini  <pcarlini@unitus.it>

* include/bits/std_limits.h (defines, numeric_limits<bool>::digits10):
Fix digits10 values for integral types.
* include/bits/locale_facets.tcc (num_get::do_get for integral types):
Tweak _M_extract_int call.
* testsuite/27_io/istream_extractor_arith.cc (test13, test12_aux):
Tweak overflowing number of digits.
* testsuite/18_support/numeric_limits.cc (test03): New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47947 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
jakub [Wed, 12 Dec 2001 19:16:17 +0000 (19:16 +0000)]
* dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
(ranges_section_label): Add.
(add_AT_range_list): New.
(print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
(output_loc_list): Location expression length is always 2-byte.
(output_die): Handle dw_val_class_range_list.
(gen_lexical_block_die): Call add_AT_range_list.
(dwarf2out_init): Initialize ranges_section_label.
(dwarf2out_finish): Emit ranges_section_label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47946 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * c-typeck.c (digest_init): Allow initializing
jakub [Wed, 12 Dec 2001 19:12:16 +0000 (19:12 +0000)]
* c-typeck.c (digest_init): Allow initializing
static storage duration objects with compound literals.
* doc/extend.texi (Compound literals): Document the extension.

* gcc.dg/gnu89-init-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47945 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agofix XFAIL
jason [Wed, 12 Dec 2001 18:59:49 +0000 (18:59 +0000)]

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47943 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * emit-rtl.c (adjust_address_1): Always copy address to avoid
rth [Wed, 12 Dec 2001 18:10:56 +0000 (18:10 +0000)]
    * emit-rtl.c (adjust_address_1): Always copy address to avoid
        shared rtl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47942 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoWrap comment.
rth [Wed, 12 Dec 2001 18:08:37 +0000 (18:08 +0000)]
Wrap comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47941 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gnu/gcj/runtime/StringBuffer.java
tromey [Wed, 12 Dec 2001 16:50:01 +0000 (16:50 +0000)]
* gnu/gcj/runtime/StringBuffer.java
(ensureCapacity_unsynchronized): Ensure we always get at least
`minimumCapacity' characters in new buffer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47940 138bc75d-0d04-0410-961f-82ee72b054a4

jakub [Wed, 12 Dec 2001 13:34:44 +0000 (13:34 +0000)]
THIS_NAME_P): Delete.
* spew.c (read_process_identifier): Remove DESTRUCTOR_NAME_P,
THIS_NAME_P and ANON_PARMNAME_P tests from warning about clash
with internal naming scheme.
* error.c (dump_decl): Remove DESTRUCTOR_NAME_P use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47936 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * stmt.c (expand_end_case): Do subtraction of lower bound as trees
kenner [Wed, 12 Dec 2001 12:44:46 +0000 (12:44 +0000)]
* stmt.c (expand_end_case): Do subtraction of lower bound as trees
to avoid overflow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47932 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * cppfiles.c (read_include_file): Set buffer size properly when
kenner [Wed, 12 Dec 2001 12:42:03 +0000 (12:42 +0000)]
* cppfiles.c (read_include_file): Set buffer size properly when
file is shorter than expected.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47931 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoAdd missing blank.
kenner [Wed, 12 Dec 2001 12:40:27 +0000 (12:40 +0000)]
Add missing blank.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47930 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoFixed objc problem with bitfields of enumerated types
nicola [Wed, 12 Dec 2001 10:45:46 +0000 (10:45 +0000)]
Fixed objc problem with bitfields of enumerated types

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47929 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoFixed compilation of bitfields of enumerations in args and ivars
nicola [Wed, 12 Dec 2001 10:41:48 +0000 (10:41 +0000)]
Fixed compilation of bitfields of enumerations in args and ivars

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47928 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * doc/extend.texi (Deprecated Features): Deprecate implicit
nathan [Wed, 12 Dec 2001 10:32:03 +0000 (10:32 +0000)]
* doc/extend.texi (Deprecated Features): Deprecate implicit
typename. Document that named return and initializer lists are now
* decl.c (grokdeclarator): Deprecated implicit typename use.
* g++.old-deja/g++.brendan/crash56.C: Adjust implicit typename.
* g++.old-deja/g++.jason/2371.C: Likewise.
* g++.old-deja/g++.jason/template33.C: Likewise.
* g++.old-deja/g++.jason/template34.C: Likewise.
* g++.old-deja/g++.jason/template36.C: Likewise.
* g++.old-deja/g++.oliva/typename1.C: Likewise.
* g++.old-deja/g++.oliva/typename2.C: Likewise.
* g++.old-deja/g++.other/typename1.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Likewise.
* g++.old-deja/g++.pt/nontype5.C: Likewise.
* g++.old-deja/g++.pt/typename11.C: Likewise.
* g++.old-deja/g++.pt/typename14.C: Likewise.
* g++.old-deja/g++.pt/typename16.C: Likewise.
* g++.old-deja/g++.pt/typename3.C: Likewise.
* g++.old-deja/g++.pt/typename4.C: Likewise.
* g++.old-deja/g++.pt/typename5.C: Likewise.
* g++.old-deja/g++.pt/typename7.C: Likewise.
* g++.old-deja/g++.robertl/eb9.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47927 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 Roger Sayle <roger@eyesopen.com>
aj [Wed, 12 Dec 2001 08:27:29 +0000 (08:27 +0000)]
2001-12-11  Roger Sayle <roger@eyesopen.com>

* except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
compiler warning about enumeration values not being handled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47926 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoDaily bump.
gccadmin [Wed, 12 Dec 2001 08:16:18 +0000 (08:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47924 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
rth [Wed, 12 Dec 2001 06:59:23 +0000 (06:59 +0000)]
    * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47923 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
rth [Wed, 12 Dec 2001 06:40:27 +0000 (06:40 +0000)]
    * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
        * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
        * config/alpha/alpha.md (prefetch): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47922 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
rth [Wed, 12 Dec 2001 05:58:12 +0000 (05:58 +0000)]
    * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
        if C has only low bits set and doesn't intersect with X or Y.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47921 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * basic-block.h (flow_preorder_transversal_compute): Declare.
wehle [Wed, 12 Dec 2001 05:01:32 +0000 (05:01 +0000)]
* basic-block.h (flow_preorder_transversal_compute): Declare.
* cfganal.c (flow_preorder_transversal_compute): Implement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47920 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * cfganal.c (flow_depth_first_order_compute): Always
wehle [Wed, 12 Dec 2001 04:56:30 +0000 (04:56 +0000)]
* cfganal.c (flow_depth_first_order_compute): Always
increment dfsnum.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47919 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 12 Dec 2001 03:22:25 +0000 (03:22 +0000)]
2001-12-11  Benjamin Kosnik  <bkoz@redhat.com>

* config/os/generic/bits/ctype_inline.h: Remove spaces.
* config/os/gnu-linux/bits/ctype_noninline.h: Same.
* include/bits/locale_facets.h (__num_base): Move double data
members to first in class.
* include/bits/locale_facets.tcc: Re-arrange, tweak.
* src/locale.cc: Clean.
*include/bits/stl_vector.h: Space typedefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47918 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-11-30 Alan Matsuoka <alanm@redhat.com>
alanm [Wed, 12 Dec 2001 03:20:14 +0000 (03:20 +0000)]
2001-11-30 Alan Matsuoka <alanm@redhat.com>

* combine.c (combine_simplify_rtx) : Can't simplify
cases that use mode class MODE_CC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47917 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
rth [Wed, 12 Dec 2001 03:00:01 +0000 (03:00 +0000)]
    * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
        which there is no divide expander.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47916 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * except.c (sjlj_find_directly_reachable_regions): Don't
rth [Wed, 12 Dec 2001 02:58:23 +0000 (02:58 +0000)]
    * except.c (sjlj_find_directly_reachable_regions): Don't
        consider RNL_BLOCKED a directly reachable region.
        (sjlj_assign_call_site_values): Trust directly_reachable.
        (sjlj_emit_dispatch_table): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47915 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
rth [Wed, 12 Dec 2001 02:53:38 +0000 (02:53 +0000)]
    * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
        we represent the address load's dependency on the gp.
        (divmoddi_internal_er): Likewise.
        (divmodsi_internal_er_1, divmoddi_internal_er_1): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47914 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * emit-rtl.c (widen_memory_access): New.
rth [Wed, 12 Dec 2001 02:47:55 +0000 (02:47 +0000)]
    * emit-rtl.c (widen_memory_access): New.
        * expr.h (widen_memory_access): Declare it.
        * config/alpha/alpha.c (get_aligned_mem): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47913 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
rth [Wed, 12 Dec 2001 02:42:41 +0000 (02:42 +0000)]
    * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
        simplification above out of range check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47912 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sparc/sparc.md (prefetch): New.
rth [Wed, 12 Dec 2001 02:22:51 +0000 (02:22 +0000)]
    * config/sparc/sparc.md (prefetch): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47911 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 Aldy Hernandez <aldyh@redhat.com>
aldyh [Wed, 12 Dec 2001 01:53:44 +0000 (01:53 +0000)]
2001-12-11  Aldy Hernandez  <aldyh@redhat.com>

        * output.h (regno_uninitialized): Make argument unsigned.

        * flow.c (regno_uninitialized): Make regno unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47910 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 David O'Brien <obrien@FreeBSD.org>
obrien [Wed, 12 Dec 2001 01:52:17 +0000 (01:52 +0000)]
2001-12-11  David O'Brien  <obrien@FreeBSD.org>
* elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
* config/cris/cris.h (ENDFILE_SPEC): Define.
* config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
* config/pa/elf.h: Likewise.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011211153437.A24619@redhat.com>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47909 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * objc/objc-act.c (build_string_class_template): New.
rth [Wed, 12 Dec 2001 01:40:58 +0000 (01:40 +0000)]
    * objc/objc-act.c (build_string_class_template): New.
        (build_objc_string_object): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47908 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
bosch [Tue, 11 Dec 2001 23:27:40 +0000 (23:27 +0000)]
* sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
that is the parent of other generics, the instance body replaces the
instance node.  Retrieve the instance of the spec, which is the one
that is visible in clients and within the body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47906 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gnatmain.adb: Initial version.
bosch [Tue, 11 Dec 2001 23:14:07 +0000 (23:14 +0000)]
* gnatmain.adb: Initial version.

* gnatmain.ads: Initial version.

* prj-attr.adb (Initialisation_Data): Add package Gnatstub.

* snames.adb: Updated to match snames.ads.

* snames.ads: Added Gnatstub.

* prj-attr.adb (Initialization_Data): Change name from

* g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+ and * applied to backslashed expressions like \r.

* g-os_lib.ads: String_List type added, Argument_List type is now
subtype of String_List.

* g-os_lib.ads: Change copyright to FSF
Add comments for String_List type

* g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
string to the buffer).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47905 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 Steve Ellcey <sje@cup.hp.com>
janis [Tue, 11 Dec 2001 23:04:36 +0000 (23:04 +0000)]
2001-12-11  Steve Ellcey  <sje@cup.hp.com>

* calls.c (store_unaligned_arguments_into_pseudos): Check
FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
are passed/returned.
* expr.c (move_block_from_reg): Ditto.
(move_block_from_reg): Ditto.
(copy_blkmode_from_reg): Ditto.
* stmt.c (expand_return): Ditto.
* stor-layout.c (compute_record_mode): If
MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
so that Structures of one field are still treated as structures.
(FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
(FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
(PAD_VARARGS_DOWN): Modify from default to not pad structures down.
* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
* config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
to special case handling of structure padding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47904 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoMake-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove whitespace
doko [Tue, 11 Dec 2001 23:02:49 +0000 (23:02 +0000)]
Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove whitespace
at end of line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47903 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
bosch [Tue, 11 Dec 2001 23:01:00 +0000 (23:01 +0000)]
* freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in

* sem_attr.adb: Simplify previous fix for Address.
(Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
to avoid anomalies where the bound of the type appears to raise
constraint error.

* lib-xref.adb (Output_Refs): Make sure pointers are always properly

* sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
renamed unit before checking for recursive instantiations.

* prj.ads: Add comments for some of the fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47902 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * lib-xref.adb (Output_Refs): Don't output type references outside
bosch [Tue, 11 Dec 2001 22:50:45 +0000 (22:50 +0000)]
* lib-xref.adb (Output_Refs): Don't output type references outside
the main unit if they are not otherwise referenced.

* sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
code and diagnose additional illegal uses

* sem_util.adb (Is_Object_Reference): An indexed component is an
object only if the prefix is.

* g-diopit.adb: Initial version.

* g-diopit.ads: Initial version.

* g-dirope.adb:
(Expand_Path): Avoid use of Unbounded_String
(Find, Wildcard_Iterator): Moved to child package Iteration

* Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS

* sem_attr.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47901 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2001-12-11 Daniel Berlin <dan@cgsoftware.com>
dberlin [Tue, 11 Dec 2001 22:50:35 +0000 (22:50 +0000)]
2001-12-11  Daniel Berlin  <dan@cgsoftware.com>

(may_trap_exp): Stores only are risk if they trap, too, not just
if code == MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47900 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * sem_ch3.adb: Clarify some ???.
bosch [Tue, 11 Dec 2001 22:25:15 +0000 (22:25 +0000)]
* sem_ch3.adb: Clarify some ???.

* exp_util.adb (Must_Be_Aligned): Removed, replaced by

* sem_ch13.adb (Check_Address_Alignment): Removed, extended
version is moved to Exp_Ch13.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47899 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * einfo.ads: Minor reformatting
bosch [Tue, 11 Dec 2001 22:11:45 +0000 (22:11 +0000)]
* einfo.ads: Minor reformatting

* exp_ch5.adb: Add comment for previous.change

* ali.adb: New interface for extended typeref stuff.

* ali.ads: New interface for typeref stuff.

* checks.adb (Apply_Alignment_Check): New procedure.

* debug.adb: Add -gnatdM for modified ALI output

* exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.

* lib-xref.adb: Extend generation of <..> notation to cover
subtype/object types. Note that this is a complete rewrite,
getting rid of the very nasty quadratic algorithm previously
used for derived type output.

* lib-xref.ads: Extend description of <..> notation to cover
subtype/object types. Uses {..} for these other cases.
Also use (..) for pointer types.

* sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.

* exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
(Known_Aligned_Enough): Replaces Must_Be_Aligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47896 138bc75d-0d04-0410-961f-82ee72b054a4