Richard Biener [Mon, 18 Mar 2013 08:42:57 +0000 (08:42 +0000)]
re PR middle-end/39326 (Segmentation fault with -O1, out of memory with -O2)
2013-03-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/39326
* tree-ssa-loop-im.c (refs_independent_p): Exploit symmetry.
(struct mem_ref): Replace mem member with ao_ref typed member.
(MEM_ANALYZABLE): Adjust.
(memref_eq): Likewise.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Likewise.
(mem_refs_may_alias_p): Use the ao_ref to query the alias oracle.
(execute_sm_if_changed_flag_set): Adjust.
(execute_sm): Likewise.
(ref_always_accessed_p): Likewise.
(refs_independent_p): Likewise.
(can_sm_ref_p): Likewise.
From-SVN: r196768
Jakub Jelinek [Mon, 18 Mar 2013 07:10:33 +0000 (08:10 +0100)]
re PR c/56566 (bogus "is narrower than values of its type" warning)
PR c/56566
* tree.c (tree_int_cst_min_precision): For integer_zerop (value)
return 1 even for !unsignedp.
* c-c++-common/pr56566.c: New test.
From-SVN: r196767
Jason Merrill [Mon, 18 Mar 2013 03:41:10 +0000 (23:41 -0400)]
re PR c++/54359 ([C++0x] decltype in member function's trailing return type when defined outside of class)
PR c++/54359
PR c++/56639
* parser.c (cp_parser_direct_declarator): Bail if we see a
qualified-id not at namespace scope.
From-SVN: r196765
Jason Merrill [Mon, 18 Mar 2013 03:40:16 +0000 (23:40 -0400)]
* g++.dg/template/abstract-dr337.C: XFAIL.
From-SVN: r196764
GCC Administrator [Mon, 18 Mar 2013 00:22:10 +0000 (00:22 +0000)]
Daily bump.
From-SVN: r196762
Jason Merrill [Sun, 17 Mar 2013 20:32:17 +0000 (16:32 -0400)]
re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)
PR c++/17232
PR c++/56642
* typeck2.c (abstract_virtuals_error_sfinae): Revert complete_type
change for now.
From-SVN: r196758
Uros Bizjak [Sun, 17 Mar 2013 19:33:40 +0000 (20:33 +0100)]
i386.md (isa): Add x64 and nox64.
* config/i386/i386.md (isa): Add x64 and nox64.
(enabled): Define x64 for TARGET_64BIT and nox64 for !TARGET_64BIT.
(*pushtf): Enable *roF alternative for x64 isa only.
(*pushxf): Merge with *pushxf_nointeger. Use Yx*r constraint. Set
mode attribute of integer alternatives to DImode for TARGET_64BIT.
(*pushdf): Merge with *pushdf_rex64. Use x64 and nox64 isa attributes.
(*movtf_internal): Merge from *movtf_internal_rex64 and
*movtf_internal_sse. Use x64 and nox64 isa attributes.
(*movxf_internal): Merge with *movxf_internal_rex64. Use x64 and
nox64 isa attributes.
(*movdf_internal): Merge with *movdf_internal_rex64. Use x64 and
nox64 isa attributes.
* config/i386/constraints.md (Yd): Do not set for TARGET_64BIT.
From-SVN: r196757
Uros Bizjak [Sun, 17 Mar 2013 19:01:36 +0000 (20:01 +0100)]
alpha.c (TARGET_LRA_P): New define.
* config/alpha/alpha.c (TARGET_LRA_P): New define.
From-SVN: r196756
Paolo Carlini [Sun, 17 Mar 2013 18:27:52 +0000 (18:27 +0000)]
re PR libstdc++/55979 ([C++11] std::list range construction imposes unnecessary conversion constraints)
2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55979
* include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
_InputIterator, __false_type)): Use emplace_back.
* testsuite/23_containers/list/cons/55979.cc: New.
* testsuite/23_containers/list/modifiers/1.h: Adjust.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
From-SVN: r196755
Jakub Jelinek [Sun, 17 Mar 2013 16:28:16 +0000 (17:28 +0100)]
re PR target/56640 (bootstrap failure on arm-linux-gnueabi{,hf})
PR target/56640
* config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
class names. Remove trailing comma after "ALL_REGS".
From-SVN: r196753
Joseph Myers [Sun, 17 Mar 2013 15:50:07 +0000 (15:50 +0000)]
* sv.po: Update.
From-SVN: r196751
Jan Hubicka [Sun, 17 Mar 2013 15:43:13 +0000 (16:43 +0100)]
cgraph.h (cgraph_get_create_real_symbol_node): Declare.
* cgraph.h (cgraph_get_create_real_symbol_node): Declare.
* cgraph.c (cgraph_get_create_real_symbol_node): New function.
* cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
of cgraph_get_create_node.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
From-SVN: r196750
Jason Merrill [Sun, 17 Mar 2013 03:11:07 +0000 (23:11 -0400)]
decl.c (grokdeclarator): Assert that we won't see a pointer to METHOD_TYPE.
* decl.c (grokdeclarator): Assert that we won't see a pointer to
METHOD_TYPE.
From-SVN: r196748
Jason Merrill [Sun, 17 Mar 2013 02:41:22 +0000 (22:41 -0400)]
re PR c++/54277 (Template class member referred to with implicit this inside lambda is incorrectly const-qualified)
PR c++/54277
* cp-tree.h (WILDCARD_TYPE_P): Split out from...
(MAYBE_CLASS_TYPE_P): ...here.
* semantics.c (lambda_capture_field_type): Only build a
magic decltype for wildcard types.
(lambda_proxy_type): Likewise.
(finish_non_static_data_member): Get the quals from
the object.
From-SVN: r196747
Jason Merrill [Sun, 17 Mar 2013 02:39:51 +0000 (22:39 -0400)]
re PR c++/55931 ([C++11] Constexpr member function inside a static member is not working)
PR c++/55931
* parser.c (cp_parser_template_argument): Don't
fold_non_dependent_expr.
From-SVN: r196746
Jason Merrill [Sun, 17 Mar 2013 02:39:37 +0000 (22:39 -0400)]
parser.c (cp_parser_lambda_declarator_opt): Use cp_parser_trailing_type_id.
* parser.c (cp_parser_lambda_declarator_opt): Use
cp_parser_trailing_type_id.
From-SVN: r196745
Jason Merrill [Sun, 17 Mar 2013 02:39:22 +0000 (22:39 -0400)]
re PR c++/45917 (inaccessible types allowed as template argument in nested-name-specifier)
PR c++/45917
* parser.c (cp_parser_template_id): Don't forget access checks.
From-SVN: r196744
Jason Merrill [Sun, 17 Mar 2013 02:39:04 +0000 (22:39 -0400)]
re PR c++/52374 ([C++11] Fails to transform id-expression into dependent base member access in lambda expression)
PR c++/52374
* pt.c (tsubst_qualified_id): Use current_nonlambda_class_type.
From-SVN: r196743
Jason Merrill [Sun, 17 Mar 2013 02:38:50 +0000 (22:38 -0400)]
re PR c++/54764 (In class initialization of non-static lambda member can't be used in class with default template paramer)
PR c++/54764
PR c++/55972
* name-lookup.h (tag_scope): Add ts_lambda.
* semantics.c (begin_lambda_type): Use it.
* decl.c (xref_tag_1): Set CLASSTYPE_LAMBDA_EXPR.
* pt.c (check_default_tmpl_args): Ignore lambdas.
(push_template_decl_real): Handle lambdas.
* tree.c (no_linkage_check): Adjust lambda check.
From-SVN: r196742
Jason Merrill [Sun, 17 Mar 2013 02:38:35 +0000 (22:38 -0400)]
re PR c++/56039 (ICE in iterative_hash_template_arg, at cp/pt.c:1606)
PR c++/56039
* tree.c (strip_typedefs_expr): Complain about lambda, don't abort.
From-SVN: r196741
Jason Merrill [Sun, 17 Mar 2013 02:38:21 +0000 (22:38 -0400)]
re PR c++/54359 ([C++0x] decltype in member function's trailing return type when defined outside of class)
PR c++/54359
* parser.c (cp_parser_direct_declarator): Fix late return
for out-of-class defn of member function.
From-SVN: r196740
Jason Merrill [Sun, 17 Mar 2013 02:38:01 +0000 (22:38 -0400)]
re PR c++/55357 (-Wshadow warns about lambda function parameters matching variables in outer scope)
PR c++/55357
* semantics.c (maybe_add_lambda_conv_op): Clear DECL_NAME of copied
parms to avoid duplicate -Wshadow warnings.
From-SVN: r196739
Jason Merrill [Sun, 17 Mar 2013 02:37:33 +0000 (22:37 -0400)]
* search.c (lookup_base): Handle NULL_TREE.
From-SVN: r196738
Jason Merrill [Sun, 17 Mar 2013 02:37:21 +0000 (22:37 -0400)]
re PR c++/56481 (endless loop compiling a C++ file)
PR c++/56481
* semantics.c (potential_constant_expression_1): Use of 'this' in
a non-constexpr function makes the expression not potentially
constant.
From-SVN: r196737
Jason Merrill [Sun, 17 Mar 2013 02:37:09 +0000 (22:37 -0400)]
re PR c++/52748 ([C++11] N3276 changes to decltype)
N3276
PR c++/52748
* cp-tree.h (tsubst_flags): Add tf_decltype.
* call.c (build_cxx_call): Don't build a temporary if it's set.
(build_over_call): Make sure it's only passed to build_cxx_call.
* parser.c (cp_parser_primary_expression): Add decltype_p parm.
(cp_parser_unary_expression): Likewise.
(cp_parser_cast_expression): Likewise.
(cp_parser_binary_expression): Likewise.
(cp_parser_assignment_expression): Likewise.
(cp_parser_postfix_expression): Likewise. Pass tf_decltype.
(cp_parser_explicit_instantiation): Add decltype_p. Force a
temporary for a call on the LHS of a comma.
(cp_parser_decltype): Pass true to decltype_p parms.
* pt.c (tsubst) [DECLTYPE_TYPE]: Pass tf_decltype.
(tsubst_copy_and_build): Pass tf_decltype down only for
CALL_EXPR and the RHS of COMPOUND_EXPR.
* tree.c (build_cplus_new): Call complete_type_or_maybe_complain.
From-SVN: r196736
Jason Merrill [Sun, 17 Mar 2013 02:36:55 +0000 (22:36 -0400)]
cp-tree.h (abstract_class_use): New enum.
* cp-tree.h (abstract_class_use): New enum.
* typeck2.c (pending_abstract_type): Add use field.
(abstract_virtuals_error_sfinae): Add overloads taking
abstract_class_use instead of tree.
* typeck.c (build_static_cast_1): Call it.
* except.c (is_admissible_throw_operand_or_catch_parameter): Call it.
* pt.c: Adjust calls.
* decl.c (cp_finish_decl): Don't handle functions specially.
(grokdeclarator): Always check return type.
* init.c (build_new_1): Adjust call.
From-SVN: r196735
Jason Merrill [Sun, 17 Mar 2013 02:36:40 +0000 (22:36 -0400)]
DR 337 PR c++/17232
DR 337
PR c++/17232
* pt.c (tsubst) [ARRAY_TYPE]: Use abstract_virtuals_error_sfinae.
* typeck2.c (abstract_virtuals_error_sfinae): Call complete_type.
From-SVN: r196734
Jason Merrill [Sun, 17 Mar 2013 02:36:26 +0000 (22:36 -0400)]
DR 657
DR 657
* pt.c (tsubst_function_type): Call abstract_virtuals_error_sfinae.
(tsubst_arg_types): Likewise.
From-SVN: r196733
Jason Merrill [Sun, 17 Mar 2013 02:36:08 +0000 (22:36 -0400)]
DR 1518 PR c++/54835
DR 1518
PR c++/54835
* call.c (convert_like_real): Check for explicit constructors
even for value-initialization.
From-SVN: r196732
Jason Merrill [Sun, 17 Mar 2013 02:35:50 +0000 (22:35 -0400)]
re PR c++/54946 (ICE on template parameter from cast char-pointer in C++11 constexpr struct)
PR c++/54946
* pt.c (convert_nontype_argument): Handle invalid pointer.
From-SVN: r196731
Jason Merrill [Sun, 17 Mar 2013 02:35:36 +0000 (22:35 -0400)]
* parser.c (cp_parser_lambda_expression): Use nreverse.
From-SVN: r196730
Jason Merrill [Sun, 17 Mar 2013 02:35:18 +0000 (22:35 -0400)]
re PR c++/56447 ([C++11] Lambda in template has conversion op it shouldn't have)
PR c++/56447
PR c++/55532
* pt.c (instantiate_class_template_1): Instantiate lambda capture
list here.
(tsubst_copy_and_build): Not here.
From-SVN: r196729
Jason Merrill [Sun, 17 Mar 2013 02:35:01 +0000 (22:35 -0400)]
re PR c++/55017 ([DR 1051] [C++11] Rvalue-reference member should cause copy constructor to be deleted, but still declared)
PR c++/55017
* method.c (walk_field_subobs): Disallow copy of rvalue ref.
From-SVN: r196728
Jason Merrill [Sun, 17 Mar 2013 02:34:45 +0000 (22:34 -0400)]
re PR c++/55240 ([c++0x] ICE on non-static data member initialization using 'auto' variable from containing function)
PR c++/55240
* parser.c (parsing_nsdmi): New.
* semantics.c (outer_automatic_var_p): Check it.
(finish_id_expression): Likewise.
* cp-tree.h: Declare it.
From-SVN: r196727
Jason Merrill [Sun, 17 Mar 2013 02:34:31 +0000 (22:34 -0400)]
re PR c++/55241 ([C++11] diagnostics show sizeof...(T) as sizeof(T...))
PR c++/55241
* error.c (dump_expr) [SIZEOF_EXPR]: Print sizeof... properly.
From-SVN: r196726
Jason Merrill [Sun, 17 Mar 2013 02:34:20 +0000 (22:34 -0400)]
parser.c (lookup_literal_operator): Correct parm/arg naming mixup.
* parser.c (lookup_literal_operator): Correct parm/arg naming
mixup.
From-SVN: r196725
Jason Merrill [Sun, 17 Mar 2013 02:34:03 +0000 (22:34 -0400)]
re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515)
PR c++/56238
* pt.c (fold_non_dependent_expr_sfinae): Check
instantiation_dependent_expression_p.
From-SVN: r196724
Jason Merrill [Sun, 17 Mar 2013 02:33:50 +0000 (22:33 -0400)]
re PR debug/49090 (provide a way to recognize defaulted template parameters)
PR debug/49090
* dwarf2out.c (gen_generic_params_dies): Indicate default arguments
with DW_AT_default_value.
From-SVN: r196723
Jason Merrill [Sun, 17 Mar 2013 02:33:38 +0000 (22:33 -0400)]
re PR c++/56095 (Crash casting function pointer as non-type template argument)
PR c++/56095
* class.c (resolve_address_of_overloaded_function): Accept a
reference to function for target_type.
(instantiate_type): Likewise.
* pt.c (convert_nontype_argument): Pass it to
convert_nontype_argument_function.
From-SVN: r196722
GCC Administrator [Sun, 17 Mar 2013 00:21:11 +0000 (00:21 +0000)]
Daily bump.
From-SVN: r196721
Jonathan Wakely [Sat, 16 Mar 2013 20:01:16 +0000 (20:01 +0000)]
re PR libstdc++/56468 (Clang exposes bug with unexpected forward-declaration of type_info)
PR libstdc++/56468
* libsupc++/exception_ptr.h (type_info): Declare.
From-SVN: r196709
Jonathan Wakely [Sat, 16 Mar 2013 19:45:53 +0000 (19:45 +0000)]
re PR libstdc++/56002 ([C++11] allow generic locks to be used without requiring plattform support for threads)
PR libstdc++/56002
* include/std/mutex (lock_guard, unique_lock, lock): Define without
depending on _GLIBCXX_HAS_GTHREADS.
* testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
From-SVN: r196706
Jakub Jelinek [Sat, 16 Mar 2013 19:36:41 +0000 (20:36 +0100)]
* tree.c (cp_tree_equal): Fix a pasto.
From-SVN: r196705
Jakub Jelinek [Sat, 16 Mar 2013 19:35:41 +0000 (20:35 +0100)]
re PR c++/56607 (GCC fails to warn on division by zero)
PR c++/56607
* typeck.c (cp_build_binary_op): When calling warn_for_div_by_zero,
pass op1 through maybe_constant_value first.
* g++.dg/warn/Wdiv-by-zero-2.C: New test.
* c-c++-common/pr56607.c: New test.
From-SVN: r196704
Paolo Carlini [Sat, 16 Mar 2013 10:02:11 +0000 (10:02 +0000)]
re PR c++/56582 (ICE on negative array index in C++11 constant expression evaluation)
/cp
2013-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56582
* semantics.c (cxx_eval_array_reference): Check for negative index.
/testsuite
2013-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56582
* g++.dg/cpp0x/constexpr-array5.C: New.
From-SVN: r196701
Eric Botcazou [Sat, 16 Mar 2013 09:16:49 +0000 (09:16 +0000)]
* gnatvsn.ads (Library_Version): Bump to 4.9.
From-SVN: r196700
Jakub Jelinek [Sat, 16 Mar 2013 07:22:35 +0000 (08:22 +0100)]
* crontab: Enable snapshots from gcc-4_8-branch.
From-SVN: r196698
Jakub Jelinek [Sat, 16 Mar 2013 07:09:59 +0000 (08:09 +0100)]
* BASE-VER: Set to 4.9.0.
From-SVN: r196697
Jonathan Wakely [Sat, 16 Mar 2013 02:48:06 +0000 (02:48 +0000)]
re PR libstdc++/56492 (std::packaged_task requires CopyConstructible stored task)
PR libstdc++/56492
* include/std/future (__future_base::_Result): Add result_type
typedef.
(__future_base::_S_allocate_result): Overload for std::allocator.
(__future_base::_Task_setter): Use _Result::result_type instead of
deducing the type from the task.
(__future_base::_Task_state): Store allocator to allow shared state
to be reset. Replace std::function with member of target object type
accessed via ...
(__future_base::_Task_state_base): New abstract base class.
(__future_base::_Task_state_base::_M_run): New virtual function to
invoke type-erased target object.
(__future_base::_Task_state_base::_M_reset): New virtual function to
create new shared_state using same target object and allocator.
(__future_base::__create_task_state): Allocate a new _Task_state.
(packaged_task::packaged_task): Use __create_task_state.
(packaged_task::reset): Use _Task_state_base::_M_reset.
* testsuite/30_threads/packaged_task/cons/56492.cc: New.
From-SVN: r196695
GCC Administrator [Sat, 16 Mar 2013 00:18:04 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r196694
Joseph Myers [Fri, 15 Mar 2013 17:44:12 +0000 (17:44 +0000)]
* gcc.pot: Regenerate.
From-SVN: r196683
Joseph Myers [Fri, 15 Mar 2013 17:43:27 +0000 (17:43 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r196682
Tobias Burnus [Fri, 15 Mar 2013 10:09:39 +0000 (11:09 +0100)]
re PR fortran/56615 (Wrong code with TRANSFER of arrays of character with stride -1)
2013-03-15 Tobias Burnus <burnus@net-b.de>
PR fortran/56615
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
if they are not simply contiguous.
2013-03-15 Tobias Burnus <burnus@net-b.de>
PR fortran/56615
* gfortran.dg/transfer_intrinsic_5.f90: New.
From-SVN: r196675
Tom Tromey [Fri, 15 Mar 2013 08:55:07 +0000 (08:55 +0000)]
unwind-cxx.h: Include sys/sdt.h if detected.
* libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
(PROBE2): New macro.
* libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
* configure.ac: Check for sys/sdt.h.
* configure, config.h.in: Rebuild.
From-SVN: r196674
Kai Tietz [Fri, 15 Mar 2013 07:15:37 +0000 (08:15 +0100)]
movti.c: Don't test for x64 mingw.
* gcc.target/i386/movti.c: Don't test for x64 mingw.
* gcc.target/i386/pr20020-1.c: Likewise.
* gcc.target/i386/pr20020-2.c: Likewise.
* gcc.target/i386/pr20020-3.c: Likewise.
* gcc.target/i386/pr53425-1.c: Likewise.
* gcc.target/i386/pr53425-2.c: Likewise.
* gcc.target/i386/pr55093.c: Likewise.
* gcc.target/i386/pr53907.c: Adjust test for LLP64 targets.
From-SVN: r196673
Jakub Jelinek [Fri, 15 Mar 2013 07:06:49 +0000 (08:06 +0100)]
re PR debug/56307 (FAIL: gcc.dg/tree-ssa/pr55579.c scan-tree-dump esra "Created a debug-only replacement for s")
PR debug/56307
* gcc.dg/tree-ssa/pr55579.c: Add -fvar-tracking-assignments to
dg-options. Remove 32-bit hppa*-*-hpux* xfail.
From-SVN: r196672
Andi Kleen [Fri, 15 Mar 2013 04:31:43 +0000 (04:31 +0000)]
Document HLE / RTM intrinsics
The TSX HLE/RTM intrinsics were missing documentation. Add this to the
manual.
gcc/:
2013-03-14 Andi Kleen <ak@linux.intel.com>
PR target/56619
* doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
__ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
Document _x* TSX intrinsics.
From-SVN: r196671
GCC Administrator [Fri, 15 Mar 2013 00:19:11 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196669
Jonathan Wakely [Thu, 14 Mar 2013 23:28:11 +0000 (23:28 +0000)]
re PR libstdc++/56613 (map::operator[](key_type&&) fails with custom allocator)
PR libstdc++/56613
* include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
allocator_traits instead of calling construct directly.
* testsuite/23_containers/map/56613.cc: New.
From-SVN: r196666
Edgar E. Iglesias [Thu, 14 Mar 2013 15:43:23 +0000 (15:43 +0000)]
Add support for TLS in MicroBlaze
* configure.ac: Add MicroBlaze TLS support detection.
* configure: Regenerate.
* config/microblaze/microblaze-protos.h: (microblaze_cannot_force_const_mem,
microblaze_tls_referenced_p, symbol_mentioned_p,
label_mentioned_p): Add prototypes.
* config/microblaze/microblaze.c (microblaze_address_type): Add ADDRESS_TLS
and tls_reloc address types.
(microblaze_address_info): Add tls_reloc.
(TARGET_HAVE_TLS): Define.
(get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
symbol_mentioned_p, label_mentioned_p, tls_mentioned_p, load_tls_operand,
microblaze_call_tls_get_addr, microblaze_legitimize_tls_address): New functions.
(microblaze_classify_unspec): Handle UNSPEC_TLS.
(get_base_reg): Use microblaze_tls_symbol_p.
(microblaze_classify_address): Handle TLS.
(microblaze_legitimate_pic_operand): Use symbol_mentioned_p, label_mentioned_p
and microblaze_tls_referenced_p.
(microblaze_legitimize_address): Handle TLS.
(microblaze_address_insns): Handle ADDRESS_TLS.
(pic_address_needs_scratch): Handle TLS.
(print_operand_address): Handle TLS.
(microblaze_expand_prologue): Check TLS_NEEDS_GOT.
(microblaze_expand_move): Handle TLS.
(microblaze_legitimate_constant_p): Check microblaze_cannot_force_const_mem
and microblaze_tls_symbol_p.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
* config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
(PIC_OFFSET_TABLE_REGNUM): Set.
* config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
* config/microblaze/microblaze.md (UNSPEC_TLS): Define.
(addsi3, movsi_internal2, movdf_internal): Update constraints
* config/microblaze/predicates.md (arith_plus_operand): Define
(move_operand): Redefine as move_src_operand, check microblaze_tls_referenced_p.
Co-Authored-By: David Holsgrove <david.holsgrove@xilinx.com>
From-SVN: r196659
Jason Merrill [Thu, 14 Mar 2013 13:09:11 +0000 (09:09 -0400)]
re PR c++/56614 (error: default argument 'std::vector<E>(std::initializer_list<E>{((const E*)(& ._0)), 1u}, (*(const std::allocator<E>*)(& std::allocator<E>())))' uses local variable '._0')
PR c++/56614
* decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
From-SVN: r196658
Jason Merrill [Thu, 14 Mar 2013 13:08:36 +0000 (09:08 -0400)]
re PR c++/56346 (FAIL: g++.dg/tls/thread_local3.C -std=gnu++11 (test for excess errors))
PR c++/56346
* decl.c (register_dtor_fn): Pass null to __cxa_thread_atexit
dso_handle parm on targets without __cxa_atexit.
From-SVN: r196657
Ian Bolton [Thu, 14 Mar 2013 12:04:26 +0000 (12:04 +0000)]
AArch64 should return CC_NZ for AND operation (part 2)
From-SVN: r196656
Jakub Jelinek [Thu, 14 Mar 2013 10:54:38 +0000 (11:54 +0100)]
re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count)
PR tree-optimization/53265
* gcc.dg/graphite/scop-3.c (toto): Increase array size to avoid
undefined behavior.
* gcc.dg/graphite/id-6.c (test): Likewise.
* gcc.dg/graphite/pr35356-2.c: Adjust regexp patterns to only look for
MIN_EXPR and MAX_EXPR in GIMPLE stmts.
From-SVN: r196655
Ian Bolton [Thu, 14 Mar 2013 10:48:51 +0000 (10:48 +0000)]
AArch64 should return CC_NZ for AND operation.
From-SVN: r196654
Jakub Jelinek [Thu, 14 Mar 2013 09:13:36 +0000 (10:13 +0100)]
re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count)
PR tree-optimization/53265
* common.opt (Waggressive-loop-optimizations): New option.
* tree-ssa-loop-niter.c: Include tree-pass.h.
(do_warn_aggressive_loop_optimizations): New function.
(record_estimate): Call it. Don't add !is_exit bounds to loop->bounds
if number_of_latch_executions returned constant.
(estimate_numbers_of_iterations_loop): Call number_of_latch_executions
early. If number_of_latch_executions returned constant, set
nb_iterations_upper_bound back to it.
* cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
field.
* Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
* doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
* gcc.dg/pr53265.c: New test.
* gcc.dg/torture/pr49518.c: Add -Wno-aggressive-loop-optimizations
to dg-options.
* g++.dg/opt/longbranch2.C (EBCOTLut): Double sizes of a2 and a3
arrays.
* gcc.dg/tree-ssa/cunroll-10.c (main): Rename to foo. Add argument
n, use it as high bound instead of 4.
* unwind-dw2.c (execute_cfa_program): Avoid
-Waggressive-array-optimizations warnings for DW_CFA_GNU_window_save
on targets with DWARF_FRAME_REGISTERS < 32.
* testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier.
From-SVN: r196650
Jakub Jelinek [Thu, 14 Mar 2013 08:52:13 +0000 (09:52 +0100)]
t-aarch64-linux (MULTARCH_DIRNAME): Remove.
* config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
(MULTILIB_OSDIRNAMES): Set.
* genmultilib: If defaultosdirname doesn't start with :: , set
defaultosdirname2 instead, clear it and emit two . multilib_raw
entries instead of just one.
From-SVN: r196649
Benjamin Kosnik [Thu, 14 Mar 2013 03:13:14 +0000 (03:13 +0000)]
*: Regenerate.
2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
* doc/html/*: Regenerate.
From-SVN: r196647
Kaz Kojima [Thu, 14 Mar 2013 03:01:53 +0000 (03:01 +0000)]
linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
(SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
* config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
(SUBTARGET_OVERRIDE_OPTIONS): New.
From-SVN: r196646
GCC Administrator [Thu, 14 Mar 2013 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r196645
Andrew John Hughes [Wed, 13 Mar 2013 21:21:27 +0000 (21:21 +0000)]
Use pthread_equal rather than != to compare thread IDs.
2013-03-12 Andrew John Hughes <gnu.andrew@redhat.com>
* include/posix-threads.h:
(_Jv_MutexCheckMonitor(_Jv_Mutex_t)): Use
pthread_equal rather than !=.
From-SVN: r196639
Oleg Endo [Wed, 13 Mar 2013 18:09:10 +0000 (18:09 +0000)]
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
PR target/49880
* config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
(musermode): Convert to Var(TARGET_USERMODE).
* config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
* config/sh/sh.c (sh_option_override): Use
TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
* config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
condition.
(udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
TARGET_SH4.
(udivsi3_i4_single, divsi3_i4_single): Use
TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
PR target/49880
* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
(sdivsi3, udivsi3): Remove SH4 check and always compile these functions.
PR target/49880
* gcc.target/sh/pr49880-1.c: New.
* gcc.target/sh/pr49880-2.c: New.
* gcc.target/sh/pr49880-3.c: New.
* gcc.target/sh/pr49880-4.c: New.
* gcc.target/sh/pr49880-5.c: New.
From-SVN: r196636
Dave Korn [Wed, 13 Mar 2013 15:17:54 +0000 (15:17 +0000)]
cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the default setting.
* config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
default setting.
From-SVN: r196634
Paolo Carlini [Wed, 13 Mar 2013 12:26:39 +0000 (12:26 +0000)]
alias-decl-32.C: Remove redundant bits.
2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/alias-decl-32.C: Remove redundant bits.
From-SVN: r196633
Richard Biener [Wed, 13 Mar 2013 12:15:06 +0000 (12:15 +0000)]
re PR tree-optimization/56608 (SLP seems to produce incorrect value with -ffast-math)
2013-03-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/56608
* tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
calls when vectorizing basic-blocks.
* gcc.dg/vect/fast-math-bb-slp-call-3.c: New testcase.
From-SVN: r196632
Paolo Carlini [Wed, 13 Mar 2013 11:44:32 +0000 (11:44 +0000)]
re PR c++/56611 ([C++11] Template instantiation failure with variadic arguments and template aliases)
2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56611
* g++.dg/cpp0x/alias-decl-32.C: New.
From-SVN: r196631
Paolo Carlini [Wed, 13 Mar 2013 11:15:45 +0000 (11:15 +0000)]
re PR libstdc++/56609 ([C++11] Several type traits give incorrect results for std::nullptr_t)
2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56609
* include/std/type_traits (is_fundamental): Add std::nullptr_t.
* testsuite/20_util/is_fundamental/value.cc: Extend.
* testsuite/20_util/is_compound/value.cc: Likewise.
From-SVN: r196630
Jakub Jelinek [Wed, 13 Mar 2013 09:47:41 +0000 (10:47 +0100)]
re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header on some archs)
PR plugins/45078
* config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
tm_file.
From-SVN: r196629
GCC Administrator [Wed, 13 Mar 2013 00:19:53 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196625
Jakub Jelinek [Tue, 12 Mar 2013 13:25:01 +0000 (14:25 +0100)]
* doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
From-SVN: r196614
Jan Hubicka [Tue, 12 Mar 2013 12:38:47 +0000 (13:38 +0100)]
re PR libstdc++/56557 (Link error about `std::fstream' or `std::stringstream' with `-flto' and `-rdynamic' options)
PR lto/56557
* lto-streamer-out.c (output_symbol_p): Skip references from
constructors of external variables.
From-SVN: r196613
Jan Hubicka [Tue, 12 Mar 2013 12:13:33 +0000 (13:13 +0100)]
re PR rtl-optimization/56571 (ICE in copyprop_hardreg_forward_1, at regcprop.c (insn does not satisfy its constraints !))
PR middle-end/56571
* valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
from pseudos.
* emit-rtl.c (verify_rtx_sharing): Likewise.
(copy_insn_1): Likewise.
* rtl.c (copy_rtx): Likewise.
PR middle-end/56571
* gcc.c-torture/compile/pr56571.c: New testcase.
From-SVN: r196612
Georg-Johann Lay [Tue, 12 Mar 2013 11:42:26 +0000 (11:42 +0000)]
re PR target/56263 ([avr] Provide strict address-space checking)
PR target/56263
* config/avr/avr.c (TARGET_CONVERT_TO_TYPE): Define to...
(avr_convert_to_type): ...this new static function.
* config/avr/avr.opt (-Waddr-space-convert): New C option.
* doc/invoke.texi (AVR Options): Document it.
From-SVN: r196611
John David Anglin [Tue, 12 Mar 2013 01:21:33 +0000 (01:21 +0000)]
vector-4.c: Add comment regarding xfail.
* gcc.dg/tree-ssa/vector-4.c: Add comment regarding xfail.
* gcc.dg/tree-ssa/pr55579.c: Likewise.
From-SVN: r196608
GCC Administrator [Tue, 12 Mar 2013 00:19:05 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196607
Georg-Johann Lay [Mon, 11 Mar 2013 18:57:27 +0000 (18:57 +0000)]
re PR target/56591 (Missing space)
PR target/56591
* config/avr/avr.c (avr_print_operand): Add space after '%c' in
output_operand_lossage message.
From-SVN: r196604
Tobias Burnus [Mon, 11 Mar 2013 18:55:18 +0000 (19:55 +0100)]
transfer.c (read_block_direct): Correct condition.
2013-03-11 Tobias Burnus <burnus@net-b.de>
* io/transfer.c (read_block_direct): Correct condition.
* intrinsics/execute_command_line.c (execute_command_line):
Remove dead code for the HAVE_FORK case.
From-SVN: r196603
Tobias Burnus [Mon, 11 Mar 2013 18:37:30 +0000 (19:37 +0100)]
gfortran.texi (STRUCTURE and RECORD): State more clearly how to convert them into derived types.
2013-03-11 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (STRUCTURE and RECORD): State more clearly how
to convert them into derived types.
From-SVN: r196602
Jason Merrill [Mon, 11 Mar 2013 16:22:16 +0000 (12:22 -0400)]
re PR c++/56567 (ICE with lambda return type deduction and braced-init-list)
PR c++/56567
* typeck.c (check_return_expr): Disallow returning init list here.
* semantics.c (apply_deduced_return_type): Not here.
From-SVN: r196600
Joseph Myers [Mon, 11 Mar 2013 15:24:43 +0000 (15:24 +0000)]
* de.po, sv.po: Update.
From-SVN: r196598
Dominique d'Humieres [Mon, 11 Mar 2013 15:08:13 +0000 (16:08 +0100)]
Remove dg-excess-errors in gcc.dg/inline_[34].c and unroll_[234].c
2013-02-26 Dominique d'Humieres <dominiq@lps.ens.fr>
* gcc.dg/inline_3.c: Remove target and dg-excess-errors.
* gcc.dg/inline_4.c: Likewise.
* gcc.dg/unroll_2.c: Likewise.
* gcc.dg/unroll_3.c: Likewise.
* gcc.dg/unroll_4.c: Likewise.
From-SVN: r196597
Richard Earnshaw [Mon, 11 Mar 2013 11:48:34 +0000 (11:48 +0000)]
re PR target/56470 (ICE output_operand: invalid shift operand)
PR target/56470
* arm.c (shift_op): Validate RTL pattern on the fly.
(arm_print_operand, case 'S'): Don't use shift_operator to validate
the RTL.
From-SVN: r196595
John David Anglin [Mon, 11 Mar 2013 01:18:18 +0000 (01:18 +0000)]
re PR testsuite/54119 (FAIL: gcc.dg/tree-ssa/vector-4.c scan-tree-dump-times gimple "VEC_PERM_EXPR <a, b, { 0, 4, 1, 5 }>;" 1)
PR testsuite/54119
* gcc.dg/tree-ssa/vector-4.c: xfail on 32-bit hppa*-*-*.
From-SVN: r196592
John David Anglin [Mon, 11 Mar 2013 01:10:38 +0000 (01:10 +0000)]
re PR debug/56307 (FAIL: gcc.dg/tree-ssa/pr55579.c scan-tree-dump esra "Created a debug-only replacement for s")
PR debug/56307
* gcc.dg/tree-ssa/pr55579.c: xfail 32-bit hppa*-*-hpux*.
From-SVN: r196591
Oleg Endo [Mon, 11 Mar 2013 01:04:13 +0000 (01:04 +0000)]
re PR target/40797 (ICE in df_refs_verify, at df-scan.c:4361)
PR target/40797
* gcc.c-torture/compile/pr40797.c: New.
From-SVN: r196590
John David Anglin [Mon, 11 Mar 2013 00:56:45 +0000 (00:56 +0000)]
pr44194-1.c: Skip compilation on hppa*64*-*-*.
* gcc.dg/pr44194-1.c: Skip compilation on hppa*64*-*-*.
From-SVN: r196589
John David Anglin [Mon, 11 Mar 2013 00:44:28 +0000 (00:44 +0000)]
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
PR target/56347
* config/pa/pa.md (call_value): Check for calls to powf and direct to
new call patterns that clobber %fr12.
(call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
split and postreload patterns.
* config/pa/pa.c (pa_conditional_register_usage): Revert marking
registers %fr12 and %fr12R as call used.
From-SVN: r196588
GCC Administrator [Mon, 11 Mar 2013 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r196587
Joseph Myers [Sun, 10 Mar 2013 15:21:47 +0000 (15:21 +0000)]
* de.po: Update.
From-SVN: r196581
Paul Thomas [Sun, 10 Mar 2013 13:23:58 +0000 (13:23 +0000)]
re PR fortran/56575 (An invalid OO code causes ICE)
2013-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56575
* expr.c (gfc_default_initializer): Check that a class declared
type has any components.
* resolve.c (resolve_fl_derived0): On failing the test for C437
set the type to BT_UNKNOWN to prevent repeat error messages.
2013-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56575
* gfortran.dg/class_56.f90: New test.
From-SVN: r196580