Commit Graph

114520 Commits

Author SHA1 Message Date
Torvald Riegel 07b6642b93 libitm: Filter out undo writes that overlap with the libitm stack.
PR libitm/51855
	* config/generic/tls.h (GTM::mask_stack_top): New.
	(GTM::mask_stack_bottom): Declare.
	* config/generic/tls.c (GTM::mask_stack_bottom): New.
	* local.cc (gtm_undolog::rollback): Filter out any updates that
	overlap the libitm stack.  Add current transaction as parameter.
	* libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
	* beginend.cc (GTM::gtm_thread::rollback): Adapt.
	* testsuite/libitm.c/stackundo.c: New test.

From-SVN: r183172
2012-01-13 23:45:06 +00:00
Ian Lance Taylor 4cce1836bd libgo: Only build iopl and ioperm on 386, amd64, alpha GNU/Linux.
From-SVN: r183171
2012-01-13 23:35:44 +00:00
Ian Lance Taylor dd1628807a mksysinfo: Pick up TIOCGWINSZ even if expression is too complex.
From-SVN: r183169
2012-01-13 23:17:20 +00:00
Ian Lance Taylor daeae9f196 mksysinfo: Make sure EPOLL_CLOEXEC is defined.
From-SVN: r183168
2012-01-13 23:03:02 +00:00
Ian Lance Taylor 932c774427 Update copyright year.
From-SVN: r183167
2012-01-13 22:29:05 +00:00
Ian Lance Taylor 9ab6f957a2 ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when comparing param_index to VEC_length result.
* ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
	comparing param_index to VEC_length result.

From-SVN: r183166
2012-01-13 22:25:44 +00:00
Steven Bosscher 8554df86e0 c-decl.c: Do not include tree-mudflap.h
gcc/
	* c-decl.c: Do not include tree-mudflap.h
	* tree-optimize.c: Likewise.
	* Makefile.in: Update dependencies.

cp/
	* decl2.c: Do not include tree-mudflap.h
	* semantics.c: Likewise.

From-SVN: r183165
2012-01-13 22:14:21 +00:00
François Dumont f86b266c7c hashtable_policy.h (_Hash_node_base): New, use it as base class of ...
2012-01-13  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
	base class of ...
	(_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
	* include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
	by _M_before_begin. Review implementation so that we do not need to
	look for previous non-empty bucket when inserting nodes.

From-SVN: r183164
2012-01-13 21:49:14 +00:00
Paul Thomas d6430d9a0c re PR fortran/48351 ([OOP] Realloc on assignment fails if parent component is CLASS)
2012-01-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48351
	* trans-array.c (structure_alloc_comps): Suppress interative
	call to self, when current component is deallocated using
	gfc_trans_dealloc_allocated.
	* class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
	attribute from the declared type to the class structure.

2012-01-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48351
	* gfortran.dg/alloc_comp_assign.f03: New.
	* gfortran.dg/allocatable_scalar_9.f90: Reduce count of
	__BUILTIN_FREE from 38 to 32.

From-SVN: r183162
2012-01-13 20:42:01 +00:00
Jason Merrill 04771457dc re PR c++/20681 (wrong "control reaches" warning with switches)
PR c++/20681
	* semantics.c (finish_break_stmt): Avoid adding an unreachable
	BREAK_STMT.

From-SVN: r183161
2012-01-13 15:06:16 -05:00
Georg-Johann Lay 07dee0c66a pr49871.c: Add dg-require-effective-target int32plus because of big array needed.
* gcc.dg/debug/dwarf2/pr49871.c: Add dg-require-effective-target
	int32plus because of big array needed.

From-SVN: r183159
2012-01-13 19:05:24 +00:00
Georg-Johann Lay 7a852b9656 20120111-1.c: Fix wrong int = int32_t assumption.
* gcc.c-torture/execute/20120111-1.c: Fix wrong int = int32_t
	assumption.
	* g++.dg/ipa/pr51759.C: Fix assumption sizeof(int) > 2.
	* gcc.dg/cpp/warn-multichar.c: Fix to work on int=16 platforms.
	* gcc.dg/cpp/warn-multichar-2.c: Ditto.
	* gcc.dg/debug/dwarf2/pr49871.c: Add dg-require-effective-target
	int32plus because of big array needed.
	* gcc.dg/pr50527.c: Don't FAIL if sizeof(void*) = 2
	* gcc.dg/lto/20090218-2_1.c: Fix prototype of malloc, memcpy.

From-SVN: r183158
2012-01-13 19:03:20 +00:00
Jason Merrill fc97053254 re PR c++/51813 (-fvisibility=hidden causes std::codecvt members to be undefined)
PR c++/51813
	* decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
	when reducing the visibility.

From-SVN: r183156
2012-01-13 12:50:58 -05:00
Jason Merrill 4ce7d589fe re PR c++/51620 ([c++0x] [4.6/4.7 Regression] ICE with private destructor)
PR c++/51620
	* class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.

From-SVN: r183155
2012-01-13 10:49:29 -05:00
Tobias Burnus 8395e28bbf re PR fortran/51842 (fortran fails if ssize_t is 32-bit on 64-bit host)
2012-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51842
        * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
        instead of a signed int of size POINTER_SIZE for
        gfc_index_integer_kind.

From-SVN: r183154
2012-01-13 16:41:13 +01:00
Richard Guenther aabb90e5ad re PR c/8081 (ICE with variably sized types returned from nested functions)
2012-01-13  Richard Guenther  <rguenther@suse.de>

	PR middle-end/8081
	* gimplify.c (gimplify_modify_expr_rhs): For calls with a
	variable-sized result always use RSO.

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

From-SVN: r183153
2012-01-13 12:05:27 +00:00
Georg-Johann Lay b9b16ad409 pr46309.c: Set branch cost to greater 1 for avr.
* gcc.dg/pr46309.c: Set branch cost to greater 1 for avr.

From-SVN: r183151
2012-01-13 10:32:16 +00:00
Ian Lance Taylor df4aa89a5e libgo: Update to weekly.2011-12-22.
From-SVN: r183150
2012-01-13 05:11:45 +00:00
Jason Merrill f83fa0bf8f re PR c++/51714 (internal compiler error: Segmentation fault with -std=c++11)
PR c++/51714
	* pt.c (value_dependent_expression_p): Treat STMT_EXPR as
	value-dependent.

From-SVN: r183149
2012-01-13 00:05:46 -05:00
GCC Administrator 6fd52f69db Daily bump.
From-SVN: r183148
2012-01-13 00:19:18 +00:00
Dodji Seketeli 1cef710256 PR c++/51633 - ICEs with constexpr constructor
gcc/cp/

	PR c++/51633
	* semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
	Set the pointer to the last block of the constructor to the
	current statement.
	(build_constexpr_constructor_member_initializers): Get
	build_data_member_initialization a chance to deal with more
	statements before we choke.

gcc/testsuite/

	PR c++/51633
	* g++.dg/cpp0x/constexpr-diag4.C: New test.

From-SVN: r183144
2012-01-13 00:28:46 +01:00
DJ Delorie 639d4bb87c cfgexpand.c (convert_debug_memory_address): Allow any valid pointer type, not just the default pointer type.
* cfgexpand.c (convert_debug_memory_address): Allow any valid
pointer type, not just the default pointer type.

From-SVN: r183141
2012-01-12 16:37:03 -05:00
Tobias Burnus 9c69933102 re PR libfortran/36755 (Avoid fork/exec in chmod intrinsic)
2012-01-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36755
        * intrinsic.texi (CHMOD): Extend a bit and remove statement
        that /bin/chmod is called.

2012-01-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36755
        * intrinsics/chmod.c (chmod_func): Replace call to /bin/chmod

From-SVN: r183137
2012-01-12 21:26:10 +01:00
Richard Henderson 105b876e55 re PR other/50925 ([avr] ICE at spill_failure, at reload1.c:2118)
PR target/50925
	* config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
	* config/avr/avr.c (avr_can_eliminate): Simplify.
	(avr_initial_elimination_offset): Likewise.
	(avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
	(expand_epilogue): Likewise.
	(avr_legitimize_address): Gut.
	(avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
	(avr_hard_regno_nregs): New.
	(avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
	(avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
	* config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
	add soft frame pointer.
	(CALL_USED_REGISTERS): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(REGISTER_NAMES): Likewise.
	(HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
	(HARD_FRAME_POINTER_REGNUM): New.
	(FRAME_POINTER_REGNUM): Use soft frame pointer.
	(ELIMINABLE_REGS): Eliminate from the soft frame pointer,
	remove the HARD_FRAME_POINTER self-elimination.


Co-Authored-By: Denis Chertykov <chertykov@gmail.com>

From-SVN: r183136
2012-01-12 22:29:54 +04:00
Jason Merrill 4643a68ec2 re PR c++/48051 (sorry, unimplemented: mangling overload)
PR c++/48051
	* mangle.c (write_expression): Mangle BASELINK scope if
	BASELINK_QUALIFIED_P.
	* search.c (adjust_result_of_qualified_name_lookup): Set
	BASELINK_QUALIFIED_P.
	* tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
	* parser.c (cp_parser_postfix_dot_deref_expression): Don't call
	adjust_result_of_qualified_name_lookup for non-qualified names.

From-SVN: r183133
2012-01-12 12:27:07 -05:00
Jason Merrill ca5333f22c re PR c++/51403 (ICE with invalid template parameter)
PR c++/51403
	* pt.c (unify): Handle error_mark_node.

From-SVN: r183132
2012-01-12 12:26:57 -05:00
Georg-Johann Lay 458652d1ea fix date
From-SVN: r183130
2012-01-12 16:52:29 +00:00
Georg-Johann Lay ab8c50934b re PR target/51756 (wrong warning: uninitialized variable put into program memory area)
PR target/51756
	* config/avr/avr.c (avr_encode_section_info): Test for absence of
	DECL_EXTERNAL when checking for initializers of progmem variables.

From-SVN: r183129
2012-01-12 16:51:28 +00:00
Ira Rosen 82db3d43de re PR tree-optimization/51799 (Compiler ICE in vect_is_simple_use_1)
PR tree-optimization/51799
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
        that the last operation is a type demotion.

From-SVN: r183126
2012-01-12 14:41:44 +00:00
Janne Blomqvist 869eea243d Remove configure check for unused fdopen.
2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Remove check for fdopen.
	* runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
	fdopen.
	* configure: Regenerated.
	* config.h.in: Regenerated.

From-SVN: r183124
2012-01-12 12:30:45 +02:00
Uros Bizjak 64668e68cb i386.md (*zero_extendsidi2_rex64): Correct movl template.
* config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
	(x86_shift<mode>_adj_1): Remove operand constraint from operand 3.

From-SVN: r183123
2012-01-12 11:24:27 +01:00
Janne Blomqvist cb735e3800 PR 51803 Avoid malloc if getcwd fails or is not available.
2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR libfortran/51803
	* runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or
	is not available.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r183122
2012-01-12 11:58:34 +02:00
Dominique d'Humieres 725a74a517 re PR testsuite/51057 (FAIL: gfortran.dg/quad_2.f90 -O0 execution test on powerpc*-*-*)
2012-01-12  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/51057
        PR fortran/51616
        * lib/target-supports.exp
        (check_effective_target_fortran_largest_fp_has_sqrt): New.
        * gfortran.dg/quad_2.f90: Use it, add pattern for IBM's
        real(16).


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r183121
2012-01-12 07:53:59 +01:00
Jason Merrill efcc9293a6 re PR c++/51565 (fastcall in array of method pointers: internal compiler error)
PR c++/51565
	* call.c (standard_conversion): For ptrmemfuncs, compare the
	static_fn_types.

From-SVN: r183120
2012-01-11 21:30:47 -05:00
Ian Lance Taylor 00733a0041 go-lang.c (go_langhook_init): Initialize void_list_node before calling go_create_gogo.
* go-lang.c (go_langhook_init): Initialize void_list_node before
	calling go_create_gogo.

From-SVN: r183119
2012-01-12 01:33:44 +00:00
Ian Lance Taylor 9a0e3259f4 libgo: Update to weekly.2011-12-14.
From-SVN: r183118
2012-01-12 01:31:45 +00:00
GCC Administrator c6135f0633 Daily bump.
From-SVN: r183117
2012-01-12 00:18:17 +00:00
Ian Lance Taylor 7b31a84d76 compiler: Permit type B byte; type S []B; var v = S("x").
From-SVN: r183112
2012-01-11 23:43:46 +00:00
Jakub Jelinek 319638ed5c re PR bootstrap/51796 (internal compiler error: in distribute_notes, at combine.c:13285 for libgomp/alloc.c on m68k-linux)
PR bootstrap/51796
	* combine.c (distribute_notes): If i3 is a noreturn call,
	allow old_size to be equal to args_size and make sure the
	noreturn call gets REG_ARGS_SIZE note.
	* expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
	on noreturn calls even when the delta is 0.

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

From-SVN: r183111
2012-01-11 23:59:12 +01:00
Ian Lance Taylor 11d8e1a4cb compiler: Don't use memcmp for structs/arrays with padding.
From-SVN: r183109
2012-01-11 21:20:41 +00:00
Jason Merrill ef079a56e4 comment
From-SVN: r183108
2012-01-11 15:26:53 -05:00
Jason Merrill b34e0e6fc8 re PR c++/51818 ([C++0x] Name mangling error using lambda expressions in GCC47)
PR c++/51818
	* mangle.c (find_substitution): A type is only a substitution
	match if we're looking for a type.
	(write_nested_name): Use decl_mangling_context.

From-SVN: r183107
2012-01-11 15:26:44 -05:00
Jason Merrill faf00d3c16 adjust comment
From-SVN: r183106
2012-01-11 14:31:40 -05:00
Nathan Sidwell 8f961b2265 gcov.c (STRING_SIZE): Remove.
* gcov.c (STRING_SIZE): Remove.
	(generate_results): Erase annotations for source files with no
	coverage information.
	(read_line): New.
	(output_lines): Use it.

From-SVN: r183105
2012-01-11 18:58:30 +00:00
Eric Botcazou 3ad065efe1 gimple.h (gimplify_body): Remove first argument.
* gimple.h (gimplify_body): Remove first argument.
	* gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
	pointer set here, instead just pass DATA to walk_tree.
	(unshare_body): Remove BODY_P argument and adjust.  Create the pointer
	set here and invoke copy_if_shared on the size trees of DECL_RESULT.
	(unvisit_body): Likewise, but with unmark_visited.
	(gimplify_body): Remove BODY_P argument and adjust.
	(gimplify_function_tree): Adjust call to gimplify_body.
	* omp-low.c (finalize_task_copyfn): Likewise.

From-SVN: r183104
2012-01-11 18:50:54 +00:00
Nathan Sidwell 2cd8b32cb9 * libgcov.c (__gcov_init): Ignore objects with no functions.
From-SVN: r183103
2012-01-11 18:50:21 +00:00
Eric Botcazou 1a2c27e964 tree.h (build_function_decl_skip_args): Add boolean parameter.
* tree.h (build_function_decl_skip_args): Add boolean parameter.
	(build_function_type_skip_args): Delete.
	* tree.c (build_function_type_skip_args): Make static and add
	SKIP_RETURN parameter.  Fix thinko in the handling of variants.
	(build_function_decl_skip_args): Add SKIP_RETURN parameter and
	pass it to build_function_type_skip_args.
	* cgraph.h (cgraph_function_versioning): Add boolean parameter.
	(tree_function_versioning): Likewise.
	* cgraph.c (cgraph_create_virtual_clone): Adjust call to
	build_function_decl_skip_args.
	* cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
	and pass it to build_function_decl_skip_args/tree_function_versioning.
	(cgraph_materialize_clone): Adjust call to tree_function_versioning.
	* ipa-inline-transform.c (save_inline_function_body): Likewise.
	* trans-mem.c (ipa_tm_create_version): Likewise.
	* tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
	* tree-inline.c (declare_return_variable): Remove always-true test.
	(tree_function_versioning): Add SKIP_RETURN parameter.  If the function
	returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
	* ipa-split.c (split_function): Skip the return value for the split
	part if it doesn't return.

From-SVN: r183102
2012-01-11 18:47:28 +00:00
Bill Schmidt b2e25729e5 re PR tree-optimization/49642 (constant part of a macro not optimized away as expected due to splitter)
gcc:

2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/49642
	* ipa-split.c (forbidden_dominators): New variable.
	(check_forbidden_calls): New function.
	(dominated_by_forbidden): Likewise.
	(consider_split): Check for forbidden dominators.
	(execute_split_functions): Initialize and free forbidden
	dominators info; call check_forbidden_calls.

gcc/testsuite:

2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/49642
	* gcc.dg/tree-ssa/pr49642-1.c: New test.
	* gcc.dg/tree-ssa/pr49642-2.c: New test.

From-SVN: r183101
2012-01-11 16:52:03 +00:00
Jason Merrill 276fd9acf0 * decl.c (decls_match): Assert that the arguments are decls.
From-SVN: r183100
2012-01-11 11:47:12 -05:00
Jason Merrill 7bb37352be re PR c++/51613 (Ambiguous function template instantiations as template argument are not rejected)
PR c++/51613
	* pt.c (resolve_overloaded_unification): Compare types with
	same_type_p, not decls_match.

From-SVN: r183099
2012-01-11 11:46:57 -05:00