Uros Bizjak [Wed, 23 Nov 2005 08:45:09 +0000 (09:45 +0100)]
i386-1.C: Pass if CPU has no SSE2 support.
* g++.dg/other/i386-1.C: Pass if CPU has no SSE2 support.
From-SVN: r107403
Gabriel Dos Reis [Wed, 23 Nov 2005 07:07:33 +0000 (07:07 +0000)]
re PR c/21668 (gratuitous warning about "extern const" with initializer)
PR c/21668
* c-decl.c (grokdeclarator): Don't warn for 'extern const' when
compiling at the intersection of C and C++.
testsuite/
PR c/21668
* gcc.dg/Wc++-compat.c: New.
* gcc.dg/Wno-c++-compat.c: New.
From-SVN: r107401
Alan Modra [Wed, 23 Nov 2005 02:29:39 +0000 (02:29 +0000)]
altivec-consts.c (vspltisb): Use int val.
* gcc.target/powerpc/altivec-consts.c (vspltisb): Use int val.
(vspltish, vspltisw): Likewise.
From-SVN: r107398
Jerry DeLisle [Wed, 23 Nov 2005 02:14:26 +0000 (02:14 +0000)]
re PR libfortran/24794 (problem with namelist input of character array)
2005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24794
* gfortran.dg/namelist_12.f: Fix quotes.
* gfortran.dg/namelist_13.f90: Fix quotes.
* gfortran.dg/namelist_14.f90: Fix quotes.
* gfortran.dg/namelist_15.f90: Fix quotes.
* gfortran.dg/namelist_use.f90: Fix quotes.
* gfortran.dg/namelist_use_only.f90: Fix quotes.
* gfortran.dg/namelist_21.f90: New test.
* gfortran.dg/namelist_22.f90: New test.
From-SVN: r107396
Jerry DeLisle [Wed, 23 Nov 2005 02:02:31 +0000 (02:02 +0000)]
re PR libfortran/24794 (problem with namelist input of character array)
2005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24794
* io/list_read.c (read_character): Add auto completion on short
namelist reads.
From-SVN: r107394
GCC Administrator [Wed, 23 Nov 2005 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107390
Ben Elliston [Wed, 23 Nov 2005 00:07:23 +0000 (00:07 +0000)]
* dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
From-SVN: r107384
J"orn Rennecke [Tue, 22 Nov 2005 22:57:35 +0000 (22:57 +0000)]
Preparatory work for PR target/21623:
* alpha.c (secondary_reload_class): Rename to:
(alpha_secondary_reload_class).
* alpha.h, alpha-protos.h: Likewise.
* mn10300.c (secondary_reload_class): Rename to:
(mn10300_secondary_reload_class).
* mn10300.h, mn10300-protos.h: Likewise.
* pa.c (secondary_reload_class): Rename to:
(pa_secondary_reload_class).
* pa.h, pa-protos.h: Likewise.
* rs6000.c (secondary_reload_class): Rename to:
rs6000_secondary_reload_class.
* rs6000.h, rs6000-protos.h: Likewise.
From-SVN: r107381
David Edelsohn [Tue, 22 Nov 2005 22:45:10 +0000 (22:45 +0000)]
io.h (_LARGE_FILES): Undefine for AIX.
* io/io.h (_LARGE_FILES): Undefine for AIX.
(_LARGE_FILE_API): Define for AIX.
From-SVN: r107380
Eric Botcazou [Tue, 22 Nov 2005 22:38:13 +0000 (22:38 +0000)]
Fix bogus date.
From-SVN: r107379
Eric Botcazou [Tue, 22 Nov 2005 22:35:55 +0000 (22:35 +0000)]
re PR middle-end/22561 (ACATS
ca11c01 wrong code)
PR middle-end/22561
* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
From-SVN: r107377
Ian Lance Taylor [Tue, 22 Nov 2005 21:25:52 +0000 (21:25 +0000)]
optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not a mode_class.
* optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
a mode_class.
(prepare_cmp_insn): Likewise.
From-SVN: r107375
Kazu Hirata [Tue, 22 Nov 2005 20:42:54 +0000 (20:42 +0000)]
re PR target/23435 (Unrecognizable insn (in extract_insn, at recog.c))
gcc/
PR target/23435
* m68k.md (zero_extendsidi2): Force operands[1] to a register
if both operands[0] and operands[1] are memory.
gcc/testsuite/
PR target/23435
* gcc.c-torture/compile/pr23435.c: New.
From-SVN: r107373
Kean Johnston [Tue, 22 Nov 2005 20:41:02 +0000 (20:41 +0000)]
Sync config.{sub,guess} from upstream sources
From-SVN: r107372
Janis Johnson [Tue, 22 Nov 2005 20:35:51 +0000 (20:35 +0000)]
libmudflap.exp (libmudflap-init): Remove -static from MUDFLAP_FLAGS if static library not supported.
* testsuite/lib/libmudflap.exp (libmudflap-init): Remove -static from
MUDFLAP_FLAGS if static library not supported.
* testsuite/libmudflap.c/cfrags.exp (MUDFLAP_FLAGS): new.
* testsuite/libmudflap.c/externs.exp: Ditto.
* testsuite/libmudflap.c++/ctors.exp: Ditto.
* testsuite/libmudflap.c++/c++frags.exp: Ditto.
* testsuite/libmudflap.cth/cthfrags.exp: Ditto.
From-SVN: r107371
Andrew Pinski [Tue, 22 Nov 2005 19:22:21 +0000 (19:22 +0000)]
re PR middle-end/23606 (fold does not fold (type)(a == b) into a == b (with type as the type))
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23606
* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
COMPARISON_CLASS_P and an integral types create create a new
expression with the new type and fold that.
From-SVN: r107370
Andrew Pinski [Tue, 22 Nov 2005 19:05:51 +0000 (19:05 +0000)]
objcp-decl.c (objcp_lookup_name): Remove.
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
* objcp-decl.c (objcp_lookup_name): Remove.
* objcp-decl.h (objcp_lookup_name): Delete.
(lookup_name): Kill define.
From-SVN: r107369
Andrew Pinski [Tue, 22 Nov 2005 18:58:05 +0000 (18:58 +0000)]
re PR target/24988 (gfortran build fails with - Undefined symbols)
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR target/24988
* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
to SUBTARGET_OS_CPP_BUILTINS.
From-SVN: r107368
Gabriel Dos Reis [Tue, 22 Nov 2005 17:04:12 +0000 (17:04 +0000)]
re PR c++/22238 (Awful error messages with virtual functions)
PR c++/22238
* error.c (resolve_virtual_fun_from_obj_type_ref): New.
(dump_expr): Use it in <case CALL_EXPR>.
From-SVN: r107366
Paolo Carlini [Tue, 22 Nov 2005 14:53:03 +0000 (14:53 +0000)]
re PR libstdc++/24975 (Aliasing problems inside libstdc++)
2005-11-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975
* include/bits/stl_set.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Don't break aliasing
rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
* include/bits/stl_multiset.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
_Const_Base_ptr, const value_type&), insert_unique(const_iterator,
const value_type&), insert_equal(const_iterator, const value_type&),
erase(const_iterator), erase(const_iterator, const_iterator)): New,
_Rb_tree<>::const_iterator counterparts of existing facilities.
From-SVN: r107362
Richard Earnshaw [Tue, 22 Nov 2005 14:30:10 +0000 (14:30 +0000)]
arm.c (emit_set_insn): New function.
* arm.c (emit_set_insn): New function.
(arm_split_constant): Call it.
(arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
(arm_legitimize_address): Likewise. Use plus_constant.
(arm_expand_prologue): Likewise. Use VOIDmode in SET.
(thumb_expand_prologue): Likewise.
(arm_gen_load_multiple): Use VOIDmode in SET.
(arm_gen_store_multiple): Likewise.
(vfp_emit_fstmx): Likewise. Use plus_constant.
(emit_multi_reg_push): Likewise.
(emit_sfm): Use plus_constant.
From-SVN: r107361
Alan Modra [Tue, 22 Nov 2005 14:23:01 +0000 (14:23 +0000)]
re PR target/24954 (ICE: could not split insn)
PR target/24954
* config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
typo last change.
From-SVN: r107359
Alan Modra [Tue, 22 Nov 2005 13:16:29 +0000 (13:16 +0000)]
re PR middle-end/24950 (ICE in operand_subword_force)
PR middle-end/24950
* expmed.c (store_bit_field): Don't attempt to insv a field
larger than the reg.
From-SVN: r107354
Alan Modra [Tue, 22 Nov 2005 13:00:06 +0000 (13:00 +0000)]
re PR target/24954 (ICE: could not split insn)
PR target/24954
* config/rs6000/predicated.md (easy_vector_constant_add_self): Use
explicit sign extension, not a (char) cast.
From-SVN: r107352
Benjamin Kosnik [Tue, 22 Nov 2005 06:54:08 +0000 (06:54 +0000)]
re PR libstdc++/23591 (exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread)
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
Ulrich Drepper <drepper@redhat.com>
PR libstdc++/23591
* scripts/create_testsuite_files: Support for "C" test files.
* testsuite/lib/libstdc++.exp: Same.
* testsuite/libstdc++-dg/normal.exp: Same.
* testsuite/ext/mt_allocator/22309_thread.cc: Update names.
* testsuite/19_diagnostics/23591_thread-1.c: New.
* testsuite/testsuite_shared.cc: Add tests, rename existing functions.
* libsupc++/eh_globals.cc: Make global thread local if possible.
* configure.ac: Use GCC_CHECK_TLS.
* acinclude.m4: Include tls.m4.
* configure: Regenerate.
* config.h.in: Same.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r107350
Ben Elliston [Tue, 22 Nov 2005 05:19:29 +0000 (05:19 +0000)]
optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing GET_MODE_CLASS (x) ==...
* optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
GET_MODE_CLASS (x) == MODE_FLOAT.
* config/i386/i386.c: Likewise.
* config/rs6000/xcoff.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/rs6000/predicates.md: Likewise.
* config/rs6000/sysv4.h: Likewise.
From-SVN: r107348
Kaveh R. Ghazi [Tue, 22 Nov 2005 03:09:59 +0000 (03:09 +0000)]
c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when flag_pic is set.
* c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
flag_pic is set.
* config/alpha/freebsd.h, config/alpha/linux.h,
config/arm/linux-elf.h, config/bfin/bfin.h,
config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
config/i386/beos-elf.h, config/i386/gnu.h,
config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
config/rs6000/linux64.h, config/rs6000/sysv4.h,
config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
config/sh/linux.h, config/sh/sh.h, config/sol2.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
* doc/invoke.texi: Document that the macros __pic__ and __PIC__
are both defined when either flag -fpic or -fPIC are used.
From-SVN: r107347
Joseph Myers [Tue, 22 Nov 2005 00:38:30 +0000 (00:38 +0000)]
fp-bit.c (clzusi): New function.
* config/fp-bit.c (clzusi): New function.
(si_to_float, usi_to_float): Use it to compute proper shift.
(usi_to_float): Preserve guard bits when shifting right.
* libgcc-std.ver (GCC_4.2.0): New version.
* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): New functions.
* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): Declare.
* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
_floatundixf, and _floatunditf.
* optabs.c (expand_float): If target does not define a pattern for
signed or unsigned conversion, use an unsigned libcall instead of
a signed one.
(init_optabs): Initialize ufloat_optab.
testsuite:
* gcc.c-torture/execute/floatunsisf-1.c: New test.
From-SVN: r107345
Joseph Myers [Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)]
rs6000.opt (mmulhw): New option.
* config/rs6000/rs6000.opt (mmulhw): New option.
* doc/invoke.texi (-mmulhw): Document.
* config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
for 405 and 440.
* config/rs6000/rs6000.md: Add half-word multiply and
multiply-accumulate instructions for 405 and 440.
testsuite:
* gcc.target/powerpc/405-macchw-1.c,
gcc.target/powerpc/405-macchw-2.c,
gcc.target/powerpc/405-macchwu-1.c,
gcc.target/powerpc/405-macchwu-2.c,
gcc.target/powerpc/405-machhw-1.c,
gcc.target/powerpc/405-machhw-2.c,
gcc.target/powerpc/405-machhwu-1.c,
gcc.target/powerpc/405-machhwu-2.c,
gcc.target/powerpc/405-maclhw-1.c,
gcc.target/powerpc/405-maclhw-2.c,
gcc.target/powerpc/405-maclhwu-1.c,
gcc.target/powerpc/405-maclhwu-2.c,
gcc.target/powerpc/405-mulchw-1.c,
gcc.target/powerpc/405-mulchw-2.c,
gcc.target/powerpc/405-mulchwu-1.c,
gcc.target/powerpc/405-mulchwu-2.c,
gcc.target/powerpc/405-mulhhw-1.c,
gcc.target/powerpc/405-mulhhw-2.c,
gcc.target/powerpc/405-mulhhwu-1.c,
gcc.target/powerpc/405-mulhhwu-2.c,
gcc.target/powerpc/405-mullhw-1.c,
gcc.target/powerpc/405-mullhw-2.c,
gcc.target/powerpc/405-mullhwu-1.c,
gcc.target/powerpc/405-mullhwu-2.c,
gcc.target/powerpc/405-nmacchw-1.c,
gcc.target/powerpc/405-nmacchw-2.c,
gcc.target/powerpc/405-nmachhw-1.c,
gcc.target/powerpc/405-nmachhw-2.c,
gcc.target/powerpc/405-nmaclhw-1.c,
gcc.target/powerpc/405-nmaclhw-2.c,
gcc.target/powerpc/440-macchw-1.c,
gcc.target/powerpc/440-macchw-2.c,
gcc.target/powerpc/440-macchwu-1.c,
gcc.target/powerpc/440-macchwu-2.c,
gcc.target/powerpc/440-machhw-1.c,
gcc.target/powerpc/440-machhw-2.c,
gcc.target/powerpc/440-machhwu-1.c,
gcc.target/powerpc/440-machhwu-2.c,
gcc.target/powerpc/440-maclhw-1.c,
gcc.target/powerpc/440-maclhw-2.c,
gcc.target/powerpc/440-maclhwu-1.c,
gcc.target/powerpc/440-maclhwu-2.c,
gcc.target/powerpc/440-mulchw-1.c,
gcc.target/powerpc/440-mulchw-2.c,
gcc.target/powerpc/440-mulchwu-1.c,
gcc.target/powerpc/440-mulchwu-2.c,
gcc.target/powerpc/440-mulhhw-1.c,
gcc.target/powerpc/440-mulhhw-2.c,
gcc.target/powerpc/440-mulhhwu-1.c,
gcc.target/powerpc/440-mulhhwu-2.c,
gcc.target/powerpc/440-mullhw-1.c,
gcc.target/powerpc/440-mullhw-2.c,
gcc.target/powerpc/440-mullhwu-1.c,
gcc.target/powerpc/440-mullhwu-2.c,
gcc.target/powerpc/440-nmacchw-1.c,
gcc.target/powerpc/440-nmacchw-2.c,
gcc.target/powerpc/440-nmachhw-1.c,
gcc.target/powerpc/440-nmachhw-2.c,
gcc.target/powerpc/440-nmaclhw-1.c,
gcc.target/powerpc/440-nmaclhw-2.c: New tests.
From-SVN: r107344
Benjamin Kosnik [Tue, 22 Nov 2005 00:19:07 +0000 (00:19 +0000)]
del_op.cc: Include c++config.h first.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/del_op.cc: Include c++config.h first.
* libsupc++/eh_alloc.cc: Same.
* libsupc++/new_opv.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/new_op.cc: Same.
* libsupc++/del_opv.cc: Same.
* libsupc++/eh_catch.cc: Same.
* libsupc++/guard.cc: Same.
* libsupc++/del_opnt.cc: Same.
* libsupc++/eh_exception.cc: Same.
* libsupc++/new_opvnt.cc: Same.
* libsupc++/eh_term_handler.cc: Same.
* libsupc++/eh_personality.cc: Same.
* libsupc++/eh_call.cc: Same.
* libsupc++/new_opnt.cc: Same.
* libsupc++/del_opvnt.cc: Same.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
* libsupc++/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Same.
From-SVN: r107343
GCC Administrator [Tue, 22 Nov 2005 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107340
Joel Sherrill [Mon, 21 Nov 2005 23:31:50 +0000 (23:31 +0000)]
socket.c: Add extern int h_errno for rtems since networking header files are not...
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* socket.c: Add extern int h_errno for rtems since networking header
files are not available at this point in a tool bootstrap. Newlib
only has basic C library header files.
From-SVN: r107331
Joel Sherrill [Mon, 21 Nov 2005 22:56:34 +0000 (22:56 +0000)]
rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC which matches behavior of gcc 4.0...
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
which matches behavior of gcc 4.0 and older for RTEMS targets. The
default now includes a linker group which makes the RTEMS one nest.
From-SVN: r107329
Jakub Jelinek [Mon, 21 Nov 2005 22:03:56 +0000 (23:03 +0100)]
re PR fortran/14943 (read/write code generation is not thread safe)
gcc/fortran/
PR fortran/14943
PR fortran/21647
* Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def.
* dump-parse-tree.c (gfc_show_code_node): Dump c->block for
EXEC_{READ,WRITE,IOLENGTH} nodes.
* io.c (terminate_io, match_io, gfc_match_inquire): Put data
transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block.
* resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}.
* trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor,
ioparm_list_format, ioparm_library_return, ioparm_iostat,
ioparm_exist, ioparm_opened, ioparm_number, ioparm_named,
ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in,
ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len,
ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len,
ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len,
ioparm_position, ioparm_position_len, ioparm_action,
ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad,
ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance,
ioparm_advance_len, ioparm_name, ioparm_name_len,
ioparm_internal_unit, ioparm_internal_unit_len,
ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len,
ioparm_direct, ioparm_direct_len, ioparm_formatted,
ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len,
ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len,
ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name,
ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg,
ioparm_iomsg_len, ioparm_var): Remove.
(enum ioparam_type, enum iofield_type, enum iofield,
enum iocall): New enums.
(gfc_st_parameter_field, gfc_st_parameter): New typedefs.
(st_parameter, st_parameter_field, iocall): New variables.
(ADD_FIELD, ADD_STRING): Remove.
(dt_parm, dt_post_end_block): New variables.
(gfc_build_st_parameter): New function.
(gfc_build_io_library_fndecls): Use it. Initialize iocall
array rather than ioparm_*, add extra first arguments to
the function types.
(set_parameter_const): New function.
(set_parameter_value): Add type argument, return a bitmask.
Changed to set a field in automatic structure variable rather
than set a field in a global _gfortran_ioparm variable.
(set_parameter_ref): Likewise. If requested var has different
size than what field should point to, call with a temporary and
then copy into the user variable. Add postblock argument.
(set_string): Remove var_len argument, add type argument, return
a bitmask. Changed to set fields in automatic structure variable
rather than set a field in a global _gfortran_ioparm variable.
(set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments,
add var argument. Return a bitmask. Changed to set fields in
automatic structure variable rather than set a field in a global
_gfortran_ioparm variable.
(set_flag): Removed.
(io_result): Add var argument. Changed to read common.flags field
from automatic structure variable and bitwise AND it with 3.
(set_error_locus): Add var argument. Changed to set fields in
automatic structure variable rather than set a field in a global
_gfortran_{filename,line} variables.
(gfc_trans_open): Use gfc_start_block rather than gfc_init_block.
Create a temporary st_parameter_* structure. Adjust callers of
all above mentioned functions. Pass address of the temporary
variable as first argument to the generated function call.
Use iocall array rather than ioparm_* separate variables.
(gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise.
(build_dt): Likewise. Change first argument to tree from tree *.
Don't dereference code->ext.dt if last_dt == INQUIRE. Emit
IOLENGTH argument setup here. Set dt_parm/dt_post_end_block
variables and gfc_trans_code the nested data transfer commands
in code->block.
(gfc_trans_iolength): Just set last_dt and call build_dt immediately.
(transfer_namelist_element): Pass address of dt_parm variable
to generated functions. Use iocall array rather than ioparm_*
separate variables.
(gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind,
gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array
rather than ioparm_* separate variables.
(gfc_trans_dt_end): Likewise. Pass address of dt_parm variable
as first argument to generated function. Adjust io_result caller.
Prepend dt_post_end_block before io_result code.
(transfer_expr): Use iocall array rather than ioparm_* separate
variables. Pass address of dt_parm variables as first argument
to generated functions.
* ioparm.def: New file.
gcc/testsuite/
PR fortran/24774
* gfortran.dg/inquire_9.f90: New test.
PR fortran/21647
* gfortran.fortran-torture/execute/inquire_5.f90: New test.
libgfortran/
PR fortran/24774
PR fortran/14943
PR fortran/21647
* Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths,
add -D_GNU_SOURCE.
* Makefile.in: Regenerated.
* acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD,
LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros.
* configure.ac: Add them.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1.
* libgfortran.h (library_start, show_locus, internal_error,
generate_error, find_option): Add st_parameter_common * argument.
(library_end): Change into a dummy macro.
* io/io.h: Include gthr.h.
(SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK.
(CHARACTER): Remove define.
(st_parameter, global_t): Remove typedef.
(ioparm, g, ionml, current_unit): Remove variables.
(init_error_stream): Remove prototype.
(CHARACTER1, CHARACTER2): Define.
(st_parameter_common, st_parameter_open, st_parameter_close,
st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New
typedefs.
(IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR,
IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END,
IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK,
IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS,
IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK,
IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION,
IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS,
IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED,
IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED,
IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT,
IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS,
IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK,
IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION,
IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD,
IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL,
IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED,
IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ,
IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE,
IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE,
IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH,
IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE,
IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME,
IOPARM_DT_IONML_SET): Define.
(gfc_unit): Add lock, waiting and close fields. Change file
from flexible array member into pointer to char.
(open_external): Add st_parameter_open * argument.
(find_file, file_exists): Add file and file_len arguments.
(flush_all_units): New prototype.
(max_offset, unit_root, unit_lock): New variable.
(is_internal_unit, is_array_io, next_array_record,
parse_format, next_format, unget_format, format_error,
read_block, write_block, next_record, convert_real,
read_a, read_f, read_l, read_x, read_radix, read_decimal,
list_formatted_read, finish_list_read, namelist_read,
namelist_write, write_a, write_b, write_d, write_e, write_en,
write_es, write_f, write_i, write_l, write_o, write_x, write_z,
list_formatted_write, get_unit): Add st_parameter_dt * argument.
(insert_unit): Remove prototype.
(find_or_create_unit, unlock_unit): New prototype.
(new_unit): Return gfc_unit *. Add st_parameter_open *
and gfc_unit * arguments.
(free_fnodes): Remove prototype.
(free_format_data): New prototype.
(scratch): Remove.
(init_at_eol): Remove prototype.
(free_ionml): New prototype.
(inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked):
New inline functions.
* io/unit.c (max_offset, unit_root, unit_lock): New variables.
(insert): Adjust os_error caller.
(insert_unit): Made static. Allocate memory here, initialize
lock and after inserting it return it, locked.
(delete_unit): Adjust for deletion of g.
(find_unit_1): New function.
(find_unit): Use it.
(find_or_create_unit): New function.
(get_unit): Add dtp argument, change meaning of the int argument
as creation request flag. Adjust for different st_* calling
conventions, lock internal unit's lock before returning it
and removal of g. Call find_unit_1 instead of find_unit.
(is_internal_unit, is_array_io): Add dtp argument, adjust for
removal of most of global variables.
(init_units): Initialize unit_lock. Adjust insert_unit callers
and adjust for g removal.
(close_unit_1): New function.
(close_unit): Use it.
(unlock_unit): New function.
(close_units): Lock unit_lock, use close_unit_1 rather than
close_unit.
* io/close.c (st_close): Add clp argument. Adjust for new
st_* calling conventions and internal function API changes.
* io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush):
Add fpp argument. Adjust for new st_* calling conventions and
internal function API changes.
(formatted_backspace, unformatted_backspace): Likewise. Add
u argument.
* io/open.c (edit_modes, st_open): Add opp argument. Adjust for
new st_* calling conventions and internal function API changes.
(already_open): Likewise. If not HAVE_UNLINK_OPEN_FILE, unlink
scratch file. Instead of calling close_unit just call sclose,
free u->file if any and clear a few u fields before calling
new_unit.
(new_unit): Return gfc_unit *. Add opp and u arguments.
Adjust for new st_* calling conventions and internal function
API changes. Don't allocate unit here, rather than work with
already created unit u already locked on entry. In case
of failure, close_unit it.
* io/unix.c: Include unix.h.
(BUFFER_SIZE, unix_stream): Moved to unix.h.
(unit_to_fd): Add unlock_unit call.
(tempfile): Add opp argument, use its fields rather than ioparm.
(regular_file): Likewise.
(open_external): Likewise. Only unlink file if fd >= 0.
(init_error_stream): Add error argument, set structure it points
to rather than filling static variable and returning its address.
(FIND_FILE0_DECL, FIND_FILE0_ARGS): Define.
(find_file0): Use them. Don't crash if u->s == NULL.
(find_file): Add file and file_len arguments, use them instead
of ioparm. Add locking. Pass either an array of 2 struct stat
or file and file_len pair to find_file0.
(flush_all_units_1, flush_all_units): New functions.
(file_exists): Add file and file_len arguments, use them instead
of ioparm.
* io/unix.h: New file.
* io/lock.c (ioparm, g, ionml): Remove variables.
(library_start): Add cmp argument, adjust for new st_* calling
conventions.
(library_end): Remove.
(free_ionml): New function.
* io/inquire.c (inquire_via_unit, inquire_via_filename,
st_inquire): Add iqp argument, adjust for new st_* calling
conventions and internal function API changes.
* io/format.c (FARRAY_SIZE): Decrease to 64.
(fnode_array, format_data): New typedefs.
(avail, array, format_string, string, error, saved_token, value,
format_string_len, reversion_ok, saved_format): Remove variables.
(colon_node): Add const.
(free_fnode, free_fnodes): Remove.
(free_format_data): New function.
(next_char, unget_char, get_fnode, format_lex, parse_format_list,
format_error, parse_format, revert, unget_format, next_test): Add
fmt or dtp arguments, pass it all around, adjust for internal
function API changes and adjust for removal of global variables.
(next_format): Likewise. Constify return type.
(next_format0): Constify return type.
* io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos,
skips, pending_spaces, scratch, line_buffer, advance_status,
transfer): Remove variables.
(transfer_integer, transfer_real, transfer_logical,
transfer_character, transfer_complex, transfer_array, current_mode,
read_sf, read_block, read_block_direct, write_block,
write_block_direct, unformatted_read, unformatted_write,
type_name, write_constant_string, require_type,
formatted_transfer_scalar, us_read, us_write, pre_position,
data_transfer_init, next_record_r, next_record_w, next_record,
finalize_transfer, iolength_transfer, iolength_transfer_init,
st_iolength, st_iolength_done, st_read, st_read_done, st_write,
st_write_done, st_set_nml_var, st_set_nml_var_dim,
next_array_record): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
* io/list_read.c (repeat_count, saved_length, saved_used,
input_complete, at_eol, comma_flag, last_char, saved_string,
saved_type, namelist_mode, nml_read_error, value, parse_err_msg,
nml_err_msg, prev_nl): Remove variables.
(push_char, free_saved, next_char, unget_char, eat_spaces,
eat_separator, finish_separator, nml_bad_return, convert_integer,
parse_repeat, read_logical, read_integer, read_character,
parse_real, read_complex, read_real, check_type,
list_formatted_read_scalar, list_formatted_read, finish_list_read,
find_nml_node, nml_untouch_nodes, nml_match_name, nml_query,
namelist_read): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
(nml_parse_qualifier): Likewise. Add parse_err_msg argument.
(nml_read_obj): Likewise. Add pprev_nl, nml_err_msg, clow and
chigh arguments.
(nml_get_obj_data): Likewise. Add pprev_nl and nml_err_msg
arguments.
(init_at_eol): Removed.
* io/read.c (convert_real, read_l, read_a, next_char, read_decimal,
read_radix, read_f, read_x): Add dtp argument, pass it all around,
adjust for internal function API changes and removal of global
variables.
(set_integer): Adjust internal_error caller.
* io/write.c (no_leading_blank, nml_delim): Remove variables.
(write_a, calculate_sign, calculate_G_format, output_float,
write_l, write_float, write_int, write_decimal, write_i, write_b,
write_o, write_z, write_d, write_e, write_f, write_en, write_es,
write_x, write_char, write_logical, write_integer, write_character,
write_real, write_complex, write_separator,
list_formatted_write_scalar, list_formatted_write, nml_write_obj,
namelist_write): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
(extract_int, extract_uint, extract_real): Adjust internal_error
callers.
* runtime/fpu.c (_GNU_SOURCE): Don't define here.
* runtime/error.c: Include ../io/unix.h.
(filename, line): Remove variables.
(st_printf): Pass address of a local variable to init_error_stream.
(show_locus): Add cmp argument. Use fields it points to rather than
filename and line variables.
(os_error, runtime_error): Remove show_locus calls.
(internal_error): Add cmp argument. Pass it down to show_locus.
(generate_error): Likewise. Use flags bitmask instead of non-NULL
check for iostat and iomsg parameter presence, adjust for st_*
calling convention changes.
* runtime/stop.c (stop_numeric, stop_string): Remove show_locus
calls.
* runtime/pause.c (pause_numeric, pause_string): Likewise.
* runtime/string.c: Include ../io/io.h.
(find_option): Add cmp argument. Pass it down to generate_error.
* intrinsics/flush.c (recursive_flush): Remove.
(flush_i4, flush_i8): Use flush_all_units. Add unlock_unit
call.
* intrinsics/rand.c: Include ../io/io.h.
(rand_seed_lock): New variable.
(srand, irand): Add locking.
(init): New constructor function.
* intrinsics/random.c: Include ../io/io.h.
(random_lock): New variable.
(random_r4, random_r8, arandom_r4, arandom_r8): Add locking.
(random_seed): Likewise. open failed if fd < 0. Set i correctly.
(init): New constructor function.
* intrinsics/system_clock.c (tp0, t0): Remove.
(system_clock_4, system_clock_8): Don't subtract tp0/t0 from current
time, use just integer arithmetics.
* intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add
unlock_unit calls.
From-SVN: r107328
Ben Elliston [Mon, 21 Nov 2005 21:29:23 +0000 (21:29 +0000)]
cse.c (fold_rtx): Typo fix.
* cse.c (fold_rtx): Typo fix.
(find_comparison_args): Pass the mode of arg1, not arg1 itself.
From-SVN: r107326
Richard Henderson [Mon, 21 Nov 2005 21:27:29 +0000 (13:27 -0800)]
c-common.c, [...]: Revert 2005-11-18 lookup_name patch.
gcc/
* c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
* c-tree.h (lookup_name): Move declaration ...
* c-common.h (lookup_name): ... here.
* config/darwin-c.c: Include c-common.h.
* config/t-darwin: Update dependencies.
gcc/cp/
* cp-objcp-common.h, name-lookup.c, name-lookup.h: Revert 11-18 patch.
* name-lookup.c (lookup_name): Remove prefer_type argument.
(lookup_name_prefer_type): New.
* decl.c (lookup_and_check_tag): Use them.
* pt.c (tsubst_friend_class): Likewise.
(lookup_template_class): Likewise.
(tsubst_copy_and_build): Likewise.
* name-lookup.h (lookup_name_prefer_type): New.
(lookup_name): Remove declaration.
From-SVN: r107325
Ben Elliston [Mon, 21 Nov 2005 20:53:27 +0000 (20:53 +0000)]
optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of explicitly testing GET_MODE_CLASS (x) ==...
* optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
* genopinit.c (gen_insn): Likewise.
* reload.c (find_equiv_reg): Likewise.
* loop.c (load_mems): Likewise.
* rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
* cse.c (find_comparison_args, fold_rtx): Likewise.
* dwarf2out.c (add_const_value_attribute): Likewise.
* expr.c (convert_move): Likewise.
* recog.c (general_operand, register_operand): Likewise.
* reg-stack.c (replace_reg): Likewise.
* tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
* c-common.c (handle_vector_size_attribute): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_relational_operation): Likewise.
(simplify_const_relational_operation): Likewise.
(simplify_immed_subreg): Likewise.
* emit-rtl.c (gen_lowpart_common): Likewise.
* expmed.c (expand_mult): Likewise.
* stor-layout.c (layout_type): Likewise.
From-SVN: r107322
Eric Botcazou [Mon, 21 Nov 2005 20:52:25 +0000 (21:52 +0100)]
re PR libfortran/24432 (Missing symbols)
PR libfortran/24432
* lib/target-supports.exp (check_effective_target_fortran_large_real):
Check that 'cos' is supported.
From-SVN: r107321
Paolo Carlini [Mon, 21 Nov 2005 18:38:05 +0000 (18:38 +0000)]
sso_string_base.h: Minor formatting and stylistic fixes.
2005-11-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
(__sso_string_base<>::_M_get_allocator): Return by const ref.
* include/ext/rc_string_base.h: Likewise.
(__rc_string_base<>::_M_get_allocator): Return by const ref.
(__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
(__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
(__rc_string_base<>::~__rc_string_base,
__rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
_M_mutate): Adjust.
* include/ext/vstring_util.h: Minor stylistic fixes.
From-SVN: r107317
Paolo Bonzini [Mon, 21 Nov 2005 16:38:13 +0000 (16:38 +0000)]
re PR target/24951 (ICE: RTL check: expected code 'const_int', have 'const_double' in output_vec_const_move, at config/rs6000/rs6000.c)
2005-11-21 Paolo Bonzini <bonzini@gnu.org>
PR target/24951
* config/rs6000/rs6000.c (output_vec_const_move): Load cst and
cst2 only for SPE vectors.
From-SVN: r107312
David Edelsohn [Mon, 21 Nov 2005 16:12:32 +0000 (16:12 +0000)]
re PR target/24953 (RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041)
PR target/24953
* config/rs6000/predicates.md (vrsave_operation): Check
UNSPEC_VOLATILE value.
From-SVN: r107311
Paul Thomas [Mon, 21 Nov 2005 16:05:58 +0000 (16:05 +0000)]
re PR fortran/24223 (Gfortran crashes in two places)
2005-11-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24223
* resolve.c (resolve_contained_fntype) Error if an internal
function is assumed character length.
PR fortran/24705
* trans-decl.c (gfc_create_module_variable) Skip ICE in
when backend decl has been built and the symbol is marked
as being in an equivalence statement.
2005-11-21 Paul Thomas <pault@gcc.gnu.org
PR fortran/24223
* gfortran.dg/substring_equivalence.f90: New test.
PR fortran/24705
* gfortran.dg/auto_internal_assumed.f90: New test.
From-SVN: r107310
Jan Hubicka [Mon, 21 Nov 2005 13:14:02 +0000 (14:14 +0100)]
re PR tree-optimization/24653 (EON regressed seriously on x86-64)
PR tree-optimization/24653
* tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
From-SVN: r107304
Uros Bizjak [Mon, 21 Nov 2005 07:55:31 +0000 (08:55 +0100)]
predicates.md (ax_reg_operand): New predicate.
* config/i386/predicates.md (ax_reg_operand): New predicate.
(memory_displacement_only_operand): New predicate.
* config/i386/i386.md ("modrm" attribute): Return 0 if one
operand is AX register and the other operand is memory operand
with displacement only.
From-SVN: r107283
Uros Bizjak [Mon, 21 Nov 2005 07:49:47 +0000 (08:49 +0100)]
fold-const.c (fold_binary): Optimize A / A to 1.0 if we don't care about NaNs or Infinities.
* fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
if we don't care about NaNs or Infinities.
testsuite:
* gcc.dg/fold-div-2.c: New test.
From-SVN: r107282
Ian Lance Taylor [Mon, 21 Nov 2005 05:41:36 +0000 (05:41 +0000)]
re PR rtl-optimization/24883 (fatal error: internal consistency failure building xorg-x11)
./: PR rtl-optimization/24883
* combine.c (combinable_i3pat): When checking whether the
destination of i3 is used in i3, consider paradoxical subregs.
testsuite/:
PR rtl-optimization/24883
* gcc.c-torture/compile/pr24883.c: New test.
From-SVN: r107279
Kazu Hirata [Mon, 21 Nov 2005 04:41:38 +0000 (04:41 +0000)]
re PR rtl-optimization/20583 (ICE in output_operand: invalid expression as operand)
gcc/
PR middle-end/20583
* cse.c (cse_insn): Reject invalid forms of CONST earlier.
gcc/testsuite/
PR middle-end/20583
* gcc.c-torture/compile/pr20583.c: New.
From-SVN: r107278
Ben Elliston [Mon, 21 Nov 2005 02:21:37 +0000 (02:21 +0000)]
Import from Autoconf sources:
2005-09-06 Paul Eggert <eggert@cs.ucla.edu>
* config/move-if-change: Don't output "$2 is unchanged";
suggested by Ben Elliston. Handle weird characters correctly.
From-SVN: r107275
Joseph Myers [Mon, 21 Nov 2005 01:19:00 +0000 (01:19 +0000)]
combine.c (try_combine): Do not run subst on i1src and i2src in the case of generating a PARALLEL for a...
* combine.c (try_combine): Do not run subst on i1src and i2src in
the case of generating a PARALLEL for a comparison.
From-SVN: r107273
Richard Henderson [Mon, 21 Nov 2005 00:51:39 +0000 (16:51 -0800)]
re PR tree-optimization/24931 (uninitialized structure member after assignment)
PR 24931
* tree-sra.c (struct sra_elt): Add all_no_warning.
(struct sra_walk_fns) <use>: Add use_all argument.
(sra_walk_expr): Pass it.
(sra_walk_modify_expr): Likewise.
(scalarize_ldst): Likewise.
(scan_use): Update for new argument.
(mark_no_warning): New.
(scalarize_use): Use it.
From-SVN: r107271
GCC Administrator [Mon, 21 Nov 2005 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107268
Richard Henderson [Sun, 20 Nov 2005 20:35:17 +0000 (12:35 -0800)]
Makefile.am: Revert 2005-11-14 change.
* Makefile.am: Revert 2005-11-14 change. Enable -free-vectorize
via gmake per-target variables.
* Makefile.in, aclocal.m4: Regenerate.
From-SVN: r107261
Bernd Schmidt [Sun, 20 Nov 2005 18:49:18 +0000 (18:49 +0000)]
expr.c (expand_expr_real): Use usmul_optab for widening signed * unsigned multiplies.
* expr.c (expand_expr_real): Use usmul_optab for widening
signed * unsigned multiplies.
* genopinit.c (optabs): Add usmul_widen_optab.
* optabs.c (init_optabs): Likewise.
* optabs.h (enum optab_index): Add OTI_usmul_widen.
(usmul_widen_optab): Define.
* config/bfin/bfin.md (usmulhisi3): New pattern.
* doc/md.texi (usmulqihi3, usmulhisi3, usmulsidi3): Document.
From-SVN: r107258
Bernd Schmidt [Sun, 20 Nov 2005 18:25:59 +0000 (18:25 +0000)]
usmul.c: New test.
* gcc.c-torture/execute/usmul.c: New test.
From-SVN: r107257
Joseph Myers [Sun, 20 Nov 2005 18:08:13 +0000 (18:08 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r107256
Joseph Myers [Sun, 20 Nov 2005 18:07:15 +0000 (18:07 +0000)]
* gcc.pot: Regenerate.
From-SVN: r107255
Graham Stott [Sun, 20 Nov 2005 15:02:13 +0000 (15:02 +0000)]
gensupport.c (std_preds): Fixed extraneous `false` in last change.
* gensupport.c (std_preds): Fixed extraneous `false` in last change.
From-SVN: r107252
David Ayers [Sun, 20 Nov 2005 12:49:41 +0000 (13:49 +0100)]
re PR libobjc/19024 (name collisions libobjc/libmysqlclient)
2005-11-20 David Ayers <d.ayers@inode.at>
PR libobjc/19024
* objc/hash.h: Remove deprecated hash API.
* hash_compat.c: Remove.
* Makefile.in: Remove reference to hash_compat.c.
* configure.ac (VERSION): Bump library version to 2:0:0.
* configure: Regenerate.
From-SVN: r107251
Toon Moene [Sun, 20 Nov 2005 10:58:24 +0000 (11:58 +0100)]
invoke.texi: Remove superfluous @item.
2005-11-20 Toon Moene <toon@moene.indiv.nluug.nl>
* invoke.texi: Remove superfluous @item.
From-SVN: r107249
Andreas Schwab [Sun, 20 Nov 2005 10:43:43 +0000 (10:43 +0000)]
re PR target/24757 (__sync_fetch_and_add on ia64)
PR target/24757
* config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
insn.
From-SVN: r107246
Richard Henderson [Sun, 20 Nov 2005 05:37:08 +0000 (21:37 -0800)]
re PR tree-optimization/24665 (internal compiler error: get_indirect_ref_operands)
PR tree-opt/24665
* tree-gimple.c (is_gimple_id): Export.
* tree-gimple.h (is_gimple_id): Declare.
* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
(get_default_value): Use it.
(maybe_fold_stmt_indirect): Likewise.
From-SVN: r107244
James A. Morrison [Sun, 20 Nov 2005 05:33:00 +0000 (05:33 +0000)]
tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less than VR1 or vice-versa.
2005-11-19 James A. Morrison <phython@gcc.gnu.org>
* tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
than VR1 or vice-versa.
From-SVN: r107243
GCC Administrator [Sun, 20 Nov 2005 00:17:16 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107240
Hans-Peter Nilsson [Sat, 19 Nov 2005 21:56:17 +0000 (21:56 +0000)]
re PR middle-end/24912 (m68k build failure: ICE: in reload_cse_simplify_operands)
PR middle-end/24912
PR middle-end/24750
* reload.c (find_reloads_address_1): Mention dependency on
gen_reload.
* reload1.c (gen_reload): For IN with an unary operation, try
moving inner expression to OUT if trivial SET is not valid.
Confirm that the result is valid. Move common code block into...
(emit_insn_if_valid_for_reload): New function.
From-SVN: r107231
Hans-Peter Nilsson [Sat, 19 Nov 2005 21:54:26 +0000 (21:54 +0000)]
re PR middle-end/24912 (m68k build failure: ICE: in reload_cse_simplify_operands)
PR middle-end/24912
* gcc.dg/torture/pr24912-1.c: New test.
From-SVN: r107230
Richard Guenther [Sat, 19 Nov 2005 21:40:28 +0000 (21:40 +0000)]
fold-const.c (fold_indirect_ref_1): Make sure we fold ARRAY_REFs of constant strings.
2005-11-19 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_indirect_ref_1): Make sure we fold
ARRAY_REFs of constant strings.
From-SVN: r107229
Janne Blomqvist [Sat, 19 Nov 2005 21:36:06 +0000 (23:36 +0200)]
fortran ChangeLog:
2005-11-19 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/24862
* trans-io.c (gfc_trans_transfer): Handle arrays of derived type.
testsuite ChangeLog:
2005-11-19 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/24862
* gfortran.dg/arrayio_derived_1.f90: New test.
From-SVN: r107228
Jakub Jelinek [Sat, 19 Nov 2005 20:18:31 +0000 (21:18 +0100)]
gcc.c (version_compare_spec_function): Use '%s' rather than %qs in fatal format string.
* gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
fatal format string.
From-SVN: r107226
Richard Guenther [Sat, 19 Nov 2005 17:24:33 +0000 (17:24 +0000)]
re PR ada/23717 ([Ada] Wrong ICE diagnostic formatting)
2005-11-19 Richard Guenther <rguenther@suse.de>
Roger Sayle <roger@eyesopen.com>
PR ada/23717
* misc.c (internal_error_function): Don't use vsprintf to format
the error message text, instead use pp_format_text and the new
pretty printer APIs. This allows handling of %qs, %w, etc.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r107223
Joseph Myers [Sat, 19 Nov 2005 12:32:23 +0000 (12:32 +0000)]
combine.c (make_compound_operation): Swap operands of commutative operation if necessary before returning.
* combine.c (make_compound_operation): Swap operands of
commutative operation if necessary before returning.
From-SVN: r107219
Richard Guenther [Sat, 19 Nov 2005 11:29:10 +0000 (11:29 +0000)]
re PR middle-end/23294 (fold does not fold a*C+a to a*(C+1) or a*C-a to a*(C-1))
2005-11-19 Richard Guenther <rguenther@suse.de>
PR middle-end/23294
* fold-const.c (fold_plusminus_mult_expr): New function.
(fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
cases, remove now unnecessary code.
* gcc.dg/tree-ssa/pr23294.c: New testcase.
From-SVN: r107218
Eric Botcazou [Sat, 19 Nov 2005 10:00:42 +0000 (10:00 +0000)]
Add comment.
From-SVN: r107217
Hans-Peter Nilsson [Sat, 19 Nov 2005 08:39:25 +0000 (08:39 +0000)]
* gcc.dg/fold-overflow-1.c: Adjust for float output for mmix-*-*.
From-SVN: r107216
Paolo Bonzini [Sat, 19 Nov 2005 08:36:57 +0000 (08:36 +0000)]
gensupport.c (old_preds): Rename to std_preds, add special field.
2005-11-19 Paolo Bonzini <bonzini@gcc.gnu.org>
* gensupport.c (old_preds): Rename to std_preds, add special field.
(struct old_pred_table): Rename to struct std_pred_table, add special
field.
(NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
(NUM_OLD_SPECIAL_MODE_PREDS): Remove.
(init_predicate_table): Adjust, and set along the way whether a
predicate is special.
From-SVN: r107215
Hans-Peter Nilsson [Sat, 19 Nov 2005 08:35:22 +0000 (08:35 +0000)]
Remove conflict markers
From-SVN: r107214
Mark Mitchell [Sat, 19 Nov 2005 05:10:19 +0000 (05:10 +0000)]
* crontab: Add 4.1 branch entry.
From-SVN: r107213
Mark Mitchell [Sat, 19 Nov 2005 05:09:00 +0000 (05:09 +0000)]
* BASE-VER: Change to 4.2.0.
From-SVN: r107212
Mark Mitchell [Sat, 19 Nov 2005 02:25:55 +0000 (02:25 +0000)]
re PR c++/8355 (befriending a template specialization in another namespace)
PR c++/8355
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
set_decl_namespace.
* name-lookup.c (set_decl_namespace):
PR c++/8355
* g++.dg/template/friend39.C: New test.
From-SVN: r107207
James E Wilson [Sat, 19 Nov 2005 02:25:25 +0000 (18:25 -0800)]
Fix spurious warning for strstr (s, "").
* builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
returning it.
* gcc.dg/builtin-strstr.c: New.
From-SVN: r107206
Richard Henderson [Sat, 19 Nov 2005 02:19:43 +0000 (18:19 -0800)]
20010423-1.c, [...]: Move from gcc.dg/.
* gcc.target/ia64/
20010423-1.c, gcc.target/ia64/
20020313-1.c,
gcc.target/ia64/
20020326-1.c, gcc.target/ia64/
20030225-2.c,
gcc.target/ia64/
20030405-1.c, gcc.target/ia64/
20030811-1.c,
gcc.target/ia64/
20040303-1.c: Move from gcc.dg/.
* gcc.target/ia64/asm-1.c, gcc.target/ia64/float80-1.c,
gcc.target/ia64/float80-2.c, gcc.target/ia64/got-1.c,
gcc.target/ia64/postinc-1.c, gcc.target/ia64/types-1.c,
gcc.target/ia64/types-2.c, gcc.target/ia64/visibility-1.c,
gcc.target/ia64/visibility-2.c: Move from gcc.dg/, with
renaming to remove initial "ia64-".
From-SVN: r107205
GCC Administrator [Sat, 19 Nov 2005 00:17:23 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107202
Mike Stump [Fri, 18 Nov 2005 23:40:29 +0000 (23:40 +0000)]
c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
* c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
* config/darwin-c.c (darwin_pragma_unused): Likewise.
* c-decl.c (lookup_name_two) Remove.
* c-tree.h (lookup_name_two): Remove.
* c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
* langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
(LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
* langhooks.h (lang_hooks_for_decls): Add lookup_name.
cp:
* cp-objcp-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
* name-lookup.c (lookup_name_two): Remove.
(lookup_name_one): Add.
* name-lookup.h (lookup_name_two): Remove.
(lookup_name_one): Add.
From-SVN: r107196
Andreas Tobler [Fri, 18 Nov 2005 22:53:08 +0000 (23:53 +0100)]
ltcf-c.sh (whole_archive_flag_spec): Remove '-all_load $convenience' to match upstream libtool for darwin.
2005-11-18 Andreas Tobler <a.tobler@schweiz.ch>
* ltcf-c.sh (whole_archive_flag_spec): Remove '-all_load $convenience'
to match upstream libtool for darwin.
From-SVN: r107192
Eric Botcazou [Fri, 18 Nov 2005 21:09:05 +0000 (21:09 +0000)]
run_all.sh (target_run): Revert 2005-11-17 patch.
* ada/acats/run_all.sh (target_run): Revert 2005-11-17 patch.
From-SVN: r107190
Richard Earnshaw [Fri, 18 Nov 2005 17:59:37 +0000 (17:59 +0000)]
re PR target/24914 (gcc fails when built with --with-cpu=ep9312 --with-fpu=maverick)
PR target/24914
* arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
when not generating code to use that co-processor.
From-SVN: r107187
James A. Morrison [Fri, 18 Nov 2005 16:48:31 +0000 (16:48 +0000)]
tree-flow.h (reserve_phi_args_for_new_edge, [...]): Mention that these functions are now in tree-phinodes.c.
2005-11-18 James A. Morrison <phython@gcc.gnu.org>
* tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that these functions are now in tree-phinodes.c.
From-SVN: r107185
Jie Zhang [Fri, 18 Nov 2005 14:15:11 +0000 (14:15 +0000)]
* config/bfin/bfin.md (trap): New pattern.
From-SVN: r107184
Richard Kenner [Fri, 18 Nov 2005 13:32:05 +0000 (13:32 +0000)]
tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds on types.
* tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
on types.
From-SVN: r107182
Richard Kenner [Fri, 18 Nov 2005 13:25:20 +0000 (08:25 -0500)]
Fix typo in last change.
From-SVN: r107181
Richard Kenner [Fri, 18 Nov 2005 13:22:55 +0000 (13:22 +0000)]
expr.c (expand_expr_real): Don't look at EXPR_HAS_LOCATION unless ib_boundaries_block is non-null
* expr.c (expand_expr_real): Don't look at EXPR_HAS_LOCATION unless
ib_boundaries_block is non-null
From-SVN: r107180
Richard Kenner [Fri, 18 Nov 2005 13:14:39 +0000 (13:14 +0000)]
* postreload.c (reload_cse_move2add): Don't try to work with BImode.
From-SVN: r107179
Richard Kenner [Fri, 18 Nov 2005 13:07:06 +0000 (13:07 +0000)]
fold-const.c (build_range_check): Use proper type for subtraction when merging lower bound.
* fold-const.c (build_range_check): Use proper type for subtraction
when merging lower bound.
From-SVN: r107178
Paolo Carlini [Fri, 18 Nov 2005 11:50:22 +0000 (11:50 +0000)]
rc_string_base.h (__rc_string_base<>::_Rep): Avoid the anonymous struct extension, adjust everywhere.
2005-11-18 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
anonymous struct extension, adjust everywhere.
* include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
Just use a static member.
(__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use anonymous
union together with _CharT to fix alignment issues, rebind to _Rep and
rename _Raw_alloc to _Rep_alloc_type.
(__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
* include/ext/vstring_util.h (__is_null_p): Move inside struct
__vstring_utility as static _S_is_null_pointer.
* include/ext/sso_string.h
(__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
* include/ext/rc_string_base.h
(__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
Implement Option 3 of DR 431 for ext/vstring - both available bases.
* include/bits/cpp_type_traits.h (struct __is_empty): Add.
* include/ext/vstring.h (__versa_string<>::swap): Delegate to
this->_M_swap.
* include/ext/vstring.tcc (__versa_string<>::swap): Remove.
* include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
_Alloc_hider<>, augmented of allocator swapping facility, specialized
to nop for empty allocators.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
(__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Likewise.
(__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
Return void.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
Likewise.
From-SVN: r107176
Laurent GUERBY [Fri, 18 Nov 2005 11:44:20 +0000 (11:44 +0000)]
re PR ada/24857 (ada/s-auxdec.ads alignment issue for arm-rtems)
2005-11-18 Laurent GUERBY <laurent@guerby.net>
PR ada/24857
* Makefile.in: Use s-auxdec-empty for RTEMS.
From-SVN: r107175
Joseph Myers [Fri, 18 Nov 2005 11:06:56 +0000 (11:06 +0000)]
* g++.dg/cpp/string-2.C: New test.
From-SVN: r107174
Francois-Xavier Coudert [Fri, 18 Nov 2005 10:51:57 +0000 (11:51 +0100)]
configure.ac: Add "-I ." to the AM_FCFLAGS.
* configure.ac: Add "-I ." to the AM_FCFLAGS.
* configure: Regenerate.
From-SVN: r107172
Zdenek Dvorak [Fri, 18 Nov 2005 10:31:45 +0000 (11:31 +0100)]
re PR rtl-optimization/24497 (internal compiler error: in apply_opt_in_copies, at loop-unroll.c:2122)
PR rtl-optimization/24497
* loop-unroll.c (apply_opt_in_copies): Do not verify equality of
the copied insn.
From-SVN: r107171
Zdenek Dvorak [Fri, 18 Nov 2005 10:27:50 +0000 (11:27 +0100)]
tree-scalar-evolution.c (expression_expensive_p): New function.
* tree-scalar-evolution.c (expression_expensive_p): New function.
(scev_const_prop): Use compute_overall_effect_of_inner_loop.
* gcc.dg/tree-ssa/loop-14.c: New test.
From-SVN: r107170
Bernd Schmidt [Fri, 18 Nov 2005 09:09:24 +0000 (09:09 +0000)]
Add missing file.
From-SVN: r107165
James A. Morrison [Fri, 18 Nov 2005 06:13:07 +0000 (06:13 +0000)]
run_all.sh (target_run): Kill long running tests.
2005-11-17 James A. Morrison <phython@gcc.gnu.org>
Michael Chamberlain <michael@chamberlain.net.au>
* ada/acats/run_all.sh (target_run): Kill long running tests.
Co-Authored-By: Michael Chamberlain <michael@chamberlain.net.au>
From-SVN: r107161