OSDN Git Service

17 years ago * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
spop [Mon, 14 Feb 2005 14:54:37 +0000 (14:54 +0000)]
* lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
Use standard_iv_increment_position for computing the bsi position
for create_iv.
* tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
the bsi position.

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

17 years ago * directives.c, files.c, init.c, internal.h, macro.c, pch.c,
kazu [Mon, 14 Feb 2005 14:43:56 +0000 (14:43 +0000)]
* directives.c, files.c, init.c, internal.h, macro.c, pch.c,
traditional.c: Update copyright.

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

17 years ago2005-02-13 Anthony Green <green@redhat.com>
green [Mon, 14 Feb 2005 13:51:29 +0000 (13:51 +0000)]
2005-02-13  Anthony Green  <green@redhat.com>

        * jni.cc (nathash_add): Don't strdup the method signature.
        (_Jv_JNI_RegisterNatives): Convert the slashes to dots in the
        method signature.
        Update copyright.

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

17 years agocp:
nathan [Mon, 14 Feb 2005 13:45:42 +0000 (13:45 +0000)]
PR c++/19884
* pt.c (check_explicit_specialization): Make sure namespace
binding lookup found an overloaded function.
(lookup_template_function): Just assert FNS is an overloaded

PR c++/19895
* decl.c (grokdeclarator): Check for error mark node in ptrmem
PR c++/19895
* g++.dg/parse/ptrmem3.C: New.

PR c++/19884
* g++.old-deja/g++.oliva/template6.C: Add another case.
* g++.dg/template/explicit6.C: New.

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

17 years agogcc/cp/ChangeLog:
aoliva [Mon, 14 Feb 2005 12:01:15 +0000 (12:01 +0000)]
PR c++/17816
* decl.c (redeclaration_error_message): Report redefinition of
pure virtual function.
PR c++/17816
* g++.dg/other/redecl2.C: New.

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

17 years ago PR target/17428
rakdver [Mon, 14 Feb 2005 11:37:52 +0000 (11:37 +0000)]
PR target/17428
* cfgrtl.c (safe_insert_insn_on_edge): Avoid extending life range of hard
* value-prof.c (insn_prefetch_values_to_profile): Only scan normal insns.

* value-prof.c (rtl_find_values_to_profile): Do not look for values to
profile in libcalls.

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

17 years agoadd myself to MAINTAINERS file
razya [Mon, 14 Feb 2005 11:21:09 +0000 (11:21 +0000)]
add myself to MAINTAINERS file

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

17 years agocp:
nathan [Mon, 14 Feb 2005 09:36:35 +0000 (09:36 +0000)]
PR c++/19891
* class.c (build_simple_base_path): Build the component_ref
(update_vtable_entry_for_fn): Walk the covariant's binfo chain
rather than using lookup_base.
* search.c (dfs_walk_once): Add non-recursive assert check.
* typeck.c (build_class_member_access_expr): It is possible for
the member type to be both const and volatile.
PR c++/19891
* g++.dg/abi/covariant4.C: New.

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

17 years ago * bitmap.h (bitmap_and_compl_into): Return bool.
nathan [Mon, 14 Feb 2005 09:24:41 +0000 (09:24 +0000)]
* bitmap.h (bitmap_and_compl_into): Return bool.
* bitmap.c (bitmap_and_compl_into): Return changed flag.

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

17 years agoinclude:
bonzini [Mon, 14 Feb 2005 08:52:24 +0000 (08:52 +0000)]
2005-02-08  Paolo Bonzini  <bonzini@gnu.org>

PR bootstrap/19818
* ansidecl.h (PARAMS): Guard from redefinition.

2005-02-08  Paolo Bonzini  <bonzini@gnu.org>

PR bootstrap/19818
* configure.ac: Check for declaration of basename and getopt.
* config.in: Regenerate.
* configure: Regenerate.
* internal.h (ustrcspn): New.
* macro.c (create_iso_definition): Fix allocation of memory.
(padding_token): Add cast to remove const-ness.
* pch.c (cpp_read_state): Use ustrcspn.

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

17 years ago2005-02-13 James A. Morrison <phython@gcc.gnu.org>
phython [Mon, 14 Feb 2005 02:27:18 +0000 (02:27 +0000)]
2005-02-13  James A. Morrison  <phython@gcc.gnu.org>

       PR tree-optimization/19944
       * fold-const.c (fold): Re-add ABS_EXPR folding.

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

17 years agoDaily bump.
gccadmin [Mon, 14 Feb 2005 00:16:51 +0000 (00:16 +0000)]
Daily bump.

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

17 years ago PR target/19019
dje [Sun, 13 Feb 2005 21:31:35 +0000 (21:31 +0000)]
    PR target/19019
        * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
        (SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
        * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
        * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
        (rs6000_arg_partial_bytes): Same.
        (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
        and XL compatibility enabled.
        * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
        * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
        test to final condition.
        (cmptf_internal2): New.
        * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
        xl-compat.  Add TFmode information to description.

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

17 years ago2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Sun, 13 Feb 2005 20:08:29 +0000 (20:08 +0000)]
2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>

        PR ada/19942
        * utils.c (gnat_type_for_mode): Return null instead of ICE because we asked
        for an unknown mode.

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

17 years ago * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
kazu [Sun, 13 Feb 2005 19:05:03 +0000 (19:05 +0000)]
* flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.

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

17 years agotemporarily revert last changes
jason [Sun, 13 Feb 2005 17:10:47 +0000 (17:10 +0000)]
temporarily revert last changes

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

17 years ago2005-02-13 James A. Morrison <phython@gcc.gnu.org>
phython [Sun, 13 Feb 2005 16:26:11 +0000 (16:26 +0000)]
2005-02-13  James A. Morrison  <phython@gcc.gnu.org>

       * treetree.c (tree_lang_type_for_mode): Return NULL_TREE for all non
       scalar integer types.

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

17 years ago* trans-stmt.c (generate_loop_for_temp_to_lhs,
tobi [Sun, 13 Feb 2005 15:32:45 +0000 (15:32 +0000)]
* trans-stmt.c (generate_loop_for_temp_to_lhs,
generate_loop_for_rhs_to_temp): Remove if whose condition is
always true.

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

17 years ago* typo fix
fche [Sun, 13 Feb 2005 12:58:28 +0000 (12:58 +0000)]
* typo fix

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

17 years ago2005-02-13 Frank Ch. Eigler <fche@redhat.com>
fche [Sun, 13 Feb 2005 12:49:34 +0000 (12:49 +0000)]
2005-02-13  Frank Ch. Eigler  <fche@redhat.com>

PR mudflap/19319
* testsuite/libmudflap.c++/pass55-frag.c: New test.

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

17 years ago2005-02-13 Richard Guenther <rguenth@gcc.gnu.org>
paolo [Sun, 13 Feb 2005 10:25:02 +0000 (10:25 +0000)]
2005-02-13  Richard Guenther  <rguenth@gcc.gnu.org>
    Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/11706
* include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
for integer overloads.

* testsuite/26_numerics/cmath/powi.cc: New.

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

17 years ago * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
jason [Sun, 13 Feb 2005 06:58:20 +0000 (06:58 +0000)]
    * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous

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

17 years ago PR mudflap/19319
jason [Sun, 13 Feb 2005 06:43:58 +0000 (06:43 +0000)]
    PR mudflap/19319
        * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
        slot explicit.

        PR c++/16405
        * fold-const.c (fold_indirect_ref_1): Split out from...
        (build_fold_indirect_ref): Here.
        (fold_indirect_ref): New fn.
        * tree.h: Declare it.
        * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
        (gimplify_modify_expr_rhs): Likewise.
        (gimplify_expr): Likewise.

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

17 years ago2005-02-13 James A. Morrison <phython@gcc.gnu.org>
phython [Sun, 13 Feb 2005 06:41:01 +0000 (06:41 +0000)]
2005-02-13  James A. Morrison  <phython@gcc.gnu.org>

       * gcc.dg/pr15784-1.c, gcc.dg/pr15784-2.c, gcc.dg/pr15784-3.c: New tests.

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

17 years ago2005-02-13 James A. Morrison <phython@gcc.gnu.org>
phython [Sun, 13 Feb 2005 06:21:35 +0000 (06:21 +0000)]
2005-02-13  James A. Morrison  <phython@gcc.gnu.org>

       PR tree-optimization/14303
       PR tree-optimization/15784
       * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
       Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
       ABS_EXPR<x> != 0 to x != 0.

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

17 years ago * passes.c (rest_of_handle_gcse): Remove dead assignments to
kazu [Sun, 13 Feb 2005 03:58:21 +0000 (03:58 +0000)]
* passes.c (rest_of_handle_gcse): Remove dead assignments to
tem and tem2.

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

17 years ago * passes.c (rest_of_handle_gcse): Don't run cse_main and
kazu [Sun, 13 Feb 2005 03:49:53 +0000 (03:49 +0000)]
* passes.c (rest_of_handle_gcse): Don't run cse_main and
delete_trivially_dead_insns too many times.

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

17 years agoDaily bump.
gccadmin [Sun, 13 Feb 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

17 years ago * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
rth [Sat, 12 Feb 2005 20:02:35 +0000 (20:02 +0000)]
    * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
        validate SCALAR_INT_MODE_P before calling gnat_type_for_size.

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

17 years ago * gcc.dg/vect/vect-96.c: Fix typo.
dorit [Sat, 12 Feb 2005 19:33:44 +0000 (19:33 +0000)]
    * gcc.dg/vect/vect-96.c: Fix typo.

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

17 years ago* symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
tobi [Sat, 12 Feb 2005 15:44:01 +0000 (15:44 +0000)]
* symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
(gfc_use_derived): ... this function.

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

17 years ago PR c++/14479
lerdsuwa [Sat, 12 Feb 2005 15:40:28 +0000 (15:40 +0000)]
PR c++/14479
PR c++/19487
* pt.c (maybe_check_template_type): Remove.
* cp-tree.h (maybe_check_template_type): Remove prototype.
* name-lookup.c (maybe_process_template_type_declaration): Don't
use maybe_check_template_type.

* g++.dg/template/enum5.C: New test.

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

17 years ago * builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
kazu [Sat, 12 Feb 2005 15:21:14 +0000 (15:21 +0000)]
* builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
parse-scan.y: Update copyright.

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

17 years ago * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
kazu [Sat, 12 Feb 2005 15:17:56 +0000 (15:17 +0000)]
* c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
spelling conventions.

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

17 years ago Fixes bug libgcj/8170
mark [Sat, 12 Feb 2005 13:51:11 +0000 (13:51 +0000)]
   Fixes bug libgcj/8170
       * java/lang/ClassLoader.java (loadClass): Don't rewrap
       * gnu/java/lang/MainThread.java (run): Chain NoClassDefFoundError.
       * gnu/gcj/runtime/NameFinder.java (remove_interpreter): Removed.
       (remove_internal): New field superceding remove_interpreter.
       (sanitizeStack): Remove all no-package classes starting with "_Jv_".
       Remove no-class methods starting with "_Jv_". And Replace null
       class or method names with the empty string. Stop at either the
       MainThread or a real Thread run() method.
       (newElement): Made static.
       * java/net/URLClassLoader.java (findClass): Throw
       ClassNotFoundExceptions including urls, plus parent using toString().
       (thisString): New field.
       (toString): New method.

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

17 years ago * tree-vectorizer.c (vect_get_base_and_offset): Remove.
dorit [Sat, 12 Feb 2005 12:57:12 +0000 (12:57 +0000)]
    * tree-vectorizer.c (vect_get_base_and_offset): Remove.
        (vect_is_simple_iv_evolution): Remove redundant parameter
        and step check.
        (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
        without last parameter.
        (vect_analyze_pointer_ref_access): Get access_fn as parameter.
        Return pointer step. Call vect_is_simple_iv_evolution without
        last parameter. Check only that the step is multiple of size
        type. Remove stmt_vinfo updates.
        (vect_get_memtag_and_dr): Remove.
        (vect_get_memtag): New function.
        (vect_address_analysis): New function.
        (vect_object_analysis): New function.
        (vect_analyze_data_refs): Call vect_object_analysis and
        vect_get_memtag. Update stmt_vinfo fields.

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

17 years ago * tree-data-ref.c (array_base_name_differ_p): Check that the bases
dorit [Sat, 12 Feb 2005 11:47:19 +0000 (11:47 +0000)]
    * tree-data-ref.c (array_base_name_differ_p): Check that the bases
        exist and are objects. Remove checks for pointer.
        * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
        (vect_create_data_ref_ptr): Likewise.
        (vect_base_addr_differ_p): New function.
        (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
        (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
        Don't set the DR_BASE_NAME field of data-ref.
        (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.

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

17 years ago * optabs.h (enum optab_index): Add new OTI_ldexp.
uros [Sat, 12 Feb 2005 11:34:24 +0000 (11:34 +0000)]
* optabs.h (enum optab_index): Add new OTI_ldexp.
(ldexp_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize ldexp_optab.
* genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
using ldexp_optab.
(expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.

* config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
to implement ldexpf, ldexp and ldexpl built-ins as inline x87


* gcc.dg/builtins-34.c: Also check ldexp*.

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

17 years ago2005-02-13 Ira Rosen <irar@il.ibm.com>
dorit [Sat, 12 Feb 2005 10:24:40 +0000 (10:24 +0000)]
2005-02-13  Ira Rosen  <irar@il.ibm.com>

        * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
        to base_address.
        * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
        (vect_get_base_and_offset): Always return an address.
        (vect_create_addr_base_for_vector_ref): Remove treatment for
        different data reference types.
        (vect_compute_data_ref_alignment): Rename base to base_address in
        stmt_vec_info. Get the object in order to force its alignment.
        (vect_get_memtag_and_dr): Rename base to base_address in
        stmt_vec_info. Extract the object for memtag analysis.

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

17 years ago * gcc.dg/tree-ssa/20040703-1.c: Quote decimal dot.
hp [Sat, 12 Feb 2005 07:46:43 +0000 (07:46 +0000)]
* gcc.dg/tree-ssa/20040703-1.c: Quote decimal dot.

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

17 years ago PR java/15543
bothner [Sat, 12 Feb 2005 06:12:40 +0000 (06:12 +0000)]
PR java/15543
* parse-scan.y (input_location): Remove variable.
(main_input_filename): New - replaces input_filename, which isn't
* lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
so we don't reference input_location or wfl_operator in that case.
* jv-scan.c (expand_location): Remove - no longer used.
(main): Set main_input_filename rather than input_filename.

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

17 years ago PR regression/19898.
hp [Sat, 12 Feb 2005 01:08:33 +0000 (01:08 +0000)]
PR regression/19898.
* config/cris/cris.c (cris_notice_update_cc): When testing if insn
changes cc_status, use apply modified_in_p to part of cc_status
and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn

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

17 years ago * tree-complex.c (expand_complex_libcall): New.
rth [Sat, 12 Feb 2005 00:26:57 +0000 (00:26 +0000)]
    * tree-complex.c (expand_complex_libcall): New.
        (expand_complex_multiplication): Use it for c99 compliance.
        (expand_complex_division): Likewise.
        * fold-const.c (fold_complex_add, fold_complex_mult): New.
        (fold): Call them.
        * builtins.c (built_in_names): Remove const.
        * tree.c (build_common_builtin_nodes): Build complex arithmetic
        (built_in_names): Remove const.
        * c-common.c (c_common_type_for_mode): Handle complex modes.
        * flags.h, toplev.c (flag_complex_method): Rename from
        * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
        __mulsc3, __muldc3, __mulxc3, __multc3): New.
        * libgcc2.h: Declare them.
        * libgcc-std.ver: Export them.
        * mklibgcc.in (lib2funcs): Build them.

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

17 years agoDaily bump.
gccadmin [Sat, 12 Feb 2005 00:16:59 +0000 (00:16 +0000)]
Daily bump.

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

17 years ago * testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
janis [Sat, 12 Feb 2005 00:05:08 +0000 (00:05 +0000)]
* testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
* testsuite/26_numerics/complex/complex_value.cc: Ditto.
* testsuite/26_numerics/complex/pow.cc: Ditto.

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

17 years ago * testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
janis [Fri, 11 Feb 2005 22:40:16 +0000 (22:40 +0000)]
* testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
* testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
* testsuite/26_numerics/complex/complex_value.cc: Ditto.
* testsuite/26_numerics/complex/pow.cc: Ditto.

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

17 years ago * lib/gcc-dg.exp: (dg-require-weak, dg-require-visibility,
janis [Fri, 11 Feb 2005 22:36:53 +0000 (22:36 +0000)]
* lib/gcc-dg.exp: (dg-require-weak, dg-require-visibility,
dg-require-alias, dg-require-gc-sections, dg-require-profiling,
dg-require-dll, dg-require-iconv, dg-require-named-sections,
dg-require-effective-target, dg-skip-if, dg-xfail-if, selector_opd,
selector_list, selector_expression, dg-process-target): Move to new
file target-supports-dg.exp.
* lib/target-supports-dg.exp: New.

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

17 years ago * lib/target-supports.exp (check_effective_target_broken_cplxf_arg):
janis [Fri, 11 Feb 2005 22:34:57 +0000 (22:34 +0000)]
* lib/target-supports.exp (check_effective_target_broken_cplxf_arg):

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

17 years ago * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
janis [Fri, 11 Feb 2005 22:33:16 +0000 (22:33 +0000)]
* testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
* testsuite/libffi.call/float.c: Ditto.
* testsuite/libffi.call/float2.c: Ditto.
* testsuite/libffi.call/float3.c: Ditto.

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

17 years ago PR tree-optimization/19876
steven [Fri, 11 Feb 2005 21:52:34 +0000 (21:52 +0000)]
PR tree-optimization/19876
Partially revert my change from 2005-01-14
* tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
(compute_antic): ...and remove the loop here.

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

17 years ago PR c++/19666
jakub [Fri, 11 Feb 2005 21:12:48 +0000 (21:12 +0000)]
PR c++/19666
2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
* fold-const.c (fold_convert): Treat OFFSET_TYPE like

* gcc/testsuite/g++.dg/other/ptrmem6.C: New test.

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

17 years ago PR middle-end/19858
jakub [Fri, 11 Feb 2005 21:08:44 +0000 (21:08 +0000)]
PR middle-end/19858
* fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
is number of inner's bits, avoid creating a BIT_FIELD_REF.

* gcc.c-torture/compile/20050210-1.c: New test.

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

17 years ago * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
jakub [Fri, 11 Feb 2005 21:05:28 +0000 (21:05 +0000)]
* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
crtend.o if -pie.  Use %{x:a;:b} spec syntax.

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

17 years ago PR c++/19632
rth [Fri, 11 Feb 2005 20:22:23 +0000 (20:22 +0000)]
    PR c++/19632
        * pt.c (get_mostly_instantiated_function_type): Save and restore
        flag_access_control instead of push/pop_access_scope.

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

17 years ago * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
drow [Fri, 11 Feb 2005 20:18:59 +0000 (20:18 +0000)]
* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
offsets for the big-endian 32-bit case.

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

17 years ago * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
jsm28 [Fri, 11 Feb 2005 19:55:07 +0000 (19:55 +0000)]
* config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.

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

17 years ago2005-02-11 Dale Johannesen <dalej@apple.com>
dalej [Fri, 11 Feb 2005 18:12:33 +0000 (18:12 +0000)]
2005-02-11  Dale Johannesen  <dalej@apple.com>

* cselib.c (cselib_process_insn):  Clear out regs where
* reload.c (find_equiv_reg): Ditto.

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

17 years ago PR c++/19755
mmitchel [Fri, 11 Feb 2005 17:15:50 +0000 (17:15 +0000)]
PR c++/19755
* decl.c (reshape_init): Issue warnings about missing braces.

PR c++/19755
* g++.dg/warn/Wbraces1.C: New test.

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

17 years ago * cp-tree.def, except.c, ptree.c: Update copyright.
kazu [Fri, 11 Feb 2005 16:28:37 +0000 (16:28 +0000)]
* cp-tree.def, except.c, ptree.c: Update copyright.

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

17 years ago * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
ian [Fri, 11 Feb 2005 15:09:53 +0000 (15:09 +0000)]
* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
with no elements.

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

17 years ago * tree.c (build_function_type_list): Work correctly if there are
ian [Fri, 11 Feb 2005 15:07:33 +0000 (15:07 +0000)]
* tree.c (build_function_type_list): Work correctly if there are
no arguments.

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

17 years ago * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
uweigand [Fri, 11 Feb 2005 14:40:55 +0000 (14:40 +0000)]
* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
"*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on

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

17 years ago2005-02-11 Ralf Corsepius <ralf.corsepius@rtems.org>
corsepiu [Fri, 11 Feb 2005 08:13:12 +0000 (08:13 +0000)]
2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>

* config/rs6000/t-rtems:
(MULTILIB_OPTIONS): Remove mcpu=602.
Let mcpu=602 match mcpu=603.
(MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.

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

17 years ago * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
danglin [Fri, 11 Feb 2005 01:46:20 +0000 (01:46 +0000)]
* pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
signal trampolines.

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

17 years ago2005-02-10 David Daney <ddaney@avtrex.com>
daney [Fri, 11 Feb 2005 01:12:57 +0000 (01:12 +0000)]
2005-02-10  David Daney  <ddaney@avtrex.com>

* config/alpha/linux-unwind.h: Add exception clause to copyright.
* config/i386/linux-unwind.h: Likewise.
* config/ia64/linux-unwind.h: Likewise.
* config/mips/linux-unwind.h: Likewise.
* config/pa/linux-unwind.h: Likewise.
* config/rs6000/linux-unwind.h: Likewise.
* config/s390/linux-unwind.h: Likewise.
* config/sh/linux-unwind.h: Likewise.
* config/sparc/linux-unwind.h: Likewise.

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

17 years agoDaily bump.
gccadmin [Fri, 11 Feb 2005 00:18:19 +0000 (00:18 +0000)]
Daily bump.

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

17 years ago * MAINTAINERS: Update my e-mail address.
ian [Thu, 10 Feb 2005 23:29:41 +0000 (23:29 +0000)]
* MAINTAINERS: Update my e-mail address.

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

17 years ago PR tree-optimization/17549
steven [Thu, 10 Feb 2005 22:57:30 +0000 (22:57 +0000)]
PR tree-optimization/17549
* tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
TER to replace a DEF with its expression if the DEF and the
rhs of the expression we replace into have the same root

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

17 years ago * config/mips/mips.md: Fix the placement of the match_scratch in the
rsandifo [Thu, 10 Feb 2005 20:43:44 +0000 (20:43 +0000)]
* config/mips/mips.md: Fix the placement of the match_scratch in the
lea64 peephole2.

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

17 years ago * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
kazu [Thu, 10 Feb 2005 20:13:21 +0000 (20:13 +0000)]
* cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
Fix comment typos.

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

17 years agoFix typo...
mrs [Thu, 10 Feb 2005 19:21:33 +0000 (19:21 +0000)]
Fix typo...

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

17 years ago * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
mrs [Thu, 10 Feb 2005 19:05:34 +0000 (19:05 +0000)]
    * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.

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

17 years ago * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
rakdver [Thu, 10 Feb 2005 19:02:44 +0000 (19:02 +0000)]
* tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
(strip_offset): Handle addresses.
(add_address_candidates): Use strip_offset.
(difference_cost): Reflect strip_offset change.
(force_var_cost, difference_cost): Strip nops.

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

17 years ago * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
kazu [Thu, 10 Feb 2005 18:59:07 +0000 (18:59 +0000)]
* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
config/cris/cris-protos.h, config/cris/cris.c: Update

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

17 years ago * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
kazu [Thu, 10 Feb 2005 18:46:31 +0000 (18:46 +0000)]

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

17 years ago * external/sax/Makefile.in: Rebuilt.
tromey [Thu, 10 Feb 2005 18:33:54 +0000 (18:33 +0000)]
* external/sax/Makefile.in: Rebuilt.
* external/sax/Makefile.am (all-local): Removed.
(BUILT_SOURCES): New variable.
(mostlyclean-local): No error if no classes to delete.
* external/w3c_dom/Makefile.in: Rebuilt.
* external/w3c_dom/Makefile.am (all-local): Removed.
(BUILT_SOURCES): New variable.
(mostlyclean-local): No error if no classes to delete.

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

17 years ago * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
law [Thu, 10 Feb 2005 17:53:46 +0000 (17:53 +0000)]
    * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
        (lookup_avail_expr): Similarly.

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

17 years ago * init.c (__gnat_initialize): Mark parameter as unused.
aj [Thu, 10 Feb 2005 15:43:53 +0000 (15:43 +0000)]
* init.c (__gnat_initialize): Mark parameter as unused.

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

17 years ago2005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
rguenth [Thu, 10 Feb 2005 15:16:51 +0000 (15:16 +0000)]
2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>

* builtins.c (fold_builtin_powi): New function.
(fold_builtin_1): Call it.

* gcc.dg/builtins-52.c: New testcase.

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

17 years agoMinor reformatting.
charlet [Thu, 10 Feb 2005 14:05:21 +0000 (14:05 +0000)]
Minor reformatting.

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

17 years agoNew file.
charlet [Thu, 10 Feb 2005 14:04:42 +0000 (14:04 +0000)]
New file.

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

17 years agoResync.
charlet [Thu, 10 Feb 2005 14:00:09 +0000 (14:00 +0000)]

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

17 years ago2005-02-09 Sergey Rybin <rybin@adacore.com>
charlet [Thu, 10 Feb 2005 13:57:23 +0000 (13:57 +0000)]
2005-02-09  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: Add to the gnatpp section the paragraph describing
the difference between compact and incompact layout and add the record
representation clause to the example illustrating different layouts.
Add the description of '-A5' gnatpp option ("align 'AT' keywords in
component clauses").

2005-02-09  Florian Villoing  <villoing@adacore.com>

* gnat_ugn.texi: Fix typos.
Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
in the generated documentation.

2005-02-09  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Remove all mentions of FSU threads, which are no
longer supported.
Update linker wrapper when linking with non GNU C++.

2005-02-09  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi:
Document the procedure to debug the DllMain routine on Windows.
Add note about -funwind-tables and mixed Ada and C/C++ programming in
ZCX mode.
Document new BIND qualifer /RETURN_CODES=VMS.

2005-02-09  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
Edited gnatmetric chapter

2005-02-09  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi:
Changes to document new wide wide character support
For AI-285
Update documentation on Normalize_Scalars and Initialize_Scalars

2005-02-09  Pascal Obry  <obry@adacore.com>

* s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.

2005-02-09  Jose Ruiz  <ruiz@adacore.com>

* s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
from the VxWorks kernel) that is needed for getting the active
priority of the different tasks.

* s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
Use a pragma Elaborate_Body in the spec file instead.
Noticed by code reading.

2005-02-09  Thomas Quinot  <quinot@adacore.com>

* exp_util.ads: Minor correction in comment.

2005-02-09  Arnaud Charlet  <charlet@adacore.com>

* s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
since this procedure is now too complex to be worth inlining.

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

17 years ago * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
charlet [Thu, 10 Feb 2005 13:57:01 +0000 (13:57 +0000)]
* usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
Slight fix to documentation of -gnaty with no parameters

* xr_tabls.ads: Add ??? comment for missing overall comment

* xsinfo.adb: Make default file name be sinfo.h, since this is what
we now use by default.

* xsnames.adb: Adjust end of file test to look for five space followed
by '#' instead of six spaces. The format of xsnames.adb was modified
in the last update.

* a-numeri.ads: Add reference to AI-388 for greek letter pi

* clean.adb: Minor reformatting.

* gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
gnatname.adb: Minor reformatting
Add 2005 to copyright output when utility is run

* csets.adb: Eliminate obsolete comment

* debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
Update comments.

* sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.

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

17 years ago * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
charlet [Thu, 10 Feb 2005 13:56:44 +0000 (13:56 +0000)]
* s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
recursion warnings when compiled with -gnatdm.

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

17 years ago * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
charlet [Thu, 10 Feb 2005 13:56:32 +0000 (13:56 +0000)]
* s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
fields for foreign threads.

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

17 years ago * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
charlet [Thu, 10 Feb 2005 13:56:20 +0000 (13:56 +0000)]
* s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
Minor reformatting.

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

17 years ago * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
charlet [Thu, 10 Feb 2005 13:56:10 +0000 (13:56 +0000)]
* sem_ch7.adb (Uninstall_Declarations): Exchange full and private
views of a private type after handling its private dependents, to
maintain proper stack discipline between entry and exit from the

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

17 years ago * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
charlet [Thu, 10 Feb 2005 13:55:59 +0000 (13:55 +0000)]
* sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
with expansion disabled. The actual subtype is needed among other
places when the selected component appears in the context of a loop
bound, and denotes a packed array.
(Operator_Check): Always use the first subtype in the
error message, to avoid the appearance of internal base types.
(Transform_Object_Operation): Copy each actual in full
to the parameter associations of the constructed call, rather than
using the shallow copy mechanism of New_Copy_List. This ensures that
the chaining of named associations is done properly.
(Complete_Object_Operation): Rewrite node, rather than
replacing it, so that we can trace back to the original selected

* sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
and calls that use object notation, if the called function is not
declared  in a withed unit, place the elaboration constraint on the
unit in the context that makes the function accessible.
(Check_Elab_Subtype_Declaration): Check whether a subtype declaration
imposes an elaboration constraint between two packages.

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

17 years ago * prj-makr.adb (Process_Directory): Put file name in canonical case
charlet [Thu, 10 Feb 2005 13:55:43 +0000 (13:55 +0000)]
* prj-makr.adb (Process_Directory): Put file name in canonical case
before matching against the patterns.
If gnatname has been invoked as <prefix>-gnatname
then invoke the compiler as <prefix>-gcc, not just "gcc".

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

17 years ago * s-asthan-vms.adb: Removed.
charlet [Thu, 10 Feb 2005 13:55:33 +0000 (13:55 +0000)]
* s-asthan-vms.adb: Removed.

* s-asthan-vms-alpha.adb: Added.

* Makefile.in [VMS] (LN,LN_S): Define as cp -p
Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
[VMS]: Add translations for g-enblsp.adb.
(LIBGNAT_SRCS): Add seh_init.c.
(LIBGNAT_OBJS): Add seh_init.o.

PR ada/16592

Link all gnat tools with -static-libgcc, since
-shared-libgcc is now used by default on some systems (e.g. linux with
recent binutils).
Remove references to Makefile.prolog/generic, no longer used.

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

17 years ago * make.adb (Gnatmake): Do not fail when the main project has no object
charlet [Thu, 10 Feb 2005 13:54:58 +0000 (13:54 +0000)]
* make.adb (Gnatmake): Do not fail when the main project has no object

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

17 years ago * init.c (__gnat_initialize): Add a new parameter eh which contains the
charlet [Thu, 10 Feb 2005 13:54:45 +0000 (13:54 +0000)]
* init.c (__gnat_initialize): Add a new parameter eh which contains the
address of the exception registration. The Win32 version of this
routine calls __gnat_install_SEH_handler() to initialize the SEH
(Structured Exception Handling) handler.
(__gnat_error_handler) [Win32]: Removed. Not needed as we use
SEH (Structured Exception Handling) now.
(__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
(__gnat_initialize for ppc-vxworks): Adjust comments and the
preprocessor condition protecting the call to the extra eh setup
subprogram, which is only available for the ppc target.
(__gnat_clear_exception_count): replaced reference to
variable taskIdCurrent by call to taskIdSelf(), cleaner.

* seh_init.c: New file.

* Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.

* misc.c (gnat_parse_file): Update call to __gnat_initialize. This
routine takes a new parameter (a pointer to the exception registration
for the SEH (Structured Exception Handling) support.

* raise.h: (__gnat_install_SEH_handler): New prototype.
Update copyright notice.

* s-tassta.adb (Task_Wrapper): Declare the exception registration
record and initialize it by calling __gnat_install_SEH_handler.

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

17 years ago * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
charlet [Thu, 10 Feb 2005 13:54:28 +0000 (13:54 +0000)]
* gnatbl.c: [VMS] (_POSIX_EXIT): Define.
[VMS] (#define exit hack): Remove.

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

17 years ago * exp_ch4.adb (Expand_Composite_Equality): If a component is an
charlet [Thu, 10 Feb 2005 13:54:15 +0000 (13:54 +0000)]
* exp_ch4.adb (Expand_Composite_Equality): If a component is an
unchecked union with no inferable discriminants, return a
Raise_Program_Error node, rather than inserting it at the point the
type is frozen.
(Expand_Record_Equality, Component_Equality): Handle properly the case
where some subcomponent is an unchecked union whose generated equality
code raises program error.

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

17 years ago * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
charlet [Thu, 10 Feb 2005 13:53:58 +0000 (13:53 +0000)]
* exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
component of an array of arrays in an assignment context, and the
aggregate has component associations that require sliding on
assignment, force reanalysis of the aggregate to generate a temporary
before the assignment.
(Must_Slide): Make global to the package, for use in Gen_Assign.

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

17 years ago2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 10 Feb 2005 13:53:21 +0000 (13:53 +0000)]
2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

Fix for c330001 - PR ada/19386

* decl.c:
(gnat_to_gnu_field): Do not necessarily invoke make_packable_type
on the field if Pragma Component_Alignment (Storage_Unit).
(gnat_to_gnu_entity, case object): Do not treat a renaming that has
side-effects as if it were a constant; also make SAVE_EXPR to protect
(gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
(make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
(components_to_record): Test it.
Fix improper usage of REFERENCE_CLASS_P.

* utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as

* utils2.c: Minor reformatting.

* utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
handle other cases like RECORD_TYPE.

* utils.c (gnat_pushdecl): Set TREE_NO_WARNING.

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

17 years ago2005-02-09 Doug Rupp <rupp@adacore.com>
charlet [Thu, 10 Feb 2005 13:51:58 +0000 (13:51 +0000)]
2005-02-09  Doug Rupp  <rupp@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* adaint.c, adaint.h
[VMS] (to_ptr32): New function.
(MAYBE_TO_PTR32): New macro.
(__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
for pointer size.
[VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
[VMS] (#define fork()): Remove since unneccessary.
(__gnat_set_close_on_exec): New routine to support

* g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
the parent side as close-on-exec so that they are not inherited by the

* g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
set or clear the FD_CLOEXEC flag on a file descriptor.

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

17 years ago2005-02-09 Robert Dewar <dewar@adacore.com>
charlet [Thu, 10 Feb 2005 13:51:40 +0000 (13:51 +0000)]
2005-02-09  Robert Dewar  <dewar@adacore.com>

        * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
        Fix name of Set routine

* a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
fixed packages.

* a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
fixed packages

* a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
forms of Get_Line subprograms for AI-301.

* a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
a-stwima.ads: Minor reformatting.

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

17 years ago2005-02-09 Robert Dewar <dewar@adacore.com>
charlet [Thu, 10 Feb 2005 13:50:48 +0000 (13:50 +0000)]
2005-02-09  Robert Dewar  <dewar@adacore.com>
    Thomas Quinot  <quinot@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Pascal Obry  <obry@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Doug Rupp  <rupp@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* g-zstspl.ads: New file.

* a-chahan.ads, a-chahan.adb: Add declarations from AI-285

* a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
Ada 95 mode
Add definition of Wide_Wide_Space for AI-285

* impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
interface (to support Ada 95 and Ada 2005 units).
Add Unbounded_IO files
Add entries for Wide_Wide packages for AI-285
Add list of containers packages to Ada 2005 unit list

* a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
support new Unbounded_IO package cleanly.

* g-utf_32.ads, g-utf_32.adb: New files.

* Makefile.rtl: Add entry for g-utf_32
Add new files for Unbounded_IO
Adjust make file for new AI-285 wide wide packages
Add AI-302 containers to the run time.

* a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
subprograms for AI-301.

* a-stwiun.adb, a-stwiun.ads: Minor reformatting.

* a-stunau.ads: Minor comment correction

* rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
(Check_RPC): Update to match changes in expanded code.
Clean up unused entity.

* exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
was not taken into account.
This includes proper initialization with Normalize_Scalars.
(Get_Simple_Init_Val): Major rewrite for initialize scalars and
normalize scalars cases (particularly the latter) to do a better job
of finding invalid representations.

* s-scaval.ads, s-scaval.adb: Add values for zero invalid values

* s-strops.ads, s-strops.adb: Remove string normalize routines, never

* exp_dist.adb: Add support for wide wide character type
(Expand_Receiving_Stubs_Bodies): For a package declaration that has a
private part, generate stub bodies at the end of the private part,
not the visible part.
(Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
PolyORB support.
(Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
generic wrapper to execute final processing after completing the
expansion of the RPC receiver for an RACW.

* snames.h, snames.ads, snames.adb: Add definitions for wide_wide
packages and attributes.
(Preset_Names): Addition of the new reserved words of Ada 2005,
that is interface, overriding and synchronized.
(Get_Pragma_Id): Give support to the use of the new reserved word
"interface" as a pragma name.
(Is_Pragma_Name): Give support to the use of the new reserved word
"interface" as a pragma name.
(Preset_Names): Add stream_size string for the Stream_Size Ada2005
attribute implementation.

* exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
checks to entities that are output parameters of Asm operations.
Handle the Stream_Size attribute.
Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width

* exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type

* sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
for second parameter being 0.0.
Add support for wide wide character type.
(Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.

* s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
for wide wide character cases.

* cstand.adb: Create entities for Wide_Wide_Character and

* i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
accordance with AI-258.
Add new declarations for 16/32 bit C character types (Part of AI285)

* einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
(Obsolescent_Warning): New field
(Rep_Clause): New local subprogram used to share code. Returns the rep
clause for which the name is given in parameter.
(Has_Stream_Size_Clause): New routine.
(Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
(Address_Clause): Implementation is now using Rep_Clause.
(Alignment_Clause): Idem.
(Size_Clause): Idem.

* lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
entity in non-Ada 2005 mode and generate warning.

* par-prag.adb: Add handling of one argument form for pragma Ada_05.
(Prag): Code cleanup. Remove old gnat pragma "overriding"

* sem_prag.adb: Add handling of one argument form for pragma Ada_05
(Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
on the named unit if the pragma is not in the current compilation unit,
so that elaboration calls in the current unit can set up an elaboration
dependency on the named unit, as needed.
(Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
subprogram as well as for subprograms declared within a package.
(Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
pragma overriding.

* krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
to z) to avoid some instances of duplication for Wide_Wide packages.

* namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide

* scn.adb: Char_Literal_Value field is now a Uint

* scng.adb: Significant rewrite to handle new Ada 2005 features
allowing wide and wide wide characters in program text, e.g. for
identifiers, as described in AI-285.
(Set_Reserved): New procedure, makes setting up keywords cleaner.
(Initialize_Scanner): Register the new reserved words of Ada 2005.
(Scan): Give support to the new reserved words.

* par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
warning notifying that interface, overriding, and synchronized are
new reserved words.
(P_Pragma): Allow the use of the new reserved word "interface" as
a pragma name.

* gnatls.adb, gnatbind.adb,
ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
identifiers named "interface" to "SAL_Interface".

* bindgen.adb (Gen_Main_Ada): Add support for the new SEH
(Structured Exception handling).
(Gen_Main_C): Idem.

* bindgen.adb:
(Gen_Main_Ada): Set the default exit code if specified.
(Gen_Main_C): Likewise.
Part of *DC20-006.
(Gen_Output_File_C): Remove redundant output of gnat_exit_status.
Code cleanup. Rename identifiers named "interface" to "SAL_Interface"

* switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
new -Xnnn switch.

* mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
has a collision with the new Ada 2005 "interface" reserved word.

* par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
generate a warning notifying that interface, overriding, and
synchronized are new reserved words.

* scans.ads (Token_Type): Addition of the tokens corresponding to the
new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
and Tok_Synchronized.

* sem_res.adb (Resolve_Actuals): Change error messages to refer to
"dispatching" rather than "primitive" operations, since dispatching
calls are now allowed to abstract formal subprograms (which are not
Char_Literal_Value field is now a Uint
(Resolve_Slice): If the prefix is an access to an unconstrained array,
compute the actual subtype of the designated object to impose the proper
index constraints.
(Resolve_Selected_Component): Do not insert an access check if the
prefix is an access type: such a node is expanded into an explicit
dereference, on which the access check is performed anyway. Removes
expensive duplicate checks.
(Resolve_Call): Use new flag Is_Obsolescent and field
Obsolescent_Warning so that pragma Obsolescent works on library
Add support for wide wide character type
(Resolve_Allocator): Replace the error message on wrong null-exclusion
value by a warning message.
(Resolve_Type_Conversion): If the mixed-mode expression is interpreted
as fixed-point, and one of the operands is non-static and universal, it
can only be an illegal exponentiation operation, in which case there is
no real value to retrieve.

* exp_strm.adb: Add support for wide wide character type
(Build_Elementary_Input_Call): Compute the size of the stream element by
querying the rep chain to find the Stream_Attribute attribute value.
(Build_Elementary_Write_Call): Ditto.

* sem_aggr.adb: Char_Literal_Value field is now a Uint
Add support for wide wide character type
Replace the error messages on wrong null-exclusion value by warnings
as described in Ada 2005.
(Resolve_Extension_Aggregate): Document the fact that the error
message on class-wide expressions in extensions aggregates.

* sem_case.adb: Add support for wide wide character type

* sem_ch13.adb: Add support for wide wide character type
(Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.

* sem_ch3.adb: Add support for wide wide character type
(Process_Subtype): If constraint is illegal for the type, set Ekind of
now-useless Itype, to prevent cascaded errors on a compiler built
without -gnatp.

* sem_ch8.adb: Add with and use of Sem_Disp.
(Analyze_Subprogram_Renaming): Replace unclean uses of
Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
of Corresponding_Spec to Empty).
(Attribute_Renaming): Replace use of Corresponding_Spec with
Corresponding_ Formal_Spec and simplify condition.
(Use_One_Package): Check that scope of homonym of identifier is defined,
before checking whether it is a wrapper package.
Add support for wide wide character type

* sem_eval.adb: Add support for wide wide character type.
(Eval_Arithmetic_Op): Check for compile time known signed integer
overflow in the non-static case.
(Subtypes_Statically_Match): A formal scalar type and its base type do
not statically match.

* sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
"not in" for test of N_Formal_Subprogram_Declaration (which is now a
(Unit_Declaration_Node): Ditto.
(Is_Variable_Prefix):  For the case of an indexed component whose prefix
has a packed array type, the prefix has been rewritten into a type
conversion. Determine variable-ness from the converted expression.
Handle wide wide character cases.

* stand.ads: Add types Wide_Wide_Character and Wide_Wide_String

* stringt.ads, stringt.adb: Handle full UTF-32 range.
Remove ["0A"] from comment, since it can look like a line terminator.
Currently we don't permit this, but this is under discussion by the
ARG, and it is easy enough to use a different example.

* s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
handling UTF-32 encoding for wide wide character.
Implement new brackets coding ["hhhhhhhh"]
Add UTF-8 encodings for full UTF-32 range

* ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size

* types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
bit range Add full UTF-32 support.
(RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
notify that constraint error will be raised at run-time
because a null value is assigned to a null-excluding object.
Remove some obsolete declarations and make Char_Code

* a-except.adb (Rcheck_30): New subprogram. Addition of the message
corresponding to CE_Null_Not_Allowed, and adjust the output of all the
Rcheck subprograms.

* checks.adb (Check_Null_Not_Allowed): Replace the error message on
wrong null-exclusion value by a warning message.
(Enable_Range_Check): Do range check if the prefix is an
explicit dereference whose designated object is an unconstrained array.
Current algorithm for removing duplicate checks is over-eager in this

* sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
null-exclusion value by a warning message

* atree.h, atree.ads, atree.adb: Remove Char_Code field support
completely. Add support for Uint2 field

sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
exp_prag.adb: Char_Literal_Value field is now a Uint.

* exp_util.adb (Insert_Actions): Replace
N_Formal_Subprogram_Declaration by
Char_Literal_Value field is now a Uint.

* sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
defined for subprogram renaming declarations. When set, the field
indicates the defining entity of a corresponding formal subprogram
when the renaming corresponds to a formal subprogram association in an
(Set_Corresponding_Formal_Spec): New procedure to return
Corresponding_Formal_Spec field.
Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
(which is now a subtype).
Char_Literal_Value field is now a Uint

* exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
pointer to the base of the dispatch table.
Minor changes to comments.
(Controlling_Type): New function for determining the tagged type
associated with a tagged primitive subprogram.
(Expand_Dispatching_Call): Add support for a controlling actual that is
directly a value of type Ada.Tag rather than a tagged object.

* i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
describing the new layout.
(Dispatch_Table): The expander computes the actual array size, allocates
the Dispatch_Table record accordingly, and generates code that displaces
the base of the record after the Typeinfo_Ptr component. The access to
these components is done by means of local functions.
(Offset_To_Top): New function.
(Typeinfo_Ptr): New function.
(Get_TSD): Modified to access the new position of the TSD.
(Set_TSD): Modified to save the TSD in its new position.

* par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
case of formal abstract subprograms. Add check and message for -gnat05.
Update comments.

* sem_ch12.adb: Add with and use for Sem_Disp.
(Analyze_Associations): Minor change from "=" to "in" for use of
N_Formal_Subtype_Declaration (which is now a subtype).
(Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
N_Formal_Subtype_Declaration (which is now a subtype).
(Analyze_Formal_Subprogram): Add handling for
N_Formal_Abstract_Subprogram, marking the formal as abstract and
dispatching, setting the controlling status of the formal parameters
and result, and issuing an error if there is no controlling type for
the formal subprogram.
(Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
which is an unclean use of that field, we set the new field
Corresponding_Formal_Spec to make the formal subprogram available to
processing in Analyze_Subprogram_Declaration.
(Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
Constrained, so that it is is does not statically match its anonymous
base type.

* sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
abstract formal subprograms in error check for functions returning
abstract types. Set scope of new designator for
a parameterless subprogram, so that it is available when checking the
body for nested subprograms, before full analysis of said body.
(Analyze_Subprogram_Body): Warn on inlining bodies with nested
subprogram only if inner one comes from source.
(Analyze_Function_Call): If the call is given in object notation, the
analysis of the name rewrites the node and analyzes it with the proper
argument list. After analyzing the name, if the call has been rewritten
and the result type is set, no further analysis is needed.
(Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
mark in function specification, in a context where the formals are
visible and hide outer homographs.

* sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
as the tagged type for the cases of abstract formal subprograms and
renamings of those.  Clean up spec comments.
(Check_Dispatching_Context): Add error message to indicate "abstract
procedure", covering the case of a call to a formal abstract procedure
that has statically tagged operands.
(Check_Dispatching_Call): Check for the case of an actual given by
a tag-indeterminate function call whose type is an ancestor of the
containing call's associated tagged type. This situation can occur
for inherited primitives with function defaults. In this case we
use the tagged type's tag directly as the controlling argument for
the calls.
(Expand_Call): Name change on call to Expand_Dispatch_Call.

* sprint.adb (Sprint_Node_Actual): Split
N_Formal_Subprogram_Declaration into two alternatives for the new
cases N_Formal_Abstract_Subprogram_Declaration and
Char_Literal_Value field is now a Uint.

* trans.c: Get rid of junk Uint2 reference.
Char_Literal_Value field is now a Uint.
(gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
(gigi): Correct third arg to gimplify_body.

* ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
(TYPE_LANG_FLAG_0): Check for record or union.

* treepr.adb: Char_Literal_Value field is now a Uint

* uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and

* widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
Add full UTF-32 support
Char_Code is now 32 bits

* sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
wide character UTF_32 line terminators.
Initialize Main_Source_File to avoid error when no main
source is loaded.

* errout.adb (Finalize): Do not check Num_SRef_Pragmas
(Main_Source_File) when no main source has been loaded, to avoid
potential crash.

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