Commit Graph

74715 Commits

Author SHA1 Message Date
Mark Mitchell
8fcd79cbcd re PR c++/27102 (ICE with invalid class name in function template)
PR c++/27102
	* typeck2.c (cxx_incomplete_type_diagnostic): Handle
	TYPENAME_TYPE.
	PR c++/27102
	* g++.dg/template/crash47.C: New test.

From-SVN: r113320
2006-04-27 19:02:54 +00:00
Stuart Hastings
9613eaffa4 t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
	* config/t-darwin (crt3.o): Use it.
	* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
	'pmode', use Pmode instead of SImode for SYMBOL_REF.
	* config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
	call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
	call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
	support.

From-SVN: r113319
2006-04-27 18:57:11 +00:00
Roger Sayle
135c2bd408 expmed.c (store_fixed_bit_field): If we're not optimizing for size...
* expmed.c (store_fixed_bit_field): If we're not optimizing for
	size, force the intermediate into a new pseudo rather instead of
	performing both a bitwise AND and a bitwise IOR in memory.

From-SVN: r113318
2006-04-27 17:26:03 +00:00
Richard Guenther
921b02cd1f re PR rtl-optimization/26685 (documentation refer to nonexisting --param max-cse-insns)
2006-04-27  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/26685
	* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
	this one "max-flow-memory-locations".

From-SVN: r113300
2006-04-27 14:25:49 +00:00
Richard Guenther
67ac6e637c re PR tree-optimization/25148 (compare_values assumes that CST in a + CST (and a - CST) is always postive)
2006-04-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/25148
	* tree-vrp.c (compare_values): Remove code dealing with
	comparisons against type min/max value.  Honour overflow
	and negative constants in code dealing with comparisons
	of plus and minus expressions.
	(value_inside_range): Use fold_binary with LE_EXPR and
	GE_EXPR rather than compare_values.

From-SVN: r113298
2006-04-27 13:52:44 +00:00
Dirk Mueller
869170df10 xmmintrin.h (_mm_shuffle_pi16): make available for SSE.
2006-04-27  Dirk Mueller  <dmueller@suse.de>

        * config/i386/xmmintrin.h (_mm_shuffle_pi16): make available
        for SSE.

        * testsuite/gcc.target/i386/sse-7.c: build with -msse.

From-SVN: r113297
2006-04-27 11:13:45 +00:00
H.J. Lu
ded5b063bb re PR testsuite/27274 (execution test of gcc.dg/i386-sse-9.c fails on non-SSE CPU)
2006-04-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/27274:
	* gcc.target/i386/sse-9.c: Include "../../gcc.dg/i386-cpuid.h".
	(main): Exit if processor doesn't support SSE.

From-SVN: r113296
2006-04-26 23:13:40 -07:00
GCC Administrator
54468df782 Daily bump.
From-SVN: r113290
2006-04-27 00:17:35 +00:00
Benjamin Kosnik
0c092147be re PR libstdc++/26875 (Array allocator use count is shared between array_allocator instances)
2006-04-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/26875
	* include/ext/array_allocator.h (array_allocator): _M_used, new
	data member.  
	* testsuite/ext/array_allocator/26875.cc: New.

From-SVN: r113283
2006-04-26 19:52:31 +00:00
Shantonu Sen
0c3f35451c re PR libstdc++/26513 (make_exports.pl hardcoded to build nm)
2006-04-26  Shantonu Sen  <ssen@opendarwin.org>

         PR libstdc++/26513
         * scripts/make_exports.pl: Use $ENV{NM_FOR_TARGET}, if present.

From-SVN: r113281
2006-04-26 19:13:18 +00:00
David Edelsohn
52d094062c re PR target/27282 (ICE in final_scan_insn, at final.c:2448 - could not split insn)
PR middle-end/27282
        * gcc.c-torture/compile/pr27282.c: New test

From-SVN: r113278
2006-04-26 13:57:03 -04:00
Kenneth Zadeck
3bf7d5e771 basic-block.h (safe_insert_insn_on_edge): Removed.
2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>

	* basic-block.h (safe_insert_insn_on_edge): Removed.
	* cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.

From-SVN: r113276
2006-04-26 16:17:01 +00:00
David Edelsohn
7b282ff9a0 re PR target/27282 (ICE in final_scan_insn, at final.c:2448 - could not split insn)
2006-04-26  David Edelsohn  <edelsohn@gnu.org>
	    Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/27282
	* combine.c (simplify_and_const_int_1): Use gen_int_mode.
	(simplify_and_const_int): Same.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r113275
2006-04-26 10:33:49 -04:00
Aldy Hernandez
444704336a * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
From-SVN: r113274
2006-04-26 10:29:02 +00:00
Jakub Jelinek
91b6c26dd2 re PR c/26171 (#pragma omp threadprivate requires -funit-at-a-time)
PR c/26171
	* cgraph.c (cgraph_varpool_finalize_decl): Don't call
	cgraph_varpool_assemble_pending_decls if -fopenmp, unless
	cgraph_global_info_ready.

	* testsuite/libgomp.c/pr26171.c: New test.

From-SVN: r113271
2006-04-26 10:26:06 +02:00
Jakub Jelinek
07ed51c9ce re PR middle-end/26913 (ICE with -fopenmp and -O1)
PR middle-end/26913
	* tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.

	* g++.dg/gomp/pr26913.C: New test.

From-SVN: r113270
2006-04-26 10:24:28 +02:00
Jakub Jelinek
1562e1fee7 re PR c/25996 ([gomp] ICE on undefined iteration variable)
PR c/25996
	* c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
	either decl or init is error_mark_node.

	* gcc.dg/gomp/pr25996.c: New test.
	* g++.dg/gomp/pr25996.C: New test.

From-SVN: r113269
2006-04-26 10:23:12 +02:00
Jakub Jelinek
21a66e91d0 re PR middle-end/25989 (gomp ICE with -O2 and schedule(guided))
PR middle-end/25989
	* tree-flow.h (struct omp_region): Add sched_kind.
	* omp-low.c (expand_parallel_call): Use region->inner->sched_kind
	instead of extracting omp for data.
	(expand_omp_for): Save extracted sched_kind.

From-SVN: r113268
2006-04-26 10:20:57 +02:00
Geoffrey Keating
887dc802b3 dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there are no branches.
* dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
	are no branches.

From-SVN: r113267
2006-04-26 06:57:01 +00:00
Roger Sayle
f7acbf4c82 expmed.c (store_bit_field): Also check whether the bitsize is valid for the machine's "insv" instruction...
* expmed.c (store_bit_field): Also check whether the bitsize is
	valid for the machine's "insv" instruction before moving the
	target into a pseudo for use with the insv.
	* config/i386/predicates.md (const8_operand): New predicate.
	* config/i386/i386.md (extv, extzv, insv): Use the new
	const8_operand predicate where appropriate.

From-SVN: r113265
2006-04-26 00:51:14 +00:00
GCC Administrator
a22b8ac1e4 Daily bump.
From-SVN: r113263
2006-04-26 00:17:08 +00:00
DJ Delorie
c99364274e install.texi (Specific): Clarify that this is not a list of supported hosts or targets.
* doc/install.texi (Specific): Clarify that this is not a list of
supported hosts or targets.

From-SVN: r113259
2006-04-25 18:08:53 -04:00
Richard Sandiford
c0c5d392eb re PR rtl-optimization/26725 (ICE in check_reg_live, at haifa-sched.c:4645 with -O2 on ia64)
gcc/
	PR rtl-optimization/26725
	* cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
	block's BB_DIRTY flag.

gcc/testsuite/
	* gcc.c-torture/compile/pr26725.c: New test.

From-SVN: r113257
2006-04-25 21:34:48 +00:00
Richard Henderson
60e1758f60 re PR libgomp/25865 (libgomp incorrectly detects support for TLS)
PR libgomp/25865
        * configure.ac: Use GCC_CHECK_TLS.
        * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
        * Makefile.in, aclocal.m4, configure: Regenerate.

From-SVN: r113256
2006-04-25 13:58:25 -07:00
Geoffrey Keating
d61772b25d dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just to print an integer.
* dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
	to print an integer.

From-SVN: r113254
2006-04-25 19:12:50 +00:00
Richard Guenther
cfa81d8af3 val-prof-2.c: Check for n + ffff rather than n + -1.
2006-04-25  Richard Guenther  <rguenther@suse.de>

        * gcc.dg/tree-prof/val-prof-2.c: Check for n + ffff rather
        than n + -1.

From-SVN: r113252
2006-04-25 15:38:32 +00:00
Tom Tromey
1f263074ea natSharedLibLoader.cc: Include gc.h later.
* gnu/gcj/runtime/natSharedLibLoader.cc: Include gc.h later.
	Include platform.h.  Set GC_DEBUG before including gc.h, if
	needed.

From-SVN: r113251
2006-04-25 15:20:33 +00:00
David Edelsohn
d5fa3ec8dc varasm.c (align_variable): New function.
* varasm.c (align_variable): New function.
	(get_block_for_decl): Apply align_variable to DECL before
	calculating section information.
	(assemble_variable): Split out alignment computation.

From-SVN: r113250
2006-04-25 11:00:53 -04:00
Andreas Krebbel
495db1a115 expmed.c (store_bit_field): Handle paradoxical subregs on big endian machines.
2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>

	* expmed.c (store_bit_field): Handle paradoxical subregs on big endian
	machines.

2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20060425-1.c: New testcase.

From-SVN: r113248
2006-04-25 12:11:25 +00:00
Bernd Schmidt
6d75cd5f57 rtl.texi (ss_ashift): Improve wording.
* doc/rtl.texi (ss_ashift): Improve wording.

From-SVN: r113247
2006-04-25 11:58:22 +00:00
Andrew Haley
5233753562 natClassLoader.cc: Don't include link.h or dladdr.h.
2006-04-25  Andrew Haley  <aph@redhat.com>

        * java/lang/natClassLoader.cc: Don't include link.h or dladdr.h.
        * boehm.cc: Don't include link.h.
        (_Jv_RegisterLibForGc): Cast away const when calling dladdr().

From-SVN: r113246
2006-04-25 11:54:15 +00:00
Bernd Schmidt
75d8b2d014 genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a MODE_PARTIAL_INT mode.
* genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
	MODE_PARTIAL_INT mode.
	* config/bfin/bfin-modes.def: Add V2PDI and V2SI.
	* config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
	for CONST_INTs.
	(hard_regno_mode_ok): V2PDImode is ok for accumulators.
	* config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
	V2PDImode.
	* config/bfin/predicates.md (const01_operand, vec_shift_operand):
	New predicates.
	* config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
	New constants.
	(MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
	MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
	MACFLAG_IH): Likewise.
	(movstricthi_1): Renamed from "*movstricthi".
	(load_accumulator, load_accumulator_pair, movsi_insv, insv,
	ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
	abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
	movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
	movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
	movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
	addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
	sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
	addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
	mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
	ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
	flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
	flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
	flag_macv2hi_parts, flag_macv2hi_parts_acconly,
	flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.

From-SVN: r113245
2006-04-25 11:49:27 +00:00
Jakub Jelinek
ec23e15b4c re PR tree-optimization/26865 (Segmentation fault with -std=c99 -O1 and alloca())
PR tree-optimization/26865
	* gcc.dg/pr26865.c: New test.

From-SVN: r113242
2006-04-25 11:42:41 +02:00
Geoffrey Keating
6f8d8ef049 dwarf2out.c (verify_marks_clear): New.
* dwarf2out.c (verify_marks_clear): New.
	(prune_unused_types): Call verify_marks_clear initially, not
	prune_unmark_dies.

From-SVN: r113241
2006-04-25 05:56:36 +00:00
Mark Mitchell
efe1ad468e re PR c++/27292 (ICE on casts on bitfields)
PR c++/27292
	* typeck.c (decay_conversion): Don't adjust bitfield types.
	(perform_integral_promotions): Treat bitfield enums as enums, not
	as short integer types.
	* tree.c (rvalue): Convert bitfields to their correct types.
	PR c++/27292
	* g++.dg/conversion/bitfield1.C: New test.
	* g++.dg/conversion/bitfield2.C: Likewise.
	* g++.dg/conversion/bitfield3.C: Likewise.

From-SVN: r113240
2006-04-25 03:33:38 +00:00
GCC Administrator
9c9bd27b0b Daily bump.
From-SVN: r113236
2006-04-25 00:17:25 +00:00
Tom Tromey
0623a8c0c2 * java/lang/natClass.cc (_Jv_getInterfaceMethod): Skip <clinit>.
From-SVN: r113229
2006-04-24 21:28:36 +00:00
Julian Brown
9fff64328d floatformat.c (floatformat_to_double): Fix (biased) exponent=0 case.
* floatformat.c (floatformat_to_double): Fix (biased) exponent=0 case.

From-SVN: r113228
2006-04-24 21:24:27 +00:00
Bernd Schmidt
e551ad2608 rtl.def (SS_ASHIFT, SS_NEG): New codes.
* rtl.def (SS_ASHIFT, SS_NEG): New codes.
	* doc/rtl.texi: Document them.
	* simplify-rtx.c (simplify_unary_operation,
	simplify_binary_operation_1): Don't abort when we see them.

From-SVN: r113227
2006-04-24 19:35:38 +00:00
Mark Mitchell
bfa1122312 revert: configure.ac: Completely disregard languages that are not enabled.
Revert:
	2006-04-23  Mark Mitchell  <mark@codesourcery.com>
	* configure.ac: Completely disregard languages that are not
	enabled.
	* configure: Regenerated.

From-SVN: r113226
2006-04-24 16:33:11 +00:00
Andrew Haley
621ae65dcd lang.c (java_init): Handle flag_indirect_classes.
2006-04-21  Andrew Haley  <aph@redhat.com>

        * lang.c (java_init): Handle flag_indirect_classes.
        * jvgenmain.c: Use "class$$" instead of "class$".
        * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
        DECLs.
        (mangle_class_field): Special case "class$$" as well as "class$".
        * constants.c (build_ref_from_constant_pool): If
        flag_indirect_classes, generate a ref into the heap.
        * decl.c (constants_field_decl_node,
        constants_data_field_decl_node): New.
        * class.c (build_static_class_ref): New.
        (build_classdollar_field): Factor out from build_class_ref().
        (make_field_value): Handle static fields in heap.
        (make_class_data): Make sure we get a static ref to class.
        Make class initializer const if flag_indirect_classes.
        (register_class): Build a class_ref for initialization if
        flag_indirect_classes.
        (emit_indirect_register_classes): New.

2006-04-21  Andrew Haley  <aph@redhat.com>

        * include/execution.h (struct _Jv_CompiledEngine): Define for
        compiled classes.
        * java/lang/natClassLoader.cc (_Jv_RegisterClasses): Call
        _Jv_RegisterLibForGc.
        (_Jv_RegisterClasses_Counted): Likewise.
        (_Jv_NewClassFromInitializer): New.
        (_Jv_RegisterNewClasses): New.
        * sources.am: Regenerate.
        * boehm.cc (_Jv_GC_has_static_roots): new.
        (_Jv_InitGC): Call GC_register_has_static_roots_callback.
        (filename_node, find_file, _Jv_print_gc_store, new_node,
        _Jv_GC_has_static_roots, _Jv_RegisterLibForGc): New.
        * scripts/makemake.tcl: Add -fno-indirect-classes.
        * Makefile.in: Regenerate.
        * link.cc (resolve_pool_entry): Allocate constant pool.
        Allocate fields.

From-SVN: r113224
2006-04-24 15:33:16 +00:00
Andrew Haley
5204d06d82 dyn_load.c (GC_has_static_roots): Declare.
2006-03-07  Andrew Haley  <aph@redhat.com>

        * dyn_load.c (GC_has_static_roots): Declare.
        (GC_register_dynlib_callback): Call GC_has_static_roots.

From-SVN: r113223
2006-04-24 13:40:21 +00:00
Andrew Pinski
d84b37b08a re PR tree-optimization/27236 (inliner creates an INDIRECT_REF without TREE_THIS_VOLATILE set for *a)
2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
	Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/27236
	* tree-inline.c (copy_body_r): Make sure to copy
	TREE_THIS_VOLATILE flag.

	* gcc.dg/tree-ssa/pr27236.c: New testcase.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r113221
2006-04-24 09:06:51 +00:00
Volker Reichelt
4e3bd7d561 re PR c++/19963 (ICE on invalid member declaration)
PR c++/19963
	* class.c (layout_class_type): Skip fields with invalid types.

	* g++.dg/other/incomplete2.C: New test.

From-SVN: r113220
2006-04-24 08:38:05 +00:00
Richard Guenther
c0a3f887e5 re PR middle-end/26869 (Segfault in find_lattice_value() for complex operands.)
2006-04-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/26869
	* tree-complex.c (update_parameter_components): Don't handle
	unused parameters which have no default def.

	* gcc.dg/torture/pr26869.c: New testcase.

From-SVN: r113219
2006-04-24 08:21:41 +00:00
Andrew Pinski
72fa5e06ab re PR tree-optimization/27218 (ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1515, inlining produces non-gimple)
2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
	Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/27218
	* tree-inline.c (expand_call_inline): Strip useless type
	conversions for the return slot address.

	* g++.dg/tree-ssa/pr27218.C: New testcase.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r113218
2006-04-24 08:17:42 +00:00
Richard Guenther
0162f1556e cfgloop.h (struct loops): Remove unused field array.
2006-04-24  Richard Guenther  <rguenther@suse.de>

	* cfgloop.h (struct loops): Remove unused field array.  Reorder
	state after num.
	(LOOP_PREFETCH): Remove.

From-SVN: r113217
2006-04-24 08:01:33 +00:00
Richard Guenther
7e1584f82d re PR tree-optimization/22525 (tree based value profiling (-fprofile-use) produces mismatch types in conditional)
2006-04-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/22525
	* value-prof.c (tree_mod_pow2): Remove unnecessary temporary
	variable, adjust types of generated expressions.

From-SVN: r113216
2006-04-24 07:58:53 +00:00
Mark Mitchell
e2537f2c03 re PR c++/26912 (friend const member function specialization fails to compile)
PR c++/26912
	* cp-tree.h (build_this_parm): Declare.
	(grok_method_quals): Remove.
	(build_memfn_type): Declare.
	(build_artificial_parm): Declare.
	(do_friend): Remove quals parameter.
	* decl.c (build_this_parm): New function.
	(grokfndecl): Use it.  Do not pass quals to grokclassfn.
	(grokdeclarator): Rename quals to memfn_quals.  Avoid allocating
	unnecessary TYPE_DECLs.  Correct qualification of member function
	types.  Tidy.
	* method.c (implicitly_declare_fn): Use build_this_parm.
	* friend.c (do_friend): Remove quals parameter.
	* decl2.c (grok_method_quals): Remove.
	(build_memfn_type): New function.
	(build_artificial_parm): Give it external linkage.
	(grokclassfn): Remove quals parameter.  Do not build "this"
	PARM_DECL here.
	PR c++/26912
	* g++.dg/template/friend41.C: New test.

From-SVN: r113213
2006-04-24 03:50:31 +00:00
H.J. Lu
d24b23bb89 Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
	(tree-vect-patterns.o): Likewise.
	(jump.o): Likewise.
	(cselib.o): Likewise.
	(loop-doloop.o): Likewise.
	(regclass.o): Likewise.
	(reload1.o): Likewise.
	(explow.o): Replace target.h with $(TARGET_H).
	(ipa-prop.o): Likewise.
	(ipa-cp.o): Likewise.
	(ipa-inline.o): Likewise.
	(reorg.o): Likewise.
	(reg-stack.o): Likewise.

From-SVN: r113212
2006-04-23 20:04:29 -07:00