Roger Sayle [Tue, 26 Aug 2003 13:22:14 +0000 (13:22 +0000)]
builtins.c (fold_builtin_bitop): New function to perform constant folding of ffs...
* builtins.c (fold_builtin_bitop): New function to perform constant
folding of ffs, clz, ctz, popcount and parity builtin functions
and their long and long long variants (such as ffsl and ffsll).
(fold_builtin): fold_builtin_bitop when appropriate.
* simplify-rtx.c (simplify_unary_operation): Honor both
CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
evaluating clz and ctz at compile-time, for operands wider
than HOST_WIDE_INT.
Nathan Sidwell [Tue, 26 Aug 2003 09:16:16 +0000 (09:16 +0000)]
re PR c++/11871 (Koenig lookup regression)
cp:
PR c++/11871
* decl.c (push_class_level_binding): Correct old_decl value from
my 2003-07-29 reorganization.
testsuite:
PR c++/11871
* c++.dg/lookup/crash1.C: New test.
Zack Weinberg [Tue, 26 Aug 2003 06:54:15 +0000 (06:54 +0000)]
config.gcc (hppa*-*-hpux11*, [...]): Remove commented-out logic to use DCE threads (if present)...
gcc:
* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
commented-out logic to use DCE threads (if present), add
support for POSIX threads.
* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
#defines for -pthread. Add -lpthread to LIB_SPEC when
-pthread. In both cases take -mt as a synonym for -pthread
for acc compatibility.
Define GTHREAD_USE_WEAK to 0.
* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
Remove old logic for DCE threads from LIB_SPEC.
* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
libstdc++-v3:
* config/os/hpux/os_defines.h: Unconditionally define
_GLIBCXX_GTHREAD_USE_WEAK to 0.
Roger Sayle [Tue, 26 Aug 2003 00:09:10 +0000 (00:09 +0000)]
builtins.c (expand_builtin_mathfn): Rearrange so that we only return 0 for invalid argument types.
* builtins.c (expand_builtin_mathfn): Rearrange so that we only
return 0 for invalid argument types. Instead drop through to a
call of expand_call at the bottom of function. If op is SQRT,
try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
* Makefile.am: added gnu/awt/xlib/XOffScreenImage.java.
* Makefile.in: re-generated.
* gnu/awt/j2d/IntegerGraphicsState.java
(ScreenCoupledImage): new interface.
(drawImage): detect ScreenCoupledImage instances.
* gnu/awt/xlib/XCanvasPeer.java (createImage) implemented.
* gnu/awt/xlib/XEventLoop.java
(createEvent): re-formatted, and rearranged to avoid null pointer.
* gnu/awt/xlib/XGraphics.java
(drawImage): added XOffScreenImage handling.
* gnu/awt/xlib/XOffScreenImage.java: new file.
* gnu/gcj/xlib/Drawable.java (getDepth): new native method.
* gnu/gcj/xlib/GC.java (copyArea): new native method.
* gnu/gcj/xlib/XAnyEvent.java
(TYPE_KEY_PRESS): new constant.
(TYPE_KEY_RELEASE): new constant.
(TYPE_MOTION_NOTIFY): new constant.
(TYPE_ENTER_NOTIFY): new constant.
(TYPE_LEAVE_NOTIFY): new constant.
(TYPE_FOCUS_IN): new constant.
(TYPE_FOCUS_OUT): new constant.
(TYPE_KEYMAP_NOTIFY): new constant.
(TYPE_GRAPHICS_EXPOSE): new constant.
(TYPE_NO_EXPOSE): new constant.
(TYPE_VISIBILITY_NOTIFY): new constant.
(TYPE_CREATE_NOTIFY): new constant.
(TYPE_DESTROY_NOTIFY): new constant.
(TYPE_MAP_REQUEST): new constant.
(TYPE_CONFIGURE_REQUEST): new constant.
(TYPE_GRAVITY_NOTIFY): new constant.
(TYPE_RESIZE_REQUEST): new constant.
(TYPE_CIRCULATE_NOTIFY): new constant.
(TYPE_CIRCULATE_REQUEST): new constant.
(TYPE_PROPERTY_NOTIFY): new constant.
(TYPE_SELECTION_CLEAR): new constant.
(TYPE_SELECTION_REQUEST): new constant.
(TYPE_SELECTION_NOTIFY): new constant.
(TYPE_COLORMAP_NOTIFY): new constant.
(TYPE_MAPPING_NOTIFY): new constant.
* gnu/gcj/xlib/natDrawable.cc (getDepth): new method.
* gnu/gcj/xlib/natGC.cc (copyArea): new method
* java/awt/Component.java (createImage): changed to use peer method.
* config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
for 16-byte vector modes if sse not enabled; warn for abi change.
(ix86_value_regno): Only return xmm0 for 16-byte vector types.
* g++.dg/eh/simd-2.C: Add -w for x86.
* fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
comment. Enable for DYNIX/ptx systems (when they switch to
regular fixincludes).
* fixinc/fixincl.x: Regenerate.
Jakub Jelinek [Sat, 23 Aug 2003 22:18:54 +0000 (00:18 +0200)]
c-decl.c (pushdecl): Only put decls which finish_struct will do something about onto incomplete chain.
* c-decl.c (pushdecl): Only put decls which finish_struct will do
something about onto incomplete chain.
(finish_struct): If not removing type from incomplete
list, update prev.
mips.c (mips_setup_incoming_varargs): Handle o32 and o64 as well.
* config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
as well. Put memory references in the varargs alias set.
(mips_expand_prologue): Remove varargs handling from here.
Ulrich Weigand [Sat, 23 Aug 2003 15:39:18 +0000 (15:39 +0000)]
s390.c (s390_expand_movstr, [...]): Use ISO C syntax for function pointer calls.
* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
for function pointer calls.
* config/s390/s390.md ("*negdi2_31"): Likewise.
re PR c++/3765 (member using declaration can't change access from public)
PR c++/3765
* search.c (dfs_access_in_type): Fix typo in comment.
(dfs_accessible_queue_p): Likewise.
(dfs_accessible_p): Only terminate when a friend is found.
(accessible_p): Return immediately if access_in_type allows
access.
Jason Eckhardt [Sat, 23 Aug 2003 04:20:02 +0000 (04:20 +0000)]
i860.c (i860_build_va_list): Create the va_decl declaration.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c (i860_build_va_list): Create the va_decl
declaration. Document the va_list structure.
(i860_va_start): Initialize the va_list structure.
(i860_va_arg): Rewrite completely.
* config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
* config/i860/varargs.asm: Do not allocate or initialize
a va_list. Return the address of the register save area.
Jason Eckhardt [Sat, 23 Aug 2003 02:46:12 +0000 (02:46 +0000)]
i860.c (output_move_double): Don't set latehalf to zero for CONST_INT (since it could be, e.g., -1).
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c (output_move_double): Don't set latehalf
to zero for CONST_INT (since it could be, e.g., -1).
* config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
(MODSI3_LIBCALL): ...with this one.
(UREMSI3_LIBCALL): Replace this macro...
(UMODSI3_LIBCALL): ...with this one.
Jason Eckhardt [Sat, 23 Aug 2003 02:24:14 +0000 (02:24 +0000)]
i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
Remove all uses of the PARAMS macro. Remove superflous prototypes.
Convert all function definitions from traditional to ISO C90 syntax.
* config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
with 'GCC'. Remove all uses of the PARAMS macro.
* config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
* config/i860/i860.md: Likewise.
* config/i860/sysv4.h: Likewise.
* config/i860/varargs.asm: Likewise.
Jason Eckhardt [Sat, 23 Aug 2003 01:32:59 +0000 (01:32 +0000)]
pa.c: Replace 'GNU CC' with 'GCC'.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
* config/pa/fptr.c: Likewise.
* config/pa/lib2funcs.asm: Likewise.
* config/pa/long_double.h: Likewise.
* config/pa/milli64.S: Likewise.
* config/pa/pa-64.h: Likewise.
* config/pa/pa-hpux.h: Likewise.
* config/pa/pa-hpux10.h: Likewise.
* config/pa/pa-hpux11.h: Likewise.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-modes.def: Likewise.
* config/pa/pa-osf.h: Likewise.
* config/pa/pa-pro-end.h: Likewise.
* config/pa/pa.md: Likewise.
* config/pa/pa32-linux.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/pa/pa64-hpux.h: Likewise.
* config/pa/pa64-regs.h: Likewise.
* config/pa/quadlib.c: Likewise.
* config/pa/rtems.h: Likewise.
* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
all uses of the PARAMS macro.
* config/pa/pa.h: Likewise.
* config/pa/som.h: Likewise.
* config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
* config/iq2000.h: Remove all uses of PARAMS macro.
* config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
Ulrich Weigand [Sat, 23 Aug 2003 00:17:35 +0000 (00:17 +0000)]
s390-protos.h (s390_output_pool_entry): Declare.
* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
* config/s390/s390.c (gen_consttable): Remove.
(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
(s390_output_pool_entry): New function.
* config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
(UNSPECV_POOL_ENTRY): ... this new constant.
("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
"consttable_ti", "consttable_sf", "consttable_df"): Remove ...
("*pool_entry"): ... and replace by this new insn.
("literal_pool_31"): Do not emit anchor label if pool empty.
* config/s390/s390.c (struct machine_function): Add save_return_addr_p.
(s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
(s390_fixup_clobbered_return_reg): Remove.
(s390_reorg): Don't call s390_fixup_clobbered_return_reg.
(s390_return_addr_rtx): Always retrieve return address from save area
slot. Use save_return_addr_p to force slot to be filled.
(s390_emit_prologue): Remove has_hard_reg_initial_val test.
GdkGraphics.java (drawString): Pass font name, not XLFD, to native drawString.
2003-08-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GdkGraphics.java (drawString): Pass font
name, not XLFD, to native drawString.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
Replace XLFD-based implementation with Pango-based
implementation.
Mark Mitchell [Fri, 22 Aug 2003 17:58:05 +0000 (17:58 +0000)]
ia64.md (*ptr_extend_plus_1): Rename to ...
* config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
(ptr_extend_plus_imm): ... this.
* config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
optimization in C++.
(ia64_output_mi_thunk): Support ILP32 mode.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
Mark Mitchell [Thu, 21 Aug 2003 17:44:16 +0000 (17:44 +0000)]
re PR c++/11551 (g++ accepts typedef as destructor name)
PR c++/11551
* parser.c (cp_parser_id_expression): Add declarator_p parameter.
(cp_parser_primary_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_unqualified_id): Complain about the use of
typedef-names in a destructor declarator.
(cp_parser_postfix_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_type_parameter): Likewise.
(cp_parser_template_argument): Likewise.
(cp_parser_declarator_id): Likewise.
PR c++/11919
* call.c (standard_conversion): Use same_type_p, not pointer
equality, to compare types.
PR c++/10762
* parser.c (cp_parser_using_declaration): Check for invalid uses
of template-ids here...
* decl2.c (do_class_using_decl): ... rather than here.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
Jason Merrill [Thu, 21 Aug 2003 03:20:54 +0000 (23:20 -0400)]
semantics.c (simplify_aggr_init_expr): Split out from simplify_aggr_init_exprs_r.
* semantics.c (simplify_aggr_init_expr): Split out from
simplify_aggr_init_exprs_r. Convert slot address to match
the return type.
* cp-tree.h: Declare it.
* tree.c (cp_copy_res_decl_for_inlining): Don't clobber the
DECL_NAME of a user variable.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
Mark Mitchell [Wed, 20 Aug 2003 22:36:08 +0000 (22:36 +0000)]
re PR middle-end/11996 (Compiling libjava ICE's.)
PR java/11996
Revert this change:
2003-08-19 Mark Mitchell <mark@codesourcery.com>
* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
types with precisions other than those given by native machine
modes.