Portability improvements, e.g., libmudflap/15293.
* configure.in: Look for glibc extension functions. Look for
support of -f{function,data}-sections. Look for more headers.
Create testsuite/mfconfig.exp. Correct more "test x.." thinkos.
* Makefile.am: Use $(SECTION_FLAGS). Collapse piecemeal-compiled
mf-hooks* into usual single object per source.
* mf-hooks*.c: Remove all #if WRAP_foo conditionals.
* mf-hooks2.c: #include a bunch more system headers. Define strnlen
if system doesn't provide one.
* mf-hooks3.c (struct pthread_info): Add stack_*_alloc fields.
(pthread_create): Use it to properly GC dead thread stacks.
* mf-runtime.c (__mf_violation): Correct snprintf type warning.
* testsuite/Makefile.am: Stop generating site.exp.
* testsuite/mfconfig.exp.in: New file.
* testsuite/config/default.exp: Load new mfconfig.exp.
* testsuite/lib/libmudflap.exp (libmudflap-init): Add extra libraries.
(prune_gcc_output): Add glibc static linking warnings.
* testsuite/libmudflap.*/*frags.exp: Enumerate needed -lmudflap* libs.
* testsuite/libmudflap.c/pass46-frag.c: Ditto.
* configure, Makefile, aclocal.m4, config.h.in, testsuite/Makefile.in:
Regenerated with autoconf 2.57 and automake 1.7.
Steven Bosscher [Fri, 4 Jun 2004 12:31:26 +0000 (12:31 +0000)]
except.c (for_each_eh_region): New function.
* except.c (for_each_eh_region): New function.
* except.h (for_each_eh_region): Add a prototype for it.
* tree-cfg.c (update_eh_labels): New function, callback for
for_each_eh_region.
(label_for_bb): Make global static, unfortunately.
(cleanup_dead_labels): Also update label references for
exception regions.
Matt Austern [Thu, 3 Jun 2004 23:15:01 +0000 (23:15 +0000)]
re PR c++/15428 (vtables shouldn't always be weak on Darwin)
PR c++/15428
* default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
* doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
documentation to reflect the new macro name and to clarify its
meaning.
* cp/decl2.c (maybe_emit_vtables): If TARGET_WEAK_NOT_IN_ARCHIVE_TOC
is nonzero, and if we see a noninline definition of a key method,
make the vtables nonweak.
Mark G. Adams [Thu, 3 Jun 2004 18:48:28 +0000 (18:48 +0000)]
tree.h: Remove include of version.h
* tree.h: Remove include of version.h
* c-cppbuiltin.c: Include version.h
* diagnostic.c: Include version.h
* dwarf2out.c: Include version.h
* toplev.c: Include version.h
* vmsdbgout.c: Include version.h
* Makefile.in: Remove dependency on version.h from TREE_H, and
add dependencies to required .o targets
* gjavah.c: Include version.h
Daniel Berlin [Thu, 3 Jun 2004 14:07:53 +0000 (14:07 +0000)]
tree-ssa-ccp.c (varying_ssa_edges): New worklist.
2004-06-03 Daniel Berlin <dberlin@dberlin.org>
Kenneth Zadeck <zadeck@naturalbridge.com>
* tree-ssa-ccp.c (varying_ssa_edges): New worklist.
(add_var_to_ssa_edges_worklist): Add value argument.
Update callers.
Use new worklist.
(process_ssa_edge_worklist): New function.
(tree_ssa_ccp): Move worklist processing core to
process_ssa_edge_worklist, and just call that for the two worklists.
Matt Austern [Wed, 2 Jun 2004 21:12:54 +0000 (21:12 +0000)]
When a class template is explicitly instantiated, its member should be too.
* cp-tree.h (instantiate_decl): new boolean parameter,
undefined_ok. Current behavior is equivalent to its being 0.
* decl2.c (mark_used): Add new argument when calling instantiate_decl
* pt.c (mark_decl_instantiated): Unconditionally make
instantiations explicit unconditionally
(do_decl_instantiation): Don't call SET_DECL_EXPLICIT_INSTANTIATION,
since mark_decl_instantiated now does it.
(instantiate_class_member): New. Instantiate a member of an
explicitly instantiated class template.
(do_type_instantiation): Explicitly instantiate members of an
explicitly instantiated class template.
(instantiate_decl): if undefined_ok is nonzero, and if we're
trying to explicitly instantiated a template with no definition,
change it to an implicit instantiation.
(instantiate_pending_templates): Add new argument to instantiate_decl.
* tree.c (cp_cannot_inline_tree_fn): Likewise.
Andrew Pinski [Wed, 2 Jun 2004 18:56:54 +0000 (18:56 +0000)]
re PR tree-optimization/14736 ([tree-ssa] code quality regression)
2004-06-02 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-optimization/14736
* g++.dg/tree-ssa/ssa-cast-1.C: New Test.
PR tree-optimization/14042
* g++.dg/tree-ssa/ssa-sra-1.C: New Test.
PR tree-optimization/14729
* g++.dg/tree-ssa/ssa-sra-2.C: New Test.
2004-06-02 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-optimization/14042
PR tree-optimization/14729
PR tree-optimization/14736
* tree-ssa.c: Check the type which the pointer points to
instead of the pointer types.
Tobias Schlüter [Wed, 2 Jun 2004 11:38:24 +0000 (13:38 +0200)]
re PR fortran/15557 (Not Implemented: Substring reference in DATA statement)
fortran/
PR fortran/15557
* data.c (assign_substring_data_value): New function.
(gfc_assign_data_value): Call the new function if we're dealing
with a substring LHS.
testsuite/
PR fortran/15557
* gfortran.fortran-torture/execute/data_3.f90: New testcase.
Jason Merrill [Tue, 1 Jun 2004 20:28:38 +0000 (16:28 -0400)]
re PR c++/15142 (Internal compiler error when passing a string where a char* is expecteted in a throw statement)
PR c++/15142
* call.c (call_builtin_trap): Remove type parm.
(convert_arg_to_ellipsis): Change a non-POD argument to integer type.
(build_x_va_arg): Dereference a null pointer for a non-POD argument.
Eric Botcazou [Tue, 1 Jun 2004 19:08:01 +0000 (21:08 +0200)]
function.c (walk_fixup_memory_subreg): New parameter 'var'.
* function.c (walk_fixup_memory_subreg): New parameter 'var'.
Call fixup_memory_subreg only if the MEM is equal to 'var'.
Adjust recursive calls to self.
(fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
Michael Koch [Tue, 1 Jun 2004 11:57:10 +0000 (11:57 +0000)]
2004-06-01 Michael Koch <konqueror@gmx.de>
* java/security/Security.java
(insertProviderAt): Use equals() instead of ==.
(removeProvicer): Likewise.
(getProvider): Likewise.
* java/security/Signature.java
(sign): Don't set state to UNINITIALIZED.
(verify): Likewise.
PR target/15626
* doc/install.texi (sparc-sun-solaris2*): Document messages issued
by the Sun linker in conjunction with the Sun assembler.
(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
Paolo Bonzini [Tue, 1 Jun 2004 07:43:25 +0000 (07:43 +0000)]
Makefile.tpl (all.normal): Rename to all.
2004-06-01 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all.normal): Rename to all.
(all): Replace with a rule to pick the default
target from configure.
(all-gcc, configure-gcc): Use conditionals to
do nothing when toplevel bootstrap is going on.
(GCC directory bootstrap) [gcc-bootstrap]: Disable.
(Toplevel bootstrap) [gcc-no-bootstrap]: Disable.
* configure.in: Support --enable-bootstrap.
Nicola Pero [Tue, 1 Jun 2004 07:40:02 +0000 (07:40 +0000)]
re PR objc/7993 (private variables cannot be shadowed in subclasses)
2004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
Fix PR objc/7993:
* objc-act.c (is_private): Do not emit the 'instance variable %s
is declared private' error.
(is_public): Emit the error after calling is_private.
(lookup_objc_ivar): If the instance variable is private, return 0
- the instance variable is invisible here.
testsuite:
* objc.dg/private-1.m, objc-dg/private-2.m: New testcases.
Mark Wielaard [Mon, 31 May 2004 23:03:01 +0000 (23:03 +0000)]
GtkComponentPeer.java (requestFocus): Implement by calling gtkRequestFocus.
2004-06-01 Mark Wielaard <mark@klomp.org>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java (requestFocus):
Implement by calling gtkRequestFocus.
(gtkRequestFocus): New native method.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_requestFocus__):
Renamed to ...
(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
New function name.
(filter_expose_event_handler):
Mark static.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
(menu_pos): Mark static.
Michael Koch [Mon, 31 May 2004 22:16:31 +0000 (22:16 +0000)]
CollationElementIterator.java, [...]: New versions from GNU classpath.
2004-06-01 Michael Koch <konqueror@gmx.de>
* java/text/CollationElementIterator.java,
java/text/CollationKey.java,
java/text/RuleBasedCollator.java: New versions from GNU classpath.
* testsuite/libjava.mauve/xfails: Removed all
java.text.CollationElementIterator tests.
Michael Koch [Mon, 31 May 2004 22:14:37 +0000 (22:14 +0000)]
InflaterInputStream.java: Merged more with Classpath version.
2004-06-01 Michael Koch <konqueror@gmx.de>
* java/util/zip/InflaterInputStream.java: Merged more with Classpath
version.
* java/util/zip/ZipOutputStream.java (): Renamed enum to e to removed
Java 1.5 keyword usage.
Eric Botcazou [Mon, 31 May 2004 21:34:26 +0000 (23:34 +0200)]
re PR target/15693 (ICE - unrecognizable insn)
PR target/15693
* config/sparc/sparc.c (compare_operand): New predicate.
* config/sparc/sparc.h (PREDICATE_CODES): Add it.
* config/sparc/sparc.md (cmpsi expander): Use it. If the first
operand is a ZERO_EXTRACT and the second operand is not zero,
force the former to a register.
(cmpdi expander): Likewise.
Mark Mitchell [Mon, 31 May 2004 21:24:31 +0000 (21:24 +0000)]
re PR c++/15742 ('noreturn' attribute ignored in method of template functions.)
PR c++/15742
* call.c (build_over_call): Set
current_function_returns_abnormally even in template functions.
PR c++/15696
* cp-tree.h (invalid_nonstatic_memfn_p): New function.
* cvt.c (convert_to_void): Use it.
* typeck.c (invalid_nonstatic_memfn_p): New function.
(decay_conversion): Use it.
PR c++/15625
* pt.c (tsubst_decl): Set DECL_FRIEND_CONTEXT for instantiated
templates.
PR c++/15629
* name-lookup.c (arg_assoc_class): Do not find template
specializations.
PR c++/15209
* tree.c (lvalue_p_1): Only consider the right-hand side of "."
expressions when determining whether or not an express is packed.
PR c++/15742
* g++.dg/warn/Wreturn-1.C: New test.
PR c++/15696
* g++.dg/expr/ptrmem5.C: New test.
PR c++/15625
* g++.dg/template/friend27.C: New test.
PR c++/15629
* g++.dg/template/friend28.C: New test.
* g++.dg/template/friend.C: Do not depend on <iostream>. Add
error message.
Roger Sayle [Mon, 31 May 2004 17:01:17 +0000 (17:01 +0000)]
re PR c++/15069 (a bit test on a variable of enum type is miscompiled)
PR middle-end/15069
* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
into "X < 0" (where C is the signbit) if X's type is a full mode.
Steven Bosscher [Mon, 31 May 2004 10:18:36 +0000 (10:18 +0000)]
tree-ssa-dom.c (record_equivalences_from_incoming_edge): Only look at case labels if the immediate dominator is also the only predecessor.
* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
Only look at case labels if the immediate dominator is also
the only predecessor. Don't look for more case labels if the
first seen is a case range.