hubicka [Sun, 16 May 2010 17:26:55 +0000 (17:26 +0000)]
* ipa.c (function_and_variable_visibility): Also bring local all
aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159461
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 17:15:30 +0000 (17:15 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159460
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 16 May 2010 16:55:16 +0000 (16:55 +0000)]
* c-common.c (c_common_reswords): Add _Static_assert for C.
* c-parser.c (c_token_starts_declaration,
c_parser_next_token_starts_declaration,
c_parser_static_assert_declaration_no_semi,
c_parser_static_assert_declaration): New.
(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
Handle static assertions if static_assert_ok.
(c_parser_external_declaration, c_parser_declaration_or_fndef,
c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement, c_parser_objc_methodprotolist,
c_parser_omp_for_loop): All callers of
c_parser_declaration_or_fndef changed.
(c_parser_struct_declaration): Handle static assertions.
(c_parser_compound_statement_nostart): Use
c_parser_next_token_starts_declaration and
c_token_starts_declaration to detect start of declarations.
(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
Likewise.
testsuite:
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159459
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sun, 16 May 2010 16:51:40 +0000 (16:51 +0000)]
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(mmix_function_outgoing_value): Rename to...
(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
(mmix_function_value_regno_p): Make static.
(mmix_libcall_value): New function.
* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
mmix_function_value_regno_p): Remove declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159458
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 May 2010 15:20:47 +0000 (15:20 +0000)]
* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
BUILT_IN_ALLOCA if stack checking is enabled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159457
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 14:58:34 +0000 (14:58 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* var-tracking.c (vars_copy_1): Inline ...
(vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
(variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
(variable_merge_over_cur): Adjust. Merge asserts.
(variable_merge_over_src): Likewise.
(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
(variable_post_merge_new_vals): Merge asserts.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_different_value): Remove.
(onepart_variable_different_p): Merge asserts.
(variable_different_p): Likewise.
(dataflow_set_different_1): Inline ...
(dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
(emit_notes_for_differences_1): Merge asserts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159456
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 14:47:38 +0000 (14:47 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
* optabs.c (libfunc_decl_hash): Likewise.
* varasm.c (emutls_decl): Likewise.
fortran/
* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159455
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Sun, 16 May 2010 10:30:39 +0000 (10:30 +0000)]
2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
ada/
* gcc-interface/misc.c (gnat_handle_option): Remove special logic
for Wuninitialized without -O.
fortran/
* options.c (set_Wall): Remove special logic for Wuninitialized
without -O.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159454
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 16 May 2010 10:03:01 +0000 (10:03 +0000)]
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159453
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 May 2010 09:11:39 +0000 (09:11 +0000)]
* gcc-interface/gigi.h (enum standard_datatypes): Add new value
ADT_exception_data_name_id.
(exception_data_name_id): New define.
* gcc-interface/trans.c (gigi): Initialize it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
exception type for standard exception definitions. Do not make them
volatile.
<E_Record_Type>: Equate fields of types associated with an exception
definition to those of the standard exception type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159452
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sun, 16 May 2010 07:12:46 +0000 (07:12 +0000)]
* c-decl.c: Don't include gimple.h.
(merge_decls): Do not copy gimple_body.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159451
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 16 May 2010 02:27:02 +0000 (02:27 +0000)]
gcc:
* c.opt: Add -fnothrow-opt.
gcc/cp:
* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
TYPE_NOEXCEPT_P.
(finish_eh_spec_block): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159450
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 16 May 2010 00:16:54 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159449
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 15 May 2010 22:03:09 +0000 (22:03 +0000)]
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
if branches.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159445
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 20:48:58 +0000 (20:48 +0000)]
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* passes.c (ipa_write_summaries): Write all analyzed nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159444
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 15 May 2010 20:23:59 +0000 (20:23 +0000)]
PR c++/44148
* pt.c (tsubst): Unshare template argument.
* g++.dg/torture/pr44148.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159443
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sat, 15 May 2010 20:02:11 +0000 (20:02 +0000)]
gcc/ChangeLog
* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
* Makefile.in: Add it.
Fix all other Makefile dependencies for changes below.
* tree.h: Include it instead of defining VEC primitives here.
* gimple.h: Likewise.
* rtl.h: Likewise.
* tree-inline.h: Inlclude vecir.h instead of gimple.h.
* except.h: Include vecir.h, break dependence on tree.h.
* gimplify.c (append_to_statement_list_1, append_to_statement_list):
Move from here...
* tree-iterator.c: ...to here.
* tree-iterator.h: Fix file introduction comment. Add extern markers.
* c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
tm_p.h.
* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
tree-mudflap.h, and target.h.
* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
predict.h, tree-inline.h, gimple.h, and langhooks.h.
* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
Add FIXME for why gimple.h is still included (should be unnecessary
since GCC 4.5 gimplification unit-at-a-time).
* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
* c-pragma.c: Add FIXME for why function.h needs to be included just
for cfun, at front-end level.
Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
Do not include ggc.h, but include vecprim.h for VEC(char).
* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
Explain why target.h is included.
* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
Explain why gimple.h is included.
* c-ppoutput.c: Do not include tm.h.
* c-common.c: Do not include gimple.h. Explain why expr.h is included.
* c-parses.c: Explain why rtl.h is included, and that this (and only
this) is also why tm.h must be included.
Do not include except.h.
* c-lang.c: Do not include ggc.h.
cp/ChangeLog
* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
* Make-lang.in: Fix dependencies accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159442
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 15 May 2010 19:58:30 +0000 (19:58 +0000)]
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159441
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 15 May 2010 19:19:48 +0000 (19:19 +0000)]
* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run.
(dg-prune-output): New procedure.
* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
prune_gcc_output.
(libmudflap-dg-prune): New procedure.
* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
New dg directive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159440
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 15 May 2010 19:07:01 +0000 (19:07 +0000)]
* c-decl.c (grokfield): Allow typedefs for anonymous structs and
unions by default if those structs and unions have no tags. Do
not condition anonymous struct and unions handling on flag_iso.
Allow anonymous structs and unions for C1X.
(finish_struct): Do not diagnose lack of named fields when
anonymous structs and unions present for C1X. Accept flexible
array members in structure with anonymous structs or unions but no
directly named fields.
* doc/extend.texi (Unnamed Fields): Update.
testsuite:
* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
* gcc.dg/
20080820.c, gcc.dg/anon-struct-1.c: Update expected
diagnostics and type sizes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159439
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159438
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159437
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 17:06:48 +0000 (17:06 +0000)]
* gcc.dg/lto/ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_0.c: ... this one.
* gcc.dg/lto/ipareference_2.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: ... this one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159436
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 16:57:35 +0000 (16:57 +0000)]
* ipa-reference.c: Include toplev.h
(is_proper_for_analysis): Only add to all_module_statics
if it is allocated.
(write_node_summary_p, stream_out_bitmap,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): New.
(struct ipa_opt_pass_d pass_ipa_reference): Add
optimization summary streaming.
* lto-cgraph.c (referenced_from_this_partition_p,
reachable_from_this_partition_p): New functions.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
* opts.c (decode_options): Enable ipa_reference.
* Makefile.in (ipa-reference.o): Add toplev.h dependency.
* lto-streamer.h (referenced_from_this_partition_p,
reachable_from_this_partition_p): Declare.
* gcc.dg/lto/ipareference_1.c: New file.
* gcc.dg/lto/ipareference_2.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159435
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sat, 15 May 2010 15:06:47 +0000 (15:06 +0000)]
2010-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44038
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
taking the address of a V_C_E of a constant.
* gcc.c-torture/compile/pr44038.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159434
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 15 May 2010 13:54:44 +0000 (13:54 +0000)]
Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
2010-05-15 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159432
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 15 May 2010 13:52:33 +0000 (13:52 +0000)]
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.h (gfc_class_null_initializer): New prototype.
* expr.c (gfc_class_null_initializer): New function to build a NULL
initializer for CLASS pointers.
* symbol.c (gfc_build_class_symbol): Modify internal naming of class
containers. Remove default NULL initialization of $data component.
* trans.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159431
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 09:46:55 +0000 (09:46 +0000)]
* tree.h (memory_identifier_string): Remove.
* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
(ipa_reference_global_vars_info_d): Remove statics_not_read and
statics_not_written.
(ipa_reference_optimization_summary_d): New structure.
(ipa_reference_optimization_summary_t): New type and vector.
(ipa_reference_vars_info_d): Embedd structures instead of using
pointers.
(reference_vars_to_consider): Remove out of GGC space.
(module_statics_escape): Remove.
(global_info_obstack): Rename to ...
(optimization_summary_obstack): ... this one.
(initialization_status_t): Remove.
(memory_identifier_string): Remove.
(get_reference_vars_info): Fix indenting.
(set_reference_vars_info): Likewise.
(get_reference_optimization_summary): New.
(set_reference_optimization_summary): New.
(get_global_reference_vars_info): Remove.
(ipa_reference_get_read_global): Remove.
(ipa_reference_get_written_global): Remove.
(ipa_reference_get_not_read_global): Update.
(ipa_reference_get_not_written_global): Update.
(is_proper_for_analysis): Outlaw addressable.
(propagate_bits): Update for new datastructures.
(analyze_variable): Remove.
(init_function_info): Update for new datastructures.
(clean_function_local_data): Remove.
(clean_function): Remove.
(copy_global_bitmap): Use optimizations_summary_obstack.
(duplicate_node_data): Duplicate optimization summary only.
(remove_node_data): Remove optimization summary only.
(generate_summary): Do not analyze variables; do not compute
module_statics_escape; do not prune solutions by it.
(read_write_all_from_decl): Fix typos in comments.
(propagate): Doscover readonly and nonaddressable first;
update for new datastructures; share global bitmaps.
* ipa-reference.h (ipa_reference_get_read_global,
ipa_reference_get_written_global): Remove.
* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
* Makefile.in: Remove ipa-refereference from GT files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159430
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 15 May 2010 06:01:20 +0000 (06:01 +0000)]
PR debug/44112
* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
for all SYMBOL_REF_DECLs.
* gcc.dg/debug/dwarf2/const-1.c: Remove.
* g++.dg/debug/dwarf2/const1.C: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159429
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 May 2010 02:22:37 +0000 (02:22 +0000)]
C++ DR 475
* except.c (build_throw): Simplify, adjust for DR 475.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159428
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 15 May 2010 01:06:29 +0000 (01:06 +0000)]
* fi.po: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159426
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 15 May 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159425
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 23:39:39 +0000 (23:39 +0000)]
* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
(varpool_all_refs_explicit_p): New inline function.
* ipa-reference.c: Update comment.
(module_statics_written): Remove.
(get_static_decl): Remove.
(ipa_init): Do not initialize module_statics_written.
(analyze_function): Likewise.
(generate_summary): Likewise; do not compute module_statics_readonly
and do not update variable flags.
(propagate): Call ipa_discover_readonly_nonaddressable_vars.
* ipa.c: Inlucde flags.h
(cgraph_local_node_p): New.
(cgraph_remove_unreachable_nodes): Return early when not optimizing;
promote functions to local.
(ipa_discover_readonly_nonaddressable_vars): New function.
(function_and_variable_visibility): Use cgraph_local_node_p.
* varpool.c (varpool_finalize_decl): Set force_output for
DECL_PRESERVE_P vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159421
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 14 May 2010 21:02:26 +0000 (21:02 +0000)]
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* gfortran.dg/actual_array_interface_2.f90: New test.
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159415
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 14 May 2010 20:47:39 +0000 (20:47 +0000)]
PR 44103
* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
vector. Move call to build_constructor...
(FINISH_RECORD_CONSTRUCTOR): ...here. Add necessary arguments. Clear
TREE_CONSTANT on the constructor.
(PUSH_SUPER_VALUE): Change first argument to a vector.
(PUSH_FIELD_VALUE): Likewise.
* resource.c (compile_resource_data): Update calls to above macros.
* constants.c (build_constants_constructor): Likewise.
* class.c (build_utf8_ref): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
(add_table_and_syms): New function.
(make_class_data): Call it. Update calls to above macros.
(build_symbol_table_entry): New function.
(build_symbol_entry): Call it. Update calls to above macros.
(emit_symbol_table): Likewise.
(make_catch_class_record): Update calls to above macros.
(build_assertion_table_entry): New function.
(add_assertion_table_entry): Call it.
(emit_assertion_table): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159414
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 20:38:43 +0000 (20:38 +0000)]
* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159413
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 May 2010 20:18:34 +0000 (20:18 +0000)]
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.
* gcc.c-torture/compile/pr44119.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159412
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 14 May 2010 19:27:14 +0000 (19:27 +0000)]
* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159409
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 14 May 2010 18:55:22 +0000 (18:55 +0000)]
PR c++/44127
gcc:
* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
(gimple_call_set_nothrow): New.
* gimple.c (gimple_build_call_from_tree): Call it.
(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
gcc/cp:
* except.c (dtor_nothrow): Return nonzero for type with
trivial destructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159408
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 14 May 2010 18:55:10 +0000 (18:55 +0000)]
PR c++/44127
gcc:
* gimplify.c (gimplify_seq_add_stmt): No longer static.
* gimple.h: Declare it.
* gimple.c (gimple_build_eh_filter): No ops.
gcc/cp:
* cp-gimplify.c (gimplify_must_not_throw_expr): Use
gimple_build_eh_must_not_throw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159407
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 18:34:30 +0000 (18:34 +0000)]
* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
nodes already in queue.
(cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing
node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159405
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 May 2010 18:09:14 +0000 (18:09 +0000)]
PR debug/44136
* cfgexpand.c (expand_debug_expr): If non-memory op0
has BLKmode, return NULL.
* gcc.dg/pr44136.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159400
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Fri, 14 May 2010 17:35:11 +0000 (17:35 +0000)]
2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
* config.gcc: Add support for --with-cpu option for bdver1.
* config/i386/i386.h (TARGET_BDVER1): New macro.
(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
(processor_type): Add PROCESSOR_BDVER1.
* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
processor_type in config/i386/i386.h.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
movaps <reg, reg> instead of movapd <reg, reg> when replacing
movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit packed xor instead of packed double/packed integer
xor for SSE and AVX when moving a zero value.
* config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit movaps instead of movapd/movdqa for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
logical operations i.e and, or and xor instead of packed double logical
operations for SSE and AVX.
* config/i386/i386-c.c:
(ix86_target_macros_internal): Add PROCESSOR_BDVER1.
* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
(has_fma4, has_xop): New.
* config/i386/i386.c (bdver1_cost): New variable.
(m_BDVER1): New macro.
(m_AMD_MULTIPLE): Add m_BDVER1.
(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
x86_tune_use_simode_fiop, x86_tune_promote_qimode,
x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
Enable/disable for bdver1.
(processor_target_table): Add bdver1_cost.
(cpu_names): Add bdver1.
(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
processor_alias_table.
(ix86_expand_vector_move_misalign): Change
TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
of movupd/movdqu for SSE and AVX.
(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
(ix86_tune_adjust_cost): Add code for bdver1.
(standard_sse_constant_opcode): Add check for
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
of packed double xor for SSE and AVX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159399
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Fri, 14 May 2010 15:48:51 +0000 (15:48 +0000)]
* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
result to unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159397
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 14 May 2010 15:42:30 +0000 (15:42 +0000)]
2010-05-14 Tristan Gingold <gingold@adacore.com>
* toplev.c (default_debug_hooks): Remove this variable.
(process_options): Remove assignments to default_debug_hooks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159396
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 May 2010 13:08:45 +0000 (13:08 +0000)]
2010-05-14 Martin Jambor <mjambor@suse.cz>
* cp/cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
and define.
* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
* langhooks.h (struct lang_hooks_for_decls): Removed field
fold_obj_type_ref.
* tree.c (free_lang_data): Remove assignment to
lang_hooks.fold_obj_type_ref.
* tree.def (OBJ_TYPE_REF): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159393
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 May 2010 12:36:28 +0000 (12:36 +0000)]
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44124
* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159390
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 May 2010 07:40:06 +0000 (07:40 +0000)]
* trans.c (trans_code): Set backend locus early.
* trans-decl.c (gfc_get_fake_result_decl): Use source location
of the function instead of current input_location.
* gfortran.dg/gomp/pr44036-1.f90: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159388
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 14 May 2010 06:23:16 +0000 (06:23 +0000)]
Fix long lines
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159386
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 14 May 2010 05:32:48 +0000 (05:32 +0000)]
2010-05-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* call.c (build_new_method_call): Change warning text.
* typeck2.c (build_functional_cast): Change error text.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159385
138bc75d-0d04-0410-961f-
82ee72b054a4
pzhao [Fri, 14 May 2010 03:19:32 +0000 (03:19 +0000)]
gcc/cp/
2010-05-14 Shujing Zhao <pearly.zhao@oracle.com>
PR c++/30566
* name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
shadowing the outer parameter or variables by the declaration of
nested function in nested structure or class. Warn the shadowing by
the declaration of nested lambda expression.
gcc/testsuite/
2010-05-14 Shujing Zhao <pearly.zhao@oracle.com>
PR c++/30566
* testsuite/g++.dg/warn/Wshadow-4.C: Adjust.
* testsuite/g++.dg/warn/Wshadow-5.C: New test.
* testsuite/g++.dg/warn/Wshadow-6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159383
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 14 May 2010 00:35:16 +0000 (00:35 +0000)]
PR target/44075
* config/rs6000/rs6000.c (struct machine_function): Reorder
fields for better packing. Add lr_save_state.
(rs6000_ra_ever_killed): Return lr_save_state if set.
(rs6000_emit_eh_reg_restore): Set lr_save_state.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159382
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 14 May 2010 00:17:10 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159381
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 May 2010 20:53:38 +0000 (20:53 +0000)]
* typeck.c (cp_build_array_ref): Factor out from...
(build_array_ref): ...here. Drop complain parm.
(build_new_op): Adjust.
* class.c (build_vtbl_ref_1): Adjust.
* decl2.c (grok_array_decl): Adjust.
* cp-tree.h: Adjust prototypes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159377
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 13 May 2010 17:49:49 +0000 (17:49 +0000)]
* decl.c (cp_finish_decl): Do not worry about used attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159372
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 13 May 2010 17:47:48 +0000 (17:47 +0000)]
* varpool.c (decide_is_variable_needed): Drop code checking
TREE_SYMBOL_REFERENCED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159371
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 13 May 2010 17:46:21 +0000 (17:46 +0000)]
* final.c (output_addr_const): Do not call mark_decl_referenced.
* cgraphunit.c (process_function_and_variable_attributes): Use
mark_needed_node dirrectly.
(assemble_thunk): Do not call mark_decl_referenced.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159370
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Thu, 13 May 2010 16:29:00 +0000 (16:29 +0000)]
* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159369
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 13 May 2010 14:46:29 +0000 (14:46 +0000)]
* ira-conflicts.c (print_allocno_conflicts): New function broken out
from...
(print_conflicts): Call print_allocno_conflicts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159368
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 May 2010 14:24:36 +0000 (14:24 +0000)]
PR debug/44104
* dwarf2out.c (modified_type_die): Don't dereference mod_type_die
if it is NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159367
138bc75d-0d04-0410-961f-
82ee72b054a4
dfranke [Thu, 13 May 2010 14:08:05 +0000 (14:08 +0000)]
gcc/fortran/:
2010-05-13 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
Updated all usages.
* expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
* array.c (match_array_list): Pass on gfc_init_expr_flag when matching
iterators.
gcc/testsuite/:
2010-05-13 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* gfortran.dg/initialization_25.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159366
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Thu, 13 May 2010 12:36:59 +0000 (12:36 +0000)]
2010-05-13 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
t-mingw-w64 or t-mingw-w32 for multilib configuration.
* config/i386/t-mingw-w32: New.
* config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159364
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 13 May 2010 12:19:02 +0000 (12:19 +0000)]
2010-05-13 Martin Jambor <mjambor@suse.cz>
* gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
gimple-fold.c).
* gimple-fold.c (get_base_binfo_for_type): New function.
(gimple_get_relevant_ref_binfo): Likewise.
(gimple_fold_obj_type_ref_known_binfo): Likewise.
(gimple_fold_obj_type_ref): Likewise.
(fold_gimple_call): Simplify condition for folding virtual calls
and call gimple_fold_obj_type_ref.
* gimple.h (gimple_get_relevant_ref_binfo): Declare.
(gimple_fold_obj_type_ref_known_binfo): Likewise.
* testsuite/g++.dg/otr-fold-1.C: New test.
* testsuite/g++.dg/otr-fold-2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159362
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 May 2010 12:02:50 +0000 (12:02 +0000)]
PR fortran/44036
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
variable lists.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference dummy procedures or non-dummy procedure pointers.
(gfc_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
* gfortran.dg/gomp/pr44036-1.f90: New test.
* gfortran.dg/gomp/pr44036-2.f90: New test.
* gfortran.dg/gomp/pr44036-3.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159361
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Thu, 13 May 2010 11:39:28 +0000 (11:39 +0000)]
* config/rs6000/rs6000-protos.h
(rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
* config/rs6000/rs6000.c (rs6000_mode_dependent_address)
(rs6000_debug_mode_dependent_address)
(rs6000_mode_dependent_address_ptr): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159359
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 13 May 2010 11:29:29 +0000 (11:29 +0000)]
Fix formatting nits
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159358
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 May 2010 10:40:51 +0000 (10:40 +0000)]
PR debug/43983
* var-tracking.c (track_expr_p): Allow tracking of variables optimized
by SRA.
* Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
* tree-sra.c (create_access_replacement): Call unshare_expr before
passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from
it.
* dwarf2out.c: Include tree-flow.h.
(struct var_loc_node): Rename var_loc_note field to loc, add comment.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Handle DW_OP_bit_piece.
(decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
construct_piece_list, adjust_piece_list): New functions.
(add_var_loc_to_decl): Handle SRA optimized variables.
Adjust for var_loc_note to loc field renaming.
(dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
in VAR_LOCATION note.
(new_loc_descr_op_bit_piece): New function.
(dw_sra_loc_expr): New function.
(dw_loc_list): Use it. Don't handle the last range after the
loop, handle it inside of the loop. Adjust for var_loc_note
to loc field renaming.
(add_location_or_const_value_attribute): Only special case
single entry loc lists if loc is NOTE_P. Adjust for
var_loc_note to loc field renaming.
(dwarf2out_var_location): Don't set newloc->var_loc_note
and newloc->next here.
* gcc.dg/guality/sra-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159357
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Thu, 13 May 2010 09:59:29 +0000 (09:59 +0000)]
* tracebak.c (__gnat_backtrace): Mark top_stack with
ATTRIBUTE_UNUSED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159356
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 13 May 2010 06:13:46 +0000 (06:13 +0000)]
* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
(cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
* cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
(assemble
* ipa.c (cgraph_remove_unreachable_nodes): Use
cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags.
* tree-inline.c (copy_bb): Check address_taken flag.
* tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
externally_visible flag.
* tree-ssa/unreachable.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159354
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 May 2010 05:05:21 +0000 (05:05 +0000)]
* typeck.c (build_array_ref): Take complain parm.
* cp-tree.h: Add it to prototype.
* call.c (build_new_op): Pass it.
* class.c (build_vtbl_ref): Pass it.
* decl2.c (grok_array_decl): Pass it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159351
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 May 2010 05:04:46 +0000 (05:04 +0000)]
PR bootstrap/44048
PR target/44099
gcc/cp:
* cp-tree.def (NULLPTR_TYPE): Remove.
* cp-tree.h (NULLPTR_TYPE_P): New.
(SCALAR_TYPE_P): Use it.
(nullptr_type_node): New.
(cp_tree_index): Add CPTI_NULLPTR_TYPE.
* decl.c (cxx_init_decl_processing): Call record_builtin_type on
nullptr_type_node.
* cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
* cxx-pretty-print.c (pp_cxx_constant): Likewise.
* error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.
* typeck.c (build_reinterpret_cast_1): Likewise.
* rtti.c (typeinfo_in_lib_p): Likewise.
(emit_support_tinfos): Remove local nullptr_type_node.
gcc:
* dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
* sdbout.c (plain_type_1): Likewise.
* dwarf2out.c (is_base_type): Likewise.
(gen_type_die_with_usage): Likewise. Generate
DW_TAG_unspecified_type for any LANG_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159350
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 May 2010 05:04:14 +0000 (05:04 +0000)]
* cp-tree.h (UNKNOWN_TYPE): Remove.
* decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
* error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
* typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
* class.c (instantiate_type): Check unknown_type_node rather than
UNKNOWN_TYPE.
* name-lookup.c (maybe_push_decl): Likewise.
* rtti.c (get_tinfo_decl_dynamic): Likewise.
(get_typeid): Likewise.
* semantics.c (finish_offsetof): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159349
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 13 May 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159348
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 12 May 2010 22:45:35 +0000 (22:45 +0000)]
* tests/leak_test.c (main): Declare as int. Return 0.
* tests/thread_leak_test.c (main): Ditto.
* tests/trace_test.c (main): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159344
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 12 May 2010 21:32:59 +0000 (21:32 +0000)]
* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
indrect edges too.
* cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
(cgraph_clone_edge): Update.
(cgraph_node_remove_callees): Remove indirect calls too.
* cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
(cgraph_create_indirect_edge): Update prototype.
* ipa-reference.c (has_proper_scope_for_analysis): Rename to
is_proper_for_analysis.
(add_new_function, visited_nodes, function_insertion_hook_holder,
get_local_reference_vars_info, mark_address_taken, mark_address,
mark_load, mark_store, check_asm_memory_clobber, check_call,
scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
(ipa_init): Do not initialize visited_nodes;
function_insertion_hook_holder.
(analyze_variable): Rewrite.
(analyze_function): Rewrite.
(copy_local_bitmap): Remove.
(duplicate_node_dat): Do not duplicate local info.
(generate_summary): Simplify to only walk cgraph.
(write_node_summary_p, ipa_reference_write_summary,
ipa_reference_read_summary): Remove.
(propagate): Do not remove function insertion;
generate summary.
(pass_ipa_reference): NULLify summary handling fields.
* lto-cgraph.c (lto_output_edge): Output ecf_flags.
(input_edge): Input ecf_flags.
* ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
(update_indirect_edges_after_inlining): Ignore edges with unknown
param.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159343
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Wed, 12 May 2010 21:15:19 +0000 (21:15 +0000)]
* implicit-zee.c: New file.
* tree-pass.h (pass_implicit_zee): Declare.
* passes.c (init_optimization_passes): Add zee pass.
* common.opt (fzee): New flag.
* timevar.def (TV_ZEE): Define.
* config/i386/i386.c (optimization_options): Turn on ZEE for level 2
and beyond.
* Makefile.in (implicit-zee.o): Add new build file.
* gcc.target/i386/zee.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159342
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 12 May 2010 19:51:37 +0000 (19:51 +0000)]
* c-common.c (sync_resolve_params): Remove write-only variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159340
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Wed, 12 May 2010 19:08:31 +0000 (19:08 +0000)]
* target.h (struct gcc_target): Add mode_dependent_address_p field.
* target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
(TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
* targhooks.c (default_mode_dependent_address_p): New function.
* targhooks.h (default_mode_dependent_address_p): Declare function.
* doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
(GO_IF_MODE_DEPENDENT_ADDRESS): Update.
* recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
target hook. Change return type to bool.
* recog.h: (mode_dependent_address_p): Change return type to bool.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159339
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Wed, 12 May 2010 18:48:15 +0000 (18:48 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159338
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 12 May 2010 17:34:55 +0000 (17:34 +0000)]
PR c++/20669
* call.c (add_template_candidate_real): If deduction fails, still
add the template as a non-viable candidate.
(equal_functions): Handle template candidates.
(print_z_candidate): Likewise.
(print_z_candidates): Likewise.
(build_new_function_call): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159335
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 12 May 2010 17:34:38 +0000 (17:34 +0000)]
* cp-tree.h (LOOKUP_LIST_ONLY): New.
* call.c (add_candidates): Enforce it.
(build_new_method_call): Try non-list ctor if no viable list ctor.
(build_user_type_conversion_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159334
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 12 May 2010 17:34:28 +0000 (17:34 +0000)]
* call.c (add_candidates): Distinguish between type(x) and
x.operator type().
(convert_class_to_reference): Set LOOKUP_NO_CONVERSION.
(build_new_method_call): Give better error for conversion op.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159333
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 12 May 2010 17:34:15 +0000 (17:34 +0000)]
* call.c (add_candidates): Add first_arg and return_type parms.
Add special constructor/conversion op handling.
(convert_class_to_reference): Use it.
(build_user_type_conversion_1): Likewise.
(build_op_call): Likewise.
(build_new_method_call): Likewise.
(build_new_op): Adjust.
(perform_overload_resolution): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159332
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 12 May 2010 15:53:39 +0000 (15:53 +0000)]
* tree-mudflap.c (build_function_type_0, build_function_type_1,
build_function_type_2, build_function_type_3): Remove.
(mudflap_init): Use build_function_type_list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159328
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 12 May 2010 15:33:10 +0000 (15:33 +0000)]
* coverage.c (build_fn_info_value): Call build_constructor instead of
build_constructor_from_list.
(build_ctr_info_value): Likewise.
(build_gcov_info): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159326
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 12 May 2010 15:29:51 +0000 (15:29 +0000)]
* tree.c (build_constructor): Compute TREE_CONSTANT for the
resultant constructor.
(build_constructor_single): Don't set TREE_CONSTANT.
(build_constructor_from_list): Don't compute TREE_CONSTANT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159325
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 12 May 2010 13:49:34 +0000 (13:49 +0000)]
* cgraph.h (struct varpool_node): Add aux.
* varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
* varpool.c (varpool_remove_node): Do not remove initializer.
(varpool_reset_queue): Export.
(varpool_finalize_decl): Volatile vars are forced to be output.
* lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
replaced decl.
* ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
process_references, varpool_can_remove_if_no_refs): New functions.
(cgraph_remove_unreachable_nodes): Handle variables too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159321
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 12 May 2010 12:48:02 +0000 (12:48 +0000)]
Support AVX for cmpss/cmpsd.
gcc/
2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/44088
* config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
gcc/testsuite/
2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/44088
* gcc.target/i386/avx-cmpsd-1.c: New.
* gcc.target/i386/avx-cmpsd-2.c: Likewise.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
* gcc.target/i386/avx-cmpss-2.c: Likewise.
* gcc.target/i386/sse-cmpss-1.c: Likewise.
* gcc.target/i386/sse2-cmpsd-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159319
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 May 2010 12:11:00 +0000 (12:11 +0000)]
PR middle-end/44085
* gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
change value of ORT_TASK.
(new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
(omp_notice_threadprivate_variable): New function.
(omp_notice_variable): Call it for threadprivate variables.
If enclosing ctx is a task, print enclosing task rather than
enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
(gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
if task has untied clause.
* gcc.dg/gomp/pr44085.c: New test.
* gfortran.dg/gomp/pr44085.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159316
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 May 2010 12:08:34 +0000 (12:08 +0000)]
PR debug/42278
* dwarf2out.c (base_type_die): Don't add name attribute here.
(modified_type_die): Instead of sizetype use
its underlying original type. If a DW_TAG_base_type doesn't
have name added, add __unknown__.
(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
always call force_type_die instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159315
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 12 May 2010 11:57:43 +0000 (11:57 +0000)]
Add this change, missed from the previous commit (but already in the Changelog).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159314
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 12 May 2010 11:27:24 +0000 (11:27 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
code, improve comments and fix formatting nits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159312
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 12 May 2010 11:16:33 +0000 (11:16 +0000)]
Add TLS checks to ObjC
* objc-obj-c++-shared/Object1.m: New.
* objc.dg/torture: New directory.
* objc.dg/torture/tls: Ditto.
* objc.dg/tls: Ditto.
* objc.dg/torture/tls/trivial.m: New test.
* objc.dg/torture/tls/thr-init-2.m: New test.
* objc.dg/torture/tls/thr-init-3.m: New test.
* objc.dg/torture/tls/thr-init.m: New test.
* objc.dg/torture/tls/diag-1.m: New test.
* objc.dg/torture/tls/tls.exp: New.
* objc.dg/torture/trivial.m: New test.
* objc.dg/torture/dg-torture.exp: New.
* objc.dg/tls/diag-3.m: New test.
* objc.dg/tls/diag-4.m: New test.
* objc.dg/tls/diag-5.m: New test.
* objc.dg/tls/init-1.m: New test.
* objc.dg/tls/init-2.m: New test.
* objc.dg/tls/tls.exp: New.
* objc.dg/tls/diag-2.m: New test.
* lib/objc.exp: Respond to dg-additional-files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159311
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 12 May 2010 11:05:19 +0000 (11:05 +0000)]
* targhooks.c (default_stack_protect_guard): Avoid sharing RTL
for __stack_chk_guard.
* gcc.target/m68k/
20100512-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159310
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 12 May 2010 10:59:38 +0000 (10:59 +0000)]
* gcc-interface/utils.c (update_pointer_to): Return early if the old
pointer already points to the new type. Chain the old pointer and its
variants at the end of new pointer's chain after updating them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159309
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 12 May 2010 10:05:16 +0000 (10:05 +0000)]
* lto.c (materialize_cgraph): Revert my previous patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159305
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 12 May 2010 00:17:18 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159300
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 11 May 2010 20:53:36 +0000 (20:53 +0000)]
/cp
2010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34272
PR c++/43630
PR c++/34491
* pt.c (process_partial_specialization): Return error_mark_node
in case of unused template parameters in partial specialization.
/testsuite
2010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34272
PR c++/43630
PR c++/34491
* g++.dg/template/crash97.C: New.
* g++.dg/template/crash98.C: Likewise.
* g++.dg/template/crash99.C: Likewise.
* g++.dg/cpp0x/pr31439.C: Adjust.
* g++.dg/template/crash95.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159295
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 11 May 2010 19:54:51 +0000 (19:54 +0000)]
* c-opts.c (c_common_parse_file): If start_end_main_source_file,
don't call start_source_file debug hook here...
(finish_options): ... but here, after outputting predefined and
command line defines and undefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159293
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 11 May 2010 18:42:04 +0000 (18:42 +0000)]
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
IMAGE_FILE_MACHINE_AMD64.
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159290
138bc75d-0d04-0410-961f-
82ee72b054a4