Commit Graph

96239 Commits

Author SHA1 Message Date
GCC Administrator 98f4c2a362 Daily bump.
From-SVN: r152611
2009-10-10 00:16:40 +00:00
Janus Weil 619dd721d9 re PR fortran/41585 ([OOP] Reject CLASS(T) as component of "TYPE :: T")
2009-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41585
	* decl.c (build_struct): Bugfix for CLASS components.


2009-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41585
	* gfortran.dg/class_2.f03: Extended test case.

From-SVN: r152608
2009-10-10 00:35:11 +02:00
Richard Guenther e9e4b3a892 re PR lto/41638 (Back-end builtins are mishandled)
2009-10-09  Richard Guenther  <rguenther@suse.de>

	PR lto/41638
	* target-def.h (TARGET_BUILTIN_DECL): Define.
	(TARGET_INITIALIZER): Add TARGET_BUILTIN_DECL.
	* target.h (struct gcc_target): Add builtin_decl target hook.
	* doc/tm.texi (TARGET_BUILTIN_DECL): Document.

	* lto-streamer-in.c (lto_get_builtin_tree): Fix handling of
	target builtins.
	* lto-streamer-out.c (lto_output_tree_pointers): Use sorry,
	not gcc_unreachable.
	(lto_output_builtin_tree): Sorry if the target does not support
	streaming target builtins.

	* config/rs6000/rs6000.c (TARGET_BUILTIN_DECL): Define.
	(rs6000_builtin_decl): New function.
	* config/i386/i386.c (TARGET_BUILTIN_DECL): Define.
	(ix86_builtin_decl): New function.

From-SVN: r152606
2009-10-09 22:31:53 +00:00
Tobias Burnus d0a9804e35 re PR fortran/41582 ([OOP] Allocation of abstract types requires a type spec or a SOURCE)
2009-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41582
        * decl.c (encapsulate_class_symbol): Save attr.abstract.
        * resolve.c (resolve_allocate_expr): Reject class allocate
        without typespec or source=.
        * trans-stmt.c (gfc_trans_allocate): Change gfc_warning
        into gfc_error for "not yet implemented".

2009-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41582
        * gfortran.dg/class_allocate_1.f03: Modify code such that
        it compiles with the gfc_warning->gfc_error change.
        * gfortran.dg/class_allocate_1.f03: New test.

From-SVN: r152601
2009-10-09 22:34:35 +02:00
Janus Weil 7431bf06bc re PR fortran/41579 ([OOP] Nesting of SELECT TYPE)
2009-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41579
	* gfortran.h (gfc_select_type_stack): New struct, to be used as a stack
	for SELECT TYPE statements.
	(select_type_stack): New global variable.
	(type_selector,select_type_tmp): Removed.
	* match.c (type_selector,type_selector): Removed.
	(select_type_stack): New variable, serving as a stack for
	SELECT TYPE statements.
	(select_type_push,select_type_set_tmp): New functions.
	(gfc_match_select_type): Call select_type_push.
	(gfc_match_type_is): Call select_type_set_tmp.
	* parse.c (select_type_pop): New function.
	(parse_select_type_block): Call select_type_pop.
	* symbol.c (select_type_insert_tmp): New function.
	(gfc_find_sym_tree): Call select_type_insert_tmp.


2009-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41579
	* gfortran.dg/select_type_6.f03: New test.

From-SVN: r152600
2009-10-09 22:25:19 +02:00
Jakub Jelinek 21ece9b288 re PR preprocessor/41445 (Debug information is wrong with and without --save-temps.)
PR preprocessor/41445
	* c-ppoutput.c (do_line_change): New function.
	(cb_line_change): Use it.
	(scan_translation_unit): Call do_line_change if
	avoid_paste or PREV_WHITE and token location is on a different line
	than print.src_line.

	* gcc.dg/cpp/separate-1.c: Adjust.
	* gcc.dg/cpp/spacing1.c: Add -P to dg-options.
	* gcc.dg/debug/dwarf2/pr41445-1.c: New test.
	* gcc.dg/debug/dwarf2/pr41445-2.c: New test.
	* gcc.dg/debug/dwarf2/pr41445-3.c: New test.
	* gcc.dg/debug/dwarf2/pr41445-4.c: New test.
	* gcc.dg/debug/dwarf2/pr41445-5.c: New test.
	* gcc.dg/debug/dwarf2/pr41445-6.c: New test.

From-SVN: r152599
2009-10-09 21:55:34 +02:00
Jakub Jelinek 9c1e641ac1 re PR debug/40521 (-g causes GCC to generate .eh_frame)
PR debug/40521
	* dwarf2out.c (dwarf2out_init): Test whether
	HAVE_GAS_CFI_SECTIONS_DIRECTIVE is non-zero instead of checking
	it is defined.

From-SVN: r152598
2009-10-09 21:07:23 +02:00
Jakub Jelinek 78441afbc8 re PR rtl-optimization/41646 (Reload ICE due to combiner extending life time of a hard register)
PR rtl-optimization/41646
	* calls.c (expand_call): For BLKmode types returned in registers
	avoid likely spilled hard regs in copy_blkmode_from_reg generated
	insns.

	* gcc.c-torture/compile/pr41646.c: New test.

From-SVN: r152597
2009-10-09 21:01:53 +02:00
Richard Guenther aabf6a0372 re PR tree-optimization/41634 (ICE in dom)
2009-10-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41634
	* tree-ssa-dom.c (remove_local_expressions_from_table): Assert
	we remove the correct elements.
	(optimize_stmt): Make sure to update stmt operands before
	optimizing redundancies.

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

From-SVN: r152596
2009-10-09 18:30:05 +00:00
Cary Coutant 38265b7400 Updated commit entry for r152577 (added entry for xcoff_debug_hooks in
dbxout.c).

From-SVN: r152595
2009-10-09 10:41:43 -07:00
Uros Bizjak dfb3b0e3b8 sfp-machine.h (__FP_FRAC_SUB_4): Change operand constraint of y0 to "g".
* config/i386/32/sfp-machine.h (__FP_FRAC_SUB_4): Change operand
	constraint of y0 to "g".

From-SVN: r152594
2009-10-09 19:30:56 +02:00
Rafael Avila de Espindola 63f72e39b3 plugin-api.h (ld_plugin_add_input_library): Change argument name to libname.
2009-10-09  Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_add_input_library): Change argument name to
	libname.

From-SVN: r152592
2009-10-09 15:23:04 +00:00
Andreas Krebbel 22d72dbce4 s390.md ("prefetch"): Remove stcmh for prefetching.
2009-10-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md ("prefetch"): Remove stcmh for prefetching.

From-SVN: r152590
2009-10-09 15:18:48 +00:00
Paolo Carlini 6aa7cd49e8 numeric (__adjacent_difference_switch): Fix typo.
2009-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/numeric (__adjacent_difference_switch): Fix typo.
	* include/parallel/for_each_selectors.h
	(__adjacent_difference_selector): Likewise.

From-SVN: r152589
2009-10-09 14:41:15 +00:00
Richard Guenther b1b07c92e1 re PR driver/41637 (testsuite (-flto/-fwhopr) leaves does not clean up in /tmp)
2009-10-09  Richard Guenther  <rguenther@suse.de>

	PR driver/41637
	* lto-wrapper.c (ltrans_output_file, flto_out, args_name): New
	globals.
	(lto_wrapper_exit): New function.
	(fatal): Use it.
	(fatal_perror): Likewise.
	(fork_execute): Use global args_name, do not free it.
	(run_gcc): Use global ltrans_output_file, flto_out, do not free them.
	* lto-streamer.h: Remove duplicate prototypes.

	PR lto/41635
	PR lto/41636
	lto/
	* lto.c (read_cgraph_and_symbols): Do not assert we can open
	a file.
	* lto-elf.c (init_shdr##BITS): Fix i18n problems.
	(init_ehdr##BITS): Likewise.

From-SVN: r152588
2009-10-09 13:24:59 +00:00
Richard Guenther 9f3f7d131f cgraph.c (cgraph_create_edge): Check for NULL call_stmt before calling stmt_can_throw_external.
2009-10-09  Richard Guenther  <rguenther@suse.de>

	* cgraph.c (cgraph_create_edge): Check for NULL call_stmt
	before calling stmt_can_throw_external.

From-SVN: r152587
2009-10-09 13:22:22 +00:00
Uros Bizjak af2efb2bbb block_2.f08: Cleanup "original" tree dump.
* gfortran.dg/block_2.f08: Cleanup "original" tree dump.

From-SVN: r152586
2009-10-09 15:18:20 +02:00
Eric Botcazou 3f49ba3f41 re PR tree-optimization/40071 (ICE (aliasing assert) in vectorizable_store at tree-vect-stmts.c:3117)
PR tree-optimization/40071
	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Build a ref-all
	pointer if the original data reference doesn't conflict with the
	created vector data reference.  Fix long line.

From-SVN: r152585
2009-10-09 12:44:59 +00:00
Uros Bizjak 857607344f i386.md (any_div): New code iterator.
* config/i386/i386.md (any_div): New code iterator.
	(u): Handle div and udiv.
	(sgnprefix): Ditto.
	(<u>divqi3): Macroize insn from divqi3 and udivqi using and_div
	code iterator.
	(lfloor<MODEF:mode><SWI48:mode>2): Macroize insn from
	lfloor<mode>{si,di}2 patterns using SWI48 mode iterator.
	(lceil<MODEF:mode><SWI48:mode>2): Macroize insn from
	lceil<mode>{si,di}2 patterns using SWI48 mode iterator.

From-SVN: r152584
2009-10-09 09:43:01 +02:00
GCC Administrator bfcd7d74a7 Daily bump.
From-SVN: r152583
2009-10-09 00:16:40 +00:00
Doug Kwan 88beb54d68 re PR rtl-optimization/41574 (Distribute floating point expressions causes bad code [4.4 only])
2009-10-08  Doug Kwan  <dougkwan@google.com>

	PR rtl-optimization/41574
	* gcc.dg/pr41574.c: New test.

From-SVN: r152580
2009-10-08 22:16:58 +00:00
Joseph Myers 3c2e7d4535 lto-elf.c (init_shdr##BITS, [...]): Remove trailing "." from diagnostics.
* lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
	init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
	diagnostics.
	* lto-lang.c (lto_post_options): Remove trailing "." from
	diagnostics.

From-SVN: r152579
2009-10-08 22:54:16 +01:00
Joseph Myers 23cd46a1df * gcc.c (main): Remove trailing "." from diagnostics.
From-SVN: r152578
2009-10-08 22:41:42 +01:00
Cary Coutant 77831620cf Add support for debugging with ICF (Identical Code Folding).
gcc/ChangeLog:
	Add support for debugging with ICF (Identical Code Folding).
	* calls.c (debug.h): New #include.
	(emit_call_1): Call virtual_call_token debug hook.
	* common.opt (-fenable-icf-debug): New option.
	* dwarf2out.c (dwarf2_debug_hooks): Add entries for new hooks (two
	locations in the source).
	(poc_label_num): New variable.
	(dcall_entry, vcall_entry): New typedefs.
	(dcall_table, vcall_table): New variables.
	(struct vcall_insn): New type.
	(vcall_insn_table): New variable.
	(DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION): New macros.
	(size_of_dcall_table): New function.
	(output_dcall_table): New function.
	(size_of_vcall_table): New function.
	(output_vcall_table): New function.
	(dwarf2out_direct_call): New function.
	(vcall_insn_table_hash): New function.
	(vcall_insn_table_eq): New function.
	(dwarf2out_virtual_call_token): New function.
	(dwarf2out_virtual_call): New function.
	(dwarf2out_init): Allocate new tables and sections.
	(prune_unused_types): Mark DIEs referenced from direct call table.
	(dwarf2out_finish): Output direct and virtual call tables.
	* final.c (final_scan_insn): Call direct_call and virtual_call
	debug hooks.
	* debug.h (struct gcc_debug_hooks): Add direct_call,
	virtual_call_token, virtual_call hooks.
	(debug_nothing_uid): New function.
	* debug.c (do_nothing_debug_hooks): Add dummy entries for new hooks.
	(debug_nothing_uid): New function.
	* dbxout.c (dbx_debug_hooks): Add dummy entries for new hooks.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
	* doc/invoke.texi (-fenable-icf-debug): New option.

gcc/testsuite/ChangeLog:
	Add support for debugging with ICF (Identical Code Folding).
	* g++.dg/debug/dwarf2/icf.C: New test.

From-SVN: r152577
2009-10-08 14:00:04 -07:00
Alexandre Oliva 968e57283e re PR debug/41353 (VTA missed-debug issues)
PR debug/41353
* regmove.c (regmove_backward_pass): Replace src with dst in the
debug insn, and check for dst before rather than after.

From-SVN: r152573
2009-10-08 19:20:22 +00:00
Janis Johnson 42ccb89075 rs6000.c (rs6000_delegitimize_address): Remove.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove.
(TARGET_DELEGITIMIZE_ADDRESS): Likewise.

From-SVN: r152571
2009-10-08 19:19:29 +00:00
Jan Hubicka 625f802caf Fix 41626 from Jan Hubicka
From-SVN: r152569
2009-10-08 18:52:57 +00:00
Anatoly Sokolov 007a178cff * config/avr/avr.c (last_insn_address) Remove variable.
(expand_prologue): Don't initialise last_insn_address variable.
	(final_prescan_insn): Don't output insn size.
	* config/avr/avr.opt (msize): Remove switch.
	* doc/invoke.texi (AVR Options): Remove documentation of -msize
	switch.

From-SVN: r152568
2009-10-08 22:28:48 +04:00
Adam Nemet e3104f5500 combine.c (label_tick_ebb_start): Fix comment.
* combine.c (label_tick_ebb_start): Fix comment.
	(combine_instructions): Set label_tick and label_tick_ebb_start before
	calling setup_incoming_promotions.  Start them from 1.  Increment
	label_tick instead of deriving it from the BB index.  Rather than
	comparing ticks use the block from the previous iteration to decide
	whether to start a new EBB.  Remove empty lines before function.

testsuite/
	* gcc.target/mips/truncate-6.c: New test.

From-SVN: r152567
2009-10-08 17:54:24 +00:00
Paolo Carlini a020110e54 bitmap_allocator.h: Minor clean-ups.
2009-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/bitmap_allocator.h: Minor clean-ups.

From-SVN: r152566
2009-10-08 16:45:58 +00:00
Jason Merrill f7d5a7cd6b re PR c++/36816 ([c++0x] error deducing template argument taking the address of rvalue reference template)
PR c++/36816
	* pt.c (maybe_adjust_types_for_deduction): Do rvalue ref adjustment
	even when DEDUCE_EXACT.

From-SVN: r152565
2009-10-08 12:09:31 -04:00
Jason Merrill ccb05613cf re PR c++/37177 ([c++0x] ICE on decltype(rel_ops::operator><int>);)
PR c++/37177
	* pt.c (resolve_nondeduced_context): New.
	* cvt.c (convert_to_void): Call it.
	* semantics.c (finish_decltype_type): Likewise.
	* typeck.c (decay_conversion): Here too.
	* pt.c (tsubst_decl): Don't clobber input_location.
	Don't register a bad specialization.

From-SVN: r152564
2009-10-08 12:09:22 -04:00
Michael Matz 6728ee7987 re PR middle-end/41573 (segfault in trunk related to strings)
PR middle-end/41573
	* builtins.c (fold_builtin_isascii): Use fold_build2.
	(fold_builtin_isdigit): Ditto.
	* except.c (duplicate_eh_regions_1): Tolerate NULL labels.
	* tree-cfg.c (struct rus_data, remove_useless_stmts_warn_notreached,
	remove_useless_stmts_cond, remove_useless_stmts_tf,
	remove_useless_stmts_tc, remove_useless_stmts_bind,
	remove_useless_stmts_goto, remove_useless_stmts_label,
	remove_useless_stmts_1, remove_useless_stmts,
	pass_remove_useless_stmts): Remove.
	* tree-pass.h (pass_remove_useless_stmts): Don't declare.
	* passes.c (init_optimization_passes): Don't add
	pass_remove_useless_stmts.
	* tree-eh.c (lower_eh_constructs_2): Handle empty cleanups.
	* tree.c (free_lang_data_in_decl): Don't clear DECL_INITIAL of
	static constants.
	* lto-symtab.c (lto_symtab_register_decl): Accepts DECL_INITIAL
	for static constants.
	* lto-streamer-out.c (output_gimple_stmt): Handle GIMPLE_NOP.
	* lto-streamer-in.c (input_gimple_stmt): Handle GIMPLE_NOP.

testsuite/
	* gcc.dg/tree-ssa/foldstring-1.c: Use fre dump.
	* gcc.dg/tree-ssa/useless-1.c: Use gimple dump.
	* gcc.dg/pr41573.c: New test.

From-SVN: r152563
2009-10-08 16:03:11 +00:00
Richard Guenther 0d0bfe1795 gimple.c (free_gimple_type_tables): New function.
2009-10-08  Richard Guenther  <rguenther@suse.de>

	* gimple.c (free_gimple_type_tables): New function.
	* gimple.h (free_gimple_type_tables): Declare.

	lto/
	* lto.c (read_cgraph_and_symbols): Free the gimple type merging
	hash tables.

From-SVN: r152562
2009-10-08 15:32:30 +00:00
Mark Heffernan 90e1a34930 2009-10-07 Mark Heffernan <meheff@google.com>
* ipa-prop.c (ipa_print_node_params) Only print
	names of named arguments.

From-SVN: r152561
2009-10-08 15:16:35 +00:00
Daniel Gutson 70277b3073 argv.c (consume_whitespace): New function.
2009-10-08  Daniel Gutson  <dgutson@codesourcery.com>
        Daniel Jacobowitz  <dan@codesourcery.com>
        Pedro Alves  <pedro@codesourcery.com>

        libiberty/
        * argv.c (consume_whitespace): New function.
        (only_whitespace): New function.
        (buildargv): Always use ISSPACE by calling consume_whitespace.
        (expandargv): Skip empty files.  Do not stop at the first empty
        argument (calling only_whitespace)..
        * testsuite/test-expandargv.c: (test_data): Test empty lines
        and empty arguments.
        (run_tests): Fix false positives due to shorter arguments.


Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
Co-Authored-By: Pedro Alves <pedro@codesourcery.com>

From-SVN: r152560
2009-10-08 15:14:41 +00:00
Paolo Carlini 38bf8621d9 gnu.ver: Adjust exports.
2009-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Adjust exports.

From-SVN: r152559
2009-10-08 14:12:54 +00:00
Rafael Avila de Espindola d520c7fb9d lto-plugin.c (add_input_library): New.
2009-10-08  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (add_input_library): New.
	(all_symbols_read_handler): Use add_input_library for items that
	start with -l.
	(process_option): Fit in 80 columns.
	(onload): Handle LDPT_ADD_INPUT_LIBRARY.

2009-10-08  Rafael Avila de Espindola  <espindola@google.com>

	* gcc.c (LINK_COMMAND_SPEC): Pass libc with -pass-through if it is
	being statically linked.

From-SVN: r152558
2009-10-08 13:59:32 +00:00
Rainer Orth d72ff618d3 * collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE.
From-SVN: r152557
2009-10-08 11:08:52 +00:00
Jan Hubicka b820a2f900 re PR bootstrap/41620 (Bootstrap failure)
PR bootstrap/41620
	* ipa.c (cgraph_externally_visible_p,
	function_and_variable_visibility,
	whole_program_function_and_variable_visibility): Skip non-finalized
	nodes.

From-SVN: r152556
2009-10-08 10:06:52 +00:00
Phil Muldoon b44d3aa84f debug.xml: Rewrite and expand GDB Python pretty-printer section.
2009-10-07  Phil Muldoon <pmuldoon@redhat.com>

	* doc/xml/manual/debug.xml: Rewrite and expand GDB Python
	pretty-printer section.

From-SVN: r152554
2009-10-08 08:27:24 +00:00
Nick Clifton 611b7b5aee mn10300.h (CONSTANT_ADDRESS_P): Do not allow CONST_DOUBLEs.
* config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
        CONST_DOUBLEs.

From-SVN: r152551
2009-10-08 07:01:02 +00:00
Andreas Tobler 4c93ed2385 re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x)
2009-10-08  Andreas Tobler  <a.tobler@schweiz.org>

	PR bootstrap/37739
	* config.host: Use config/x-cflags-O1 for powerpc FreeBSD.

From-SVN: r152550
2009-10-08 07:09:54 +02:00
Gabriel Dos Reis 32a58b37ef * cp-tree.h: Fix location of documentation for DECL_LANG_FLAG_7.
From-SVN: r152549
2009-10-08 03:07:44 +00:00
Joseph Myers e5a9423123 re PR c/41182 (Revision 145254 caused ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:5259)
PR c/41182
	* c-common.c (c_fully_fold_internal): Strip nops from the result
	of recursive calls to c_fully_fold_internal.
	(c_wrap_maybe_const): New.
	(c_save_expr): Use c_wrap_maybe_const.
	* c-common.h (c_wrap_maybe_const): Declare.
	* c-typeck.c (build_conditional_expr, c_finish_stmt_expr,
	build_binary_op): Use c_wrap_maybe_const.

testsuite:
	* gcc.c-torture/compile/pr41182-1.c: New.

From-SVN: r152548
2009-10-08 01:32:51 +01:00
GCC Administrator 1afab7bdc3 Daily bump.
From-SVN: r152547
2009-10-08 00:16:51 +00:00
Kaveh R. Ghazi 2d5a82c1df arith.c (arith_power): Use mpc_pow_z.
* arith.c (arith_power): Use mpc_pow_z.
	* gfortran.h (HAVE_mpc_pow_z): Define.

From-SVN: r152544
2009-10-07 23:40:25 +00:00
Joseph Myers 4bedf19ae7 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
From-SVN: r152543
2009-10-07 23:50:09 +01:00
Kaveh R. Ghazi 7190c775ff real.c: Fix comment to reflect actual exponent size.
* real.c: Fix comment to reflect actual exponent size.

From-SVN: r152542
2009-10-07 21:15:27 +00:00
Ben Elliston 033016fabc * config/rs6000/a2.md: Add FSF comment header.
From-SVN: r152541
2009-10-08 07:15:24 +11:00