Commit Graph

105569 Commits

Author SHA1 Message Date
Sebastian Pop
ab2210870b Fix PR45948: add ssa defs from builtin partitions to the last partition.
2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/45948
	* tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
	(stmt_has_scalar_dependences_outside_loop): New.
	(stmt_generated_in_another_partition): New.
	(add_scalar_computations_to_partition): New.
	(rdg_build_partitions): Call add_scalar_computations_to_partition.

	* gcc.dg/tree-ssa/ldist-pr45948.c: New.

From-SVN: r167842
2010-12-15 05:04:30 +00:00
Joseph Myers
56fb2b3625 arc.h (LIB_SPEC): Define.
* config/arc/arc.h (LIB_SPEC): Define.
	* config.gcc (arc-*-elf*): Don't use svr4.h.

From-SVN: r167840
2010-12-15 02:32:24 +00:00
Jonathan Wakely
0dcc5c98ec re PR libstdc++/46951 (30_threads/future/members/45133.cc failed)
2010-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/46951
	* testsuite/30_threads/future/members/45133.cc: Fix dg-options.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.

From-SVN: r167839
2010-12-15 02:07:07 +00:00
Ian Lance Taylor
2e3d957596 Don't store error types in the Type-to-GENERIC hash table.
From-SVN: r167838
2010-12-15 01:45:57 +00:00
Nicola Pero
3db1a28cce In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* ivars.c (class_addIvar): Use the 'size' argument instead of
	trying to calculate it using objc_sizeof_type().
	* objc/runtime.h (class_addIvar): Updated comments.

From-SVN: r167837
2010-12-15 01:35:20 +00:00
Ian Lance Taylor
662563121c Don't get confused by error types in traversal.
From-SVN: r167836
2010-12-15 01:05:10 +00:00
Nicola Pero
b427203d21 sendmsg.c: Reindented some code and tidied up comments.
2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* sendmsg.c: Reindented some code and tidied up comments.  No
	actual code changes.

From-SVN: r167835
2010-12-15 00:47:16 +00:00
Jason Merrill
6da9537811 re PR c++/46930 ([C++0x] ICE with static constexpr data member)
PR c++/46930
	* decl.c (grokdeclarator): Reject uninitialized constexpr
	static data member.

From-SVN: r167834
2010-12-14 19:35:17 -05:00
GCC Administrator
ece17375aa Daily bump.
From-SVN: r167833
2010-12-15 00:18:50 +00:00
Joseph Myers
9e08f9e2e8 elf.h (LIB_SPEC): Define.
* config/sh/elf.h (LIB_SPEC): Define.
	* config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
	sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
	sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
	sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
	sh-wrs-vxworks): Don't use svr4.h.

From-SVN: r167829
2010-12-15 00:15:55 +00:00
Ian Lance Taylor
a63d137951 Don't crash building initializer of invalid array.
From-SVN: r167828
2010-12-15 00:09:12 +00:00
Ian Lance Taylor
6930f562ac Don't crash on invalid slice composite literal.
From-SVN: r167827
2010-12-14 23:56:00 +00:00
Ian Lance Taylor
10a0275d92 Fix comparison of string and interface types.
From-SVN: r167826
2010-12-14 23:45:50 +00:00
Nicola Pero
002d467548 Object.h: Moved all the methods, with the exception of -class and -isEqual:, into ...
2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/Object.h: Moved all the methods, with the exception of
	-class and -isEqual:, into ...
	* objc/deprecated/Object.h: here.
	* Object.m: Moved all the methods, with the exception of -class
	and -isEqual: into the 'Deprecated' category.

From-SVN: r167825
2010-12-14 23:36:36 +00:00
Ian Lance Taylor
173fb2ff62 Don't try to build unary and binary expressions with invalid types.
From-SVN: r167824
2010-12-14 23:34:14 +00:00
Jonathan Wakely
5262c72ad4 re PR libstdc++/45133 ([c++0x] std::future will crash with NULL deref if get() is called twice)
2010-12-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45133
	* include/std/future (__basic_future::wait): Throw if not valid.
	(__basic_future::wait_for): Likewise.
	(__basic_future::wait_until): Likewise.
	(__basic_future::_M_get_result): Likewise.
	* testsuite/30_threads/future/members/45133.cc: New.
	* testsuite/30_threads/shared_future/members/45133.cc: New.

From-SVN: r167823
2010-12-14 23:27:17 +00:00
Jan Hubicka
5ba58d4f04 re PR lto/46940 (asm aliases with linker plugin segfaults)
PR lto/46940
	PR lto/44463
	* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
	for aliases when they are used.

	* gcc.dg/lto/pr46940_0.c: New testcase.
	* gcc.dg/lto/pr46940_1.c: New testcase.

From-SVN: r167822
2010-12-14 23:22:23 +00:00
Ian Lance Taylor
42cbb8c178 Don't crash on invalid closure.
From-SVN: r167821
2010-12-14 23:10:22 +00:00
Ian Lance Taylor
cad51bedb5 Don't crash on invalid parameters/results.
From-SVN: r167820
2010-12-14 22:58:23 +00:00
Jonathan Wakely
86137e8127 re PR libstdc++/46910 (std::shared_ptr requires public destructor for a class with friend deleter)
2010-12-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/46910
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Do not
	derive from _Sp_counted_ptr.
	* testsuite/20_util/shared_ptr/cons/46910.cc: New.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r167819
2010-12-14 22:13:26 +00:00
Nicola Pero
9ecfa8de88 objects.c (object_copy): Do not #undef as we are no longer including objc/objc-api.h.
2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objects.c (object_copy): Do not #undef as we are no longer
        including objc/objc-api.h.
        * selector.c: Include objc/runtime.h and
        objc-private/module-abi-8.h.  Do not include objc/objc-api.h and
        objc/encoding.h.  Updated
        (__objc_register_selectors_from_class): Use struct
        objc_method_list * instead of MethodList_t.
        (__objc_register_selectors_from_list): Use Method instead of
        Method_t.
        (struct objc_method_description_list): Do not define here.
        (__objc_register_instance_methods_to_class): Use struct
        objc_method_list * instead of MethodList_t and Method instead of
        Method_t.

From-SVN: r167818
2010-12-14 21:57:31 +00:00
Nicola Pero
48d69c57af Indented two lines that I missed in last commit. No code changes
From-SVN: r167817
2010-12-14 20:56:30 +00:00
Ian Lance Taylor
fd948ffb14 Check for duplicate methods.
Don't get into an endless loop given invalid recursive types.

From-SVN: r167816
2010-12-14 20:54:45 +00:00
Nicola Pero
d4645ada25 selector.c: Reindented some code and tidied up comments.
2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>

        * selector.c: Reindented some code and tidied up comments.  No
        actual code changes.

From-SVN: r167815
2010-12-14 20:52:10 +00:00
Nathan Froyd
993acb366e re PR c++/45330 (Suggest likely nested-name-specifiers for undeclared identifiers.)
gcc/cp/
	PR c++/45330
	* cp-tree.h (suggest_alternatives_for): Add location_t parameter.
	* name-lookup.c (suggest_alternatives_for): Likewise.  Adjust.
	* lex.c (unqualified_name_lookup_error): Adjust call to it.
	* semantics.c (qualified_name_lookup_error): Move to...
	* error.c (qualified_name_lookup_error): ...here.  Call.
	suggest_alternatives_for.

gcc/testsuite/
	PR c++/45330
	* g++.dg/lookup/suggestions1.C: New test.

From-SVN: r167814
2010-12-14 20:31:22 +00:00
Joseph Myers
ec047df482 config.gcc (sparc-*-elf*, [...]): Don't use svr4.h.
* config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
	sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
	sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
	sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.

From-SVN: r167813
2010-12-14 20:09:01 +00:00
Ian Lance Taylor
5b0e99c90e Don't crash on erroneous receiver or parameters.
From-SVN: r167812
2010-12-14 19:35:58 +00:00
Ian Lance Taylor
cd96b4e2db Correct handling of undefined name as key in map composite literal.
From-SVN: r167810
2010-12-14 19:27:07 +00:00
Ian Lance Taylor
7ed66e6669 Insert semicolon at EOF if necessary.
From-SVN: r167809
2010-12-14 18:52:09 +00:00
Ian Lance Taylor
894503cb31 Correct protection against recursive types.
From-SVN: r167807
2010-12-14 17:57:20 +00:00
Tobias Burnus
39752c6b14 re PR fortran/46937 (gfortran.dg/pointer_intent_1.f90 FAILs with -fno-inline)
2010-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46937
        * trans-types.c (create_fn_spec): "."-annotate derived types
        with (proc-)pointer components.

2010-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46937
        * gfortran.dg/pointer_intent_4.f90: New.

From-SVN: r167806
2010-12-14 18:09:33 +01:00
Thomas Klein
55256000cf arm.c (arm_expand_prologue): Report the static stack size if -fstack-usage is used.
* config/arm/arm.c (arm_expand_prologue): Report the static stack
	size if -fstack-usage is used.
	(thumb1_expand_prologue): Likewise.

From-SVN: r167805
2010-12-14 16:00:33 +00:00
Jakub Jelinek
f5b77e7d99 re PR middle-end/46885 (ICE: in gsi_insert_seq_nodes_after, at gimple-iterator.c:251 with -ftree-parallelize-loops -g)
PR debug/46885
	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
	instead of gsi_last_nondebug_bb if bump_in_latch.

	* gcc.dg/autopar/pr46885.c: New test.

From-SVN: r167801
2010-12-14 15:11:16 +01:00
Jakub Jelinek
8236c8eb4f re PR tree-optimization/46909 (Logical OR expressions are miscompiled)
PR tree-optimization/46909
	* gimple-fold.c (and_var_with_comparison_1): Save partial
	result even in the is_and case, if both partial results
	are the same, return it.
	(or_var_with_comparison_1): Use is_or predicate instead of
	innercode == TRUTH_OR_EXPR test.  Save partial result
	even in the is_or case, if both partial results are the
	same, return it.  In the !is_or case when both partial
	results are the same, return the partial result instead
	of boolean_true_node.

	* gcc.c-torture/execute/pr46909-1.c: New test.
	* gcc.c-torture/execute/pr46909-2.c: New test.
	* gcc.dg/pr46909.c: New test.

From-SVN: r167800
2010-12-14 15:09:59 +01:00
Jakub Jelinek
2b50313607 re PR fortran/46874 ([OpenMP] ICE in gfc_conv_descriptor_data_get, at fortran/trans-array.c:147)
PR fortran/46874
	* trans-openmp.c (gfc_trans_omp_array_reduction): Handle allocatable
	dummy variables.

	* libgomp.fortran/allocatable6.f90: New test.

From-SVN: r167799
2010-12-14 14:59:20 +01:00
Jakub Jelinek
af3fcdb4ac re PR fortran/46874 ([OpenMP] ICE in gfc_conv_descriptor_data_get, at fortran/trans-array.c:147)
PR fortran/46874
	* trans-openmp.c (gfc_trans_omp_array_reduction): Handle allocatable
	dummy variables.

	* libgomp.fortran/allocatable6.f90: New test.

From-SVN: r167798
2010-12-14 14:56:25 +01:00
Jan Hubicka
ae9fd6b7cd re PR middle-end/46667 (-freorder-blocks-and-partition -g failed and libstdc++ builds for arm-eabi are broken.)
PR middle-end/46667
	* varasm.c (assemble_start_function): Do not call resolve_unique_section.
	* cfgexpand.c (gimple_expand_cfg): Resolve it here.

From-SVN: r167795
2010-12-14 13:07:05 +00:00
Alexander Monakov
b4550bf7ad re PR rtl-optimization/46875 (ICE: verify_flow_info failed: too many outgoing branch edges from bb 3 with -Os -fselective-scheduling2)
PR rtl-optimization/46875
	* sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
	* sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.

testsuite:
	* gcc.dg/pr46875.c: New.

From-SVN: r167794
2010-12-14 15:43:47 +03:00
Jan Hubicka
02826ae997 first-global.C: Update regexp to match new names of ctors.
* g++.dg/other/first-global.C: Update regexp to match new
	names of ctors.

From-SVN: r167791
2010-12-14 10:57:11 +00:00
Kaushik Phatak
c7e1fa8250 h8300.md (define_split): Add condition for "and with single_zero" splitter to handle 16-bit const operands.
* config/h8300/h8300.md (define_split) : Add condition for
	"and with single_zero" splitter to handle 16-bit const operands.
	* config/h8300/h8300.md (define_split) : Add condition for
	"ior with single_one" splitter to handle 16-bit const operands.
	* config/h8300/h8300.md (define_split) : Add condition for
	"xor with single_one" splitter to handle 16-bit const operands.	
	
	* testsuite/gcc.dg/h8300-bit-insn-ice.c: New.

From-SVN: r167789
2010-12-14 07:03:36 +00:00
Ian Lance Taylor
05d556e837 Don't incorrectly parse expression as type switch.
Improve error reporting of invalid type assertions.

From-SVN: r167787
2010-12-14 05:54:33 +00:00
Kaushik Phatak
0c2e69043f * MAINTAINERS: Added myself to MAINTAINERS (write after approval)
From-SVN: r167786
2010-12-14 05:28:02 +00:00
Ian Lance Taylor
646abff51d Better error message if malloc gets a SIGSEGV.
From-SVN: r167785
2010-12-14 05:19:51 +00:00
Ian Lance Taylor
cac7efc966 Release cache while holding thread lock.
Don't bother to hold thread lock while allocating cache.

From-SVN: r167784
2010-12-14 05:16:18 +00:00
Jan Hubicka
3a9ed12a58 This time really commit PR middle-end/45388
This time really commit
	PR middle-end/45388
	* decl2.c (start_objects): Do not generate collect2 recognicable name
	for static ctor.
	* ipa.c (cgraph_build_static_cdtor_1): Break out from ... ; add FINAL parameter.
	(cgraph_build_static_cdtor): ... here.
	(build_cdtor): Use cgraph_build_static_cdtor_1.

From-SVN: r167781
2010-12-14 01:26:47 +00:00
Joseph Myers
24b005606a m32c.h (ENDFILE_SPEC, [...]): Define.
* config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
	PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
	* config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.

From-SVN: r167780
2010-12-14 00:26:29 +00:00
Bernd Schmidt
4ec5d4f5b9 re PR rtl-optimization/44374 (Hoist same instructions in different branches)
gcc/
	PR rtl-optimization/44374
	Reapply patch with fixes.
	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
	* df-core.c (df_set_bb_dirty): Set it.
	* ifcvt.c (find_memory): Remove function.
	(dead_or_predicable): Use can_move_insns_across.
	* df.h (can_move_insns_across): Declare function.
	* cfgcleanup.c (block_was_dirty): New static variable.
	(flow_find_head_matching_sequence): Test for epilogue notes.
	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
	than df_get_bb_dirty.
	(try_head_merge_bb): New static function.
	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
	is set.
	* df-problems.c: Include "target.h"
	(df_simulate_find_uses): New static function.
	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
	(find_memory, find_memory_store): New static functions.
	(can_move_insns_across): New function.
	* Makefile.in (df-problems.o): Update dependencies.

gcc/testsuite/
	PR rtl-optimization/44374
	Reapply patch with fixes.
	* gcc.target/arm/headmerge-1.c: New test.
	* gcc.target/arm/headmerge-2.c: New test.
	* gcc.target/i386/headmerge-1.c: New test.
	* gcc.target/i386/headmerge-2.c: New test.

From-SVN: r167779
2010-12-14 00:23:40 +00:00
GCC Administrator
218cbe3757 Daily bump.
From-SVN: r167778
2010-12-14 00:17:44 +00:00
Joseph Myers
416ea72553 elf.h (SIZE_TYPE, [...]): Define.
* config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
	(DBX_REGISTER_NUMBER): Undefine.
	* config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
	(DBX_REGISTER_NUMBER): Undefine.
	* config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.

From-SVN: r167774
2010-12-13 23:59:50 +00:00
Ian Lance Taylor
6f855258dd gospec.c (lang_specific_driver): Add a -o option if not linking and there is no -o option already.
* gospec.c (lang_specific_driver): Add a -o option if not linking
	and there is no -o option already.

From-SVN: r167773
2010-12-13 23:11:53 +00:00