Commit Graph

108405 Commits

Author SHA1 Message Date
Janne Blomqvist
176f076f05 Whitespace fixes
From-SVN: r173173
2011-04-29 19:11:36 +03:00
Janne Blomqvist
1e03060224 Fix path handling
From-SVN: r173172
2011-04-29 19:09:45 +03:00
Janne Blomqvist
848eab5c43 PR 48488 Typo
From-SVN: r173171
2011-04-29 19:06:48 +03:00
Janne Blomqvist
ef6d0b6760 PR 48488 Fix comments
From-SVN: r173170
2011-04-29 19:03:54 +03:00
Janne Blomqvist
d785f6a394 PR 48488 Fix comments
From-SVN: r173169
2011-04-29 18:58:20 +03:00
Jerry DeLisle
f4c31037a2 re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48488
	PR libgfortran/48602
	PR libgfortran/48615
	PR libgfortran/48684
	PR libgfortran/48787
	* gfortran.dg/fmt_g.f: Adjust test.
	* gfortran.dg/fmt_g0_1.f08: Adjust test.
	* gfortran.dg/round_3.f08: New test.
	* gfortran.dg/namelist_print_1.f: Adjust test.
	* gfortran.dg/char4_iunit_1.f03: Adjust test.
	* gfortran.dg/f2003_io_5.f03: Adjust test.
	* gfortran.dg/coarray_15.f90: Adjust test.
	* gfortran.dg/namelist_65.f90: Adjust test.
	* gfortran.dg/fmt_cache_1.f: Adjust test.
	* gfortran.dg/char4_iunit_2.f03: Adjust test.
	* gfortran.dg/real_const_3.f90: Adjust test.

From-SVN: r173168
2011-04-29 15:08:57 +00:00
Richard Guenther
45a2c4774f builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_classify_type): Use integer_type_node
	for the type of the result.
	(fold_builtin_isascii): Likewise.
	(fold_builtin_toascii): Use integer_type_node where appropriate.
	(fold_builtin_logb): Likewise.
	(fold_builtin_frexp): Likewise.
	(fold_builtin_strstr): Likewise.
	(fold_builtin_strpbrk): Likewise.
	(fold_builtin_fputs): Likewise.
	(fold_builtin_sprintf): Likewise.
	(fold_builtin_snprintf): Likewise.
	(fold_builtin_printf): Likewise.
	(do_mpfr_remquo): Use a proper type for the assigned constant.
	(do_mpfr_lgamma_r): Likewise.
	* dwarf2out.c (resolve_one_addr): Use size_int.
	* except.c (init_eh): Likewise.
	(assign_filter_values): Use integer_type_node for filter values.
	(sjlj_emit_dispatch_table): Use integer_type_node for dispatch
	indices.
	* tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
	for EH region numbers.
	* tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
	for the shift amount.

From-SVN: r173167
2011-04-29 15:00:04 +00:00
Jerry DeLisle
a3f02fe44c re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Janne Blomqvist  <jb@gcc.gnu.org>

	PR libgfortran/48488
	PR libgfortran/48602
	PR libgfortran/48615
	PR libgfortran/48684
	PR libgfortran/48787
	* io/write.c (write_d, write_e, write_f, write_en,
	write_es): Add precision compemsation parameter to call.
	(set_fnode_default): Adjust default widths to assure
	round trip on write and read. (write_real): Adjust call to write_float.
	(write_real_g0): Calculate compensation for extra precision and adjust
	call to write_float. 
	* io/write_float.def (output_float_FMT_G_): Use volatile rather than
	asm volatile to avoid optimization issue. Correctly calculate the
	number of blanks (nb) to be appended and simplify calculation logic.
	(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
	default widths. Eliminate the code that attempted to reduce the
	the precision used in later sprintf functions.  Add call parameter to
	compensate for extra precision.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>

From-SVN: r173166
2011-04-29 14:56:02 +00:00
Richard Guenther
eb6c3df1a0 expr.h (expand_shift): Rename to ...
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* expr.h (expand_shift): Rename to ...
	(expand_variable_shift): ... this.
	(expand_shift): Take a constant shift amount.
	* expmed.c (expand_shift): Rename to ...
	(expand_variable_shift): ... this.
	(expand_shift): New wrapper around expand_variable_shift.
	* expr.c (convert_move, emit_group_load_1, emit_group_store,
	optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
	expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
	* expmed.c (store_fixed_bit_field, extract_bit_field_1,
	extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
	expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
	extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
	emit_store_flag_1, emit_store_flag): Likewise.
	* builtins.c (expand_builtin_signbit): Likewise.
	* calls.c (load_register_parameters): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* lower-subreg.c (resolve_shift_zext): Likewise.
	* optabs.c (widen_bswap, expand_abs_nojump,
	expand_one_cmpl_abs_nojump, expand_float): Likewise.
	* spu/spu.c (spu_expand_extv): Likewise.
	* sparc/sparc.c (sparc32_initialize_trampoline): Likewise.

From-SVN: r173157
2011-04-29 14:20:41 +00:00
Richard Guenther
9f616812d9 tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
	for the remapped region number.
	* predict.c (build_predict_expr): Use integer_type_node for the
	predict kind.
	* fold-const.c (fold_binary_loc): Use integer_type_node for
	the shift amount.  Use a proper type for the PLUS_EXPR operand.

From-SVN: r173156
2011-04-29 13:11:18 +00:00
Michael Matz
b823cdfe76 lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins.
* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
	other trees that just builtins.
	(lto_record_common_node): Don't leave NULL TYPE_CANONICAL.

lto/
	* lto.c (toplevel): Include tree-flow.h.
	(lto_read_in_decl_state): Don't merge types here.
	(tree_with_vars): New static hash table.
	(remember_with_vars): New static functions.
	(LTO_FIXUP_TYPE): New macro.
	(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
	lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
	lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
	lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
	(lto_read_decls): Uniquify while reading in trees.
	(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
	LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
	lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
	lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
	lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
	lto_fixup_tree): Remove.
	(lto_fixup_state): Remove data argument.  Use
	lto_symtab_prevailing_decl.
	(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
	(lto_fixup_prevailing_decls): New function.
	(lto_fixup_state_aux): Argument aux is unused.
	(lto_fixup_decls): Don't allocate pointer sets, don't use
	lto_fixup_tree, use lto_fixup_prevailing_decls.
	(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
	* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).

From-SVN: r173155
2011-04-29 12:27:26 +00:00
Michael Matz
fa5e5a764f misc.c (gnat_handle_option): Set warn_maybe_uninitialized.
ada/
	* gcc-interface/misc.c (gnat_handle_option): Set
	warn_maybe_uninitialized.

fortran/
	* options.c (options.c): Set warn_maybe_uninitialized.

From-SVN: r173154
2011-04-29 12:23:46 +00:00
Richard Guenther
413581bae8 tree-nested.c (get_trampoline_type): Use size_int.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-nested.c (get_trampoline_type): Use size_int.
	(get_nl_goto_field): Likewise.
	* tree-eh.c (lower_try_finally_switch): Use integer_type_node
	for all indexes.
	(lower_eh_constructs_2): Likewise.
	(lower_resx): Likewise.
	(lower_eh_dispatch): Likewise.
	* tree-mudflap.c (mf_build_string): Use size_int.
	(mudflap_register_call): Use integer_type_node for the flag.
	(mudflap_enqueue_constant): Use size_int.
	* tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
	instead of rebuilding it.

From-SVN: r173153
2011-04-29 12:00:55 +00:00
Richard Guenther
5c04e9f475 tree-ssa-structalias.c (get_fi_for_callee): Restructure.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (get_fi_for_callee): Restructure.
	Handle OBJ_TYPE_REF.
	(find_func_aliases_for_call): Use it more consistently.

From-SVN: r173152
2011-04-29 10:59:33 +00:00
Rainer Orth
9d9305ea5d osf.S (UA_SI, [...]): Define.
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
	Define.
	Use them to handle ELF vs. ECOFF differences.
	[__osf__] (_GLOBAL__F_ffi_call_osf): Define.

From-SVN: r173151
2011-04-29 08:49:08 +00:00
Alexandre Oliva
5c24671b5a haifa-sched.c (last_nondebug_scheduled_insn): New.
* haifa-sched.c (last_nondebug_scheduled_insn): New.
(rank_for_schedule): Use it.
(schedule_block): Set it.

From-SVN: r173150
2011-04-29 05:22:08 +00:00
Xinliang David Li
10adac5108 split checksum into cfg checksum and line checksum
From-SVN: r173147
2011-04-29 00:19:35 +00:00
GCC Administrator
112cee354d Daily bump.
From-SVN: r173146
2011-04-29 00:18:36 +00:00
Alan Modra
5d6358a57d rs6000.c (rs6000_delegitimize_address): Handle unspec plus offset.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
	unspec plus offset.  Tidy macho code.

From-SVN: r173141
2011-04-29 08:58:56 +09:30
Martin Jambor
85ad2ef57f cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a decl.
2011-04-29  Martin Jambor  <mjambor@suse.cz>

	* cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
	node instead of a decl.  Update all callers.
	* cgraph.h: Update declaration.

From-SVN: r173138
2011-04-29 00:49:46 +02:00
Michael Meissner
74c810bdd0 update changelog #2
From-SVN: r173135
2011-04-28 20:51:23 +00:00
Ira Rosen
437f4a0024 re PR tree-optimization/48765 (ICE in vect_transform_stmt)
PR tree-optimization/48765
        * tree-vectorizer.h (vect_make_slp_decision): Return bool.
        * tree-vect-loop.c (vect_analyze_loop_operations): Add new
        argument to indicate if loop aware SLP is being used.  Scan
        the statements and update the vectorization factor
        according to the type of
        vectorization before statement analysis.
        (vect_analyze_loop_2): Get a return value from
        vect_make_slp_decision, pass it to 
        vect_analyze_loop_operations.
        (vectorizable_reduction): Set number of copies to 1 in case of
        pure SLP statement.
        * tree-vect-stmts.c (vectorizable_conversion,
        vectorizable_assignment, vectorizable_shift,
        vectorizable_operation, vectorizable_type_demotion,
        vectorizable_type_promotion, vectorizable_store,
        vectorizable_load): Likewise.
        (vectorizable_condition): Move the check that it is not SLP
        vectorization before the number of copies check.
        * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if
        decided to vectorize the loop using SLP.

From-SVN: r173132
2011-04-28 19:50:28 +00:00
Michael Meissner
45540bcf24 update changelog
From-SVN: r173128
2011-04-28 19:09:30 +00:00
Rainer Orth
2e23f6d95f re PR tree-optimization/48775 (gcc.dg/pr48616.c FAILs on Tru64 UNIX)
PR tree-optimization/48775
	* gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*.

From-SVN: r173125
2011-04-28 18:31:52 +00:00
Paolo Carlini
546a41977b re PR c++/48798 (CV-qualified base class erroneously forbidden)
/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48798
	* semantics.c (finish_base_specifier): cv-qualified base class
	is fine, per DR 484.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48798
	* g++.dg/inherit/pr48798.C: New.
	* g++.old-deja/g++.other/base1.C: Adjust.

From-SVN: r173124
2011-04-28 18:12:29 +00:00
Dodji Seketeli
f62cd40949 re PR c++/48656 ([C++0x] cannot call member function without object)
Fix PR c++/48656

gcc/cp/

	* semantics.c (finish_call_expr): Don't forget BASELINK nodes when
	considering call expressions involving a member function.

gcc/testsuite/

	* gcc/testsuite/g++.dg/template/inherit7.C: New test case.

From-SVN: r173123
2011-04-28 20:08:43 +02:00
Jakub Jelinek
c6fc44f364 re PR middle-end/48597 (x86-64 unwind register save location misses half-register write?)
PR middle-end/48597
	* final.c (final_scan_insn): Call dwarf2out_frame_debug even for
	inline asm.

From-SVN: r173120
2011-04-28 19:01:02 +02:00
Joseph Myers
6c0170eaf1 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
*-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
	(i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
	i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
	x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
	linux*.h headers.
	* config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
	Define.
	* config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't
	undefine.
	* config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
	REG_NAME.
	* config/i386/linux.h (REG_NAME): Don't define.
	* config/i386/linux64.h (REG_NAME): Don't define.
	* config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
	Undefine before defining.

From-SVN: r173119
2011-04-28 17:49:49 +01:00
Joseph Myers
fddf9ee798 configure.ac (*-*-dragonfly*, [...]): Remove cases in libgcj-disabling case statement.
* configure.ac (*-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
	alpha*-dec-osf*, alpha*-*-linux*, alpha*-*-*, sh-*-linux*,
	arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, frv-*-*): Remove
	cases in libgcj-disabling case statement.
	(hppa*64*-*-linux*): Set unsupported_languages instead of
	disabling target-zlib.
	(hppa*64*-*-*): Restrict case in libgcj-disabling case statement
	to hppa*64*-*-hpux*.
	(hppa*-*-*): Restrict case in libgcj-disabling case statement to
	hppa*-*-hpux*.
	(ia64*-*-elf*, ia64*-**-hpux*, i[[3456789]]86-*-elf,
	i[[3456789]]86-*-linux*, *-*-cygwin*, i[[3456789]]86-*-interix*,
	i[[3456789]]86-*-solaris2*, m32r-*-*, m68k-*-elf*, m68*-*-* |
	fido-*-*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* |
	powerpc-*-rtems*, mips*-*-linux*, mips*-*-*, sh-*-* | sh64-*-*,
	sparc-*-elf*, sparc64-*-elf*, sparc-*-solaris* |
	sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* |
	*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-*): Remove cases in
	libgcj-disabling case statement.
	* configure: Regenerate.

From-SVN: r173118
2011-04-28 17:45:19 +01:00
Jan Hubicka
970dabbd1e ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names array.
* ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
	array.
	(estimate_function_body_sizes): Build nonconstant_names array; handle
	BUILT_IN_CONSTANT_P.

From-SVN: r173070
2011-04-28 13:29:54 +00:00
Joseph Myers
80f81134d7 configure.ac: Disable Java for targets not supporting libffi.
* configure.ac: Disable Java for targets not supporting libffi.
	(*-*-chorusos, *-*-kaos*, am33_2.0-*-linux*, sh*-*-pe|mips*-*-pe):
	Remove cases in Java-disabling statement.
	(*arm-wince-pe): Change to arm-wince-pe.
	(arc-*-*, arm-*-coff, arm-*-pe*, arm-*-riscix*, avr-*-*): Remove
	cases in Java-disabling statement.
	(bfin-*-*): Don't disable Java again.
	(c4x-*-* | tic4x-*-*, tic54x-*-*, cr16-*-*, d10v-*-*, d30v-*-*,
	fr30-*-elf*, moxie-*-*, h8300*-*-*, h8500-*-*, hppa1.1-*-osf* |
	hppa1.1-*-bsd*, hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-openbsd*,
	hppa*-*-pro*, i960-*-*, i[[3456789]]86-*-coff,
	i[[3456789]]86-*-pe, i[[3456789]]86-*-sco3.2v5*,
	i[[3456789]]86-*-sco*, i[[3456789]]86-*-sysv4*,
	i[[3456789]]86-*-beos*, i[[3456789]]86-*-rdos*,
	m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*): Remove cases in
	Java-disabling statement.
	(mmix-*-*): Don't disable Java again.
	(mt-*-*, powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
	powerpc-*-beos*, rs6000-*-lynxos*, rs6000-*-*, m68k-apollo-*,
	microblaze*, mips*-sde-elf*, mips*-*-irix5*, mips*-*-bsd*,
	sparclet-*-aout* | sparc86x-*-*, sparclite-*-*, sparc-*-sunos4*,
	tic6x-*-*, v810-*-*, vax-*-*): Remove cases in Java-disabling
	statement.
	* configure: Regenerate.

From-SVN: r173069
2011-04-28 14:28:28 +01:00
Joseph Myers
2909494bdb configure.ac: Separate cases disabling Java and Java libraries from general case over targets.
* configure.ac: Separate cases disabling Java and Java libraries
	from general case over targets.
	* configure: Regenerate.

From-SVN: r173068
2011-04-28 14:23:08 +01:00
Richard Guenther
8d3e39242c re PR bootstrap/48804 (Bootstrap compare failure)
2011-04-28  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48804
	Revert
	2011-04-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (solve_constraints): Build succ graph
	as late as possible.

From-SVN: r173067
2011-04-28 13:06:44 +00:00
Paolo Carlini
df9cb15f7a 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert unintended changes to include/parallel files.

From-SVN: r173066
2011-04-28 10:55:56 +00:00
Paolo Carlini
9f1163b171 re PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48760
	* include/std/complex (complex<float>::complex(float, float),
	complex<double>::complex(double, double),
	complex<long double>::complex(long double, long double)): Use
	list-initialization in C++0x mode, initialize in the body in
	C++03 mode.
	* testsuite/26_numerics/complex/cons/48760.cc: New.
	* testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.

2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset(unsigned long long)): Minor
	tweak, remove redundant round braces.

From-SVN: r173065
2011-04-28 10:52:17 +00:00
Richard Guenther
6ecde111c1 re PR tree-optimization/40052 (missed optimizations on (extended) logical types: (x | 1) --> 1)
2011-04-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40052
	PR tree-optimization/15347
	* gcc.dg/tree-ssa/vrp57.c: New testcase.
	* gcc.dg/pr15347.c: Likewise.

From-SVN: r173064
2011-04-28 09:55:41 +00:00
Paolo Carlini
a6343f618b re PR c++/48530 ([C++0x][SFINAE] Hard errors with deleted d'tors)
/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48530
	* tree.c (build_cplus_new): Check build_target_expr return
	value for error_mark_node.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48530
	* g++.dg/cpp0x/sfinae18.C: New.

From-SVN: r173063
2011-04-28 09:54:04 +00:00
Paolo Carlini
83b6b866e6 re PR c++/48771 ([C++0x] is_literal_type incorrect for references to non-literal types)
/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48771
	* semantics.c (literal_type_p): Reference types are literal types,
	per the FDIS.
	(valid_type_in_constexpr_fundecl_p): Remove.
	(is_valid_constexpr_fn): Adjust.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48771
	* g++.dg/ext/is_literal_type1.C: New.

From-SVN: r173062
2011-04-28 09:21:23 +00:00
Richard Guenther
8576f20aed tree-ssa-structalias.c (dump_constraint): Don't end the line.
2011-04-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (dump_constraint): Don't end the line.
	(debug_constraint): Do it here.
	(dump_constraints): And here.
	(rewrite_constraints): And here.
	(dump_constraint_edge): Remove.
	(dump_constraint_graph): Rewrite to produce DOT output.
	(solve_constraints): Build succ graph as late as possible.
	Dump constraint graphs before and after solving.

From-SVN: r173061
2011-04-28 09:11:17 +00:00
Richard Guenther
e38811ce28 tree-ssa-structalias.c (find_func_aliases_for_builtin_call): New function split out from ...
2011-04-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	New function split out from ...
	(find_func_aliases): ... here.  Call it.
	(find_func_aliases_for_call): Likewise.

From-SVN: r173060
2011-04-28 09:08:42 +00:00
Tobias Burnus
a300121e62 re PR fortran/48112 (generic interface to external function in module)
2011-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48112
        * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
        function results only once.
        (resolve_symbol): Always resolve function results.

        PR fortran/48279
        * expr.c (gfc_check_vardef_context): Fix handling of generic
        EXPR_FUNCTION.
        * interface.c (check_interface0): Reject internal functions
        in generic interfaces, unless -std=gnu.

2011-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48112
        PR fortran/48279
        * gfortran.dg/interface_35.f90: New.
        * gfortran.dg/erfc_scaled_1.f90: Don't compile with -pedantic.
        * gfortran.dg/func_result_6.f90: Add dg-warning.
        * gfortran.dg/bessel_1.f90: Ditto.
        * gfortran.dg/hypot_1.f90: Ditto.
        * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
        * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
        * gfortran.dg/interface_assignment_4.f90: Ditto.

From-SVN: r173059
2011-04-28 07:48:18 +02:00
Jason Merrill
77a30e9a5f re PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)
PR libstdc++/48760
	Implement list-initialization of _Complex.
	* decl.c (reshape_init_r): Allow {real,imag} for _Complex.
	(check_initializer): Likewise.
	* call.c (build_complex_conv): New.
	(implicit_conversion): Call it.
	(convert_like_real): Handle it.
	* typeck2.c (check_narrowing): Handle it.

From-SVN: r173058
2011-04-27 21:53:53 -04:00
Jason Merrill
e79a6b402a init.c (build_vec_delete_1): Look for sfk_deleting_destructor to decide whether to delete.
* init.c (build_vec_delete_1): Look for sfk_deleting_destructor to
	decide whether to delete.
	(build_vec_init): Pass sfk_complete_destructor.

From-SVN: r173057
2011-04-27 21:53:43 -04:00
Jason Merrill
c12ff9d8f0 re PR c++/40975 (ICE in copy_tree_r on array new)
PR c++/40975
	* cp-tree.def (VEC_INIT_EXPR): Add third operand.
	* cp-tree.h (VEC_INIT_EXPR_NELTS): New.
	* cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
	* tree.c (build_vec_init_expr): Handle getting pointer/nelts.
	(build_vec_init_elt): Don't expect an array type.
	(build_array_copy): Adjust.
	* init.c (perform_member_init): Adjust.
	(build_new_1): Use build_vec_init_expr.

From-SVN: r173056
2011-04-27 21:53:34 -04:00
Gabriel Dos Reis
fbaf0d0c08 internal-fn.h (internal_fn_name_array): Declare.
* internal-fn.h (internal_fn_name_array): Declare.
	(internal_fn_flags_array): Likewise.

From-SVN: r173055
2011-04-28 01:25:01 +00:00
GCC Administrator
d2e79c4eb8 Daily bump.
From-SVN: r173054
2011-04-28 00:18:34 +00:00
Tobias Burnus
fa9f7c7040 re PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on invalid (?) fortran code)
2011-04-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48788
        * resolve.c (resolve_global_procedure): Error recovery -
        avoid segfault for (non)character-returning functions.

2011-04-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48788
        * gfortran.dg/whole_file_34.f90: New.

From-SVN: r173048
2011-04-27 22:32:21 +02:00
Paolo Carlini
1f428429c4 move.h (move_if_noexcept): Add.
2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (move_if_noexcept): Add.
	* testsuite/20_util/move_if_noexcept/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/move_if_noexcept/1.cc: Likewise.

From-SVN: r173044
2011-04-27 18:37:32 +00:00
Uros Bizjak
cbb734aa01 i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
* config/i386/i386.md (ssemodesuffix):  Merge with ssevecsize,
	ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
	Move from sse.md.
	(ssemodefsuffix): Remove.
	(ssevecmodesuffix): New mode attribute.
	(fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
	*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
	*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
	*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
	*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
	*sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
	*ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
	ssemodesuffix mode attribute.
	(float splitters): Use ssevecmodesuffix mode attribute.
	* config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
	(sseinsmode): Rename from avxvecmode.
	(avxsizesuffix): Rename from avxmodesuffix.
	(sseintvecmode): Rename from avxpermvecmode.
	(ssedoublevecmode): Rename from ssedoublesizemode.
	(ssehalfvecmode): Rename from avxhalfvecmode.
	(ssescalarmode): Rename from avxscalarmode.
	(<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
	templates for ssemodesuffix mode attribute.
	(*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
	mode attribute.

	Adjust RTX patterns globally for renamed mode attributes.

From-SVN: r173043
2011-04-27 20:21:22 +02:00
Jan Hubicka
991278ab90 inline-9.c: New testcase.
* testsuite/gcc.dg/tree-ssa/inline-9.c: New testcase.
	* ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
	* ipa-inline-analysis.c: Include alloc-pool.h.
	(edge_predicate_pool): New.
	(trye_predicate_p): New function
	(false_predicate_p): New function.
	(add_clause): Sanity check that false clauses are "optimized";
	never add clauses to predicate that is already known to be false.
	(and_predicate): Use flase_predicate_p.
	(evaulate_predicate): Rename to ...
	(evaluate_predicate): ... this one; update all callers; assert
	that false is not listed among possible truths.
	(dump_predicate): Use true_predicate_p.
	(account_size_time): Use false_predicate_p.
	(evaulate_conditions_for_edge): Rename to ...
	(evaluate_conditions_for_edge) ... this one.
	(edge_set_predicate): New function.
	(inline_edge_duplication_hook): Duplicate edge predicates.
	(inline_edge_removal_hook): Free edge predicates.
	(dump_inline_edge_summary): Add INFO parameter; dump
	edge predicates.
	(dump_inline_summary): Update.
	(estimate_function_body_sizes): Set edge predicates.
	(estimate_calls_size_and_time): Handle predicates.
	(estimate_callee_size_and_time): Update.
	(remap_predicate): Add toplev_predicate; update comment.
	(remap_edge_predicates): New function.
	(inline_merge_summary): Compute toplev predicate; update.
	(read_predicate): New function.
	(read_inline_edge_summary): Use it.
	(inline_read_section): Likewise.
	(write_predicate): New function.
	(write_inline_edge_summary): Use it.
	(inline_write_summary): Likewise.
	(inline_free_summary): Free alloc pool and edge summary vec.

From-SVN: r173042
2011-04-27 17:28:51 +00:00