99920 Commits

Author SHA1 Message Date
Jakub Jelinek
7c2db0d362 re PR debug/42278 (incorrect dwarf data gcc-4.4.2)
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.

From-SVN: r159315
2010-05-12 14:08:34 +02:00
Iain Sandoe
5e247ae5a1 Add this change, missed from the previous commit (but already in the Changelog).
From-SVN: r159314
2010-05-12 11:57:43 +00:00
Eric Botcazou
d0c26312ed decl.c (gnat_to_gnu_entity): Tidy up code, improve comments and fix formatting nits.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
	code, improve comments and fix formatting nits.

From-SVN: r159312
2010-05-12 11:27:24 +00:00
Iain Sandoe
101422f049 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.

From-SVN: r159311
2010-05-12 11:16:33 +00:00
Maxim Kuvyrkov
623a6941fa targhooks.c (default_stack_protect_guard): Avoid sharing RTL for __stack_chk_guard.
* targhooks.c (default_stack_protect_guard): Avoid sharing RTL
	for __stack_chk_guard.

	* gcc.target/m68k/20100512-1.c: New.

From-SVN: r159310
2010-05-12 11:05:19 +00:00
Eric Botcazou
aeecf17ca3 utils.c (update_pointer_to): Return early if the old pointer already points to the new type.
* 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.

From-SVN: r159309
2010-05-12 10:59:38 +00:00
Jan Hubicka
33e42d568d * lto.c (materialize_cgraph): Revert my previous patch.
From-SVN: r159305
2010-05-12 10:05:16 +00:00
GCC Administrator
0e8751ab18 Daily bump.
From-SVN: r159300
2010-05-12 00:17:18 +00:00
Paolo Carlini
aac73a6d78 re PR c++/34272 (ICE with invalid template specialization)
/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.

From-SVN: r159295
2010-05-11 20:53:36 +00:00
Jakub Jelinek
9d000e8300 c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call start_source_file debug hook here...
* 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.

From-SVN: r159293
2010-05-11 21:54:51 +02:00
Kai Tietz
f6430ea53c lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to IMAGE_FILE_MACHINE_AMD64.
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.

From-SVN: r159290
2010-05-11 20:42:04 +02:00
Jakub Jelinek
3b5fda81f9 re PR middle-end/44071 (ICE with asm goto and __builtin_unreachable())
PR middle-end/44071
	* cfglayout.c (fixup_reorder_chain): Allow asm goto to have
	no fallthru edge.
	* cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
	optimizing away empty bb with no successors, move over its
	footer chain to fallthru predecessor.
	* cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
	(rtl_split_edge): For asm goto call patch_jump_insn even if
	splitting fallthru edge.

	* c-c++-common/asmgoto-4.c: New test.
	* gcc.target/i386/pr44071.c: New test.

From-SVN: r159288
2010-05-11 20:17:43 +02:00
Jakub Jelinek
3895ec538a re PR c++/44059 (Static initializers executed more than once when using unique global symbols)
PR c++/44059
	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
	even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
	* dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
	on DW.ref.* decls.

From-SVN: r159287
2010-05-11 20:14:19 +02:00
Jakub Jelinek
056928b248 re PR c++/44062 ((void)var; doesn't prevent 'set but not used' warning)
PR c++/44062
	* c-parser.c (c_parser_expression): Mark LHS of a comma
	expression as read if it is a decl, handled component or
	COMPOUND_EXPR with that on the RHS.
	* c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
	if it is a decl or handled component.

	* semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
	* cvt.c (convert_to_void): ... but here.  If expr is a COMPOUND_EXPR,
	look at its second operand.

	* c-c++-common/Wunused-var-7.c: New test.
	* g++.dg/warn/Wunused-var-9.C: New test.

From-SVN: r159286
2010-05-11 20:12:28 +02:00
Daniel Franke
edf86ec148 re PR fortran/43711 (Unformitive error message for two NOWAIT in OpenMP directive)
gcc/fortran/:
2010-05-11  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/43711
        * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
        after OMP statement.
        (gfc_match_omp_critical): Likewise.
        (gfc_match_omp_flush): Likewise.
        (gfc_match_omp_workshare): Likewise.
        (gfc_match_omp_master): Likewise.
        (gfc_match_omp_ordered): Likewise.
        (gfc_match_omp_atomic): Likewise.
        (gfc_match_omp_barrier): Likewise.
        (gfc_match_omp_end_nowait): Likewise.

gcc/testsuite/:
2010-05-11  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/43711
        * gfortran.dg/gomp/pr43711.f90: New.

From-SVN: r159282
2010-05-11 12:45:17 -04:00
Jan Hubicka
0a0b07b72e lto.c (lto_fixup_decls): Remove global var decls freeing here.
* lto.c (lto_fixup_decls): Remove global var decls freeing here.
	(materialize_cgraph): Add it here.

From-SVN: r159281
2010-05-11 16:27:31 +00:00
Jan Hubicka
9a8098970a lto-symtab.c (lto_symtab_free): New function.
* lto-symtab.c (lto_symtab_free): New function.
	* lto-streamer.h (lto_symtab_free): Declare.

	* lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
	that if function is needed it is reachable.
	(lto_output_node): See if it the function is reachable or referenced.
	(output_cgraph): Update call of lto_output_node.
	* lto-streamer.h (reachable_from_other_partition_p): Declare.

	* lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
	vector.

	* lto.c (lto_1_to_1_map): Remove some no longer needed checks.
	(lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
	use reachable_from_other_partition_p and
	referenced_from_other_partition_p test.

From-SVN: r159280
2010-05-11 15:52:36 +00:00
Jan Hubicka
b805319410 crtstuff.c (__JCR_LIST__, [...]): Mark as used.
* crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
	Mark as used.

From-SVN: r159279
2010-05-11 15:44:26 +00:00
Daniel Franke
ad1614a7bf re PR fortran/31820 (Warning if case label value exceeds maximum value for type)
gcc/fortran/:
2010-05-11  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31820
	* resolve.c (validate_case_label_expr): Removed FIXME.
	(resolve_select): Raise default warning on case labels out of range
	of the case expression.

gcc/testsuite/:
2010-05-11  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31820
	* gfortran.dg/select_5.f90: Updated.

From-SVN: r159278
2010-05-11 11:43:16 -04:00
Jan Hubicka
1aa1419556 re PR tree-optimization/44063 (build broken for libgcc cris-elf, ICE in cgraph_estimate_size_after_inlining, at ipa-inline)
PR tree-optimize/44063
	* ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue.
	(cgraph_decide_inlining_of_small_function): Skip check when disrgarding
	limits.
	(estimate_function_body_sizes): Compute sizes even when disregarding.
	* gcc.c-torture/compile/pr44063.c: New testcase.

From-SVN: r159273
2010-05-11 15:15:48 +00:00
Kai Tietz
f088f0aee2 collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
2010-05-11  Kai Tietz  <kai.tietz@onevision.com>

        * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.

From-SVN: r159272
2010-05-11 17:06:38 +02:00
Kai Tietz
94f6424987 lto-coff.c (validate_file): Add x64-coff support.
2010-05-11  Kai Tietz  <kai.tietz@onevision.com>

        * lto-coff.c (validate_file): Add x64-coff support.
        * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
        (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
        * lto-lang.c (lto_build_c_type_nodes): Add check for
        'long long unsigned int' for x64-windows.
        (lto_init): Likewise.

From-SVN: r159271
2010-05-11 17:05:36 +02:00
Silvius Rus
90829bcb0c re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11  Silvius Rus  <silvius.rus@gmail.com>

	PR libstdc++/43259
	* include/profile/impl/profiler_algos.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
	* include/profile/impl/profiler_trace.h
	(__mutex_t, __lock, __unlock): Remove.
	(__lock_object_table, __lock_stack_table): Remove. Replace uses with
	calls to __gnu_cxx::__mutex::lock.
	(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
	with calls to __gnu_cxx::__mutex::unlock.
	(__warn, __cost_factor_writer, __cost_factor_setter): Add.
	* testsuite/ext/profile/profiler_algos.cc: New.

From-SVN: r159269
2010-05-11 10:23:20 +00:00
Silvius Rus
1f0622b42d re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11  Silvius Rus  <silvius.rus@gmail.com>

	PR libstdc++/43259
	* include/profile/impl/profiler_algos.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
	* include/profile/impl/profiler_trace.h
	(__mutex_t, __lock, __unlock): Remove.
	(__lock_object_table, __lock_stack_table): Remove. Replace uses with
	calls to __gnu_cxx::__mutex::lock.
	(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
	with calls to __gnu_cxx::__mutex::unlock.
	(__warn, __cost_factor_writer, __cost_factor_setter): Add.
	* testsuite/ext/profile/profiler_algos.cc: New.

From-SVN: r159268
2010-05-11 10:22:18 +00:00
Jan Hubicka
dcda03f4be lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes into every boundary.
* lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
	into every boundary.

From-SVN: r159267
2010-05-11 10:17:42 +00:00
Jan Hubicka
ece02605ca * matrix-reorg.c (matrix_reorg): Rebuild edges.
From-SVN: r159263
2010-05-11 08:27:29 +00:00
Jan Hubicka
979aeb3331 lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in heap.
* lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
	heap.

From-SVN: r159262
2010-05-11 08:24:08 +00:00
Jan Hubicka
cc56d170d2 lto-streamer.c (lto_streamer_cache_add_to_node_array, [...]): Put nodes into heap.
* lto-streamer.c (lto_streamer_cache_add_to_node_array,
	lto_streamer_cache_delete): Put nodes into heap.
	(struct lto_streamer_cache_d): Nodes vector is in heap.

From-SVN: r159261
2010-05-11 08:20:44 +00:00
Jan Hubicka
a2acdf1fb2 cgraph.c (cgraph_mark_reachable_node): Accept references to optimized out extern inlines.
* cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
	out extern inlines.

From-SVN: r159260
2010-05-11 08:19:28 +00:00
Jan Hubicka
99b766fc8b cgraphbuild.c (cgraph_rebuild_references): New.
* cgraphbuild.c (cgraph_rebuild_references): New.
	(cgraph_mark_reachable_node): Accept references to optimized out
	extern inlines.
	* cgraph.h (cgraph_rebuild_references): Declare.
	* tree-inline.c (tree_function_versioning): Use it.
	* ipa-struct-reorg.c (do_reorg_for_func): Likewise.

From-SVN: r159259
2010-05-11 08:14:50 +00:00
Jan Hubicka
a940b4d9ab cgraph.c: Include ipa-utils.h
* cgraph.c: Include ipa-utils.h
	(cgraph_create_virtual_clone): Update references.
	* Makefile.in (cgraph.o): Add dependency at ipa-utils.h

From-SVN: r159258
2010-05-11 08:12:07 +00:00
Christian Borntraeger
57762e976d tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset prefetch_before to PREFETCH_ALL if to accesses "meet" beyond cache size.
2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>

        * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
	prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
	cache size.

From-SVN: r159257
2010-05-11 07:29:59 +00:00
Christian Borntraeger
a8beb3a7be tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>

        * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.

From-SVN: r159256
2010-05-11 07:28:42 +00:00
Jakub Jelinek
09b201fc9b gcc.c (execute): For -### don't quote arguments that contain just alphanumerics and _/-.
* gcc.c (execute): For -### don't quote arguments that
	contain just alphanumerics and _/-. characters.
	* doc/invoke.texi: Document that change for -###.

From-SVN: r159255
2010-05-11 08:50:24 +02:00
Jakub Jelinek
3f592b380f re PR debug/44023 (-fcompare-debug failure (length) for alphaev67 target (bootstrap failure))
PR debug/44023
	* df-problems.c (struct dead_debug): Add to_rescan field.
	(dead_debug_init): Clear to_rescan field.
	(dead_debug_finish): Rescan all debug insns in to_rescan
	bitmap and free the bitmap.
	(dead_debug_insert_before): Instead of rescanning debug insns
	immediately queue their rescanning until dead_debug_finish.
	(df_note_bb_compute): After dead_debug_add do continue instead
	of break.

	* gcc.dg/pr44023.c: New test.

From-SVN: r159254
2010-05-11 08:48:15 +02:00
GCC Administrator
1f8d1f8270 Daily bump.
From-SVN: r159251
2010-05-11 00:16:59 +00:00
Eric Botcazou
c679a9157b exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables built for interfaces.
* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
	built for interfaces.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
	imported_p instead of Is_Imported when considering constants.
	Do not promote alignment of exported objects.
	<E_Record_Subtype>: Strip all suffixes for dispatch table entities.

From-SVN: r159247
2010-05-10 21:52:45 +00:00
Jason Merrill
5a40306bb6 re PR c++/44017 (ICE with template hierarchy)
PR c++/44017
	* semantics.c (baselink_for_fns): Revert earlier change.

From-SVN: r159246
2010-05-10 17:20:47 -04:00
Jason Merrill
eaa9d009d8 re PR c++/44045 (initialization of array of shared_ptr's with initializer list causes compiler segfault)
PR c++/44045
	* typeck.c (cp_build_modify_expr): Complain about assignment to
	array from init list.

From-SVN: r159243
2010-05-10 14:37:56 -04:00
Fabien Chêne
34655c9e68 re PR c++/43719 (uninitialized const member incorrectly accepted, using an array)
PR c++/43719
	* decl.c (check_initializer): strip array type before checking for
	uninitialized const or ref members.

From-SVN: r159242
2010-05-10 14:37:45 -04:00
Jakub Jelinek
1de12eab74 re PR debug/44028 (-fcompare-debug failure (length) with -O3 -fsched-pressure -fschedule-insns)
PR debug/44028
	* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
	clear also INSN_REG_USE_LIST.

	* gcc.dg/pr44028.c: New test.

From-SVN: r159240
2010-05-10 20:28:03 +02:00
Rainer Orth
e472d6bf32 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
From-SVN: r159239
2010-05-10 18:26:12 +00:00
Daniel Franke
4e42ad6647 re PR fortran/27866 (Warn when casting, e.g. assigning a double precision to a real)
gcc/fortran/:
2010-05-10  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/27866
	PR fortran/35003
	PR fortran/42809
	* intrinsic.c (gfc_convert_type_warn): Be more discriminative
	about conversion warnings.

gcc/testsuite/:
2010-05-08  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/27866
	PR fortran/35003
	PR fortran/42809
	* gfortran.dg/array_constructor_type_17.f03: Updated match string.
	* gfortran.dg/warn_conversion.f90: New.

From-SVN: r159238
2010-05-10 13:10:53 -04:00
Jan Hubicka
6cd174f64a * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change.
From-SVN: r159234
2010-05-10 16:26:26 +00:00
Jan Hubicka
5c4f225fcf passes.c (ipa_write_summaries_1, [...]): Allocate encoders.
* passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate
	encoders.
	* lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
	* lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
	(lto_streamer_cache_create): Init alloc pool.
	(lto_streamer_cache_delete): Free alloc pool.
	* lto-streamer.h: Include alloc pool.
	(lto_streamer_cache_d): Use alloc pool.
	* lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.

From-SVN: r159230
2010-05-10 16:13:52 +00:00
Jan Hubicka
de61f46712 Makefile.in (cgraphbuild.o): Add dependency on except.h.
* Makefile.in (cgraphbuild.o): Add dependency on except.h.
	* cgraphbuild.c: Include except.h
	(record_type_list, record_eh_tables): New function.
	(build_cgraph_edges, rebuild_cgraph_edges): Use it.

From-SVN: r159229
2010-05-10 16:00:40 +00:00
Jan Hubicka
e4fa83d33b crtstuff.c (force_to_data, [...]): Attribute as used rather than unused.
* crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
	__frame_dummy_init_array_entry, force_to_data): Attribute as used
	rather than unused.

From-SVN: r159228
2010-05-10 15:53:04 +00:00
Uros Bizjak
62e59133e3 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r159227
2010-05-10 17:23:29 +02:00
Michael Matz
8a9ecffd3f tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
* tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
	(can_reassociate_p): Use FLOAT_TYPE_P.
	* tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
	(vect_force_simple_reduction): ... this.
	* tree-parloops.c (gather_scalar_reductions): Use 
	vect_force_simple_reduction.
	* tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
	vect_is_simple_reduction, add modify argument, if true rewrite
	"a-b" into "a+(-b)".
	(vect_is_simple_reduction, vect_force_simple_reduction): New
	functions.
	(vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.

testsuite/
	* gcc.dg/vect/fast-math-vect-reduc-8.c: New test.

From-SVN: r159226
2010-05-10 14:31:37 +00:00
H.J. Lu
46044dd988 Nullify regno_allocno_map of the removed allocno.
gcc/

2010-05-10  H.J. Lu<hongjiu.lu@intel.com>
	    Vladimir Makarov<vmakarov@redhat.com>

	PR rtl-optimization/44012
	* ira-build.c (remove_unnecessary_allocnos): Nullify
	regno_allocno_map of the removed allocno.

gcc/testsuite/

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

	PR rtl-optimization/44012
	* gcc.dg/pr44012.c: New.

From-SVN: r159223
2010-05-10 07:02:43 -07:00