Jakub Jelinek [Tue, 20 Nov 2007 16:19:40 +0000 (17:19 +0100)]
re PR c++/34089 (Segfault on specialization using struct instead of template function.)
PR c++/34089
* parser.c (cp_parser_class_head): Reject function template ids.
* g++.dg/template/crash74.C: New test.
From-SVN: r130316
Richard Guenther [Tue, 20 Nov 2007 15:16:25 +0000 (15:16 +0000)]
tree-ssa-operands.c (add_virtual_operand): Consistently prune accesses.
2007-11-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (add_virtual_operand): Consistently prune
accesses.
* gcc.c-torture/execute/
20071120-1.c: New testcase.
From-SVN: r130315
Paolo Carlini [Tue, 20 Nov 2007 14:06:53 +0000 (14:06 +0000)]
functional_hash.h: Do not include ext/numeric_traits.h.
2007-11-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/functional_hash.h: Do not include ext/numeric_traits.h.
* include/tr1/functional_hash.h: Likewise.
* include/std/functional: Include ext/type_traits.h.
* include/tr1/functional: Likewise.
From-SVN: r130314
Thiemo Seufer [Tue, 20 Nov 2007 13:48:55 +0000 (13:48 +0000)]
mips.c (mips_file_start): Add support for flagging 32-bit code with -mfp64 floating-point.
* config/mips/mips.c (mips_file_start): Add support for
flagging 32-bit code with -mfp64 floating-point.
From-SVN: r130313
Paolo Carlini [Tue, 20 Nov 2007 12:34:44 +0000 (12:34 +0000)]
functional_hash.h (hash<long double>::operator()(long double)): Only declare.
2007-11-20 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/functional_hash.h
(hash<long double>::operator()(long double)): Only declare.
* src/hash.cc: Define here.
* config/abi/pre/gnu.ver: Adjust exports.
* include/tr1/functional: Do not include <cmath>.
* include/std/functional: Likewise.
* include/std/functional: Include <new>.
From-SVN: r130312
Jakub Jelinek [Tue, 20 Nov 2007 10:36:03 +0000 (11:36 +0100)]
re PR c/34146 (Inefficient code with compound literals inside a CONSTRUCTO)
PR c/34146
* c-gimplify.c (optimize_compound_literals_in_ctor): New function.
(c_gimplify_expr): Use it.
PR c/34146
* gcc.dg/tree-ssa/pr34146.c: New test.
PR testsuite/33978
* gcc.dg/tree-ssa/pr33723.c: Adjust scan pattern to make it less
dependent on target settings like move_by_pieces etc.
From-SVN: r130311
Ben Elliston [Tue, 20 Nov 2007 08:00:10 +0000 (08:00 +0000)]
* config/spu/spu_mfcio.h: Fix typo.
From-SVN: r130310
Jakub Jelinek [Tue, 20 Nov 2007 06:38:48 +0000 (07:38 +0100)]
re PR c++/28879 (ICE with VLA in template function)
PR c++/28879
* tree.c (build_cplus_array_type_1): Don't pass any VLA types
when processing_template_decl to build_array_type.
* g++.dg/template/vla2.C: New test.
From-SVN: r130309
Jakub Jelinek [Tue, 20 Nov 2007 06:26:11 +0000 (07:26 +0100)]
re PR c++/33962 (ICE at call to overloaded template function with variable-length function argument list)
PR c++/33962
* pt.c (more_specialized_fn): Don't segfault if one or
both argument list end with ellipsis.
* g++.dg/overload/template3.C: New test.
From-SVN: r130308
Ben Elliston [Tue, 20 Nov 2007 05:38:30 +0000 (05:38 +0000)]
* unwind.inc: Comment that unwind-sjlj.c includes this file.
From-SVN: r130307
Ulrich Weigand [Tue, 20 Nov 2007 05:12:09 +0000 (16:12 +1100)]
mfc_tag_release.c: New file.
* config/spu/mfc_tag_release.c: New file.
* config/spu/mfc_multi_tag_release.c: Likewise.
* config/spu/mfc_multi_tag_reserve.c: Likewise.
* config/spu/mfc_tag_release.c: Likewise.
* config/spu/mfc_tag_reserve.c: Likewise.
* config/spu/mfc_tag_table.c: Likewise.
* config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them.
(TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2.
* config/spu/spu_mfcio.h (uint64_t): Typedef if __IN_LIBGCC2
is defined and avoid <stdint.h>.
(MFC_TAG_INVALID, MFC_TAG_VALID): New macros.
(mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve,
mfc_multi_tag_release): Likewise.
(__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve,
__mfc_multi_tag_release): Declare.
Co-Authored-By: Ben Elliston <bje@au.ibm.com>
From-SVN: r130306
Jerry DeLisle [Tue, 20 Nov 2007 01:51:04 +0000 (01:51 +0000)]
re PR fortran/33317 (CSHIFT/EOSHIFT: Rejects optional dummy for DIM=)
2007-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33317
* gfortran.dg/optional_dim_2.f90: Remove test.
From-SVN: r130305
Jerry DeLisle [Tue, 20 Nov 2007 01:37:43 +0000 (01:37 +0000)]
re PR fortran/33317 (CSHIFT/EOSHIFT: Rejects optional dummy for DIM=)
2007-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33317
* trans-expr.c (gfc_conv_missing_dummy): Revert.
* iresolve.c (gfc_resolve_cshift): Revert.
(gfc_resolve_eoshift): Likewise.
* check.c (gfc_check_cshift): Revert.
(gfc_check_eoshift): Likewise.
From-SVN: r130304
GCC Administrator [Tue, 20 Nov 2007 00:17:31 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130301
Jason Merrill [Mon, 19 Nov 2007 22:32:30 +0000 (17:32 -0500)]
note PR 28834
From-SVN: r130298
Jason Merrill [Mon, 19 Nov 2007 21:35:13 +0000 (16:35 -0500)]
PR debug/29436, c/32326
PR debug/29436, c/32326
* tree.c (build_type_attribute_qual_variant): Refuse to make
a distinct copy of a struct/enum type. Use build_distinct_type_copy.
* doc/extend.texi (Type Attributes): Don't encourage people to add
attributes to struct/enum types in a typedef. Fix
transparent_union example.
* tree-inline.c (remap_type_1): Remove code that's redundant with
remap_type.
(build_duplicate_type): Set id.copy_decl.
* c-common.c (handle_transparent_union_attribute): Simplify logic.
From-SVN: r130297
Peter Bergner [Mon, 19 Nov 2007 19:50:47 +0000 (13:50 -0600)]
rs6000.c (invalid_e500_subreg, [...]): Handle DDmode and TDmode similarly to DFmode and TFmode.
* config/rs6000/rs6000.c (invalid_e500_subreg,
rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p,
rs6000_legitimize_address, rs6000_legitimize_reload_address,
rs6000_legitimate_address, function_arg_advance,
spe_build_register_parallel, rs6000_spe_function_arg,
rs6000_split_multireg_move, spe_func_has_64bit_regs_p,
emit_frame_save, gen_frame_mem_offset, rs6000_function_value,
rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and
TDmode similarly to DFmode and TFmode.
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise.
* gcc.dg/dfp/ddmode-ice.c: New test.
From-SVN: r130296
Eric Botcazou [Mon, 19 Nov 2007 17:49:53 +0000 (17:49 +0000)]
Add missing entry.
From-SVN: r130295
Eric Botcazou [Mon, 19 Nov 2007 17:49:11 +0000 (17:49 +0000)]
re PR ada/34098 (xgcc: Internal error: Segmentation fault (program gnat1))
PR ada/34098
ada/
* misc.c (gnat_adjust_rli): Delete.
(gnat_init): Do not initialize the translation code here.
Do not call set_lang_adjust_rli.
* trans.c (init_code_table): Make static.
(gnat_init_stmt_group): Delete.
(gigi): Initialize the translation code entirely here.
Emit debug info for the common types here instead of...
* utils.c (gnat_init_decl_processing): ...here.
* gigi.h (init_code_table): Delete.
(gnat_init_stmt_group): Likewise.
* stor-layout.c (lang_adjust_rli): Delete.
(set_lang_adjust_rli): Likewise.
(layout_type): Do not call lang_adjust_rli hook.
* tree.h (set_lang_adjust_rli): Delete.
From-SVN: r130294
Eric Botcazou [Mon, 19 Nov 2007 17:27:06 +0000 (18:27 +0100)]
re PR tree-optimization/34036 (ICE with control flow in the middle of basic block for -fnon-call-exceptions)
PR tree-optimization/34036
* gcc.dg/tree-ssa/pr23109.c: Pass -ftrapping-math and expect warning.
From-SVN: r130293
Bernd Schmidt [Mon, 19 Nov 2007 15:46:41 +0000 (15:46 +0000)]
bfin.c (must_save_p): New function, mostly broken out of n_dregs_to_save and n_pregs_to_save.
* config/bfin/bfin.c (must_save_p): New function, mostly broken out of
n_dregs_to_save and n_pregs_to_save.
(n_pregs_to_save, n_dregs_to_save): Use it. New argument CONSECUTIVE;
all callers changed.
(expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be
able to save single D/P registers that aren't saved by the push/pop
multiple insns.
From-SVN: r130292
Thiemo Seufer [Mon, 19 Nov 2007 12:59:49 +0000 (12:59 +0000)]
* config-ml.in: Don't hardcode the Makefile name.
From-SVN: r130291
Richard Biener [Mon, 19 Nov 2007 12:52:58 +0000 (12:52 +0000)]
re PR tree-optimization/34099 (optimizer problem)
2007-11-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34099
* tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
if only one operand is undefined.
* gcc.c-torture/execute/pr34099-2.c: New testcase.
From-SVN: r130290
Richard Guenther [Mon, 19 Nov 2007 12:52:09 +0000 (12:52 +0000)]
re PR tree-optimization/34099 (optimizer problem)
2007-11-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34099
* tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
if only one operand is undefined.
* gcc.c-torture/execute/pr34099-2.c: New testcase.
From-SVN: r130289
Tobias Burnus [Mon, 19 Nov 2007 12:30:17 +0000 (13:30 +0100)]
re PR fortran/34079 (Bind(C): Character argument/return value problems)
2007-11-19 Tobias Burnus <burnus@net-b.de>
PR fortran/34079
* decl.c (gfc_match_entry): Support BIND(C).
(gfc_match_subroutine): Fix comment typo.
2007-11-19 Tobias Burnus <burnus@net-b.de>
PR fortran/34079
* gfortran.dg/bind_c_usage_10_c.c: New.
* gfortran.dg/bind_c_usage_10.f03: New.
From-SVN: r130288
Eric Botcazou [Mon, 19 Nov 2007 11:07:28 +0000 (12:07 +0100)]
re PR tree-optimization/34036 (ICE with control flow in the middle of basic block for -fnon-call-exceptions)
PR tree-optimization/34036
* doc/invoke.texi (Optimize Options): Refactor documentation
of -ffast-math.
From-SVN: r130287
Eric Botcazou [Mon, 19 Nov 2007 06:27:31 +0000 (07:27 +0100)]
re PR tree-optimization/34036 (ICE with control flow in the middle of basic block for -fnon-call-exceptions)
PR tree-optimization/34036
* opts.c (set_fast_math_flags): Do not set flags in common
with set_unsafe_math_optimizations_flags, invoke it directly.
(set_unsafe_math_optimizations_flags): Unset flag_trapping_math
and flag_signed_zeros.
* toplev.c (process_options): Force flag_associative_math to 0 and
warn, if it is set and either flag_trapping_math or flag_signed_zeros
is set too.
* doc/invoke.texi (Optimize Options): Document the new behavior
of -funsafe-math-optimizations, that -fassociative-math requires
both -fno-signed-zeros and -fno-trapping-math and make it clear
that -fno-trapping-math requires -fno-signaling-nans.
From-SVN: r130286
GCC Administrator [Mon, 19 Nov 2007 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130283
Jakub Jelinek [Sun, 18 Nov 2007 22:20:54 +0000 (23:20 +0100)]
re PR c++/30988 (Incorrect "no return statement" warning with __attribute__ ((noreturn)) and __FUNCTION__)
PR c++/30988
semantics.c (finish_call_expr): Set current_function_returns_abnormally
if fn is noreturn FUNCTION_DECL or OVERLOAD with all noreturn
functions.
* g++.dg/warn/noreturn-4.C: New test.
* g++.dg/warn/noreturn-5.C: New test.
* g++.dg/warn/noreturn-6.C: New test.
* g++.dg/warn/noreturn-7.C: New test.
From-SVN: r130280
Thomas Koenig [Sun, 18 Nov 2007 21:18:07 +0000 (21:18 +0000)]
re PR fortran/32770 ([Meta-bug] -fdefault-integer-8 issues)
2007-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/32770
* gfortran.fortran-torture/execute/equiv_5.f: Set kind on
integers so tests works with -fdefault-integer-8.
* gfortran.fortran-torture/execute/elemental.f90: Use default
integers so test passes with -fdefault-integer-8.
* gfortran.fortran-torture/execute/der_io.f90: Increase
buffer length so test passes with -fdefault-integer-8.
* gfortran.dg/bounds_check_8.f90: Likewise.
* gfortran.dg/arrayio_derived_1.f90: LIkewise.
* gfortran.dg/equiv_7.f90: Set kind so test passes
with -fdefault-integer-8.
* gfortran.dg/g77/
20030326-1.f: Set kind explicitly to
provoke overflow.
From-SVN: r130279
Jerry DeLisle [Sun, 18 Nov 2007 21:05:31 +0000 (21:05 +0000)]
Add PR reference to previous entry.
From-SVN: r130278
Jerry DeLisle [Sun, 18 Nov 2007 20:59:41 +0000 (20:59 +0000)]
re PR fortran/33317 (CSHIFT/EOSHIFT: Rejects optional dummy for DIM=)
2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33317
* gfortran.dg/optional_dim_2.f90: New test.
PR fortran/34139
* gfortran.dg/subref_array_pointer_2.f90: Update test condition.
From-SVN: r130277
Jerry DeLisle [Sun, 18 Nov 2007 20:53:16 +0000 (20:53 +0000)]
trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy argument to default integer if flagged to do so.
2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy
argument to default integer if flagged to do so. Fix typo in comment.
* resolve.c (gfc_resolve_dim_arg): Whitespace cleanup.
* iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute
for converting the DIM type appropriately in trans-expr.c.
(gfc_resolve_eoshift): Likewise.
* check.c (dim_check): Remove pre-existing dead code.
(gfc_check_cshift): Enable dim_check to allow DIM as an optional.
(gfc_check_eoshift): Likewise.
* trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace.
From-SVN: r130276
Jakub Jelinek [Sun, 18 Nov 2007 19:22:35 +0000 (20:22 +0100)]
re PR rtl-optimization/34132 (ICE: internal consistency failure (invalid rtl sharing found in the insn))
PR rtl-optimization/34132
* gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note
and insn.
* gcc.c-torture/compile/
20071118-1.c: New test.
From-SVN: r130275
Jakub Jelinek [Sun, 18 Nov 2007 19:18:39 +0000 (20:18 +0100)]
re PR middle-end/33335 (FAIL: 26_numerics/complex/inserters_extractors/wchar_t/1.cc)
PR middle-end/33335
* optabs.h (optab_table): Change type to struct optab from optab.
(convert_optab_table): Similarly.
Adjust all _optab macros to expand to addresses of optab_table
resp. convert_optab_table elements rather than the values of the
elements.
* optabs.c (optab_table): Change typype to struct optab from optab.
If compiled by recent GCC, initialize all the insn_code fields in
the array using designated range initializers.
(convert_optab_table): Similarly.
(convert_optab_libfunc, optab_libfunc, set_optab_libfunc,
set_conv_libfunc): Into libfunc_entry's optab field store index within
optab_table resp. convert_optab_table array instead of difference
between two separately malloced addresses.
(new_optab): Add op argument, don't return anything. Initialize
just the insn_code field in handlers array and only when needed.
(init_optab, init_optabv): Add op argument, don't return anything.
Adjust new_optab caller.
(new_convert_optab): Removed.
(init_convert_optab): Add op argument, don't return anything, don't
call new_convert_optab. If needed, initialize insn_code field in
handlers array.
(init_optabs): Adjust init_optab, init_optabv and init_convert_optab
callers.
(debug_optab_libfuncs): Adjust uses of optab_table and
convert_optab_table arrays.
From-SVN: r130274
Paolo Carlini [Sun, 18 Nov 2007 18:55:27 +0000 (18:55 +0000)]
type_traits (_DEFINE_SPEC_BODY): Remove.
2007-11-18 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (_DEFINE_SPEC_BODY): Remove.
(_DEFINE_SPEC_0_HELPER): Rename to _DEFINE_SPEC_HELPER.
(_DEFINE_SPEC): Simplify; adjust uses.
From-SVN: r130273
Paolo Carlini [Sun, 18 Nov 2007 18:05:42 +0000 (18:05 +0000)]
type_traits (is_reference, [...]): Declare.
2007-11-18 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/type_traits (is_reference, is_function,
remove_cv, is_member_pointer, remove_reference): Declare.
* include/tr1_impl/type_traitsfwd.h: Remove.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
From-SVN: r130272
Paul Thomas [Sun, 18 Nov 2007 17:14:40 +0000 (17:14 +0000)]
re PR fortran/31608 (wrong types in character array/scalar binop)
2007-11-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31608
* trans-array.c (gfc_conv_expr_descriptor): Remove exception
for indirect references in the call to gfc_trans_scalar_assign.
* trans-expr.c (gfc_conv_string_parameter): Instead of asserting
that the expression is not an indirect reference, cast it to a
pointer type of the length given by se->string_length.
2007-11-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31608
* gfortran.dg/char_cast_2.f90: New test based on achar_4.f90.
From-SVN: r130271
Tobias Burnus [Sun, 18 Nov 2007 16:35:12 +0000 (17:35 +0100)]
re PR fortran/34137 (Module function with ENTRY rejected)
2007-11-18 Tobias Burnus <burnus@net-b.de>
PR fortran/34137
* primary.c (match_variable): Reject non-result entry symbols.
* resolve.c (resolve_contained_fntype): Do not check entry
* master functions.
2007-11-18 Tobias Burnus <burnus@net-b.de>
PR fortran/34137
* gfortran.dg/entry_14.f90: New.
* gfortran.dg/entry_15.f90: New.
From-SVN: r130270
Richard Guenther [Sun, 18 Nov 2007 15:49:57 +0000 (15:49 +0000)]
re PR tree-optimization/34127 (ICE: tree-ssa-operands.c:1688)
2007-11-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34127
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Make code match up the comments, require compatibility of the
pointed-to types.
* gcc.c-torture/compile/pr34127.c: New testcase.
From-SVN: r130269
Ben Elliston [Sun, 18 Nov 2007 09:56:39 +0000 (09:56 +0000)]
altivec-23.c: Do not use a typedef name as a type specifier...
* gcc.target/powerpc/altivec-23.c: Do not use a typedef name as a
type specifier, as they are not permitted according to the AltiVec
Programming Interface Manual.
From-SVN: r130268
David Daney [Sun, 18 Nov 2007 05:23:59 +0000 (05:23 +0000)]
constants.c (build_constants_constructor): Use POINTER_SIZE insead of BITS_PER_WORD in big-endian work around.
2007-11-16 David Daney <ddaney@avtrex.com>
Andrew Haley <aph@redhat.com>
* constants.c (build_constants_constructor): Use POINTER_SIZE
insead of BITS_PER_WORD in big-endian work around.
From-SVN: r130267
GCC Administrator [Sun, 18 Nov 2007 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130265
Francois-Xavier Coudert [Sat, 17 Nov 2007 22:23:32 +0000 (22:23 +0000)]
* trans-types.c (gfc_init_types): Use wider buffer.
From-SVN: r130262
Francois-Xavier Coudert [Sat, 17 Nov 2007 20:07:21 +0000 (20:07 +0000)]
trans-types.c (gfc_init_types): Use Fortran-90-style type names, with kinds.
* trans-types.c (gfc_init_types): Use Fortran-90-style type
names, with kinds.
From-SVN: r130261
Tobias Burnus [Sat, 17 Nov 2007 18:19:16 +0000 (19:19 +0100)]
re PR fortran/34133 (Bind(c,name="") should be rejected for dummies; F2008: allow bind(c) for internal procs)
2007-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/34133
* decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow
bind(c) attribute for internal procedures.
2007-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/34133
* gfortran.dg/bind_c_usage_9.f03: New.
* gfortran.dg/interface_abstract_1.f90: Fix testcase.
From-SVN: r130260
Francois-Xavier Coudert [Sat, 17 Nov 2007 17:49:45 +0000 (17:49 +0000)]
re PR fortran/25252 (ICE on invalid code)
PR fortran/25252
* interface.c (gfc_current_interface_head,
gfc_set_current_interface_head): New functions.
* decl.c (gfc_match_modproc): Move check for syntax error earlier.
On syntax error, restore previous state of the interface.
* gfortran.h (gfc_current_interface_head,
gfc_set_current_interface_head): New prototypes.
* gfortran.dg/interface_22.f90: New test.
From-SVN: r130259
Richard Guenther [Sat, 17 Nov 2007 14:22:42 +0000 (14:22 +0000)]
re PR middle-end/34130 (the builtin abs() gives wrong result when used in some expression)
2007-11-17 Richard Guenther <rguenther@suse.de>
PR middle-end/34130
* fold-const.c (extract_muldiv_1): Do not move negative
constants inside ABS_EXPR.
* gcc.c-torture/execute/pr34130.c: New testcase.
From-SVN: r130258
Francois-Xavier Coudert [Sat, 17 Nov 2007 13:46:53 +0000 (13:46 +0000)]
re PR fortran/30285 (gfortran excessive memory usage with COMMON blocks in modules)
PR fortran/30285
* module.c (struct written_common, written_commons): New structure.
(compare_written_commons, free_written_common, write_common_0):
New functions.
(write_common): Call recursive function write_common_0.
From-SVN: r130257
Jonathan Wakely [Sat, 17 Nov 2007 01:11:43 +0000 (01:11 +0000)]
howto.html, [...]: Fix typos and anachronisms.
2007-11-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* docs/html/17_intro/howto.html, docs/html/21_strings/howto.html,
docs/html/22_locale/codecvt.html, docs/html/23_containers/howto.html,
docs/html/27_io/howto.html, docs/html/ext/howto.html,
docs/html/debug.html, docs/html/install.html,
docs/html/faq/index.html: Fix typos and anachronisms.
From-SVN: r130255
Paolo Carlini [Sat, 17 Nov 2007 00:32:29 +0000 (00:32 +0000)]
stl_algobase.h (struct __lexicographical_compare): Move to namespace std.
2007-11-16 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (struct __lexicographical_compare):
Move to namespace std.
(__lexicographical_compare_aux<>(_II1, _II1, _II2, _II2)): Add.
(lexicographical_compare<>(_II1, _II1, _II2, _II2)): Call the latter.
From-SVN: r130254
GCC Administrator [Sat, 17 Nov 2007 00:17:23 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130252
Francois-Xavier Coudert [Sat, 17 Nov 2007 00:10:00 +0000 (00:10 +0000)]
re PR fortran/34108 (ICE: Segmentation fault occurs by "write(*,0)" statement)
PR fortran/34108
* io.c (check_format_string): Only check character expressions.
(match_dt_format): Return MATCH_ERROR if that is what
gfc_match_st_label said.
* gfortran.dg/fmt_label_1.f90: New test.
From-SVN: r130249
Paolo Carlini [Fri, 16 Nov 2007 23:41:55 +0000 (23:41 +0000)]
stl_algobase.h (struct __lexicographical_compare): Add.
2007-11-16 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (struct __lexicographical_compare): Add.
(lexicographical_compare<>(_II1, _II1, _II2, _II2)): Use it.
(lexicographical_compare(const unsigned char*, const unsigned char*,
const unsigned char*, const unsigned char*),
lexicographical_compare(const char*, const char*, const char*,
const char*)): Remove.
* include/ext/numeric_traits.h (__numeric_traits_floating<>::
__is_signed): Add.
From-SVN: r130248
Andreas Tobler [Fri, 16 Nov 2007 23:24:53 +0000 (23:24 +0000)]
sysv.S: Load correct cr to compare if we have long double.
2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
* src/powerpc/sysv.S: Load correct cr to compare if we have long double.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
* testsuite/libffi.call/return_ldl.c: New test.
From-SVN: r130247
Francois-Xavier Coudert [Fri, 16 Nov 2007 22:38:21 +0000 (22:38 +0000)]
re PR fortran/33957 (gfortran rejects valid initialization expression)
PR fortran/33957
* gfortran.dg/initialization_15.f90 : New test.
* expr.c (check_inquiry): Don't call gfc_error now.
From-SVN: r130246
Francois-Xavier Coudert [Fri, 16 Nov 2007 22:31:28 +0000 (22:31 +0000)]
re PR libfortran/33583 (FAIL: gfortran.dg/gamma_1.f90)
PR libfortran/33583
PR libfortran/33698
* intrinsics/c99_functions.c (tgamma, tgammaf, lgamma, lgammaf):
New fallback functions.
* c99_protos.h (tgamma, tgammaf, lgamma, lgammaf): New prototypes.
* configure.ac: Add checks for tgamma, tgammaf, tgammal, lgamma,
lgammaf and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r130245
Francois-Xavier Coudert [Fri, 16 Nov 2007 22:20:44 +0000 (22:20 +0000)]
re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F with -m64 -g on Darwin)
PR fortran/33739
PR fortran/34084
* scanner.c (start_source_file, end_source_file,
exit_remaining_files, gfc_advance_line): Revert rev. 130016.
From-SVN: r130244
Ian Lance Taylor [Fri, 16 Nov 2007 22:11:29 +0000 (22:11 +0000)]
collect2.c (dump_file): If a demangled symbol is followed by a space...
* collect2.c (dump_file): If a demangled symbol is followed by a
space, make sure we output at least one space.
From-SVN: r130243
Richard Guenther [Fri, 16 Nov 2007 21:34:39 +0000 (21:34 +0000)]
re PR middle-end/34030 (ICE in in compare_values_warnv, at tree-vrp.c:701)
2007-11-16 Richard Guenther <rguenther@suse.de>
PR middle-end/34030
* fold-const.c (fold_binary): Use correct types for folding
1 << X & Y to Y >> X & 1.
* gcc.c-torture/compile/pr34030.c: New testcase.
From-SVN: r130238
Paolo Carlini [Fri, 16 Nov 2007 17:50:50 +0000 (17:50 +0000)]
locale_facets.cc: Fix typo in Copyright.
2007-11-16 Paolo Carlini <pcarlini@suse.de>
* src/locale_facets.cc: Fix typo in Copyright.
From-SVN: r130234
Paolo Carlini [Fri, 16 Nov 2007 17:45:35 +0000 (17:45 +0000)]
locale_facets.tcc (__verify_grouping): Move...
2007-11-16 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__verify_grouping): Move...
* src/locale_facets.cc: ... here.
* config/abi/pre/gnu.ver: Update exports.
From-SVN: r130233
Paul Thomas [Fri, 16 Nov 2007 14:47:31 +0000 (14:47 +0000)]
re PR fortran/34008 (ICE in gfc_trans_call, at fortran/trans-stmt.c:389 on elemental assignment)
2007-11-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34008
* trans-stmt.c (gfc_conv_elemental_dependencies): Add check for
INTENT_INOUT as well as INTENT_OUT.
(gfc_trans_call): Remove redundant gcc_asserts in dependency
check.
2007-11-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34008
* gfortran.dg/interface_assignment_3.f90.
From-SVN: r130232
Richard Guenther [Fri, 16 Nov 2007 14:40:04 +0000 (14:40 +0000)]
re PR tree-optimization/33870 (miscompiles sqlite)
2007-11-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33870
* tree.h (struct tree_memory_tag): Add base_for_components flag.
(struct tree_struct_field_tag): Remove nesting_level field.
(SFT_NESTING_LEVEL): Remove.
(SFT_BASE_FOR_COMPONENTS_P): Add.
* tree-flow.h (struct fieldoff): Remove nesting_level field. Add
base_for_components flag.
(push_fields_onto_fieldstack): Remove nesting_level parameter.
* tree-ssa-alias.c (create_sft): Likewise. Add base_for_components
parameter.
(create_overlap_variables_for): Deal with it.
* tree-dfa.c (dump_subvars_for): Likewise.
(dump_variable): Likewise.
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
Set base_for_components for first elements of sub-structures.
(create_variable_info_for): Handle base_for_components.
(set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
* tree-ssa-operands.c (ref_nesting_level): Remove.
(add_vars_for_offset): Remove full_ref parameter, always add
the offset of the pointed-to SFT.
(add_virtual_operand): Adjust for changed signature of
add_vars_for_offset.
* gcc.dg/torture/pr33870.c: New testcase.
From-SVN: r130231
Joseph Myers [Fri, 16 Nov 2007 14:06:44 +0000 (14:06 +0000)]
* de.po: Update.
From-SVN: r130230
Michael Matz [Fri, 16 Nov 2007 13:46:57 +0000 (13:46 +0000)]
* files.c (search_path_head): Fix check for absolute paths.
From-SVN: r130229
Paul Thomas [Fri, 16 Nov 2007 13:46:04 +0000 (13:46 +0000)]
re PR fortran/33986 (ICE on allocatable function result)
2007-11-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33986
* trans-array.c (gfc_conv_array_parameter ): Allow allocatable
function results.
2007-11-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33986
* gfortran.dg/allocatable_function_3.f90.
From-SVN: r130228
Sa Liu [Fri, 16 Nov 2007 13:33:47 +0000 (13:33 +0000)]
Add myself to Write After Approval.
From-SVN: r130227
Sa Liu [Fri, 16 Nov 2007 13:28:03 +0000 (13:28 +0000)]
Inlined floatunssidf2 and floatunsdidf2
From-SVN: r130226
Sa Liu [Fri, 16 Nov 2007 13:23:28 +0000 (13:23 +0000)]
Inlined floatunssidf2 and floatunsdidf2
From-SVN: r130225
Richard Guenther [Fri, 16 Nov 2007 13:14:03 +0000 (13:14 +0000)]
re PR tree-optimization/34113 (ICE in get_addr_dereference_operands, at tree-ssa-operands.c:1746)
2007-11-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34113
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Use correct conversion direction for checking type compatibility.
* gcc.c-torture/compile/pr34113.c: New testcase.
From-SVN: r130223
Richard Guenther [Fri, 16 Nov 2007 10:10:05 +0000 (10:10 +0000)]
re PR tree-optimization/34099 (optimizer problem)
2007-11-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34099
* tree-ssa-ccp.c (likely_value): Use a whitelist for operators
that produce UNDEFINED result if at least one of its operands
is UNDEFINED. By default the result is only UNDEFINED if all
operands are UNDEFINED.
* g++.dg/torture/pr3499.C: New testcase.
* gcc.c-torture/execute/pr34099.c: Likewise.
From-SVN: r130222
Olivier Hainque [Fri, 16 Nov 2007 08:52:51 +0000 (08:52 +0000)]
utils2.c (build_call_alloc_dealloc): Move the code retrieving an allocator return value from a super-aligned address...
2007-11-16 Olivier Hainque <hainque@adacore.com>
ada/
* utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
retrieving an allocator return value from a super-aligned address from
here to ...
* trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
expect a super-aligned address for a fat or thin pointer.
testsuite/
* gnat.dg/release_unc_maxalign.adb: New test.
From-SVN: r130221
Jakub Jelinek [Fri, 16 Nov 2007 07:06:25 +0000 (08:06 +0100)]
re PR c++/34100 (ICE with vector attribute)
PR c++/34100
* pt.c (apply_late_template_attributes): Do nothing if decl's type is
error_mark_node.
* g++.dg/template/crash73.C: New test.
From-SVN: r130220
Jakub Jelinek [Fri, 16 Nov 2007 07:02:49 +0000 (08:02 +0100)]
re PR driver/30460 (asm_debug is not initialized in gcc.c when using a "default" specs file)
PR driver/30460
* gcc.c (init_spec): Don't initialize asm_debug here...
(main): ... but here.
From-SVN: r130219
GCC Administrator [Fri, 16 Nov 2007 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130216
Tom Tromey [Fri, 16 Nov 2007 00:11:47 +0000 (00:11 +0000)]
tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'.
* tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to
'func'.
* tree-parloops.c (create_loop_fn): Use set_cfun.
* gengtype.c (open_base_files): Emit #undef cfun.
* ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
* function.h (cfun): New define.
* function.c: Undefine cfun.
From-SVN: r130213
Paolo Carlini [Thu, 15 Nov 2007 23:32:10 +0000 (23:32 +0000)]
2007-11-16 Paolo Carlini <pcarlini@suse.de>
* Fix typo in ChangeLog entry.
From-SVN: r130212
Paolo Carlini [Thu, 15 Nov 2007 22:59:12 +0000 (22:59 +0000)]
istream.tcc (basic_istream<>::sentry:: sentry(basic_istream<>&, bool)): Explicitely convert to bool.
2007-11-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/istream.tcc (basic_istream<>::sentry::
sentry(basic_istream<>&, bool)): Explicitely convert to bool.
* include/bits/locale_facets.tcc (num_put<>::_M_insert_int(_OutIter,
ios_base&, _CharT, _ValueT)): Likewise.
* include/std/ostream (basic_ostream<>::sentry::~sentry): Likewise.
From-SVN: r130211
Eric B. Weddington [Thu, 15 Nov 2007 19:32:26 +0000 (19:32 +0000)]
avr.c (avr_mcu_types): Add attiny88.
* config/avr/avr.c (avr_mcu_types): Add attiny88.
* config/avr/avr.h (LINK_SPEC): Likewise.
(CRT_BINUTILS_SPECS): Likewsie.
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
From-SVN: r130208
Paolo Carlini [Thu, 15 Nov 2007 19:05:17 +0000 (19:05 +0000)]
re PR libstdc++/34105 (Confusing error message with missing #include <algorithm>)
2007-11-15 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/34105
* include/bits/stl_algobase.h: Do not include <bits/algorithmfwd.h>.
(lexicographical_compare(const unsigned char*, const unsigned char*,
const unsigned char*, const unsigned char*),
lexicographical_compare(const char*, const char*, const char*,
const char*)): Move to namespace (std, _GLIBCXX_STD_P).
* include/parallel/algobase.h: Do not include <bits/algorithmfwd.h>.
(equal): Move after mismatch.
* include/bits/stl_heap.h (is_heap, is_heap_until): Reorder.
* include/bits/char_traits.h: Include <bits/stl_algobase.h> instead
of <bits/algorithmfwd.h>.
* include/bits/stl_algo.h: Include first <bits/algorithmfwd.h>.
* include/bits/algorithmfwd.h (lexicographical_compare): Do not
declare overloads.
* include/parallel/partition.h: Include <parallel/random_number.h>.
* testsuite/util/testsuite_abi.cc: Include <algorithm>.
From-SVN: r130207
Jakub Jelinek [Thu, 15 Nov 2007 19:02:54 +0000 (20:02 +0100)]
re PR middle-end/23848 (stack deallocation can be more efficient)
PR middle-end/23848
* tree-ssa-ccp.c (optimize_stack_restore): New function.
(execute_fold_all_builtins): Call optimize_stack_restore for
BUILT_IN_STACK_RESTORE.
* gcc.dg/tree-ssa/pr23848-1.c: New test.
* gcc.dg/tree-ssa/pr23848-2.c: New test.
* gcc.dg/tree-ssa/pr23848-3.c: New test.
* gcc.dg/tree-ssa/pr23848-4.c: New test.
From-SVN: r130206
Joseph Myers [Thu, 15 Nov 2007 17:28:21 +0000 (17:28 +0000)]
* es.po: Update.
From-SVN: r130205
Joseph Myers [Thu, 15 Nov 2007 16:18:41 +0000 (16:18 +0000)]
* es.po: Update.
From-SVN: r130204
Joseph Myers [Thu, 15 Nov 2007 16:17:31 +0000 (16:17 +0000)]
* de.po: Update.
From-SVN: r130203
Tobias Burnus [Thu, 15 Nov 2007 15:12:03 +0000 (16:12 +0100)]
re PR fortran/33917 (Rejects valid PROCEDURE declarations)
2007-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/33917
* decl.c (match_procedure_decl): Pre-resolve interface.
* resolve.c (resolve_symbol): Reject interfaces later
declared in procedure statements.
2007-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/33917
* gfortran.dg/proc_decl_11.f90: New.
From-SVN: r130202
Paolo Bonzini [Thu, 15 Nov 2007 14:45:55 +0000 (14:45 +0000)]
fwprop.c (try_fwprop_subst): Skip profitability check for forward propagation into an address...
2007-11-15 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c (try_fwprop_subst): Skip profitability check for forward
propagation into an address; that's done in should_replace_address.
From-SVN: r130201
Ulrich Weigand [Thu, 15 Nov 2007 14:30:58 +0000 (14:30 +0000)]
spu-protos.h (legitimate_const): Remove prototype.
* config/spu/spu-protos.h (legitimate_const): Remove prototype.
* config/spu/spu.c (legitimate_const): Remove.
(classify_immediate): Inline call to legitimate_const.
(spu_legitimate_address): Likewise. Allow SMBOL_REF + CONST_INT
for any constant, not just -512 .. 511.
From-SVN: r130200
Ben Elliston [Thu, 15 Nov 2007 12:22:04 +0000 (23:22 +1100)]
spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL condition from HONOR_NANS test.
* config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
condition from HONOR_NANS test.
* config/spu/spu.md (ceq_df): Always generate comparison code
inline, including checks for NaNs and infinities.
(cgt_df): Likewise.
(cgt_v2df): Likewise.
(cmpdf): Make this expander unconditional.
testsuite/
* gcc.target/spu/compare-dp.c: New test.
From-SVN: r130198
Richard Guenther [Thu, 15 Nov 2007 11:15:08 +0000 (11:15 +0000)]
tree-ssa-alias.c (create_overlap_variables_for): Make sure to only create SFTs if we also create variable infos for PTA.
2007-11-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (create_overlap_variables_for): Make sure
to only create SFTs if we also create variable infos for PTA.
* tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping
SFTs.
From-SVN: r130197
Richard Guenther [Thu, 15 Nov 2007 09:06:58 +0000 (09:06 +0000)]
tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to type for TBAA pruning.
2007-11-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
type for TBAA pruning.
(find_what_p_points_to): Call set_uids_in_ptset with the original
pointer, not the decl of the solution we collapsed to.
From-SVN: r130195
David Daney [Thu, 15 Nov 2007 05:33:28 +0000 (05:33 +0000)]
linux-unwind.h (mips_fallback_frame_state): Use CFA to find sigcontext.
2007-11-14 David Daney <ddaney@avtrex.com>
* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
to find sigcontext.
From-SVN: r130194
GCC Administrator [Thu, 15 Nov 2007 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130191
Eric Botcazou [Wed, 14 Nov 2007 23:21:15 +0000 (00:21 +0100)]
re PR target/33923 (ICE in reload_cse_simplify_operands (insn does not satisfy its constraints))
PR target/33923
* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
for registers in BR_REGS class.
From-SVN: r130188
Jakub Jelinek [Wed, 14 Nov 2007 19:32:45 +0000 (20:32 +0100)]
re PR middle-end/34088 (ICE with uninitialized variable and -Werror)
PR middle-end/34088
* tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
init_ssa_operands has not been called for cfun.
* gcc.dg/pr34088.c: New test.
From-SVN: r130187
Eric Botcazou [Wed, 14 Nov 2007 19:06:10 +0000 (20:06 +0100)]
re PR tree-optimization/34046 (verify_flow_info failed)
PR tree-optimization/34046
* cfg.c (update_bb_profile_for_threading): Avoid the division for the
scaling if the old probability is greater than the new base.
From-SVN: r130185
Eric Botcazou [Wed, 14 Nov 2007 18:31:57 +0000 (18:31 +0000)]
trans.c (call_to_gnu): Always set the source location on the call expression.
* trans.c (call_to_gnu): Always set the source location on the call
expression. If the function returns-by-target, also set it on the
address expression.
From-SVN: r130184
Johannes Singler [Wed, 14 Nov 2007 17:37:38 +0000 (17:37 +0000)]
multiway_merge.h: More robust finding of an arbitrary existing element inside the input sequences.
2007-11-14 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h: More robust finding of an
arbitrary existing element inside the input sequences.
* include/bits/stl_algo.h: Fix typo to actually call appropriate
sequential version.
From-SVN: r130183
Sebastian Pop [Wed, 14 Nov 2007 17:36:01 +0000 (17:36 +0000)]
tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove unused edges after loop duplication.
2007-11-14 Sebastian Pop <sebastian.pop@amd.com>
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
unused edges after loop duplication.
From-SVN: r130182
Samuel Tardieu [Wed, 14 Nov 2007 15:14:45 +0000 (15:14 +0000)]
i-cstrin.ads (chars_ptr): Make it a C convention type.
gcc/ada/
* i-cstrin.ads (chars_ptr): Make it a C convention type.
From-SVN: r130180