Commit graph

113300 commits

Author SHA1 Message Date
Jakub Jelinek
c8bf99b4e8 vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL.
* vec.h (VEC_BASE): If base is at offset 0 in the structure,
	use &(P)->base even if P is NULL.

From-SVN: r181258
2011-11-10 16:40:34 +01:00
Jakub Jelinek
03989f5595 re PR rtl-optimization/51023 (likely integer wrong code bug)
PR rtl-optimization/51023
	* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
	val_signbit_known_clear_p for signed comparison narrowing
	optimization.  Don't check for non-VOIDmode, use
	HWI_COMPUTABLE_MODE_P macro.
	<case ZERO_EXTEND>: Don't check for non-VOIDmode.
	Optimize even when const_op is equal to GET_MODE_MASK (mode),
	don't optimize if const_op is negative.

	* gcc.c-torture/execute/pr51023.c: New test.

From-SVN: r181257
2011-11-10 16:36:48 +01:00
Richard Guenther
4da80bfb5d re PR tree-optimization/51042 (endless recursion in phi_translate)
2011-11-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51042
	* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
	self-referential expressions.  Refactor code to avoid duplication.

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

From-SVN: r181256
2011-11-10 15:28:57 +00:00
Richard Guenther
c07a8cb3c9 re PR tree-optimization/51070 (ICE verify_gimple failed)
2011-11-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51070
	* tree-loop-distribution.c (generate_builtin): Do not replace
	the loop with a builtin if the partition contains statements which
	results are used outside of the loop.
	(pass_loop_distribution): Verify and collect.

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

From-SVN: r181255
2011-11-10 13:46:27 +00:00
Richard Guenther
98dd3b733f re PR tree-optimization/51030 (PHI opt does not handle value-replacement with a transfer function)
2011-11-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51030
	* tree-ssa-phiopt.c (jump_function_from_stmt): New function.
	(value_replacement): Use it to handle trivial non-empty
	intermediate blocks.

	* gcc.dg/tree-ssa/phi-opt-6.c: New testcase.

From-SVN: r181254
2011-11-10 12:24:52 +00:00
Richard Guenther
723afc4436 re PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)
2011-11-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/51071
	* gimple.c (gimple_has_side_effects): Remove checking code
	that doesn't belong here.

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

From-SVN: r181253
2011-11-10 12:22:46 +00:00
Eric Botcazou
08d603d6ed * gnat.dg/loop_optimization9.ad[sb]: New test.
From-SVN: r181252
2011-11-10 10:48:11 +00:00
Ira Rosen
bac430c92e re PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992)
PR tree-optimization/51058
        * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.

From-SVN: r181251
2011-11-10 10:14:24 +00:00
Jakub Jelinek
78048b1c66 re PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c:923 on powerpc-apple-darwin9)
PR tree-optimization/51000
	* tree-vect-patterns.c (vect_recog_bool_pattern): If adding
	a pattern stmt for a bool store, adjust DR_STMT too.
	Don't handle bool conversions to single bit precision lhs.
	* tree-vect-stmts.c (vect_remove_stores): If next is a pattern
	stmt, remove its related stmt and free its stmt_vinfo.
	(free_stmt_vec_info): Free also pattern stmt's vinfo and
	pattern def stmt's vinfo.
	* tree-vect-loop.c (destroy_loop_vec_info): Don't try to
	free pattern stmt's vinfo here.
	(vect_transform_loop): When calling vect_remove_stores,
	do gsi_next first and don't call gsi_remove.  If not strided
	store, free stmt vinfo for gsi_stmt (si) rather than stmt.

	* gcc.dg/vect/pr51000.c: New test.

From-SVN: r181250
2011-11-10 09:29:52 +01:00
Paolo Carlini
136a1c15d7 re PR c++/50837 ([c++0x] static_assert and constexpr in template class)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50837
	* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
	pass allow_non_integral_constant_expression_p = true to
	finish_id_expression.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50837
	* g++.dg/cpp0x/static_assert5.C: New.
	* g++.dg/template/nontype13.C: Tweak.

From-SVN: r181248
2011-11-10 02:27:16 +00:00
Richard Henderson
430616e7a7 libitm: Work around assembler missing AVX insns.
From-SVN: r181246
2011-11-09 16:29:38 -08:00
GCC Administrator
41582ffe43 Daily bump.
From-SVN: r181245
2011-11-10 00:18:57 +00:00
Richard Henderson
79b1edb6b5 libitm: Remove unused code.
In particular, unused code that's presenting portability problems.

From-SVN: r181241
2011-11-09 14:54:55 -08:00
Jason Merrill
cb8010f922 re PR c++/50972 ([C++0x] ICE on undeclared identifier)
PR c++/50972
	* pt.c (maybe_instantiate_noexcept): Check the return value of
	push_tinst_level.

From-SVN: r181240
2011-11-09 17:25:25 -05:00
Jason Merrill
59276295d6 re PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)
PR c++/51046
	* parser.c (cp_parser_range_for): check_for_bare_parameter_packs.

From-SVN: r181239
2011-11-09 17:25:12 -05:00
Jakub Jelinek
d3e472a32e re PR target/50911 (assertion failure in expand_vec_perm_interleave2 with -msse)
PR target/50911
	* config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
	V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
	to V4SFmode.

	* gcc.dg/torture/vshuf-16.inc: Add interleave low and high
	permutations.
	* gcc.dg/torture/vshuf-32.inc: Likewise.
	* gcc.dg/torture/vshuf-4.inc: Likewise.
	* gcc.dg/torture/vshuf-8.inc: Likewise.

From-SVN: r181238
2011-11-09 22:37:27 +01:00
Jakub Jelinek
94158d7d26 * gcc.dg/tm/memopt-1.c: Fix up regexp.
From-SVN: r181237
2011-11-09 22:36:13 +01:00
Jakub Jelinek
0ff0609d03 function.h (requires_stack_frame_p): New prototype.
* function.h (requires_stack_frame_p): New prototype.
	* function.c (requires_stack_frame_p): No longer static.
	* config/i386/i386.c (ix86_finalize_stack_realign_flags): If
	stack_realign_fp was just a conservative guess for a function
	which doesn't use sp/fp/argp at all, clear frame_pointer_needed
	and stack realignment.

From-SVN: r181236
2011-11-09 22:28:57 +01:00
Jonathan Wakely
5ed56cbbee allocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same allocator.
* include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
	the new object with the same allocator.
	* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.

From-SVN: r181235
2011-11-09 21:14:03 +00:00
Ian Lance Taylor
e14304eff5 generic-morestack.c: Include <string.h>.
libgcc/:
	* generic-morestack.c: Include <string.h>.
	(uintptr_type): Define.
	(struct initial_sp): Add dont_block_signals field.  Reduce size of
	extra array by 1.
	(allocate_segment): Set prev field to NULL.  Don't set
	__morestack_current_segment or __morestack_segments.
	(__generic_morestack): Update current->prev and *pp after calling
	allocate_segment.
	(__morestack_block_signals): Don't do anything if
	dont_block_signals is set.
	(__morestack_unblock_signals): Likewise.
	(__generic_findstack): Check for initial_sp == NULL.  Add casts to
	uintptr_type.
	(__splitstack_block_signals): New function.
	(enum __splitstack_content_offsets): Define.
	(__splitstack_getcontext, __splitstack_setcontext): New functions.
	(__splitstack_makecontext): New function.
	(__splitstack_block_signals_context): New function.
	(__splitstack_find_context): New function.
	* config/i386/morestack.S (__morestack_get_guard): New function.
	(__morestack_set_guard, __morestack_make_guard): New functions.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

gcc/testsuite/:
	* lib/target-supports.exp (check_effective_target_ucontext_h): New
	procedure.
	* gcc.dg/split-5.c: New test.

From-SVN: r181234
2011-11-09 20:06:31 +00:00
Richard Henderson
8ee9fac21e libitm: Avoid non-portable x86 branch prediction mnemonic.
From-SVN: r181233
2011-11-09 11:51:49 -08:00
Tobias Burnus
a5b3d713cc symbol.c (clear_sym_mark, [...]): Remove functions.
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
        (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
        (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.

From-SVN: r181232
2011-11-09 20:36:54 +01:00
Dodji Seketeli
5cc66776c4 PR c++/51043 - ICE in LTO
* cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
	NULL TYPE_NAME.

From-SVN: r181231
2011-11-09 20:25:01 +01:00
Roland McGrath
e7a82751a5 configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
2011-11-09  Roland McGrath  <mcgrathr@google.com>
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
* configure: Rebuild.
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
Add READELF.
* Makefile.in: Rebuild.

From-SVN: r181230
2011-11-09 13:57:26 -05:00
Richard Henderson
9bdc63433a libitm: de-ELF-ize x86/sjlj.S.
* config/x86/sjlj.S: Protect elf directives with __ELF__.
        Protect .note.GNU-stack with __linux__.

From-SVN: r181229
2011-11-09 10:38:21 -08:00
Janne Blomqvist
9f13f69749 Simplify time() usage.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/time_1.h (gf_gettime): Simplify time() usage.

From-SVN: r181228
2011-11-09 20:30:38 +02:00
Janne Blomqvist
7454437875 Configure cleanup.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac (AC_STDC_HEADERS): Remove.
	(AC_HEADER_TIME): Remove.
	(AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
	of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
	(AC_CHECK_MEMBERS): Use single invocation.
	(AC_CHECK_FUNCS): Move into single invocation of
	AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* intrinsics/clock.c: Include time.h.
	(mclock): Assume clock() is present.
	(mclock8): Likewise.
	* intrinsics/ctime.c (strctime): Assume strftime is present.
	(fdate): Assume time() is present.
	(fdate_sub): Likewise.
	(ctime): Likewise.
	* intrinsics/date_and_time.c: Don't provide abs macro.
	(HAVE_NO_DATE_TIME): Remove code related to macro which is never
	set.
	* intrinsics/execute_command_line.c: Assume stdlib.h is present.
	* intrinsics/exit.c: Likewise.
	* intrinsics/extends_type_of.c: Likewise.
	* intrinsics/gerror.c: Assume strerror() is present.
	* intrinsics/kill.c: Assume signal.h is present.
	* intrinsics/malloc.c: Assume stdlib.h is present.
	* intrinsics/move_alloc.c: Likewise.
	* intrinsics/perror.c: Assume perror() is present.
	* intrinsics/signal.c: Assume signal.h is present.
	* intrinsics/stat.c: Assume stdlib.h is present.
	* intrinsics/system.c: Likewise.
	* intrinsics/time.c: Include time.h, assume time() is present.
	* intrinsics/time_1.h: Conditionally include sys/time.h,
	unconditionally time.h.
	(gf_cputime): Do division in double, fallback using clock().
	(gf_gettime): Assume time() is present.
	* intrinsics/umask.c: Assume stdlib.h is present.
	* runtime/backtrace.c: Likewise.
	* runtime/compile_options.c: Assume signal.h is present, assume
	C89 signals are present.
	* runtime/error.c: Assume signal.h and stdlib.h are present.

From-SVN: r181227
2011-11-09 20:25:58 +02:00
Patrick Marlier
4b6245331e * gcc.dg/tm/memopt-1.c: Adjust regexp.
From-SVN: r181226
2011-11-09 10:14:32 -08:00
Jason Merrill
816d91522e re PR c++/51029 ([C++0x] [4.7 Regression] ICE with -std=c++0x)
PR c++/51029
	* class.c (build_base_path): Don't ICE in fold_non_dependent_expr.

From-SVN: r181225
2011-11-09 13:13:09 -05:00
Richard Henderson
4bdd090f8e libitm: Configure for gas cfi pseudo ops.
* asmcfi.m4: New file.

	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
	* configure, aclocal.m4, config.h.in: Rebuild.
	* config/generic/asmcfi.h: New file.
	* config/x86/sjlj.S: Use it.

From-SVN: r181224
2011-11-09 10:09:53 -08:00
Francois-Xavier Coudert
29d281ca3a re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)
PR libfortran/47972
	* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181223
2011-11-09 10:09:42 -08:00
Jason Merrill
e399136a6a Run most tests in both C++98 and C++11 modes.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_c++11): New.
	(check_effective_target_c++98): New.
	* lib/g++-dg.exp (g++-dg-runtest): New.
	* [various.exp]: Use g++-dg-runtest.
	* [various.C]: Fix for C++11 mode.
gcc/cp/
	* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
	(check-c++0x): Obsolete.
/
	* Makefile.def (language=c++): Remove check-c++0x.
	* Makefile.in (check-gcc-c++): Regenerate.

From-SVN: r181222
2011-11-09 12:53:53 -05:00
Jason Merrill
754ca64333 * [various.C]: Adjust for C++11 mode.
From-SVN: r181221
2011-11-09 12:53:37 -05:00
Jason Merrill
bc3e284b71 * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
From-SVN: r181220
2011-11-09 12:53:24 -05:00
Jason Merrill
ecf658592b pt.c (convert_nontype_argument): Only integral arguments get early folding.
* pt.c (convert_nontype_argument): Only integral arguments
	get early folding.

From-SVN: r181219
2011-11-09 12:53:12 -05:00
Jason Merrill
78d16361e1 parser.c (cp_parser_alias_declaration): Don't do semantic processing if parsing failed.
* parser.c (cp_parser_alias_declaration): Don't do semantic
	processing if parsing failed.

From-SVN: r181218
2011-11-09 12:52:57 -05:00
Janne Blomqvist
161f270d4e PR 46686 Fix incorrect comment.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/46686
	* runtime/backtrace.c (show_backtrace): Fix incorrect comment.

From-SVN: r181217
2011-11-09 19:52:11 +02:00
Paolo Carlini
9b5e84de9d re PR preprocessor/51061 (Deprecated -I- option causes segfault)
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR preprocessor/51061
	* incpath.c (merge_include_chains): Make sure to not pass null
	pointers to free_path.

From-SVN: r181216
2011-11-09 17:26:37 +00:00
Paolo Carlini
e8089b4a9d re PR c++/51045 (erroneous zero as null pointer constant warning at delete)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* init.c (build_new_1, build_vec_delete_1, build_delete):
	Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.


2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Option Summary, C++ Language Options]):
	Add -Wzero-as-null-pointer-constant.

From-SVN: r181215
2011-11-09 17:22:22 +00:00
Paolo Carlini
6d96d7ff5e re PR c++/51045 (erroneous zero as null pointer constant warning at delete)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* init.c (build_new_1, build_vec_delete_1, build_delete):
	Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.


2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Option Summary, C++ Language Options]):
	Add -Wzero-as-null-pointer-constant.

From-SVN: r181214
2011-11-09 17:21:19 +00:00
Paolo Carlini
db422ace3f re PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base members)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51047
	* search.c (lookup_member): Change to take also a tsubst_flags_t
	parameter.
	(lookup_field, lookup_fnfields): Adjust calls.
	* typeck.c (lookup_destructor, finish_class_member_access_expr,
	build_ptrmemfunc_access_expr): Likewise.
	* class.c (handle_using_decl, maybe_note_name_used_in_class):
	Likewise.
	* pt.c (resolve_typename_type): Likewise.
	* semantics.c (lambda_function): Likewise.
	* parser.c (cp_parser_perform_range_for_lookup,
	cp_parser_lookup_name): Likewise.
	* friend.c (make_friend_class): Likewise.
	* name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
	do_class_using_decl, lookup_qualified_name): Likewise.
	* cp-tree.h (lookup_member): Adjust declaration.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51047
	* g++.dg/cpp0x/sfinae29.C: New.

From-SVN: r181213
2011-11-09 17:19:12 +00:00
Tobias Burnus
60858d8a32 configure.ac: Make more cross-compile friendly.
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Make more cross-compile friendly.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

From-SVN: r181212
2011-11-09 18:17:57 +01:00
Eric Botcazou
68126bad7b sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment.
* config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
	and adjust head comment.
	(output_v8plus_mult): Change NAME into OPCODE and adjust throughout.
	(vector_init_bshuffle): Add head comment.
	(vector_init_move_words): Likewise.
	(vector_init_prepare_elts): Likewise.  Take LOCS parameter first.
	(sparc_expand_vector_init): Likewise.  Adjust call to above function.
	(sparc_expand_vector_init_vis2): Likewise.
	(sparc_expand_vector_init_vis1): Likewise.
	(sparc_expand_conditional_move): Likewise.
	(sparc_expand_vcond): Likewise.
	* config/sparc/sparc-protos.h (output_v8plus_shift): Adjust.
	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
	output_v8plus_shift.
	(ashrdi3_v8plus): Likewise.
	(lshrdi3_v8plus): Likewise.

From-SVN: r181211
2011-11-09 16:41:22 +00:00
Matthew Gretton-Dann
f5024b4a87 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/arm-cores.def: Add -mcpu=cortex-a7.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Likewise.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
	* doc/invoke.texi: Document -mcpu=cortex-a7.

From-SVN: r181210
2011-11-09 16:23:15 +00:00
Janne Blomqvist
1ff101ff12 PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/46686
	* configure.ac: Don't check execinfo.h, backtrace,
	backtrace_symbols_fd. Check execve instead of execvp. Call
	GCC_CHECK_UNWIND_GETIPINFO.
	* runtime/backtrace.c: Don't include unused headers, include
	limits.h and unwind.h.
	(CAN_FORK): Check execve instead of execvp.
	(GLIBC_BACKTRACE): Remove.
	(bt_header): Conform to gdb backtrace format.
	(struct bt_state): New struct.
	(trace_function): New function.
	(show_backtrace): Use _Unwind_Backtrace from libgcc instead of
	glibc backtrace functions.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r181209
2011-11-09 18:04:42 +02:00
Janus Weil
560bb0136f re PR fortran/50960 ([OOP] vtables not marked as constant)
2011-11-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50960
	* gfortran.dg/typebound_call_22.f03: New test case.

From-SVN: r181208
2011-11-09 16:56:53 +01:00
Janne Blomqvist
ed10039e8b PR 50016 Slow I/O on MingW due to _commit
frontend ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.texi (Data consistency and durability): New section.


testsuite ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.dg/inquire_size.f90: Don't flush the unit.

libgfortran ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
	* io/unix.c (buf_flush): Don't call _commit.

From-SVN: r181207
2011-11-09 17:46:15 +02:00
Richard Guenther
26833b3de7 revert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct...
2011-11-09  Richard Guenther  <rguenther@suse.de>

	Revert
	2011-11-09  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_call): Verify that
	gimple_call_cannot_inline_p is returning a conservative
	correct result according to gimple_check_call_matching_types.

From-SVN: r181206
2011-11-09 15:05:20 +00:00
Richard Guenther
03cb5f3988 re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
2011-11-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51039
	* tree-cfg.c (verify_gimple_call): Verify that
	gimple_call_cannot_inline_p is returning a conservative
	correct result according to gimple_check_call_matching_types.
	* ipa-inline-analysis.c (estimate_function_body_sizes): Remove
	code dealing with un-inlinablility.
	* gimple-streamer-in.c (input_gimple_stmt): Update the
	non-inlinable flag.

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

From-SVN: r181205
2011-11-09 13:43:02 +00:00
Richard Guenther
c4ac6e9400 re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
2011-11-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51039
	* gimple-low.c (gimple_check_call_args): Remove.
	(gimple_check_call_matching_types): Always return true.
	* tree-inline.c (setup_one_parameter): Always perform a
	valid gimple type change.
	(declare_return_variable): Likewise.

From-SVN: r181204
2011-11-09 13:25:17 +00:00