2010-03-04 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_container_traits.h (traits_base): Add
has_throwing_erase trait.
(traits<vector>, traits<deque>): Typedef the latter to true_type.
* testsuite/util/exception/safety.h (generation_prohibited):
Do not test vector::erase and deque::erase: can throw if
either copy constructor or assignment operator of value_type
throws.
* testsuite/23_containers/vector/requirements/exception/
generation_prohibited.cc: Remove xfail.
* testsuite/23_containers/deque/requirements/exception/
generation_prohibited.cc: Likewise.
* include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::
operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass
argument by const ref.
* testsuite/util/testsuite_container_traits.h (traits<map>,
traits<multimap>, traits<set>, traits<multiset>,
traits<unordered_map>, traits<unordered_multimap>,
traits<unordered_set>, traits<unordered_multiset>): Typedef
consistently has_erase and has_insert as true_type.
* testsuite/util/testsuite_container_traits.h
(traits<unordered_map>, traits<unordered_multimap>,
traits<unordered_set>, traits<unordered_multiset>): Do not wrongly
typedef has_size_type_constructor as true_type: the constructor
accepting a size_type actually gets the initial number of
buckets.
From-SVN: r157239
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43248
* c-decl.c (build_compound_literal): Return early if init is
an error_mark_node.
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43248
* gcc.dg/compound-literal-1.c: New testcase.
From-SVN: r157233
2010-03-04 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/43164
PR tree-optimization/43191
* tree-sra.c (type_consists_of_records_p): Reject records with
zero-size bit-fields at the end.
* testsuite/gcc.c-torture/compile/pr43164.c: New test.
* testsuite/gcc.c-torture/compile/pr43191.c: Likewise.
From-SVN: r157232
2010-03-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/43244
* decl.c (gfc_match_final_decl): Make sure variable names starting with
'final...' are not misinterpreted as FINAL statements.
2010-03-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/43244
* gfortran.dg/finalize_9.f90: New.
From-SVN: r157226
2010-03-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40761
* tree-ssa-pre.c (compute_antic): Walk reverse postorder
in reverse order.
(my_rev_post_order_compute): New function.
(init_pre): Call it.
From-SVN: r157225
2010-03-04 Tobias Burnus <burnus@net-b.de>
Ken Werner <ken@linux.vnet.ibm.com>
* gfortran.dg/reassoc_4.f: Add --param max-completely-peel-times
to dg-options for spu.
* gfortran.dg/vect/vect-7.f90: Add vect_intfloat_cvt to the
dump-scan target to exclude spu.
Co-Authored-By: Ken Werner <ken@linux.vnet.ibm.com>
From-SVN: r157224
2010-03-03 Changpeng Fang <changpeng.fang@amd.com>
PR middle-end/43209
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not decrease
the cost of an IV candidate when the cost is infinite.
* gcc.dg/tree-ssa/ivopts-4.c: New.
From-SVN: r157217
gcc/:
* doc/extend.texi (Vector Extensions, X86 Built-in Functions):
Use '3DNow!' for the extension of that name, ensure normal space
after the string.
* doc/invoke.texi (i386 and x86-64 Options): Likewise.
From-SVN: r157215
* PR middle-end/32693
* expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
than gen_rtx_SUBREG.
(extract_bit_field_1): Likewise.
From-SVN: r157207
* doc/sourcebuild.texi (Test directives): Document that arguments
include-opts and exclude-opts are now optional for dg-skip-if,
dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
* lib/target-supports-dg.exp (check-flags): Provide defaults for
include-opts and exclude-opts; skip checking the flags if arguments
are the same as the defaults.
(dg-xfail-if): Verify the number of arguments, supply defaults
for unspecified optional arguments.
(dg-skip-if, dg-xfail-run-if): Verify the number of arguments.
From-SVN: r157206
PR c++/12909
* mangle.c: Include cgraph.h.
(mangle_decl): If the mangled name will change in a later
ABI version, make the later mangled name an alias.
* method.c (make_alias_for): Copy DECL_ARGUMENTS.
* Make-lang.in (mangle.o): Depend on cgraph.h.
From-SVN: r157201
2010-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43243
* trans-array.c (gfc_conv_array_parameter): Contiguous refs to
allocatable ultimate components do not need temporaries, whilst
ultimate pointer components do.
2010-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43243
* gfortran.dg/internal_pack_12.f90: New test.
From-SVN: r157199
* gcc.target/i386/builtin-unreachable.c: Don't expect stack
adjustments to not be present on machines that align the stack to
more than 4 bytes and don't have a red zone yet as that is an
unimplemented optimization.
From-SVN: r157197
2010-03-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/43169
* resolve.c (resolve_code): Correctly set gfc_current_ns for
EXEC_SELECT_TYPE.
(gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
(gfc_pure): Ditto.
2010-03-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/43169
* gfortran.dg/impure_assignment_3.f90: New.
From-SVN: r157196
PR debug/43237
* dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
fallthrough to default handling, just with want_address 0 instead of 2.
For single element lists, add_AT_loc directly, otherwise create an
artificial variable DIE and stick location list to it.
* gcc.dg/debug/dwarf2/pr43237.c: New test.
From-SVN: r157190
PR debug/43177
* var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
(VAL_EXPR_HAS_REVERSE): Define.
(reverse_op): New function.
(add_stores): For reversible operations add an extra MO_VAL_USE.
* gcc.dg/guality/pr43177.c: New test.
From-SVN: r157189
PR debug/43177
* var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
(VAL_EXPR_HAS_REVERSE): Define.
(reverse_op): New function.
(add_stores): For reversible operations add an extra MO_VAL_USE.
* gcc.dg/guality/pr43177.c: New test.
From-SVN: r157188
2010-03-02 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex (lock_guard::lock_guard): Do not lock mutex when
adopt_lock_t constructor is used.
* testsuite/30_threads/lock_guard/cons/1.cc: New.
From-SVN: r157180
* reload1.c (rtx_p, substitute_stack): Declare.
(substitute): Record addresses of changed rtxs.
(gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
Restore the original rtx when complete.
(reload): Free subsitute_stack when complete.
From-SVN: r157168