gcc.git
14 years ago* doc/extend.texi (Function Attributes): Fix a typo.
Bruno Haible [Sun, 2 May 2010 15:25:21 +0000 (15:25 +0000)]
* doc/extend.texi (Function Attributes): Fix a typo.

From-SVN: r158975

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 2 May 2010 15:13:03 +0000 (17:13 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2010-05-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_*
        calls for lcobound, ucobound, image_index and this_image.
        * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
        gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
        * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
        gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
        functions.
        (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.

From-SVN: r158974

14 years agorevert: hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string placeholder...
Uros Bizjak [Sun, 2 May 2010 13:10:40 +0000 (15:10 +0200)]
revert: hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string placeholder from 0x%x to %#x.

Revert:
* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
placeholder from 0x%x to %#x.
(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
* config/i386/i386.c (output_pic_addr_const): Ditto.

From-SVN: r158972

14 years agovmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x...
Uros Bizjak [Sun, 2 May 2010 12:31:18 +0000 (14:31 +0200)]
vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x.

* vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
placeholder from 0x%x to %#x.
(ASM_OUTPUT_DEBUG_DATA1): Ditto.
(ASM_OUTPUT_DEBUG_DATA4): Ditto.
(ASM_OUTPUT_DEBUG_DATA): Ditto.
(ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
(ASM_OUTPUT_DEBUG_DATA8): Ditto.
* optc-gen.awk: Ditto.
* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
(HOST_WIDE_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
* gcov-dump.c (tag_function): Ditto.
(tag_summary): Ditto.

From-SVN: r158971

14 years agotarget.h (struct calls): Add function_value_regno_p field.
Anatoly Sokolov [Sun, 2 May 2010 10:49:10 +0000 (14:49 +0400)]
target.h (struct calls): Add function_value_regno_p field.

* target.h (struct calls): Add function_value_regno_p field.
* target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
(TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
* targhooks.c (default_function_value_regno_p): New function.
* targhooks.h (default_function_value_regno_p): Declare function.
* rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
* builtins.c. (apply_result_size): (Ditto.).
* combine.c. (likely_spilled_retval_p): (Ditto.).
* mode-switching.c. Include 'target.h'.
(create_pre_exit): Use function_value_regno_p hook.
* Makefile.in (mode-switching.o): Add dependency on TARGET_H.
* doc/tm.texi (FUNCTION_VALUE_REGNO_P,
TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.

* config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
* config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
(ix86_function_value_regno_p): Declare as static, change argument
type to const unsigned int.
* config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.

From-SVN: r158970

14 years agoDaily bump.
GCC Administrator [Sun, 2 May 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158969

14 years agore PR tree-optimization/43949 (bogus warning: array subscript is above array bounds)
Richard Guenther [Sat, 1 May 2010 21:30:26 +0000 (21:30 +0000)]
re PR tree-optimization/43949 (bogus warning: array subscript is above array bounds)

2010-05-01  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43949
* tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
types.
(extract_range_from_binary_expr): Handle *_MOD_EXPR.

* g++.dg/warn/Warray-bounds-5.C: New testcase.

From-SVN: r158965

14 years agofaq.xml: Fix anachronisms.
Jonathan Wakely [Sat, 1 May 2010 20:03:19 +0000 (21:03 +0100)]
faq.xml: Fix anachronisms.

2010-05-01  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/faq.xml: Fix anachronisms.
* doc/xml/manual/intro.xml (Make): Tweak grammar and whitespace.
* doc/xml/manual/support.xml (NULL): Use inline <code> element
instead of <programlisting> block.
* doc/html/*: Regenerate.

From-SVN: r158964

14 years agortl.h (CONST_DOUBLE_P): Define.
Anatoly Sokolov [Sat, 1 May 2010 17:52:02 +0000 (21:52 +0400)]
rtl.h (CONST_DOUBLE_P): Define.

* rtl.h (CONST_DOUBLE_P): Define.
(rtx_to_double_int): Declare.
* emit-rtl.c (rtx_to_double_int): New function.
* dwarf2out.c (insert_double): New function.
(loc_descriptor, add_const_value_attribute): Clean up, use
rtx_to_double_int and insert_double functions.

From-SVN: r158963

14 years agoextend.texi (Inline): Add missing return keyword to examples.
Jonathan Wakely [Sat, 1 May 2010 16:31:17 +0000 (16:31 +0000)]
extend.texi (Inline): Add missing return keyword to examples.

* doc/extend.texi (Inline): Add missing return keyword to examples.
(Function Attributes, Variable Attributes, Pragmas): Hyphenate
"command-line".

From-SVN: r158962

14 years ago* sv.po: Update.
Joseph Myers [Sat, 1 May 2010 15:23:59 +0000 (16:23 +0100)]
* sv.po: Update.

From-SVN: r158960

14 years agoRevert the accidental checkin in revision 158918.
H.J. Lu [Sat, 1 May 2010 13:52:52 +0000 (13:52 +0000)]
Revert the accidental checkin in revision 158918.

gcc/cp/

2010-05-01  H.J. Lu  <hongjiu.lu@intel.com>

PR c++/43951
* init.c (build_new_1): Revert the accidental checkin in
revision 158918.

gcc/testsuite/

2010-05-01  H.J. Lu  <hongjiu.lu@intel.com>

PR c++/43951
* g++.dg/init/new28.C: New.

From-SVN: r158959

14 years ago[multiple changes]
Iain Sandoe [Sat, 1 May 2010 00:32:13 +0000 (00:32 +0000)]
[multiple changes]

2010-04-30  Iain Sandoe  <iains@gcc.gnu.org>

PR objc++/32052
* objc-act.c (encode_aggregate_within): Encode structure tags
with template args for ObjC++.

2010-04-30  Iain Sandoe <iains@gcc.gnu.org>

PR objc++/32052
* obj-c++.dg/encode-2.mm: Remove XFAIL. Add test for anonymous
structure and nested declarations.
* obj-c++.dg/encode-3.mm:  Remove XFAIL. Add test for anonymous
structure and nested declarations.  Reduce header clutter and
use _exit() rather than abort().
* objc.dg/encode-10.m: New.
* objc.dg/encode-11.m: New.

From-SVN: r158958

14 years agoDaily bump.
GCC Administrator [Sat, 1 May 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158957

14 years agotree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of the variable...
Eric Botcazou [Fri, 30 Apr 2010 21:10:53 +0000 (21:10 +0000)]
tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of the variable part of the offset as well.

* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
the variable part of the offset as well.  Use highest_pow2_factor for
all alignment checks.

From-SVN: r158948

14 years agore PR c++/43868 (ICE with -g)
Jason Merrill [Fri, 30 Apr 2010 20:48:12 +0000 (16:48 -0400)]
re PR c++/43868 (ICE with -g)

PR c++/43868
* cxx-pretty-print.c (pp_cxx_decl_specifier_seq): Move pmf handling...
(pp_cxx_type_specifier_seq): ...here.

From-SVN: r158947

14 years agore PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
Richard Biener [Fri, 30 Apr 2010 18:52:44 +0000 (18:52 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)

2010-04-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43879
* tree-ssa-structalias.c (type_could_have_pointers): Functions
can have pointers.

From-SVN: r158945

14 years agolto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with varpool.
Jan Hubicka [Fri, 30 Apr 2010 18:45:47 +0000 (20:45 +0200)]
lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with varpool.

* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with varpool.
(lto_symtab_merge_decls_1): Remove logic looking for an initializer.

From-SVN: r158944

14 years agolto.c (get_filename_for_set): Look for cgraph node and if none found, use default...
Jan Hubicka [Fri, 30 Apr 2010 18:44:41 +0000 (20:44 +0200)]
lto.c (get_filename_for_set): Look for cgraph node and if none found, use default name.

* lto.c (get_filename_for_set): Look for cgraph node and if none found, use
default name.
(lto_wpa_write_files): Write any non-empty partition.

* cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): New.
* lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
* lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
(lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
cgraph_node_set_needs_ltrans_p): Remove.

From-SVN: r158943

14 years ago2010-04-30 Tobias Burnus Mburnus@net-b.de>
Tobias Burnus [Fri, 30 Apr 2010 18:30:53 +0000 (20:30 +0200)]
2010-04-30  Tobias Burnus  Mburnus@net-b.de>

        PR fortran/18918
        PR fortran/43931
        *  trans-types.c (gfc_get_array_descriptor_base): Fix index
        calculation for array descriptor types.

2010-04-30  Tobias Burnus  Mburnus@net-b.de>

        PR fortran/18918
        PR fortran/43931
        * gfortran.dg/coarray_13.f90: New test.

From-SVN: r158941

14 years agosdbout.c: Include vec.h, do not include varray.h.
Steven Bosscher [Fri, 30 Apr 2010 14:58:54 +0000 (14:58 +0000)]
sdbout.c: Include vec.h, do not include varray.h.

* sdbout.c: Include vec.h, do not include varray.h.
(deferred_global_decls, sdbout_global_decl,
sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
* toplev.c: Do not include varray.h.
(dump_memory_report): Do not dump VARRAY statistics.
* gengtype.c (open_base_file): Ignore varray.h.
* Makefile.in: Update for abovementioned changes.
Remove all traces of varray.c and varray.h.
* varray.c: Remove file.
* varray.h: Remove file.

From-SVN: r158939

14 years agolto-cgraph.c (lto_output_varpool_node): Always output constant pool references.
Jan Hubicka [Fri, 30 Apr 2010 14:26:51 +0000 (16:26 +0200)]
lto-cgraph.c (lto_output_varpool_node): Always output constant pool references.

* lto-cgraph.c (lto_output_varpool_node): Always output constant pool
references.

* lto.c: Do not attempt to make constant pool references global.

From-SVN: r158938

14 years agotree-profile.c (tree_init_ic_make_global_vars): Mark new decls as needed.
Jan Hubicka [Fri, 30 Apr 2010 14:24:44 +0000 (16:24 +0200)]
tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as needed.

* tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
needed.

From-SVN: r158937

14 years agotree-ssa-structalias.c (get_constraint_for_1): Generate constraints for CONSTRUCTOR.
Richard Guenther [Fri, 30 Apr 2010 13:37:02 +0000 (13:37 +0000)]
tree-ssa-structalias.c (get_constraint_for_1): Generate constraints for CONSTRUCTOR.

2010-04-30  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (get_constraint_for_1): Generate
constraints for CONSTRUCTOR.

From-SVN: r158936

14 years agore PR lto/43946 (SPEC2000 GCC fails to build with -fprofile-generate -O2 -ffast...
Richard Guenther [Fri, 30 Apr 2010 13:23:25 +0000 (13:23 +0000)]
re PR lto/43946 (SPEC2000 GCC fails to build with -fprofile-generate     -O2 -ffast-math -flto -fwhole-program)

2010-04-30  Richard Guenther  <rguenther@suse.de>

PR lto/43946
* passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
first after all lowering passes.

* gcc.dg/lto/20100430-1_0.c: New testcase.

From-SVN: r158935

14 years agoFix broken ChangeLog entry
Steven Bosscher [Fri, 30 Apr 2010 12:09:36 +0000 (12:09 +0000)]
Fix broken ChangeLog entry

From-SVN: r158934

14 years agotoplev.c: Include varray.h for statistics dumping.
Steven Bosscher [Fri, 30 Apr 2010 11:58:49 +0000 (11:58 +0000)]
toplev.c: Include varray.h for statistics dumping.

gcc/ChangeLog:
* toplev.c: Include varray.h for statistics dumping.
* tree.h: Do not declare varray_head_tag.
* tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
c-common.c, c-common.h, reg-stack.c, basic-block.h,
tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
include varray.h.
* Makefile.in: Update for abovementioned changes.

objc/ChangeLog:
* objc-act.c: Do not include varray.h.

objcp/ChangeLog:
* objcp-decl.c: Do not include varray.h.

cp/ChangeLog:
* optimize.c, parser.c,mangle.c, cp-tree.h: DO not include varray.h.
* Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.

From-SVN: r158933

14 years agore PR debug/43942 (-fcompare-debug faulure with external declaration in function.)
Jakub Jelinek [Fri, 30 Apr 2010 11:24:16 +0000 (13:24 +0200)]
re PR debug/43942 (-fcompare-debug faulure with external declaration in function.)

PR debug/43942
* tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.

* c-c++-common/pr43942.c: New test.

From-SVN: r158931

14 years ago20091216-1_0.c: Adjust test case to avoid conflict with darwin crt1.o 'start' symbol.
Steven Bosscher [Fri, 30 Apr 2010 10:09:41 +0000 (10:09 +0000)]
20091216-1_0.c: Adjust test case to avoid conflict with darwin crt1.o 'start' symbol.

* gcc.dg/lto/20091216-1_0.c: Adjust test case to avoid
conflict with darwin crt1.o 'start' symbol.

From-SVN: r158929

14 years agostl_pair.h (piecewise_construct_t, [...]): Add.
Paolo Carlini [Fri, 30 Apr 2010 09:52:41 +0000 (09:52 +0000)]
stl_pair.h (piecewise_construct_t, [...]): Add.

2010-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_pair.h (piecewise_construct_t,
pair<>::pair(piecewise_construct_t, tuple, tuple)): Add.
(pair<>::__cons, pair<>::__do_cons): Declare.
(__decay_and_strip, __strip_reference_wrapper): Move...
* include/std/type_traits: ... here.
* include/std/functional (_Index_tuple, _Build_index_tuple): Move...
* include/std/tuple: ... here.
(pack_arguments): Add.
(pair<>::__cons, pair<>::__do_cons): Define.
* testsuite/20_util/tuple/creation_functions/pack_arguments.cc: New.
* testsuite/20_util/pair/piecewise.cc: Likewise.
* testsuite/20_util/tuple/cons/big_tuples.cc: Include <utility>.
* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r158928

14 years agopicochip.c (picochip_legitimize_address): Define.
Hariharan Sandanagobalane [Fri, 30 Apr 2010 09:40:21 +0000 (09:40 +0000)]
picochip.c (picochip_legitimize_address): Define.

        * config/picochip/picochip.c (picochip_legitimize_address): Define.
        Use this function to do machine-specific conversion.
        (picochip_legitimize_reload_address): Likewise.
        (picochip_legitimate_address_p): Check valid base register only if
        strict.
        (picochip_check_conditional_copy): Check for modw only if opnd is
        register.
        * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
        to call the function in c.
        * config/picochip/picochip-protos.h
        (picochip_legitimize_reload_address): Define.
        * config/picochip/picochip.md (supported_compare1): Define.

From-SVN: r158927

14 years agocgraph.h (cgraph_local_info): Remove for_functions_valid.
Jan Hubicka [Fri, 30 Apr 2010 09:29:44 +0000 (11:29 +0200)]
cgraph.h (cgraph_local_info): Remove for_functions_valid.

* cgraph.h (cgraph_local_info): Remove for_functions_valid.
(cgraph_global_info): Remove inlined.
(LTO_cgraph_tag_names): Remove.
(LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
* lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
simplify cgraph tags and document.
(lto_output_node): Use only LTO_cgraph_unavail_node and
LTO_cgraph_analyzed_node; Do not save analzed, reachable,
for_functions_valid, global info, process and output
flags.
(input_overwrite_node): Initialize estimated stack size and
estimated growth.
Do not read flags we no longer store.
(input_node): Likewise do not read info no longer stored.
* ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
flag.

From-SVN: r158926

14 years agounix.c (raw_truncate): Explicit cast from integer-scal to pointer.
Kai Tietz [Fri, 30 Apr 2010 09:15:03 +0000 (09:15 +0000)]
unix.c (raw_truncate): Explicit cast from integer-scal to pointer.

2010-04-30  Kai Tietz  <kai.tietz@onevision.com>

        PR/43844
        * io/unix.c (raw_truncate): Explicit cast from integer-scal
        to pointer.
        (empfile): Use for mingw GetTempPath and avoid double slash
        for path.

From-SVN: r158925

14 years agore PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
Richard Guenther [Fri, 30 Apr 2010 08:22:15 +0000 (08:22 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)

2010-04-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43879
* tree-ssa-structalias.c (get_constraint_for_1): Properly
handle non-zero initializers.

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

From-SVN: r158924

14 years agobuiltins.c (fold_builtin_1): Delete free (0).
Richard Guenther [Fri, 30 Apr 2010 08:18:51 +0000 (08:18 +0000)]
builtins.c (fold_builtin_1): Delete free (0).

2010-04-30  Richard Guenther  <rguenther@suse.de>

* builtins.c (fold_builtin_1): Delete free (0).

* gcc.dg/tree-ssa/builtin-free.c: New testcase.

From-SVN: r158923

14 years agore PR c++/43779 (Parts of message not available for translation)
Shujing Zhao [Fri, 30 Apr 2010 06:16:26 +0000 (06:16 +0000)]
re PR c++/43779 (Parts of message not available for translation)

2010-04-30  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/43779
        * typeck.c (warn_args_num): New function.
        (convert_arguments): Use warn_args_num to print the diagnostic
        messages.

From-SVN: r158919

14 years agore PR c++/43890 (invalid uninitialized reference in class)
Fabien Chêne [Fri, 30 Apr 2010 04:23:00 +0000 (04:23 +0000)]
re PR c++/43890 (invalid uninitialized reference in class)

PR c++/43890
* init.c (diagnose_uninitialized_cst_or_ref_member): check for
user-provided constructor while recursing.

From-SVN: r158918

14 years agoDaily bump.
GCC Administrator [Fri, 30 Apr 2010 00:17:39 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158917

14 years agogengtype.c (open_base_files): Add lto-streamer.h
Jan Hubicka [Thu, 29 Apr 2010 22:44:18 +0000 (22:44 +0000)]
gengtype.c (open_base_files): Add lto-streamer.h

* gengtype.c (open_base_files): Add lto-streamer.h
* cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
(pass_ipa_cp): GGC collect.
* toplev. (compile_file): Do not output symbols.
* ipa-inline.c (pass_ipa_inline): Add ggc collect.
* timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
* lto-section-in.c: Include ggc.h
(lto_new_in_decl_state): Alloc in GGC.
(lto_delete_in_decl_state): Likewise.
* ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): Collect.

* lto/lto.c (lto_read_in_decl_state): Use GGC.
(lto_wpa_write_files): Announce what we are writting.
(all_file_decl_data): New.
(read_cgraph_and_symbols): Use GGC; correct timevars.
(do_whole_program_analysis): Collect.
* lto/Make-lang.in (lto.o): Fix dependency.
* Makefile.in (GTFILES): Add lto-streamer.h.
* varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
(varpool_assemble_pending_decls): Use VAROUT.
* lto-streamer.h (lto_tree_ref_table): Annotate.
(lto_in_decl_state): Annotate.
(lto_file_decl_data): Annotate.

From-SVN: r158912

14 years agore PR target/42895 (Low registers are preferred than register ip in thumb2 mode)
Bernd Schmidt [Thu, 29 Apr 2010 21:37:01 +0000 (21:37 +0000)]
re PR target/42895 (Low registers are preferred than register ip in thumb2 mode)

PR target/42895
* doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
(HONOR_REG_ALLOC_ORDER): Describe new macro.
* ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
* ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
account only if HONOR_REG_ALLOC_ORDER is not defined.
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
* system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.

From-SVN: r158911

14 years ago[multiple changes]
Paul Thomas [Thu, 29 Apr 2010 19:10:48 +0000 (19:10 +0000)]
[multiple changes]

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43896
* symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
initializers for PPC members of the vtabs.

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42274
* symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
attribute for all PPC members of the vtypes.
(copy_vtab_proc_comps): Copy the correct interface.
* trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
* trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
a dummy argument and make sure all PPC members of the vtab are
initialized correctly.
(gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
in call to gfc_trans_assign_vtab_procs.
* trans-stmt.c (gfc_trans_allocate): Ditto.

2010-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43326
* resolve.c (resolve_typebound_function): Renamed
resolve_class_compcall.Do all the detection of class references
here.
(resolve_typebound_subroutine): resolve_class_typebound_call
renamed. Otherwise same as resolve_typebound_function.
(gfc_resolve_expr): Call resolve_typebound_function.
(resolve_code): Call resolve_typebound_subroutine.

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43492
* resolve.c (resolve_typebound_generic_call): For CLASS methods
pass back the specific symtree name, rather than the target
name.

2010-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42353
* resolve.c (resolve_structure_cons): Make the initializer of
the vtab component 'extends' the same type as the component.

2010-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/42680
* interface.c (check_interface1): Pass symbol name rather than NULL to
gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
trap MULL. (gfc_compare_derived_types): Revert previous change
incorporated incorrectly during merge from trunk, r155778.
* resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
than NULL to gfc_compare_interfaces.
* symbol.c (add_generic_specifics): Likewise.

2010-02-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42353
* interface.c (gfc_compare_derived_types): Add condition for vtype.
* symbol.c (gfc_find_derived_vtab): Sey access to private.
(gfc_find_derived_vtab): Likewise.
* module.c (ab_attribute): Add enumerator AB_VTAB.
(mio_symbol_attribute): Use new attribute, AB_VTAB.
(check_for_ambiguous): Likewise.

2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
    Janus Weil  <janus@gcc.gnu.org>

PR fortran/41829
* trans-expr.c (select_class_proc): Remove function.
(conv_function_val): Delete reference to previous.
(gfc_conv_derived_to_class): Add second argument to the call to
gfc_find_derived_vtab.
(gfc_conv_structure): Exclude proc_pointer components when
accessing $data field of class objects.
(gfc_trans_assign_vtab_procs): New function.
(gfc_trans_class_assign): Add second argument to the call to
gfc_find_derived_vtab.
* symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
implement holding off searching for the vptr derived type.
(add_proc_component): New function.
(add_proc_comps): New function.
(add_procs_to_declared_vtab1): New function.
(copy_vtab_proc_comps): New function.
(add_procs_to_declared_vtab): New function.
(void add_generic_specifics): New function.
(add_generics_to_declared_vtab): New function.
(gfc_find_derived_vtab): Add second argument to the call to
gfc_find_derived_vtab. Add the calls to
add_procs_to_declared_vtab and add_generics_to_declared_vtab.
* decl.c (build_sym, build_struct): Use new arg in calls to
gfc_build_class_symbol.
* gfortran.h : Add vtype bitfield to symbol_attr. Remove the
definition of struct gfc_class_esym_list. Modify prototypes
of gfc_build_class_symbol and gfc_find_derived_vtab.
* trans-stmt.c (gfc_trans_allocate): Add second argument to the
call to gfc_find_derived_vtab.
* module.c : Add the vtype attribute.
* trans.h : Add prototype for gfc_trans_assign_vtab_procs.
* resolve.c (resolve_typebound_generic_call): Add second arg
to pass along the generic name for class methods.
(resolve_typebound_call): The same.
(resolve_compcall): Use the second arg to carry the generic
name from the above. Remove the reference to class_esym.
(check_members, check_class_members, resolve_class_esym,
hash_value_expr): Remove functions.
(resolve_class_compcall, resolve_class_typebound_call): Modify
to use vtable rather than member by member calls.
(gfc_resolve_expr): Modify second arg in call to
resolve_compcall.
(resolve_select_type): Add second arg in call to
gfc_find_derived_vtab.
(resolve_code): Add second arg in call resolve_typebound_call.
(resolve_fl_derived): Exclude vtypes from check for late
procedure definitions. Likewise for checking of explicit
interface and checking of pass arg.
* iresolve.c (gfc_resolve_extends_type_of): Add second arg in
calls to gfc_find_derived_vtab.
* match.c (select_type_set_tmp): Use new arg in call to
gfc_build_class_symbol.
* trans-decl.c (gfc_get_symbol_decl): Complete vtable if
necessary.
* parse.c (endType): Finish incomplete classes.

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42274
* gfortran.dg/class_16.f03: New test.

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42274
* gfortran.dg/class_15.f03: New.

2010-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43326
* gfortran.dg/dynamic_dispatch_9.f03: New test.

2010-04-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43492
* gfortran.dg/generic_22.f03 : New test.

2010-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42353
* gfortran.dg/class_14.f03: New test.

2010-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/42680
* gfortran.dg/interface_32.f90: New test.

2009-04-29  Paul Thomas  <pault@gcc.gnu.org>
    Janus Weil  <janus@gcc.gnu.org>

PR fortran/41829
* gfortran.dg/dynamic_dispatch_5.f03 : Change to "run".
* gfortran.dg/dynamic_dispatch_7.f03 : New test.
* gfortran.dg/dynamic_dispatch_8.f03 : New test.

From-SVN: r158910

14 years agoCorrect entry of fix for PR bootstrap/43936.
H.J. Lu [Thu, 29 Apr 2010 17:55:00 +0000 (10:55 -0700)]
Correct entry of fix for PR bootstrap/43936.

From-SVN: r158909

14 years agocollect2.c (vflag): Change type from int to bool.
Jon Grant [Thu, 29 Apr 2010 17:42:54 +0000 (17:42 +0000)]
collect2.c (vflag): Change type from int to bool.

2010-04-29  Jon Grant <04@jguk.org>

* collect2.c (vflag): Change type from int to bool.
(debug): Likewise.
(helpflag): New global bool.
(main): Set vflag and debug with boolean, not integer truth
values.  Accept new "--help" option and output usage text if
found.
* collect2.h (vflag): Update prototype.
(debug): Likewise.

From-SVN: r158908

14 years agoMove flag_plugin_added out of invoke_plugin_callbacks.
H.J. Lu [Thu, 29 Apr 2010 16:29:10 +0000 (16:29 +0000)]
Move flag_plugin_added out of invoke_plugin_callbacks.

2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>

PR bootstrap/43935
* plugin.h (flag_plugin_added): Moved out of
invoke_plugin_callbacks.

From-SVN: r158905

14 years agore PR bootstrap/43935 (Bootstrap failure: cc1: all warnings being treated as errors)
Richard Guenther [Thu, 29 Apr 2010 14:10:39 +0000 (14:10 +0000)]
re PR bootstrap/43935 (Bootstrap failure: cc1: all warnings being treated as errors)

2010-04-29  Richard Guenther  <rguenther@suse.de>

PR bootstrap/43935
* plugin.h (invoke_plugin_callbacks): Annotate arguments
with ATTRIBUTE_UNUSED.

From-SVN: r158901

14 years agoReplace INSN_P with NONDEBUG_INSN_P.
H.J. Lu [Thu, 29 Apr 2010 12:51:09 +0000 (12:51 +0000)]
Replace INSN_P with NONDEBUG_INSN_P.

2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>

PR target/43921
* config/i386/i386.c (get_some_local_dynamic_name): Replace
INSN_P with NONDEBUG_INSN_P.
(distance_non_agu_define): Likewise.
(distance_agu_use): Likewise.

From-SVN: r158900

14 years agore PR bootstrap/43858 (Bootstrap failure for powerpc-apple-darwin9: cannot compute...
Bernd Schmidt [Thu, 29 Apr 2010 11:04:30 +0000 (11:04 +0000)]
re PR bootstrap/43858 (Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files)

From Dominique d'Humieres <dominiq@lps.ens.fr>
PR bootstrap/43858
* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
test_set.

From-SVN: r158898

14 years agoAdde a missing Changelog entry to describe a change in
Martin Jambor [Thu, 29 Apr 2010 10:46:20 +0000 (12:46 +0200)]
Adde a missing Changelog entry to describe a change in
gcc/lto-streamer-in.c committed yesterday.

From-SVN: r158897

14 years agoplugin.h (invoke_plugin_callbacks): New inline function.
Brian Hackett [Thu, 29 Apr 2010 09:01:56 +0000 (09:01 +0000)]
plugin.h (invoke_plugin_callbacks): New inline function.

2010-04-29  Brian Hackett   <bhackett1024@gmail.com>

* plugin.h (invoke_plugin_callbacks): New inline function.
* plugin.c (flag_plugin_added): New global flag.
(add_new_plugin): Initialize above flag.
(invoke_plugin_callbacks): Rename to ...
(invoke_plugin_callbacks_full): ... this.

From-SVN: r158896

14 years ago* lto-symtab.c (lto_symtab_entry_def) Add vnode.
Jan Hubicka [Thu, 29 Apr 2010 07:10:38 +0000 (09:10 +0200)]
* lto-symtab.c (lto_symtab_entry_def) Add vnode.

(lto_varpool_replace_node): New.
(lto_symtab_resolve_symbols): Resolve varpool nodes.
(lto_symtab_merge_decls_1): Prefer decls with varpool node.
(lto_symtab_merge_cgraph_nodes_1): Merge varpools.
* cgraph.h (varpool_node_ptr): New type.
(varpool_node_ptr): New vector.
(varpool_node_set_def): New structure.
(varpool_node_set): New type.
(varpool_node_set): New vector.
(varpool_node_set_element_def): New structure.
(varpool_node_set_element, const_varpool_node_set_element): New types.
(varpool_node_set_iterator): New type.
(varpool_node): Add prev pointers, add used_from_other_partition,
in_other_partition.
(varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
varpool_get_node, varpool_remove_node): Declare.
(vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
varpool_node_set_size): New inlines.
* cgraph.c (dump_cgraph_node): Dump asm names of aliases.
* tree-pass.h (varpool_node_set_def): Forward declare.
(ipa_opt_pass_d): Summary writting takes vnode sets too.
(ipa_write_optimization_summaries): Update prototype.
* ipa-cp.c (ipcp_write_summary): Update.
* ipa-reference.c (ipa_reference_write_summary): Update.
* lto-cgraph.c (lto_output_varpool_node): New static function.
(output_varpool): New function.
(input_varpool_node): New static function.
(input_varpool_1): New function.
(input_cgraph): Input varpool.
* ipa-pure-const.c (pure_const_write_summary): Update.
* lto-streamer-out.c (lto_output): Update, output varpool too.
(write_global_stream): Kill WPA hack.
(produce_asm_for_decls): Update.
(output_alias_pair_p): Handle variables.
(output_unreferenced_globals): Output only needed partition of varpool.
* ipa-inline.c (inline_write_summary): Update.
* lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph.
* lto-section-in.c (lto_section_name): Add varpool and jump funcs.
* ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
varpool_node_set_new, varpool_node_set_add,
varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
debug_varpool_node_set): New functions.
* passes.c (rest_of_decl_compilation): when in LTO do not finalize.
(execute_one_pass): Process new decls too.
(ipa_write_summaries_2): Pass around vsets.
(ipa_write_summaries_1): Likewise.
(ipa_write_summaries): Build vset; be more selective about cgraph nodes
to add.
(ipa_write_optimization_summaries_1): Pass around vsets.
(ipa_write_optimization_summaries): Likewise.
* varpool.c (varpool_get_node): New.
(varpool_node): Update doubly linked lists.
(varpool_remove_node): New.
(dump_varpool_node): More dumping.
(varpool_enqueue_needed_node): Update doubly linked lists.
(decide_is_variable_needed): Kill ltrans hack.
(varpool_finalize_decl): Kill lto hack.
(varpool_assemble_decl): Skip decls in other partitions.
(varpool_assemble_pending_decls): Update doubly linkes lists.
(varpool_empty_needed_queue): Likewise.
(varpool_extra_name_alias): Likewise.
* lto-streamer.c (lto_get_section_name): Add vars section.
* lto-streamer.h (lto_section_type): Update.
(output_varpool, input_varpool): Declare.

* lto.c (lto_varpool_node_sets): New.
(lto_1_to_1_map): Partition varpool too.
(globalize_context_t, globalize_cross_file_statics,
lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
lto_scan_statics_in_remaining_global_vars): Remove.
(lto_promote_cross_file_statics): Rewrite.
(get_filename_for_set): Take vset argument.
(lto_wpa_write_files): Pass around vsets.

From-SVN: r158854

14 years agoFix long lines
Eric Botcazou [Thu, 29 Apr 2010 06:31:10 +0000 (06:31 +0000)]
Fix long lines

From-SVN: r158853

14 years agodarwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
Mike Stump [Thu, 29 Apr 2010 03:18:30 +0000 (03:18 +0000)]
darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.

* config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for
now.

Fixes stubify-1.mm on i686-apple-darwin*.

From-SVN: r158852

14 years agouninit-pred-1_b.C: Use dg-message instead of dg-excess-errors.
Mike Stump [Thu, 29 Apr 2010 03:00:36 +0000 (03:00 +0000)]
uninit-pred-1_b.C: Use dg-message instead of dg-excess-errors.

* g++.dg/uninit-pred-1_b.C: Use dg-message instead of
dg-excess-errors.
* g++.dg/uninit-pred-2_b.C: Likewise.

From-SVN: r158851

14 years agoDaily bump.
GCC Administrator [Thu, 29 Apr 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158850

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Wed, 28 Apr 2010 20:43:18 +0000 (22:43 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        PR fortran/43919
        * simplify.c (simplify_cobound): Handle scalar coarrays.

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

        PR fortran/18918
        PR fortran/43919
        * gfortran.dg/coarray_11.f90: Add scalar-coarrays test case.

From-SVN: r158843

14 years agolto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or union...
Eric Botcazou [Wed, 28 Apr 2010 20:03:02 +0000 (20:03 +0000)]
lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or union type with RECORD_OR_UNION_TYPE_P predicate.

* lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
record or union type with RECORD_OR_UNION_TYPE_P predicate.
(lto_input_ts_type_tree_pointers): Likewise.
* lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
(lto_output_ts_type_tree_pointers): Likewise.

From-SVN: r158841

14 years agoplugin.exp: Run the plugindir tests.
Matthias Klose [Wed, 28 Apr 2010 19:25:58 +0000 (19:25 +0000)]
plugin.exp: Run the plugindir tests.

2010-04-28  Matthias Klose  <doko@ubuntu.com>

        * gcc.dg/plugin/plugin.exp: Run the plugindir tests.
        * gcc.dg/plugindir1.c: Move to gcc.dg/plugin/plugindir1.c.
        * gcc.dg/plugindir2.c: Move to gcc.dg/plugin/plugindir2.c.
        * gcc.dg/plugindir3.c: Move to gcc.dg/plugin/plugindir3.c.
        * gcc.dg/plugindir4.c: Move to gcc.dg/plugin/plugindir4.c.

From-SVN: r158840

14 years agoFix nits
Eric Botcazou [Wed, 28 Apr 2010 19:17:45 +0000 (19:17 +0000)]
Fix nits

From-SVN: r158839

14 years agoUniquization of constants at the Tree level
Eric Botcazou [Wed, 28 Apr 2010 19:11:50 +0000 (19:11 +0000)]
Uniquization of constants at the Tree level

Uniquization of constants at the Tree level
* tree.h (DECL_IN_CONSTANT_POOL): New macro
(tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
bit to the end.
(tree_output_constant_def): Declare.
* gimplify.c (gimplify_init_constructor): When using block copy,
uniquize the constant constructor on the RHS.
* lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal
with DECL_IN_CONSTANT_POOL flag.
* lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
* varasm.c (make_decl_rtl): Deal with variables belonging to the
global constant pool.
(assemble_variable): Deal with symbols belonging to the tree constant
pool.
(get_constant_section): Add ALIGN parameter and simplify.
(build_constant_desc): Build a VAR_DECL and attach it to the symbol.
(assemble_constant_contents): Use the expression of the VAR_DECL.
(output_constant_def_contents): Use the alignment of the VAR_DECL.
(tree_output_constant_def): New global function.
(mark_constant): Use the expression of the VAR_DECL.
(place_block_symbol): Use the alignment of the VAR_DECL and the size
of its expression.
(output_object_block): Likewise and assemble the expression.
ada/
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
constant constructors before taking their address.

From-SVN: r158838

14 years agolto-streamer.c [...] (tree_htab, [...]): New tree hash table.
Eric Botcazou [Wed, 28 Apr 2010 19:01:00 +0000 (19:01 +0000)]
lto-streamer.c [...] (tree_htab, [...]): New tree hash table.

* lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
hash_tree, eq_tree): New tree hash table.
(lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
[LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
lto_orig_address_remove): Reimplement.

From-SVN: r158836

14 years agopredicate aware uninitialized analysis
Xinliang David Li [Wed, 28 Apr 2010 17:41:31 +0000 (17:41 +0000)]
predicate aware uninitialized analysis

From-SVN: r158835

14 years agoelf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available.
Uros Bizjak [Wed, 28 Apr 2010 16:56:24 +0000 (18:56 +0200)]
elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available.

* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
type if available.

From-SVN: r158834

14 years agore PR target/22224 (Several Tru64 UNIX testsuite failures: Length of .lcomm was less...
Rainer Orth [Wed, 28 Apr 2010 16:24:28 +0000 (16:24 +0000)]
re PR target/22224 (Several Tru64 UNIX testsuite failures: Length of .lcomm was less than 1)

PR target/22224
* config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.

From-SVN: r158831

14 years agocgraph.h (struct cgraph_node): New field indirect_calls.
Martin Jambor [Wed, 28 Apr 2010 14:05:54 +0000 (16:05 +0200)]
cgraph.h (struct cgraph_node): New field indirect_calls.

2010-04-28  Martin Jambor  <mjambor@suse.cz>

* cgraph.h (struct cgraph_node): New field indirect_calls.
(struct cgraph_indirect_call_info): New type.
(struct cgraph_edge): Removed field indirect_call. New fields
indirect_info, indirect_inlining_edge and indirect_unknown_callee.
(cgraph_create_indirect_edge): Declare.
(cgraph_make_edge_direct): Likewise.
(enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
* ipa-prop.h (struct ipa_param_call_note): Removed.
(struct ipa_node_params): Removed field param_calls.
(ipa_create_all_structures_for_iinln): Declare.
* cgraph.c: Described indirect edges and uids in initial comment.
(cgraph_add_edge_to_call_site_hash): New function.
(cgraph_edge): Search also among the indirect edges, use
cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
(cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
one, use cgraph_add_edge_to_call_site_hash to add edges to the call
site hash.
(initialize_inline_failed): Assign a reason to indirect edges.
(cgraph_create_edge_1): New function.
(cgraph_create_edge): Moved some functionality to
cgraph_create_edge_1.
(cgraph_create_indirect_edge): New function.
(cgraph_edge_remove_callee): Add an assert checking for
non-indirectness.
(cgraph_edge_remove_caller): Special-case indirect edges.
(cgraph_remove_edge): Likewise.
(cgraph_set_edge_callee): New function.
(cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
(cgraph_make_edge_direct): New function.
(cgraph_update_edges_for_call_stmt_node): Do nothing only when also
the declaration of the call statement matches.
(cgraph_node_remove_callees): Special-case indirect edges.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Clone also the indirect edges.
(dump_cgraph_node): Dump indirect_inlining_edge flag instead of
indirect_call, dump count of indirect_calls edges.
* ipa-prop.c (iinlining_processed_edges): New variable.
(ipa_note_param_call): Create indirect edges instead of
creating notes.  New parameter node.
(ipa_analyze_call_uses): New parameter node, pass it on to
ipa_note_param_call.
(ipa_analyze_stmt_uses): Likewise.
(ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
(print_edge_addition_message): Work on edges rather than on notes.
(update_call_notes_after_inlining): Likewise, renamed to
update_indirect_edges_after_inlining.
(ipa_create_all_structures_for_iinln): New function.
(ipa_free_node_params_substructures): Do not free notes.
(ipa_edge_duplication_hook): Propagate bits within
iinlining_processed_edges bitmap.
(ipa_node_duplication_hook): Do not duplicate notes.
(free_all_ipa_structures_after_ipa_cp): Renamed to
ipa_free_all_structures_after_ipa_cp.
(free_all_ipa_structures_after_iinln): Renamed to
ipa_free_all_structures_after_iinln.g
(ipa_write_param_call_note): Removed.
(ipa_read_param_call_note): Removed.
(ipa_write_indirect_edge_info): New function.
(ipa_read_indirect_edge_info): Likewise.
(ipa_write_node_info): Do not stream notes, do stream information
in indirect edges.
(ipa_read_node_info): Likewise.
(lto_ipa_fixup_call_notes): Removed.
* ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
* ipa-inline.c (pass_ipa_inline): Likewise.
* cgraphunit.c (verify_cgraph_node): Check also indirect edges.
* cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
* tree-inline.c (copy_bb): Removed an unnecessary double check for
is_gimple_call.
* tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
edges.
* lto-cgraph.c (output_outgoing_cgraph_edges): New function.
(output_cgraph): Stream also indirect edges.
(lto_output_edge): Added capability to stream indirect edges.
(input_edge): Likewise.
(input_cgraph_1): Likewise.

* testsuite/gcc.dg/lto/20091209-1_0.c: New testcase.

From-SVN: r158827

14 years agore PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
Richard Guenther [Wed, 28 Apr 2010 11:51:31 +0000 (11:51 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)

2010-04-28  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43879
PR tree-optimization/43909
* tree-ssa-structalias.c (struct variable_info): Add
only_restrict_pointers flag.
(new_var_info): Initialize it.  Increment stats.total_vars here.
(create_function_info_for): Do not increment stats.total_vars
here.
(get_function_part_constraint): Fix build with C++.
(insert_into_field_list): Remove.
(push_fields_onto_fieldstack): Properly merge fields.
(create_variable_info_for): Split and simplify.
(create_variable_info_for_1): New piece.
(intra_create_variable_infos): Properly make restrict constraints
from parameters.

* gcc.dg/ipa/ipa-pta-14.c: Adjust.

From-SVN: r158825

14 years agore PR middle-end/43880 (internal compiler error: in make_decl_rtl)
Richard Guenther [Wed, 28 Apr 2010 10:28:24 +0000 (10:28 +0000)]
re PR middle-end/43880 (internal compiler error: in make_decl_rtl)

2010-04-28  Richard Guenther  <rguenther@suse.de>

PR c++/43880
* tree-inline.c (copy_bind_expr): Also copy bind expr vars
value-exprs.

* g++.dg/torture/pr43880.C: New testcase.

From-SVN: r158824

14 years agore PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)
Manuel López-Ibáñez [Wed, 28 Apr 2010 08:34:01 +0000 (08:34 +0000)]
re PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)

2010-04-28  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/9335
cp/
        * error.c (print_instantiation_partial_context_line): Handle
recursive instantiation.
        (print_instantiation_partial_context): Likewise.

testsuite/
        * g++.dg/template/recurse2.C: Update
        * g++.dg/template/recurse.C: Update.
        * g++.dg/template/pr23510.C: Update.
        * lib/prune.exp: Filter out 'recursively instantiated'.

From-SVN: r158823

14 years ago* init.c (perform_member_init): Check CLASS_TYPE_P.
Jason Merrill [Wed, 28 Apr 2010 01:45:00 +0000 (21:45 -0400)]
* init.c (perform_member_init): Check CLASS_TYPE_P.

From-SVN: r158822

14 years agoDaily bump.
GCC Administrator [Wed, 28 Apr 2010 00:18:42 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r158821

14 years agore PR c++/29043 (Constructor for POD type with const member without member initialize...
Fabien Chêne [Wed, 28 Apr 2010 00:03:21 +0000 (00:03 +0000)]
re PR c++/29043 (Constructor for POD type with const member without member initializer accepted)

PR c++/29043
* init.c (perform_member_init): check for uninitialized const or
reference members, including array types.

From-SVN: r158817

14 years agore PR libstdc++/43865 (C++ in freestanding environment)
Jonathan Wakely [Tue, 27 Apr 2010 22:54:13 +0000 (22:54 +0000)]
re PR libstdc++/43865 (C++ in freestanding environment)

2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/43865
* include/c_global/cstdlib (abort, exit): _GLIBCXX_NORETURN typo.

From-SVN: r158812

14 years agoRemove bogus hunk in previous commit
Eric Botcazou [Tue, 27 Apr 2010 22:02:36 +0000 (22:02 +0000)]
Remove bogus hunk in previous commit

From-SVN: r158811

14 years agotree.c (get_fns): Split out from get_first_fn.
Jason Merrill [Tue, 27 Apr 2010 21:35:17 +0000 (17:35 -0400)]
tree.c (get_fns): Split out from get_first_fn.

* tree.c (get_fns): Split out from get_first_fn.
* cp-tree.h: Declare it.
* search.c (shared_member_p): Use it.
* semantics.c (finish_qualified_id_expr): Simplify.
(finish_id_expression): Simplify.

From-SVN: r158810

14 years agosemantics.c (finish_non_static_data_member): Call maybe_dummy_object whenever object...
Jason Merrill [Tue, 27 Apr 2010 21:30:56 +0000 (17:30 -0400)]
semantics.c (finish_non_static_data_member): Call maybe_dummy_object whenever object is NULL_TREE.

* semantics.c (finish_non_static_data_member): Call maybe_dummy_object
whenever object is NULL_TREE.  Don't do 'this' capture here.
(finish_qualified_id_expr): Pass NULL_TREE.
(finish_id_expression): Likewise.
(lambda_expr_this_capture): Likewise.

From-SVN: r158809

14 years agosemantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking...
Jason Merrill [Tue, 27 Apr 2010 21:27:04 +0000 (17:27 -0400)]
semantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking current_class_ref directly.

* semantics.c (finish_qualified_id_expr): Use maybe_dummy_object
rather than checking current_class_ref directly.
(finish_call_expr): Likewise.

From-SVN: r158808

14 years agore PR c++/43856 ([C++0x] gcc-4.5.0 fails to transform id-expression into class member...
Jason Merrill [Tue, 27 Apr 2010 21:26:25 +0000 (17:26 -0400)]
re PR c++/43856 ([C++0x] gcc-4.5.0 fails to transform id-expression into class member access in lambda compound-statement)

PR c++/43856
* name-lookup.c (qualify_lookup): Disqualify lambda op().
* class.c (current_nonlambda_class_type): New fn.
* semantics.c (nonlambda_method_basetype): New.
* cp-tree.h: Declare them.
* tree.c (maybe_dummy_object): Handle implicit 'this' capture.

From-SVN: r158807

14 years ago* semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
Jason Merrill [Tue, 27 Apr 2010 21:25:29 +0000 (17:25 -0400)]
* semantics.c (baselink_for_fns): Correct BASELINK_BINFO.

From-SVN: r158806

14 years agore PR c++/43875 ([C++0x] ICE on invalid lambda return)
Jason Merrill [Tue, 27 Apr 2010 21:21:35 +0000 (17:21 -0400)]
re PR c++/43875 ([C++0x] ICE on invalid lambda return)

PR c++/43875
* semantics.c (lambda_return_type): Complain about
braced-init-list.

From-SVN: r158805

14 years agostatus_cxx200x.xml: Update quick_exit status.
Jonathan Wakely [Tue, 27 Apr 2010 20:57:23 +0000 (20:57 +0000)]
status_cxx200x.xml: Update quick_exit status.

2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update quick_exit status.
* doc/html/*: Regenerate.

From-SVN: r158804

14 years agoinvoke.texi (-Wsuggest-attribute=const, [...]): Document.
Manuel López-Ibáñez [Tue, 27 Apr 2010 20:22:54 +0000 (20:22 +0000)]
invoke.texi (-Wsuggest-attribute=const, [...]): Document.

2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Jan Hubicka <hubicka@ucw.cz>

* doc/invoke.texi (-Wsuggest-attribute=const,
-Wsuggest-attribute=pure): Document.
* ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
(function_always_visible_to_compiler_p,
suggest_attribute, warn_function_pure, warn_function_const):
New functions.
(check_call): Improve debug info.
(analyze_function): Do not check availability.
(add_new_function): Check availability.
(propagate): Output warnings.
(skip_function_for_local_pure_const): New function.
(local_pure_const): Use it; output warnings.
* common.opt (Wsuggest-attribute=const,
Wsuggest-attribute=pure): New.

testsuite/
* gcc.dg/pure-2.c: New testcase.
* gcc.dg/const-1.c: New testcase.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r158803

14 years agore PR c++/43790 ([C++0x] In lambda express, calling member function of non-captured...
Jason Merrill [Tue, 27 Apr 2010 20:08:47 +0000 (16:08 -0400)]
re PR c++/43790 ([C++0x] In lambda express, calling member function of non-captured class gives internal compiler error)

PR c++/43790
* tree.c (cv_unqualified): Handle error_mark_node.

From-SVN: r158801

14 years agore PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)
Jason Merrill [Tue, 27 Apr 2010 19:04:23 +0000 (15:04 -0400)]
re PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)

PR c++/41468
* call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
if we don't want errors.

From-SVN: r158799

14 years agore PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)
Jason Merrill [Tue, 27 Apr 2010 19:04:09 +0000 (15:04 -0400)]
re PR c++/41468 (SFINAE for expressions doesn't consider ambiguous conversion sequences)

PR c++/41468
* class.c (convert_to_base): Add complain parameter.  Pass
ba_quiet to lookup_base if we don't want errors.
(build_vfield_ref): Pass complain to convert_to_base.
* call.c (convert_like_real): Likewise.
(initialize_reference): Likewise.
(perform_direct_initialization_if_possible): Pass complain to
convert_like_real.
* cp-tree.h: Adjust.

From-SVN: r158798

14 years agore PR c++/42844 (const variable requires initializer / no explicitly declared default...
Fabien Chêne [Tue, 27 Apr 2010 18:56:13 +0000 (18:56 +0000)]
re PR c++/42844 (const variable requires initializer / no explicitly declared default constructor)

PR c++/42844
* decl.c (check_for_uninitialized_const_var): Handle classes that need
constructing, too.
(check_initializer): Call it for classes that need constructing, too.
* class.c (in_class_defaulted_default_constructor): New.
* cp-tree.h: Declare it.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r158797

14 years agodwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa...
Jakub Jelinek [Tue, 27 Apr 2010 18:12:32 +0000 (20:12 +0200)]
dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa instead of...

* dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
or DW_CFA_def_cfa_offset{,_sf}.

From-SVN: r158793

14 years ago* tree.h: Fix truncated long macros.
Eric Botcazou [Tue, 27 Apr 2010 17:56:52 +0000 (17:56 +0000)]
* tree.h: Fix truncated long macros.

From-SVN: r158792

14 years agocollect2.c (TARGET_64BIT): Redefine to target's default.
Kai Tietz [Tue, 27 Apr 2010 17:48:58 +0000 (17:48 +0000)]
collect2.c (TARGET_64BIT): Redefine to target's default.

2010-04-27  Kai Tietz  <kai.tietz@onevision.com>

        * collect2.c (TARGET_64BIT): Redefine to target's default.
        * tlink.c: Likewise.
        * config/i386/cygming.h (USER_LABEL_PREFIX): Define
        dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
        * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
        for underscoring __USER_LABEL_PREFIX__.
        * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
        (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
        (LINK_SPEC): Replace entry point spec by
        SUB_LINK_ENTRY.
        * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
        (SUB_LINK_ENTRY): New.
        (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
        (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
        x64 target is choosen.
        * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
        * configure: Regenerated.
        * configure.ac (leading-mingw64-underscores): Option added.

From-SVN: r158791

14 years agoCopyOnWriteArrayList.java: Fix for empty list.
Andrew Haley [Tue, 27 Apr 2010 17:28:08 +0000 (17:28 +0000)]
CopyOnWriteArrayList.java: Fix for empty list.

2010-04-27  Andrew Haley  <aph@redhat.com>

        * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
        list.

From-SVN: r158790

14 years agoIppResponse.java (parseAttributes): Handle IppValueTag.UNKNOWN.
Andrew Haley [Tue, 27 Apr 2010 16:35:06 +0000 (16:35 +0000)]
IppResponse.java (parseAttributes): Handle IppValueTag.UNKNOWN.

2010-04-27  Andrew Haley  <aph@redhat.com>

        * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
        IppValueTag.UNKNOWN.
        * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
        Handle RequestedAttributes.
        * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
        DocFlavor.SERVICE_FORMATTED.PAGEABLE and
        DocFlavor.SERVICE_FORMATTED.PRINTABLE.

From-SVN: r158789

14 years agoinvoke.texi (-fipa-profile): Document.
Jan Hubicka [Tue, 27 Apr 2010 14:56:33 +0000 (16:56 +0200)]
invoke.texi (-fipa-profile): Document.

* doc/invoke.texi (-fipa-profile): Document.
* opts.c (decode_options): Enable ipa-profile at -O1.
* timevar.def (TV_IPA_PROFILE): Define.
* common.opt (fipa-profile): Add.
* cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag
for clones.
(cgraph_propagate_frequency): Handle only local ones.
* tree-pass.h (pass_ipa_profile): Declare.
* ipa-profile.c (gate_profile): Use flag_ipa_profile.
(pass_ipa_profile): Use TV_IPA_PROFILE.
* ipa.c (ipa_profile): New function.
(gate_ipa_profile): Likewise.
(pass_ipa_profile): New global variable.
* passes.c (pass_ipa_profile): New.

From-SVN: r158788

14 years agoconfigure.ac (--enable-gold): Support both, both/gold and both/bfd to add gold to...
Roland McGrath [Tue, 27 Apr 2010 14:27:15 +0000 (14:27 +0000)]
configure.ac (--enable-gold): Support both, both/gold and both/bfd to add gold to configdirs without removing ld.

        * configure.ac (--enable-gold): Support both, both/gold and
        both/bfd to add gold to configdirs without removing ld.
        * configure: Regenerated.

        * Makefile.def: Add install-gold dependency to install-ld.
        * Makefile.in: Regenerated.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r158786

14 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 27 Apr 2010 14:09:29 +0000 (16:09 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        * gfortran.dg/coarray_12.f90: Fix dump parsing.

From-SVN: r158785

14 years ago* config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
Nathan Froyd [Tue, 27 Apr 2010 12:48:39 +0000 (12:48 +0000)]
* config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.

From-SVN: r158783

14 years ago1.c (test01): Clarify size definition.
Alexander Monakov [Tue, 27 Apr 2010 12:00:35 +0000 (16:00 +0400)]
1.c (test01): Clarify size definition.

2010-04-27  Alexander Monakov  <amonakov@ispras.ru>

* testsuite/22_locale/codecvt/unshift/char/1.c (test01): Clarify size
definition.  Use memcpy and memcmp to avoid access beyond allocated
memory.

From-SVN: r158780

14 years agogfc-internals.texi: Update copyright year.
Tobias Burnus [Tue, 27 Apr 2010 11:42:07 +0000 (13:42 +0200)]
gfc-internals.texi: Update copyright year.

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

        * gfc-internals.texi: Update copyright year.
        * gfortran.texi: Ditto.
        * invoke.texi: Ditto.

From-SVN: r158779

14 years agore PR c++/40561 (code does not compile -- compiles fine when replacing != with !...
Richard Guenther [Tue, 27 Apr 2010 11:27:18 +0000 (11:27 +0000)]
re PR c++/40561 (code does not compile -- compiles fine when replacing != with !(==))

2010-04-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/40561
* g++.dg/other/pr40561.C: New testcase.

From-SVN: r158778

14 years agore PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE, in...
Martin Jambor [Tue, 27 Apr 2010 10:07:47 +0000 (12:07 +0200)]
re PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE, in ipcp_iterate_stage, at ipa-cp.c:760)

2010-04-27  Martin Jambor  <mjambor@suse.cz>

PR middle-end/43812
* ipa.c (dissolve_same_comdat_group_list): New function.
(function_and_variable_visibility): Call
dissolve_same_comdat_group_list when comdat group contains external or
newly local nodes.
* cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
lists are circular and that they contain only DECL_ONE_ONLY nodes.

* testsuite/g++.dg/ipa/pr43812.C: New test.

From-SVN: r158777

14 years agovarasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
Eric Botcazou [Tue, 27 Apr 2010 09:47:13 +0000 (09:47 +0000)]
varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.

* varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
(const_hash_1) <VECTOR_CST>: New case.
(compare_constant) <VECTOR_CST>: Likewise.
<ADDR_EXPR>: Deal with LABEL_REFs.
(copy_constant) <VECTOR_CST>: New case.

From-SVN: r158776

14 years agocgraph.c (cgraph_propagate_frequency): New function.
Jan Hubicka [Tue, 27 Apr 2010 09:44:30 +0000 (11:44 +0200)]
cgraph.c (cgraph_propagate_frequency): New function.

* cgraph.c (cgraph_propagate_frequency): New function.
* cgraph.h (cgraph_propagate_frequency): Declare.
* ipa-inline.c (cgraph_clone_inlined_nodes): Call
cgraph_propagate_frequency.

* testsuite/gcc.dg/ipa/iinline-1.c (main): Rename to...
(test): ... this one.

From-SVN: r158775

14 years ago* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
Jakub Jelinek [Tue, 27 Apr 2010 09:40:46 +0000 (11:40 +0200)]
* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.

From-SVN: r158773