2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/51958
* frontend-passes.c (convert_elseif): New function.
(optimize_namespace): Call it.
2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/51958
* gfortran.dg/function_optimize_10.f90: New test.
From-SVN: r183812
PR target/52079
* go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
return build_nonstandard_integer_type result if possible.
From-SVN: r183806
PR libstdc++/49204
* include/std/future (__future_base::_State_base::wait()): Use lambda
expression for predicate and remove redundant test.
(__future_base::_State_base::wait_for()): Return future_status and
use lambda expression for predicate.
(__future_base::_State_base::wait_until()): Likewise.
(__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
(__future_base::_Async_state): Replace with _Async_state_common
class for non-dependent functionality and _Async_state_impl class
template for dependent functionality.
(__future_base::_Async_state_common::_M_join): Serialize attempts to
join thread.
(__future_base::_Async_state_common::_M_run_deferred): Join.
(__future_base::_Async_state::_M_do_run): Replace with lambda.
* src/c++11/future.cc (__future_base::_Async_state_common): Define
destructor, so key function is in the library.
* config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
* testsuite/30_threads/packaged_task/members/get_future.cc: Expect
future_status return instead of bool.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
From-SVN: r183788
gcc/
* function.h (regno_reg_rtx): Adjust comment.
* reginfo.c (init_reg_modes_target): Only use the previous mode
if it fits within one register. Remove MIPS comment.
From-SVN: r183773
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
* gfortran.h (gfc_tbp_generic): Store whether the
generic is an operator.
* decl.c (gfc_match_generic): Set that flag.
* resolve.c (check_generic_tbp_ambiguity): Use it in the
gfc_compare_interfaces check.
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
* gfortran.dg/typebound_generic_11.f90: New.
From-SVN: r183771
2012-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52012
* trans-expr.c (fcncall_realloc_result): Correct calculation of
result offset.
2012-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52012
* gfortran.dg/realloc_on_assign_10.f90: New test.
From-SVN: r183757
PR bootstrap/52041
PR bootstrap/52039
PR target/51974
* ree.c (add_removable_extension): Change def_map argument
to unsigned *, store in def_map 1 + offset into *insn_list vector
instead of pointers into the vector.
(find_removable_extensions): Adjust caller.
From-SVN: r183751
* config/avr/avr.md: Resolve all AS1 and AS2 macros.
Transform all "* quoted-c-code" to { c-code }.
Remove redundant test for "optimize" in combine patterns.
Move (include "avr-dimode.md") to end of file.
From-SVN: r183739
gcc/testsuite/
* gcc.target/mips/extend-1.c (TEST_CHAR): Use signed char.
(TEST_SHORT): Reformat in the same way.
* gcc.target/mips/octeon-exts-6.c (TEST_CHAR): Use signed char.
(TEST_SHORT): Reformat in the same way.
* gcc.target/mips/octeon2-lx-1.c (TEST): Make sign explicit.
* gcc.target/mips/pr37362.c: Skip for mips-sde-elf.
* gcc.target/mips/mmcount-ra-address-1.c (bazl): Add NOMIPS16.
* gcc.target/mips/mmcount-ra-address-2.c (bar): Likewise.
* gcc.target/mips/mmcount-ra-address-3.c (bar): Likewise.
From-SVN: r183737
2012-01-30 Bin Cheng <bin.cheng@arm.com>
PR target/51835
* config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
testcases:
PR target/51835
* gcc.target/arm/pr51835.c: New testcase.
From-SVN: r183733
PR libstdc++/51649:
* testsuite/libstdc++-prettyprinters/debug.cc: New file.
* testsuite/lib/gdb-test.exp (regexp-test): New proc.
(note-test): Update.
(gdb-test): Handle regexp tests. Add some logging.
* testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
(placeholder, use): Remove.
(main): Add tests for deque, list, map, and set iterators. Add
tests for slist and slist iterator.
* testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
namespace.
* python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
the type's _Node typedef.
(StdListIteratorPrinter.to_string): Change how node type is
computed.
(StdSlistPrinter.children): Use the type's _Node typedef.
(StdSlistIteratorPrinter.to_string): Likewise.
(StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
typedef.
(StdMapPrinter.children): Change how the node's type is computed.
(StdSetPrinter.children): Likewise.
(StdForwardListPrinter.children): Use the type's _Node typedef.
(Printer.add_version): New method.
(Printer.add_container): New method.
(build_libstdcxx_dictionary): Handle __7 and __cxx1998
namespaces.
(find_type): New function.
From-SVN: r183732
gcc/cp/
PR c++/51641
* cp-tree.h (template_type_parameter_p): Declare new function.
(parameter_of_template_p): Remove
* pt.c (template_type_parameter_p): Define new function.
(parameter_of_template_p): Remove.
* name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
on parameter_of_template_p anymore. Compare the level of the
template parameter to the depth of the template.
gcc/testsuite/
PR c++/51641
* g++.dg/lookup/hidden-class17.C: New test.
From-SVN: r183726