* fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
(C1*C2)/X when unsafe math optimizations are allowed.
(fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
math optimizations. Minor code clean-ups. Recursively call
fold when constructing sub-expressions.
* gcc.dg/20030826-1.c: New test case.
From-SVN: r70807
* 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.
From-SVN: r70806
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.
From-SVN: r70797
* 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.
From-SVN: r70792
* 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.
From-SVN: r70776
* 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.
From-SVN: r70771
* gcc_release (build_sources): Create/update the LAST_UPDATED file
in the source directory with information how sources were obtained.
From-SVN: r70762
* fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
comment. Enable for DYNIX/ptx systems (when they switch to
regular fixincludes).
* fixinc/fixincl.x: Regenerate.
From-SVN: r70760
* 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.
* gcc.dg/20030815-1.c: New test.
From-SVN: r70752
* 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.
From-SVN: r70738
* 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.
From-SVN: r70735
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.
* g++.dg/parse/access6.C: New test.
From-SVN: r70733
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.
From-SVN: r70729
2003-08-23 Phil Edwards <pme@gcc.gnu.org>
* configure.in: Use newline instead of semicolon when assuming
shell arguments in a for loop.
* configure: Regenerated.
From-SVN: r70728
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.
From-SVN: r70725