Commit Graph

68901 Commits

Author SHA1 Message Date
Jan Hubicka
04b0eed045 cgraphunit.c (cgraph_function_and_variable_visibility): Fix typo in previous patch.
* cgraphunit.c (cgraph_function_and_variable_visibility): Fix typo in
	previous patch.

From-SVN: r100506
2005-06-02 18:35:59 +00:00
Diego Novillo
462508dd7e re PR tree-optimization/21582 ((optimisation) VRP pass could/should use non-null function attribute)
PR 21582
	* tree-vrp.c (nonnull_arg_p): New.
	(get_value_range): Call it.

testsuite/ChangeLog

	PR 21582
	* gcc.dg/tree-ssa/pr21582.c: New test.

From-SVN: r100505
2005-06-02 14:26:07 -04:00
Andreas Tobler
423ceeadf1 jawt.c: Remove malloc.h, covered by stdlib.h.
2005-06-03  Andreas Tobler  <a.tobler@schweiz.ch>

	* jawt.c: Remove malloc.h, covered by stdlib.h.

	* testsuite/libjava.jni/jni.exp
	(gcj_jni_invocation_compile_c_to_binary): Add -bind_at_load to silence
	the build process.

From-SVN: r100504
2005-06-02 20:12:47 +02:00
Eric Christopher
c1bd2d6675 mips.h (processor_type): Remove PROCESSOR_DEFAULT, add PROCESSOR_MAX.
2005-06-02  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h (processor_type): Remove PROCESSOR_DEFAULT,
	add PROCESSOR_MAX.
	(mips_rtx_cost_data): New datatype.
	(MEMORY_MOVE_COST): Use data from structure.
	(BRANCH_COST): Ditto.
	(LOGICAL_OP_NON_SHORT_CIRCUIT): Define to zero.
	* config/mips/mips.md (cpu): Rework for processor_type changes.
	* config/mips/mips.c (mips_cost): New variable.
	(DEFAULT_COSTS): Define.
	(mips_rtx_cost_data): New.
	(mips_rtx_costs): Use. Minor formatting changes. Use COSTS_N_INSNS
	for NEG cost. Add support for FLOAT, UNSIGNED_FLOAT, FIX,
	FLOAT_EXTEND, FLOAT_TRUNCATE, and SQRT.
	(override_options): Set cost data.
	(mips_register_move_cost): Formatting changes.
	(bdesc_arrays): Use PROCESSOR_MAX.
	(mips_init_builtins): Ditto.

From-SVN: r100503
2005-06-02 18:08:20 +00:00
Nathan Sidwell
3e3935a94c re PR c++/21280 (#pragma interface, templates, and "inline function used but never defined")
cp:
	PR c++/21280
	* Make-lang.in (method.o): Add diagnostic.h
	* decl.c (start_preparsed_function): Use decl's location for file
	info.
	* decl2.c (cp_finish_file): Set input_location before synthesizing
	a function.
	(mark_used): When deferring a synthesized function, save current
	location.  Do not set function's location when actually
	synthesizing it.
	* method.c: #include diagnostic.h.
	(synthesize_method): Set the functions source location.  Show
	needed location if errors are emitted.
testsuite:
	PR c++/21280
	* g++.dg/opt/interface2.h: New.
	* g++.dg/opt/interface2.C: New.
	* g++.dg/init/ctor4.C: Adjust error lines.
	* g++.old-deja/g++.bob/inherit2.C: Likewise.
	* g++.old-deja/g++.bugs/900205_04.C: Likewise.
	* g++.old-deja/g++.jason/opeq3.C: Likewise.
	* g++.old-deja/g++.pt/assign1.C: Likewise.
	* g++.old-deja/g++.pt/crash20.C: Likewise.

From-SVN: r100500
2005-06-02 17:52:28 +00:00
Nathan Sidwell
646221d67d re PR c++/21280 (#pragma interface, templates, and "inline function used but never defined")
PR c++/21280
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust expected errors.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r100499
2005-06-02 17:48:58 +00:00
Keith Seitz
7f03307f8e * gnu/classpath/jdwp/transport/TransportException.java: New file.
From-SVN: r100496
2005-06-02 17:27:34 +00:00
Diego Novillo
08873e963f re PR tree-optimization/21765 (-free-vrp is undocumented.)
PR 21765
	* doc/invoke.texi: Document -ftree-vrp.

From-SVN: r100495
2005-06-02 13:13:26 -04:00
Dorit Nuzman
ed3c16fbe6 re PR tree-optimization/21734 (ICE: -ftree-vectorize, segfault)
PR tree-optimization/21734
        * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop): Use the
        phi_result when current_def is not available.
        (slpeel_update_phi_nodes_for_guard1): Don't fail if current_def is not
        available.

From-SVN: r100494
2005-06-02 14:52:18 +00:00
David Edelsohn
9419649c01 rs6000.c (rs6000_insn_valid_within_doloop): New.
* config/rs6000/rs6000.c (rs6000_insn_valid_within_doloop): New.
	(TARGET_INSN_VALID_WITHIN_DOLOOP): Define.

From-SVN: r100493
2005-06-02 10:19:18 -04:00
Diego Novillo
46c4495f40 * tree-vrp.c (has_assert_expr, maybe_add_assert_expr): Remove.
From-SVN: r100492
2005-06-02 08:35:25 -04:00
Jan Hubicka
e7d6beb0f8 cgraph.c (dump_cgraph_node): Print new flags.
* cgraph.c (dump_cgraph_node): Print new flags.
	(dump_cgraph_varpool_node): Likewise.
	(decide_variable_is_needed): Initialize externally_visible flag.
	* cgraph.h (cgraph_local_info): Add externally_visible flag.
	(cgraph_varpool_node): Likewise.
	(cgraph_function_flags_ready): Declare.
	* cgraph.c (cgraph_mark_local_functions): Rename to ...
	(cgraph_function_and_variable_visibility) ... this one; handle
	externally_visible flags.
	(decide_is_function_needed): Set externally_visible flag.
	(cgraph_finalize_function): Deal properly with early cleanups.
	(cgraph_optimize): Update call of
	cgraph_function_and_variable_visibility.

From-SVN: r100491
2005-06-02 10:59:00 +00:00
Steven Bosscher
75c702541a > 2005-06-02 Steven Bosscher <stevenb@suse.de> > Mostafa Hagog...
> 2005-06-02 Steven Bosscher  <stevenb@suse.de>
>            Mostafa Hagog <mustafa@il.ibm.com>
>
>       * cfgloop.h (doloop_condition_get): Make external.
>       * loop-doloop.c (doloop_condition_get): Generalize to make it
>       usable in modulo-sched.c.
>       * modulo-sched.c (doloop_register_get): Use
>       doloop_condition_get instead of duplicating it.

Co-Authored-By: Mostafa Hagog <mustafa@il.ibm.com>

From-SVN: r100490
2005-06-02 10:19:12 +00:00
Nathan Sidwell
9267ee62db decl.c (start_decl): Simplify specialization handling.
* decl.c (start_decl): Simplify specialization handling. Remove
	unneeded CLASSTYPE_TEMPLATE_INSTANTIATION check.
	* mangle.c (discriminator_for_local_entity): Use VEC_index.

From-SVN: r100488
2005-06-02 09:34:38 +00:00
Nathan Sidwell
58fb06b4a1 re PR c++/20350 (extern template and struct initializer and specification for a static variable)
cp:
	PR c++/20350
	* decl.c (duplicate_decls): Copy all of DECL_USE_TEMPLATE.
testsuite:
	PR c++/20350
	* g++.dg/template/spec24.C: New.

From-SVN: r100486
2005-06-02 09:09:48 +00:00
Bernd Schmidt
ccb4e87e83 local-alloc.c (update_equiv_regs): When substituting sole definition into sole use of a reg...
* local-alloc.c (update_equiv_regs): When substituting sole definition
	into sole use of a reg, delete it from liveness information.

From-SVN: r100483
2005-06-02 08:55:01 +00:00
Nathan Sidwell
fbd4ef4ccd re PR c++/21151 (ICE when compiling c++ PCH of class definition within template function.)
cp:
	PR c++/21151
	* name-lookup.c (pushtag): Push local class even in a template.
testsuite:
	PR c++/21151
	* g++.dg/pch/local-1.C: New.
	* g++.dg/pch/local-1.Hs: New.

From-SVN: r100482
2005-06-02 08:53:48 +00:00
Bernd Schmidt
bf8f8254ea reload1.c (reload): Undo 2005-04-20 change.
* reload1.c (reload): Undo 2005-04-20 change.  Make sure we detect
	the correct set of init_insns that need deletion.

From-SVN: r100481
2005-06-02 08:39:06 +00:00
Jerry DeLisle
d29e107f39 MAINTAINERS (Write After Approval): Add self.
2005-06-01  Jerry DeLisle  <jvdelisle@verizon.net>

	* MAINTAINERS (Write After Approval): Add self.

From-SVN: r100480
2005-06-02 06:14:25 +00:00
Kaz Kojima
4ce7a5510a * config/sh/sh.h (TARGET_FPU_DOUBLE): Use MASK_SH4.
From-SVN: r100479
2005-06-02 04:55:20 +00:00
Diego Novillo
227858d1e9 [multiple changes]
2005-06-01  Diego Novillo  <dnovillo@redhat.com>

	PR 14341, PR 21332, PR 20701, PR 21029, PR 21086, PR 21090
	PR 21289, PR 21348, PR 21367, PR 21368, PR 21458.
	* fold-const.c (invert_tree_comparison): Make extern.
	* tree-flow.h (enum value_range_type): Move to tree-ssa-propagate.
	(struct value_range_def): Limewise.
	(get_value_range): Remove.
	(dump_value_range): Remove.
	(dump_all_value_ranges): Remove.
	(debug_all_value_ranges): Remove.
	(vrp_evaluate_conditional): Declare.
	* tree-ssa-propagate.c (struct prop_stats_d): Add field
	num_pred_folded.
	(substitute_and_fold): Add argument use_ranges_p.
	Update all callers.
	If use_ranges_p is true, call fold_predicate_in to fold
	predicates using range information.
	Ignore ASSERT_EXPRs.
	Change debugging output to only show statements that have been
	folded.
	(replace_phi_args_in): Move debugging output code from
	substitute and fold.
	(fold_predicate_in): New local function.
	* tree-ssa-propagate.h (enum value_range_type): Move from
	tree-flow.h.
	(struct value_range_d): Likewise.
	Add field 'equiv'.
	(value_range_t): Rename from value_range.
	* tree-vrp.c (found_in_subgraph): Rename from found.
	(get_opposite_operand): Remove.
	(struct assert_locus_d): Declare.
	(assert_locus_t): Declare.
	(need_assert_for): Declare.
	(asserts_for): Declare.
	(blocks_visited): Declare.
	(vr_value): Declare.
	(set_value_range): Add argument 'equiv'.
	Don't drop to VARYING ranges that cover all values in the
	type.
	Make deep copy of equivalence set 'equiv'.
	(copy_value_range): New local function.
	(set_value_range_to_undefined): New local function.
	(compare_values): Return -2 if either value has overflowed.
	(range_includes_zero_p): New local function.
	(extract_range_from_assert): Flip the predicate code if the
	name being asserted is on the RHS of the predicate.
	Avoid creating unnecessary symbolic ranges if the comparison
	includes another name with a known numeric range.
	Update the equivalnce set of the new range when asserting
	EQ_EXPR predicates.
	(extract_range_from_ssa_name): Update the equivalence set of
	the new range with VAR.
	(extract_range_from_binary_expr): Also handle TRUTH_*_EXPR.
	If -fwrapv is used, set the resulting range to VARYING if the
	operation overflows.  Otherwise, use TYPE_MIN_VALUE and
	TYPE_MAX_VALUE to represent -INF and +INF.
	Fix handling of *_DIV_EXPR.
	(extract_range_from_unary_expr): Handle MINUS_EXPR and
	ABS_EXPR properly by switching the range around if necessary.
	(extract_range_from_comparison): New local function.
	(extract_range_from_expr): Call it.
	(adjust_range_with_scev): Do not adjust the range if using
	wrapping arithmetic (-fwrapv).
	(dump_value_range): Also show equivalence set.
	Show -INF and +INF for TYPE_MIN_VALUE and TYPE_MAX_VALUE.
	(build_assert_expr_for): Also build ASSERT_EXPR for EQ_EXPR.
	(infer_value_range): Change return value to bool.
	Add arguments 'comp_code_p' and 'val_p'.
	Do not attempt to infer ranges from statements that may throw.
	Store the comparison code in comp_code_p.
	Store the other operand to be used in the predicate in val_p.
	(dump_asserts_for): New.
	(debug_asserts_for): New.
	(dump_all_asserts): New.
	(debug_all_asserts): New.
	(register_new_assert_for): New.
	(register_edge_assert_for): New.
	(find_conditional_asserts): New.
	(find_assert_locations): New.
	(process_assert_insertions_for): New.
	(process_assert_insertions): New.
	(insert_range_assertions): Initialize found_in_subgraph,
	blocks_visited, need_assert_for and asserts_for.
	Call find_assert_locations and process_assert_insertions.
	(remove_range_assertions): Add more documentation.
	(vrp_initialize): Change return type to void.
	Do not try to guess if running VRP is worth it.
	(compare_name_with_value): New.
	(compare_names): New.
	(vrp_evaluate_conditional): Add argument 'use_equiv_p'.  If
	use_equiv_p is true, call compare_names and
	compare_name_with_value to compare all the ranges for every
	name in the equivalence set of the predicate operands.
	Update all callers.
	(vrp_meet): Try harder not to derive a VARYING range.
	If two values meet, the resulting equivalence set is the
	intersection of the two equivalence sets.
	(vrp_visit_phi_node): Call copy_value_range to get the current
	range information of the LHS.
	(vrp_finalize): Create a value vector representing all the
	names that ended up with exactly one value in their range.
	Call substitute_and_fold.
	(execute_vrp): Document equivalence sets in ranges.
	* tree.h (SSA_NAME_VALUE_RANGE): Remove.
	(struct tree_ssa_name): Remove field value_range.
	(invert_tree_comparison): Declare.

testsuite/ChangeLog

2005-06-01  Diego Novillo  <dnovillo@redhat.com>

	PR 14341, PR 21332, PR 20701, PR 21086, PR 21090
	PR 21289, PR 21348, PR 21367, PR 21368, PR 21458.
	* gcc.dg/tree-ssa/pr14341.c: New test.
	* gcc.dg/tree-ssa/pr14841.c: New test.
	* gcc.dg/tree-ssa/pr20701.c: New test.
	* gcc.dg/tree-ssa/pr21086.c: New test.
	* gcc.dg/tree-ssa/pr21090.c: New test.
	* gcc.dg/tree-ssa/pr21332.c: New test.
	* gcc.dg/tree-ssa/pr21458.c: New test.
	* gcc.dg/tree-ssa/pr21658.c: New test.
	* gcc.dg/tree-ssa/vrp01.c: New test.
	* gcc.dg/tree-ssa/vrp02.c: New test.
	* gcc.dg/tree-ssa/vrp03.c: New test.
	* gcc.dg/tree-ssa/vrp04.c: New test.
	* gcc.dg/tree-ssa/vrp05.c: New test.
	* gcc.dg/tree-ssa/vrp06.c: New test.
	* gcc.dg/tree-ssa/vrp07.c: New test.
	* gcc.dg/tree-ssa/vrp08.c: New test.
	* gcc.dg/tree-ssa/vrp09.c: New test.
	* gcc.dg/tree-ssa/vrp10.c: New test.
	* gcc.dg/tree-ssa/vrp11.c: New test.
	* gcc.dg/tree-ssa/vrp12.c: New test.
	* gcc.dg/tree-ssa/vrp13.c: New test.

2005-06-01  Alexandre Oliva  <aoliva@redhat.com>

	PR 21029
	* gcc.dg/tree-ssa/pr21029.c: New test.

From-SVN: r100478
2005-06-01 22:57:15 -04:00
Daniel Berlin
292a398fb7 re PR tree-optimization/21839 (ICE for missing V_DEFS caused by salias with empty structures)
2005-06-01  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/21839

	* gimplify.c (zero_sized_field_decl): New function.
	(gimplify_init_ctor_eval): Use it.

From-SVN: r100477
2005-06-02 02:08:02 +00:00
Kaveh R. Ghazi
39da352fad * libiberty.h (vsnprintf): Add format attribute.
From-SVN: r100476
2005-06-02 02:01:03 +00:00
Josh Conner
e93196c346 * MAINTAINERS (Write After Approval): Add self.
From-SVN: r100475
2005-06-02 01:03:40 +00:00
GCC Administrator
bfbd297cfb Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100473.2
2005-06-02 00:16:16 +00:00
Andreas Tobler
0a33dcdeb8 mauve-libgcj: Remove implemented classes from the fail section.
2005-06-02  Andreas Tobler  <a.tobler@schweiz.ch>

	* mauve-libgcj: Remove implemented classes from the fail section.
	Add two new not implemented to it.

From-SVN: r100471
2005-06-02 01:10:17 +02:00
Bryce McKinlay
135709e82d configure.ac (BACKTRACESPEC): Remove definition, but continue to AC_SUBST definition from configure.host.
* configure.ac (BACKTRACESPEC): Remove definition, but continue to
	AC_SUBST definition from configure.host.
	* configure.host: Don't use -fno-omit-frame-pointer. Set BACKTRACESPEC
	to -fomit-frame-pointer on 32-bit x86 targets.

From-SVN: r100469
2005-06-01 23:55:07 +01:00
Kazu Hirata
ae263c7a36 * MAINTAINERS: Update my email address.
From-SVN: r100468
2005-06-01 22:37:25 +00:00
Tom Tromey
0a01ec970e * java/io/ObjectInputStream.java (currentLoader): Fixed typo.
From-SVN: r100467
2005-06-01 22:13:35 +00:00
Ziga Mahkovec
7e1603c0f0 re PR libgcj/20435 (regex pattern compiling bug)
2005-06-01  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	PR libgcj/20435:
	* gnu/regexp/RESyntax.java (RE_POSSESSIVE_OPS): New field.
	(static): Add possessive matching to JAVA_1_4 syntax.
	* gnu/regexp/RETokenRepeated.java (possessive): New field.
	(makePossessive, isPossessive): New methods.
	(match): Don't back off during possessive matching.
	* gnu/regexp/RE.java (initalize): Accept possessive quantifier.
	* java/util/regex/Pattern.java (constructor): Switch syntax from PERL5
	to JAVA_1_4.

From-SVN: r100466
2005-06-01 22:11:00 +00:00
Josh Conner
cce7074710 re PR middle-end/21478 (Improve initialization of sparse local arrays)
PR 21478
        * gimplify.c (gimplify_init_constructor): Don't spill initializer
        to read-only memory if it's sparse.

From-SVN: r100465
2005-06-01 14:34:27 -07:00
Keith Seitz
03569a4047 Fix typo in initial commit.
From-SVN: r100464
2005-06-01 20:08:39 +00:00
Keith Seitz
3332357987 JdwpPacket.java: New file.
* gnu/classpath/jdwp/transport/JdwpPacket.java: New file.
        * gnu/classpath/jdwp/transport/JdwpCommandPacket.java: New file.
        * gnu/classpath/jdwp/transport/JdwpReplyPacket.java: New file.

From-SVN: r100463
2005-06-01 20:04:05 +00:00
Tom Tromey
cd3352b625 re PR libgcj/21785 (ClassNotFound during deserialization)
PR libgcj/21785:
	* java/io/natObjectInputStream.cc (currentClassLoader): Removed.
	(currentLoader): New method.
	* java/io/ObjectInputStream.java (resolveProxyClass): Use
	currentLoader.
	(currentLoader): Now native.
	(currentClassLoader): Removed.
	* testsuite/libjava.lang/pr21785.java: New file.
	* testsuite/libjava.lang/pr21785.out: New file.

From-SVN: r100462
2005-06-01 19:58:25 +00:00
Roger Sayle
c3a29423de intrinsic.c (add_conv): No longer take a "simplify" argument as its always gfc_convert_constant...
* intrinsic.c (add_conv): No longer take a "simplify" argument as
	its always gfc_convert_constant, instead take a "standard" argument.
	(add_conversions): Change all existing calls of add_conv to pass
	GFC_STD_F77 as appropriate.  Additionally, if we're allowing GNU
	extensions support integer-logical and logical-integer conversions.
	(gfc_convert_type_warn): Warn about use the use of these conversions
	as a extension when appropriate, i.e. with -pedantic.
	* simplify.c (gfc_convert_constant): Add support for integer to
	logical and logical to integer conversions, using gfc_int2log and
	gfc_log2int.
	* arith.c (gfc_log2int, gfc_int2log): New functions.
	* arith.h (gfc_log2int, gfc_int2log): Prototype here.
	* gfortran.texi: Document this new GNU extension.

	* gfortran.dg/logint-1.f: New test case.
	* gfortran.dg/logint-2.f: Likewise.
	* gfortran.dg/logint-3.f: Likewise.

From-SVN: r100461
2005-06-01 19:17:37 +00:00
Ramana Radhakrishnan
cdeee6d280 rtl.texi: Remove references to NOTE_INSN_SETJMP.
2005-06-01  Ramana Radhakrishnan  <ramana@codito.com>

	* doc/rtl.texi: Remove references to NOTE_INSN_SETJMP.
	Add documentation for REG_SETJMP

From-SVN: r100460
2005-06-01 19:11:54 +00:00
Richard Guenther
3bedcc8967 stmt.c (expand_case): Use build_int_cst.
2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>

	* stmt.c (expand_case): Use build_int_cst.
	(node_has_low_bound): Likewise, and correct type mismatch.
	(node_has_high_bound): Likewise.
	* fold-const.c (fold_binary): Ensure we build trees
	with the correct types - undo what STRIP_NOPS possibly did.

From-SVN: r100459
2005-06-01 18:51:12 +00:00
Richard Guenther
095ecc24ec tree.h (fold_indirect_ref_1): Export from fold-const.c.
2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>

	* tree.h (fold_indirect_ref_1): Export from fold-const.c.
	* fold-const.c (fold_indirect_ref_1): No longer static.
	* tree-inline.c (copy_body_r): Use fold_indirect_ref_1 for
	folding, if possible.

From-SVN: r100458
2005-06-01 18:43:02 +00:00
Joseph Myers
82c0180d77 common.opt (fjump-tables): New.
* common.opt (fjump-tables): New.
	* doc/invoke.texi (-fno-jump-tables): Document.
	* stmt.c (expand_end_case_type): Do not emit jump tables unless
	flag_jump_tables.

From-SVN: r100457
2005-06-01 19:19:09 +01:00
Tom Tromey
68d8b93454 re PR libgcj/21753 (String.substring sharing heuristic should be improved)
PR libgcj/21753:
	* java/lang/natString.cc (substring): Changed sharing heuristic.

From-SVN: r100454
2005-06-01 15:52:45 +00:00
Richard Earnshaw
75fe7b2f40 * arm.md (bunordered, bordered, bungt, bunlt, bunge, bunle, buneq)
(bltgt, arm_buneq, arm_bltgt, sunordered, sordered, sungt, sunge)
	(sunlt, sunle): Enable patterns on VFP.

	* arm.md (attribute 'type'): Add new types - f_loads floadd, f_stores,
	f_stored, f_flag, f_cvt.
	(generic_sched): No-longer used for the arm1020e and arm1022e cores.
	Include arm1020e.md.
	* vfp.md (fmstat): New cpu unit.  Add an exclusion set between it and
	the ds and fmac pipelines.  Re-work all load and store patterns and
	all conversion patterns to use new attributes.  Adjust reservation
	descriptions accordingly.
	* arm1020e.md: New file.
	* t-arm: Add dependency.

From-SVN: r100452
2005-06-01 14:52:16 +00:00
Paul Thomas
f7f7ac5a61 Changelog: Entry for this morning's patch.
2005-06-01  Paul Thomas  <pault@gcc.gnu.org>

	* fortran/Changelog: Entry for this morning's patch.

From-SVN: r100450
2005-06-01 14:27:46 +00:00
Jan Hubicka
6617c91459 except.c (struct eh_region): Kill unused fields.
* except.c (struct eh_region): Kill unused fields.
	* basic-block.h (struct basic_block_def): Likewise.

From-SVN: r100449
2005-06-01 12:07:50 +00:00
J"orn Rennecke
5fffc382a6 re PR rtl-optimization/21767 (if-convert leaves invalid REG_EQUAL notes)
PR rtl-optimization/21767
	* rtl.h (function_invariant_p): Re-add declaration.
	* reload1.c (function_invariant_p): No longer static.
	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL notes that
	might have become invalid.

From-SVN: r100448
2005-06-01 12:38:53 +01:00
Jakub Jelinek
8e0a600bdd re PR c/21536 (C99 array of variable length use causes segmentation fault)
PR c/21536
	PR c/20760
	* gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes
	on variable sizes types if a decl is a pointer to a VLA.
	(gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE.
	Call gimplify_type_sizes on aggregate fields.  Prevent infinite
	recursion.

	* gcc.dg/20050527-1.c: New test.

From-SVN: r100443
2005-06-01 12:23:17 +02:00
Jakub Jelinek
dcd25113c6 * fold-const.c (fold_ternary): Optimize BIT_FIELD_REF of VECTOR_CST.
From-SVN: r100442
2005-06-01 12:13:36 +02:00
Jakub Jelinek
a00cb0b926 xmmintrin.h (_mm_setzero_ps, [...]): Add __extension__.
* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
	_mm_set_ps, _mm_setr_ps): Add __extension__.
	* config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd,
	_mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x,
	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128):
	Likewise.
	(_mm_clflush): Don't use return in void function.

	* gcc.dg/i386-sse-12.c: New test.

From-SVN: r100439
2005-06-01 12:07:54 +02:00
Jakub Jelinek
e2852d1f5c emmintrin.h (_mm_castpd_ps, [...]): Use __inline instead of inline.
* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128,
	_mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd):
	Use __inline instead of inline.

From-SVN: r100438
2005-06-01 12:02:31 +02:00
Jakub Jelinek
cf4d246bce re PR fortran/21729 (ICE in gfc_typenode_for_spec)
PR fortran/21729
	* resolve.c (resolve_contained_fntype): Use sym->attr.untyped
	to avoid giving error multiple times.
	(resolve_entries): Don't error about BT_UNKNOWN here.
	(resolve_unknown_f): Capitalize IMPLICIT for consistency.
	(resolve_fntype): New function.
	(gfc_resolve): Call resolve_fntype.

	* gfortran.dg/implicit_5.f90: New test.

From-SVN: r100437
2005-06-01 12:00:19 +02:00
Richard Guenther
d699d76aa7 fold-const.c (fold_binary): Fix types in strlen vs.
2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>

	* fold-const.c (fold_binary): Fix types in strlen vs.
	zero comparison folding.

From-SVN: r100436
2005-06-01 09:34:15 +00:00