Commit Graph

96309 Commits

Author SHA1 Message Date
Rafael Espindola
f1aebde0f5 Fix a changelog
2009-10-05   Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_status): Add LDPS_BAD_HANDLE.
	(ld_plugin_get_input_file): New.
	(ld_plugin_release_input_file): New.
	(ld_plugin_add_input_library): New.
	(ld_plugin_message): Mark format const.
	(ld_plugin_level): Add LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE and
	LDPT_ADD_INPUT_LIBRARY.
	(ld_plugin_tv): Add tv_get_input_file, tv_release_input_file and
	tv_add_input_library.

From-SVN: r152498
2009-10-06 19:27:01 +00:00
Uros Bizjak
458c00ff65 i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2): Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid reference to...
* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
	Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid
	reference to nonexistent gen_truncxfxf2 function.

From-SVN: r152497
2009-10-06 20:23:06 +02:00
Uros Bizjak
d2407a7aca i386.md (SWI48, SDWI, DWI): New mode iterators.
* config/i386/i386.md (SWI48, SDWI, DWI): New mode iterators.
	(DWIH, g, di, doubleint_general_operand): New mode attributes.
	(general_operand): Handle TI mode.
	(add<mode>3): Macroize expander from add{qi,hi,si,di,ti}3 patterns
	using SDWI mode iterator.
	(*add<mode>3_doubleword): New insn_and_split pattern.  Macroize
	pattern from *add{di,ti}3_1 patterns and corresponding splitters
	using SDWI mode iterator.
	(add<mode>3_carry): Macroize insn from add{qi,hi,si,di}3_carry
	patterns using SWI mode iterator.
	(*add<mode>3_cc): Macroize insn from add{si,di}3_cc patterns
	using SWI48 mode iterator.
	(*add<mode>_1): Ditto from add{si,di}_1 patterns.
	(*add<mode>_2): Ditto from add{si,di}_2 patterns.
	(*add<mode>_3): Ditto from add{si,di}_3 patterns.
	(*add<mode>_5): Ditto from add{si,di}_5 patterns.
	(sub<mode>3): Macroize expander from sub{qi,hi,si,di,ti}3 patterns
	using SDWI mode iterator.
	(*sub<mode>3_doubleword): New insn_and_split pattern.  Macroize
	pattern from *sub{di,ti}3_1 patterns and corresponding splitters
	using SDWI mode iterator.
	(sub<mode>3_carry): Macroize insn from sub{qi,hi,si,di}3_carry
	patterns using SWI mode iterator.
	(*sub<mode>_1): Ditto from from sub{qi,hi,si,di}_1 patterns.
	(*sub<mode>_2): Ditto from sub{qi,hi,si,di}_2 patterns.
	(*sub<mode>_3): Ditto from sub{qi,hi,si,di}_3 patterns.
	(<plusminus_insn>xf3): Macroize expander from addxf3 and subxf3
	patterns using plusminus code iterator.
	(<plusminus_insn><mode>3): Macroize expander from add<mode>3 and
	sub<mode>3 patterns using plusminus code iterator.
	* config/i386/i386.c (override_options): Update call to
	gen_subdi_carry_rex64 for renamed function.
	(ix86_expand_int_addcc): Update calls to gen_subdi3_carry_rex64
	and gen_adddi3_carry_rex64 for renamed functions.  Use indirect
	calls to instruction expanders.

From-SVN: r152495
2009-10-06 15:52:59 +02:00
Martin Jambor
7b7c01e739 re PR bootstrap/41395 (Revision 151800 failed bootstrap)
2009-10-06  Martin Jambor  <mjambor@suse.cz>

	PR bootstrap/41395
	* opts.c (decode_options): Run IPA-SRA at -O2.

From-SVN: r152492
2009-10-06 15:31:40 +02:00
Richard Guenther
66cc270e92 lto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.
2009-10-06  Richard Guenther  <rguenther@suse.de>

	* lto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.

From-SVN: r152491
2009-10-06 12:19:20 +00:00
Tobias Burnus
05927e0d43 re PR lto/41591 (documentation should document interaction of -flto and -fwhole-program)
2009-10-06  Tobias Burnus  <burnus@net-b.de>

       PR lto/41591
       * doc/invoke.texi (-flto,-fwhole-program): Make clear that the
       -flto and -fwhole-program flags can be combined.

From-SVN: r152490
2009-10-06 12:38:12 +02:00
Richard Guenther
ccc37454b0 re PR middle-end/41502 (ICE in expand_call_inline)
2009-10-06  Richard Guenther  <rguenther@suse.de>

	PR lto/41502
	* gcc.dg/lto/20091006-1_0.c: New testcase.
	* gcc.dg/lto/20091006-1_1.c: Likewise.
	* gcc.dg/lto/20091005-2_0.c: Likewise.

From-SVN: r152489
2009-10-06 10:31:17 +00:00
Ryan Mansfield
9ef3b47672 re PR driver/41217 (Driver crashes if -o specified without filename)
2009-10-06  Ryan Mansfield  <rmansfield@qnx.com>
 
        PR driver/41217
        * gcc.c (process_command): Check that -o argument was specified.

From-SVN: r152488
2009-10-06 09:33:29 +00:00
Samuel Tardieu
2c12a29243 re PR ada/41383 (Timing_Events: Event time not cleared after Cancel_Handler)
gcc/ada/
	PR ada/41383
	* a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.

    gcc/testsuite/
	PR ada/41383
	* gnat.dg/timer_cancel.adb: New test.

From-SVN: r152487
2009-10-06 07:20:53 +00:00
Samuel Tardieu
6fa30ef281 re PR ada/38333 (Illegal program not detected, ARM 6.1(20): pragma Import illegal for abstract subprograms)
gcc/ada/
	PR ada/38333
	* sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
	subprogram to be completed with a "pragma Import".

    gcc/testsuite/
	PR ada/38333
	* gnat.dg/specs/import_abstract.ads: New.

From-SVN: r152486
2009-10-06 07:19:54 +00:00
Jerry Quinn
ddd4d0e1ad gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix compilation.
2009-10-06  Jerry Quinn  <jlquinn@optonline.net>

	* gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix
	compilation.

From-SVN: r152485
2009-10-06 04:08:29 +00:00
Jerry DeLisle
25b86498b5 re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
2009-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/35862
	* gfortran.dg/round_2.f03: New test.

From-SVN: r152484
2009-10-06 03:12:21 +00:00
Jerry DeLisle
0e8fc1857d re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
2009-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/35862
	* write_float.def (outout_float): Fix handling of special case where no
	digits after the decimal point and values less than 1.0. Adjust index
	into digits string. (WRITE_FLOAT): Remove special case code from macro.

From-SVN: r152483
2009-10-06 03:08:20 +00:00
GCC Administrator
1c8afa72df Daily bump.
From-SVN: r152480
2009-10-06 00:17:00 +00:00
Jason Merrill
cbabbc34a7 * parser.c: Mark lambda_scope and lambda_count for PCH.
From-SVN: r152474
2009-10-05 17:36:38 -04:00
Phil Muldoon
123651cdb6 MAINTAINERS (Write After Approval): Add myself.
2009-10-05  Phil Muldoon  <pmuldoon@redhat.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r152473
2009-10-05 21:09:59 +00:00
Rafael Avila de Espindola
a12368e5a4 plugin-api.h: Sync with src.
2009-10-05   Rafael Espindola  <espindola@google.com>

	* plugin-api.h: Sync with src.

From-SVN: r152472
2009-10-05 20:53:29 +00:00
Ralf Wildenhues
da66774323 Fix check_warning_flags warnings.
gcc/:
	* c.opt (Wjump-misses-init): Fix typo to enable for ObjC.
	* doc/invoke.texi (Warning Options): Annotate allowed languages
	for -Wunsuffixed-float-constants.

From-SVN: r152469
2009-10-05 19:54:18 +00:00
Jakub Jelinek
4a24ddb979 dwarf2out.c (modified_type_die): Don't add DW_AT_name to DW_TAG_{const,volatile}_type if...
* dwarf2out.c (modified_type_die): Don't add DW_AT_name to
	DW_TAG_{const,volatile}_type if its DW_AT_type already has the
	same name and isn't the main variant.

From-SVN: r152468
2009-10-05 21:52:20 +02:00
Jakub Jelinek
7555009aa9 re PR debug/41558 (gfortran -O code excessive DW_OP_deref's)
PR debug/41558
	* dwarf2out.c (loc_by_reference): Removed.
	(dw_loc_list_1): New function.
	(dw_loc_list): Remove toplev argument, add want_address argument.
	Don't look at decl_by_reference_p at all.  Use dw_loc_list_1.
	(loc_list_from_tree) <case VAR_DECL>: Pass want_address rather than
	want_address == 2 to dw_loc_list.  For successful dw_loc_list
	set have_address to 1 only if want_address is not 0.

	* gcc.dg/guality/guality.exp: Move gdb-test proc into...
	* lib/gcc-gdb-test.exp: ... here.  New file.
	* gfortran.dg/guality/guality.exp: New file.
	* gfortran.dg/guality/pr41558.f90: New test.
	* gfortran.dg/guality/arg1.f90: New test.

From-SVN: r152467
2009-10-05 21:50:57 +02:00
Richard Sandiford
c640a3bd21 mips-protos.h (mips_trampoline_code_size): Declare.
gcc/
	* config/mips/mips-protos.h (mips_trampoline_code_size): Declare.
	* config/mips/mips.h (TRAMPOLINE_SIZE): Redefine as the size of
	a code block followed by two pointers.
	(TRAMPOLINE_ALIGNMENT): Define to 64 for 32-bit targets too.
	* config/mips/mips.c (MIPS_LOAD_PTR): New macro.
	(MIPS_MOVE): Likewise.
	(MIPS_LUI): Likewise.
	(MIPS_JR): Likewise.
	(MIPS_BAL): Likewise.
	(MIPS_NOP): Likewise.
	(mips_asm_trampoline_template): Delete.
	(mips_trampoline_code_size): New function.
	(mips_trampoline_init): Add shorter sequences for all cases
	except Pmode == DImoe && !TARGET_USE_PIC_FN_ADDR_REG.
	Calculate the opcodes directly, rather than copying from a template.
	Only flush the code part of the trampoline.
	(TARGET_ASM_TRAMPOLINE_TEMPLATE): Delete.

From-SVN: r152466
2009-10-05 19:45:54 +00:00
Richard Sandiford
293593b15f mips.h (DWARF_FRAME_RETURN_COLUMN): Replace GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM.
gcc/
	* config/mips/mips.h (DWARF_FRAME_RETURN_COLUMN): Replace
	GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM.
	(INCOMING_RETURN_ADDR_RTX): Likewise.
	(FUNCTION_PROFILER): Likewise.  Replace GP_REG_FIRST + 1
	with AT_REGNUM.
	* config/mips/sdemtk.h (FUNCTION_PROFILER): Replace GP_REG_FIRST + 31
	with RETURN_ADDR_REGNUM.
	(MIPS_SAVE_REG_FOR_PROFILING_P): Likewise.
	* config/mips/mips.c (mips16_build_call_stub): Replace
	GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM, GP_REG_FIRST + 1
	with AT_REGNUM and 31 with RETURN_ADDR_REGNUM.
	(mips_print_operand_punctuation): Likewise.
	(mips_frame_set): Likewise.
	(mips16e_output_save_restore): Likewise.
	(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
	(mips_save_reg_p): Likewise.
	(mips_return_addr): Likewise.
	(mips_set_return_address): Likewise.
	(mips_direct_save_slot_move_p): Likewise.
	(mips_output_function_prologue): Likewise.
	(mips_restore_reg): Likewise.
	(mips_expand_epilogue): Likewise.
	(mips_epilogue_uses): Likewise.
	* config/mips/mips.md (RETURN_ADD_REGNUM): Define.
	(*mov<mode>_ra): Use it instead of a hard-coded 31.
	(clear_hazard_<mode>): Likewise.
	(call_internal): Likewise.
	(call_internal_direct): Likewise.
	(call_direct_split): Likewise.
	(call_value_internal): Likewise.
	(call_value_split): Likewise.
	(call_value_internal_direct): Likewise.
	(call_value_direct_split): Likewise.
	(call_value_multiple_internal): Likewise.
	(call_value_multiple_split): Likewise.

From-SVN: r152465
2009-10-05 19:29:36 +00:00
Paul Thomas
7cf078dcea trans-expr.c (select_class_proc): New function.
2009-10-05  Paul Thomas  <pault@gcc.gnu.org>

	* trans-expr.c (select_class_proc): New function.
	(conv_function_val): Deal with class methods and call above.
	* symbol.c (gfc_type_compatible): Treat case where both ts1 and
	ts2 are BT_CLASS.
	gfortran.h : Add structure gfc_class_esym_list and include in
	the structure gfc_expr.
	* module.c (load_derived_extensions): New function.
	(read_module): Call above.
	(write_dt_extensions): New function.
	(write_derived_extensions): New function.
	(write_module): Use the above.
	* resolve.c (resolve_typebound_call): Add a function expression
	for class methods.  This carries the chain of symbols for the
	dynamic dispatch in select_class_proc.
	(resolve_compcall): Add second, boolean argument to indicate if
	a function is being handled.
	(check_members): New function.
	(check_class_members): New function.
	(resolve_class_compcall): New function.
	(resolve_class_typebound_call): New function.
	(gfc_resolve_expr): Call above for component calls.. 

2009-10-05  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/dynamic_dispatch_1.f90: New test.
	* gfortran.dg/dynamic_dispatch_2.f90: New test.
	* gfortran.dg/dynamic_dispatch_3.f90: New test.
	* gfortran.dg/module_md5_1.f90: Update md5 sum.

From-SVN: r152463
2009-10-05 18:19:55 +00:00
Benjamin Kosnik
e48efd3b2b *: Regenerate.
2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r152462
2009-10-05 18:04:44 +00:00
John Bytheway
cadd2a9cb3 re PR libstdc++/41530 ([c++0x] Cannot move-construct std::tuple from a different type of std::tuple)
2009-10-05  John Bytheway  <jbytheway@gmail.com>

	PR libstdc++/41530
	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)):
	Fix to just move.
	* testsuite/20_util/tuple/cons/41530.cc: New.

From-SVN: r152461
2009-10-05 17:56:02 +00:00
Phil Muldoon
8c32d1e009 debug.xml: Add narrative for GDB Python pretty printers.
2009-10-05  Phil Muldoon  <pmuldoon@redhat.com>

	* doc/xml/manual/debug.xml: Add narrative for GDB Python pretty
	printers. Add links to GDB wiki/online manual.

From-SVN: r152460
2009-10-05 17:51:02 +00:00
Eric Botcazou
9baea66c94 re PR rtl-optimization/41511 (combine behaves differently with/without -g)
PR rtl-optimization/41511
	* combine.c (record_value_for_reg): Pass explicit values as argument
	to get_last_value_validate.
	(get_last_value_validate): Document INSN parameter.
	For non-readonly MEMs, assume they might have been modified if INSN
	was in another basic block.
	(get_last_value): Minor reformatting.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r152459
2009-10-05 17:48:09 +00:00
Andrew Pinski
2bd1d2c8d2 re PR tree-optimization/40992 (cunroll ignoring asm size)
2009-10-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/40992
        * final.c (asm_str_count): Split out from asm_insn_count.
        * rtl.h (asm_str_count): New prototype.
        * tree-inline (estimate_num_insns) <case GIMPLE_ASM>: Call
        asm_str_count.

From-SVN: r152458
2009-10-05 10:46:35 -07:00
Benjamin Kosnik
4cdc876153 [multiple changes]
2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>
	    Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/decimal/decimal: Warn if decimal floating point types
	are not available.
	* acinclude.m4 (GLIBCXX_ENABLE_DECIMAL_FLOAT): New.
	* configure.ac: Use it.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Remove stray line break.

	* include/decimal/decimal: Brief class doxygen markup.
	* libsupc++/exception: Whitespace cleanup.

	* testsuite/libstdc++-dg/conformance.exp: Add testsuite directory
	decimal.
	* scripts/create_testsuite_files (dlist): Same.

	* doc/xml/manual/using.xml: One column in table. Move after TR1.

	* testsuite/decimal/bad-cast.cc: Move to...
	* testsuite/decimal/cast_neg.cc: ...here.
	* testsuite/decimal/bad-mixed-mode.cc: Move to...
	* testsuite/decimal/mixed-mode_neg.cc: ...here.
	* testsuite/decimal/bad-operator.cc: Move to...
	* testsuite/decimal/operator_neg.cc: ...here.

	* doc/doxygen/user.cfg.in (INPUT): Add decimal/decimal.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

	* doc/Makefile.am: Process new file.
	* doc/xml/manual/intro.xml: Ditto.
	* doc/xml/manual/using.xml: Document new header.
	* doc/xml/manual/status_cxxdecimal.xml: New file.
	* include/Makefile.am: Process new headers.
	* include/decimal/decimal: New file.
	* include/decimal/decimal.h: New file.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

	* testsuite/decimal: New directory.
	* testsuite/decimal/bad-cast.cc: New test.
	* testsuite/decimal/bad-mixed-mode.cc: New test.
	* testsuite/decimal/bad-operator.cc: New test.
	* testsuite/decimal/binary-arith.cc: New test.
	* testsuite/decimal/comparison.cc: New test.
	* testsuite/decimal/compound-assignment.cc: New test.
	* testsuite/decimal/compound-assignment-memfunc.cc: New test.
	* testsuite/decimal/conversion-from-float.cc: New test.
	* testsuite/decimal/conversion-from-integral.cc: New test.
	* testsuite/decimal/conversion-to-generic-float.cc: New test.
	* testsuite/decimal/conversion-to-integral.cc: New test.
	* testsuite/decimal/ctor.cc: New test.
	* testsuite/decimal/incdec.cc: New test.
	* testsuite/decimal/incdec-memfunc.cc: New test.
	* testsuite/decimal/make-decimal.cc: New test.
	* testsuite/decimal/unary-arith.cc: New test.

From-SVN: r152457
2009-10-05 17:42:00 +00:00
Sriraman Tallam
8fc7e474ff plugins.texi: Change plugin_pass to register_pass_info.
./:	* doc/plugins.texi: Change plugin_pass to register_pass_info.
testsuite/:
	* gcc.dg/plugin/selfassign.c (plugin_init): Change plugin_pass to
	register_pass_info.
	* gcc.dg/plugin/one_time_plugin.c (plugin_init): Change
	plugin_pass to register_pass_info.
	* g++.dg/plugin/selfassign.c (plugin_init): Change plugin_pass to
	register_pass_info.
	* g++.dg/plugin/dumb_plugin.c (plugin_init): Change plugin_pass to
	register_pass_info.

From-SVN: r152456
2009-10-05 16:15:54 +00:00
Basile Starynkevitch
c802b1cf7d gengtype.c (write_types): Moved call to write_func_for_structure into seperate loops.
2009-10-05  Basile Starynkevitch  <basile@starynkevitch.net>
	    Rafael Espindola  <espindola@google.com>

	* gengtype.c (write_types): Moved call to write_func_for_structure
	into seperate loops.


Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>

From-SVN: r152455
2009-10-05 15:59:11 +00:00
Richard Guenther
a9cc44581a re PR lto/41281 (toplevel asms do not work)
2009-10-05  Richard Guenther  <rguenther@suse.de>

	PR lto/41281
	* lto-cgraph.c (output_cgraph): Output toplevel asms.
	(input_cgraph_1): Input toplevel asms.

	* gcc.dg/lto/20090914-2_0.c: New testcase.

From-SVN: r152453
2009-10-05 14:30:10 +00:00
Richard Guenther
fd7588bcde re PR lto/40902 (LTO doesn't merge CV differences properly)
2009-10-05  Richard Guenther  <rguenther@suse.de>

	PR lto/40902
	* lto-symtab.c (lto_compatible_attributes_p): Remove.
	(external_aggregate_decl_p): Likewise.
	(lto_symtab_compatible): Re-structure.  Remove dead code.
	For variables ignore toplevel qualifiers when comparing types.
	Issue warnings, not errors for mismatched user-alignment.

	* gcc.dg/lto/20091005-1_0.c: New testcase.
	* gcc.dg/lto/20091005-1_1.c: Likewise.

From-SVN: r152452
2009-10-05 14:27:39 +00:00
Paolo Carlini
fe03b3df84 [multiple changes]
2009-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_rvalref): Remove.
	* testsuite/lib/dg-options.exp (dg-require-rvalref): Likewise.

2009-10-05  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algo.h (__stable_partition_adaptive,
	__rotate_adaptive, __merge_adaptive, __merge_sort_loop):
	Extend to work with rvalue references in C++0x mode.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: New.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
	* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.

From-SVN: r152451
2009-10-05 14:11:11 +00:00
Richard Guenther
1a735925e3 re PR lto/41552 (Undefined references with -flto, dependent on object file ordering)
2009-10-05  Richard Guenther  <rguenther@suse.de>

	PR lto/41552
	PR lto/41487
	* lto-symtab.c (struct lto_symtab_base_def): Remove.
	(struct lto_symtab_identifier_def): Likewise.
	(struct lto_symtab_decl_def): Likewise.
	(struct lto_symtab_entry_def): New.
	(lto_symtab_identifier_t): Rename to ...
	(lto_symtab_entry_t): ... this.
	(lto_symtab_decls): Remove.
	(lto_symtab_base_hash): Rename to ...
	(lto_symtab_entry_hash): ... this.
	(lto_symtab_base_eq): Rename to ...
	(lto_symtab_entry_eq): ... this.
	(lto_symtab_base_marked_p): Rename to ...
	(lto_symtab_entry_marked_p): ... this.
	(lto_symtab_identifier_marked_p): Remove.
	(lto_symtab_decl_marked_p): Likewise.
	(lto_symtab_maybe_init_hash_tables): Rename to ...
	(lto_symtab_maybe_init_hash_table): ... this.
	(lto_symtab_set_resolution_and_file_data): Remove.
	(lto_symtab_register_decl): New function.
	(lto_symtab_get_identifier): Remove.
	(lto_symtab_get): New function.
	(lto_symtab_get_resolution): Adjust.
	(lto_symtab_get_identifier_decl): Remove.
	(lto_symtab_set_identifier_decl): Likewise.
	(lto_symtab_merge_decl): Rename to ...
	(lto_symtab_merge): ... this.  Rewrite.
	(lto_symtab_merge_var): Remove.
	(lto_symtab_merge_fn): Likewise.
	(lto_symtab_prevailing_decl): Adjust.
	(lto_cgraph_replace_node): New function.
	(lto_symtab_merge_decls_2): Likewise.
	(lto_symtab_merge_decls_1): Likewise.
	(lto_symtab_fixup_var_decls): Likewise.
	(lto_symtab_resolve_symbols): Likewise.
	(lto_symtab_merge_decls): Likewise.
	(lto_symtab_prevailing_decl): Adjust.
	(lto_symtab_get_symtab_def): Remove.
	(lto_symtab_get_file_data): Likewise.
	(lto_symtab_clear_resolution): Adjust.
	(lto_symtab_clear_resolution): Likewise.
	* lto-cgraph.c (input_edge): Do not merge cgraph nodes here.
	(input_cgraph_1): Likewise.
	* lto-streamer-in.c (get_resolution): Do not provide fake
	symbol resolutions here.
	(deferred_global_decls): Remove.
	(lto_register_deferred_decls_in_symtab): Likewise.
	(lto_register_var_decl_in_symtab): Change signature, register
	variable via lto_symtab_register_decl.
	(lto_register_function_decl_in_symtab): Likewise.
	(lto_read_tree): Adjust.
	* lto-streamer.h (lto_register_deferred_decls_in_symtab): Remove.
	(lto_symtab_merge_var): Likewise.
	(lto_symtab_merge_fn): Likewise.
	(lto_symtab_register_decl): Declare.
	(lto_symtab_merge_decls): Likewise.

	lto/
	* lto.c (lto_read_decls): Do not register deferred decls.
	(read_cgraph_and_symbols): Delay symbol and cgraph merging
	until after reading the IPA summaries.

	* g++.dg/lto/20091002-1_0.C: Adjust flags.
	* g++.dg/lto/20091004-1_0.C: New testcase.
	* g++.dg/lto/20091004-1_1.C: Likewise.
	* g++.dg/lto/20091004-2_0.C: Likewise.
	* g++.dg/lto/20091004-2_1.C: Likewise.
	* g++.dg/lto/20091004-3_0.C: Likewise.
	* g++.dg/lto/20091004-3_1.C: Likewise.

From-SVN: r152450
2009-10-05 14:05:54 +00:00
Richard Guenther
e9d85fa6a7 re PR tree-optimization/23821 (DOM and VRP creating harder to optimize code)
2009-10-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/23821
	* tree-vrp.c (vrp_finalize): Do not perform copy propagation.
	* tree-ssa-dom.c (cprop_operand): Do not propagate copies into
	simple IV increments.

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

From-SVN: r152449
2009-10-05 13:18:09 +00:00
Daniel Kraft
916bd5f07f re PR fortran/41403 (miscompilation of goto/label using code)
2009-10-05  Daniel Kraft  <d@domob.eu>

	PR fortran/41403
	* trans-stmt.c (gfc_trans_goto): Ignore statement list on assigned goto
	if it is present.

2009-10-05  Daniel Kraft  <d@domob.eu>

	PR fortran/41403
	* gfortran.dg/goto_6.f: New test.
	* gfortran.dg/goto_7.f: New test.

From-SVN: r152448
2009-10-05 15:15:35 +02:00
Ramana Radhakrishnan
114bbac6ff arm.c (arm_override_options): Really initialize flag_dwarf2_cfi_asm to 0.
2009-10-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (arm_override_options): Really initialize
        flag_dwarf2_cfi_asm to 0.

From-SVN: r152446
2009-10-05 09:25:34 +00:00
Doug Kwan
56fe3eff33 re PR rtl-optimization/41574 (Distribute floating point expressions causes bad code [4.4 only])
2009-10-05  Doug Kwan  <dougkwan@google.com>

	PR rtl-optimization/41574
	Index: combine.c (distribute_and_simplify_rtx): Quit if RTX mode is
	floating point and we are not doing unsafe math optimizations.

From-SVN: r152443
2009-10-05 09:08:46 +00:00
GCC Administrator
9cb26fc5c3 Daily bump.
From-SVN: r152442
2009-10-05 00:16:44 +00:00
Benjamin Kosnik
4232f9fd18 using.xml: Add profile headers.
2009-10-04  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/using.xml: Add profile headers.
	* testsuite/ext/profile/mh.cc: Restrict to linux.

From-SVN: r152439
2009-10-05 00:13:36 +00:00
Jerry Quinn
e5dd62e242 plugin-api.h: Fix compile.
2009-10-04  Jerry Quinn  <jlquinn@optonline.net>

	* plugin-api.h: Fix compile.

From-SVN: r152438
2009-10-04 16:53:12 +00:00
GCC Administrator
2dc07d4583 Daily bump.
From-SVN: r152437
2009-10-04 00:17:00 +00:00
Diego Novillo
d7f09764d7 Merge lto branch into trunk.
From-SVN: r152434
2009-10-03 17:10:11 -04:00
Jason Merrill
b06e51a0c9 re PR c++/41553 (timeout when compiling g++.old-deja/g++.other/crash28.C)
PR c++/41553
	* parser.c (cp_parser_lambda_introducer): Avoid infinite loop on
	parse error.

From-SVN: r152433
2009-10-03 14:48:44 -04:00
Uros Bizjak
0d6bfda807 re PR testsuite/41542 (gcc.dg/tree-ssa/ipa-cp-1.c failed)
PR testsuite/41542
	* gcc.dg/tree-ssa/ipa-cp-1.c: Remove mis-merged garbage.

From-SVN: r152432
2009-10-03 10:15:55 +02:00
Silvius Rus
1218d701f7 merge branch profile-stdlib
From-SVN: r152431
2009-10-03 02:17:41 +00:00
Jason Merrill
3930dbe9d6 mangle.c (write_unnamed_type_name): Implement.
* mangle.c (write_unnamed_type_name): Implement.
	(local_class_index): Split out from...
	(discriminator_for_local_entity): ...here.
	(nested_anon_class_index): New.
	* cp-tree.h (TYPE_FUNCTION_SCOPE_P): New.

From-SVN: r152429
2009-10-02 20:46:49 -04:00
GCC Administrator
b2eb5a67b2 Daily bump.
From-SVN: r152428
2009-10-03 00:17:42 +00:00
Cary Coutant
15b3fbeb7e Add support for comdat type sections for DWARF v4.
Add support for comdat type sections for DWARF v4.  Merge from dwarf4
	branch.
	* dwarf2out.c (DWARF_TYPE_SIGNATURE_SIZE): New constant.
	(dw_die_ref): Define vector type.
	(enum dw_val_class): Add dw_val_class_data8.
	(struct dw_val_struct): Add v.val_data8.
	(comdat_type_node_ref): New type.
	(struct die_struct): Move die_symbol into a union; add new field
	die_type_node.  Change all uses.
	(comdat_type_node): New type.
	(skeleton_chain_node): New type.
	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): New constant.
	(comdat_type_list): New variable.
	(dwarf_tag_name): Add DW_TAG_type_unit.
	(dwarf_attr_name): Add DW_AT_signature.
	(add_AT_data8): New function.
	(replace_child): New function.
	(move_all_children): New function.
	(print_signature): New function.
	(print_die): Print signature information; add dw_val_class_data8.
	(attr_checksum): Support dw_val_class_data8.
	(CHECKSUM_STRING): Redefine for DWARF-4 to include
	trailing NULL byte.
	(CHECKSUM_SLEB128, CHECKSUM_ULEB128): New macros.
	(checksum_sleb128, checksum_uleb128): New functions.
	(checksum_die_context): New function.
	(loc_checksum_ordered): New function.
	(attr_checksum_ordered): New function.
	(struct checksum_attributes): New structure.
	(collect_checksum_attributes): New function.
	(die_checksum_ordered): New function.
	(generate_type_signature): New function.
	(same_dw_val_p): Add dw_val_class_data8.
	(is_symbol_die): Use new is_declaration_die function.
	(is_declaration_die): New function.
	(should_move_die_to_comdat): New function.
	(clone_die): New function.
	(clone_tree): New function.
	(clone_as_declaration): New function.
	(copy_declaration_context): New function.
	(generate_skeleton_ancestor_tree): New function.
	(generate_skeleton_bottom_up): New function.
	(generate_skeleton): New function.
	(remove_child_or_replace_with_skeleton): New function.
	(break_out_comdat_types): New function.
	(struct decl_table_entry): New type.
	(htab_decl_hash): New function.
	(htab_decl_eq): New function.
	(htab_decl_del): New function.
	(copy_ancestor_tree): New function.
	(copy_decls_walk): New function.
	(copy_decls_for_unworthy_types): New function.
	(build_abbrev_table): Don't assert on missing die_symbol when doing
	comdat type sections.
	(size_of_die): Use DW_FORM_sig8 for external references; Add
	dw_val_class_data8.
	(unmark_dies): Don't assert for unmarked dies when doing comdat
	type sections.
	(value_format): Support DW_FORM_sig8 and dw_val_class_data8.
	(output_signature): New function.
	(output_die): Likewise.
	(output_compilation_unit_header): Mark output as DWARF version 3
	even if generating DWARF 4.
	(output_comdat_type_unit): New function.
	(output_line_info): Mark output as DWARF version 3 even if generating
	DWARF 4.
	(dwarf2out_start_source_file): Don't do eliminate_dwarf2_dups with
	DWARF-4.
	(dwarf2out_end_source_file): Likewise.
	(prune_unused_types_walk_attribs): Don't follow references into
	comdat type sections.
	(prune_unused_types_mark): When generating type units, do not mark
	children of non-defining declarations of types; do mark children of
	type entries.
	(prune_unused_types): Process comdat type sections.
	(htab_ct_hash): New function.
	(htab_ct_eq): New function.
	(dwarf2out_finish): Move types to comdat sections when using DWARF-4.
	Add a pointer to the line table from type unit entries so
	DW_AT_decl_file has meaning.
	* varasm.c (default_elf_asm_named_section): Use identifier name as
	comdat key instead of lang hook.

From-SVN: r152421
2009-10-02 13:44:09 -07:00