Commit Graph

65598 Commits

Author SHA1 Message Date
Kazu Hirata 65e9fa1009 * cse.c (delete_trivially_dead_insn): Don't iterate.
From-SVN: r94498
2005-01-31 22:43:36 +00:00
Andrew Pinski 0530bc70fb 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
2005-01-31 14:29:27 -08:00
Mike Stump 3d8a8aade3 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
2005-01-31 22:05:07 +00:00
Steven Bosscher 9ea888348f 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
2005-01-31 21:14:44 +00:00
Marc Espie 75a3bd9d65 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
2005-01-31 18:51:26 +00:00
Dale Johannesen e87d92f469 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
2005-01-31 18:11:19 +00:00
Dale Johannesen 42d262fa87 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
2005-01-31 18:03:46 +00:00
Dale Johannesen 3b70b82ab9 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
2005-01-31 18:00:52 +00:00
Paolo Carlini c0736a9ddb 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
2005-01-31 16:22:01 +00:00
Mark Mitchell 4e8f0a2e12 * decl.c (start_decl): Add missing parentheses.
From-SVN: r94483
2005-01-31 16:16:16 +00:00
Alan Modra a7a52913cf 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
2005-02-01 00:07:37 +10:30
Ira Rosen 261ba0c8db 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
2005-01-31 11:51:01 +00:00
Richard Henderson 2ae1ac77f2 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
2005-01-31 01:16:02 -08:00
Richard Henderson 93b39cbcc9 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
2005-01-31 01:10:01 -08:00
Richard Henderson ae3946599e 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
2005-01-31 01:02:25 -08:00
Mark Mitchell 2b1e8a76ef 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
2005-01-31 06:16:54 +00:00
Roger Sayle ebcaaa2152 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
2005-01-31 06:04:07 +00:00
Danny Smith 6cc37e7e24 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
2005-01-31 05:49:07 +00:00
Mark Mitchell e3016344b3 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
2005-01-31 04:07:41 +00:00
Richard Henderson 8c55a142cd 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
2005-01-30 20:00:55 -08:00
Mark Mitchell 6fc98adf76 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
2005-01-31 01:17:11 +00:00
GCC Administrator ef3f522837 Daily bump.
From-SVN: r94457
2005-01-31 00:16:26 +00:00
Daniel Berlin 338bc65ef0 I swear this was in there when i committed, but apparently not
From-SVN: r94449
2005-01-30 21:37:52 +00:00
Daniel Berlin 0fc6c49280 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
2005-01-30 19:08:37 +00:00
Richard Henderson 61e067ccd8 * options.c (gfc_init_options): Zero flag_errno_math.
From-SVN: r94447
2005-01-30 10:34:03 -08:00
Richard Henderson 237f420bfe 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
2005-01-30 10:27:23 -08:00
Richard Henderson ebd5631751 PR 19700 testcase.
From-SVN: r94443
2005-01-30 09:55:12 -08:00
Richard Henderson b99d6d2b80 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
2005-01-30 09:48:01 -08:00
Kazu Hirata c5c367ac3d 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
2005-01-30 15:36:13 +00:00
Paolo Carlini d2f64e95fd 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
2005-01-30 14:09:58 +00:00
Bud Davis 23e044cc1d 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
2005-01-30 13:16:19 +00:00
Richard Henderson d6eabd43ee 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
2005-01-29 19:14:44 -08:00
Richard Henderson 8d74033081 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
2005-01-29 18:33:27 -08:00
Richard Henderson 486e432615 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
2005-01-29 18:13:46 -08:00
Richard Henderson eb2ab51138 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
2005-01-29 16:27:01 -08:00
GCC Administrator c2542a824e Daily bump.
From-SVN: r94417
2005-01-30 00:16:18 +00:00
Richard Guenther 020d90eeaf 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
2005-01-29 19:25:17 +00:00
Jeff Law b6e47ceb09 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
2005-01-29 11:55:10 -07:00
Paul Brook 985aff9c17 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
2005-01-29 17:46:34 +00:00
Joseph Myers 46df282378 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
2005-01-29 16:12:45 +00:00
Thomas Koenig 24a09741e4 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
2005-01-29 15:45:17 +00:00
Steven G. Kargl f240b8960c 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
2005-01-29 15:35:50 +00:00
Kazu Hirata 567426d9af lang-specs.h, [...]: Update copyright.
* lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
	copyright.

From-SVN: r94408
2005-01-29 12:16:36 +00:00
Kazu Hirata 26af0046ff 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
2005-01-29 12:08:04 +00:00
Hans-Peter Nilsson 40d64b5a95 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
2005-01-29 04:22:08 +00:00
Mark Mitchell 6ca2d67f22 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
2005-01-29 02:07:18 +00:00
Mark Mitchell ee921ddf21 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
2005-01-29 00:47:57 +00:00
Jeroen Frijters 8f43f502de 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
2005-01-29 00:43:50 +00:00
GCC Administrator 73095ebc07 Daily bump.
From-SVN: r94399
2005-01-29 00:16:44 +00:00
Stephane Carrez 3a951664df 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
2005-01-28 23:08:16 +01:00