gcc.git
20 years agoaltivec-11.C: New test.
Janis Johnson [Thu, 12 Aug 2004 21:25:44 +0000 (21:25 +0000)]
altivec-11.C: New test.

2004-08-12  Janis Johnson  <janis1872us.ibm.com>

* g++.dg/ext/altivec-11.C: New test.

From-SVN: r85904

20 years agors6000.c (altivec_init_builtins): Fix argument type for vec_dss.
Janis Johnson [Thu, 12 Aug 2004 21:24:49 +0000 (21:24 +0000)]
rs6000.c (altivec_init_builtins): Fix argument type for vec_dss.

2004-08-12  Janis Johnson  <janis187@us.ibm.com>

* config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
for vec_dss.

From-SVN: r85903

20 years agoextend.texi (AltiVec builtins): Fix description for recent changes.
Janis Johnson [Thu, 12 Aug 2004 21:19:08 +0000 (21:19 +0000)]
extend.texi (AltiVec builtins): Fix description for recent changes.

2004-08-12  Janis Johnson  <janis187@us.ibm.com>

* doc/extend.texi (AltiVec builtins): Fix description for recent
changes.  Update operation list to match current support.

From-SVN: r85902

20 years agoThis commit was generated by cvs2svn to compensate for changes in r85899,
Bryce McKinlay [Thu, 12 Aug 2004 21:14:30 +0000 (22:14 +0100)]
This commit was generated by cvs2svn to compensate for changes in r85899,

which included commits to RCS files with non-trunk default branches.

From-SVN: r85900

20 years agoInitial revision
Bryce McKinlay [Thu, 12 Aug 2004 21:14:23 +0000 (22:14 +0100)]
Initial revision

From-SVN: r85897

20 years agocxxabi_tweaks.h: Define __cxa_vec_ctor_return and _GLIBCXX_CXA_VEC_CTOR_RETURN.
Paul Brook [Thu, 12 Aug 2004 18:50:38 +0000 (18:50 +0000)]
cxxabi_tweaks.h: Define __cxa_vec_ctor_return and _GLIBCXX_CXA_VEC_CTOR_RETURN.

* config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
_GLIBCXX_CXA_VEC_CTOR_RETURN.
* config/cpu/generic/cxxabi_tweaks.h: Ditto.
* libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
__cxa_vec_ctor_return.
* libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
Use _GLIBCXX_CXA_VEC_CTOR_RETURN.

* g++.dg/abi/arm_cxa_vec_1.C: New test.

From-SVN: r85891

20 years agoaltivec-2.C: Check for hardware support before executing any VMX instructions.
Janis Johnson [Thu, 12 Aug 2004 18:09:44 +0000 (18:09 +0000)]
altivec-2.C: Check for hardware support before executing any VMX instructions.

2004-08-12  Janis Johnson  <janis187@us.ibm.com>

* g++.dg/ext/altivec-2.C: Check for hardware support before
executing any VMX instructions.

From-SVN: r85890

20 years agoops-long-2.c: Add dg-error directives.
Janis Johnson [Thu, 12 Aug 2004 18:08:12 +0000 (18:08 +0000)]
ops-long-2.c: Add dg-error directives.

2004-08-12  Janis Johnson  <janis187@us.ibm.com>

* gcc.dg/vmx/ops-long-2.c: Add dg-error directives.

From-SVN: r85889

20 years agoFix typo
Mark Mitchell [Thu, 12 Aug 2004 18:03:15 +0000 (18:03 +0000)]
Fix typo

From-SVN: r85887

20 years agore PR c++/16273 (Memory exhausted when using nested classes and virtual functions)
Mark Mitchell [Thu, 12 Aug 2004 17:58:24 +0000 (17:58 +0000)]
re PR c++/16273 (Memory exhausted when using nested classes and virtual functions)

PR c++/16273
* class.c (count_depth_data): New type.
(dfs_depth_post): New function.
(dfs_depth_q): Likewise.
(find_final_overrider_data_s): Change type of vpath.
Add vpath_list.
(dfs_find_final_overrider_1): New function.
(dfs_find_final_overrider): Use it.
(dfs_find_final_overrider_q): Adjust use of vpath.
(dfs_find_final_overrider_post): Likewise.
(find_final_overrider): Use dfs_depth.  Allocate and deallocate
vpath_list.

From-SVN: r85886

20 years agore PR libgcj/16662 (IllegalMonitorStateException in EventQueue.getNextEvent(): possib...
Hans Boehm [Thu, 12 Aug 2004 17:56:32 +0000 (17:56 +0000)]
re PR libgcj/16662 (IllegalMonitorStateException in EventQueue.getNextEvent(): possible hash synchronization bug?)

PR libgcj/16662
* java/lang/natObject.cc (LOCK_LOG, LOG): Add debug tracing.
(Almost everywhere): add LOG calls, fix, add comments.
(_Jv_MonitorEnter): Replace masking of LOCKED bit with assertion.
Add explicit check for LOCKED bit in slow case (PR 16662).
(_Jv_MonitorExit): Add casts in debug-only code.
Always release LOCKED bit before throwing exception.
(_Jv_ObjectCheckMonitor): Lock may be held if lightweight lock
isn't.  Handle easy cases without lock acquisition.
(Object::wait): Use NotifyAll for lock inflation.

From-SVN: r85884

20 years agos390.c (struct s390_frame_layout): New struct as element of struct machine_function.
Andreas Krebbel [Thu, 12 Aug 2004 17:40:02 +0000 (17:40 +0000)]
s390.c (struct s390_frame_layout): New struct as element of struct machine_function.

2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.c (struct s390_frame_layout): New struct as element
of struct machine_function.
(cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
changed all uses.
(cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
changed all uses.
(cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
(cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
(s390_frame_area, s390_register_info): New functions.
(s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
for base register.
(s390_return_addr_rtx, s390_return_address_offset)
(s390_va_start, s390_gimplify_va_arg)
(s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
layouts.
(s390_frame_info): Functionality partly moved to s390_register_info.
Made adaptions for new stack layout.
(save_gprs, restore_gprs): Changed meaning of second parameter and
adapted all callers.

* config/s390/s390.h (s390_backchain_string): New global variable.
(MASK_BACKCHAIN): Removed definition.
(TARGET_BACKCHAIN): Changed check.
(TARGET_KERNEL_BACKCHAIN): New macro.
(TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
(TARGET_OPTIONS): Added "backchain", "no-backchain" and
"kernel-backchain".
(DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.

* config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
as condition.  Adjusted for new stack layout.

* doc/invoke.texi: Added documentation for new option
"-mkernel-backchain" and adjusted documentation of "-mbackchain" and
"-mno-backchain".

From-SVN: r85882

20 years agoProcess_1.java: New test.
David Daney [Thu, 12 Aug 2004 16:24:56 +0000 (16:24 +0000)]
Process_1.java: New test.

2004-08-03  David Daney  <ddaney@avtrex.com>

* testsuite/libjava.lang/Process_1.java: New test.
* testsuite/libjava.lang/Process_2.java: New test.
* testsuite/libjava.lang/Process_3.java: New test.
* testsuite/libjava.lang/Process_4.java: New test.
* testsuite/libjava.lang/Process_5.java: New test.
* testsuite/libjava.lang/Process_6.java: New test.
* testsuite/libjava.lang/Process_1.out: Expected result.
* testsuite/libjava.lang/Process_2.out: Expected result.
* testsuite/libjava.lang/Process_3.out: Expected result.
* testsuite/libjava.lang/Process_4.out: Expected result.
* testsuite/libjava.lang/Process_5.out: Expected result.
* testsuite/libjava.lang/Process_6.out: Expected result.

From-SVN: r85881

20 years agore PR libgcj/11801 (Problems with Process.waitFor() and exitValue())
David Daney [Thu, 12 Aug 2004 16:20:11 +0000 (16:20 +0000)]
re PR libgcj/11801 (Problems with Process.waitFor() and exitValue())

2004-08-12  David Daney  <ddaney@avtrex.com>

PR libgcj/11801
* java/lang/PosixProcess.java: Rewrote.
* java/lang/natPosixProcess.cc: Rewrote.
* java/lang/Runtime.java (execInternal): Declare throws IOException.
* gcj/javaprims.h (ConcreteProcess$ProcessManager): Declare.
* posix-threads.cc (block_sigchld) New function.
(_Jv_ThreadRegister) Use it.
(_Jv_ThreadStart) Use it.
* configure.in (PLATFORM_INNER_NAT_HDRS): New AC_SUBST() used in...
* Makefile.am: ... to specify extra native headers.
* configure: Regenerated.
* include/config.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.

From-SVN: r85880

20 years agolib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
Paul Brook [Thu, 12 Aug 2004 16:14:52 +0000 (16:14 +0000)]
lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.

* config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
(aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.

From-SVN: r85879

20 years agogcj.texi: Add subsection on signal usage.
David Daney [Thu, 12 Aug 2004 16:10:52 +0000 (16:10 +0000)]
gcj.texi: Add subsection on signal usage.

2004-08-12  David Daney  <ddaney@avtrex.com>

        * java/gcj.texi:  Add subsection on signal usage.

From-SVN: r85878

20 years agoexpr.c (move_by_pieces): Set alignment for move to minimum of MOVE_MAX_PIECES mode...
David Edelsohn [Thu, 12 Aug 2004 15:05:38 +0000 (15:05 +0000)]
expr.c (move_by_pieces): Set alignment for move to minimum of MOVE_MAX_PIECES mode alignment and the...

        * expr.c (move_by_pieces): Set alignment for move to minimum of
        MOVE_MAX_PIECES mode alignment and the largest non-slow mode
        alignment, but not less than the original alignment.
        (move_by_pieces_ninsns): Same.
        (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
        (store_by_pieces_1): Same.

From-SVN: r85875

20 years agore PR tree-optimization/16867 (Inline array initializer miscompilation at -O)
Diego Novillo [Thu, 12 Aug 2004 14:34:11 +0000 (14:34 +0000)]
re PR tree-optimization/16867 (Inline array initializer miscompilation at -O)

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.

From-SVN: r85874

20 years agore PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
Jakub Jelinek [Thu, 12 Aug 2004 13:57:04 +0000 (15:57 +0200)]
re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)

        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.

From-SVN: r85873

20 years agodwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh frame info.
Paul Brook [Thu, 12 Aug 2004 13:45:44 +0000 (13:45 +0000)]
dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh frame info.

* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
frame info.
* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
DWARF2_UNWIND_INFO.

From-SVN: r85871

20 years agoMakefile.in: Regenerate
Kelley Cook [Thu, 12 Aug 2004 12:13:14 +0000 (12:13 +0000)]
Makefile.in: Regenerate

2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

* include/Makefile.in: Regenerate

From-SVN: r85870

20 years agoMakefile.in, [...]: Regenerate
Kelley Cook [Thu, 12 Aug 2004 11:54:13 +0000 (11:54 +0000)]
Makefile.in, [...]: Regenerate

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

From-SVN: r85869

20 years agoPatch for PR target/16286
Ben Elliston [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.

From-SVN: r85868

20 years ago2004-08-12 Jan Beulich <jbeulich@novell.com>
Jan Beulich [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.

From-SVN: r85862

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

From-SVN: r85861

20 years agoparser.c (cp_parser_asm_definition): Properly consume scope operator tokens preceding...
Jan Beulich [Thu, 12 Aug 2004 09:34:16 +0000 (09:34 +0000)]
parser.c (cp_parser_asm_definition): Properly consume scope operator tokens preceding the clobbers.

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.

From-SVN: r85860

20 years agogenpreds.c: Add capability to generate predicate bodies as well as function prototypes.
Zack Weinberg [Thu, 12 Aug 2004 07:49:00 +0000 (07:49 +0000)]
genpreds.c: Add capability to generate predicate bodies as well as function prototypes.

* 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.

From-SVN: r85855

20 years agojavaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access...
Per Bothner [Thu, 12 Aug 2004 06:53:42 +0000 (23:53 -0700)]
javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods.

* 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.

From-SVN: r85854

20 years agore PR c++/16698 (ICE with exceptions and declaration of __cxa_throw)
Mark Mitchell [Thu, 12 Aug 2004 05:17:42 +0000 (05:17 +0000)]
re PR c++/16698 (ICE with exceptions and declaration of __cxa_throw)

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.

From-SVN: r85850

20 years agoc-common.h (STATEMENT_LIST_HAS_LABEL): New.
Richard Henderson [Thu, 12 Aug 2004 04:09:57 +0000 (21:09 -0700)]
c-common.h (STATEMENT_LIST_HAS_LABEL): New.

        * 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.

From-SVN: r85849

20 years agostor-layout.c (round_up, round_down): Move ...
Richard Henderson [Thu, 12 Aug 2004 04:01:04 +0000 (21:01 -0700)]
stor-layout.c (round_up, round_down): Move ...

        * 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.

From-SVN: r85848

20 years agogimplify.c (struct gimplify_init_ctor_preeval_data): New.
Richard Henderson [Thu, 12 Aug 2004 03:54:11 +0000 (20:54 -0700)]
gimplify.c (struct gimplify_init_ctor_preeval_data): New.

        * 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.

From-SVN: r85845

20 years agore PR c++/16717 ([unit-at-a-time] __attribute__((constructor)) broken in C++)
Mark Mitchell [Thu, 12 Aug 2004 02:51:31 +0000 (02:51 +0000)]
re PR c++/16717 ([unit-at-a-time] __attribute__((constructor)) broken in C++)

PR c++/16717
* g++.dg/ext/construct1.C: New test.

From-SVN: r85844

20 years ago(This patch is part of merge of objc-improvements-branch into mainline.)
Ziemowit Laski [Thu, 12 Aug 2004 01:53:01 +0000 (01:53 +0000)]
(This patch is part of merge of objc-improvements-branch into mainline.)

[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.

From-SVN: r85842

20 years agore PR c++/16853 (pointer-to-member initialization from incompatible one accepted)
Mark Mitchell [Thu, 12 Aug 2004 00:43:47 +0000 (00:43 +0000)]
re PR c++/16853 (pointer-to-member initialization from incompatible one accepted)

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.

From-SVN: r85840

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

From-SVN: r85836

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

From-SVN: r85830

20 years agors6000.c (function_arg_padding): Revert 2004-07-28 and 2004-07-14 changes.
Alan Modra [Wed, 11 Aug 2004 23:18:21 +0000 (23:18 +0000)]
rs6000.c (function_arg_padding): Revert 2004-07-28 and 2004-07-14 changes.

* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
and 2004-07-14 changes.

From-SVN: r85829

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

From-SVN: r85828

20 years agore PR c++/16964 (ICE in cp_parser_class_specifier due to redefinition)
Mark Mitchell [Wed, 11 Aug 2004 22:13:32 +0000 (22:13 +0000)]
re PR c++/16964 (ICE in cp_parser_class_specifier due to redefinition)

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.

From-SVN: r85824

20 years agodarwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip and -no_dead_strip_inits_an...
Devang Patel [Wed, 11 Aug 2004 21:26:12 +0000 (14:26 -0700)]
darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip and -no_dead_strip_inits_and_terms.

       * 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.

From-SVN: r85822

20 years ago* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
Paul Brook [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.

From-SVN: r85820

20 years agoarm.c (thumb_force_lr_save): Add prototype.
Paul Brook [Wed, 11 Aug 2004 20:59:15 +0000 (20:59 +0000)]
arm.c (thumb_force_lr_save): Add prototype.

* 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.

From-SVN: r85818

20 years agoFix -fprofile-use ICE.
James E 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.

From-SVN: r85813

20 years agors6000.h (MAX_FIXED_MODE_SIZE): Define.
David Edelsohn [Wed, 11 Aug 2004 19:18:14 +0000 (19:18 +0000)]
rs6000.h (MAX_FIXED_MODE_SIZE): Define.

        * 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.

From-SVN: r85808

20 years agotree-flow-inline.h (get_def_ops, [...]): Add operand structure reference.
Andrew MacLeod [Wed, 11 Aug 2004 17:50:47 +0000 (17:50 +0000)]
tree-flow-inline.h (get_def_ops, [...]): Add operand structure reference.

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.

From-SVN: r85807

20 years ago[multiple changes]
Paul Brook [Wed, 11 Aug 2004 16:05:14 +0000 (16:05 +0000)]
[multiple changes]

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.

From-SVN: r85805

20 years ago1.cc: Fix typo.
Paolo Carlini [Wed, 11 Aug 2004 14:05:47 +0000 (14:05 +0000)]
1.cc: Fix typo.

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

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

From-SVN: r85804

20 years ago1.cc: Declare test variable.
Paolo Carlini [Wed, 11 Aug 2004 13:47:24 +0000 (13:47 +0000)]
1.cc: Declare test variable.

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.

From-SVN: r85802

20 years agore PR libstdc++/16959 (Segmentation fault in ios_base::sync_with_stdio)
Paolo Carlini [Wed, 11 Aug 2004 09:31:13 +0000 (09:31 +0000)]
re PR libstdc++/16959 (Segmentation fault in ios_base::sync_with_stdio)

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.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r85797

20 years ago(arm_is_longcall_p): Update comment describing this funciton's behaviour.
Nick Clifton [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.

From-SVN: r85796

20 years agostmt.c (expand_return): If asked to return the RESULT_DECL, just call expand_value_re...
Zack Weinberg [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.

* stmt.c (expand_return): If asked to return the RESULT_DECL,
just call expand_value_return on result_rtl.

From-SVN: r85795

20 years agobuiltins.def (BUILT_IN_STACK_ALLOC): Remove.
Richard Henderson [Wed, 11 Aug 2004 04:16:07 +0000 (21:16 -0700)]
builtins.def (BUILT_IN_STACK_ALLOC): Remove.

        * 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.

From-SVN: r85794

20 years ago* config-lang.in (boot_language): Yes.
Richard Henderson [Wed, 11 Aug 2004 04:10:11 +0000 (21:10 -0700)]
* config-lang.in (boot_language): Yes.

From-SVN: r85793

20 years agostor-layout.c (round_up): Check for 0/1 before dividing.
Richard Henderson [Wed, 11 Aug 2004 04:00:04 +0000 (21:00 -0700)]
stor-layout.c (round_up): Check for 0/1 before dividing.

        * stor-layout.c (round_up): Check for 0/1 before dividing.
        (round_down): Likewise.

From-SVN: r85792

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

From-SVN: r85791

20 years agoconfigure.in (arm*-*-eabi*): New target.
Mark Mitchell [Wed, 11 Aug 2004 02:50:14 +0000 (02:50 +0000)]
configure.in (arm*-*-eabi*): New target.

* 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.

From-SVN: r85788

20 years agors6000-protos.h (expand_block_clear): Declare.
David Edelsohn [Wed, 11 Aug 2004 02:40:45 +0000 (22:40 -0400)]
rs6000-protos.h (expand_block_clear): Declare.

        * 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.

From-SVN: r85787

20 years agore PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write sourc...
Kelley Cook [Wed, 11 Aug 2004 00:56:23 +0000 (00:56 +0000)]
re PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write source directory)

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.

From-SVN: r85782

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

From-SVN: r85780

20 years agore PR c++/16971 (ICE on duplicate definition)
Mark Mitchell [Wed, 11 Aug 2004 00:14:37 +0000 (00:14 +0000)]
re PR c++/16971 (ICE on duplicate definition)

PR c++/16971
* parser.c (cp_parser_init_declarator): Robustify.

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

From-SVN: r85776

20 years agoHot/cold partitioning update, sub-patch: fix alignment problems
Caroline Tice [Tue, 10 Aug 2004 21:49:49 +0000 (14:49 -0700)]
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.

From-SVN: r85771

20 years agos390-protos.h (s390_canonicalize_comparison): Declare.
Ulrich Weigand [Tue, 10 Aug 2004 21:46:33 +0000 (21:46 +0000)]
s390-protos.h (s390_canonicalize_comparison): Declare.

* 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.

From-SVN: r85770

20 years agore PR target/16909 ("unrecognizable insn" ICE during bootstrap with-cpu=nocona)
H.J. Lu [Tue, 10 Aug 2004 21:40:02 +0000 (21:40 +0000)]
re PR target/16909 ("unrecognizable insn" ICE during bootstrap with-cpu=nocona)

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.

From-SVN: r85769

20 years agosourcebuild.texi (compat testing): Document available test framework commands.
Janis Johnson [Tue, 10 Aug 2004 21:35:09 +0000 (21:35 +0000)]
sourcebuild.texi (compat testing): Document available test framework commands.

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.

From-SVN: r85768

20 years agolambda.h: Add matrix type, and prototypes for remainder of matrix and vector functions.
Daniel Berlin [Tue, 10 Aug 2004 20:43:05 +0000 (20:43 +0000)]
lambda.h: Add matrix type, and prototypes for remainder of matrix and vector functions.

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.

From-SVN: r85767

20 years agotree-cfg.c (bsi_insert_before, [...]): Call modify_stmt after linking stmt into the...
Andrew MacLeod [Tue, 10 Aug 2004 18:31:26 +0000 (18:31 +0000)]
tree-cfg.c (bsi_insert_before, [...]): Call modify_stmt after linking stmt into the program.

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.

From-SVN: r85765

20 years agore PR middle-end/16948 (Many new testsuite failures on hppa64-hp-hpux11.11)
Jason Merrill [Tue, 10 Aug 2004 18:02:48 +0000 (14:02 -0400)]
re PR middle-end/16948 (Many new testsuite failures on hppa64-hp-hpux11.11)

        PR middle-end/16948
        * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85764

20 years agofunction.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL.
Jason Merrill [Tue, 10 Aug 2004 18:02:18 +0000 (14:02 -0400)]
function.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL.

        * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85763

20 years agotree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the hash function.
Geoffrey Keating [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.

* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
hash function.

From-SVN: r85760

20 years agomips.md: New reciprocal square root patterns that match sqrt(1.0/x) in addition to...
Roger Sayle [Tue, 10 Aug 2004 17:43:02 +0000 (17:43 +0000)]
mips.md: New reciprocal square root patterns that match sqrt(1.0/x) in addition to the...

* 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.

From-SVN: r85759

20 years agoarm-protos.h (arm_set_return_address, [...]): Add prototypes.
Paul Brook [Tue, 10 Aug 2004 16:22:47 +0000 (16:22 +0000)]
arm-protos.h (arm_set_return_address, [...]): Add prototypes.

* 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.

From-SVN: r85757

20 years agojava-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
Bryce McKinlay [Tue, 10 Aug 2004 15:41:15 +0000 (15:41 +0000)]
java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.

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.

From-SVN: r85756

20 years agoerr14.java: New file.
Andrew Haley [Tue, 10 Aug 2004 14:26:56 +0000 (14:26 +0000)]
err14.java: New file.

2004-08-10  Andrew Haley  <aph@redhat.com>

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

From-SVN: r85754

20 years agoffi64.c (ffi_prep_args ): 8-align all stack arguments.
Andrew Haley [Tue, 10 Aug 2004 14:24:00 +0000 (14:24 +0000)]
ffi64.c (ffi_prep_args ): 8-align all stack arguments.

2004-08-10  Andrew Haley  <aph@redhat.com>

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

From-SVN: r85753

20 years agoerr14.java: New file.
Andrew Haley [Tue, 10 Aug 2004 14:21:05 +0000 (14:21 +0000)]
err14.java: New file.

2004-08-10  Andrew Haley  <aph@redhat.com>

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

From-SVN: r85752

20 years agolist_read.c (namelist_read): Convert variable names to lower case, so that mixed...
Victor Leikehman [Tue, 10 Aug 2004 13:34:04 +0000 (13:34 +0000)]
list_read.c (namelist_read): Convert variable names to lower case, so that mixed-case names are recognized.

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.

From-SVN: r85751

20 years agore PR libgcj/3144 (java.lang.Date.compareTo() not supported)
Jakub Jelinek [Tue, 10 Aug 2004 13:28:26 +0000 (15:28 +0200)]
re PR libgcj/3144 (java.lang.Date.compareTo() not supported)

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.

From-SVN: r85750

20 years agoexpr.c (expand_expr_real_1): Add back code that was not dead.
Paolo Bonzini [Tue, 10 Aug 2004 08:38:29 +0000 (08:38 +0000)]
expr.c (expand_expr_real_1): Add back code that was not dead.

2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

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

From-SVN: r85742

20 years agoc-common.c (c_common_get_alias_set): Set the aliasing set of the type which is found...
Andrew Pinski [Tue, 10 Aug 2004 04:41:37 +0000 (04:41 +0000)]
c-common.c (c_common_get_alias_set): Set the aliasing set of the type which is found to be compatible before...

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.

From-SVN: r85741

20 years agojava-tree.h (flag_deprecated): Removed.
H.J. Lu [Tue, 10 Aug 2004 04:29:16 +0000 (04:29 +0000)]
java-tree.h (flag_deprecated): Removed.

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.

From-SVN: r85740

20 years agotrans-io.c (transfer_expr): Handle pointters.
Paul Brook [Tue, 10 Aug 2004 00:57:22 +0000 (00:57 +0000)]
trans-io.c (transfer_expr): Handle pointters.

* trans-io.c (transfer_expr): Handle pointters.
testsuite/
* gfortran.dg/der_io_1.f90: New test.

From-SVN: r85738

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

From-SVN: r85733

20 years agore PR fortran/16919 (ICE with derived type and array constructor)
Paul Brook [Mon, 9 Aug 2004 23:32:59 +0000 (23:32 +0000)]
re PR fortran/16919 (ICE with derived type and array constructor)

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.

From-SVN: r85730

20 years agoggc-zone.c (struct alloc_zone): Add statistics counters.
Daniel Jacobowitz [Mon, 9 Aug 2004 23:11:08 +0000 (23:11 +0000)]
ggc-zone.c (struct alloc_zone): Add statistics counters.

* 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.

From-SVN: r85729

20 years agoexpmed.c (sdiv_pow2_cheap, [...]): Change type to bool.
Roger Sayle [Mon, 9 Aug 2004 22:36:39 +0000 (22:36 +0000)]
expmed.c (sdiv_pow2_cheap, [...]): Change type to bool.

* 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.

From-SVN: r85728

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

From-SVN: r85726

20 years agoc99_functions.c (nextafterf): New implementation that works correctly with denormaliz...
Roger Sayle [Mon, 9 Aug 2004 21:09:41 +0000 (21:09 +0000)]
c99_functions.c (nextafterf): New implementation that works correctly with denormalized numbers.

* intrinsics/c99_functions.c (nextafterf): New implementation that
works correctly with denormalized numbers.

From-SVN: r85724

20 years agounwind-dw2.c (uw_install_context_1): Update target saved stack pointer.
Paul Brook [Mon, 9 Aug 2004 20:31:41 +0000 (20:31 +0000)]
unwind-dw2.c (uw_install_context_1): Update target saved stack pointer.

* unwind-dw2.c (uw_install_context_1): Update target saved stack
pointer.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r85723

20 years agoggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
Geoffrey Keating [Mon, 9 Aug 2004 20:19:30 +0000 (20:19 +0000)]
ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.

* 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.

From-SVN: r85722

20 years agoMakefile.in (OBJC-common): Add tree-ssa-threadupdate.c
Jeff Law [Mon, 9 Aug 2004 19:13:07 +0000 (13:13 -0600)]
Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c

        * 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.

From-SVN: r85721

20 years agoexplow.c (memory_address): Use memory_address_p.
Zack Weinberg [Mon, 9 Aug 2004 17:43:17 +0000 (17:43 +0000)]
explow.c (memory_address): Use memory_address_p.

* explow.c (memory_address): Use memory_address_p.
* recog.c (general_operand): Likewise.
* regrename.c: No need to define REG_OK_STRICT.

From-SVN: r85720

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

From-SVN: r85719

20 years agotimevar.def (TV_CPROP1, [...]): New timers.
Steven Bosscher [Mon, 9 Aug 2004 16:58:42 +0000 (16:58 +0000)]
timevar.def (TV_CPROP1, [...]): New timers.

* 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.

From-SVN: r85718

20 years agomatmul.m4, [...]: Allocate space if return value has NULL in its data field.
Victor Leikehman [Mon, 9 Aug 2004 14:34:39 +0000 (14:34 +0000)]
matmul.m4, [...]: Allocate space if return value has NULL in its data field.

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.

From-SVN: r85717

20 years agostl_bvector.h: Trivial formatting fixes.
Paolo Carlini [Mon, 9 Aug 2004 13:51:33 +0000 (13:51 +0000)]
stl_bvector.h: Trivial formatting fixes.

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.

From-SVN: r85716

20 years agofix typo
Jason Merrill [Mon, 9 Aug 2004 13:18:56 +0000 (09:18 -0400)]
fix typo

From-SVN: r85715

20 years ago[multiple changes]
Arnaud Charlet [Mon, 9 Aug 2004 12:24:25 +0000 (14:24 +0200)]
[multiple changes]

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.

From-SVN: r85714

20 years agowchar_t-2.c: Fix typo.
Paolo Bonzini [Mon, 9 Aug 2004 07:24:23 +0000 (07:24 +0000)]
wchar_t-2.c: Fix typo.

2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

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

From-SVN: r85713

20 years agoMakefile.in (GTFILES): Remove stmt.c
Paolo Bonzini [Mon, 9 Aug 2004 07:14:17 +0000 (07:14 +0000)]
Makefile.in (GTFILES): Remove stmt.c

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.

From-SVN: r85712