Andreas Schwab [Sat, 14 Jan 2012 20:59:32 +0000 (20:59 +0000)]
* g++.dg/cpp0x/constexpr-rom.C: Add -G0 where applicable.
From-SVN: r183186
Andreas Schwab [Sat, 14 Jan 2012 20:53:01 +0000 (20:53 +0000)]
Makefile.in (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS).
* gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
$(GNATLIBCFLAGS).
From-SVN: r183185
Denis Chertykov [Sat, 14 Jan 2012 18:11:29 +0000 (22:11 +0400)]
re PR other/50925 ([avr] ICE at spill_failure, at reload1.c:2118)
PR target/50925
* config/avr/avr-protos.h: Revert change of 2012-01-09.
* config/avr/avr.c: Likewise.
* config/avr/avr.h: Likewise.
From-SVN: r183183
Jonathan Wakely [Sat, 14 Jan 2012 17:47:18 +0000 (17:47 +0000)]
* include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
From-SVN: r183182
Tobias Burnus [Sat, 14 Jan 2012 12:05:59 +0000 (13:05 +0100)]
re PR fortran/51800 (Error: Automatic array 'dummy' at (1) cannot have an initializer)
2012-01-14 Tobias Burnus <burnus@net-b.de>
PR fortran/51800
* resolve.c (build_default_init_expr): Also initialize
nonconstant-length strings with -finit-character=<n>.
2012-01-14 Tobias Burnus <burnus@net-b.de>
PR fortran/51800
* gfortran.dg/init_flag_8.f90: New.
* gfortran.dg/init_flag_9.f90: New.
From-SVN: r183180
Tobias Burnus [Sat, 14 Jan 2012 12:04:20 +0000 (13:04 +0100)]
re PR fortran/51816 (Wrong error when use..., only : operator() twice)
2011-01-14 Tobias Burnus <burnus@net-b.de>
PR fortran/51816
* module.c (read_module): Don't make nonexisting
intrinsic operators as found.
(rename_list_remove_duplicate): New function.
(gfc_use_modules): Use it.
2011-01-14 Tobias Burnus <burnus@net-b.de>
PR fortran/51816
* gfortran.dg/use_18.f90: New.
* gfortran.dg/use_19.f90: New.
From-SVN: r183179
Ian Lance Taylor [Sat, 14 Jan 2012 00:22:14 +0000 (00:22 +0000)]
re PR c++/50012 (C++ front end misses -Wsign-compare warnings when extraneous parentheses are present)
gcc/:
PR c++/50012
* tree.h (TYPE_QUALS): Add cast to int.
(TYPE_QUALS_NO_ADDR_SPACE): Likewise.
gcc/cp:
PR c++/50012
* typeck.c (enum_cast_to_int): New static function.
(cp_build_binary_op): When handling warn_sign_compare, don't test
for TREE_NO_WARNING. Do call enum_cast_to_int.
* call.c (avoid_sign_compare_warnings): Remove static function.
(build_new_op_1): Don't call avoid_sign_compare_warnings.
gcc/testsuite/:
PR c++/50012
* g++.dg/warn/Wsign-compare-4.C: New.
From-SVN: r183178
GCC Administrator [Sat, 14 Jan 2012 00:19:10 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183177
Torvald Riegel [Fri, 13 Jan 2012 23:45:42 +0000 (23:45 +0000)]
libitm: Truncate undo log after rolling back.
libitm/
* local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
rolling back.
* containers.h (GTM::vector::set_size): New.
From-SVN: r183173
Torvald Riegel [Fri, 13 Jan 2012 23:45:06 +0000 (23:45 +0000)]
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
Ian Lance Taylor [Fri, 13 Jan 2012 23:35:44 +0000 (23:35 +0000)]
libgo: Only build iopl and ioperm on 386, amd64, alpha GNU/Linux.
From-SVN: r183171
Ian Lance Taylor [Fri, 13 Jan 2012 23:17:20 +0000 (23:17 +0000)]
mksysinfo: Pick up TIOCGWINSZ even if expression is too complex.
From-SVN: r183169
Ian Lance Taylor [Fri, 13 Jan 2012 23:03:02 +0000 (23:03 +0000)]
mksysinfo: Make sure EPOLL_CLOEXEC is defined.
From-SVN: r183168
Ian Lance Taylor [Fri, 13 Jan 2012 22:29:05 +0000 (22:29 +0000)]
Update copyright year.
From-SVN: r183167
Ian Lance Taylor [Fri, 13 Jan 2012 22:25:44 +0000 (22:25 +0000)]
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
Steven Bosscher [Fri, 13 Jan 2012 22:14:21 +0000 (22:14 +0000)]
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
François Dumont [Fri, 13 Jan 2012 21:49:14 +0000 (21:49 +0000)]
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
Paul Thomas [Fri, 13 Jan 2012 20:42:01 +0000 (20:42 +0000)]
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
Jason Merrill [Fri, 13 Jan 2012 20:06:16 +0000 (15:06 -0500)]
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
Georg-Johann Lay [Fri, 13 Jan 2012 19:05:24 +0000 (19:05 +0000)]
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
Georg-Johann Lay [Fri, 13 Jan 2012 19:03:20 +0000 (19:03 +0000)]
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
Jason Merrill [Fri, 13 Jan 2012 17:50:58 +0000 (12:50 -0500)]
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
Jason Merrill [Fri, 13 Jan 2012 15:49:29 +0000 (10:49 -0500)]
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
Tobias Burnus [Fri, 13 Jan 2012 15:41:13 +0000 (16:41 +0100)]
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
Richard Guenther [Fri, 13 Jan 2012 12:05:27 +0000 (12:05 +0000)]
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
Georg-Johann Lay [Fri, 13 Jan 2012 10:32:16 +0000 (10:32 +0000)]
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
Ian Lance Taylor [Fri, 13 Jan 2012 05:11:45 +0000 (05:11 +0000)]
libgo: Update to weekly.2011-12-22.
From-SVN: r183150
Jason Merrill [Fri, 13 Jan 2012 05:05:46 +0000 (00:05 -0500)]
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
GCC Administrator [Fri, 13 Jan 2012 00:19:18 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183148
Dodji Seketeli [Thu, 12 Jan 2012 23:28:46 +0000 (23:28 +0000)]
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
DJ Delorie [Thu, 12 Jan 2012 21:37:03 +0000 (16:37 -0500)]
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
Tobias Burnus [Thu, 12 Jan 2012 20:26:10 +0000 (21:26 +0100)]
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
Richard Henderson [Thu, 12 Jan 2012 18:29:54 +0000 (10:29 -0800)]
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
Jason Merrill [Thu, 12 Jan 2012 17:27:07 +0000 (12:27 -0500)]
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
Jason Merrill [Thu, 12 Jan 2012 17:26:57 +0000 (12:26 -0500)]
re PR c++/51403 (ICE with invalid template parameter)
PR c++/51403
* pt.c (unify): Handle error_mark_node.
From-SVN: r183132
Georg-Johann Lay [Thu, 12 Jan 2012 16:52:29 +0000 (16:52 +0000)]
fix date
From-SVN: r183130
Georg-Johann Lay [Thu, 12 Jan 2012 16:51:28 +0000 (16:51 +0000)]
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
Ira Rosen [Thu, 12 Jan 2012 14:41:44 +0000 (14:41 +0000)]
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
Janne Blomqvist [Thu, 12 Jan 2012 10:30:45 +0000 (12:30 +0200)]
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
Uros Bizjak [Thu, 12 Jan 2012 10:24:27 +0000 (11:24 +0100)]
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
Janne Blomqvist [Thu, 12 Jan 2012 09:58:34 +0000 (11:58 +0200)]
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
Dominique d'Humieres [Thu, 12 Jan 2012 06:53:59 +0000 (07:53 +0100)]
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
Jason Merrill [Thu, 12 Jan 2012 02:30:47 +0000 (21:30 -0500)]
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
Ian Lance Taylor [Thu, 12 Jan 2012 01:33:44 +0000 (01:33 +0000)]
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
Ian Lance Taylor [Thu, 12 Jan 2012 01:31:45 +0000 (01:31 +0000)]
libgo: Update to weekly.2011-12-14.
From-SVN: r183118
GCC Administrator [Thu, 12 Jan 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r183117
Ian Lance Taylor [Wed, 11 Jan 2012 23:43:46 +0000 (23:43 +0000)]
compiler: Permit type B byte; type S []B; var v = S("x").
From-SVN: r183112
Jakub Jelinek [Wed, 11 Jan 2012 22:59:12 +0000 (23:59 +0100)]
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
Ian Lance Taylor [Wed, 11 Jan 2012 21:20:41 +0000 (21:20 +0000)]
compiler: Don't use memcmp for structs/arrays with padding.
From-SVN: r183109
Jason Merrill [Wed, 11 Jan 2012 20:26:53 +0000 (15:26 -0500)]
comment
From-SVN: r183108
Jason Merrill [Wed, 11 Jan 2012 20:26:44 +0000 (15:26 -0500)]
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
Jason Merrill [Wed, 11 Jan 2012 19:31:40 +0000 (14:31 -0500)]
adjust comment
From-SVN: r183106
Nathan Sidwell [Wed, 11 Jan 2012 18:58:30 +0000 (18:58 +0000)]
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
Eric Botcazou [Wed, 11 Jan 2012 18:50:54 +0000 (18:50 +0000)]
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
Nathan Sidwell [Wed, 11 Jan 2012 18:50:21 +0000 (18:50 +0000)]
* libgcov.c (__gcov_init): Ignore objects with no functions.
From-SVN: r183103
Eric Botcazou [Wed, 11 Jan 2012 18:47:28 +0000 (18:47 +0000)]
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
Bill Schmidt [Wed, 11 Jan 2012 16:52:03 +0000 (16:52 +0000)]
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
Jason Merrill [Wed, 11 Jan 2012 16:47:12 +0000 (11:47 -0500)]
* decl.c (decls_match): Assert that the arguments are decls.
From-SVN: r183100
Jason Merrill [Wed, 11 Jan 2012 16:46:57 +0000 (11:46 -0500)]
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
Ian Lance Taylor [Wed, 11 Jan 2012 16:28:08 +0000 (16:28 +0000)]
compiler: Fix names for hash/equality functions for unnamed types.
From-SVN: r183098
Andreas Tobler [Wed, 11 Jan 2012 16:27:21 +0000 (17:27 +0100)]
Fix PR number in ChangeLog.
From-SVN: r183097
Bruce Korb [Wed, 11 Jan 2012 16:23:48 +0000 (16:23 +0000)]
re PR rtl-optimization/57105 (ICE: in add_insn_before_nobb, at emit-rtl.c:3883 with -Os -fselective-scheduling2 -g)
2012-01-11 Bruce Korb <bkorb@gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
Andreas Tobler <andreast@fgznet.ch>
PR bootstrap/57105
PR preprocessor/51776
* inclhack.def (cdef_cplusplus): Add a replacement for [[noreturn]].
* fixincl.x: Regenerate.
* tests/base/sys/cdefs.h: Update.
* genfixes: Remove the 'Ver.' from the version check.
Co-Authored-By: Andreas Tobler <andreast@fgznet.ch>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r183096
Matthew Gretton-Dann [Wed, 11 Jan 2012 16:14:14 +0000 (16:14 +0000)]
arm.md (mov_notscc): Use MVN for false condition.
* gcc/config/arm/arm.md (mov_notscc): Use MVN for false condition.
* gcc/testsuite/gcc.c-torture/execute/
20120110-1.c: New testcase.
From-SVN: r183095
Tobias Burnus [Wed, 11 Jan 2012 14:39:28 +0000 (15:39 +0100)]
main.c (store_exe_path): Fix absolute path detection for Windows.
2012-01-11 Tobias Burnus <burnus@net-b.de>
* runtime/main.c (store_exe_path): Fix absolute path
detection for Windows.
From-SVN: r183094
Nick Clifton [Wed, 11 Jan 2012 11:42:05 +0000 (11:42 +0000)]
* config/rx/rx.md (return): Define pattern.
From-SVN: r183093
Richard Guenther [Wed, 11 Jan 2012 09:01:36 +0000 (09:01 +0000)]
extend.texi (malloc attribute): Adjust according to implementation.
2012-01-11 Richard Guenther <rguenther@suse.de>
* doc/extend.texi (malloc attribute): Adjust according to
implementation.
From-SVN: r183092
Janne Blomqvist [Wed, 11 Jan 2012 07:34:16 +0000 (09:34 +0200)]
PR 51803 Handle getcwd failure and lack of the function better.
2012-01-11 Janne Blomqvist <jb@gcc.gnu.org>
Mike Stump <mikestump@comcast.net>
PR libfortran/51803
* runtime/main.c (store_exe_path): Handle getcwd failure and lack
of the function better.
Co-Authored-By: Mike Stump <mikestump@comcast.net>
From-SVN: r183090
Ian Lance Taylor [Wed, 11 Jan 2012 04:48:22 +0000 (04:48 +0000)]
compiler: Use backend interface for type sizes and alignments.
* go-gcc.cc (Gcc_backend::type_size): New function.
(Gcc_backend::type_alignment): New function.
(Gcc_backend::type_field_alignment): New function.
(Gcc_backend::type_field_offset): New function.
* go-backend.c (go_type_alignment): Remove.
* go-c.h (go_type_alignment): Don't declare.
From-SVN: r183089
Jason Merrill [Wed, 11 Jan 2012 03:04:49 +0000 (22:04 -0500)]
re PR c++/51614 (ICE with ambiguous base class)
PR c++/51614
* class.c (build_base_path): Diagnose ambiguous base.
From-SVN: r183088
Jason Merrill [Wed, 11 Jan 2012 03:04:38 +0000 (22:04 -0500)]
tweak comment
From-SVN: r183087
GCC Administrator [Wed, 11 Jan 2012 00:19:01 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183085
Jason Merrill [Tue, 10 Jan 2012 17:02:52 +0000 (12:02 -0500)]
cp-demangle.c (d_print_comp): Omit a trailing space in the operator name.
* cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:
Omit a trailing space in the operator name.
From-SVN: r183072
Aldy Hernandez [Tue, 10 Jan 2012 16:50:41 +0000 (16:50 +0000)]
re PR middle-end/51516 ([trans-mem] problem with TM clone aliases)
PR middle-end/51516
* trans-mem.c (get_cg_data): Traverse aliases if requested.
(ipa_tm_scan_calls_block): Update parameters to get_cg_data.
(ipa_tm_note_irrevocable): Same.
(ipa_tm_scan_irr_block): Same.
(ipa_tm_decrement_clone_counts): Same.
(ipa_tm_scan_irr_function): Same.
(ipa_tm_create_version_alias): Same.
(ipa_tm_create_version): Same.
(ipa_tm_transform_calls_redirect): Same.
(ipa_tm_transform_calls): Same.
(ipa_tm_transform_transaction): Same.
(ipa_tm_execute): Same.
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r183070
Richard Guenther [Tue, 10 Jan 2012 16:27:55 +0000 (16:27 +0000)]
re PR lto/51806 (-flto ignores -Werror)
2012-01-10 Richard Guenther <rguenther@suse.de>
PR middle-end/51806
c-family/
* c-opts.c (c_common_handle_option): Move -Werror handling
to language independent code.
* opts.c (common_handle_option): Handle -Werror.
From-SVN: r183069
Andreas Schwab [Tue, 10 Jan 2012 14:40:47 +0000 (14:40 +0000)]
sync.md ("atomic_compare_and_swap<mode>_1"): Fix operand number.
* config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
operand number.
From-SVN: r183067
Jason Merrill [Tue, 10 Jan 2012 14:37:34 +0000 (09:37 -0500)]
invoke.texi (C++ Dialect Options): Update -fabi-version=6 information.
* doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
information.
From-SVN: r183066
Jason Merrill [Tue, 10 Jan 2012 14:37:26 +0000 (09:37 -0500)]
re PR c++/51433 (constexpr caching leads to incorrect dynamic initialization)
PR c++/51433
* semantics.c (cxx_eval_call_expression): Always retry previously
non-constant expressions.
From-SVN: r183065
Richard Guenther [Tue, 10 Jan 2012 13:38:41 +0000 (13:38 +0000)]
re PR tree-optimization/51801 (ICE in inline_small_functions)
2012-01-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51801
* gcc.dg/torture/pr51801.c: New testcase.
From-SVN: r183064
Rainer Orth [Tue, 10 Jan 2012 13:21:53 +0000 (13:21 +0000)]
Check if linker supports R_386_TLS_GD_PLT, R_386_TLS_LDM_PLT relocs
* configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
supports R_386_TLS_GD_PLT reloc.
(gcc_cv_as_ix86_tlsldmplt): Check if linker
supports R_386_TLS_LDM_PLT reloc.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r183063
Gerald Pfeifer [Tue, 10 Jan 2012 11:38:46 +0000 (11:38 +0000)]
gfortran.texi (Fortran 2003 Status): Fix grammar.
2012-01-10 Gerald Pfeifer <gerald@pfeifer.com>
* gfortran.texi (Fortran 2003 Status): Fix grammar.
From-SVN: r183062
Tobias Burnus [Tue, 10 Jan 2012 11:22:16 +0000 (12:22 +0100)]
re PR fortran/51652 (Allocate with type-spec and source-expr: check whether length type-parameter is the same is lacking)
2012-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/51652
* resolve.c (resolve_allocate_expr): For non-deferred char
lengths, check whether type-spec matches declaration.
2012-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/51652
* gfortran.dg/allocate_with_typespec_5.f90: New.
From-SVN: r183061
Arnaud Charlet [Tue, 10 Jan 2012 11:06:44 +0000 (12:06 +0100)]
[multiple changes]
2012-01-10 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): Kill check for object/source
directories for aggregate libraries.
2012-01-10 Matthew Heaney <heaney@adacore.com>
* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
container parameter as aliased in/in out.
Code clean ups.
2012-01-10 Bob Duff <duff@adacore.com>
* s-os_lib.ads: Improve comment.
2012-01-10 Geert Bosch <bosch@adacore.com>
* s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
for complex Scalar.
From-SVN: r183060
Arnaud Charlet [Tue, 10 Jan 2012 10:35:38 +0000 (11:35 +0100)]
[multiple changes]
2012-01-10 Bob Duff <duff@adacore.com>
* sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
checking that the 'Size is correct. If the type is "mod 2**12",
for example, it's illegal, but Esize is the 'Object_Size, which
will be something like 16 or 32, so the error ('Size = 12) was
not detected.
* gnat_rm.texi: Improve documentation of shift
and rotate intrinsics.
2012-01-10 Pascal Obry <obry@adacore.com>
* prj.adb (For_Every_Project_Imported): Fix
implementation to make sure we return each project only once
for aggragte libraries. It is fine to return a project twice for
aggregate projects, this was the case as a Project_Id is different
in each project tree. The new implementation use a table based on
the project name to ensure proper detection of duplicate project
in aggregate library. A new context is then created to continue
retrurning duplicate project for aggregate libraries.
From-SVN: r183059
Georg-Johann Lay [Tue, 10 Jan 2012 09:42:10 +0000 (09:42 +0000)]
re PR target/49868 (Implement named address space to place/access data in flash memory)
libgcc/
PR target/49868
Extend __pgmx semantics to linearize memory.
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
* config/avr/lib1funcs.S (__xload_1): New function.
(__movmemx_qi, __movmemx_hi): New functions.
(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
semantics.
gcc/
PR target/49868
Extend __pgmx semantics to linearize memory.
* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
determine if code comes inline or from libgcc.
(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
(movmem_qi, movmem_qi): Set constraint #2 to "n".
(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
(movmemx_qi, movmemx_hi): New insns.
(xload_<mode>_libgcc): Rewrite to new insn condition.
(xload_<mode>): Remove insns.
* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
cases that don't satisfy avr_xload_libgcc_p().
(avr_addr_space_convert): Allow converting in any direction.
(avr_addr_space_subset_p): Return always true.
(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
(avr_emit_movmemhi): Ditto.
(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
(avr_out_movmem): Ditto.
(AVR_SYMBOL_FLAG_PROGMEM): New macro.
(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
(avr_encode_section_info): Encode 'progmem' in symbol flags.
(output_reload_in_const): Don't zero-extend any 24-bit symbols.
From-SVN: r183058
Tobias Burnus [Tue, 10 Jan 2012 09:32:29 +0000 (10:32 +0100)]
re PR fortran/51197 (Backtrace information less useful)
2012-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/51197
* runtime/compile_options.c (show_signal): List
more signals.
From-SVN: r183057
Tobias Burnus [Tue, 10 Jan 2012 09:31:31 +0000 (10:31 +0100)]
resolve.c (resolve_ordinary_assign): Improve error wording.
2012-01-10 Tobias Burnus <burnus@net-b.de>
* resolve.c (resolve_ordinary_assign): Improve error wording.
2012-01-10 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/class_39.f03: Update dg-error string.
From-SVN: r183056
Richard Guenther [Tue, 10 Jan 2012 09:14:51 +0000 (09:14 +0000)]
re PR tree-optimization/50913 (ICE in scan_tree_for_params_right_scev, at graphite-sese-to-poly.c:633 compiling libgfortran with -floop-interchange -m32)
2012-01-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50913
* graphite-scop-detection.c (stmt_has_simple_data_refs_p):
Require data-refs to be representable by Graphite with respect
to any loop nest.
* gcc.dg/graphite/interchange-16.c: New testcase.
* gcc.dg/graphite/scop-20.c: XFAIL.
* gfortran.dg/graphite/interchange-1.f: Likewise.
* gfortran.dg/graphite/block-1.f90: Likewise.
* gfortran.dg/graphite/block-2.f: Likewise.
From-SVN: r183055
Uros Bizjak [Tue, 10 Jan 2012 09:06:11 +0000 (10:06 +0100)]
constraints.md ("L"): Return true for 0xffffffff.
* config/i386/constraints.md ("L"): Return true for 0xffffffff.
* config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
From-SVN: r183054
Tom de Vries [Tue, 10 Jan 2012 08:46:30 +0000 (08:46 +0000)]
Add missing PR lines
From-SVN: r183053
Tom de Vries [Tue, 10 Jan 2012 08:28:55 +0000 (08:28 +0000)]
re PR rtl-optimization/51271 (ICE in in maybe_record_trace_start, at dwarf2cfi.c:2244)
2012-01-10 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/51271
* dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
handling annulled branch.
From-SVN: r183052
Richard Henderson [Tue, 10 Jan 2012 04:47:26 +0000 (20:47 -0800)]
arm: Implement vec_perm and vec_perm_const for NEON.
* config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
arm_expand_vec_perm_const): New.
* config/arm/arm-protos.h: Update.
* config/arm/neon.md (UNSPEC_VCONCAT): New.
(*neon_vswp<VDQX>): New.
(neon_vcombine<VDX>): Use neon_split_vcombine.
(neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
* config/arm/vec-common.md (vec_perm_const<VALL>): New.
(vec_perm<VE>): New.
testsuite/
* lib/target-supports.exp (check_effective_target_vect_perm,
check_effective_target_vect_perm_byte,
check_effective_target_vect_perm_short): Enable for arm neon.
From-SVN: r183051
Richard Henderson [Tue, 10 Jan 2012 04:14:09 +0000 (20:14 -0800)]
arm: Convert to atomic optabs.
* config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
use it if reload_completed.
(arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
arm_output_asm_insn, arm_process_output_memory_barrier,
arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
arm_process_output_sync_insn, arm_output_sync_insn,
arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
(arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
(arm_emit_load_exclusive, arm_emit_store_exclusive): New.
(emit_unlikely_jump): New.
(arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
(arm_split_atomic_op): New.
* config/arm/arm-protos.h: Update.
* config/arm/arm.h (enum arm_sync_generator_tag): Remove.
(struct arm_sync_generator): Remove.
* config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
(VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
(VUNSPEC_LL, VUNSPEC_SC): New.
(sync_result, sync_memory, sync_required_value, sync_new_value,
sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
(attr length): Don't use arm_sync_loop_insns.
(cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
(movsfcc, movdfcc): Likewise.
* config/arm/constraints.md (Ua): New.
* config/arm/prediates.md (mem_noofs_operand): New.
(sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
(sync_clobber, sync_t2_reqd): Remove.
(sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
(sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
(sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
(arm_sync_compare_and_swap<SIDI>): Remove.
(arm_sync_compare_and_swap<NARROW>): Remove.
(arm_sync_lock_test_and_set<SIDI>): Remove.
(arm_sync_lock_test_and_set<NARROW>): Remove.
(arm_sync_new_<syncop><SIDI>): Remove.
(arm_sync_new_<syncop><NARROW>): Remove.
(arm_sync_new_nand<SIDI>): Remove.
(arm_sync_new_nand<NARROW>): Remove.
(arm_sync_old_<syncop><SIDI>): Remove.
(arm_sync_old_<syncop><NARROW>): Remove.
(arm_sync_old_nand<SIDI>): Remove.
(arm_sync_old_nand<NARROW>): Remove.
(*memory_barrier): Merge arm_output_memory_barrier.
(atomic_compare_and_swap<QHSD>): New.
(atomic_compare_and_swap<NARROW>_1): New.
(atomic_compare_and_swap<SIDI>_1): New.
(atomic_exchange<QHSD>): New.
(cas_cmp_operand, cas_cmp_str): New.
(atomic_op_operand, atomic_op_str): New.
(atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
(atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
(atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
(arm_load_exclusive<NARROW>): New.
(arm_load_exclusivesi, arm_load_exclusivedi): New.
(arm_store_exclusive<QHSD>): New.
From-SVN: r183050
Richard Henderson [Tue, 10 Jan 2012 03:16:07 +0000 (19:16 -0800)]
libitm_i.h (_Unwind_DeleteException): Declare weak.
* libitm_i.h (_Unwind_DeleteException): Declare weak.
* eh_cpp.cc (_Unwind_DeleteException): Define for
!HAVE_ELF_STYLE_WEAKREF.
From-SVN: r183049
Michael Meissner [Tue, 10 Jan 2012 01:01:01 +0000 (01:01 +0000)]
Fix bugs in -mvsx-scalar-memory and -mvsx-scalar-double
From-SVN: r183048
GCC Administrator [Tue, 10 Jan 2012 00:19:25 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183047
Benjamin Kosnik [Mon, 9 Jan 2012 23:39:22 +0000 (23:39 +0000)]
[multiple changes]
2012-01-09 Kai Tietz <ktietz@redhat.com>
PR libstc++/51673 part 2
* config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
operators signature for LLP64 size_t, and adjusted signatures for
mt-allocator using size_t.
2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
PR libstc++/51673 part 1
* config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
with gnu.ver.
From-SVN: r183043
Tobias Burnus [Mon, 9 Jan 2012 23:23:26 +0000 (00:23 +0100)]
re PR fortran/46328 ([OOP] type-bound operator call with non-trivial polymorphic operand)
2012-01-09 Tobias Burnus <burnus@net-b.de>
PR fortran/46328
* gfortran.dg/typebound_operator_11.f90: New.
From-SVN: r183039
Tom de Vries [Mon, 9 Jan 2012 22:19:47 +0000 (22:19 +0000)]
re PR debug/51471 (gcc.c-torture/execute/
20040811-1.c and gcc.c-torture/execute/vla-dealloc-1.c fails at -O3 -g on mips64-linux-gnu)
2012-01-09 Tom de Vries <tom@codesourcery.com>
Andrew Pinski <apinski@cavium.com>
PR debug/51471
* reorg.c (fill_slots_from_thread): Don't speculate frame-related insns.
Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r183038
Benjamin Kosnik [Mon, 9 Jan 2012 21:50:18 +0000 (21:50 +0000)]
fragment.am (WARN_CXXFLAGS): Add -Wabi.
2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
* fragment.am (WARN_CXXFLAGS): Add -Wabi.
* Makefile.in: Regenerate.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* src/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
From-SVN: r183034
Eric Botcazou [Mon, 9 Jan 2012 21:08:53 +0000 (21:08 +0000)]
trans.c (call_to_gnu): Create the temporary for the return value in the variable-sized return type...
* gcc-interface/trans.c (call_to_gnu): Create the temporary for the
return value in the variable-sized return type case if the target is
an array with fixed size. However, do not create it if this is the
expression of an object declaration.
From-SVN: r183033