Jakub Jelinek [Fri, 9 Oct 2009 19:55:34 +0000 (21:55 +0200)]
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
Jakub Jelinek [Fri, 9 Oct 2009 19:07:23 +0000 (21:07 +0200)]
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
Jakub Jelinek [Fri, 9 Oct 2009 19:01:53 +0000 (21:01 +0200)]
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
Richard Guenther [Fri, 9 Oct 2009 18:30:05 +0000 (18:30 +0000)]
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
Cary Coutant [Fri, 9 Oct 2009 17:41:43 +0000 (10:41 -0700)]
Updated commit entry for r152577 (added entry for xcoff_debug_hooks in
dbxout.c).
From-SVN: r152595
Uros Bizjak [Fri, 9 Oct 2009 17:30:56 +0000 (19:30 +0200)]
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
Rafael Avila de Espindola [Fri, 9 Oct 2009 15:23:04 +0000 (15:23 +0000)]
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
Andreas Krebbel [Fri, 9 Oct 2009 15:18:48 +0000 (15:18 +0000)]
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
Paolo Carlini [Fri, 9 Oct 2009 14:41:15 +0000 (14:41 +0000)]
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
Richard Guenther [Fri, 9 Oct 2009 13:24:59 +0000 (13:24 +0000)]
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
Richard Guenther [Fri, 9 Oct 2009 13:22:22 +0000 (13:22 +0000)]
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
Uros Bizjak [Fri, 9 Oct 2009 13:18:20 +0000 (15:18 +0200)]
block_2.f08: Cleanup "original" tree dump.
* gfortran.dg/block_2.f08: Cleanup "original" tree dump.
From-SVN: r152586
Eric Botcazou [Fri, 9 Oct 2009 12:44:59 +0000 (12:44 +0000)]
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
Uros Bizjak [Fri, 9 Oct 2009 07:43:01 +0000 (09:43 +0200)]
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
GCC Administrator [Fri, 9 Oct 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r152583
Doug Kwan [Thu, 8 Oct 2009 22:16:58 +0000 (22:16 +0000)]
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
Joseph Myers [Thu, 8 Oct 2009 21:54:16 +0000 (22:54 +0100)]
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
Joseph Myers [Thu, 8 Oct 2009 21:41:42 +0000 (22:41 +0100)]
* gcc.c (main): Remove trailing "." from diagnostics.
From-SVN: r152578
Cary Coutant [Thu, 8 Oct 2009 21:00:04 +0000 (21:00 +0000)]
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
Alexandre Oliva [Thu, 8 Oct 2009 19:20:22 +0000 (19:20 +0000)]
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
Janis Johnson [Thu, 8 Oct 2009 19:19:29 +0000 (19:19 +0000)]
rs6000.c (rs6000_delegitimize_address): Remove.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove.
(TARGET_DELEGITIMIZE_ADDRESS): Likewise.
From-SVN: r152571
Jan Hubicka [Thu, 8 Oct 2009 18:52:57 +0000 (20:52 +0200)]
Fix 41626 from Jan Hubicka
From-SVN: r152569
Anatoly Sokolov [Thu, 8 Oct 2009 18:28:48 +0000 (22:28 +0400)]
* 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
Adam Nemet [Thu, 8 Oct 2009 17:54:24 +0000 (17:54 +0000)]
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
Paolo Carlini [Thu, 8 Oct 2009 16:45:58 +0000 (16:45 +0000)]
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
Jason Merrill [Thu, 8 Oct 2009 16:09:31 +0000 (12:09 -0400)]
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
Jason Merrill [Thu, 8 Oct 2009 16:09:22 +0000 (12:09 -0400)]
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
Michael Matz [Thu, 8 Oct 2009 16:03:11 +0000 (16:03 +0000)]
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
Richard Guenther [Thu, 8 Oct 2009 15:32:30 +0000 (15:32 +0000)]
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
Mark Heffernan [Thu, 8 Oct 2009 15:16:35 +0000 (15:16 +0000)]
2009-10-07 Mark Heffernan <meheff@google.com>
* ipa-prop.c (ipa_print_node_params) Only print
names of named arguments.
From-SVN: r152561
Daniel Gutson [Thu, 8 Oct 2009 15:14:41 +0000 (15:14 +0000)]
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
Paolo Carlini [Thu, 8 Oct 2009 14:12:54 +0000 (14:12 +0000)]
gnu.ver: Adjust exports.
2009-10-08 Paolo Carlini <paolo.carlini@oracle.com>
* config/abi/pre/gnu.ver: Adjust exports.
From-SVN: r152559
Rafael Avila de Espindola [Thu, 8 Oct 2009 13:59:32 +0000 (13:59 +0000)]
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
Rainer Orth [Thu, 8 Oct 2009 11:08:52 +0000 (11:08 +0000)]
* collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE.
From-SVN: r152557
Jan Hubicka [Thu, 8 Oct 2009 10:06:52 +0000 (12:06 +0200)]
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
Phil Muldoon [Thu, 8 Oct 2009 08:27:24 +0000 (08:27 +0000)]
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
Nick Clifton [Thu, 8 Oct 2009 07:01:02 +0000 (07:01 +0000)]
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
Andreas Tobler [Thu, 8 Oct 2009 05:09:54 +0000 (05:09 +0000)]
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
Gabriel Dos Reis [Thu, 8 Oct 2009 03:07:44 +0000 (03:07 +0000)]
* cp-tree.h: Fix location of documentation for DECL_LANG_FLAG_7.
From-SVN: r152549
Joseph Myers [Thu, 8 Oct 2009 00:32:51 +0000 (01:32 +0100)]
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
GCC Administrator [Thu, 8 Oct 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r152547
Kaveh R. Ghazi [Wed, 7 Oct 2009 23:40:25 +0000 (23:40 +0000)]
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
Joseph Myers [Wed, 7 Oct 2009 22:50:09 +0000 (23:50 +0100)]
* lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
From-SVN: r152543
Kaveh R. Ghazi [Wed, 7 Oct 2009 21:15:27 +0000 (21:15 +0000)]
real.c: Fix comment to reflect actual exponent size.
* real.c: Fix comment to reflect actual exponent size.
From-SVN: r152542
Ben Elliston [Wed, 7 Oct 2009 20:15:24 +0000 (20:15 +0000)]
* config/rs6000/a2.md: Add FSF comment header.
From-SVN: r152541
Ben Elliston [Wed, 7 Oct 2009 20:12:41 +0000 (07:12 +1100)]
Fix Hariharan Sandanagobalane's most recent entry.
From-SVN: r152540
Uros Bizjak [Wed, 7 Oct 2009 20:09:01 +0000 (22:09 +0200)]
i386.md (any_extend): New code iterator.
* config/i386/i386.md (any_extend): New code iterator.
(u, s): New code attributes.
(sgnprefix): Ditto.
(DWIH): Rewrite as code iterator for SI and DI modes.
(DWI): Rewrite as mode attribute.
(dwi): New mode attribute.
(di): Depend on SI mode and DI mode.
(doubleint_general_operand): Remove mode attribute.
(*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
DWIH mode iterator.
(*add<mode>3_doubleword): Use DWIH as the base mode iterator.
(*sub<mode>3_doubleword): Ditto.
(mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
using SWIM248 mode iterator.
(*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
using SWI48 mode iterator.
(<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
patterns using DWIH mode iterator and any_extend code iterator.
(<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
using any_extend code iterator.
(*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
patterns using DWIH mode iterator and any_extend code iterator.
(*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
using any_extend code iterator.
(<s>mul<mode>3_highpart): Macroize expander from
{s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
and any_extend code iterator.
(*<s>muldi3_highpart_1): Macroize insn from
*{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
(*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
patterns using any_extend code iterator.
(*<s>mulsi3_highpart_zext): Macroize insn from
*{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.
From-SVN: r152539
Jason Merrill [Wed, 7 Oct 2009 18:56:39 +0000 (14:56 -0400)]
re PR c++/39863 ([c++0x] variadic templates : wrong error "mismatched argument pack lengths")
PR c++/39863
* pt.c (tsubst_pack_expansion): Don't do anything now if we
have incomplete packs of different lengths.
From-SVN: r152537
Jason Merrill [Wed, 7 Oct 2009 18:56:28 +0000 (14:56 -0400)]
re PR c++/41038 (Parsing error related to qualified name id)
PR c++/41038
* tree.c (build_qualified_name): Call convert_from_reference.
From-SVN: r152536
Jakub Jelinek [Wed, 7 Oct 2009 18:39:52 +0000 (20:39 +0200)]
dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin...
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add
DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin
refering to a DIE with DW_AT_const_value.
* gcc.dg/debug/dwarf2/inline3.c: New test.
From-SVN: r152535
Daniel Kraft [Wed, 7 Oct 2009 18:13:28 +0000 (20:13 +0200)]
re PR fortran/41615 (Bogus error message: "internal function" should be "module procedure")
2009-10-07 Daniel Kraft <d@domob.eu>
PR fortran/41615
* resolve.c (resolve_contained_fntype): Clarify error message for
invalid assumed-length character result on module procedures.
2009-10-07 Daniel Kraft <d@domob.eu>
PR fortran/41615
* gfortran.dg/assumed_charlen_function_6.f90: New test.
From-SVN: r152534
Vladimir Makarov [Wed, 7 Oct 2009 17:18:38 +0000 (17:18 +0000)]
re PR middle-end/22072 (bizarre code for int*int/2 for -Os)
2009-10-07 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.
From-SVN: r152533
Jan Hubicka [Wed, 7 Oct 2009 16:36:43 +0000 (18:36 +0200)]
cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes correctly.
* cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
correctly.
From-SVN: r152532
Uros Bizjak [Wed, 7 Oct 2009 15:12:00 +0000 (17:12 +0200)]
* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
*lea_2_rex64): Move before *add<mode>_1 pattern.
From-SVN: r152530
Rafael Espindola [Wed, 7 Oct 2009 14:26:53 +0000 (14:26 +0000)]
changelog
From-SVN: r152529
Rafael Espindola [Wed, 7 Oct 2009 14:22:30 +0000 (14:22 +0000)]
Update my email address.
s/plug-in/plugin/
From-SVN: r152528
Richard Guenther [Wed, 7 Oct 2009 14:12:34 +0000 (14:12 +0000)]
MAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola, and Richard Guenther as reviewers.
2009-10-07 Richard Guenther <rguenther@suse.de>
* MAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola,
and Richard Guenther as reviewers.
(LTO plugin): List Rafael Avila de Espindola and Cary Coutant
as reviewers.
From-SVN: r152527
Janus Weil [Wed, 7 Oct 2009 10:54:35 +0000 (12:54 +0200)]
expr.c (gfc_check_pointer_assign): Do the correct type checking when CLASS variables are involved.
2009-10-07 Janus Weil <janus@gcc.gnu.org>
* expr.c (gfc_check_pointer_assign): Do the correct type checking when
CLASS variables are involved.
* match.c (gfc_match_select_type): Parse associate-name in SELECT TYPE
statements, and set up a local namespace for the SELECT TYPE block.
* parse.h (gfc_build_block_ns): New prototype.
* parse.c (parse_select_type_block): Return from local namespace to its
parent after SELECT TYPE block.
(gfc_build_block_ns): New function for setting up the local namespace
for a BLOCK construct.
(parse_block_construct): Use gfc_build_block_ns.
* resolve.c (resolve_select_type): Insert assignment for the selector
variable, in case an associate-name is given, and put the SELECT TYPE
statement inside a BLOCK.
(resolve_code): Call resolve_class_assign after checking the assignment.
* symbol.c (gfc_find_sym_tree): Moved some code here from
gfc_get_ha_sym_tree.
(gfc_get_ha_sym_tree): Moved some code to gfc_find_sym_tree.
2009-10-07 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/same_type_as_2.f03: Modified (was illegal).
* gfortran.dg/select_type_1.f03: Modified error message.
* gfortran.dg/select_type_5.f03: New test.
From-SVN: r152526
Eric Botcazou [Wed, 7 Oct 2009 10:28:59 +0000 (10:28 +0000)]
Fix formatting
From-SVN: r152525
Chris Jefferson [Wed, 7 Oct 2009 09:58:44 +0000 (09:58 +0000)]
moveable2.cc: New.
2009-10-07 Chris Jefferson <chris@bubblescope.net>
* testsuite/25_algorithms/rotate/moveable2.cc: New.
From-SVN: r152524
Jan Hubicka [Wed, 7 Oct 2009 09:11:28 +0000 (11:11 +0200)]
collect2.c (main): Add -fno-whole-program.
* collect2.c (main): Add -fno-whole-program.
* gcc.c (set_collect_gcc_options): Do not remove whole program here.
From-SVN: r152521
Jan Hubicka [Wed, 7 Oct 2009 09:01:16 +0000 (11:01 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has no address taken.
* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
no address taken.
* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
never needed.
(cgraph_clone_node): Clear externally_visible flag for clones.
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_p): New predicates.
* tree-pass.h (pass_ipa_whole_program_visibility): Declare.
* ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
(ipcp_initialize_node_lattices, ipcp_estimate_growth,
ipcp_insert_stage): Likwise.
* cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
externally_visible flag.
(verify_cgraph_node): Verify that inline clones look right.
(process_function_and_variable_attributes): Do not set
externally_visible flags.
(ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
been already run.
* lto-cgraph.c (lto_output_node): Assert that inline clones are not
boundaries.
* ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
clear externally_visible when turning into inline clones
(cgraph_mark_inline_edge): Use new predicates.
(cgraph_estimate_growth): Likewise.
(cgraph_decide_inlining): Likewise.
* ipa.c (cgraph_postorder): Likewise.
(cgraph_remove_unreachable_nodes): Likewise; sanity check
that inline clones are not needed.
(cgraph_externally_visible_p): New predicate.
(function_and_variable_visibility): Add whole_program parameter;
always set externally_visible flag; handle COMDAT function
privatization.
(local_function_and_variable_visibility): New function.
(gate_whole_program_function_and_variable_visibility): New function.
(whole_program_function_and_variable_visibility): New function.
(pass_ipa_whole_program_visibility): New function.
* passes.c (init_optimization_passes): Add whole program visibility
pass.
(do_per_function_toporder, function_called_by_processed_nodes_p): Do
not care about needed/reachable flags.
* varpool.c: Include flags.h
(decide_is_variable_needed): When doing LTO assume whole-program mode.
(varpool_finalize_decl): When we are in LTO read-back, all variables
are analyzed.
(varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
* lto/lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
ltrans stage; explain why this is needed and should not.
From-SVN: r152520
Hariharan Sandanagobalane [Wed, 7 Oct 2009 08:48:50 +0000 (08:48 +0000)]
* config.sub : Update from upstream sources.
From-SVN: r152517
Andreas Krebbel [Wed, 7 Oct 2009 08:40:32 +0000 (08:40 +0000)]
tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and add MASK_HARD_DFP.
2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
add MASK_HARD_DFP.
From-SVN: r152516
Andreas Krebbel [Wed, 7 Oct 2009 08:26:47 +0000 (08:26 +0000)]
config.gcc: Don't include the makefile fragments intended for libgcc.
2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.gcc: Don't include the makefile fragments intended for
libgcc.
* config/s390/fixdfdi.h: File removed.
* config/s390/libgcc-glibc.ver: File removed.
* config/s390/s390.h: Remove the fixdfdi.h hack.
* config/s390/t-crtstuff: File moved to libgcc dir.
* config/s390/t-linux: Likewise.
* config/s390/t-tpf: libgcc specific parts removed.
* config/s390/t-linux64: Likewise.
2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Include the s390 makefile fragments.
* config/s390/32/_fixdfdi.c: New file.
* config/s390/32/_fixsfdi.c: New file.
* config/s390/32/_fixtfdi.c: New file.
* config/s390/32/_fixunsdfdi.c: New file.
* config/s390/32/_fixunssfdi.c: New file.
* config/s390/32/_fixunstfdi.c: New file.
* config/s390/32/t-floattodi: New file.
* config/s390/libgcc-glibc.ver: New file.
* config/s390/t-crtstuff: New file.
* config/s390/t-linux: New file.
* config/s390/t-tpf: New file.
From-SVN: r152515
Ian Lance Taylor [Wed, 7 Oct 2009 05:41:23 +0000 (05:41 +0000)]
Makefile.def: check-gold depends upon all-gas.
* Makefile.def: check-gold depends upon all-gas.
* Makefile.in: Rebuild.
From-SVN: r152514
Paul Thomas [Wed, 7 Oct 2009 05:17:29 +0000 (05:17 +0000)]
re PR fortran/41613 (ICE for gfortran.dg/dynamic_dispatch_*.f03 on powerpc-apple-darwin)
2009-10-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41613
* resolve.c (check_class_members): Reset compcall.assign.
From-SVN: r152513
Jerry Quinn [Wed, 7 Oct 2009 03:18:42 +0000 (03:18 +0000)]
Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
2009-10-06 Jerry Quinn <jlquinn@optonline.net>
* Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
(lto-compress.o): Likewise.
From-SVN: r152512
Danny Smith [Wed, 7 Oct 2009 02:57:21 +0000 (02:57 +0000)]
re PR target/41512 (dllexport broken on cygwin)
PR target/41512
* config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't propagate
dllexport to class members here.
(i386_pe_determine_dllimport_p): Only check static class data for
definition.
(i386_pe_encode_section_info): Don't recheck DECL_DLLIMPORT_P.
* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Only check
functions for vague linkage.
(i386_pe_type_dllexport_p): Fix formatting.
(maybe_add_dllexport) New function.
(i386_pe_adjust_class_at_definition): Use it to propagate dllexport
to class members.
From-SVN: r152511
Jerry DeLisle [Wed, 7 Oct 2009 01:24:27 +0000 (01:24 +0000)]
re PR testsuite/41612 (FAIL: gfortran.dg/round_2.f03)
2009-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41612
* gfortran.dg/round_2.f03: Fix test to work on platforms that do not
have kind=10 reals.
From-SVN: r152510
GCC Administrator [Wed, 7 Oct 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r152506
Janis Johnson [Tue, 6 Oct 2009 23:17:07 +0000 (23:17 +0000)]
binary-arith.cc: Fix directive to skip test.
* testsuite/decimal/binary-arith.cc: Fix directive to skip test.
* testsuite/decimal/cast_neg.cc: Ditto.
* testsuite/decimal/comparison.cc: Ditto.
* testsuite/decimal/compound-assignment.cc: Ditto.
* testsuite/decimal/compound-assignment-memfunc.cc: Ditto.
* testsuite/decimal/conversion-from-float.cc: Ditto.
* testsuite/decimal/conversion-from-integral.cc: Ditto.
* testsuite/decimal/conversion-to-generic-float.cc: Ditto.
* testsuite/decimal/conversion-to-integral.cc: Ditto.
* testsuite/decimal/ctor.cc: Ditto.
* testsuite/decimal/incdec.cc: Ditto.
* testsuite/decimal/incdec-memfunc.cc: Ditto.
* testsuite/decimal/make-decimal.cc: Ditto.
* testsuite/decimal/mixed-mode_neg.cc: Ditto.
* testsuite/decimal/operator_neg.cc: Ditto.
* testsuite/decimal/unary-arith.cc: Ditto.
From-SVN: r152502
Ben Elliston [Tue, 6 Oct 2009 22:22:30 +0000 (22:22 +0000)]
* config/rs6000/a2.md: Remove duplicated lines.
From-SVN: r152501
Jason Merrill [Tue, 6 Oct 2009 22:14:01 +0000 (18:14 -0400)]
Fix lookup of initialized captures in unevaluated context.
* cp-tree.h (DECL_NORMAL_CAPTURE_P): New.
* name-lookup.c (qualify_lookup): Check it.
* parser.c (cp_parser_lambda_introducer): Pass explicit_init_p
to add_capture.
* semantics.c (add_capture): Set DECL_NORMAL_CAPTURE_P
on captures without explicit init.
(add_default_capture): Pass explicit_init_p.
Fix capture by copy of types with explicit copy constructor.
* cp-tree.h (TARGET_EXPR_DIRECT_INIT_P): New.
(DIRECT_INIT_EXPR_P): New.
* typeck.c (convert_for_initialization): Just return if
DIRECT_INIT_EXPR_P.
* parser.c (cp_parser_lambda_introducer): Use
TARGET_EXPR_DIRECT_INIT_P for normal captures.
From-SVN: r152500
Ben Elliston [Tue, 6 Oct 2009 19:37:40 +0000 (19:37 +0000)]
config.gcc (powerpc*-*-*): Handle a2.
* config.gcc (powerpc*-*-*): Handle a2.
* config/rs6000/rs6000.md (cpu): Add ppca2. Include "a2.md".
* config/rs6000/a2.md: New file.
* config/rs6000/rs6000.opt (mno-update): New.
(mupdate): Return to using a mask, not a var.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for a2.
(enum processor_type): Add PROCESSOR_PPCA2.
* config/rs6000/rs6000.c (ppca2_cost): New costs.
(rs6000_override_options): Add "a2" to processor_target_table.
Update rs6000_always_hint logic. Correctly set rs6000_cost for
a2.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mcpu=a2.
From-SVN: r152499
Rafael Espindola [Tue, 6 Oct 2009 19:27:01 +0000 (19:27 +0000)]
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
Uros Bizjak [Tue, 6 Oct 2009 18:23:06 +0000 (20:23 +0200)]
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
Uros Bizjak [Tue, 6 Oct 2009 13:52:59 +0000 (15:52 +0200)]
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
Martin Jambor [Tue, 6 Oct 2009 13:31:40 +0000 (15:31 +0200)]
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
Richard Guenther [Tue, 6 Oct 2009 12:19:20 +0000 (12:19 +0000)]
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
Tobias Burnus [Tue, 6 Oct 2009 10:38:12 +0000 (12:38 +0200)]
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
Richard Guenther [Tue, 6 Oct 2009 10:31:17 +0000 (10:31 +0000)]
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
Ryan Mansfield [Tue, 6 Oct 2009 09:33:29 +0000 (09:33 +0000)]
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
Samuel Tardieu [Tue, 6 Oct 2009 07:20:53 +0000 (07:20 +0000)]
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
Samuel Tardieu [Tue, 6 Oct 2009 07:19:54 +0000 (07:19 +0000)]
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
Jerry Quinn [Tue, 6 Oct 2009 04:08:29 +0000 (04:08 +0000)]
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
Jerry DeLisle [Tue, 6 Oct 2009 03:12:21 +0000 (03:12 +0000)]
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
Jerry DeLisle [Tue, 6 Oct 2009 03:08:20 +0000 (03:08 +0000)]
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
GCC Administrator [Tue, 6 Oct 2009 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r152480
Jason Merrill [Mon, 5 Oct 2009 21:36:38 +0000 (17:36 -0400)]
* parser.c: Mark lambda_scope and lambda_count for PCH.
From-SVN: r152474
Phil Muldoon [Mon, 5 Oct 2009 21:09:59 +0000 (21:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2009-10-05 Phil Muldoon <pmuldoon@redhat.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r152473
Rafael Avila de Espindola [Mon, 5 Oct 2009 20:53:29 +0000 (20:53 +0000)]
plugin-api.h: Sync with src.
2009-10-05 Rafael Espindola <espindola@google.com>
* plugin-api.h: Sync with src.
From-SVN: r152472
Ralf Wildenhues [Mon, 5 Oct 2009 19:54:18 +0000 (19:54 +0000)]
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
Jakub Jelinek [Mon, 5 Oct 2009 19:52:20 +0000 (21:52 +0200)]
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
Jakub Jelinek [Mon, 5 Oct 2009 19:50:57 +0000 (21:50 +0200)]
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
Richard Sandiford [Mon, 5 Oct 2009 19:45:54 +0000 (19:45 +0000)]
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
Richard Sandiford [Mon, 5 Oct 2009 19:29:36 +0000 (19:29 +0000)]
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
Paul Thomas [Mon, 5 Oct 2009 18:19:55 +0000 (18:19 +0000)]
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
Benjamin Kosnik [Mon, 5 Oct 2009 18:04:44 +0000 (18:04 +0000)]
*: Regenerate.
2009-10-05 Benjamin Kosnik <bkoz@redhat.com>
* doc/html/*: Regenerate.
From-SVN: r152462
John Bytheway [Mon, 5 Oct 2009 17:56:02 +0000 (17:56 +0000)]
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