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
GCC Administrator [Sun, 10 Mar 2013 00:19:02 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196579
Steven Bosscher [Sat, 9 Mar 2013 22:04:15 +0000 (22:04 +0000)]
dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
* dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
(canon_address, record_store, replace_read, check_mem_read_rtx,
scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
rest_of_handle_dse): Likewise.
From-SVN: r196576
Joseph Myers [Sat, 9 Mar 2013 21:46:26 +0000 (21:46 +0000)]
* de.po: Update.
From-SVN: r196575
Paolo Carlini [Sat, 9 Mar 2013 11:45:48 +0000 (11:45 +0000)]
55463.cc: Avoid -Wunused warnings.
2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
-Wunused warnings.
From-SVN: r196572
Richard Sandiford [Sat, 9 Mar 2013 07:54:02 +0000 (07:54 +0000)]
re PR middle-end/56524 (Compiler ICE when compiling with -mips16)
gcc/
PR middle-end/56524
* tree.h (tree_optimization_option): Rename target_optabs to optabs.
Add base_optabs.
(TREE_OPTIMIZATION_OPTABS): Update after previous field change.
(TREE_OPTIMIZATION_BASE_OPTABS): New macro.
(save_optabs_if_changed): Replace with...
(init_tree_optimization_optabs): ...this.
* optabs.c (save_optabs_if_changed): Rename to...
(init_tree_optimization_optabs): ...this. Take the optimization node
as argument. Do nothing if the base optabs are already correct.
Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
to recompute optabs.
* function.h (function): Remove optabs field.
* function.c (invoke_set_current_function_hook): Call
init_tree_optimization_optabs. Use the result to initialize
this_fn_optabs.
gcc/c-family/
PR middle-end/56524
* c-common.c (handle_optimize_attribute): Don't call
save_optabs_if_changed.
gcc/testsuite/
PR middle-end/56524
* gcc.target/mips/pr56524.c: New test.
From-SVN: r196570
GCC Administrator [Sat, 9 Mar 2013 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196567
Paolo Carlini [Fri, 8 Mar 2013 22:52:36 +0000 (22:52 +0000)]
re PR c++/56565 (lambda function in NSMI fails to capture non-static data member.)
2013-03-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56565
* g++.dg/cpp0x/lambda/lambda-nsdmi2.C: New.
From-SVN: r196564
Paolo Carlini [Fri, 8 Mar 2013 22:37:04 +0000 (22:37 +0000)]
re PR c++/51412 ([c++0x] Broken diagnostic with invalid lambda expressions)
/cp
2013-03-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51412
* cxx-pretty-print.c (pp_cxx_expression): Handle LAMBDA_EXPR.
* error.c (dump_expr): Likewise.
/testsuite
2013-03-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51412
* g++.dg/cpp0x/lambda/lambda-err3.C: New.
From-SVN: r196563
Aldy Hernandez [Fri, 8 Mar 2013 22:26:37 +0000 (22:26 +0000)]
trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE if GTMA_HAS_NO_INSTRUMENTATION.
* trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
if GTMA_HAS_NO_INSTRUMENTATION.
(generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
(ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
* gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
* gimple-pretty-print.c (dump_gimple_transaction): Handle
GTMA_HAS_NO_INSTRUMENTATION.
From-SVN: r196562
Benjamin Kosnik [Fri, 8 Mar 2013 21:39:24 +0000 (21:39 +0000)]
memoryfwd.h: New.
* include/bits/memoryfwd.h: New. Centralize forward declarations.
* include/bits/algorithmfwd.h: Consistent comments.
* include/bits/localefwd.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/parallel/algorithmfwd.h: Same.
* include/parallel/numericfwd.h: Same.
* include/std/iosfwd: Same.
* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
forward decl.
* include/ext/alloc_traits.h: Remove allocator forward decl.
* include/bits/stl_construct.h: Same.
* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
forward decl. Consistent comments.
* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
* include/Makefile.am (bits_headers): Add memoryfwd.h.
* include/Makefile.in: Regenerate.
* configure: Same.
e enter the commit message for your changes. Lines starting
From-SVN: r196559
François Dumont [Fri, 8 Mar 2013 20:08:20 +0000 (20:08 +0000)]
vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused.
2013-03-08 François Dumont <fdumont@gcc.gnu.org>
* include/bits/vector.tcc (vector<>operator=(const vector<>&):
Reset pointers after deallocation when memory can be reused.
* testsuite/23_containers/vector/allocator/minimal.cc: Insert
elements to really challenge C++11 allocator integration.
* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
* testsuite/23_containers/vector/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/swap.cc: Likewise and
swap vector back before checks on memory/personality mapping are
performed.
* testsuite/23_containers/forward_list/allocator/minimal.cc:
Insert element to really challenge C++11 allocator integration.
* testsuite/23_containers/forward_list/allocator/copy.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
and swap forward_list back before checks on memory/personality
mapping are performed.
From-SVN: r196557
Jakub Jelinek [Fri, 8 Mar 2013 17:16:45 +0000 (18:16 +0100)]
gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against libasan_preinit.o.
* config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
libasan_preinit.o.
From-SVN: r196554
Jason Merrill [Fri, 8 Mar 2013 16:10:19 +0000 (11:10 -0500)]
re PR c++/52183 ([C++0x] Redeclaration of __this in lambda inside template member function when calling static class function)
PR c++/52183
Correct PR tag.
From-SVN: r196552
Jason Merrill [Fri, 8 Mar 2013 16:04:15 +0000 (11:04 -0500)]
re PR c++/51884 ([C++11] ICE with local class/lambda template argument)
PR c++/51884
* class.c (modify_all_vtables): Mangle the vtable name before
entering dfs_walk.
From-SVN: r196551
Jason Merrill [Fri, 8 Mar 2013 16:04:02 +0000 (11:04 -0500)]
semantics.c (lambda_expr_this_capture): In unevaluated context, just return the nearest 'this'.
* semantics.c (lambda_expr_this_capture): In unevaluated context,
just return the nearest 'this'.
From-SVN: r196550