Paul Thomas [Mon, 13 Feb 2006 21:22:55 +0000 (21:22 +0000)]
re PR fortran/26074 (Module array cannot be automatic or assumed shape)
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* resolve.c (resolve_symbol): Extend the requirement that module
arrays have constant bounds to those in the main program. At the
same time simplify the array bounds, to avoiding trapping parameter
array references, and exclude automatic character length from main
and modules. Rearrange resolve_symbol and resolve_derived to put as
each flavor together, as much as is possible and move all specific
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
functions.
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
New functions to do work of resolve_symbol.
(resolve_index_expr): New function that is called from resolved_symbol
and is extracted from resolve_charlen.
(resolve_charlen): Call this new function.
(resolve_fl_derived): Renamed resolve_derived to be consistent with
the naming of the new functions for the other flavours. Change the
charlen checking so that the style is consistent with other similar
checks. Add the generation of the gfc_dt_list, removed from resolve_
symbol.
PR fortran/20861
* resolve.c (resolve_actual_arglist): Prevent internal procedures
from being dummy arguments.
PR fortran/20871
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
procedures from being dummy arguments.
PR fortran/25083
* resolve.c (check_data_variable): Add test that data variable is in
COMMON.
PR fortran/25088
* resolve.c (resolve_call): Add test that the subroutine does not
have a type.
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* gfortran.dg/module_parameter_array_refs_1.f90: New test.
* gfortran.dg/bad_automatic_objects_1.f90: New test.
* gfortran.dg/automatic_module_variable.f90: Change error message.
PR fortran/20861
* gfortran.dg/internal_dummy_1.f90: New test.
PR fortran/20871
* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.
PR fortran/25083
* gfortran.dg/uncommon_block_data_1.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
with standard.
PR fortran/25088
* gfortran.dg/typed_subroutine_1.f90: New test.
From-SVN: r110926
Geoffrey Keating [Mon, 13 Feb 2006 21:17:59 +0000 (21:17 +0000)]
Index: gcc/ChangeLog
2006-02-13 Geoffrey Keating <geoffk@apple.com>
* dwarf2out.c (base_type_die): Don't add AT_name here.
(subrange_type_die): Don't add AT_name here.
(modified_type_die): Rearrange code flow. Do add AT_name here.
Index: gcc/testsuite/ChangeLog
2006-02-13 Geoffrey Keating <geoffk@apple.com>
* objc.dg/dwarf-1.m: New.
From-SVN: r110925
Zdenek Dvorak [Mon, 13 Feb 2006 20:27:44 +0000 (21:27 +0100)]
re PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant)
PR rtl-optimization/26247
PR rtl-optimization/26248
* loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
From-SVN: r110924
Richard Sandiford [Mon, 13 Feb 2006 19:56:21 +0000 (19:56 +0000)]
floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
* config/fixtfdi.c: Likewise.
* config/fixunstfdi.c: Likewise.
* config/floatditf.c: Likewise.
From-SVN: r110923
Roger Sayle [Mon, 13 Feb 2006 18:33:32 +0000 (18:33 +0000)]
re PR middle-end/24427 (missing optimization opportunity with binary operators)
PR middle-end/24427
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
into (X,C2) if C1 is a subset of the bits of C2. Transform
(X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as
(X&(C1&~C2))|C2.
<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
* gcc.dg/tree-ssa/andor-1.c: New test case.
From-SVN: r110918
Josh Conner [Mon, 13 Feb 2006 18:12:17 +0000 (18:12 +0000)]
re PR target/25376 (section attribute doesn't work on darwin)
PR target/25376
* varasm.c (function_section): Check for section name before
calling select_section on targets that define
USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use
unlikely_text_section instead of hot_function_section if
first_function_block_is_cold.
* gcc.dg/pr25376.c: New test.
* gcc.c-torture/compile/pr23237.c: Only compile test -- don't
assemble.
* lib/target-supports.exp (check_named_sections_available):
Only compile named-sections test -- don't assemble.
From-SVN: r110917
Joern Rennecke [Mon, 13 Feb 2006 15:32:57 +0000 (15:32 +0000)]
Add PR marker for:
PR middle-end/25335
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
From-SVN: r110916
J"orn Rennecke [Mon, 13 Feb 2006 15:31:31 +0000 (15:31 +0000)]
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
From-SVN: r110915
Zdenek Dvorak [Mon, 13 Feb 2006 11:21:23 +0000 (12:21 +0100)]
re PR rtl-optimization/26222 (build failuring in libjava)
PR rtl-optimization/26222
* function.c (assign_stack_temp_for_type): Do not reuse stack slots
after tree->rtl expansion.
* loop-invariant.c (move_invariant_reg): Use force_operand on rhs
before passing it to emit_move_insn.
From-SVN: r110912
Volker Reichelt [Mon, 13 Feb 2006 10:29:31 +0000 (10:29 +0000)]
re PR c++/26151 (duplicate 'duplicate' diagnostic)
PR c++/26151
* parser.c (cp_parser_decl_specifier_seq): Check for duplicate
decl-specifiers. Remove extra check for duplicate 'friend'.
* decl.c (grokdeclarator): Remove check for duplicate
decl-specifiers. Set longlong together with long_p.
From-SVN: r110911
Roger Sayle [Mon, 13 Feb 2006 02:33:37 +0000 (02:33 +0000)]
re PR libgomp/25936 (libgomp needs to link against rt on HPUX)
2006-02-12 Roger Sayle <roger@eyesopen.com>
John David Anglin <dave@hiauly1.hia.nrc.ca>
PR libgomp/25936
* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r110908
Gabriel Dos Reis [Mon, 13 Feb 2006 01:57:29 +0000 (01:57 +0000)]
invoke.texi (-Write-strings): Document that it is enabled by default.
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
* doc/invoke.texi (-Write-strings): Document that it is
enabled by
default.
* c.opt (-Wwrite-strings): Declare variable
warn_write_strings.
Clarify documentation.
* c-common.h (warn_write_strings): Remove.
* c-common.c (warn_write_strings): Likewise.
* c-opts.c (c_common_init_options): Enable -Wwrite-strings by
default for C++.
testsuite/
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
* g++.dg/warn/no-write-strings.C: New test.
* g++.dg/warn/write-strings.C: Likewise.
* g++.dg/warn/write-strings-default.C: Likewise.
From-SVN: r110907
Roger Sayle [Mon, 13 Feb 2006 01:55:37 +0000 (01:55 +0000)]
re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches)
PR middle-end/25724
* dojump.c (do_jump): Call do_compare_rtx_and_jump.
(do_jump_parts_zero_rtx): New function renamed from
do_jump_parts_equality_rtx. Made static. Add a mode argument.
(do_jump_parts_equality_rtx): New function split out from
do_jump_parts_equality. Old implementation renamed as above.
Call do_jump_parts_zero_rtx if either operand is zero.
(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
do all of the heavy lifting.
(do_compare_rtx_and_jump): Handle multi-word comparisons by
calling either do_jump_by_parts_greater_rtx or
do_jump_by_parts_equality_rtx.
* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
* expmed.c (do_cmp_and_jump): Now multi-word optimization has
moved to do_compare_rtx_and_jump, call it directly.
* stmt.c (do_jump_if_equal): Remove static prototype. Add a
mode argument. Call do_compare_rtx_and_jump.
(emit_case_nodes): Update calls to do_jump_if_equal.
From-SVN: r110906
GCC Administrator [Mon, 13 Feb 2006 00:17:49 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110904
Zdenek Dvorak [Mon, 13 Feb 2006 00:02:37 +0000 (01:02 +0100)]
re PR rtl-optimization/26225 (GCC error: in emit_move_multi_word, at expr.c:3053)
PR rtl-optimization/26225
* loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
From-SVN: r110898
Zdenek Dvorak [Sun, 12 Feb 2006 22:32:33 +0000 (23:32 +0100)]
re PR rtl-optimization/26232 (cc0 targets broken; loop-invariants-move code doesn't handle cc0.)
PR rtl-optimization/26232
* loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
From-SVN: r110897
Janne Blomqvist [Sun, 12 Feb 2006 19:59:32 +0000 (21:59 +0200)]
re PR libfortran/25949 (Unbounded I/O buffer memory usage for formatted IO)
2006-02-12 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/25949
* io/io.h: Add set function pointer to struct stream.
* io/unix.c (fd_seek): Only update offset, don't seek.
(fd_sset): New function.
(fd_read): Call lseek directly if necessary.
(fd_write): Likewise.
(fd_open): Set pointer to fd_sset.
(mem_set): New function.
(open_internal): Set pointer to mem_set.
* io/transfer.c (write_block_direct): Rename to write_buf, add
error return, non-pointer length argument.
(unformatted_write): Update to use write_buf.
(us_write): Simplify by using swrite instead of salloc_w.
(write_us_marker): New function.
(new_record_w): Use sset instead of memset, use write_us_marker,
simplify by using swrite instead of salloc_w.
From-SVN: r110895
Erik Edelmann [Sun, 12 Feb 2006 17:34:15 +0000 (17:34 +0000)]
re PR fortran/25806 (problems with functions returning array pointers?)
fortran/
2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25806
* trans-array.c (gfc_trans_allocate_array_storage): New argument
dealloc; free the temporary only if dealloc is true.
(gfc_trans_allocate_temp_array): New argument bool dealloc, to be
passed onwards to gfc_trans_allocate_array_storage.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
gfc_trans_allocate_temp_array.
* trans-array.h (gfc_trans_allocate_temp_array): Update function
prototype.
* trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
to gfc_trans_allocate_temp_array to false in case of functions
returning pointers.
(gfc_trans_arrayfunc_assign): Return NULL for functions returning
pointers.
testsuite/
2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25806
* gfortran.dg/ret_pointer_2.f90: New test.
From-SVN: r110893
David Edelsohn [Sun, 12 Feb 2006 16:24:23 +0000 (16:24 +0000)]
configure.in (enable_libgomp): Add AIX.
* configure.in (enable_libgomp): Add AIX.
* configure: Regenerate.
From-SVN: r110892
Paolo Carlini [Sun, 12 Feb 2006 16:09:41 +0000 (16:09 +0000)]
re PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are unformatted input functions)
2006-02-12 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26211
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
27.6.1.3/1.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
From-SVN: r110891
Jason Merrill [Sun, 12 Feb 2006 16:02:00 +0000 (11:02 -0500)]
re PR c++/24996 (ICE on throw code)
PR c++/24996
* except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.
From-SVN: r110889
Jason Merrill [Sun, 12 Feb 2006 08:01:04 +0000 (03:01 -0500)]
re PR tree-optimization/24365 (statement makes a memory store with complex)
PR tree-opt/24365
* tree-inline.c (declare_return_variable): Just don't use the
modify target if it's a gimple complex reg and the return slot
isn't.
From-SVN: r110888
GCC Administrator [Sun, 12 Feb 2006 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110885
Kaveh R. Ghazi [Sat, 11 Feb 2006 19:12:19 +0000 (19:12 +0000)]
contrib.texi: Update my entry.
* doc/contrib.texi: Update my entry.
From-SVN: r110874
Roger Sayle [Sat, 11 Feb 2006 16:50:41 +0000 (16:50 +0000)]
re PR bootstrap/16787 (NAN constant "(0.0/0.0)" cannot be compiled by Tru64 cc)
2006-02-11 Roger Sayle <roger@eyesopen.com>
R. Scott Bailey <scott.bailey@eds.com>
Bill Northcott <w.northcott@unsw.edu.au>
PR bootstrap/16787
* floatformat.c: Include <float.h> where available.
(NAN): Use value of DBL_QNAN if defined, and NAN isn't.
Co-Authored-By: Bill Northcott <w.northcott@unsw.edu.au>
Co-Authored-By: R. Scott Bailey <scott.bailey@eds.com>
From-SVN: r110873
Geoffrey Keating [Sat, 11 Feb 2006 00:31:04 +0000 (00:31 +0000)]
* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
From-SVN: r110865
GCC Administrator [Sat, 11 Feb 2006 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110862
Diego Novillo [Fri, 10 Feb 2006 22:34:42 +0000 (22:34 +0000)]
tree-inline.c (estimate_num_insns_1): Make OpenMP directives expensive.
* tree-inline.c (estimate_num_insns_1): Make OpenMP directives
expensive.
From-SVN: r110853
Zdenek Dvorak [Fri, 10 Feb 2006 21:01:10 +0000 (22:01 +0100)]
invoke.texi (-floop-optimize2): Removed.
* doc/invoke.texi (-floop-optimize2): Removed.
* toplev.c (process_options): Remove handling of flag_loop_optimize2.
* loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
Test flag_branch_on_count_reg only if HAVE_doloop_end.
* common.opt (floop-optimize2): Removed.
(fmove-loop-invariants): Enabled by default.
* gcc.dg/
20050105-1.c: Do not use -floop-optimize2.
From-SVN: r110852
Sebastian Pop [Fri, 10 Feb 2006 20:46:03 +0000 (21:46 +0100)]
tree-if-conv.c (combine_blocks): Free the result of get_loop_exit_edges.
* tree-if-conv.c (combine_blocks): Free the result of
get_loop_exit_edges.
From-SVN: r110850
Jeff Law [Fri, 10 Feb 2006 20:31:19 +0000 (13:31 -0700)]
fold-const.c (tree_expr_nonzero_p): Fix thinko.
* fold-const.c (tree_expr_nonzero_p): Fix thinko.
From-SVN: r110849
Jeff Law [Fri, 10 Feb 2006 19:22:58 +0000 (12:22 -0700)]
re PR tree-optimization/26213 (new (within last few days) infinite loop with -O1)
PR tree-optimization/26213
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
loop trying to follow SSA_NAME_VALUE chains.
* gcc.c-torture/compile/pr26213.c: New test.
From-SVN: r110846
Steven G. Kargl [Fri, 10 Feb 2006 19:01:05 +0000 (19:01 +0000)]
re PR fortran/20858 (NULL doesn't get its argument type (kind))
2006-02-05 Steven G. Kargl <kargls@comcast.net>
PR fortran/20858
*decl.c (variable_decl): Improve error message. Remove initialization
typespec. Wrap long line.
*expr.c (gfc_check_pointer_assign): Permit checking of type, kind type,
and rank.
*simplify.c (gfc_simplify_null): Ensure type, kind type, and rank are set.
gfortran.dg/null_1.f90: New test.
From-SVN: r110845
Paolo Carlini [Fri, 10 Feb 2006 18:29:04 +0000 (18:29 +0000)]
re PR libstdc++/26181 (istream::operator>>(streambuf*) fails to set eofbit)
2006-10-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26181
* include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
the existing __copy_streambufs but reporting eof in input.
(__copy_streambufs): Just use the latter.
* src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
of __copy_streambufs.
* include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
__copy_streambufs_eof instead.
* include/std/std_streambuf.h: Adjust.
* src/streambuf-inst.cc: Adjust.
* config/abi/pre/gnu.ver: Export the new symbols.
* testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
Likewise.
From-SVN: r110841
Tobias Schlüter [Fri, 10 Feb 2006 18:08:27 +0000 (19:08 +0100)]
re PR fortran/14771 (frontend doesn't record parentheses)
fortran/
PR fortran/14771
* arith.c (eval_intrinsic): Accept INTRINSIC_PARENTHESES.
* expr.c (check_intrinsic_op): Likewise.
* module.c (mio_expr): Likewise.
testsuite/
PR fortran/14771
* gfortran.dg/parens_4.f90: New.
* gfortran.dg/parens_5.f90: New.
From-SVN: r110840
Volker Reichelt [Fri, 10 Feb 2006 13:49:19 +0000 (13:49 +0000)]
class.c (debug_class): Remove extern.
* class.c (debug_class): Remove extern.
(debug_thunks): Likewise.
From-SVN: r110836
Richard Guenther [Fri, 10 Feb 2006 13:05:48 +0000 (13:05 +0000)]
tree-dfa.c (get_ref_base_and_extent): When computing maxsize deal with structures that end in implicitly variable...
2006-02-10 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (get_ref_base_and_extent): When computing maxsize
deal with structures that end in implicitly variable sized arrays.
From-SVN: r110834
Richard Guenther [Fri, 10 Feb 2006 09:50:04 +0000 (09:50 +0000)]
pr23372-1.c: Remove empty file.
2006-02-10 Richard Guenther <rguenther@suse.de>
* testsuite/gcc.dg/pr23372-1.c: Remove empty file.
From-SVN: r110833
Tom Tromey [Fri, 10 Feb 2006 01:58:30 +0000 (01:58 +0000)]
* pthread_support.c: Conditionally include dlfcn.h.
From-SVN: r110832
GCC Administrator [Fri, 10 Feb 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110826
Tobias Schlüter [Fri, 10 Feb 2006 00:16:25 +0000 (01:16 +0100)]
dump-parse-tree.c: Update copyright years.
* dump-parse-tree.c: Update copyright years.
* matchexp.c: Likewise.
* module.c: Likewise.
From-SVN: r110820
Tobias Schlüter [Fri, 10 Feb 2006 00:10:47 +0000 (01:10 +0100)]
re PR fortran/14771 (frontend doesn't record parentheses)
fortran/
2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/14771
* gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
* dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
* expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
if it were INTRINSIC_UPLUS.
* resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
* match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
* matchexp.c (match_primary): Record parentheses surrounding
numeric expressions.
* module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
dumping.
* trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.
testsuite/
2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/14771
* gfortran.dg/parens_1.f90: New.
* gfortran.dg/parens_2.f90: New.
* gfortran.dg/parens_3.f90: New.
From-SVN: r110819
Bryce McKinlay [Thu, 9 Feb 2006 23:59:30 +0000 (23:59 +0000)]
Class.h (_Jv_IDispatchTable): Make it a struct.
2006-02-09 Bryce McKinlay <mckinlay@redhat.com>
* java/lang/Class.h (_Jv_IDispatchTable): Make it a struct. Put
'itable' inline, instead of as a pointer.
(java::lang::Class): Put 'idt' in anonymous union with 'ioffsets'.
* link.cc (null_idt): Update definition.
(_Jv_Linker::prepare_constant_time_tables): Allocate klass->idt
as a single struct. Use _Jv_AllocBytes, not _Jv_AllocRawObj.
(_Jv_Linker::generate_itable): Update to use 'ioffsets'.
(_Jv_Linker::find_iindex): Likewise. Update comment.
* java/lang/natClass.cc (_Jv_LookupInterfaceMethodIdx): Update for
_Jv_IDispatchTable change.
(_Jv_IsAssignableFrom): Likewise.
From-SVN: r110818
Paul Thomas [Thu, 9 Feb 2006 23:23:28 +0000 (23:23 +0000)]
re PR fortran/26038 (ICE on allocation of assumed length CHARACTER dummy.)
2006-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26038
* trans-stmt.c (gfc_trans_allocate): Provide assumed character length
scalar with missing backend_decl for the hidden dummy charlen.
PR fortran/25059
* interface.c (gfc_extend_assign): Remove detection of non-PURE
subroutine in assignment interface, with gfc_error, and put it in
* resolve.c (resolve_code).
PR fortran/25070
* interface.c (gfc_procedure_use): Flag rank checking for non-
elemental, contained or interface procedures in call to
(compare_actual_formal), where ranks are checked for assumed
shape arrays..
2006-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26038
* gfortran.dg/allocate_char_star_scalar_1.f90: New test.
PR fortran/25059
* gfortran.dg/impure_assignment_1.f90: New test.
PR fortran/25070
* gfortran.dg/assumed_shape_ranks_1.f90: New test.
From-SVN: r110816
Zdenek Dvorak [Thu, 9 Feb 2006 22:34:23 +0000 (23:34 +0100)]
re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.)
PR rtl-optimization/24762
* df-scan.c (df_bb_refs_record): Record correct registers defined on
eh edges.
From-SVN: r110815
Zdenek Dvorak [Thu, 9 Feb 2006 22:28:23 +0000 (23:28 +0100)]
tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
(struct ivopts_data): Add regs_used field.
(tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
(ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
instead of loop_data->regs_used;
(free_loop_data): Do not free aux fields for loops.
(tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
and tree_ssa_iv_optimize_finalize.
From-SVN: r110813
Kaz Kojima [Thu, 9 Feb 2006 21:03:23 +0000 (21:03 +0000)]
sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
From-SVN: r110812
J"orn Rennecke [Thu, 9 Feb 2006 20:54:12 +0000 (20:54 +0000)]
re PR target/26141 (va_arg causes cc1plus ICE in gimplify_addr_expr)
PR target/26141
gcc:
* sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
computing the effective result type.
gcc/testsuite:
* g++.dg/expr/stdarg2.C: New test.
From-SVN: r110811
J"orn Rennecke [Thu, 9 Feb 2006 19:17:09 +0000 (19:17 +0000)]
re PR inline-asm/16194 (global register with inline-asm and clobered)
PR inline-asm/16194
gcc:
* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
(tree_overlaps_hard_reg_set): Declare.
* stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return
type and signature to match function type expected by walk_tree.
(tree_overlaps_hard_reg_set): New function.
(decl_conflicts_with_clobbers_p): Rename to:
(tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument.
Use tree_overlaps_hard_reg_set. Changed caller.
* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
* cris.c (cris_md_asm_clobbers): Likewise.
gcc/testsuite:
* gcc.dg/pr16194.c: New test.
From-SVN: r110810
Rainer Orth [Thu, 9 Feb 2006 17:29:28 +0000 (17:29 +0000)]
Make-lang.in (check-gnat): Run run_acats with $(SHELL).
ada:
* Make-lang.in (check-gnat): Run run_acats with $(SHELL).
testsuite:
* ada/acats/run_acats: Use portable variant of "$@".
From-SVN: r110807
Bernd Schmidt [Thu, 9 Feb 2006 17:26:41 +0000 (17:26 +0000)]
reload1.c (emit_input_reload_insns): Delete code that tries to inherit using find_equiv_reg.
* reload1.c (emit_input_reload_insns): Delete code that tries to
inherit using find_equiv_reg.
From-SVN: r110806
Gabriel Dos Reis [Thu, 9 Feb 2006 16:28:26 +0000 (16:28 +0000)]
c-common.h (flag_const_strings): Don't declare.
2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
* c-common.h (flag_const_strings): Don't declare.
* c-common.c (flag_const_strings): Remove.
* c.opt (fconst_strings): Remove.
* c-opts.c (c_common_handle_option): Remove
* <OPT_fconst_strings>.
<OPT_Wwrite_strings>: Don't set flag_const_strings.
(c_common_init_options): Don't set flag_const_strings.
* doc/invoke.texi (-fno-const-strings): Remove documentation.
cp/
2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
* typeck.c (string_conv_p): Don't test for flag_const_strings.
testsuite/
2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
* g++.old-deja/g++.benjamin/15351-2.C: Likewise.
* g++.old-deja/g++.benjamin/15351-1.C: Remove.
From-SVN: r110804
Richard Earnshaw [Thu, 9 Feb 2006 15:18:10 +0000 (15:18 +0000)]
arm.md (tlobits_cbranch): New pattern.
* arm.md (tlobits_cbranch): New pattern.
* arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
testing a single bit.
From-SVN: r110803
Andrew Pinski [Thu, 9 Feb 2006 14:31:28 +0000 (14:31 +0000)]
re PR tree-optimization/26179 (ICE while compiling mozilla in tree-ssa-pre.c)
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26179
* g++.dg/opt/pr26179.C: New test.
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/26179
* tree-ssa-pre.c (create_component_ref_by_pieces):
Handle RETURN_DECL like VAR_DECL.
From-SVN: r110801
Andrew Pinski [Thu, 9 Feb 2006 14:13:57 +0000 (14:13 +0000)]
re PR middle-end/26134 (fold *(float*)(&complex_float_var) into REALPART_EXPR<complex_float_var>)
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/26134
* fold-const.c (fold_indirect_ref_1): Fold
"*(foo *)&complexfoo" to "__real__ complexfoo"
and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/26134
* gcc.dg/tree-ssa/complex-3.c: New test.
From-SVN: r110800
Andrew Haley [Thu, 9 Feb 2006 14:05:31 +0000 (14:05 +0000)]
re PR java/26192 (ICE while compiling jar or class file (azureus))
2006-02-09 Andrew Haley <aph@redhat.com>
PR java/26192
* expr.c (expand_invoke): Allow methods in arrays to be resolved
in their superclass.
* typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
array types.
From-SVN: r110799
Andrew Pinski [Thu, 9 Feb 2006 13:53:40 +0000 (13:53 +0000)]
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> + + * tree-flow-inline.h...
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-flow-inline.h (var_can_have_subvars):
+ Volatile variables should not have subvariables.
+
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * gcc.c-torture/compile/volatile-1.c: New test.
+
From-SVN: r110796
Diego Novillo [Thu, 9 Feb 2006 12:38:35 +0000 (12:38 +0000)]
re PR tree-optimization/26180 (wrong code due to VRP and unsigned multiplies with wraps)
PR 26180
* tree-vrp.c (vrp_int_const_binop): Detect overflow when
multiplying unsigned values.
Tidy comments.
testsuite
PR 26180
* gcc.dg/tree-ssa/pr26180.c: New test.
From-SVN: r110794
Eric Botcazou [Thu, 9 Feb 2006 12:22:09 +0000 (13:22 +0100)]
sparc.c (tls_call_delay): Fix oversight.
* config/sparc/sparc.c (tls_call_delay): Fix oversight.
From-SVN: r110790
Jason Merrill [Thu, 9 Feb 2006 09:54:36 +0000 (04:54 -0500)]
re PR c++/25979 (incorrect codegen for conditional [SVO issue])
PR c++/25979
* tree.def: Elaborate on difference from MODIFY_EXPR.
* doc/c-tree.texi (INIT_EXPR): Likewise.
* gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
(gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
(gimplify_target_expr): Likewise.
(gimplify_cond_expr): Remove target handling.
(gimplify_modify_expr): Don't clobber INIT_EXPR code here.
(gimplify_expr): Clobber it here.
(gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
Do return slot optimization if we have an INIT_EXPR.
PR tree-opt/24365
* tree-inline.c (declare_return_variable): Also clear
DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
PR c++/16405
* gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
PR middle-end/22439
* gimplify.c (gimplify_one_sizepos): Fix typo.
From-SVN: r110789
Benjamin Kosnik [Thu, 9 Feb 2006 05:07:09 +0000 (05:07 +0000)]
re PR libstdc++/26142 (global debug namespace clashes everywhere)
2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/26142
* include/debug/debug.h: Move debug alias inside namespace std,
same with namespace __gnu_cxx. Add top-level __gnu_debug
namespace.
* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
std. Also, change nesting namespace name from __gnu_debug_def to
__gnu_debug.
* include/debug/hash_map.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_set.h: Same.
* docs/html/debug.html: Same.
* testsuite/23_containers/vector/26412.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc: Correct
qualifications for debug namespace change.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
* testsuite/21_strings/basic_string/2.cc: Same.
From-SVN: r110787
Benjamin Kosnik [Thu, 9 Feb 2006 04:31:38 +0000 (04:31 +0000)]
re PR libstdc++/26142 (global debug namespace clashes everywhere)
2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/26142
* include/debug/debug.h: Move debug alias inside namespace std,
same with namespace __gnu_cxx. Add top-level __gnu_debug
namespace.
* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
std. Also, change nesting namespace name from __gnu_debug_def to
__gnu_debug.
* include/debug/hash_map.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_set.h: Same.
* docs/html/debug.html: Same.
* testsuite/23_containers/vector/26412.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc: Correct
qualifications for debug namespace change.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
* testsuite/21_strings/basic_string/2.cc: Same.
From-SVN: r110786
Jeff Law [Thu, 9 Feb 2006 02:36:33 +0000 (19:36 -0700)]
re PR tree-optimization/21417 (Missed jump threading opportunity on trees)
PR tree-optimization/21417
* tree-ssa-threadedge.c (thread_across_edge): Reject threading
across a backedge if the control statement at the end of the
block is data dependent on other statements in the same block.
(record_temporary_equivalences_from_stmts): Remove over-conservative
test for threading across backedges.
* gcc.dg/tree-ssa/pr21417.c: New test.
From-SVN: r110785
Jeff Law [Thu, 9 Feb 2006 02:18:59 +0000 (19:18 -0700)]
tree-ssa-dce.c (remove_dead_statement): When removing a dead control statement...
* tree-ssa-dce.c (remove_dead_statement): When removing a dead
control statement, handle all three special cases in the same
manner as they all have the same desired solution. No longer
special case edge flag updating when the post dominator is
the exit block.
From-SVN: r110784
Bryce McKinlay [Thu, 9 Feb 2006 01:35:33 +0000 (01:35 +0000)]
re PR libgcj/25187 (dereferencing type-punned pointer warnings while building libgcj)
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/25187:
* gnu/gcj/io/natSimpleSHSStream.cc
(gnu::gcj::io::SimpleSHSStream::shsFinal): Remove bogus cast.
* interpret.cc (_Jv_InterpMethod::run): Simplify arguments to
_Jv_InterpFrame().
* boehm.cc: #undef some autoconf macros before including gc-config.h.
(_Jv_MarkObject): Don't mark the class, it is reachable via the vtable.
(_Jv_MarkArray): Likewise.
* java/lang/ref/natReference.cc (java::lang::ref::Reference::create):
Simplify _Jv_GCRegisterDisappearingLink() call.
* java/lang/Class.h (getComponentType): Use element_type.
(element_type): New field declaration, as a union with "methods".
* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Use "element_type".
* java/net/natVMNetworkInterfacePosix.cc
(java::net::VMNetworkInterface::getInterfaces): Add "int" cast to
avoid sign comparison warning.
* include/java-interp.h (_Jv_InterpFrame): Take thread as second
argument, not parent call frame.
* include/x86_64-signal.h (MAKE_THROW_FRAME): Use "gregs" directly,
without a cast.
(restore_rt): Declare with hidden visibility, not "static".
* posix.cc (_Jv_platform_initProperties): Make "tmpdir" a string
constant.
* jni.cc (_Jv_JNI_DestroyJavaVM): Use a union to avoid strict alias
warning
From-SVN: r110783
GCC Administrator [Thu, 9 Feb 2006 00:17:37 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110781
Roger Sayle [Wed, 8 Feb 2006 23:57:21 +0000 (23:57 +0000)]
tree.def (CHAR_TYPE): Remove.
* tree.def (CHAR_TYPE): Remove.
* dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
* dwarf2out.c (base_type_die, is_base_type): Likewise.
(gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
(gen_string_type_die): Delete unreachable function.
* tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
* tree.c (build_int_cst_wide, type_contains_placeholder_1,
type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
* tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
* builtins.c (type_to_class): Likewise.
* fold-const.c (fold_convert, build_range_check,
merge_ranges): Likewise.
* expr.c (count_type_elements): Likewise.
* c-pretty-print.c (pp_c_type_specifier): Likewise.
* stor-layout.c (layout_type): Likewise.
* ipa-type-escape.c (type_to_consider): Likewise.
* gimplify.c (omp_firstprivatize_type_sizes,
gimplify_type_sizes): Likewise.
* explow.c (promote_mode): Likewise.
* tree-sra.c (is_sra_scalar_type): Likewise.
* varasm.c (output_constant): Likewise.
* tree-inline.c (remap_type_1): Likewise.
* convert.c (convert_to_pointer, convert_to_real,
convert_to_integer, convert_to_complex): Likewise.
From-SVN: r110775
Bryce McKinlay [Wed, 8 Feb 2006 23:27:50 +0000 (23:27 +0000)]
Add PR libgcj/26113 to last entry.
From-SVN: r110774
Ulrich Weigand [Wed, 8 Feb 2006 22:36:39 +0000 (22:36 +0000)]
* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
From-SVN: r110773
Paolo Carlini [Wed, 8 Feb 2006 21:51:55 +0000 (21:51 +0000)]
PR libstdc++/26133 (DR 241, [WP])
2006-02-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26133 (DR 241, [WP])
* include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
output_iterator_tag), __unique_copy(,,, input_iterator_tag,
output_iterator_tag), __unique_copy(,,, input_iterator_tag,
forward_iterator_tag), and predicated counterparts): Add.
(__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
forward_iterator_tag), and predicated counterparts): Remove.
(unique_copy): Adjust, dispatch to the three helpers above.
* testsuite/25_algorithms/unique_copy/2.cc: New.
* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
* testsuite/25_algorithms/unique_copy/3.cc: Likewise.
* docs/html/ext/howto.html: Add an entry for DR 241.
* testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
From-SVN: r110772
François-Xavier Coudert [Wed, 8 Feb 2006 20:54:14 +0000 (20:54 +0000)]
re PR libfortran/25425 ([4.1 only] F95 and F2003 differ on list-directed output for 0.0)
PR libfortran/25425
* trans-decl.c (gfc_generate_function_code): Add new argument,
pedantic, to set_std call.
* libgfortran.h: Add pedantic field to compile_options struct.
* io/write.c (calculate_G_format): Depending on the standard,
choose E or F format for list-directed output of 0.0.
* runtime/error.c (notify_std): Make warning and error dependent
on pedanticity.
* runtime/compile_options.c (set_std): Use new pedantic argument.
From-SVN: r110769
Bryce McKinlay [Wed, 8 Feb 2006 20:38:13 +0000 (20:38 +0000)]
link.cc (_Jv_Linker::print_class_loaded): Declare string constants as "const char *".
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
* link.cc (_Jv_Linker::print_class_loaded): Declare string constants
as "const char *".
* verify.cc (verify_fail): Likewise.
* gnu/classpath/natSystemProperties.cc (file_encoding): Likewise.
* interpret.cc (throw_internal_error, throw_class_format_error):
Likewise.
* gcj/javaprims.h (_Jv_hashUtf8String, _Jv_Utf8Const::space_needed,
_Jv_Utf8Const::init, _Jv_makeUtf8Const): Likewise.
* java/lang/Class.h (_Jv_InitPrimClass): Likewise.
* include/jvm.h (_Jv_strLengthUtf8, _Jv_makeUtf8Const): Likewise.
* defineclass.cc (throw_internal_error, throw_no_class_def_found_error,
is_attribute_name): Likewise.
* prims.cc (_Jv_strLengthUtf8, _Jv_hashUtf8String, _Jv_Utf8Const::init,
_Jv_makeUtf8Const, _Jv_InitPrimClass): Likewise.
From-SVN: r110767
Tom Tromey [Wed, 8 Feb 2006 20:07:29 +0000 (20:07 +0000)]
PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
* defineclass.cc (parse): Use _Jv_AllocRawObj.
(read_constpool): Likewise.
(read_one_code_attribute): Use internal function name.
(handleConstantPool): Use _Jv_AllocRawObj.
(handleInterfacesBegin): Likewise.
(handleFieldsBegin): Likewise.
(handleMethodsBegin): Likewise.
(handleCodeAttribute): Likewise.
(handleMethodsEnd): Likewise.
* include/jvm.h (new_vtable): Use _Jv_AllocRawObj.
* interpret.cc (do_allocate_static_fields): Use _Jv_AllocRawObj.
Allocate reference fields separately.
* link.cc (prepare_constant_time_tables): Use _Jv_AllocRawObj.
(add_miranda_methods): Likewise.
(generate_itable): Use _Jv_AllocBytes.
(find_iindex): Likewise.
(struct method_closure): New structure.
(create_error_method): Use struct method_closure; allocate with
_Jv_AllocBytes.
(ensure_fields_laid_out): Separate reference fields from
non-reference fields.
* boehm.cc (_Jv_MarkObj): Mark vtable. Only mark direct fields
of Class.
(_Jv_MarkArray): Mark vtable.
(_Jv_AllocRawObj): Don't allocate objects of size 0.
* include/execution.h
(_Jv_ExecutionEngine::allocate_static_fields): Added 'int'
parameter.
(struct _Jv_CompiledEngine): Updated.
(class _Jv_InterpreterEngine): Updated.
From-SVN: r110763
Daniel Berlin [Wed, 8 Feb 2006 18:37:01 +0000 (18:37 +0000)]
df-scan.c (df_def_record_1): A set destination may be a parallel regardless of mode.
2006-02-08 Daniel Berlin <dberlin@dberlin.org>
* df-scan.c (df_def_record_1): A set destination may
be a parallel regardless of mode.
From-SVN: r110761
Roger Sayle [Wed, 8 Feb 2006 18:31:36 +0000 (18:31 +0000)]
re PR target/22209 (libgfortran unresolvable symbols on irix6.5)
PR target/22209
* config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
* config/mips/_tilib.c: Remove.
* config/fixtfdi.c: New libgcc source file.
* config/fixunstfdi.c: New source file.
* config/floatditf.c: New source file.
* config/floatunditf.c: New souce file.
* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
files above instead of config/mips/_tilib.c.
* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
From-SVN: r110760
Tom Tromey [Wed, 8 Feb 2006 18:06:11 +0000 (18:06 +0000)]
re PR java/22578 (should inline floatToIntBits et al)
gcc/java
PR java/22578:
* check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
* builtins.c (convert_real): New function.
(java_builtins): Handle Float.intBitsToFloat,
Float.floatToRawIntBits, Double.longBitsToDouble,
Double.doubleToRawLongBits.
libjava
PR java/22578:
* gcj/javaprims.h: Updated.
* sources.am, Makefile.in: Rebuilt.
* java/lang/natDouble.cc (doubleToLongBits): Moved to VMDouble.
(doubleToRawLongBits): Likewise.
(longBitsToDouble): Likewise.
(toString): Likewise.
(parseDouble): Likewise.
* java/lang/natFloat.cc (floatToIntBits): Moved to VMFloat.
(floatToRawIntBits): Likewise.
(intBitsToFloat): Likewise.
* java/lang/VMDouble.java: New file.
* java/lang/VMFloat.java: New file.
* java/lang/Float.java, java/lang/Double.java: Removed.
From-SVN: r110759
Jeff Law [Wed, 8 Feb 2006 17:31:20 +0000 (10:31 -0700)]
tree-vrp.c (execute_vrp): Perform any queued SSA updates before threading jumps.
* tree-vrp.c (execute_vrp): Perform any queued SSA updates before
threading jumps.
From-SVN: r110758
Paolo Bonzini [Wed, 8 Feb 2006 13:08:44 +0000 (13:08 +0000)]
scantree.exp (scan-tree-dump, [...]): Likewise.
2006-02-08 Paolo Bonzini <bonzini@gnu.org>
* lib/scantree.exp (scan-tree-dump, scan-tree-dump-times,
scan-tree-dump-not, scan-tree-dump-dem): Likewise.
From-SVN: r110755
Paolo Bonzini [Wed, 8 Feb 2006 12:26:25 +0000 (12:26 +0000)]
scanrtl.exp: New.
2006-02-08 Paolo Bonzini <bonzini@gnu.org>
* lib/scanrtl.exp: New.
From-SVN: r110754
Volker Reichelt [Wed, 8 Feb 2006 11:21:27 +0000 (11:21 +0000)]
re PR c++/26071 (ICE declaring destructor virtual and static)
PR c++/26071
* decl.c (grokdeclarator): Set dname also for destructor.
* g++.dg/other/virtual2.C: New test.
From-SVN: r110751
Volker Reichelt [Wed, 8 Feb 2006 11:00:55 +0000 (11:00 +0000)]
re PR c++/26070 (ICE declaring data member virtual and static)
PR c++/26070
* decl.c (grokdeclarator): Clear storage_class together with staticp.
* g++.dg/other/virtual1.C: New test.
From-SVN: r110747
Zdenek Dvorak [Wed, 8 Feb 2006 10:54:45 +0000 (11:54 +0100)]
df.h (DF_REG_SIZE): Return the length of the initialized part of the array.
* df.h (DF_REG_SIZE): Return the length of the initialized
part of the array.
From-SVN: r110746
Richard Guenther [Wed, 8 Feb 2006 10:05:30 +0000 (10:05 +0000)]
mpa.c: Do not include sys/param.h.
2006-02-08 Richard Guenther <rguenther@suse.de>
* dbl-64/mpa.c: Do not include sys/param.h.
* dbl-64/mpa.h (MIN): Define.
From-SVN: r110745
Nathan Sidwell [Wed, 8 Feb 2006 09:58:55 +0000 (09:58 +0000)]
lb1sf68.asm (__divsf3, [...]): Return a correctly signed zero.
* gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
__muldf3): Return a correctly signed zero.
From-SVN: r110744
Paolo Bonzini [Wed, 8 Feb 2006 08:13:20 +0000 (08:13 +0000)]
passes.c (register_one_dump_file): Accept the current properties instead of pass number.
2006-02-08 Paolo Bonzini <bonzini@gnu.org>
* passes.c (register_one_dump_file): Accept the current properties
instead of pass number. Adjust call to dump_register. Remove
duplicated code.
(register_dump_files): Now a wrapper around...
(register_dump_files_1): ... this one. Do not modify the pass
structure.
(next_pass_1): Cosmetic fix.
(execute_todo): Keep second parameter only. Use curr_properties instead
of fetching it from the pass structure. Check and set last_verified.
(execute_one_pass): Handle TODO_set_props. Use curr_properties
instead of fetching it from the pass structure. Fix calls to
execute_todo. Update curr_properties and initialize .vcg RTL dump
after running the pass. Reset last_verified.
* tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump
at the beginning.
(FIRST_AUTO_NUMBERED_DUMP): New.
(dump_register): Remove "num" parameter, assign it within the
function.
(get_dump_file_name): Modify template for dumps.
* tree-dump.h (dump_register): Adjust prototype.
* tree-pass.h (enum tree_dump_index): Move cgraph at the beginning.
(PROP_trees): Add PROP_gimple_lomp.
(TODO_set_props): New.
* gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf.
* tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
* cfgexpand.c (pass_expand): Destroy PROP_trees.
gcc/testsuite:
2006-02-08 Paolo Bonzini <bonzini@gnu.org>
* lib/gcc-dg.exp (cleanup-rtl-dump, cleanup-tree-dump,
cleanup-ipa-dump): Update dump file glob patterns.
* lib/scantree.exp (scan-tree-dump, scan-tree-dump-times,
scan-tree-dump-not, scan-tree-dump-dem): Likewise.
* lib/scanipa.exp (scan-ipa-dump, scan-ipa-dump-times,
scan-ipa-dump-not, scan-ipa-dump-dem): Likewise.
* lib/scanrtl.exp: New.
* lib/gcc-dg.exp: Load it.
* objc.dg/stubify-2.m: Use scan-rtl-dump-not.
From-SVN: r110742
Jakub Jelinek [Wed, 8 Feb 2006 07:19:43 +0000 (08:19 +0100)]
config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
(sparc64-*-linux*): Likewise.
* config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
* config/sparc/t-linux: New file.
* config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
__floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
(__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
-m32 -mlong-double-128.
* config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
* config/alpha/t-linux: New file.
* config/alpha/libgcc-alpha-ldbl.ver: New file.
* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
(CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
(CPP_ARCH32_SPEC): Remove.
From-SVN: r110741
Thomas Fitzsimmons [Wed, 8 Feb 2006 05:51:16 +0000 (05:51 +0000)]
jartool.h (ACTION_INDEX): New macro.
2006-02-08 Thomas Fitzsimmons <fitzsim@redhat.com>
* jartool.h (ACTION_INDEX): New macro.
* jartool.c (main): Handle -i option.
* fastjar.texi (Invoking fastjar): Add description of -i option.
From-SVN: r110739
Uttam Pawar [Wed, 8 Feb 2006 02:00:42 +0000 (02:00 +0000)]
re PR tree-optimization/26145 (memory leak in loop unswitching.)
2006-02-07 Uttam Pawar <uttamp@us.ibm.com>
PR tree-optimization/26145
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free
bbs pointer.
From-SVN: r110738
GCC Administrator [Wed, 8 Feb 2006 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r110735
Janis Johnson [Wed, 8 Feb 2006 00:06:12 +0000 (00:06 +0000)]
re PR testsuite/26159 (pr23382.c and critical-3.c don't cleanup after themselves)
PR testsuite/26159
* gcc.dg/gomp/critical-3.c: Call cleanup-tree-dump.
* gcc.dg/tree-ssa/pr23382.c: Ditto.
From-SVN: r110729
Tobias Schlüter [Tue, 7 Feb 2006 23:52:37 +0000 (00:52 +0100)]
re PR libfortran/25577 (gfortran routine mvbits returns wrong answer.)
libgfortran/
2006-02-07 Dale Ranta <dir@lanl.gov>
PR fortran/25577
* intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
testsuite/
2006-02-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/25577
* gfortran.dg/mvbits_1.f90: New.
Also fixed Dirk Mueller's preceding ChangeLog entry.
From-SVN: r110728
Gabriel Dos Reis [Tue, 7 Feb 2006 23:25:02 +0000 (23:25 +0000)]
cp-tree.h (tf_warning_or_error): Renamed from tf_warn_or_error.
* cp-tree.h (tf_warning_or_error): Renamed from
tf_warn_or_error.
(cp_build_qualified_type): Propogate renaming.
* call.c (convert_like_real): Likewise.
* cvt.c (cp_convert_to_pointer, convert_to_reference):
Likewise.
* decl.c (make_typename_type, grokdeclarator): Likewise.
* pt.c (tsubst_friend_function, instantiate_class_template,
tsubst_default_argument, instantiate_decl,
tsubst_initializer_list, tsubst_enum): Likewise.
* semantics.c (finish_template_type): Likewise.
* typeck.c (build_ptrmemfunc, convert_for_assignment):
Likewise.
From-SVN: r110727
Jakub Jelinek [Tue, 7 Feb 2006 22:23:58 +0000 (23:23 +0100)]
configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r110725
John David Anglin [Tue, 7 Feb 2006 22:09:52 +0000 (22:09 +0000)]
re PR target/26109 (ICE: Segmentation fault (program cc1) compiling _muldi3.o in stage1)
PR target/26109
* pa.c (attr_length_indirect_call): Don't return length 8 for distances
>= 240000 when generating code for SOM runtime.
(output_indirect_call): Don't use "b,l" instruction for indirect calls
to $$dyncall when generating code for SOM runtime..
From-SVN: r110721
Eric Botcazou [Tue, 7 Feb 2006 21:57:38 +0000 (22:57 +0100)]
libgomp-dg.exp (libgomp_init): Compute multilib-related part of LD_LIBRARY_PATH manually.
* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib-related
part of LD_LIBRARY_PATH manually.
From-SVN: r110720
Dirk Mueller [Tue, 7 Feb 2006 21:47:55 +0000 (21:47 +0000)]
re PR c++/18150 (Should enable -Wsequence-point for C++)
2006-02-07 Dirk Mueller <dmueller@suse.com>
PR c++/18150
* doc/invoke.texi (-Wsequence-point): Update documentation
that -Wsequence-point is implemented for C++ as well.
From-SVN: r110719
Eric Botcazou [Tue, 7 Feb 2006 20:50:37 +0000 (21:50 +0100)]
sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
* config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
* config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
(LIB_SPEC): Likewise.
* doc/invoke.texi (SPARC options): Document -pthread.
From-SVN: r110717
Geoffrey Keating [Tue, 7 Feb 2006 20:13:24 +0000 (20:13 +0000)]
i386.c (ix86_delegitimize_address): Support Darwin PIC addresses.
* config/i386/i386.c (ix86_delegitimize_address): Support Darwin
PIC addresses.
From-SVN: r110716
Roger Sayle [Tue, 7 Feb 2006 20:11:12 +0000 (20:11 +0000)]
sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
* config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
Correct comment describing BOOLEAN_TYPE.
From-SVN: r110715
Jeff Law [Tue, 7 Feb 2006 19:59:34 +0000 (12:59 -0700)]
pr21559.c: New test.
* gcc.dg/tree-ssa/pr21559.c: New test.
From-SVN: r110713