Paolo Bonzini [Thu, 1 Jun 2006 12:25:19 +0000 (12:25 +0000)]
install.texi: Document that InfoZIP can replace jar.
gcc:
2006-06-01 Paolo Bonzini <bonzini@gnu.org>
* doc/install.texi: Document that InfoZIP can replace jar.
libjava:
2006-06-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (ZIP, UNZIP): New programs.
(JAR): Fall back to bash script. Generate it.
(BASH_JAR): New conditional.
* Makefile.am (bin_SCRIPTS): New.
* jar.in: New file.
* pex-common.c: New function pex_run_in_environment.
* pex-common.h: Add environment parameter to exec_child.
* pex-msdos.c: Add environment parameter to pex_msdos_exec_child.
* pex-djgpp.c: Add environment parameter to pex_djgpp_exec_child.
(pex_djgpp_exec_child): Pass environment to child process.
* pex-unix.c: Add environment parameter to pex_unix_exec_child.
(pex_unix_exec_child): Pass environment to child process.
* pex-win32.c: Add environment parameter to pex_win32_exec_child.
New function env_compare for comparing VAR=VALUE pairs.
(win32_spawn): Assemble environment block and pass to CreateProcess.
(spawn_script): Pass environment through to win32_spawn.
(pex_win32_exec_child): Pass environment through to spawn_script and
win32_spawn.
* functions.texi: Regenerate.
* pexecute.txh: Document pex_run_in_environment.
Bryce McKinlay [Thu, 1 Jun 2006 07:45:55 +0000 (07:45 +0000)]
prims.cc (_Jv_RunMain): Use JvNewStringUTF for command-line class name, not Latin1.
2006-05-31 Bryce McKinlay <mckinlay@redhat.com>
* prims.cc (_Jv_RunMain): Use JvNewStringUTF for command-line class
name, not Latin1.
* gnu/java/lang/MainThread.java (run): Allow file separator char to
be used in place of '.' as class-name separator. Don't chain
ClassNotFoundException.
Paul Thomas [Thu, 1 Jun 2006 04:35:38 +0000 (04:35 +0000)]
re PR fortran/25098 (Variable as actual argument for procedure dummy argument allowed)
2006-06-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25098
PR fortran/25147
* interface.c (compare_parameter): Return 1 if the actual arg
is external and the formal is a procedure.
(compare_actual_formal): If the actual argument is a variable
and the formal a procedure, this an error. If a gsymbol exists
for a procedure of the same name, this is not yet resolved and
the error is cleared.
* trans-intrinsic.c (gfc_conv_associated): Make provision for
zero array length or zero string length contingent on presence
of target, for consistency with standard.
2006-06-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25098
* gfortran.dg/dummy_procedure_1.f90: New test.
PR fortran/25147
* gfortran.dg/dummy_procedure_2.f90: New test.
* gfortran.dg/associated_2.f90: Correct to make consistent with
standard.
Roger Sayle [Thu, 1 Jun 2006 01:37:17 +0000 (01:37 +0000)]
i386.c (ix86_expand_fp_absneg_operator): When SSE isn't available...
* config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
isn't available, directly generate the simpler x87 patterns without
the (use (const_int 0)).
* config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
implementation isn't available.
(*negdf2_1): Likewise.
(*negxf2_1): XF mode negation is always done using the x87.
(*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
gcj.texi (Extensions): Document the new gcj-dbtool-based classname-to-library resolution mechanism.
2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
* gcj.texi (Extensions): Document the new gcj-dbtool-based
classname-to-library resolution mechanism.
Declare the old gnu.gcj.runtime.VMClassLoader.library_control
mechanism deprecated.
(libgcj Runtime Properties): Document
gnu.gcj.runtime.VMClassLoader.library_control's new default.
Richard Earnshaw [Wed, 31 May 2006 13:41:08 +0000 (13:41 +0000)]
re PR target/27829 (ICE/abort in shift_op, at config/arm/arm.c:7917 with asm from testsuite/gcc.dg/pr21255-2-mb.c)
PR target/27829
* arm.c (arm_print_operand case 'S'): Validate that the operand is
a shift operand before calling shift_op. Avoid redundant call of
shift_op.
Mark Mitchell [Wed, 31 May 2006 01:18:24 +0000 (01:18 +0000)]
re PR c++/27808 (ICE with invalid friend declaration)
PR c++/27808
* parser.c (cp_parser_decl_specifier_seq): Issue errors about
"friend" specifiers that do not appear in class scopes.
PR c++/27808
* g++.dg/parse/friend6.C: New test.
Asher Langton [Tue, 30 May 2006 23:27:38 +0000 (23:27 +0000)]
symbol.c (check_conflict): Allow external, function, and subroutine attributes with Cray pointees.
2006-05-30 Asher Langton <langton2@llnl.gov>
* symbol.c (check_conflict): Allow external, function, and
subroutine attributes with Cray pointees.
* trans-expr.c (gfc_conv_function_val): Translate Cray pointees
that point to procedures.
* gfortran.texi: Document new feature.
makemake.tcl (emit_bc_rule): Do not skip gnu-java-awt-peer-gtk.lo.
2006-05-30 Thomas Fitzsimmons <fitzsim@redhat.com>
* scripts/makemake.tcl (emit_bc_rule): Do not skip
gnu-java-awt-peer-gtk.lo.
Include gnu/java/awt/peer/gtk Java objects in libgcj.so. Use C++
ABI for gnu/java/awt/peer/gtk package.
* gnu/classpath/natSystemProperties.cc (PrependVersionedLibdir):
New function.
(insertSystemProperties): Only set java.ext.dirs if it is not
already defined. Prepend GCJ_VERSIONED_LIBDIR to module search
path where necessary.
* configure.ac (GTK_AWT): Remove automake conditional.
* include/jvm.h (_Jv_PrependVersionedLibdir): New function
declaration.
* gij.cc (main): Prepend LD_LIBRARY_PATH with GCJ_VERSIONED_LIBDIR
and re-exec self.
* Makefile.am (AM_CXXFLAGS): Define GCJ_VERSIONED_LIBDIR,
GIJ_EXECUTABLE and PATH_SEPARATOR macros.
Remove lib-gnu-java-awt-peer-gtk.la and libgcjawt.la build logic.
* prims.cc (_Jv_PrependVersionedLibdir): New function.
2006-05-30 Thomas Fitzsimmons <fitzsim@redhat.com>
Roger Sayle [Tue, 30 May 2006 21:34:04 +0000 (21:34 +0000)]
re PR tree-optimization/23452 (Optimizing CONJG_EXPR (a) * a)
PR tree-optimization/23452
* fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
(fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
complex values and with -ffast-math for FP complex values.
Roger Sayle [Tue, 30 May 2006 15:32:52 +0000 (15:32 +0000)]
simplify-rtx.c (simplify_binary_operation): Unfactor the shift and rotate cases.
* simplify-rtx.c (simplify_binary_operation): Unfactor the shift
and rotate cases.
<LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
* gcc.target/ppc-eq0-1.c: New test case.
* gcc.target/ppc-negeq0-1.c: New test case.
Steven Bosscher [Tue, 30 May 2006 11:09:18 +0000 (11:09 +0000)]
m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
* config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
Make prototypes ISO C90.
Jerry DeLisle [Mon, 29 May 2006 19:39:15 +0000 (19:39 +0000)]
re PR fortran/27634 (formatted reading/writing: real format without dot)
2006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/27634
* gfortran.dg/fmt_missing_period_1.f: New test.
* gfortran.dg/fmt_missing_period_2.f: New test.
* gfortran.dg/fmt_missing_period_3.f: New test.
Jerry DeLisle [Mon, 29 May 2006 19:33:43 +0000 (19:33 +0000)]
re PR fortran/27634 (formatted reading/writing: real format without dot)
2006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/27634
* io.c (check_format): Add error for missing period in format
specifier unless -std=legacy.
* gfortran.texi: Add description of expanded namelist read and
missing period in format extensions.
Roger Sayle [Mon, 29 May 2006 16:22:05 +0000 (16:22 +0000)]
re PR tree-optimization/24964 (Does not optimise abs(x)**2 to x**2)
PR tree-optimization/24964
* simplify-rtx.c (simplify_binary_operation_1): Add function comment.
<MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
signaling NaNs. Optimize -x*-x as x*x for all float modes, and
abs(x)*abs(x) as x*x for scalar floating point modes.
Bernd Schmidt [Mon, 29 May 2006 14:11:07 +0000 (14:11 +0000)]
bfin.opt (mfdpic): New option.
* config/bfin/bfin.opt (mfdpic): New option.
* config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
(EXTRA_MULTILIB_PARTS): Likewise.
(CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
(MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
multilib.
* config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
(CRT_CALL_STATIC_FUNCTION): New.
* config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
-shared.
(CRT_CALL_STATIC_FUNCTION): New.
* config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
FD-PIC moves.
(n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
(print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
(initialize_trampoline): Changed to handle FD-PIC code generation.
(expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
(bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
(override_options): Disallow -mid-shared-library -mfdpic combination.
Can't do unaligned ops if FD-PIC.
Turn off flag_pic if trying to generate non-id-shared-library
non-fdpic code, since it's not supported.
(bfin_assemble_integer): New function.
(TARGET_ASM_INTEGER): Define.
* config/bfin/crti.s (__init, __fini): Save P3 on the stack if
__BFIN_FDPIC__.
* config/bfin/crtn.s: Restore them.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
if TARGET_FDPIC.
(DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
(FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
(TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
(CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
call-used.
(enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
FDPIC_REGS and FDPIC_FPTR_REGS.
(REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
* config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
(load_funcdescsi): New pattern.
(call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
re PR libfortran/27524 (-fbounds-check interacts with array function)
PR fortran/27524
* trans-array.c (gfc_trans_dummy_array_bias): Don't use stride as
a temporary variable when -fbounds-check is enabled, since its
value will be needed later.
Ulrich Weigand [Fri, 26 May 2006 20:21:53 +0000 (20:21 +0000)]
re PR rtl-optimization/27661 (ICE in subst_reloads)
PR rtl-optimization/27661
* reload.c (find_reloads): When reloading a VOIDmode constant
as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
use Pmode as mode of the reload register.
PR rtl-optimization/27661
* gcc.dg/pr27661.c: New test case.
Paul Thomas [Fri, 26 May 2006 05:09:18 +0000 (05:09 +0000)]
re PR fortran/27709 (Using size of array pointer component as dimension of function result causes gfortran internal error.)
2006-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27709
* resolve.c (find_array_spec): Add gfc_symbol, derived, and
use to track repeated component references.
PR fortran/27155
PR fortran/27449
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Use
se->string_length throughout and use memcpy to populate the
expression returned to the scalarizer.
(gfc_size_in_bytes): New function.
2006-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27709
* gfortran.dg/spec_expr_4.f90: New test.
PR fortran/27155
* gfortran.dg/transfer_array_intrinsic_4.f90: New test.