OSDN Git Service

pf3gnuchains/gcc-fork.git
19 years ago PR tree-optimization/16867
dnovillo [Thu, 12 Aug 2004 14:34:11 +0000 (14:34 +0000)]
PR tree-optimization/16867
* tree.c (is_global_var): New function.
(needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
Call is_global_var.
* tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
Update all users.
(is_global_var): Declare.
* tree-dfa.c (dump_variable): Display global and addressable
attributes.
(add_referenced_var): Clarify documentation when marking
variables call-clobbered.
* tree-flow-inline.h (is_call_clobbered): Call is_global_var
instead of needs_to_live_in_memory.
(mark_call_clobbered): If the variable is a tag, mark it
DECL_EXTERNAL.
* tree-gimple.c (is_gimple_reg): Don't check for
TREE_ADDRESSABLE.
(is_gimple_non_addressable): Likewise.
* tree-ssa-alias.c (get_nmt_for): Always check whether the tag
needs to be marked call-clobbered.
(setup_pointers_and_addressables): Call is_global_var instead
of needs_to_live_in_memory.
* tree-ssa-dce.c (need_to_preserve_store): Remove.
Update all users with is_global_var.
(mark_stmt_if_obviously_necessary): Fix processing of aliased
stores.  Don't check the virtual definitions.  Rather, check
whether the store is going into global memory.
(find_obviously_necessary_stmts): Get the symbol from the PHI
result.
* tree-ssa-operands.c (get_call_expr_operands): Do not add
clobbering may-defs if the call does not have side effects.

libjava/ChangeLog

PR tree-optimization/16867
* testsuite/libjava.lang/PR16867.java: New test.

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

19 years ago PR c++/16276
jakub [Thu, 12 Aug 2004 13:57:04 +0000 (13:57 +0000)]
    PR c++/16276
        * output.h (default_function_rodata_section,
default_no_function_rodata_section): New prototypes.
* target.h (struct gcc_target): Add asm_out.function_rodata_section.
* target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
(TARGET_ASM_OUT): Add it.
        * varasm.c (default_function_rodata_section,
default_no_function_rodata_section): New functions.
        * final.c (final_scan_insn): Call
targetm.asm_out.function_rodata_section instead of
readonly_data_section.
* config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
* config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
* config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
* config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
Likewise.
* config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
* config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
Likewise.
* config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
Likewise.
* config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
* config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
* doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.

        * g++.old-deja/g++.other/comdat4.C: New test.
        * g++.old-deja/g++.other/comdat4-aux.cc: New.

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

19 years ago * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
pbrook [Thu, 12 Aug 2004 13:45:44 +0000 (13:45 +0000)]
* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
frame info.
* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
DWARF2_UNWIND_INFO.

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

19 years ago2004-08-12 Kelley Cook <kcook@gcc.gnu.org>
kcook [Thu, 12 Aug 2004 12:13:14 +0000 (12:13 +0000)]
2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

* include/Makefile.in: Regenerate

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

19 years ago2004-08-12 Kelley Cook <kcook@gcc.gnu.org>
kcook [Thu, 12 Aug 2004 11:54:13 +0000 (11:54 +0000)]
2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

* Makefile.in, aclocal.m4, configure, include/Makefile.in,
libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
src/Makefile.in, testsuite/Makefile.in: Regenerate

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

19 years agoPatch for PR target/16286
bje [Thu, 12 Aug 2004 11:02:38 +0000 (11:02 +0000)]
Patch for PR target/16286

2004-08-12  Ben Elliston  <bje@au.ibm.com>

* config/rs6000/altivec.h: Change vector to __vector throughout.
(Except for the `vector' macro itself).

[testsuite]
2004-08-12  Ben Elliston  <bje@au.ibm.com>

* gcc.dg/pr16286.c: New test.

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

19 years ago2004-08-12 Jan Beulich <jbeulich@novell.com>
paolo [Thu, 12 Aug 2004 09:46:39 +0000 (09:46 +0000)]
2004-08-12  Jan Beulich  <jbeulich@novell.com>

* config/locale/generic/ctype_members.cc
(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
initializer for return value, as that is invalid for enumerated types.
* config/locale/gnu/ctype_members.cc
(ctype<wchar_t>::_M_convert_to_wmask): Likewise.

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

19 years ago*** empty log message ***
jbeulich [Thu, 12 Aug 2004 09:39:59 +0000 (09:39 +0000)]
*** empty log message ***

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

19 years agocp/
jbeulich [Thu, 12 Aug 2004 09:34:16 +0000 (09:34 +0000)]
cp/
2004-08-12 Jan Beulich <jbeulich@novell.com>

* parser.c (cp_parser_asm_definition): Properly consume scope operator
tokens preceding the clobbers. Don't check for scope operator
following inputs. Simplify inputs handling to match that now used for
clobbers.

testsuite/
2004-08-12 Jan Beulich <jbeulich@novell.com>

* g++.dg/ext/asm5.C: New.

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

19 years ago * genpreds.c: Add capability to generate predicate bodies as
zack [Thu, 12 Aug 2004 07:49:00 +0000 (07:49 +0000)]
* genpreds.c: Add capability to generate predicate bodies as
well as function prototypes.  Write function prototypes for
the generic predicates too.
(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
(write_match_code, write_predicate_expr, write_one_predicate_function)
(parse_option): New functions.
(output_predicate_decls): Delete.
(main): Read the machine description, process DEFINE_PREDICATE or
DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
as appropriate.

* genrecog.c (struct decision_test): Replace index with
struct pred_data pointer.
(next_index): Remove, unused.
(pred_table, preds, special_mode_pred_table): Delete.
(compute_predicate_codes, process_define_predicate): New functions.
(validate_pattern, add_to_sequence, write_switch): Update for
new data structures.
(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
Check both error_count and have_error.

* gensupport.c (in_fname, first_predicate): New globals.
(define_pred_queue, define_pred_tail): New RTL-pattern queue.
(predicate_table, last_predicate, old_pred_table)
(old_special_pred_table): New statics.
(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
(add_predicate, init_predicate_table): New functions.
(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
(init_md_reader_args_cb): Use the global in_fname.  No need to zero
it or max_include_len.  Call init_predicate_table.
(read_rtx): Run the predicate queue after the attribute queue
but before all the others.
* gensupport.h (in_fname, struct pred_data, first_predicate)
(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
(DEFINE_SPECIAL_PREDICATE): New RTL codes.
* dummy-conditions.c: Don't include bconfig.h, system.h,
coretypes.h, tm.h, or system.h.  Do include stddef.h.
Duplicate declaration of struct c_test from gensupport.h.

* Makefile.in (OBJS-common): Add insn-preds.o.
(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
(insn-preds.c, insn-preds.o): New rules.
(s-preds): Also generate insn-preds.c.
(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
Update dependencies.
(print-rtl.o, print-rtl1.o): Correct dependencies.

* recog.h: Delete prototypes of predicate functions.

* doc/md.texi (Predicates): New section with complete
documentation of operand/operator predicates.  Remove some
incomplete documentation of predicates from other places.
* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
PREDICATE_CODES; indicate that both are deprecated in favor
of define_predicate/define_special_predicate.

* config/ia64/ia64.c: All predicate function definitions moved
to ia64.md, except
(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
(ia64_expand_load_address, ia64_expand_move):
Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.

* config/ia64/ia64.md: All predicates now defined here.
(symbolic_operand): Is now a special predicate.

* config/ia64/ia64.h: Declare ia64_section_threshold.
(PREDICATE_CODES): Delete.

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

19 years ago * gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class,
bothner [Thu, 12 Aug 2004 06:53:42 +0000 (06:53 +0000)]
* gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class,
with private fields and access methods.
(_Jv_NewStringUTF, _Jv_hashUtf8String): New function declarations.
* gcj/cni.h (_Jv_NewStringUTF): Move to javaprims.h.
* prims.cc (_Jv_Utf8COnst::init): New method implementation.
( _Jv_makeUtf8Const): Rewrite using new constructors.
(hashUtf8String): Rename to +_Jv_hashUtf8String and make non-static.
* defineclass.cc: Use new _Utf8Const access/convenience methods.
* jni.cc: Likewise.
* resolve.cc: Likewise.
* gcj/field.h: Likewise.
* include/jvm.h: Likewise.
* java/lang/Class.h: Likewise.
* java/lang/natClass.cc: Likwise.
* java/lang/natClassLoader.cc: Likewise
* java/lang/reflect/natMethod.cc: Likewise
* verify.cc: Likewise.
(_Jv_BytecodeVerifier::make_utf8_const):  Optimize.
(~_Jv_BytecodeVerifier):  Don't need second _Jv_Free call.

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

19 years ago PR c++/16698
mmitchel [Thu, 12 Aug 2004 05:17:42 +0000 (05:17 +0000)]
PR c++/16698
* except.c (build_throw): Allocate cleanup_type and the function
for __cxa_throw separately.

PR c++/16698
* g++.dg/eh/crash1.C: New test.

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

19 years ago * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
rth [Thu, 12 Aug 2004 04:09:57 +0000 (04:09 +0000)]
    * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
        * c-semantics.c (add_stmt): Set it.
        * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
        before instantiating a variable sized type.

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

19 years ago * stor-layout.c (round_up, round_down): Move ...
rth [Thu, 12 Aug 2004 04:01:04 +0000 (04:01 +0000)]
    * stor-layout.c (round_up, round_down): Move ...
        * fold-const.c (round_up, round_down): ... here.  Use
        multiple_of_p to avoid any arithmetic at all.

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

19 years ago * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
rth [Thu, 12 Aug 2004 03:54:11 +0000 (03:54 +0000)]
    * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
        (gimplify_init_ctor_preeval_1): New.
        (gimplify_init_ctor_preeval): New.
        (gimplify_init_ctor_eval): New.
        (gimplify_init_constructor): Use them.  Always gimplify the LHS
        object first.

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

19 years ago PR c++/16717
mmitchel [Thu, 12 Aug 2004 02:51:31 +0000 (02:51 +0000)]
PR c++/16717
* g++.dg/ext/construct1.C: New test.

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

19 years ago[gcc/ChangeLog]
zlaski [Thu, 12 Aug 2004 01:53:01 +0000 (01:53 +0000)]
[gcc/ChangeLog]
2004-08-12  Ziemowit Laski  <zlaski@apple.com>

        (This patch is part of merge of objc-improvements-branch
        into mainline.)

        * doc/frontends.texi: Mention Objective-C++ in addition to
        Objective-C.
        * doc/install.texi: Add 'obj-c++' to list of configurable
        languages.
        * doc/invoke.texi: Rename Objective-C option headings to
        indicate they also apply to Objective-C++.  List file
        extensions for Objective-C++ sources.  Mention that
        ObjC and ObjC++ compilations may also use C and C++ options,
        respectively.  Point users to doc/standards.texi for
        further info on ObjC and ObjC++.
        * doc/sourcebuild.texi: Mention the objcp/ directory and
        the Objective-C++ sources it contains.
        * doc/standards.texi: Update link to Apple ObjC site;
        add link to gcc readings.html WWW doc.

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

19 years ago PR c++/16853
mmitchel [Thu, 12 Aug 2004 00:43:47 +0000 (00:43 +0000)]
PR c++/16853
* call.c (standard_conversion): Do not accept conversions between
pointers to members if the class types are unrelated.

PR c++/16618
* parser.c (cp_parser_builtin_offsetof): Cast to "const volatile
char &" instead of just "char &".

PR c++/16870
* pt.c (tsubst): Just return the unknown_type_node.

PR c++/16853
* g++.dg/init/ptrmem1.C: New test.

PR c++/16618
* g++.dg/parse/offsetof5.C: New test.

PR c++/16870
* g++.dg/template/overload3.C: New test.

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

19 years agoDaily bump.
gccadmin [Thu, 12 Aug 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

19 years agoFix comment typo
giovannibajo [Wed, 11 Aug 2004 23:19:10 +0000 (23:19 +0000)]
Fix comment typo

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

19 years ago * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
amodra [Wed, 11 Aug 2004 23:18:21 +0000 (23:18 +0000)]
* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
and 2004-07-14 changes.

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

19 years ago * doc/invoke.texi: Fix typo.
pbrook [Wed, 11 Aug 2004 23:05:24 +0000 (23:05 +0000)]
* doc/invoke.texi: Fix typo.

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

19 years ago PR c++/16964
mmitchel [Wed, 11 Aug 2004 22:13:32 +0000 (22:13 +0000)]
PR c++/16964
* parser.c (cp_parser_class_specifier): Robustify.

PR c++/16904
* pt.c (tsubst_copy_and_build): Complain about invalid
qualification.

PR c++/16929
* pt.c (tsubst_default_argument): Clear out current_class_ptr and
current_class_ref while tsubsting.

PR c++/16964
* g++.dg/parse/error16.C: New test.

PR c++/16904
* g++.dg/template/error14.C: New test.

PR c++/16929
* g++.dg/template/error15.C: New test.

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

19 years ago * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
dpatel [Wed, 11 Aug 2004 21:26:12 +0000 (21:26 +0000)]
   * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
       and -no_dead_strip_inits_and_terms.
       (LINK_SPEC): Same.
       * doc/invoke.texi (Darwin Options): Document -dead_strip and
       -no_dead_strip_inits_and_terms.

       * gcc.dg/darwin-ld-20040809-1.c: New test.
       * gcc.dg/darwin-ld-20040809-2.c: New test.

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

19 years ago * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
pbrook [Wed, 11 Aug 2004 21:02:47 +0000 (21:02 +0000)]
* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
(arm_load_pic_register): ... to this.
* config/arm/arm.c (arm_finalize_pic): Rename ...
(arm_load_pic_register): ... to this.  Always output insns at the
current location.  Load via low reg in thumb mode.
(arm_expand_prologue): Call arm_load_pic_register.
(thumb_expand_prologue): Ditto.
* config/arm/arm.h (FINALIZE_PIC): Remove.
* config/arm/arm.md (builtin_setjmp_receiver): Call
arm_load_pic_register.

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

19 years ago * arm.c (thumb_force_lr_save): Add prototype.
pbrook [Wed, 11 Aug 2004 20:59:15 +0000 (20:59 +0000)]
* arm.c (thumb_force_lr_save): Add prototype.
(thumb_compute_save_reg_mask): New function.
(thumb_find_work_register): New function.
(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
Don't clobber r3 when removing pretend args.
(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
(thumb_output_function_prologue): Use new functions.
(thumb_set_return_address): Use thumb_compute_save_reg_mask.
* arm.h (THUMB_REG_PUSHED_P): Remove.

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

19 years agoFix -fprofile-use ICE.
wilson [Wed, 11 Aug 2004 20:08:00 +0000 (20:08 +0000)]
Fix -fprofile-use ICE.
PR rtl-optimization/16490
* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
global_live_at_end for new basic block if already set for other blocks.

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

19 years ago * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
dje [Wed, 11 Aug 2004 19:18:14 +0000 (19:18 +0000)]
    * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.

        * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
        (mfcr rlwinm rlwinm patterns): Set length to 12.

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

19 years ago2004-08-11 Andrew MacLeod <amacleod@redhat.com>
amacleod [Wed, 11 Aug 2004 17:50:47 +0000 (17:50 +0000)]
2004-08-11  Andrew MacLeod  <amacleod@redhat.com>

* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
(get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
(start_ssa_stmt_operands): Delete.
* tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
struct stmt_operands_d.
(build_ssa_operands): New extern entry point.
* tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
building code, replace with create_ssa_artficial_load_stmt().
* tree-ssa-operands.c (struct voperands_d): Delete.
(allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
(allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
(free_uses, free_defs, free_vuses, free_v_may_defs,
free_v_must_defs): Remove dealloc parameter.
(remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
(finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
vector comparisons, ssa_name reuse, and allocations here.
(verify_start_operands): Delete.
(finalize_ssa_stmt_operands): Set new operands by calling finalize
routines.
(start_ssa_stmt_operands): Move from tree-flow-inline.h.
(append_def, append_usei): Simplify to simple accumulation.
(append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
duplicates and simple accumulation.
(free_ssa_operands): Free vectors in a stmt_operand structure.
(build_ssa_operands): New. Create a new stmt_operand structure from
a stmt and an old set of stmt_operands.
(get_stmt_operands): Simplify and call build_ssa_operands.
(get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
add_call_read_ops): Don't pass prev_vops around anymore.
(note_addressable): Return if no stmt annotation.
(copy_virtual_operands): Access v_may_def operands through a struct.
(create_ssa_artficial_load_stmt): New.  Create a load stmt for DOM's
hash tables without treating the stmt as a real stmt.
* tree-ssa-operands.h (struct v_may_def_operand_type): New.  Access
v_may_def def and use through a struct instead of 2 array elements.
(struct v_may_def_optype_d): Use v_may_def_operand_type.
(struct stmt_operands_d): New.  Struct for storing all operand vectors.

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

19 years ago2004-08-11 Paul Brook <paul@codeourcery.com>
pbrook [Wed, 11 Aug 2004 16:05:14 +0000 (16:05 +0000)]
2004-08-11  Paul Brook  <paul@codeourcery.com>

PR fortran/16917
* intrinsic.c (add_functions): Add dfloat as an alias for dble.

2004-08-11  Steven G. Kargl  <kargls@comcast.net>

* gfortran.dg/dfloat_1.f90: New test.

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

19 years ago2004-08-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Aug 2004 14:05:47 +0000 (14:05 +0000)]
2004-08-11  Paolo Carlini  <pcarlini@suse.de>

* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.

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

19 years ago2004-08-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Aug 2004 13:47:24 +0000 (13:47 +0000)]
2004-08-11  Paolo Carlini  <pcarlini@suse.de>

* testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
variable.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.

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

19 years ago2004-08-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Aug 2004 09:31:13 +0000 (09:31 +0000)]
2004-08-11  Paolo Carlini  <pcarlini@suse.de>
    Petur Runolfsson  <peturr02@ru.is>

PR libstdc++/16959
* src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
standard streams are constructed.
* testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.

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

19 years ago(arm_is_longcall_p): Update comment describing this funciton's behaviour.
nickc [Wed, 11 Aug 2004 07:48:13 +0000 (07:48 +0000)]
(arm_is_longcall_p): Update comment describing this funciton's behaviour.
  Return true when the current function has a section attribute and
  -mlong-calls is in effect.
(ARM_DECLARE_FUNCTION_SIZE): Do not set the short-call marker when
  -mlong-calls is in effect and the function has a section attribute.

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

19 years ago * stmt.c (expand_return): If asked to return the RESULT_DECL,
zack [Wed, 11 Aug 2004 06:28:00 +0000 (06:28 +0000)]
* stmt.c (expand_return): If asked to return the RESULT_DECL,
just call expand_value_return on result_rtl.

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

19 years ago * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
rth [Wed, 11 Aug 2004 04:16:07 +0000 (04:16 +0000)]
    * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
        * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
        * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
        (add_location_or_const_value_attribute): ... not here.  Use
        loc_descriptor_from_tree if possible.
        (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
        Simplify address handling.  Handle DECL_VALUE_EXPR.  Handle register
        values specially.
        (loc_descriptor_from_tree): New.  Update callers.
        * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
        * gimplify.c (gimplify_decl_expr): Lower variable sized types to
        pointer plus dereference.  Set DECL_VALUE_EXPR.  Set save_stack.
        (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
        and BUILT_IN_STACK_RESTORE.
        (gimplify_expr): Lower DECL_VALUE_EXPR decls.
        * stmt.c (expand_stack_alloc): Remove.
        * tree-mudflap.c (mx_register_decls): Don't look for
        BUILT_IN_STACK_ALLOC.
        * tree-nested.c (convert_local_reference): Likewise.
        * tree.h (DECL_VALUE_EXPR): New.
ada/
        * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
        add __builtin_alloca.
fortran/
        * f95-lang.c (gfc_init_builtin_functions): Remove
         __builtin_stack_alloc, add __builtin_alloca.
        * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
        * trans-decl.c (gfc_trans_auto_character_variable): Likewise.

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

19 years ago * config-lang.in (boot_language): Yes.
rth [Wed, 11 Aug 2004 04:10:11 +0000 (04:10 +0000)]
    * config-lang.in (boot_language): Yes.

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

19 years ago * stor-layout.c (round_up): Check for 0/1 before dividing.
rth [Wed, 11 Aug 2004 04:00:04 +0000 (04:00 +0000)]
    * stor-layout.c (round_up): Check for 0/1 before dividing.
        (round_down): Likewise.

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

19 years ago * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
rth [Wed, 11 Aug 2004 03:56:58 +0000 (03:56 +0000)]
    * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.

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

19 years ago * configure.in (arm*-*-eabi*): New target.
mmitchel [Wed, 11 Aug 2004 02:50:14 +0000 (02:50 +0000)]
* configure.in (arm*-*-eabi*): New target.
* configure: Regenerate.

* configure.ac (arm*-*-eabi*): New target.
(arm*-*-symbianelf*): Likewise.
* configure: Regenerated.

* config.gcc (arm*-*-eabi*): New target.
* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
(TARGET_LIB_INT_CMP_BIASED): Likewise.
* expmed.c (expand_divmod): Try a two-valued divmod function as a
last resort.
* gthr.h: Remove bogus tokens at end of #pragma.
* optabs.c (expand_twoval_binop_libfunc): New function.
(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
(prepare_float_lib_cmp): Try reversing the condition.
(debug_optab_libfuncs): New function.
* optabs.h (expand_twoval_binop_libfunc): Declare.
* config/arm/arm.c (arm_init_libfuncs): New function.
(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
(TARGET_INIT_LIBFUNCS): Define it.
* config/arm/arm.h (TARGET_BPABI): New macro.
* config/arm/arm-protos.h
(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
* config/arm/bpabi.S: New file.
* config/arm/bpabi.c: Likewise.
* config/arm/bpabi.h: Likewise.
* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
(__aeabi_drsub): Likewise.
(__aeabi_dsub): Likewise.
(__aeabi_dadd): Likewise.
(__aeabi_ui2d): Likewise.
(__aeabi_i2d): Likewise.
(__aeabi_f2d): Likewise.
(__aeabi_dmul): Likewise.
(__aeabi_ddiv): Likewise.
(__aeabi_cdrcmple): Likewise.
(__aeabi_cdcmpeq): Likewise.
(__aeabi_cdcmple): Likewise.
(__aeabi_dcmpeq): Likewise.
(__aeabi_dcmplt): Likewise.
(__aeabi_dcmple): Likewise.
(__aeabi_dcmpge): Likewise.
(__aeabi_dcmpgt): Likewise.
(__aeabi_dcmpun): Likewise.
(__aeabi_d2iz): Likewise.
(__aeabi_d2uiz): Likewise.
(__aeabi_d2f): Likewise.
* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
(__aeabi_frsub): Likewise.
(__aeabi_fsub): Likewise.
(__aeabi_fadd): Likewise.
(__aeabi_ui2f): Likewise.
(__aeabi_i2f): Likewise.
(__aeabi_fmul): Likewise.
(__aeabi_fdiv): Likewise.
(__aeabi_cfrcmple): Likewise.
(__aeabi_cfcmpeq): Likewise.
(__aeabi_cfcmple): Likewise.
(__aeabi_fcmpeq): Likewise.
(__aeabi_fcmplt): Likewise.
(__aeabi_fcmple): Likewise.
(__aeabi_fcmpge): Likewise.
(__aeabi_fcmpgt): Likewise.
(__aeabi_fcmpun): Likewise.
(__aeabi_f2iz): Likewise.
(__aeabi_f2uiz): Likewise.
* config/arm/lib1funcs.asm (ARM_CALL): New macro.
(__aeabi_uidivmod): New function or alias.
(__aeabi_idivmod): Likewise.
(__aeabi_idiv0): Likewise.
(__aeabi_ldiv0): Likewise.
(__aeabi_llsr): Likewise.
(__aeabi_lasr): Likewise.
(__aeabi_llsl): Likewise.
(bpabi.S): Include it.
* config/arm/libgcc-bpabi.ver: New file.
* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
(LINK_SPEC): Remove.
* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
__aeabi_ulcmp.
* config/arm/t-bpabi: New file.
* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
(TARGET_LIB_INT_CMP_BIASED): Likewise.

* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
* gcc.dg/dll-2.c: Fix dg-require syntax.
* gcc.misc-tests/arm-isr.c (abort): Declare.
(exit): Likewise.

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

19 years ago * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
dje [Wed, 11 Aug 2004 02:40:45 +0000 (02:40 +0000)]
    * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
        * config/rs6000/rs6000.md (clrmemsi): New pattern.
        * config/rs6000/rs6000.c (expand_block_clear): New function.
        (expand_block_move): Convert alignment to bits.  Use SImode and
        HImode for unaligned addresses if not STRICT_ALIGNMENT.

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

19 years ago2004-08-11 Kelley Cook <kcook@gcc.gnu.org>
kcook [Wed, 11 Aug 2004 00:56:23 +0000 (00:56 +0000)]
2004-08-11  Kelley Cook  <kcook@gcc.gnu.org>

PR bootstrap/16164
* Makefile.am: Force fastjar.info to be built in build directory.
* Makefile.in: Regenerate.

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

19 years agoDaily bump.
gccadmin [Wed, 11 Aug 2004 00:16:27 +0000 (00:16 +0000)]
Daily bump.

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

19 years ago PR c++/16971
mmitchel [Wed, 11 Aug 2004 00:14:37 +0000 (00:14 +0000)]
PR c++/16971
* parser.c (cp_parser_init_declarator): Robustify.

PR c++/16971
* g++.dg/parse/crash16.C: New test.

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

19 years agoHot/cold partitioning update, sub-patch: fix alignment problems
ctice [Tue, 10 Aug 2004 21:49:49 +0000 (21:49 +0000)]
Hot/cold partitioning update, sub-patch: fix alignment problems

2004-08-10  Caroline Tice  <ctice@apple.com

        * varasm.c (unlikely_section_label): New global variable.
        (unlikely_text_section_name): New global variable.
        (text_section):  Remove alignment statement.
        (unlikely_text_section): Remove alignment statement; use
        unlikely_section_label rather than hard-coded string.
        (assemble_start_function): Initialize unlikely_section_label and
        unlikely_text_section_name;  make sure cold section is properly
        aligned at start of function; output unlikely_section_label if
        appropriate.

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

19 years ago * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
uweigand [Tue, 10 Aug 2004 21:46:33 +0000 (21:46 +0000)]
* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
* config/s390/s390.c (s390_canonicalize_comparison): New function.
* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
("*tmqi_mem"): Remove SUBREG from pattern.
("*anddi3_cconly"): Prevent accidentally matching TM pattern.
("*andsi3_cconly"): Likewise.

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

19 years ago2004-08-10 H.J. Lu <hongjiu.lu@intel.com>
hjl [Tue, 10 Aug 2004 21:40:02 +0000 (21:40 +0000)]
2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>

PR target/16909
* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.

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

19 years ago2004-08-10 Janis Johnson <janis187@us.ibm.com>
janis [Tue, 10 Aug 2004 21:35:09 +0000 (21:35 +0000)]
2004-08-10  Janis Johnson  <janis187@us.ibm.com>

* doc/sourcebuild.texi (compat testing): Document available test
framework commands.  Use the preferred spelling of DejaGnu.

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

19 years ago2004-08-10 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 10 Aug 2004 20:43:05 +0000 (20:43 +0000)]
2004-08-10  Daniel Berlin <dberlin@dberlin.org>

* lambda.h: Add matrix type, and prototypes for remainder of
matrix and vector functions.
(lambda_vector_mult_const): New function.
(lambda_vector_negate): Ditto.
(lambda_vector_add): Ditto.
(lambda_vector_add_mc): Ditto.
(lambda_vector_copy): Ditto.
(lambda_vector_zerop): Ditto.
(lambda_vector_equal): Ditto.
(lambda_vector_min_nz): Ditto.
(lambda_vector_first_nz): Ditto.
(lambda_vector_matrix_mult): Ditto.
* lambda-mat.c: New file.
* Makefile.in (lambda-mat.o): New.

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

19 years ago2004-08-10 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 10 Aug 2004 18:31:26 +0000 (18:31 +0000)]
2004-08-10  Andrew MacLeod  <amacleod@redhat.com>

* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
after linking stmt into the program.
(bsi_remove): Don't call modify_stmt.
* tree-complex.c (update_complex_assignment,
expand_complex_comparison): Call modify_stmt after changing the stmt.
* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
removing the stmt.
* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
the stmt, and only if needed.
* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
expression.
(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
(eliminate_redundant_computations): Don't pass an annotation. Call
modify_stmt rather than setting the annotation directly.
(record_equivalences_from_stmt): Remove unused local 'j'.
(cprop_operand): Take a stmt rather than an annotation as a parameter.
Call modify_stmt.
(cprop_into_stmt): Pass stmt rather than annotation.
(update_rhs_and_lookup_avail_expr): Call modify_stmt.
* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
modify_stmt.
* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.

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

19 years ago PR middle-end/16948
jason [Tue, 10 Aug 2004 18:02:48 +0000 (18:02 +0000)]
    PR middle-end/16948
        * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

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

19 years ago * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
jason [Tue, 10 Aug 2004 18:02:18 +0000 (18:02 +0000)]
    * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

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

19 years ago * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
geoffk [Tue, 10 Aug 2004 17:57:41 +0000 (17:57 +0000)]
* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
hash function.

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

19 years ago * config/mips/mips.md: New reciprocal square root patterns that
sayle [Tue, 10 Aug 2004 17:43:02 +0000 (17:43 +0000)]
* config/mips/mips.md: New reciprocal square root patterns that
match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.

* gcc.dg/mips-rsqrt-1.c: New test case.
* gcc.dg/mips-rsqrt-2.c: New test case.
* gcc.dg/mips-rsqrt-3.c: New test case.

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

19 years ago * config/arm/arm-protos.h (arm_set_return_address,
pbrook [Tue, 10 Aug 2004 16:22:47 +0000 (16:22 +0000)]
* config/arm/arm-protos.h (arm_set_return_address,
thumb_set_return_address): Add prototypes.
* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
* config/arm/arm.c (arm_compute_func_type,
use_return_insn, arm_compute_save_reg0_reg12_mask,
arm_compute_save_reg_mask, arm_output_function_prologue,
arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
current_function_calls_eh_return.
(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
old eh code.
(arm_set_return_address, thumb_set_return_address): New functions.
* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
(epilogue): Use the stackadj register.
(eh_return, arm_eh_return, thumb_eh_return): New pattern.

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

19 years ago2004-08-10 Bryce McKinlay <mckinlay@redhat.com>
bryce [Tue, 10 Aug 2004 15:41:15 +0000 (15:41 +0000)]
2004-08-10  Bryce McKinlay  <mckinlay@redhat.com>

* java-gimplify.c (java_gimplify_new_array_init): Use
create_tmp_var. Don't create BLOCK here or call
java_gimplify_block.

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

19 years ago2004-08-10 Andrew Haley <aph@redhat.com>
aph [Tue, 10 Aug 2004 14:26:56 +0000 (14:26 +0000)]
2004-08-10  Andrew Haley  <aph@redhat.com>

        * testsuite/libjava.lang/err14.java: New file.
        * testsuite/libjava.lang/err14.out: New file.

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

19 years ago2004-08-10 Andrew Haley <aph@redhat.com>
aph [Tue, 10 Aug 2004 14:24:00 +0000 (14:24 +0000)]
2004-08-10  Andrew Haley  <aph@redhat.com>

* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.

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

19 years ago2004-08-10 Andrew Haley <aph@redhat.com>
aph [Tue, 10 Aug 2004 14:21:05 +0000 (14:21 +0000)]
2004-08-10  Andrew Haley  <aph@redhat.com>

* testsuite/libjava.lang/err14.java: New file.
* testsuite/libjava.lang/err14.out: New file.

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

19 years ago2004-08-10 Victor Leikehman <lei@il.ibm.com>
pbrook [Tue, 10 Aug 2004 13:34:04 +0000 (13:34 +0000)]
2004-08-10  Victor Leikehman  <lei@il.ibm.com>

* io/list_read.c (namelist_read): Convert variable names
to lower case, so that mixed-case names are recognized.
Don't read beyond terminating slash.

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

19 years ago PR target/3144
jakub [Tue, 10 Aug 2004 13:28:26 +0000 (13:28 +0000)]
PR target/3144
* expr.c (move_by_pieces_ninsns): Add max_size argument.
(MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
(CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
(STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
but using MOVE_RATIO.
(move_by_pieces): Pass max_size to move_by_pieces_ninsns.
(can_store_by_pieces): Change max_size type to unsigned int.
(store_by_pieces_1): Likewise.  Pass max_size to
move_by_pieces_ninsns.
* config/s390/s390.h (STORE_BY_PIECES_P): Define.
* config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
to move_by_pieces_ninsns.
(STORE_BY_PIECES_P): Define.
* config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
to move_by_pieces_ninsns.
* doc/tm.texi (STORE_BY_PIECES_P): Document changed default.

* config/i386/i386.h (CLEAR_RATIO): Define.

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

19 years ago2004-08-09 Paolo Bonzini <bonzini@gnu.org>
bonzini [Tue, 10 Aug 2004 08:38:29 +0000 (08:38 +0000)]
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

* expr.c (expand_expr_real_1): Add back code that was not dead.

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

19 years ago2004-08-09 Andrew Pinski <apinski@apple.com>
pinskia [Tue, 10 Aug 2004 04:41:37 +0000 (04:41 +0000)]
2004-08-09  Andrew Pinski  <apinski@apple.com>

        * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
        which is found to be compatible before returning the aliasing set.

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

19 years ago2004-08-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Tue, 10 Aug 2004 04:29:16 +0000 (04:29 +0000)]
2004-08-09  H.J. Lu  <hongjiu.lu@intel.com>

* java-tree.h (flag_deprecated): Removed.
* lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
* parse.y (check_deprecation): Check warn_deprecated instead of
flag_deprecated.

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

19 years ago * trans-io.c (transfer_expr): Handle pointters.
pbrook [Tue, 10 Aug 2004 00:57:22 +0000 (00:57 +0000)]
* trans-io.c (transfer_expr): Handle pointters.
testsuite/
* gfortran.dg/der_io_1.f90: New test.

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

19 years agoDaily bump.
gccadmin [Tue, 10 Aug 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

19 years ago PR fortran/16919
pbrook [Mon, 9 Aug 2004 23:32:59 +0000 (23:32 +0000)]
PR fortran/16919
* trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
(gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
(gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
Handle GFC_SS_COMPONENT.
(gfc_conv_ss_startstride): Ditto.  Set ss->shape.
(gfc_conv_loop_setup): Tweak commends. Remove dead code.
Use ss->shape.
(gfc_conv_array_initializer): Call specific initializer routines.
* trans-expr.c (gfc_trans_structure_assign): New function.
(gfc_trans_subarray_assign): New function.
(gfc_trans_subcomponent_assign): New fucntion
(gfc_conv_structure): Use them.
* trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
(gfc_ss): Add shape.
testsuite/
* gfortran.dg/der_array_1.f90: New test.

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

19 years ago * ggc-zone.c (struct alloc_zone): Add statistics counters.
drow [Mon, 9 Aug 2004 23:11:08 +0000 (23:11 +0000)]
* ggc-zone.c (struct alloc_zone): Add statistics counters.
(always_collect): New flag.
(ggc_alloc_zone_1): Update statistics support.  Don't include
overhead in allocated counter.
(sweep_pages): Update allocated counter for large pages.  Don'y
include overhead.
(ggc_collect_1): Always collect.
(ggc_collect): Honor always_collect flag.  Sum all zones to decide
whether to collect.
(SCALE, LABEL): New macros.
(ggc_print_statistics): Add statistics support.

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

19 years ago * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
sayle [Mon, 9 Aug 2004 22:36:39 +0000 (22:36 +0000)]
* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
(init_expmed): Fix potential overrun problem with "all.reg".
(expand_sdiv2_pow2): Add an alternate implementation for signed
division, if the target provides a suitable conditional move insn.

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

19 years ago * gcc.dg/cpp/assert4.c: _AIX asserts #system(unix).
dje [Mon, 9 Aug 2004 22:01:05 +0000 (22:01 +0000)]
* gcc.dg/cpp/assert4.c: _AIX asserts #system(unix).

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

19 years ago * intrinsics/c99_functions.c (nextafterf): New implementation that
sayle [Mon, 9 Aug 2004 21:09:41 +0000 (21:09 +0000)]
* intrinsics/c99_functions.c (nextafterf): New implementation that
works correctly with denormalized numbers.

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

19 years ago * unwind-dw2.c (uw_install_context_1): Update target saved stack
pbrook [Mon, 9 Aug 2004 20:31:41 +0000 (20:31 +0000)]
* unwind-dw2.c (uw_install_context_1): Update target saved stack
pointer.

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

19 years ago * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
geoffk [Mon, 9 Aug 2004 20:19:30 +0000 (20:19 +0000)]
* ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
Check DATA limit only if there's no AS limit.  Ignore insanely
low DATA limits.
(ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
but take care that the AS limit isn't overrun.
* doc/invoke.texi: Update documentation of min-heapsize parameter.

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

19 years ago * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
law [Mon, 9 Aug 2004 19:13:07 +0000 (19:13 +0000)]
    * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
        (tree-ssa-threadupdate.o): Add dependencies.
        * tree-ssa-threadupdate.c: New file.
        * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
        (rewrite_vars_out_of_ssa): Remove prototype.
        (cleanup_tree_cfg): Returns a bool.
        * tree.h (thread_through_all_blocks): Prototype.
        * tree-outof-ssa.c  (SSANORM_*): Move into here.
        (remove_ssa_form): Now static.
        (rewrite_vars_out_of_ssa): Kill.
        * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
        * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
        (remove_ssa_form, register_partitions_for_vars): Kill declarations.
        * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
        anything was changed.
        * tree-phinodes.c (add_phi_arg): Get the block for the PHI
        from the PHI's annotation rather than the edge associated with
        the new argument.
        * tree-ssa-dom.c (redirection_edges): Kill.
        (redirect_edges_and_update_ssa_graph): Kill.
        (tree_ssa_dominator_optimize): Do not reset forwardable flag
        for blocks anymore.  Do not initialize redirection_edges.
        Call thread_through_all_blocks.  Simplify code for cleanup
        of the CFG and iterating.  No longer call cleanup_tree_cfg
        outside the iteration loop.
        (thread_across_edge): No longer mess with forwardable blocks.

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

19 years ago * explow.c (memory_address): Use memory_address_p.
zack [Mon, 9 Aug 2004 17:43:17 +0000 (17:43 +0000)]
* explow.c (memory_address): Use memory_address_p.
* recog.c (general_operand): Likewise.
* regrename.c: No need to define REG_OK_STRICT.

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

19 years agoAyee, missed a file.
steven [Mon, 9 Aug 2004 17:05:25 +0000 (17:05 +0000)]
Ayee, missed a file.

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

19 years ago * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
steven [Mon, 9 Aug 2004 16:58:42 +0000 (16:58 +0000)]
* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
New timers.
* gcse.c: Include timevar.h.
(const_prop_count, copy_prop_count): Rename to global_const_prop_count
and global_copy_prop_count.
(local_const_prop_count, local_copy_prop_count): New static globals.
(gcse_main): Set the right timevar for each pass.
(cprop_jump): Increment global_const_prop_count when a constant is
propagated.  Add "GLOBAL" to dump output.
(cprop_insn): Increment global_const_prop_count when a constant is
propagated, or global_copy_prop_count when a copy is propagated.
(do_local_cprop): Likewise for local_const_prop_count and
local_copy_prop_count.
(one_cprop_pass): Initialize const/cprop counters to zero.
Print out results of local and global const/cprop separately.
(bypass_block): Break over-length line.

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

19 years ago2004-09-09 Victor Leikehman <lei@il.ibm.com>
pbrook [Mon, 9 Aug 2004 14:34:39 +0000 (14:34 +0000)]
2004-09-09  Victor Leikehman  <lei@il.ibm.com>

* m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
Allocate space if return value has NULL in its data field.
* generated/*.c: Regenerate.

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

19 years ago2004-08-09 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 9 Aug 2004 13:51:33 +0000 (13:51 +0000)]
2004-08-09  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_bvector.h: Trivial formatting fixes.

2004-08-09  Paolo Carlini  <pcarlini@suse.de>

* src/ios.cc (ios_base::_M_grow_words): Uglify the names.

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

19 years agofix typo
jason [Mon, 9 Aug 2004 13:18:56 +0000 (13:18 +0000)]
fix typo

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

19 years ago2004-08-09 Thomas Quinot <quinot@act-europe.fr>
charlet [Mon, 9 Aug 2004 12:24:25 +0000 (12:24 +0000)]
2004-08-09  Thomas Quinot  <quinot@act-europe.fr>

* g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
from complaining on potential uninitialized reference.
Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
new specification and test explicitly for non-zero return value.

* g-socthi.ads (Is_Socket_In_Set): Declare imported function as
returning C.int, to avoid using a derived boolean type.

* exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
Duplicate_Subexpr_No_Checks in preference to direct use of
Remove_Side_Effects and New_Copy_Tree.
Clear Comes_From_Source on prefix of 'Size attribute reference.

* g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
g-socthi-vxworks.adb: Change calls to
GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
and test explicitly for non-zero return value.

* g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
(Is_Socket_In_Set): Declare imported function as returning C.int, to
avoid using a derived boolean type.

2004-08-09  Albert Lee  <lee@gnat.com>

* system-irix-n32.ads: Refine tasking priority constants for IRIX.

2004-08-09  Pascal Obry  <obry@gnat.com>

* gnat_ugn.texi: Document new way to build DLLs on Windows using
GCC's -shared option.

* mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
Options_2 parameter (options put after object files).

2004-08-09  Olivier Hainque  <hainque@act-europe.fr>

* decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
ignore overflows on low and high bounds of an index to also account for
differences in signedness between sizetype and gnu_index_subtype.
These are as legitimate as the ones caused by a lower TYPE_PRECISION
on sizetype.

2004-08-09  Robert Dewar  <dewar@gnat.com>

* s-solita.ads, s-solita.adb: Minor reformatting

* gnat_rm.texi: Add documentation for pragma Profile (Restricted)
Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
obsolescent section
Add note that No_Implicit_Conditionals does not suppress
run time constraint checks.

* vms_conv.ads: Minor reformatting

* s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
and necessary for following change).
(Mark): Return new format Mark_Id containing sec stack address
(Release): Use sec stack address from Mark_Id avoiding Self call

* s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
pointer (cleanup and necessary for following change).
Define Mark_Id as record containing address of secondary stack, that way
Release does not need to find the stack again, decreasing the number of
calls to Self and improving efficiency.

* sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference

* sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
case variable into the individual case branches when possible.

* sem_ch11.adb: Minor reformatting

* prj.ads: Correct spelling of suffixs

* prj-nmsc.adb: Minor reformatting
Correct spelling suffixs throughout (also in identifiers)

* freeze.adb: Minor spelling correction

* exp_ch2.adb: Cleanups to handling of Current_Value
(no functional effect).

* bld.adb: Correct spelling of suffixs

* einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument

2004-08-09  Ed Schonberg  <schonberg@gnat.com>

PR ada/15408

* sem_ch7.adb (Install_Private_Declarations): In the body of the
package or of a child, private entities are both immediately_visible
and not hidden.

2004-08-09  Ed Schonberg  <schonberg@gnat.com>

* sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
there are no range checks on the value of the literal.

* exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
wrapped is the triggering alternative of an asynchronous select, action
statements mustbe inserted before the select itself.

* sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
case where the prefix is a protected function call.
(Resolve_Attribute, case 'Access): The attribute reference on a
subprogram is legal in a generic body if the subprogram is declared
elsewhere.

2004-08-09  Vincent Celier  <celier@gnat.com>

* makegpr.adb (Build_Library): Link with g++ if C++ is one of the
languages, otherwise building the library may fail with unresolved
symbols.
(Compile_Sources): Do not build libraries if -c switch is used

* gnatlink.adb (Process_Args): New switches -M and -Mmap
(Write_Usage): If map file creation is supported, output new switches
-M and -Mmap.
(Gnatlink): When -M is specified, add the necessary switch(es) to the
gcc call, when supported.

* Makefile.in: Added indepsw.o to the object list for gnatlink
Specified the AIX, GNU/Linux and Windows versions of indepsw.adb

* indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
indepsw.adb, indepsw.ads: New files.

2004-08-09  Bernard Banner  <banner@gnat.com>

* system-vxworks-x86.ads, s-vxwork-x86.ads: New files.

* Makefile.in: add section for vxworks x86

2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>

* exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
per-object constrained components where the discriminant is of an
Access type.
(Build_Record_Init_Proc): Add condition to prevent the inheritance of
the parent initialization procedure for derived Unchecked_Unions.
Instead, derived Unchecked_Unions build their own initialization
procedure.
(Build_Variant_Record_Equality): Implement Unchecked_Union equality.
Check the body of the subprogram for details.
(Freeze_Record_Type): Prevent the inheritance of discriminant checking
functions for derived Unchecked_Union types by introducing a condition.
Allow the creation of TSS equality functions for Unchecked_Unions.
(Make_Eq_Case): Rename formal parameter Node to E in function signature.
Add formal parameter Discr to function signature. Discr is used to
control the generated case statement for Unchecked_Union types.
(Make_Eq_If): Rename formal parameter Node to E in function signature.

* exp_ch4.adb (Build_Equality_Call): Implement equality calls for
Unchecked_Unions.
Check the body of the subprogram for details.
(Expand_Composite_Equality): Augment composite type equality to include
correct handling of Unchecked_Union components.
(Expand_N_In): Add condition to detect illegal membership tests when the
subtype mark is a constrained Unchecked_Union and the expression lacks
inferable discriminants, and build a Raise_Program_Error node.
(Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
to detect types that contain components of unconstrained Unchecked_Union
subtype. Add condition to detect equality between types that have an
unconstrained Unchecked_Union component, and build a Raise_Program_Error
node. Add condition to detect equality between Unchecked_Union types
that lack inferable discriminants, and build a Raise_Program_Error node.
Otherwise build a TSS equality function call.
(Expand_N_Type_Conversion): Add condition to detect illegal conversions
from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
with the operand lacking inferable discriminants, and build a Raise_
Program_Error node.
(Expand_Record_Equality): Remove guard that prevents Unchecked_Union
composite equality.
(Has_Inferable_Discriminants): Implement new predicate for objects and
expressions of Unchecked_Union type. Check the body of subprogram for
details.
(Has_Unconstrained_UU_Components): Add function
Component_Is_Unconstrained_UU. It is used to detect whether a single
component is of an unconstrained Unchecked_Union subtype. Add function
Variant_Is_Unconstrained_UU. It is used to detect whether a single
component inside a variant is of an unconstrained Unchecked_Union type.

* exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
inferred discriminant values. Add condition to generate a case
statement with an inferred discriminant as the switch.
(Make_Component_List_Assign): Introduce a Boolean flag that determines
the behaviour of the subprogram in the presence of an Unchecked_Union.
Add condition to trigger the usage of the inferred discriminant value
as the generated case statement switch.
(Make_Field_Assign): Introduce a Boolean flag that determines the
behaviour of the subprogram in the presence of an Unchecked_Union. Add
condition to trigger the usage of the inferred discriminant value as
the right-hand side of the generated assignment.

* exp_ch6.adb (Expand_Call): Add condition to skip extra actual
parameter generation when dealing with Unchecked_Unions.

* checks.adb (Apply_Discriminant_Check): Do not apply discriminant
checks for Unchecked_Unions.

* einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint

* exp_attr.adb (Expand_N_Attribute_Reference): Produce
Raise_Program_Error nodes for the execution of Read and Write
attributes of Unchecked_Union types and the execution of Input and
Output attributes of Unchecked_Union types that lack default
discriminant values.

* sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
Unchecked_Union. Add procedure Check_Component. It is used to inspect
per-object constrained components of Unchecked_Unions for being
Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
check individual components withing a variant.

* sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
comparison of Unchecked_Unions.
(Resolve_Equality_OP): Remove guard that prevents equality between
Unchecked_Unions.

* sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
of component subtypes for Unchecked_Union components.
(Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
since it is the actual subtype.

* sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
pass of Unchecked_Union subtypes as generic actuals to formal types
that lack known_discriminant_parts or that are derived Unchecked_Union
types, and do nothing. In any other case, produce an error message.

* sem_ch3.adb (Analyze_Component_Declaration): Add function
Contains_POC. It determines whether a constraint uses the discriminant
of an enclosing record type.
Add condition to detect per-object constrained component and set the
appropriate flag.
(Derived_Type_Declaration): Remove guard that prevents derivation from
Unchecked_Union types.
(Process_Subtype): Remove quard that prevents the creation of Unchecked_
Union subtypes.

* sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
references to Unchecked_Union discriminants.

* sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
formal generation when dealing with Unchecked_Unions.
(Set_Actual_Subtypes): Add condition to prevent generation of actual
subtypes for Unchecked_Unions.

* sem_ch7.adb (Analyze_Package_Specification): Add procedure
Inspect_Unchecked_Union_Completion. It is used to detect incorrect
completions of discriminated partial views by Unchecked_Unions and
produce an error message.

2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* trans.c (struct stmt_group): New field, GLOBAL.
(global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
(struct elab_info): New struct.
(elab_info_list, gnu_elab_proc_stack): New variables.
(Compilation_Unit_to_gnu): New procedure.
(gigi): Call it and also handle elaboration procs we've saved.
(gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
global field from parent.
(gnat_to_gnu): Get decl from gnu_elab_proc_stack.
(gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
(start_stmt_group): Initialize global field from parent.
(add_decl_expr): Set to global for current statement group.
(gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
post.

* utils.c (global_bindings_p): True when no current_function_decl; no
longer check current_binding_level.

2004-08-09  Ben Brosgol  <brosgol@gnat.com>

* xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
choice.

* gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.

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

19 years ago2004-08-09 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 9 Aug 2004 07:24:23 +0000 (07:24 +0000)]
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/wchar_t-2.c: Fix typo.

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

19 years ago2004-08-09 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 9 Aug 2004 07:14:17 +0000 (07:14 +0000)]
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.in (GTFILES): Remove stmt.c
(stmt.o): Do not depend on gt-stmt.h.
* emit-rtl.c (emit_line_note): Do not call
set_file_and_line_for_stmt.
* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
do everything.
* function.c (free_after_parsing): Do not free STMT field.
(allocate_struct_function): Do not call init_stmt_for_function.
(assign_stack_temp_for_type): Do not accept values of keep
other than 0 or 1.
(init_temp_slots): Do not initialize removed variables.
* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
and X_VAR_TEMP_SLOT_LEVEL fields.
* rtl.h (set_file_and_line_for_stmt): Remove.
* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
struct stmt_status, cond_stack, case_stack, nesting_stack,
nesting_depth, emit_locus, set_file_and_line_for_stmt,
same_case_target_p, init_stmt_for_function, emit_nop,
expand_start_cond, expand_start_elseif, expand_start_else,
expand_elseif, expand_end_cond): Remove.
(preserve_subexpressions_p): Remove references to CFUN->STMT.
(expand_start_case, expand_end_case_type): Remove, merge into...
(expand_case): ... this one, including other bits from
expand_expr_real_1.  Inline same_case_target_p.  Turn members
of CASE_STACK into local variables.
(emit_case_bit_tests): Inline same_case_target_p.
(add_case_node): Add HEAD argument, return new head of the list,
do not handle default label here.
* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
expand_start_elseif, current_nesting_level, expand_start_case,
expand_end_case_type, expand_end_case, add_case_node,
init_stmt_for_function, expand_elseif): Remove prototypes.
(expand_case): Add prototype.

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

19 years ago2004-08-09 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 9 Aug 2004 06:51:50 +0000 (06:51 +0000)]
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

* expr.c (expand_expr_real_1): Use optab_for_tree_code.

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

19 years ago2004-07-24 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 9 Aug 2004 06:46:42 +0000 (06:46 +0000)]
2004-07-24  Paolo Bonzini  <bonzini@gnu.org>

* expr.c (var_rtx): Remove.
(expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
Abort.
(expand_expr_real_1) <COND_EXPR>: Remove most special cases.
* optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
* optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.

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

19 years agoDaily bump.
gccadmin [Mon, 9 Aug 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.

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

19 years ago PR tree-optimization/12517
falk [Sun, 8 Aug 2004 23:17:23 +0000 (23:17 +0000)]
PR tree-optimization/12517
* gcc.c-torture/compile/pr12517.c: New test.

PR tree-optimization/12578
* gcc.c-torture/compile/pr12578.c: New test.

PR tree-optimization/12899
* gcc.c-torture/compile/pr12899.c: New test.

PR rtl-optimization/14692
* gcc.c-torture/compile/pr14692.c: New test.

PR tree-optimization/16461
* gcc.c-torture/compile/pr16461.c: New test.

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

19 years ago2004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
hagog [Sun, 8 Aug 2004 21:35:53 +0000 (21:35 +0000)]
2004-08-08  Mostafa Hagog  <mustafa@il.ibm.com>
Ayal Zaks <zaks@il.ibm.com>

* common.opt (freschedule-modulo-scheduled-loops): New flag.
* final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
* modulo-sched.c (sms_schedule): Emit a note to disable scheduling
when -freschedule-modulo-scheduled-loops flag is not specified.
(sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
More accurate placing of insn in row of partial schedule.
(ps_insn_find_column): New function.
* rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
* sched-rgn.c (sched_is_disabled_for_current_region_p): New.
(schedule_region): Use sched_is_disabled_for_current_region_p.
* docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.

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

19 years ago2004-08-08 Victor Leikehman <lei@il.ibm.com>
pbrook [Sun, 8 Aug 2004 12:28:25 +0000 (12:28 +0000)]
2004-08-08  Victor Leikehman  <lei@il.ibm.com>

* simplify.c (gfc_simplify_shape): Bugfix.
* expr.c (gfc_copy_shape_excluding): New function.
* gfortran.h (gfc_get_shape): Bugfix.
(gfc_copy_shape_excluding): Added declaration.
* iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
gfc_resolve_ubound, gfc_resolve_transpose): Added compile
time resolution of shape.

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

19 years agotreelang:
phython [Sun, 8 Aug 2004 04:47:17 +0000 (04:47 +0000)]
treelang:
2004-08-01  James A. Morrison  <phython@gcc.gnu.org>

        * Make-lang.in (TREE_BE_LIBS): Remove.
        (tree1): Depend on BACKEND and LIBDEPS.  Use BACKEND and LIBS instead
        of TREE_BE_LIBS.
        * parse.y: Add variable_defs_opt before statements_opt.
        Use tree_code_get_type instead of get_type_for_numeric_type.
        Reformat long lines.
        (parameters_opt): New rule.
        (function_prototype): Use parameters_opt.
        (return): Remove calls to print_token in error cases.  Use VOID_TYPE.
        (check_type_match): Use VOID_TYPE.
        * lex.l (update_lineno_charno): Ensure INPUT_LINE starts at 1.
        * tree1.c: Include version.h and cgraph.h
        (treelang_parse_file): Call cgraph_finalize_compilation_unit and
        cgraph_optimize.
        * treelang.h (item): Remove extraneous GTY.
        * treetree.h (get_type_for_numeric_type): Remove.
        * treetree.c: Include tree-dump.h, tree-iterator.h, tree-gimple.h,
        function.h, and cgraph.h.  Don't include rtl.h
        (keep_level_p): Remove.
        (tree_push_atomic_type_decl): Remove.
         (get_type_for_numeric_type): Remove.
        (tree_code_get_numeric_type): Remove.
        (global_bindings_p): Make static.
        (getdecls): Likewise.
        (insert_block): Likewise.
        (tree_code_if_start): Create a COND_EXPR and add it to the tree
        instead of creating rtl.
        (tree_code_if_else): Create a BIND_EXPR if any variables were created
        in the if statement.
        (tree_code_end_if): Likewise.
        (tree_code_create_function_prototype): Use tree_code_get_type.
        Don't use SET_DECL_ASSEMBLER_NAME.
        (tree_code_create_function_initial): Set DECL_ARTIFICIAL and
        DECL_IGNORING_P on RESULT_DECL.  Use tree_code_get_type.  Don't call
        layout_decl on RESULT_DECL.  Don't call rtl expand functions.
        (tree_code_create_function_wrapup): Don't call rtl expand functions.
        Create a BIND_EXPR for each function.  Dump original and gimplified
        copies of the function tree.  Gimplify function.
        (tree_code_create_variable): Use tree_code_get_type.  Don't call
        layout_decl or expand_decl.  Fold CONVERT_EXPRs.
        (tree_code_generate_return): Fold CONVERT_EXPRs and MODIFY_EXPRs.
        Add RETURN_EXPR to the current statement list.  Don't call rtl expand
        functions.
        (tree_code_output_expression_statement): Append CODE to current
        statement list.
        (tree_code_get_expression): Fold expressions.  Build a pointer to
        a FUNCTION_TYPE intead of the called functions return type.
        (struct binding_level): Add statement list STMTS.
        (getstmtlist): New Function.
        (pushlevel): Make static.  Allocate an empty statement list.
        (poplevel): Make static.  Don't clear BLOCK_NODE's BLOCK_VARS.
        Don't use DECL_ASSEMBLER_NAME.
        (tree_push_type_decl): Set TYPE_NAME of TYPE_NODE to ID.
        (treelang_init_decl_processing): Define basic types after unused types.
        Don't call tree_push_atomic_type_decl.
        (builtin_function): Don't call make_decl_rtl.
        (treelang_expand_function). New Function.

testsuite/treelang:
        * compile/vars_def.tree: New File.
        * compile/badreturn.tree: New File.

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

19 years agoDaily bump.
gccadmin [Sun, 8 Aug 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

19 years agoRevert:
jason [Sat, 7 Aug 2004 20:47:48 +0000 (20:47 +0000)]
Revert:
        * gimplify.c (gimplify_call_expr): Make return in memory explicit.
        (gimplify_modify_expr_rhs): Likewise.

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

19 years ago Make return in memory explicit.
jason [Sat, 7 Aug 2004 17:40:10 +0000 (17:40 +0000)]
    Make return in memory explicit.
        * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
        (assign_parm_find_data_types): Remove code for old front end
        invisible reference handling.
        (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
        (expand_function_end): Likewise.
        * gimplify.c (gimplify_return_expr): Handle a dereferenced
        RESULT_DECL.
        * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
        (declare_return_variable): Handle DECL_BY_REFERENCE.
        * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
        (cp_genericize_r): Use convert_from_reference.
        Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
        (cp_genericize): Handle the RESULT_DECL.  Unset TREE_ADDRESSABLE.

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

19 years ago2004-08-07 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 7 Aug 2004 17:31:30 +0000 (17:31 +0000)]
2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_clrmem): Revert the last
change.

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

19 years ago2004-08-07 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 7 Aug 2004 16:34:00 +0000 (16:34 +0000)]
2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_clrmem): Properly call
gen_strset for 64bit target.

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

19 years ago * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
hainque [Sat, 7 Aug 2004 16:32:39 +0000 (16:32 +0000)]
* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.

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

19 years ago * gimplify.c (gimplify_call_expr): Make return in memory explicit.
jason [Sat, 7 Aug 2004 16:11:10 +0000 (16:11 +0000)]
    * gimplify.c (gimplify_call_expr): Make return in memory explicit.
        (gimplify_modify_expr_rhs): Likewise.
        * c-common.c (c_warn_unused_result): Check TREE_USED before
        warning about a CALL_EXPR with an unused value.

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

19 years ago2004-08-07 Jonathan Wakely <redi@gcc.gnu.org>
paolo [Sat, 7 Aug 2004 15:31:50 +0000 (15:31 +0000)]
2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
    Paolo Carlini  <pcarlini@suse.de>

* src/debug.cc (_Error_formatter::_M_print_string): In order
to print individual words from __string, _M_format_word can't
be called since may be just sprintf, thus ignoring completely
__n: instead, use memmove and append '\0' by hand.

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

19 years ago2004-08-07 Paolo Carlini <pcarlini@suse.de>
paolo [Sat, 7 Aug 2004 13:48:31 +0000 (13:48 +0000)]
2004-08-07  Paolo Carlini  <pcarlini@suse.de>

* config/locale/generic/c_locale.h (__convert_from_v): Don't
use a default for __prec, assume __prec >= 0 and simplify.
* config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
* include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".

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

19 years agoDaily bump.
gccadmin [Sat, 7 Aug 2004 00:16:19 +0000 (00:16 +0000)]
Daily bump.

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