Jeff Law [Fri, 1 Jul 2005 19:01:25 +0000 (13:01 -0600)]
tree-ssa-dom.c (find_equivalent_equality_comparison): Do not a eliminate type conversion which feeds an equality comparison if...
* tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
a eliminate type conversion which feeds an equality comparison
if the original type or either operand in the comparison is a
function pointer.
Mark Mitchell [Fri, 24 Jun 2005 03:44:46 +0000 (03:44 +0000)]
backport: re PR middle-end/21985 (miscompiled or wrong code snippet?)
Backport:
2005-06-13 Zdenek Dvorak <dvorakz@suse.cz>
PR middle-end/21985
* fold-const.c (split_address_to_core_and_offset): Always return
the address of the base object.
Backport:
2005-06-19 Richard Henderson <rth@redhat.com>
* gcc.dg/tree-ssa/pr21985.c: Use size_t.
2005-06-13 Zdenek Dvorak <dvorakz@suse.cz>
PR middle-end/21985
* gcc.dg/tree-ssa/pr21985.c: New test.
* gfortran.h: Add flag_backslash compile-time option.
* lang.opt: Add support for -fbackslash option.
* options.c: Likewise.
* primary.c: Implement behavior for -fno-backslash.
* invoke.texi: Add doc for -fbackslash option.
* gfortran.texi: Remove mention of -fno-backslash as a
possible extension.
* gfortran.dg/backslash_1.f90: New test.
* gfortran.dg/backslash_2.f90: New test.
Jan Beulich [Mon, 20 Jun 2005 07:30:34 +0000 (07:30 +0000)]
netware-libgcc.def: Update copyright.
gcc/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* config/i386/netware-libgcc.def: Update copyright.
* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
* config/i386/netware.c (gen_stdcall_decoration,
gen_fastcall_decoration): Merge into ...
(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
WinNT's changes.
(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
use of NX_MUTEX_RECURSIVE.
gcc/testsuite/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* g++.old-deja/g++.jason/thunk2.C: On NetWare, also account for
unsupportable relocations.
* g++.old-deja/g++.other/store-expr1.C: Likewise.
* gcc.dg/20050321-2.c: xfail for NetWare.
re PR fortran/20777 ([4.0 only] Arithmetic IF not flagged obsolete)
PR fortran/20777
* match.c (match_arithmetic_if): Arithmetic IF is obsolete in
Fortran 95.
* gfortran.dg/pr17229.f: Take care of the new obsolescence
warning for arithmetic IF statements.
* src/compatibility.cc: Include bits/c++config.h first.
(_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
and PIC are both defined.
* include/bits/char_traits.h (char_traits::eq): Rename
only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
2005-06-16 Jakub Jelinek <jakub@redhat.com>
* acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
to _GLIBCXX_SIZE_T_IS_UINT. Define _GLIBCXX_PTRDIFF_T_IS_INT.
* configure: Regenerate.
* config.h.in: Regenerate.
* src/compatibility.cc (istream:ignore(streamsize)): Use
_GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
* config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
to _GLIBCXX_SIZE_T_IS_UINT. Use _GLIBCXX_PTRDIFF_T_IS_INT
instead for symbols with streamsize arguments.
2005-06-16 Jakub Jelinek <jakub@redhat.com>
* config/linker-map.gnu: Also export
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
re PR libfortran/16436 (gfortran TL edit descriptor failure - test f77-edit-t-in.f)
PR libfortran/16436
* io/transfer.c (read_sf): Correct updating of bytes_left field.
(formatted_transfer): Correct updating of bytes_left field and
reformatting code (comments and whitespace).
* io/unix.c (move_pos_offset): "active" field should not be
changed here. Whitespace corrections.
* gfortran.dg/g77/f77-edit-t-in.f: Not XFAIL-ed any more.
Steven Bosscher [Tue, 7 Jun 2005 16:48:52 +0000 (16:48 +0000)]
re PR tree-optimization/21847 (misscompiling of the following java code)
PR tree-optimization/21847
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With
-fnon-call-exceptions, also mark statements inherently
necessary if they may throw.
Sebastian Pop [Mon, 6 Jun 2005 12:12:50 +0000 (14:12 +0200)]
re PR tree-optimization/20742 (Hang in tree_ssa_iv_optimize_loop)
PR tree-optimization/20742
* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
default value 20.
* tree-chrec.c: Depend on params.h. Replace build with buildN,
and fold build with fold_buildN.
(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
(tree_contains_chrecs): Compute an estimation of the size of the
given expression.
* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
* tree-scalar-evolution.c (simple_iv): Ditto.
* doc/invoke.texi (scev-max-expr-size): Documented.
Jakub Jelinek [Sun, 5 Jun 2005 23:33:52 +0000 (01:33 +0200)]
Backport PRs 12884, 17285, 17472, 18122, 18209, 18210, 18392, 18396, 18591, 18879 and more
gcc/fortran/
2005-06-05 Jakub Jelinek <jakub@redhat.com>
Backport from the mainline:
2005-04-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/17472
PR fortran/18209
PR fortran/18396
PR fortran/19467
PR fortran/19657
* fortran/trans-io.c (gfc_build_io_library_fndecls): Create
declaration for st_set_nml_var and st_set_nml_var_dim. Remove
declarations of old namelist functions.
(build_dt): Simplified call to transfer_namelist_element.
(nml_get_addr_expr): Generates address expression for start of
object data. New function.
(nml_full_name): Qualified name for derived type components. New
function.
(transfer_namelist_element): Modified for calls to new functions
and improved derived type handling.
libgfortran/
2005-06-05 Jakub Jelinek <jakub@redhat.com>
Backport from the mainline:
2005-04-18 Paul Thomas <pault@gcc.gnu.org>
Jerry DeLisle <jvdelisle@verizon.net>
* io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
* io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
call for ext_name. These fix the bug reported by Jerry DeLisle to
the fortran list and are based on his suggested fix.
2005-04-18 Paul Thomas <pault@gcc.gnu.org>
* io/list_read.c (nml_touch_nodes, nml_read_obj,
nml_get_obj_data): Fix memory leaks in code for derived types.
2005-04-17 Paul Thomas <pault@gcc.gnu.org>
* io/list_read.c (eat_separator): at_eol = 1 replaced
(zapped at some time?).
2005-04-17 Paul Thomas <pault@gcc.gnu.org>
PR libgfortran/12884
PR libgfortran/17285
PR libgfortran/18122
PR libgfortran/18210
PR libgfortran/18392
PR libgfortran/18591
PR libgfortran/18879
* io/io.h (nml_ls): Declare.
(namelist_info): Modify for arrays.
* io/list_read.c (namelist_read): Reduced to call to new functions.
(match_namelist_name): Simplified.
(nml_query): Handles stdin queries ? and =?. New function.
(nml_get_obj_data): Parses object name. New function.
(touch_nml_nodes): Marks objects for read. New function.
(untouch_nml_nodes): Resets objects. New function.
(parse_qualifier): Parses and checks qualifiers. New function
(nml_read_object): Reads and stores object data. New function.
(eat_separator): No new_record on '/' in namelist.
(finish_separator): No new_record on '/' in namelist.
(read_logical): Error return for namelist.
(read_integer): Error return for namelist.
(read_complex): Error return for namelist.
(read_real): Error return for namelist.
* io/lock.c (library_end): Free extended namelist_info types.
* io/transfer.c (st_set_nml_var): Modified for arrays.
(st_set_nml_var_dim): Dimension descriptors. New function.
* io/write.c (namelist_write): Reduced to call to new functions.
(nml_write_obj): Writes output for object. New function.
(write_integer): Suppress leading blanks for repeat counts.
(write_int): Suppress leading blanks for repeat counts.
(write_float): Suppress leading blanks for repeat counts.
(output_float): Suppress leading blanks for repeat counts.
gcc/testsuite/
2005-06-05 Jakub Jelinek <jakub@redhat.com>
Backport from the mainline:
2005-04-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/17472
PR fortran/18209
PR fortran/18396
PR fortran/19467
PR fortran/19657
* fortran/trans-io.c (gfc_build_io_library_fndecls): Create
declaration for st_set_nml_var and st_set_nml_var_dim. Remove
declarations of old namelist functions.
(build_dt): Simplified call to transfer_namelist_element.
(nml_get_addr_expr): Generates address expression for start of
object data. New function.
(nml_full_name): Qualified name for derived type components. New
function.
(transfer_namelist_element): Modified for calls to new functions
and improved derived type handling.
PR libfortran/12884 gfortran.dg/pr12884.f: New test
PR libfortran/17285 gfortran.dg/pr17285.f90: New test
PR libfortran/17472, 18396, 18209 gfortran.dg/pr17472.f: New test
PR libfortran/18122, 18591 gfortran.dg/pr18122.f90: New test
PR libfortran/18210 gfortran.dg/pr18210.f90: New test
PR libfortran/18392 gfortran.dg/pr18392.f90: New test
PR libfortran/19467 gfortran.dg/pr19467.f90: New test
PR libfortran/19657 gfortran.dg/pr19657.f90: New test
* gfortran.dg/namelist_1.f90: Correct comment (PUBLIC and PRIVATE wrong way round).
* gfortran.dg/namelist_2.f90: Variables with INTENT(IN) cannot be in namelists. New test
* gfortran.dg/namelist_3.f90: Pointers cannot be in namelists. New test
* gfortran.dg/namelist_11.f: Tests reals and qualifiers in namelist. New test
* gfortran.dg/namelist_12.f: Tests integers and qualifiers in namelist. New test
* gfortran.dg/namelist_13.f90: Tests derived types in namelist. New test
* gfortran.dg/namelist_14.f90: Tests trans-io.c namelist support. New test
* gfortran.dg/namelist_15.f90: Tests arrays of derived types in namelist. New test
* gfortran.dg/namelist_16.f90: Tests complex in namelist. New test
* gfortran.dg/namelist_17.f90: Tests logical in namelist. New test
* gfortran.dg/namelist_18.f90: Tests charcter delimiters in namelist. New test
* gfortran.dg/namelist_19.f90: Tests namelist errors. New test
* gfortran.dg/namelist_20.f90: Tests negative bounds for explicit arrays. New test