Commit Graph

91327 Commits

Author SHA1 Message Date
Andreas Tobler 261b8381fe re PR target/35460 (undefined reference to `__builtin_stdarg_start' when compiling 2/29 snapshot on OpenBSD)
2008-12-31  Andreas Tobler  <a.tobler@schweiz.org>

	PR target/35460
	* inclhack.def (openbsd_va_start): Use __builtin_va_start
	for OpenBSD.
	* fixincl.x: Regenerate.

From-SVN: r142980
2008-12-31 14:52:53 +01:00
Jakub Jelinek cc81fd1828 re PR c++/38647 (ICE using __FUNCTION__ as template parameter)
PR c++/38647
	* parser.c (cp_parser_primary_expression) <case RID_FUNCTION_NAME>:
	Return error_mark_node if cp_parser_non_integral_constant_expression
	returns true.

	* g++.dg/template/function1.C: New test.

From-SVN: r142978
2008-12-31 12:46:18 +01:00
GCC Administrator a67d93194a Daily bump.
From-SVN: r142976
2008-12-31 00:16:54 +00:00
Jakub Jelinek 088d4f95da re PR c++/38640 (ICE with decltype of template value parameter)
PR c++/38640
	* semantics.c (finish_decltype_type): Handle TEMPLATE_PARM_INDEX.

	* g++.dg/cpp0x/decltype15.C: New test.

From-SVN: r142973
2008-12-31 00:52:06 +01:00
Jakub Jelinek 03375368ae re PR middle-end/38505 (Revision 142061 caused ICE on __builtin_memcpy)
PR middle-end/38505
	* tree-ssa-ccp.c (may_propagate_address_into_dereference): Return
	false if ADDR's operand has incomplete type.

	Revert:
	2008-12-15  Jakub Jelinek  <jakub@redhat.com>
	PR middle-end/38505
	* tree-ssa.c (useless_type_conversion_p_1): Return
	false if inner_type is incomplete and outer_type is complete.

From-SVN: r142972
2008-12-31 00:34:28 +01:00
Jakub Jelinek e878958850 re PR middle-end/38676 (ICE during regimplification of GIMPLE_SWITCH)
PR middle-end/38676
	* gimplify.c (gimple_regimplify_operands): For GIMPLE_SWITCH
	only regimplify switch index.

	* gcc.dg/gomp/pr38676.c: New test.

From-SVN: r142970
2008-12-31 00:20:45 +01:00
Richard Guenther 66e8b99c2a re PR tree-optimization/38645 (ICE with volatile)
2008-12-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38645
	* tree-ssa-ccp.c (fold_gimple_assign): Use the correct pointer
	type.
	* tree-ssa-dom.c (cprop_operand): Simplify.  Do not propagate
	volatileness changing operands.

	* gcc.dg/pr38645.c: New testcase.

From-SVN: r142967
2008-12-30 21:20:08 +00:00
Steven Bosscher c13edb6795 tree-cfg.c (verify_eh_throw_stmt_node): Return nonzero, to visit all EH statement and fix EH checking.
* tree-cfg.c (verify_eh_throw_stmt_node): Return nonzero,
	to visit all EH statement and fix EH checking.

From-SVN: r142966
2008-12-30 20:44:41 +00:00
Seongbae Park 65cfcd0704 revert: tree-profile.c (tree_init_ic_make_global_vars): Make static variables TLS.
2008-12-31  Seongbae Park  <seongbae.park@gmail.com>

	Revert:
	2008-12-29  Seongbae Park  <seongbae.park@gmail.com>
	* tree-profile.c (tree_init_ic_make_global_vars): Make static
	variables TLS.

From-SVN: r142965
2008-12-30 18:59:51 +00:00
Andrew Pinski 7f2a998265 re PR tree-optimization/38661 (ICE: vector VEC(constructor_elt,base) push domain error, in build_constructors at tree-switch-conversion.c:450)
2008-12-30  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/38661
        * tree-switch-conversion.c (build_constructors): Test for wrapping of
        pos case.

2008-12-30  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/38661
        * gcc.c-torture/compile/pr38661.c: New testcase. 
        * gcc.c-torture/compile/pr38661-1.c: New testcase.

From-SVN: r142964
2008-12-30 08:27:29 -08:00
Steven Bosscher 0000209073 re PR middle-end/38584 (Inline heuristics run even at -O0)
PR middle-end/38584
	* ipa-inline.c (compute_inline_parameters): When not optimizing,
	don't compute the inline parameters, just set them to 0 instead.

From-SVN: r142963
2008-12-30 13:35:00 +00:00
Paolo Bonzini 0251119434 re PR middle-end/38572 (ICE in set_value_range, at tree-vrp.c:398)
2008-12-30  Paolo Bonzini  <bonzini@gnu.org>

	PR tree-optimization/38572
	* tree-vrp.c (vrp_visit_phi_node): Look out for invalid ranges
	and change them to VARYING.

From-SVN: r142962
2008-12-30 10:36:39 +00:00
Richard Guenther b0331ccbe2 re PR tree-optimization/38564 (Revision 142662 caused ICE in insert_into_preds_of_block)
2008-12-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/38564
	* fold-const.c (fold_comparison): Use the correct result type.

	* gcc.c-torture/compile/pr38564.c: New testcase.

From-SVN: r142961
2008-12-30 10:28:01 +00:00
Gerald Pfeifer 1721382102 * MAINTAINERS: Make whitespace consistent.
From-SVN: r142960
2008-12-30 07:45:13 +00:00
Dorit Nuzman 7f5c5702ca re PR tree-optimization/38529 (ICE with nested loops)
PR tree-optimization/38529
	* tree-vect-transform (vect_transform_stmt): Handle inner-loop stmts
	whose DEF is used in the loop-nest that is being vectorized, but
	outside the immediately enclosing loop.


Co-Authored-By: Ira Rosen <irar@il.ibm.com>

From-SVN: r142959
2008-12-30 06:58:57 +00:00
GCC Administrator b72bc5243f Daily bump.
From-SVN: r142957
2008-12-30 00:17:00 +00:00
Seongbae Park 31375f4d8d tree-profile.c (tree_init_ic_make_global_vars): Make static variables TLS.
2008-12-29  Seongbae Park  <seongbae.park@gmail.com>

	* tree-profile.c (tree_init_ic_make_global_vars): Make static
	variables TLS.

From-SVN: r142953
2008-12-29 20:10:21 +00:00
John David Anglin c0c3c409a7 re PR fortran/31832 (FAIL: gfortran.dg/integer_exponentiation_2.f90 at -O1 and above)
PR fortran/31832
	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
	broken powf.
	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
	* intrinsics/c99_functions.c: Use internal powf implementation if
	HAVE_BROKEN_POWF is defined.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.

From-SVN: r142952
2008-12-29 20:10:00 +00:00
Jakub Jelinek 049dba029b re PR c++/38635 (ICE parsing broken code)
PR c++/38635
	* parser.c (cp_parser_condition): Use cp_parser_require
	instead of cp_lexer_consume_token to consume =.

	* g++.dg/parse/cond4.C: New test.

From-SVN: r142951
2008-12-29 19:27:03 +01:00
Jakub Jelinek 04be6ff5a8 re PR middle-end/36191 (can't use complex in a eh region if non-call-exceptions is enabled)
PR c++/36191
	* tree-complex.c (expand_complex_libcall): Call
	maybe_clean_or_replace_eh_stmt and gimple_purge_dead_eh_edges
	instead of passing true as 3rd argument to gsi_replace.

	* g++.dg/torture/pr36191.C: New test.

From-SVN: r142950
2008-12-29 19:25:19 +01:00
Uros Bizjak 67d0afe901 re PR middle-end/38652 (dse.c: In function get_call_args: dse.c:2309: error: target undeclared)
PR middle-end/38652
	* dse.c: Include target.h.
	* Makefile.in (dse.o): Depend on $(TARGET_H).

From-SVN: r142949
2008-12-29 13:36:24 +01:00
Hariharan Sandanagobalane 7c280c72a3 fprintf.x: Disable test for freestanding targets.
* gcc.c-torture/execute/builtins/fprintf.x: Disable test for
        freestanding targets.
        * gcc.c-torture/execute/pr37573.x: Disable test for 16-bit targets.
        * gcc.c-torture/execute/20081117-1.x: Disable test for 16-bit targets.
        * gcc.c-torture/compile/limits-stringlit.c: Disable test for picochip.
        * gcc.dg/array-quals-1.c: Disable test for picochip.
        * lib/target-supports.exp: Add support for freestanding ports and 
        disable picochip for profiling tests.

From-SVN: r142948
2008-12-29 10:31:14 +00:00
Jakub Jelinek d41d8140d2 re PR driver/38381 (-b option seems to be broken)
PR driver/38381
	* gcc.c (process_command): Accept also -b with configuration name
	in the next argument.
	* doc/invoke.texi (-b): Document that no hyphen is required if
	configuration name is in the next argument after -b.

From-SVN: r142947
2008-12-29 09:32:21 +01:00
Jakub Jelinek 19bb3aa5c5 re PR c++/38637 (ICE with template declaration of enum)
PR c++/38637
	* decl.c (start_enum): If enumtype is error_mark_node, exit early.

	* g++.dg/cpp0x/enum2.C: New test.

From-SVN: r142946
2008-12-29 09:28:06 +01:00
Andrew Pinski bbddfe5b6c re PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via registers)
2008-12-28  Andrew Pinski  <pinskia@gmail.com>

        PR libobjc/36610
        * objc/execute/forward-1.m: New test.

From-SVN: r142945
2008-12-28 18:16:45 -08:00
GCC Administrator 07d2064206 Daily bump.
From-SVN: r142943
2008-12-29 00:16:43 +00:00
Jakub Jelinek e4ebaef35b re PR c++/38650 (Trouble with volatile and #pragma omp for)
PR c++/38650
	* semantics.c (finish_omp_for): Don't add CLEANUP_POINT_EXPR
	around volatile iteration var in condition and/or increment
	expression.

	* testsuite/libgomp.c/pr38650.c: New test.
	* testsuite/libgomp.c++/pr38650.C: New test.

From-SVN: r142940
2008-12-28 21:06:00 +01:00
GCC Administrator 2008239a95 Daily bump.
From-SVN: r142938
2008-12-28 00:17:08 +00:00
Jakub Jelinek 2603276ee3 re PR middle-end/38641 (VEC_EXTRACT_EVEN_EXPR/VEC_EXTRACT_ODD_EXPR no longer print out correctly in the tree dumps)
PR middle-end/38641
	* gimple-pretty-print.c (dump_binary_rhs): Print
	VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR,
	VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
	VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR
	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR similarly
	to COMPLEX_EXPR, MIN_EXPR and MAX_EXPR.

From-SVN: r142935
2008-12-27 20:38:20 +01:00
Jakub Jelinek e1e2bac4bd re PR middle-end/38633 (ICE with #pragma omp parallel and struct declaration)
PR middle-end/38633
	* tree-cfg.c (replace_block_vars_by_duplicates): Only call
	replace_by_duplicate_decl for VAR_DECLs or CONST_DECLs.

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

From-SVN: r142934
2008-12-27 16:38:22 +01:00
Jakub Jelinek 749db154bd re PR c++/38639 (ICE with invalid use of auto in parallel for-loop)
PR c++/38639
	* pt.c (tsubst_omp_for_iterator): RECUR on whole init_expr instead of
	just its type.

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

From-SVN: r142933
2008-12-27 16:24:52 +01:00
Jakub Jelinek 382017a6e8 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
From-SVN: r142932
2008-12-27 16:20:28 +01:00
GCC Administrator 94fa50c801 Daily bump.
From-SVN: r142930
2008-12-27 00:16:57 +00:00
Uros Bizjak 79644b2756 atomic-6.c: Add -mieee for alpha*-*-* targets.
* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.

From-SVN: r142927
2008-12-26 17:35:22 +01:00
GCC Administrator 53b558a3f7 Daily bump.
From-SVN: r142925
2008-12-26 00:16:45 +00:00
GCC Administrator 46b0561837 Daily bump.
From-SVN: r142919
2008-12-25 00:16:52 +00:00
Kazu Hirata aa331cc56b Makefile.in (GTFILES): Add $(srcdir)/expr.h.
* Makefile.in (GTFILES): Add $(srcdir)/expr.h.
	* expr.h: Fix the declaration of block_clear_fn.

From-SVN: r142914
2008-12-24 17:00:52 +00:00
GCC Administrator c4b71aa980 Daily bump.
From-SVN: r142911
2008-12-24 00:17:03 +00:00
Andrew Pinski 12fda46d3b [multiple changes]
2008-12-23  Andrew Pinski  <pinski@gmail.com>

        PR middle-end/38590
        * fold-const.c (fold_binary): Call fold_convert on arguments to
        fold_build2 for negative divide optimization.

2008-12-23  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/38590
        * gcc.c-torture/compile/pr38590-1.c: New testcase.
        * gcc.c-torture/compile/pr38590-2.c: New testcase.

From-SVN: r142906
2008-12-23 08:21:32 -08:00
Jonathan Larmour f05d0fc148 concurrence.h: Fix __gthread_cond_t initialisation function macro name.
2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>

	* include/ext/concurrence.h: Fix __gthread_cond_t initialisation
	function macro name.

From-SVN: r142901
2008-12-23 03:10:35 +00:00
Jerry DeLisle a6ccf29c0b Fix PR number referenced in ChangeLog.
From-SVN: r142900
2008-12-23 01:39:00 +00:00
Benjamin Kosnik a8ddeb784c stdheader.cc: Add cstdlib include.
2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/stdheader.cc: Add cstdlib include.
	* doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.

From-SVN: r142897
2008-12-23 01:27:39 +00:00
GCC Administrator 70e352ae98 Daily bump.
From-SVN: r142895
2008-12-23 00:16:49 +00:00
Jakub Jelinek 8dd5516b4c re PR middle-end/31150 (Not promoting an whole array to be static const)
PR middle-end/31150
	* dse.c (struct store_info): Add const_rhs field.
	(clear_rhs_from_active_local_stores): Clear also const_rhs.
	(record_store): Try also cselib_expand_value_rtx to get a constant.
	(find_shift_sequence, get_stored_val): Use const_rhs instead of
	rhs if worthwhile.
	* cselib.c (cselib_record_sets): If !cselib_record_memory and
	there is just one set from read-only MEM, look at REG_EQUAL or
	REG_EQUIV note.

	* dse.c (struct store_info): Add redundant_reason field.
	(record_store): When storing the same constant as has been
	stored by an earlier store, set redundant_reason field
	to the earlier store's insn_info_t.  Don't delete cannot_delete
	insns.
	(find_shift_sequence): Remove read_info argument, add read_mode
	and require_cst arguments.  Return early if require_cst and
	constant wouldn't be returned.
	(get_stored_val): New function.
	(replace_read): Use it.
	(scan_insn): Put even cannot_delete insns with exactly 1 store
	into active_local_stores.
	(dse_step1): Don't delete cannot_delete insns.  Remove redundant
	constant stores if contains_cselib_groups and earlier store storing
	the same value hasn't been eliminated.
	(dse_step6): Renamed to dse_step7.  New function.
	(dse_step7): Renamed from dse_step6.
	(rest_of_handle_dse): Call dse_step6 and dse_step7 at the end.
	* cselib.c (cselib_expand_value_rtx): Don't wrap CONST_INTs
	into CONST unless really necessary.  Handle SUBREG, unary,
	ternary, bitfield and compares specially, to be able to simplify
	operations on constants.
	(expand_loc): Try to optimize LO_SUM.

	* dse.c (get_call_args): New function.
	(scan_insn): Don't handle BUILT_IN_BZERO.  For memset, attempt
	to get call arguments and if successful and both len and val are
	constants, handle the call as (mem:BLK) (const_int) store.

	* dse.c (struct store_info): Add is_large bool field, change
	positions_needed into a union of a bitmask and bitmap + count.
	(free_store_info): Free bitmap if is_large.
	(set_usage_bits): Don't look at stores where
	offset + width >= MAX_OFFSET.
	(set_position_unneeded, set_all_positions_unneeded,
	any_positions_needed_p, all_positions_needed_p): New static inline
	functions.
	(record_store): Handle BLKmode stores of CONST_INT, if
	MEM_SIZE is set on the MEM.  Use the new positions_needed
	accessor inlines.
	(replace_read): Handle reads from BLKmode CONST_INT stores.
	(check_mem_read_rtx): Use all_positions_needed_p function.
	(dse_step1): Free large positions_needed bitmaps and clear is_large.

	* dse.c (struct store_info): Change begin and end types to
	HOST_WIDE_INT.

	* dse.c (record_store): Fix check for unused store.

	* expr.c (block_clear_fn): No longer static.
	* expr.h (block_clear_fn): Declare.
	* dse.c (scan_insn): Memset and bzero can just read their
	arguments.

	* gcc.c-torture/execute/20081218-1.c: New test.

From-SVN: r142892
2008-12-23 00:41:17 +01:00
Jakub Jelinek 805903b525 re PR target/38488 (x86_64 generates much larger and slightly slower code for memset)
* config/i386/i386.c (expand_setmem_via_rep_stos): Add ORIG_VALUE
	argument.  If ORIG_VALUE is const0_rtx and COUNT is constant,
	set MEM_SIZE on DESTMEM.
	(ix86_expand_setmem): Adjust callers.

	PR target/38488
	* expr.h (get_mem_align_offset): New prototype.
	* emit-rtl.c (get_mem_align_offset): New function.
	* config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE correctly.
	(expand_constant_movmem_prologue, expand_constant_setmem_prologue):
	New functions.
	(ix86_expand_movmem): Optimize if COUNT_EXP
	is constant, desired_align > align and dst & (desired_align - 1)
	is computable at compile time.
	(ix86_expand_setmem): Likewise.

	* builtins.c (get_memory_rtx): Try to derive MEM_ATTRS from not yet
	resolved SAVE_EXPR or POINTER_PLUS_EXPR.

From-SVN: r142891
2008-12-23 00:34:07 +01:00
Paul Thomas d797a4ed79 re PR fortran/35780 (internal compiler error for complicated PARAMETER expressions)
2008-12-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35780
	* gfortran.dg/alloc_comp_optional_1.f90: New test.

From-SVN: r142890
2008-12-22 23:16:44 +00:00
Paul Thomas 8a2725318b re PR fortran/35780 (internal compiler error for complicated PARAMETER expressions)
2008-12-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35780
	* trans-decl.c (init_intent_out_dt): Allow for optional args.

From-SVN: r142889
2008-12-22 23:11:29 +00:00
Uros Bizjak 5d88d3be0a re PR target/34571 (Segfault in alpha_expand_mov at -O3)
* config/alpha/alpha.h (ASM_OUTPUT_EXTERNAL): New macro.

	PR target/34571
	* config/alpha/predicates.md (symbolic_operand): Return 1 for a
	label_ref with an offset.

From-SVN: r142885
2008-12-22 18:49:52 +01:00
Jerry DeLisle 82192170e3 re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37472
	* io/write_float.def (output_float_FMT_G_): Modify calculation of temp
	to avoid sensitivity to round-off.

From-SVN: r142884
2008-12-22 14:53:37 +00:00
GCC Administrator 8de5d93ad5 Daily bump.
From-SVN: r142882
2008-12-22 00:16:47 +00:00