Brad Spencer [Tue, 1 Feb 2005 06:56:30 +0000 (06:56 +0000)]
crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
2005-01-31 Brad Spencer <spencer@infointeractive.com>
* crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
* configure: Regenerated.
From-SVN: r94526
Alexandre Oliva [Tue, 1 Feb 2005 06:33:35 +0000 (06:33 +0000)]
frv.c (movcc_fp_destination_operand): New.
* config/frv/frv.c (movcc_fp_destination_operand): New.
(gpr_or_memory_operand): Fix typo in comment.
(gpr_or_memory_operand_with_scratch): New.
* config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
* config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
movcc_fp_destination_operand.
(reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
Legitimize memory addresses using a scratch register.
From-SVN: r94523
Alexandre Oliva [Tue, 1 Feb 2005 06:07:14 +0000 (06:07 +0000)]
* parser.c (cp_parser_template_id): Revert comment patch too.
From-SVN: r94521
Alexandre Oliva [Tue, 1 Feb 2005 05:56:08 +0000 (05:56 +0000)]
re PR c++/18757 (ICE (on invalid) in get_innermost_template_args)
gcc/cp/ChangeLog:
PR c++/18757
PR c++/19366
PR c++/19499
* parser.c (cp_parser_template_id): Revert 2004-12-09's patch.
Issue an error when creating the template id.
* pt.c (fn_type_unification): Return early if the explicit
template arg list is an error_mark_node.
gcc/testsuite/ChangeLog:
* g++.dg/parse/typename7.C: Adjust error messages.
From-SVN: r94520
Jeff Law [Tue, 1 Feb 2005 05:28:23 +0000 (22:28 -0700)]
tree-into-ssa.c (mark_def_sites_global_data): Make KILLS bitmap a sparse bitmap instead of a simple bitmap.
* tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
bitmap a sparse bitmap instead of a simple bitmap.
(mark_def_sites_initialize_block): Corresponding changes.
(ssa_mark_def_sites_initialize_block): Likewise.
(ssa_mark_phi_uses): Likewise.
(mark_def_site, ssa_mark_def_sites): Likewise.
(mark_def_site_blocks): Likewise.
(rewrite_ssa_into_ssa): Likewise.
From-SVN: r94519
Jeff Law [Tue, 1 Feb 2005 03:52:37 +0000 (20:52 -0700)]
tree-ssa-dom.c (record_cond): Pass correct variable type for last argument to htab_find_slot_with_hash.
* tree-ssa-dom.c (record_cond): Pass correct variable type
for last argument to htab_find_slot_with_hash.
From-SVN: r94517
Jeff Law [Tue, 1 Feb 2005 03:48:52 +0000 (20:48 -0700)]
fold-const.c (fold, [...]): Do not lose side effects when optimizing 0 % X.
* fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
effects when optimizing 0 % X. Do not try to optimize X % 0.
* gcc.c-torture/execute/
20050131-1.c: New test.
* gcc.dg/wcaselabel.c: New test.
From-SVN: r94516
James E Wilson [Tue, 1 Feb 2005 03:06:26 +0000 (19:06 -0800)]
Fix typo in Richard Henderson's IA-64 vector patch.
* config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
1_mmalua.
From-SVN: r94515
Eric Christopher [Tue, 1 Feb 2005 03:02:51 +0000 (03:02 +0000)]
mips.c (override_options): Warn if -mint64 is used.
2005-02-01 Eric Christopher <echristo@redhat.com>
* config/mips/mips.c (override_options): Warn if -mint64
is used.
* doc/invoke.texi (MIPS Options): Document that -mint64 is
deprecated.
From-SVN: r94514
Ranjit Mathew [Tue, 1 Feb 2005 02:36:29 +0000 (02:36 +0000)]
re PR java/9157 (SEGV on bad java source)
PR java/9157
* parse.y (build_string_concatenation): Remove redundant if.
(patch_conditional_expr): Attempt to patch_string() the condition
of a ?: as well, in addition to its other operands.
From-SVN: r94513
Mark Mitchell [Tue, 1 Feb 2005 01:01:34 +0000 (01:01 +0000)]
decl.c (build_enumerator): Do not issue duplicate error messages about invalid enumeration constants.
* decl.c (build_enumerator): Do not issue duplicate error messages
about invalid enumeration constants.
* parser.c (cp_parser_non_integral_constant_expression): Always
set parser->non_integral_constant_expression_p.
(cp_parser_primary_expression): Add cast_p parameter. Issue
errors about invalid uses of floating-point literals in
cast-expressions.
(cp_parser_postfix_expression): Add cast_p parameter.
(cp_parser_open_square_expression): Pass it.
(cp_parser_parenthesized_expression_list): Add cast_p parameter.
(cp_parser_unary_expression): Likewise.
(cp_parser_new_placement): Pass it.
(cp_parser_direct_new_declarator): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_cast_expression): Add cast_p parameter.
(cp_parser_binary_expression): Likewise.
(cp_parser_question_colon_clause): Likewise.
(cp_parser_assignment_expression): Likewise.
(cp_parser_expression): Likewise.
(cp_parser_constant_expression): If an integral constant
expression is invalid, return error_mark_node.
(cp_parser_expression_statement): Pass cast_p.
(cp_parser_condition): Likewise.
(cp_parser_iteration_statement): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_mem_initializer): Likewise.
(cp_parser_template_argument): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_throw_expression): Likewise.
(cp_parser_attribute_list): Likewise.
(cp_parser_simple_cast_expression): Likewise.
(cp_parser_functional_cast): Likewise.
(cp_parser_late_parsing_default_args): Likewise.
(cp_parser_sizeof_operand): Save/restore
non_integral_constant_expression_p.
* include/std/std_limits.h (numeric_limits<float>::has_denorm):
Add required cast.
(numeric_limits<double>::has_denorm): Likewise.
(numeric_limits<long double>::has_denorm): Likewise.
* g++.dg/other/warning1.C: Adjust error messags.
* g++.dg/parse/constant5.C: New test.
From-SVN: r94512
Kazu Hirata [Tue, 1 Feb 2005 00:41:56 +0000 (00:41 +0000)]
* cse.c (get_cse_reg_info): Update a comment.
From-SVN: r94511
GCC Administrator [Tue, 1 Feb 2005 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r94509
Kazu Hirata [Tue, 1 Feb 2005 00:14:47 +0000 (00:14 +0000)]
cse.c (cse_reg_info): Remove hash_next, next, regno.
* cse.c (cse_reg_info): Remove hash_next, next, regno. Add
timestamp.
(cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
(cached_regno): Initialize to INVALID_REGNUM.
(cse_reg_info_table_size,
cse_reg_info_table_first_uninitialized,
cse_reg_info_timestamp): New.
(REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
get_cse_reg_info.
(init_cse_reg_info, get_cse_reg_info_1): New.
(get_cse_reg_info): Cache the last look-up.
(new_basic_block): Update the code to clear mappings from
registers to cse_reg_info entries.
(cse_main): Call init_cse_reg_info.
From-SVN: r94506
Steven Bosscher [Tue, 1 Feb 2005 00:09:40 +0000 (00:09 +0000)]
re PR c/19333 (C front end accepts arrays of incomplete types)
gcc/
PR c/19333
* c-decl.c (start_decl): Do not warn about arrays of elements with
an incomplete type here.
(grokdeclarator): Do it here by making a pedwarn an error.
* c-typeck.c (push_init_level): If there were previous errors with
the constructor type, do not warn about braces for initializers.
(process_init_element): Likewise for excess initializer elements.
testsuite/
PR c/19333
* testsuite/gcc.c-torture/compile/
20011130-1.c: Reorder to make
the test case valid.
* testsuite/gcc.dg/
20030815-1.c: Remove invalid tests.
* testsuite/gcc.dg/array-7.c: Adjust expected result.
* testsuite/gcc.dg/pr18596-3.c: Likewise.
* testsuite/gcc.dg/noncompile/
20000901-1.c: Likewise.
* testsuite/gcc.dg/noncompile/init-2.c: Likewise.
* testsuite/gcc.dg/noncompile/init-4.c: Likewise.
From-SVN: r94505
Dale Johannesen [Mon, 31 Jan 2005 23:18:49 +0000 (23:18 +0000)]
extend.texi (nested functions): Fix linkage description.
2005-01-31 Dale Johannesen <dalej@apple.com>
* doc/extend.texi (nested functions): Fix linkage description.
Clarify that static is not allowed.
From-SVN: r94499
Kazu Hirata [Mon, 31 Jan 2005 22:43:36 +0000 (22:43 +0000)]
* cse.c (delete_trivially_dead_insn): Don't iterate.
From-SVN: r94498
Andrew Pinski [Mon, 31 Jan 2005 22:29:27 +0000 (22:29 +0000)]
rs6000.md (copysignsf3): New expand.
2005-01-31 Andrew Pinski <pinskia@physics.uc.edu>
* config/rs6000/rs6000.md (copysignsf3): New expand.
(copysigndf3): Likewise.
From-SVN: r94497
Mike Stump [Mon, 31 Jan 2005 22:05:07 +0000 (22:05 +0000)]
parser.c (cp_lexer_new_main): Get the first token, first, before doing anything.
* parser.c (cp_lexer_new_main): Get the first token, first, before
doing anything.
Radar
3929334
From-SVN: r94494
Steven Bosscher [Mon, 31 Jan 2005 21:14:44 +0000 (21:14 +0000)]
recog.c (constrain_operands): Only look for earlyclobber operand conflicts if an '&' constraint was seen.
* recog.c (constrain_operands): Only look for earlyclobber operand
conflicts if an '&' constraint was seen.
From-SVN: r94493
Marc Espie [Mon, 31 Jan 2005 18:51:26 +0000 (18:51 +0000)]
Thx to Eric Botcazou, Andrew Pinski and Mark Kettenis for this one.
Turns out OpenBSD was mistakenly including an embedded system fragment,
and thus outputting stabs debug by default.
Once the only needed definition is saved from that file, we happily compile
with default dwarf2. The rest of the toolchain is happy, and any recent
gdb works very well with that...
This obviously improves the stability of the compiler, since dwarf2 output
is so much more well-tested than stabs on elf platforms...
2005-01-31 Marc Espie <espie@openbsd.org>
* config.gcc: Don't include embedded systems fragment, switches default
debugging format to ELF.
* config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
longer pick it up there.
From-SVN: r94488
Dale Johannesen [Mon, 31 Jan 2005 18:11:19 +0000 (18:11 +0000)]
darwin.md (movsf_low_di): Make work.
2005-01-31 Dale Johannesen <dalej@apple.com>
* config/rs6000/darwin.md (movsf_low_di): Make work.
(movdf_low_di): Make work.
From-SVN: r94487
Dale Johannesen [Mon, 31 Jan 2005 18:03:46 +0000 (18:03 +0000)]
darwin-tramp.asm (__trampoline_setup): Make work for 64 bit.
2005-01-31 Dale Johannesen <dalej@apple.com>
* config/rs6000/darwin-tramp.asm (__trampoline_setup):
Make work for 64 bit.
From-SVN: r94486
Dale Johannesen [Mon, 31 Jan 2005 18:00:52 +0000 (18:00 +0000)]
re PR middle-end/19650 (miscompiling of array acess of (int)(a==2))
2005-01-31 Roger Sayle <roger@eyesopen.com>
Dale Johannesen <dalej@apple.com>
PR middle-end/19650
* fold-const.c (fold_binary_op_with_conditional_arg):
Make types match original operands, before STRIP_NOPS.
From-SVN: r94485
Paolo Carlini [Mon, 31 Jan 2005 16:22:01 +0000 (16:22 +0000)]
cpp_type_traits.h: Add types to the structs thus making type_traits.h redundant...
2005-01-31 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
* include/bits/cpp_type_traits.h: Add types to the structs thus
making type_traits.h redundant; exploit new __truth_type and
__traitor helpers.
* include/bits/type_traits.h: Remove.
* include/Makefile.am: Update.
* include/Makefile.in: Regenerate.
* include/backward/tempbuf.h: Include cpp_type_traits.h instead.
* include/bits/basic_string.h (replace(iterator, iterator,
_InputIterator, _InputIterator), _S_construct(_InIterator,
_InIterator, const _Alloc&)): Use __is_integer instead.
* include/bits/stl_bvector.h (vector(_InputIterator,
_InputIterator, const allocator_type&), assign(_InputIterator,
_InputIterator), insert(iterator, _InputIterator, _InputIterator)):
Likewise.
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator)): Use __is_scalar.
* include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
const allocator_type&), assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
* include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Likewise.
* include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
_ForwardIterator)): Use __is_scalar.
* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
_Size, const _Tp&)): Likewise.
* include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
const allocator_type&), assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
* include/debug/debug.h (__valid_range(const _InputIterator&,
const _InputIterator&)): Use __is_integer.
* include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
* include/std/std_string.h: Include cpp_type_traits.h instead.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r94484
Mark Mitchell [Mon, 31 Jan 2005 16:16:16 +0000 (16:16 +0000)]
* decl.c (start_decl): Add missing parentheses.
From-SVN: r94483
Alan Modra [Mon, 31 Jan 2005 13:37:37 +0000 (13:37 +0000)]
linux-unwind.h (struct gcc_vregs): New.
* config/rs6000/linux-unwind.h (struct gcc_vregs): New.
(struct gcc_regs): Rename from gcc_pt_regs. Add more regs.
(struct gcc_sigcontext): Delete. Merge contents to..
(struct gcc_ucontext): ..here.
(get_sigcontext): Delete.
(get_regs): New function, like get_sigcontext but return regs ptr.
64-bit version finds regs from r1 to support vdso.
(ppc_linux_aux_vector): New function.
(ppc_fallback_frame_state): Modify for get_regs. Restore fprs
and vector regs.
From-SVN: r94481
Ira Rosen [Mon, 31 Jan 2005 11:51:01 +0000 (11:51 +0000)]
tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead sizetype.
2005-01-31 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
sizetype.
(vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
redundant fold. Fix misalignment for MINUS_EXPR.
(vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
(vect_analyze_pointer_ref_access): Likewise.
(vect_get_memtag_and_dr): Likewise.
From-SVN: r94480
Richard Henderson [Mon, 31 Jan 2005 09:16:02 +0000 (01:16 -0800)]
i386.c (absnegsf2_mixed): Remove all of the # hackery.
* config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
(absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
absnegdf2_i387, absnegxf2_i387): Likewise.
From-SVN: r94473
Richard Henderson [Mon, 31 Jan 2005 09:10:01 +0000 (01:10 -0800)]
copysign1.c: Special case sizeof long double for intel double extended format.
* gcc.c-torture/execute/ieee/copysign1.c: Special case sizeof
long double for intel double extended format.
* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
From-SVN: r94472
Richard Henderson [Mon, 31 Jan 2005 09:02:25 +0000 (01:02 -0800)]
re PR other/19696 (gcc.c-torture/execute/ieee/copysign1.c: Unsatisfied symbols: copysignl)
PR 19696
* optabs.c (expand_copysign_absneg): New.
(expand_copysign_bit): Split out from ...
(expand_copysign): ... here. Use expand_copysign_absneg.
From-SVN: r94471
Mark Mitchell [Mon, 31 Jan 2005 06:16:54 +0000 (06:16 +0000)]
re PR c++/19555 (specialized in the wrong namespace causes an ICE)
PR c++/19555
* cp-tree.h (DECL_USE_TEMPLATE): Expand documentation.
* decl.c (duplicate_decls): Do not discard
DECL_IMPLICIT_INSTANTIATION when merging declarations.
(start_decl): Do not SET_DECL_TEMPLATE_SPECIALIZATION for
variables that do not have DECL_USE_TEMPLATE.
PR c++/19555
* g++.dg/template/static10.C: New test.
From-SVN: r94469
Roger Sayle [Mon, 31 Jan 2005 06:04:07 +0000 (06:04 +0000)]
re PR middle-end/19697 (gcc.c-torture/execute/ieee/mzero6.c:24: error: unrecognizable insn)
PR middle-end/19697
* config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
constant as the second operand and a register as the third.
From-SVN: r94468
Danny Smith [Mon, 31 Jan 2005 05:49:07 +0000 (05:49 +0000)]
re PR target/19704 (ICE for tail call of regparm 3 and dllimport)
PR target/19704
* config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
that dllimport'd functions do not use all call-clobbered registers
to pass parameters.
From-SVN: r94467
Mark Mitchell [Mon, 31 Jan 2005 04:07:41 +0000 (04:07 +0000)]
re PR c++/19395 (invalid scope qualifier allowed in typedef)
PR c++/19395
* decl.c (grokdeclarator): Refactor code so that qualified names
are never allowed as the declarator in a typedef.
PR c++/19367
* name-lookup.c (do_nonmember_using_decl): Avoid overloading
builtin declarations.
PR c++/19395
* g++.dg/parse/error24.C: New test.
PR c++/19367
* g++.dg/lookup/builtin1.C: New test.
From-SVN: r94466
Richard Henderson [Mon, 31 Jan 2005 04:00:55 +0000 (20:00 -0800)]
re PR other/19696 (gcc.c-torture/execute/ieee/copysign1.c: Unsatisfied symbols: copysignl)
PR 19696
* optabs.c (expand_absneg_bit): Split out from expand_unop and
expand_abs_nojump and generalize. Use operand_subword and
emit_no_conflict_block. Support large modes.
(expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall
back to maximum.
(expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back
negation to subtraction.
(expand_copysign): Check that the format has signed zeros.
Use operand_subword and emit_no_conflict_block. Support large modes.
From-SVN: r94465
Mark Mitchell [Mon, 31 Jan 2005 01:17:11 +0000 (01:17 +0000)]
re PR c++/19457 (Warning depends on cached constant)
PR c++/19457
* call.c (convert_like_real): Inline call to
dubious_conversion_warnings here.
* cp-tree.h (dubious_conversion_warnings): Remove.
* semantics.c (finish_unary_op_expr): Copy INTEGER_CSTs before
setting TREE_NEGATED_INT.
* typeck.c (dubious_conversion_warnings): Remove.
PR c++/19349
* name-lookup.c (pushdecl_namespace_level): Avoid accessing free'd
memory.
PR c++/19457
* g++.dg/warn/conv3.C: New test.
From-SVN: r94463
GCC Administrator [Mon, 31 Jan 2005 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r94457
Daniel Berlin [Sun, 30 Jan 2005 21:37:52 +0000 (21:37 +0000)]
I swear this was in there when i committed, but apparently not
From-SVN: r94449
Daniel Berlin [Sun, 30 Jan 2005 19:08:37 +0000 (19:08 +0000)]
re PR tree-optimization/19624 (PRE pessimizes ivopts)
2005-01-30 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/19624
* Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
* tree-ssa-pre.c: Add cfgloop.h.
Update comment.
(pre_stats): New member, constified.
(inserted_exprs): New static variable.
(NECESSARY): New macro.
(create_expression_by_pieces): Fold the expression, and
mark it as defaulting to not necessary. Also put in
inserted_exprs.
(fully_constant_expression): New function.
(insert_into_preds_of_block): Modify to not insert phis when we
are playing with induction variables.
Push phis onto the inserted_exprs vector, and mark them as not
necessary by default.
(insert_aux): Call fully_constant_expression on eprime.
If all edges produce the same value, mark it constant.
(mark_operand_necessary): New function.
(remove_dead_inserted_code): New function.
(init_pre): Init loop optimizer to get loop info.
(fini_pre): Free loop_optimizer, and inserted_exprs vec.
(execute_pre): Commit edge inserts, then remove dead code.
From-SVN: r94448
Richard Henderson [Sun, 30 Jan 2005 18:34:03 +0000 (10:34 -0800)]
* options.c (gfc_init_options): Zero flag_errno_math.
From-SVN: r94447
Richard Henderson [Sun, 30 Jan 2005 18:27:23 +0000 (10:27 -0800)]
rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
* rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
* varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
From-SVN: r94446
Richard Henderson [Sun, 30 Jan 2005 17:55:12 +0000 (09:55 -0800)]
PR 19700 testcase.
From-SVN: r94443
Richard Henderson [Sun, 30 Jan 2005 17:48:01 +0000 (09:48 -0800)]
re PR target/19700 (ICE in final_scan_insn with O1 -g -march=athlon-xp -mfpmath=sse)
PR target/19700
* config/i386/i386.c (ix86_expand_copysign): New.
(ix86_split_copysign_const): New.
(ix86_split_copysign_var): Rename from ix86_split_copysign,
rearrange op1/nmask operands.
* config/i386/i386-protos.h: Update.
* config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
(copysigndf3): Likewise.
(copysignsf3_const, copysigndf3_const): New.
(copysignsf3_var): Rename from copysignsf3, split out splitter
and fix split predicate for X constraint.
(copysigndf3_var): Similarly.
From-SVN: r94442
Kazu Hirata [Sun, 30 Jan 2005 15:36:13 +0000 (15:36 +0000)]
optabs.c, [...]: Update copyright.
* optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
doc/tm.texi, doc/tree-ssa.texi: Update copyright.
From-SVN: r94441
Paolo Carlini [Sun, 30 Jan 2005 14:09:58 +0000 (14:09 +0000)]
re PR libstdc++/19642 (streaming doubles is very slow compared to sprintf)
2005-01-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/19642
* config/locale/generic/c_locale.h (__convert_from_v): Switch only
LC_NUMERIC, and only when actually != "C".
From-SVN: r94440
Bud Davis [Sun, 30 Jan 2005 13:16:19 +0000 (13:16 +0000)]
re PR libfortran/19647 (inquire(delim=) returns garbage)
2005-01-30 Bud Davis <bdavis@gfortran.org>
PR fortran/19647
* io/inquire.c (inquire_via_unit): Use correct variable for
pad.
* gfortan.dg/inquire_7.f90
From-SVN: r94439
Richard Henderson [Sun, 30 Jan 2005 03:14:44 +0000 (19:14 -0800)]
re PR target/19690 (ICE with -O3 -march=athlon-xp -mfpmath=sse -mno-80387)
PR target/19690
* config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
of # and * in constraints.
From-SVN: r94433
Richard Henderson [Sun, 30 Jan 2005 02:33:27 +0000 (18:33 -0800)]
re PR middle-end/19689 (ICE in store_bit_field, at expmed.c)
PR middle-end/19689
* expr.c (store_field): Don't strip sub-mode cast when the input
data is even smaller.
From-SVN: r94429
Richard Henderson [Sun, 30 Jan 2005 02:13:46 +0000 (18:13 -0800)]
re PR middle-end/19687 (ICE with union initializer)
PR middle-end/19687
* expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
union being empty.
From-SVN: r94421
Richard Henderson [Sun, 30 Jan 2005 00:27:01 +0000 (16:27 -0800)]
combine.c (make_field_assignment): Fix argument order to gen_int_mode.
* combine.c (make_field_assignment): Fix argument order
to gen_int_mode.
From-SVN: r94420
GCC Administrator [Sun, 30 Jan 2005 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r94417
Richard Guenther [Sat, 29 Jan 2005 19:25:17 +0000 (19:25 +0000)]
re PR tree-optimization/15791 (fold misses that two ADDR_EXPR of an arrary obvious not equal)
2005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
PR tree-optimization/15791
* fold-const.c (extract_array_ref): New function.
(fold): Fold comparisons between &a[i] and &a[j] or
semantically equivalent trees.
* gcc.dg/tree-ssa/pr15791-1.c: New testcase.
* gcc.dg/tree-ssa/pr15791-2.c: Likewise.
* gcc.dg/tree-ssa/pr15791-3.c: Likewise.
* gcc.dg/tree-ssa/pr15791-4.c: Likewise.
* gcc.dg/tree-ssa/pr15791-5.c: Likewise.
* g++.dg/tree-ssa/pr15791-1.C: Likewise.
* g++.dg/tree-ssa/pr15791-2.C: Likewise.
* g++.dg/tree-ssa/pr15791-3.C: Likewise.
* g++.dg/tree-ssa/pr15791-4.C: Likewise.
* g++.dg/tree-ssa/pr15791-5.C: Likewise.
From-SVN: r94414
Jeff Law [Sat, 29 Jan 2005 18:55:10 +0000 (11:55 -0700)]
gcse.c (insert_expr_in_table): Revamp handling of available and anticipatable occurrence lists to avoid...
* gcse.c (insert_expr_in_table): Revamp handling of available
and anticipatable occurrence lists to avoid unnecessary list
walking.
(insert_set_in_table): Similarly.
From-SVN: r94413
Paul Brook [Sat, 29 Jan 2005 17:46:34 +0000 (17:46 +0000)]
re PR fortran/18565 (gfortran: CONJG: false error message about standard violation)
2005-01-29 Paul Brook <paul@codesourcery.com>
PR fortran/18565
* check.c (real_or_complex_check): New function.
(gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
* intrinsic.c (add_functions): Use new check functions.
* intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
Add prototypes.
testsuite/
* gfortran.dg/double_complex_1.f90: New test.
From-SVN: r94412
Joseph Myers [Sat, 29 Jan 2005 16:12:45 +0000 (16:12 +0000)]
c-common.c (fix_string_type): Just use c_build_qualified_type to build string type.
* c-common.c (fix_string_type): Just use c_build_qualified_type to
build string type.
(c_build_qualified_type): Build qualified array types with
TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
* c-decl.c (c_make_fname_decl): Build unqualified array type
before qualified type.
(grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
type is qualified, not just if type itself is. Don't apply
qualifiers to array type when declarator is processed. Apply
qualifiers to field type whether or not it is an array type.
Don't handle array types specially for applying qualifiers to
variables.
* c-typeck.c (composite_type): Build unqualified element type and
array type when forming composite of array types.
(common_pointer_type, comptypes, comp_target_types,
type_lists_compatible_p, build_indirect_ref, build_array_ref,
convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
types.
(type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
(args2) in variables a1 and a2.
testsuite:
* gcc.dg/Wwrite-strings-1.c, gcc.dg/array-quals-2.c,
gcc.dg/lvalue-3.c: New tests.
* gcc.dg/concat.c: Update expected messages.
From-SVN: r94411
Thomas Koenig [Sat, 29 Jan 2005 15:45:17 +0000 (15:45 +0000)]
re PR libfortran/19595 ([4.0 only] eor does not work)
2005-01-29 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/19595
* io/transfer.c (data_transfer_init): eor requires advance="NO".
testsuite/
* gfortran.dg/eor_1.f90: New test.
From-SVN: r94410
Steven G. Kargl [Sat, 29 Jan 2005 15:35:50 +0000 (15:35 +0000)]
re PR fortran/19589 (Regression: Error on Data assignment with LOGICAL*1)
2005-01-29 Steven G. Kargl <kargls@comcast.net>
PR fortran/19589
* expr.c (gfc_check_assign): Check for conformance of logical operands
testsuite/
* gfortran.dg/logical_data_1.f90: New test.
From-SVN: r94409
Kazu Hirata [Sat, 29 Jan 2005 12:16:36 +0000 (12:16 +0000)]
lang-specs.h, [...]: Update copyright.
* lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
copyright.
From-SVN: r94408
Kazu Hirata [Sat, 29 Jan 2005 12:08:04 +0000 (12:08 +0000)]
cse.c (n_elements_made, [...]): Remove.
* cse.c (n_elements_made, max_elements_made): Remove.
(insert): Don't touch n_elements_made.
(cse_main): Don't touch n_elements_made or max_elements_made.
From-SVN: r94407
Hans-Peter Nilsson [Sat, 29 Jan 2005 04:22:08 +0000 (04:22 +0000)]
configure.in (noconfigdirs): Match like cris-*-*.
* configure.in (noconfigdirs) <crisv32-*-*>: Match like cris-*-*.
<crisv32-*-*, cris-*-*>: Only disable target-newlib and
target-libgloss when not *-*-elf and *-*-aout.
* configure: Regenerate.
From-SVN: r94404
Mark Mitchell [Sat, 29 Jan 2005 02:07:18 +0000 (02:07 +0000)]
re PR c++/19253 (bad error message / ICE for invalid template parameter)
PR c++/19253
* parser.c (cp_parser_diagnose_invalid_type_name): Commit to
tentative parses.
PR c++/19253
* g++.dg/template/crash33.C: New test.
From-SVN: r94403
Mark Mitchell [Sat, 29 Jan 2005 00:47:57 +0000 (00:47 +0000)]
re PR c++/19667 (ICE on (very trivial) invalid)
PR c++/19667
* g++.dg/template/crash32.C: New test.
PR c++/19667
* pt.c (redeclare_class_template): Robustify.
From-SVN: r94402
Jeroen Frijters [Sat, 29 Jan 2005 00:43:50 +0000 (00:43 +0000)]
re PR libgcj/19649 (java.util.Date.getTimezoneOffset returns negated output)
2004-01-28 Jeroen Frijters <jeroen@frijters.net>
PR libgcj/19649
* java/util/Date.java
(Date(int,int,int), Date(int,int,int,int,int)): Delegate to other
constructor.
(Date(int,int,int,int,int,int)): Fixed to handle out-of-range
arguments.
(getTimezoneOffset): Inverted sign.
From-SVN: r94401
GCC Administrator [Sat, 29 Jan 2005 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r94399
Stephane Carrez [Fri, 28 Jan 2005 22:08:16 +0000 (23:08 +0100)]
re PR target/15384 (Lines witout effect in t-m68hc11-gas file)
PR target/15384
* config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
configuration part of dp-bit.c to be lost.
From-SVN: r94390
Paolo Carlini [Fri, 28 Jan 2005 21:00:19 +0000 (21:00 +0000)]
type_traits (is_function): Minor consistency tweaks.
2005-01-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_function): Minor consistency tweaks.
From-SVN: r94385
Geoffrey Keating [Fri, 28 Jan 2005 18:57:59 +0000 (18:57 +0000)]
libstdc++.exp (libstdc++_init): Search the path for the compiler.
* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
for the compiler. Don't set cxxflags.
(v3_target_compile): Search for libv3test.a relative to $objdir.
(lsearch_all_inline): New.
(lsearch_all_inline_not): New.
(v3-list-tests): Rewrite to not need generated files.
* testsuite/Makefile.am (IGNORE_WCHAR_T): New.
(IGNORE_THREAD): New.
(TESTS_TO_IGNORE): New.
(site.exp): Set tests_to_ignore, cxxflags.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r94384
Roger Sayle [Fri, 28 Jan 2005 17:49:47 +0000 (17:49 +0000)]
expmed.c (expand_mult_highpart_optab): When attempting to use a non-widening multiplication in a wider mode...
* expmed.c (expand_mult_highpart_optab): When attempting to use
a non-widening multiplication in a wider mode, the operands need
to be converted (zero or sign extended) to that mode.
From-SVN: r94383
Ian Lance Taylor [Fri, 28 Jan 2005 17:33:54 +0000 (17:33 +0000)]
re PR middle-end/16558 (bogus missing-return warning)
PR middle-end/16558
* g++.dg/warn/Wreturn-type-2.C: New test.
From-SVN: r94382
Ian Lance Taylor [Fri, 28 Jan 2005 17:32:57 +0000 (17:32 +0000)]
re PR middle-end/16558 (bogus missing-return warning)
PR middle-end/16558
PR middle-end/19583
* gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
through if both operands fall through.
From-SVN: r94381
Paolo Carlini [Fri, 28 Jan 2005 17:20:43 +0000 (17:20 +0000)]
type_traits: Implement is_empty.
2005-01-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_empty.
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
is_empty.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
typedefs.cc: Likewise.
* include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
From-SVN: r94379
Kazu Hirata [Fri, 28 Jan 2005 17:12:08 +0000 (17:12 +0000)]
* cse.c (fold_rtx) <PC>: Don't optimize.
From-SVN: r94378
Jeff Law [Fri, 28 Jan 2005 16:50:58 +0000 (09:50 -0700)]
* gcc.dg/tree-ssa/
20050128-1.c: New test.
From-SVN: r94377
Jeff Law [Fri, 28 Jan 2005 16:35:46 +0000 (09:35 -0700)]
fold-const.c (fold, [...]): Optimize 0 % X.
* fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
(case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
From-SVN: r94376
Kazu Hirata [Fri, 28 Jan 2005 15:45:11 +0000 (15:45 +0000)]
cse.c (cse_reg_info_free_list, [...]): Remove.
* cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
cse_reg_info_used_list_end): Remove.
(cse_reg_info_list, cse_reg_info_list_free): New.
(get_cse_reg_info): When allocating an instance of
cse_reg_info, add it to the beginning of the cse_reg_info_list
list. Remove code to maintain cse_reg_info_used_list.
(new_basic_block): Reset the free list to the beginning of
cse_reg_info_list.
From-SVN: r94375
Steven Bosscher [Fri, 28 Jan 2005 15:23:48 +0000 (15:23 +0000)]
Fix date on my entry from this morning.
From-SVN: r94374
Richard Sandiford [Fri, 28 Jan 2005 14:00:12 +0000 (14:00 +0000)]
Rmove bogus line from last entry.
From-SVN: r94372
Richard Sandiford [Fri, 28 Jan 2005 13:57:29 +0000 (13:57 +0000)]
frv.c (bdesc_2arg): Remove __MDPACKH.
* config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
(frv_init_builtins): Change its prototype to take 4 uhalf arguments.
(frv_expand_mdpackh_builtin): New function.
(frv_expand_builtin): Use it to expand __MDPACKH.
* config/frv/media.h (__MDPACKH): Update prototype.
* doc/extend.texi (__MDPACKH): Update documentation.
From-SVN: r94371
Paolo Carlini [Fri, 28 Jan 2005 13:29:41 +0000 (13:29 +0000)]
type_traits: Implement is_abstract, by exploiting the resolution of DR core/337.
2005-01-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_abstract, by exploiting the
resolution of DR core/337.
* testsuite/testsuite_tr1.h: Add AbstractClass.
* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
is_abstract.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
typedefs.cc: Likewise.
* include/tr1/type_traits (is_function): Rewrite, use the conversion
F& -> F* instead, thus avoiding problems with abstract classes.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_function/is_function.cc: Add a test for tricky AbstractClass.
From-SVN: r94370
Uros Bizjak [Fri, 28 Jan 2005 09:16:50 +0000 (10:16 +0100)]
i386.c (ix86_expand_fp_absneg_operator): Use SSE_FLOAT_MODE_P for use_sse computation.
* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
SSE_FLOAT_MODE_P for use_sse computation.
From-SVN: r94365
Steven Bosscher [Fri, 28 Jan 2005 08:26:24 +0000 (08:26 +0000)]
* gcc.dg/tree-ssa/
20030711-2.c: Run at -O2, not -O1.
From-SVN: r94364
Ralf Corsepius [Fri, 28 Jan 2005 06:16:14 +0000 (07:16 +0100)]
re PR target/19663 (LINK_GCC_C_SEQUENCE_SPEC doesn't play nice with RTEMS)
2005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
PR target/19663
* config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
From-SVN: r94363
Matt Austern [Fri, 28 Jan 2005 05:54:55 +0000 (05:54 +0000)]
objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before calling instantiate_pending_templates.
* objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
calling instantiate_pending_templates.
From-SVN: r94362
Richard Henderson [Fri, 28 Jan 2005 00:55:07 +0000 (16:55 -0800)]
builtins.c (expand_builtin_copysign): New.
* builtins.c (expand_builtin_copysign): New.
(expand_builtin): Call it.
* genopinit.c (optabs): Add copysign_optab.
* optabs.c (init_optabs): Initialize it.
(expand_copysign): New.
* optabs.h (OTI_copysign, copysign_optab): New.
(expand_copysign): Declare.
* config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
(copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
* config/i386/i386.c (ix86_build_signbit_mask): Split from ...
(ix86_expand_fp_absneg_operator): ... here.
(ix86_split_copysign): New.
* config/i386/i386-protos.h: Update.
* config/i386/i386.md (UNSPEC_COPYSIGN): New.
(copysignsf3, copysigndf3): New.
* config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
(copysignsf3, ncopysignsf3): New.
(copysigndf3, ncopysigndf3): New.
(copysignxf3, ncopysignxf3): New.
* config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
From-SVN: r94357
Richard Henderson [Fri, 28 Jan 2005 00:42:46 +0000 (16:42 -0800)]
* gcc.dg/uninit-I.c: Fix typos in dg-options and dg-warning directives.
From-SVN: r94356
GCC Administrator [Fri, 28 Jan 2005 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r94354
Arend Bayer [Thu, 27 Jan 2005 23:00:19 +0000 (23:00 +0000)]
cse.c: (find_best_addr): Don't call copy_rtx before calling fold_rtx.
* cse.c: (find_best_addr): Don't call copy_rtx before calling
fold_rtx. Save cost recomputation if fold_rtx did nothing.
(fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
NULL_RTX.
Co-Authored-By: Kazu Hirata <kazu@cs.umass.edu>
From-SVN: r94345
Jeff Law [Thu, 27 Jan 2005 22:33:14 +0000 (15:33 -0700)]
tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register definitions of SSA_NAMEs which are not being rewritten.
* tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
definitions of SSA_NAMEs which are not being rewritten.
(rewrite_ssa_into_ssa): Only initialize the current definition
of an SSA_NAME if that SSA_NAME has been marked for rewriting.
If checking is enabled, assert that SSA_NAME_AUX is clear for all
SSA_NAMEs before returning.
From-SVN: r94343
Eric Botcazou [Thu, 27 Jan 2005 21:46:36 +0000 (21:46 +0000)]
Fix a couple of typos.
From-SVN: r94340
Laurent GUERBY [Thu, 27 Jan 2005 20:19:50 +0000 (20:19 +0000)]
Makefile.in: Fix a-intnam.ads from previous commit, add 2005 to copyright.
2005-01-27 Laurent GUERBY <laurent@guerby.net>
* Makefile.in: Fix a-intnam.ads from previous commit,
add 2005 to copyright.
* a-intman-rtems.ads: Renamed to...
* a-intnam-rtems.ads:
From-SVN: r94335
Richard Sandiford [Thu, 27 Jan 2005 20:02:56 +0000 (20:02 +0000)]
* gcc.dg/intmax_t-1.c: Extend dg-error to cover mips*-elf targets.
From-SVN: r94332
Richard Sandiford [Thu, 27 Jan 2005 19:50:02 +0000 (19:50 +0000)]
* gcc.dg/mips-movcc-1.c, gcc.dg/mips-movcc-2.c, gcc.dg/mips-movcc-3.c,
* gcc.dg/mips-nmadd-1.c, gcc.dg/mips-nmadd-2.c, gcc.dg/mips-rsqrt-1.c,
* gcc.dg/mips-rsqrt-2, gcc.dg/mips-rsqrt-3.c: Add dummy asm statements
to cope with cases where the multilib options override the dg-options.
From-SVN: r94331
Stuart Hastings [Thu, 27 Jan 2005 18:58:44 +0000 (18:58 +0000)]
Per request from Eric Botcazou, fix my ChangeLog entry of 26jan2005:
fix relative path, move new testcase to testsuite ChangeLog.
From-SVN: r94329
Kazu Hirata [Thu, 27 Jan 2005 18:22:35 +0000 (18:22 +0000)]
c-common.def, [...]: Update copyright.
* c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
config/mips/iris6.h, config/sh/sh.c: Update copyright.
From-SVN: r94328
Steven Bosscher [Thu, 27 Jan 2005 16:32:12 +0000 (16:32 +0000)]
re PR middle-end/17278 (8% C++ compile-time regression in comparison with 3.4.1 at -O1 optimization level)
PR middle-end/17278
* opts.c (decode_options): Move flag_thread_jumps from -O1 and
higher to -O2 and higher. Likewise for tree PRE.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
and better.
From-SVN: r94325
Ian Lance Taylor [Thu, 27 Jan 2005 14:36:17 +0000 (14:36 +0000)]
re PR middle-end/19583 (Incorrect diagnostic: control may reach end of non-void function '...' being inlined)
PR middle-end/19583
* gimple-low.c (try_catch_may_fallthru): New static function.
(block_may_fallthru): Handle TRY_CATCH_EXPR.
* tree-inline.c (expand_call_inline): Don't warn about reaching
the end of a non-void function being inlined if the function uses
a return slot.
From-SVN: r94323
Jakub Jelinek [Thu, 27 Jan 2005 12:41:40 +0000 (13:41 +0100)]
* config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
From-SVN: r94321
Jakub Jelinek [Thu, 27 Jan 2005 12:38:38 +0000 (13:38 +0100)]
re PR c/18946 (ICE in pushdecl)
PR c/18946
* c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
(pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
(implicitly_declare): Handle error_mark_node.
* gcc.dg/noncompile/
20050120-1.c: New test.
From-SVN: r94320
Laurent GUERBY [Thu, 27 Jan 2005 11:57:04 +0000 (11:57 +0000)]
Makefile.in: Rename GNAT RTEMS specific files.
2005-01-27 Laurent GUERBY <laurent@guerby.net>
* Makefile.in: Rename GNAT RTEMS specific files.
* 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
5rosinte.ads, 5rparame.adb: Replaced by files below.
* s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
From-SVN: r94319