platform/upstream/gcc.git
12 years agore PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on...
Uros Bizjak [Fri, 25 Nov 2011 17:41:44 +0000 (18:41 +0100)]
re PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86)

PR testsuite/51258
* lib/target-supports.exp
(check_effective_target_sync_int_128_runtime): New procedure.
(check_effective_target_sync_long_long_runtime): Ditto.
(check_effective_target_sync_long_long): Add arm*-*-*.
(check_effective_target_sync_longlong): Remove.

* gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
* gcc.dg/atomic-compare-exchange-5.c: Ditto.
* gcc.dg/atomic-exchange-5.c: Ditto.
* gcc.dg/atomic-load-5.c: Ditto.
* gcc.dg/atomic-store-5.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
* gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
effective target.
* gcc.dg/atomic-compare-exchange-4.c: Ditto.
* gcc.dg/atomic-exchange-4.c: Ditto.
* gcc.dg/atomic-load-4.c: Ditto.
* gcc.dg/atomic-store-4.c: Ditto.
* gcc.dg/di-longlong64-sync-1.c: Ditto.
* gcc.dg/di-sync-multithread.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

From-SVN: r181727

12 years agore PR fortran/50408 (ICE in transfer_expr)
Tobias Burnus [Fri, 25 Nov 2011 16:26:47 +0000 (17:26 +0100)]
re PR fortran/50408 (ICE in transfer_expr)

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * trans-decl.c (gfc_get_module_backend_decl): Also copy
        ts.u.derived from the gsym if the ts.type is BT_CLASS.
        (gfc_get_extern_function_decl): Copy also the backend_decl
        for the symbol's ts.u.{derived,cl} from the gsym.
        * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
        return if "from" and "to" are the same.

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * gfortran.dg/whole_file_35.f90: New.

From-SVN: r181725

12 years agore PR fortran/51302 (ICE with VOLATILE loop variable)
Tobias Burnus [Fri, 25 Nov 2011 15:18:06 +0000 (16:18 +0100)]
re PR fortran/51302 (ICE with VOLATILE loop variable)

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * gfortran.dg/volatile13.f90: New.

From-SVN: r181724

12 years agoAdd myself in write-after-approval list
Sameera Deshpande [Fri, 25 Nov 2011 15:01:16 +0000 (20:31 +0530)]
Add myself in write-after-approval list

From-SVN: r181723

12 years agoavr.c (print_operand): Support code = 'i' for CONST_INT.
Georg-Johann Lay [Fri, 25 Nov 2011 15:00:39 +0000 (15:00 +0000)]
avr.c (print_operand): Support code = 'i' for CONST_INT.

* config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.

From-SVN: r181722

12 years agore PR other/51011 (FAIL: gcc.dg/atomic-generic.c (test for excess errors))
Andrew MacLeod [Fri, 25 Nov 2011 13:35:13 +0000 (13:35 +0000)]
re PR other/51011 (FAIL: gcc.dg/atomic-generic.c (test for excess errors))

2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR other/51011
* tree.h (is_builtin_name): No longer external.
* builtins.c (is_builtin_name): Make static.
* varasm.c (incorporeal_function_p): __sync and __atomic external calls
are not incorporeal and may need asm label processing.

From-SVN: r181721

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Fri, 25 Nov 2011 10:46:10 +0000 (10:46 +0000)]
re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)

PR target/50566
* config/avr/avr-protos.h (avr_log_t): Add field .builtin.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
Don't bypass TARGET_ALL_DEBUG.  Print self-info with ?.
(avr_log_vadump): Support %D and %X to print double_int.
(avr_double_int_pop_digit): New static function.
(avr_dump_double_int_hex): New static function.

From-SVN: r181718

12 years agoFix ChangeLog typo for last commit.
Kirill Yukhin [Fri, 25 Nov 2011 10:34:16 +0000 (10:34 +0000)]
Fix ChangeLog typo for last commit.

From-SVN: r181715

12 years agore PR target/51287 (252.eon compfail with -march=atom)
Enkovich Ilya [Fri, 25 Nov 2011 09:46:27 +0000 (09:46 +0000)]
re PR target/51287 (252.eon compfail with -march=atom)

       PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

From-SVN: r181713

12 years agore PR c/51256 (ICE with invalid parameter for __atomic builtin)
Andrew MacLeod [Fri, 25 Nov 2011 03:00:38 +0000 (03:00 +0000)]
re PR c/51256 (ICE with invalid parameter for __atomic builtin)

2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR c/51256
* c-common.c (get_atomic_generic_size): Check for various error
conditions
(resolve_overloaded_atomic_exchange,
resolve_overloaded_atomic_compare_exchange,
resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
error_mark_node for error conditions.
* gcc.dg/atomic-pr51256.c: New.  Test error conditions.

From-SVN: r181709

12 years agore PR c++/51227 ([c++0x] ICE with invalid parameter in lambda expression)
Paolo Carlini [Fri, 25 Nov 2011 01:00:44 +0000 (01:00 +0000)]
re PR c++/51227 ([c++0x] ICE with invalid parameter in lambda expression)

/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51227
* pt.c (instantiate_class_template_1): If lambda_function (type)
is NULL_TREE do not instantiate_decl.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51227
* g++.dg/cpp0x/lambda/lambda-ice5.C: New.

From-SVN: r181707

12 years agoDaily bump.
GCC Administrator [Fri, 25 Nov 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181706

12 years agooptab.c (maybe_emit_atomic_exchange): New.
Andrew MacLeod [Thu, 24 Nov 2011 23:14:31 +0000 (23:14 +0000)]
optab.c (maybe_emit_atomic_exchange): New.

2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

* optab.c (maybe_emit_atomic_exchange): New.  Try to emit an
atomic_exchange pattern.
(maybe_emit_sync_lock_test_and_set): New.  Try to emit an exchange
using __sync_lock_test_and_set.
(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
exchange using a compare_and_swap loop.
(expand_sync_lock_test_and_set): New.  Expand sync_lock_test_and_set.
(expand_atomic_test_and_set): New.  Expand test_and_set operation.
(expand_atomic_exchange): Use new maybe_emit_* functions.
(expand_atomic_store): Use new maybe_emit_* functions.
* builtins.c (expand_builtin_sync_lock_test_and_set): Call
expand_sync_lock_test_and_set routine.
(expand_builtin_atomic_exchange): Remove parameter from call.
(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
(expand_builtin_atomic_test_and_set): Add target and simply call
expand_atomic_test_and_set.
(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
* expr.h (expand_atomic_exchange): Add parameter.
(expand_sync_lock_test_and_set): New prototype.
(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.

From-SVN: r181702

12 years agoRevert revision 181357.
H.J. Lu [Thu, 24 Nov 2011 22:11:12 +0000 (22:11 +0000)]
Revert revision 181357.

gcc/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* config/i386/i386.h (processor_costs): Revert revision 181357.
* config/i386/i386.c (cost models): Likewise.
(core_cost): Likewise.
(promote_duplicated_reg): Likewise.
(promote_duplicated_reg_to_size): Likewise.
(processor_target): Likewise.
(expand_set_or_movmem_via_loop_with_iter): Likewise.
(expand_set_or_movmem_via_loop): Likewise.
(emit_strset): Likewise.
(expand_movmem_epilogue): Likewise.
(expand_setmem_epilogue): Likewise.
(expand_movmem_prologue): Likewise.
(expand_setmem_prologue): Likewise.
(expand_constant_movmem_prologue): Likewise.
(expand_constant_setmem_prologue): Likewise.
(decide_alg): Likewise.
(decide_alignment): Likewise.
(ix86_expand_movmem): Likewise.
(ix86_expand_setmem): Likewise.
(ix86_slow_unaligned_access): Likewise.
* config/i386/i386.md (strset): Likewise.
* config/i386/sse.md (vec_dupv4si): Likewise.
(vec_dupv2di): Likewise.

gcc/testsuite/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* gcc.target/i386/sw-1.c: Revert revision 181357.

From-SVN: r181701

12 years agoavr.md (*rotlhi2.15): Set length to 4.
Georg-Johann Lay [Thu, 24 Nov 2011 21:12:00 +0000 (21:12 +0000)]
avr.md (*rotlhi2.15): Set length to 4.

* config/avr/avr.md (*rotlhi2.15): Set length to 4.

From-SVN: r181700

12 years agore PR fortran/51218 (Potential optimization bug due to implicit_pure?)
Tobias Burnus [Thu, 24 Nov 2011 17:57:41 +0000 (18:57 +0100)]
re PR fortran/51218 (Potential optimization bug due to implicit_pure?)

2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * resolve.c (pure_subroutine): If called subroutine is
        impure, unset implicit_pure.
        (resolve_function): Move impure check to simplify code.

2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * gfortran.dg/implicit_pure_1.f90: New.

From-SVN: r181698

12 years agoFix several atomic tests on 32-bit x86 (PR testsuite/51258)
Rainer Orth [Thu, 24 Nov 2011 16:34:09 +0000 (16:34 +0000)]
Fix several atomic tests on 32-bit x86 (PR testsuite/51258)

PR testsuite/51258
* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
* gcc.dg/atomic-exchange-5.c: Likewise.
* gcc.dg/atomic-load-5.c: Likewise.
* gcc.dg/atomic-op-5.c: Likewise.
* gcc.dg/atomic-store-5.c: Likewise.
* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.

From-SVN: r181697

12 years agoFix bootstrap error in s-taprop-tru64.adb
Rainer Orth [Thu, 24 Nov 2011 16:27:31 +0000 (16:27 +0000)]
Fix bootstrap error in s-taprop-tru64.adb

* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

From-SVN: r181696

12 years agore PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with ...
Jakub Jelinek [Thu, 24 Nov 2011 15:23:18 +0000 (16:23 +0100)]
re PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with -O2 -fwhole-program -fno-tree-loop-optimize -fno-tree-vrp -funroll-loops)

PR rtl-optimization/50290
* gcc.dg/pr50290.c: New test.

From-SVN: r181694

12 years agotree-data-ref.c (initialize_data_dependence_relation): Update
Razya Ladelsky [Thu, 24 Nov 2011 14:07:36 +0000 (14:07 +0000)]
tree-data-ref.c (initialize_data_dependence_relation): Update

        * tree-data-ref.c (initialize_data_dependence_relation): Update
        * comment for the
        self dependence case.
        (compute_self_dependence): Remove.
        * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
        compute_self_dependenc.

From-SVN: r181691

12 years agore PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast)
Paolo Carlini [Thu, 24 Nov 2011 10:20:43 +0000 (10:20 +0000)]
re PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast)

/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51290
* class.c (build_base_path): For the null pointer check use
nullptr_node instead of integer_zero_node.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51290
* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.

From-SVN: r181690

12 years agore PR bootstrap/50888 (Bootstrap failure in libjava against latest git glibc)
Jakub Jelinek [Thu, 24 Nov 2011 07:18:16 +0000 (08:18 +0100)]
re PR bootstrap/50888 (Bootstrap failure in libjava against latest git glibc)

PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.

From-SVN: r181685

12 years agoc-decl.c (warn_if_shadowing): Don't warn if shadowed identifier is from system header.
Alan Modra [Thu, 24 Nov 2011 02:45:21 +0000 (13:15 +1030)]
c-decl.c (warn_if_shadowing): Don't warn if shadowed identifier is from system header.

* c-decl.c (warn_if_shadowing): Don't warn if shadowed
identifier is from system header.

From-SVN: r181684

12 years agoDaily bump.
GCC Administrator [Thu, 24 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181683

12 years agore PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearl...
François Dumont [Wed, 23 Nov 2011 20:30:18 +0000 (20:30 +0000)]
re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty)

2011-11-23  François Dumont <fdumont@gcc.gnu.org>

PR libstdc++/41975
* include/bits/hashtable.h (_Hashtable<>): Major data model
modification to limit performance impact of empty buckets in
erase(iterator) implementation.
* include/bits/hashtable_policy.h (_Hashtable_iterator,
_Hashtable_const_iterator): Remove not used anymore.
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
_M_grow_factor, just use natural evolution of prime numbers. Add
_M_prev_size to know when the number of buckets can be reduced.
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>), unordered_map.h (__unordered_map<>,
__unordered_multimap<>): Change default value of cache hash code
template parameter, false for integral types with noexcept hash
functor, true otherwise.
* include/debug/unordered_map, unordered_set: Adapt transformation
from iterator/const_iterator to respectively
local_iterator/const_local_iterator.
* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
* testsuite/23_containers/unordered_multiset/erase/1.cc,
24061-multiset.cc: Add checks on the number of bucket elements.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
multiset_single.cc, multiset_single_move.cc: Likewise.

From-SVN: r181677

12 years agore PR target/51261 (-fcompare-debug with memset())
Jakub Jelinek [Wed, 23 Nov 2011 20:29:08 +0000 (21:29 +0100)]
re PR target/51261 (-fcompare-debug with memset())

PR target/51261
* config/i386/i386.c (decide_alg): Initialize *dynamic_check
even if !optimize.

* gcc.dg/pr51261.c: New test.

From-SVN: r181676

12 years agore PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
Vladimir Makarov [Wed, 23 Nov 2011 18:51:17 +0000 (18:51 +0000)]
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)

2011-11-23  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/48455
* doc/invoke.texi (-fira-region): Document default values.

* flags-types.h (enum ira_region): Add new value
IRA_REGION_AUTODETECT.

* common.opt (fira-region): Set up initial value to
IRA_REGION_AUTODETECT.

* toplev.c (process_options): Set up flag_ira_region depending on
-O options.

* ira.c (ira.c): Remove optimize guard for ira_build.

From-SVN: r181675

12 years agolang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer...
Jeffrey A Law [Wed, 23 Nov 2011 17:37:01 +0000 (17:37 +0000)]
lang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer dereference will cause a fault.

* lang.c (java_init_options_struct): Disable optimizations
which assume a NULL pointer dereference will cause a fault.

From-SVN: r181674

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 14:05:26 +0000 (15:05 +0100)]
[multiple changes]

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
only on platforms where this is required, as determined by
s-oscons.h.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb: No check on entry index if error on index.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
return statements nested inside an extended_return_statement.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.

From-SVN: r181670

12 years agomlib-tgt-specific-vxworks.adb: Minor reformatting.
Thomas Quinot [Wed, 23 Nov 2011 13:53:11 +0000 (14:53 +0100)]
mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.

From-SVN: r181669

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 13:51:23 +0000 (14:51 +0100)]
[multiple changes]

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_All_Ent): An incomplete type is not
frozen by a subprogram body that does not come from source.

2011-11-23  Pascal Obry  <obry@adacore.com>

* s-oscons-tmplt.c: Add PTY_Library constant. It contains
the library for pseudo terminal support.
* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
pragma.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb: No check on entry family index if generic.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
System.OS_Constants from shared spec of
System.Tasking.Primitive_Operations to the specific body variants
that really require this dependency.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
If the declaration has aspects, analyze them so they can be
properly rejected.

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
Add with and use clause for Ada.Finalization. Type
Iterator and Child_Iterator are now derived from Limited_Controlled.
(Finalize): New routine.
(Iterate): Add a renaming of counter Busy and
increment it. Update the return aggregate.
(Iterate_Children): Add a renaming of
counter Busy and increment it. Update the return aggregate.
(Iterate_Subtree): Add a renaming of counter Busy and increment
it. Update the return aggregate.
* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
type.
* a-cihama.ads: Type Map_Access is now a general access type.
* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
associated with the tree.
* a-cohama.ads: Type Map_Access is now a general access type.
* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
access type.
* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
to wrap the loop as this is done at an earlier step, during
analysis. The declarations of the iterator and the cursor use
the usual Insert_Action mechanism when added into the tree.
* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
Loop_Statement and replace all respective uses by N. Add local
constant Loc. Preanalyze the loop iterator to discover whether
it is a container iterator and if it is, wrap the loop in a
block. This ensures that any controlled temporaries produced
by the iteration scheme share the same lifetime of the loop.
(Is_Container_Iterator): New routine.
(Is_Wrapped_In_Block): New routine.
(Pre_Analyze_Range): Move spec and body to the library level.

2011-11-23  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
that controls casing of type and subtype names.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb: Minor addition of comments.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* prj-part.adb (Extension_Withs): New global variable,
contains the head of the list of WITH clauses from the EXTENDS
ALL projects for which virtual packages are being created.
(Look_For_Virtual_Projects_For): When recursing through
an EXTENDS ALL, add the WITH clauses of the extending
project to Extension_Withs.  When adding a project to the
Virtual_Hash, record the associated Extension_Withs list.
(Create_Virtual_Extending_Project): Add a copy of the appropriate
Extension_Withs to the virtual project.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.

From-SVN: r181668

12 years agoa-cdlili.adb, [...] (Iterator): Declared Iterator type as limited (First...
Matthew Heaney [Wed, 23 Nov 2011 13:36:40 +0000 (13:36 +0000)]
a-cdlili.adb, [...] (Iterator): Declared Iterator type as limited (First...

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
Iterator type as limited (First, Last): Cursor return value
depends on iterator node value (Iterate): Use start position as
iterator node value (Next, Previous): Forward to corresponding
cursor-based operation.

From-SVN: r181667

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 13:32:44 +0000 (14:32 +0100)]
[multiple changes]

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
Renamed from Ordered_Set_Iterator_Interfaces.
* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
Iterator type as limited (First, Last): Cursor return value
depends on iterator node value (Iterate): Use start position as
iterator node value (Next, Previous): Forward to corresponding
cursor-based operation.
* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
node component (First, Next): Forward call to corresponding
cursor-based operation (Iterate): Representation of iterator no
longer has node component

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
dereference has a proper type before the side effect removal
mechanism kicks in.
* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
where the base type of the subtype is a private itype created
to act as the partial view of a constrained record type. This
scenario manifests with equivalent class-wide types for records
with unknown discriminants.

2011-11-23  Jerome Guitton  <guitton@adacore.com>

* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
reformatting/reorganization.

From-SVN: r181666

12 years agog-htable.ads: Remove old comments.
Thomas Quinot [Wed, 23 Nov 2011 13:22:51 +0000 (13:22 +0000)]
g-htable.ads: Remove old comments.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* g-htable.ads: Remove old comments.

From-SVN: r181665

12 years agore PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497)
Chung-Lin Tang [Wed, 23 Nov 2011 13:22:30 +0000 (13:22 +0000)]
re PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497)

2011-11-23  Chung-Lin Tang  <cltang@codesourcery.com>

PR rtl-optimization/50496
* jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
only after epilogue is created. Add comments.

From-SVN: r181664

12 years agoexp_imgv.adb: Minor reformatting.
Thomas Quinot [Wed, 23 Nov 2011 13:19:56 +0000 (13:19 +0000)]
exp_imgv.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* exp_imgv.adb: Minor reformatting.

From-SVN: r181663

12 years agoRemove hard coded clock id.
Arnaud Charlet [Wed, 23 Nov 2011 11:33:23 +0000 (12:33 +0100)]
Remove hard coded clock id.

From-SVN: r181662

12 years agoUpdate dependencies.
Arnaud Charlet [Wed, 23 Nov 2011 11:25:39 +0000 (12:25 +0100)]
Update dependencies.

From-SVN: r181661

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 11:24:48 +0000 (12:24 +0100)]
[multiple changes]

2011-11-23  Robert Dewar  <dewar@adacore.com>

* sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
family bounds out of range.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
type as limited, and remove node component.
(First, Next): Forward call to corresponding cursor-based operation.
(Iterate): Representation of iterator no longer has node component.

2011-11-23  Yannick Moy  <moy@adacore.com>

* exp_util.adb: Revert previous change to remove side-effects in Alfa
mode, which is not the correct thing to do for renamings.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
s-taprop-posix.adb: Remove hard-coded clock ids;
instead, generate them in System.OS_Constants.
(System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
id of the clock providing Ada.Real_Time.Monotonic_Clock.
* thread.c: New file.
(__gnat_pthread_condattr_setup): New function. For platforms where
CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
variable attribute.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb: Restore the use of Expander_Active instead of
Full_Expander_Active, so that the evaluation is forced in Alfa
mode too. Otherwise, we end up with an unexpected insertion in a
place where it is not supposed to happen, on default parameters
of a call.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
for Pretty_Print, for use from within gdb.

From-SVN: r181660

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 11:04:39 +0000 (12:04 +0100)]
[multiple changes]

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
and the cursor declarations in a block, so that the loop variable
is local to the construct.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
type Reversible_Iterator'Class.
* a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
Declare type as limited.
(First, Last): Return value depends on iterator's start node value.
(Next, Previous): Call corresponding Cursor-based operation.
(Iterate): Indicate whether complete or partial iteration

From-SVN: r181659

12 years agoerrout.adb: Minor reformattin (Finalize): Take templates into account for warning...
Robert Dewar [Wed, 23 Nov 2011 11:02:03 +0000 (11:02 +0000)]
errout.adb: Minor reformattin (Finalize): Take templates into account for warning suppression.

2011-11-23  Robert Dewar  <dewar@adacore.com>

* errout.adb: Minor reformattin (Finalize): Take templates into
account for warning suppression.
* errout.ads (Set_Specific_Warning_Off): Add Used parameter.
* erroutc.adb: Minor reformatting (Finalize): Take generic
templates into account for warning suppress.
* erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
* sem_prag.adb: Minor reformatting (Analyze_Pragma,
case Warnings): Provide Used parameter in call to
Set_Specific_Warnings_Off (to deal with generic template case).

From-SVN: r181658

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 11:00:29 +0000 (12:00 +0100)]
[multiple changes]

2011-11-23  Pascal Obry  <obry@adacore.com>

* sem_prag.adb (Process_Convention): Better error message for
stdcall convention on dispatching calls.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb, sem_ch13.adb: Minor reformatting.

2011-11-23  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Simple_Function_Return): Add missing
implicit type conversion when the returned object is allocated
in the secondary stack and the type of the returned object is
an interface. Done to force generation of displacement of the
"this" pointer.

From-SVN: r181657

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 10:58:14 +0000 (11:58 +0100)]
[multiple changes]

2011-11-23  Pascal Obry  <obry@adacore.com>

* impunit.adb: Add g-exptty and g-tty units.

2011-11-23  Robert Dewar  <dewar@adacore.com>

* exp_imgv.adb: Minor code reorganization (use Make_Temporary).

From-SVN: r181656

12 years ago[multiple changes]
Arnaud Charlet [Wed, 23 Nov 2011 10:54:21 +0000 (11:54 +0100)]
[multiple changes]

2011-11-23  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
reformatting.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
line of precondition/ postcondition/invariant.
2011-11-23  Pascal Obry  <obry@adacore.com>

* g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
terminals.c: New files.
Makefile.rtl: Add these new files.
* gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
* gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r181655

12 years agoMakefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
Iain Sandoe [Wed, 23 Nov 2011 09:46:59 +0000 (09:46 +0000)]
Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".

libitm:

* Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
* Makefile.in: Regenerate.

From-SVN: r181654

12 years agoPR c++/51145 - Alias template in elaborated-type-specifier accepted
Dodji Seketeli [Wed, 23 Nov 2011 08:23:59 +0000 (08:23 +0000)]
PR c++/51145 - Alias template in elaborated-type-specifier accepted

gcc/cp/

PR c++/51145
* decl.c (check_elaborated_type_specifier): Gracefully handle
error_mark_node.  Accept bound template template parameters.
Update diagnostics for alias template specializations.  Update
comment.
* parser.c (cp_parser_elaborated_type_specifier): Use
check_elaborated_type_specifier for simple-template-ids as well.

gcc/testsuite/

PR c++/51145
* g++.dg/cpp0x/alias-decl-14.C: New test.
* g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
passing before.
* g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
change.
* g++.dg/ext/attrib27.C: Adjust for diagnostic change.
* g++.dg/lookup/struct1.C: Likewise.
* g++.dg/parse/elab1.C: Likewise.
* g++.dg/parse/elab2.C: Likewise.
* g++.dg/parse/int-as-enum1.C: Likewise.
* g++.dg/parse/typedef1.C: Likewise.
* g++.dg/parse/typedef3.C: Likewise.
* g++.dg/parse/typedef4.C: Likewise.
* g++.dg/parse/typedef5.C: Likewise.
* g++.dg/template/crash26.C: Likewise.
* g++.dg/template/nontype4.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.brendan/line1.C: Likewise.
* g++.old-deja/g++.other/elab1.C: Likewise.
* g++.old-deja/g++.other/syntax4.C: Likewise.

From-SVN: r181653

12 years agoDaily bump.
GCC Administrator [Wed, 23 Nov 2011 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r181648

12 years agoia64: Update to atomic optabs
Richard Henderson [Tue, 22 Nov 2011 23:13:48 +0000 (15:13 -0800)]
ia64: Update to atomic optabs

        * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
        Generate the barrier required for the memory model.
        (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
        (UNSPEC_CMPXCHG_REL): New.
        * config/ia64/sync.md (mem_thread_fence): New.
        (atomic_load<IMODE>, atomic_store<IMODE>): New.
        (atomic_compare_and_swap<IMODE>): New.
        (cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
        (atomic_exchange<IMODE>): New.
        (xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
        (atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
        (atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
        (atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
        (fetchadd_rel_<I48MODE>): New.
        (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
        (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
        (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
        (sync_compare_and_swap<IMODE>): Remove.
        (sync_lock_release<IMODE>): Remove.

From-SVN: r181643

12 years agoia64: Use define_c_enum for unspec constants.
Richard Henderson [Tue, 22 Nov 2011 22:55:58 +0000 (14:55 -0800)]
ia64: Use define_c_enum for unspec constants.

        * config/ia64/ia64.md: Use define_e_enum for UNSPEC_*
        and UNSPECV_* constants.

From-SVN: r181642

12 years agore PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243...
Tom de Vries [Tue, 22 Nov 2011 20:55:10 +0000 (20:55 +0000)]
re PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -O2 -fsched2-use-superblocks -ftree-tail-merge)

2011-11-22  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/50764
* gcc.dg/pr50764.c: New test.

From-SVN: r181640

12 years agore PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243...
Tom de Vries [Tue, 22 Nov 2011 20:55:01 +0000 (20:55 +0000)]
re PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -O2 -fsched2-use-superblocks -ftree-tail-merge)

2011-11-22  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/50764
* sched-deps.c (sched_analyze_insn): Make sure frame-related insns are
not moved past preceding jump.

From-SVN: r181639

12 years agore PR c++/51265 (ICE in finish_decltype_type, at cp/semantics.c:5244)
Paolo Carlini [Tue, 22 Nov 2011 20:48:33 +0000 (20:48 +0000)]
re PR c++/51265 (ICE in finish_decltype_type, at cp/semantics.c:5244)

/cp
2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51265
* semantics.c (finish_decltype_type): Handle PTRMEM_CST.

/testsuite
2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51265
* g++.dg/cpp0x/decltype36.C: New.

From-SVN: r181638

12 years agocontrib.texi: Add entry for David Binderman.
Jeff Law [Tue, 22 Nov 2011 20:32:19 +0000 (13:32 -0700)]
contrib.texi: Add entry for David Binderman.

* doc/contrib.texi: Add entry for David Binderman.

From-SVN: r181634

12 years agoruntime: New lock/note implementation.
Ian Lance Taylor [Tue, 22 Nov 2011 20:24:44 +0000 (20:24 +0000)]
runtime: New lock/note implementation.

From-SVN: r181633

12 years agopostreload.c (reload_combine): Mark reg_state as invalid at volatile insns if there...
Andreas Krebbel [Tue, 22 Nov 2011 19:52:34 +0000 (19:52 +0000)]
postreload.c (reload_combine): Mark reg_state as invalid at volatile insns if there has been a use already.

2011-11-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* postreload.c (reload_combine): Mark reg_state as invalid at
volatile insns if there has been a use already.

From-SVN: r181631

12 years agoopts.c (finish_options): Do not fail for -fgnu-tm.
Aldy Hernandez [Tue, 22 Nov 2011 18:37:16 +0000 (18:37 +0000)]
opts.c (finish_options): Do not fail for -fgnu-tm.

        * opts.c (finish_options): Do not fail for -fgnu-tm.
        * gimple-streamer-out.c (output_gimple_stmt): Handle GIMPLE_TRANSACTION.
        * gimple-streamer-in.c (input_gimple_stmt): Same.
        * lto-cgraph.c (input_overwrite_node): Read tm_clone bit.
        (lto_output_node): Write tm_clone bit.
lto/
        * lto-lang.c (lto_attribute_table): Handle transaction_pure.
        (handle_transaction_pure_attribute): New.

From-SVN: r181629

12 years agoinstall.texi (Configuration): Correct doc of --enable-build-poststage1-with-cxx:...
Ian Lance Taylor [Tue, 22 Nov 2011 17:25:51 +0000 (17:25 +0000)]
install.texi (Configuration): Correct doc of --enable-build-poststage1-with-cxx: it is not experimental.

* doc/install.texi (Configuration): Correct doc of
--enable-build-poststage1-with-cxx: it is not experimental.

From-SVN: r181628

12 years agore PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_I...
Jakub Jelinek [Tue, 22 Nov 2011 16:57:33 +0000 (17:57 +0100)]
re PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_INTERLEAVE*EXPR, VEC_EXTRACT*EXPR)

PR tree-optimization/51074
* fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR
handling for BYTES_BIG_ENDIAN.
* optabs.c (can_vec_perm_for_code_p): Likewise.

* gcc.dg/vect/pr51074.c: New test.

From-SVN: r181627

12 years agoPR c++/51143 - Alias template allows class definition
Dodji Seketeli [Tue, 22 Nov 2011 16:41:10 +0000 (16:41 +0000)]
PR c++/51143 - Alias template allows class definition

gcc/cp

PR c++/51143
* parser.c (cp_parser_alias_declaration): Don't allow type
definition in templates.

gcc/testsuite

PR c++/51143
* g++.dg/cpp0x/alias-decl-16.C: New test.

From-SVN: r181626

12 years agoline-map.h (linemap_dump): Declare.
Diego Novillo [Tue, 22 Nov 2011 16:13:00 +0000 (11:13 -0500)]
line-map.h (linemap_dump): Declare.

* include/line-map.h (linemap_dump): Declare.
(line_table_dump): Declare.
* line-map.c (linemap_dump): New.
(line_table_dump): New.

From-SVN: r181625

12 years agofix linenos
Jason Merrill [Tue, 22 Nov 2011 15:53:28 +0000 (10:53 -0500)]
fix linenos

From-SVN: r181624

12 years agoremove mention of EH_FILTER_MUST_NOT_THROW
Jason Merrill [Tue, 22 Nov 2011 15:53:18 +0000 (10:53 -0500)]
remove mention of EH_FILTER_MUST_NOT_THROW

From-SVN: r181623

12 years agore PR c++/51196 (FAIL: g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C)
Paolo Carlini [Tue, 22 Nov 2011 15:04:27 +0000 (15:04 +0000)]
re PR c++/51196 (FAIL: g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C)

2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51196
* typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
the -Wzero-as-null-pointer-constant warning for pmf == 0.

From-SVN: r181620

12 years agore PR other/51125 (FAIL: g++.dg/tm/pr45940-3.C)
Michael Matz [Tue, 22 Nov 2011 14:55:58 +0000 (14:55 +0000)]
re PR other/51125 (FAIL: g++.dg/tm/pr45940-3.C)

PR other/51125
* trans-mem.c (expand_block_tm): Ignore clobbers.

From-SVN: r181619

12 years agoweakref.m4: New file.
Iain Sandoe [Tue, 22 Nov 2011 14:49:11 +0000 (14:49 +0000)]
weakref.m4: New file.

config:

* weakref.m4: New file.

libitm:

* configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
* alloc_cpp.cc: Generate dummy functions if we don't
HAVE_ELF_STYLE_WEAKREF.
* eh_cpp.cc: Likewise.
* configure: Regenerate.
* aclocal.m4:  Likewise.
* config.h.in: Likewise.
* Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r181618

12 years agore PR rtl-optimization/50765 (ICE: in expand_insn, at optabs.c:7681 with -ftree-vecto...
Jakub Jelinek [Tue, 22 Nov 2011 14:22:56 +0000 (15:22 +0100)]
re PR rtl-optimization/50765 (ICE: in expand_insn, at optabs.c:7681 with -ftree-vectorize -fno-tree-dce)

PR tree-optimization/50765
* gcc.dg/pr50765.c: New test.

From-SVN: r181617

12 years agodarwin.h (ENDFILE_SPEC): New.
Iain Sandoe [Tue, 22 Nov 2011 13:51:07 +0000 (13:51 +0000)]
darwin.h (ENDFILE_SPEC): New.

gcc:

*  config/darwin.h (ENDFILE_SPEC): New.
(DARWIN_CRT1_SPEC): Add crttms.o.
(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.

libgcc:

* config/darwin-crt-tm.c: New file.
* config.host (darwin): Build crttms.o crttme.o to provide
startup and shutdown for tm clones.
* config/t-darwin (crttms.o): New build rule.
(crttme.o): Likewise.

From-SVN: r181616

12 years agore PR c++/51264 (O0 Bootstrap failure: control reaches end of non-void function)
Michael Matz [Tue, 22 Nov 2011 13:32:15 +0000 (13:32 +0000)]
re PR c++/51264 (O0 Bootstrap failure: control reaches end of non-void function)

PR c++/51264
* tree.c (iterative_hash_expr): Remove break after return.

From-SVN: r181615

12 years agoFor Matthew Gretton-Dann
Matthew Gretton-Dann [Tue, 22 Nov 2011 11:04:46 +0000 (11:04 +0000)]
For Matthew Gretton-Dann

2011-11-22  Matthew Gretton-Dann<matthew.gretton-dann@arm.com>

         * gcc.dg/vshift-1.c (main): Call rand instead of random.
         * gcc.dg/vshift-3.c (main): Likewise.

From-SVN: r181614

12 years agotarget.def (tm_clone_table_section): New hook.
Iain Sandoe [Tue, 22 Nov 2011 10:19:19 +0000 (10:19 +0000)]
target.def (tm_clone_table_section): New hook.

gcc:

* target.def (tm_clone_table_section): New hook.
* doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
* doc/tm.texi: Regenerate.
* varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
* output.h (default_clone_table_section): New prototype.
* config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
* config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
* config/darwin.c (darwin_tm_clone_table_section): New.

gcc/testsuite:

     * gcc.dg/tm/20100615.c: Adjust for Darwin tm_clone_table section name.

From-SVN: r181613

12 years agosjlj.S (CONCAT1, [...]): Respond to __USER_LABEL_PREFIX__ for targets that use it.
Iain Sandoe [Tue, 22 Nov 2011 09:57:19 +0000 (09:57 +0000)]
sjlj.S (CONCAT1, [...]): Respond to __USER_LABEL_PREFIX__ for targets that use it.

libitm:

* config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
__USER_LABEL_PREFIX__ for targets that use it.
TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
(_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
in portability to non-elf targets.
(GTM_longjmp): LIkewise.
* libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
where required.

From-SVN: r181612

12 years agomemcpy-1.c: Allow for MAP_ANON spelling.
Iain Sandoe [Tue, 22 Nov 2011 09:49:32 +0000 (09:49 +0000)]
memcpy-1.c: Allow for MAP_ANON spelling.

libitm:

* testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
* testsuite/libitm.c/memset-1.c: Likewise.

From-SVN: r181611

12 years agogcov-16.c: Adjust scan-assembler for Darwin.
Iain Sandoe [Tue, 22 Nov 2011 08:50:40 +0000 (08:50 +0000)]
gcov-16.c: Adjust scan-assembler for Darwin.

gcc/testsuite:

* gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
* gcc.misc-tests/gcov-17.c: Likewise.
* g++.dg/gcov/gcov-8.C: Likewise.
* g++.dg/gcov/gcov-9.C: Likewise.

From-SVN: r181610

12 years agoMakefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.
Hans-Peter Nilsson [Tue, 22 Nov 2011 03:01:02 +0000 (03:01 +0000)]
Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.

* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
et al.

From-SVN: r181608

12 years agofunctional (is_placeholder, [...]): Add partial specializations for cv-qualified...
Jonathan Wakely [Tue, 22 Nov 2011 00:40:47 +0000 (00:40 +0000)]
functional (is_placeholder, [...]): Add partial specializations for cv-qualified types.

* include/std/functional (is_placeholder, is_bind_expression): Add
partial specializations for cv-qualified types.
* include/tr1/functional (is_placeholder, is_bind_expression): Add
partial specializations for std::bind and std::placeholders and for
cv-qualified types.
* testsuite/20_util/bind/cv_quals_3.cc: New.
* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
* testsuite/tr1/3_function_objects/bind/mixed.cc: New.

From-SVN: r181607

12 years agoDaily bump.
GCC Administrator [Tue, 22 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181606

12 years agoPR47747: Fix error messages for calls to unsafe virtual functions.
Torvald Riegel [Mon, 21 Nov 2011 22:29:31 +0000 (22:29 +0000)]
PR47747: Fix error messages for calls to unsafe virtual functions.

gcc/
* trans-mem.c (diagnose_tm_1): Print an expression instead of a
declaration in error messages for indirect calls.

testsuite/
g++.dg/tm/pr47747.C: New test.

From-SVN: r181602

12 years agoFix instantiation of transaction expressions.
Torvald Riegel [Mon, 21 Nov 2011 22:29:13 +0000 (22:29 +0000)]
Fix instantiation of transaction expressions.

gcc/cp/
* pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.

gcc/testsuite/
* g++.dg/tm/template-2.C: New test.

From-SVN: r181601

12 years agoFix crtstuff merge error with transactional-memory branch.
Richard Henderson [Mon, 21 Nov 2011 22:10:06 +0000 (14:10 -0800)]
Fix crtstuff merge error with transactional-memory branch.

        * crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
        (__TMC_LIST__, __TMC_END__): New.
        (__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
        (__do_global_dtors): Likewise.
        (frame_dummy): Call _ITM_registerTMCloneTable.
        (__do_global_ctors_1): Likewise.

From-SVN: r181600

12 years agoCorrect sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.
David S. Miller [Mon, 21 Nov 2011 21:50:58 +0000 (21:50 +0000)]
Correct sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.

* config/sparc/sparc.c (sparc_regmode_natural_size): New function
implementing REGMODE_NATURAL_SIZE taking into consideration vector
modes.
(sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
* config/sparc/sparc-protos.h (sparc_regmode_natural_size,
sparc_modes_tieable_p): Declare.
* gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
MODES_TIEABLE_P): Use new helper functions.

From-SVN: r181599

12 years agoRevert regression causing changes to store_bit_field_1.
David S. Miller [Mon, 21 Nov 2011 21:50:41 +0000 (21:50 +0000)]
Revert regression causing changes to store_bit_field_1.

Revert
2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR middle-end/50325
* expmed.c (store_bit_field_1): Use extract_bit_field on big
endian targets if the source cannot be exactly covered by word
mode chunks.

From-SVN: r181598

12 years agore PR debug/50827 (ICE: RTL check: expected elt 0 type 'e' or 'u', have '0' (rtx...
Jakub Jelinek [Mon, 21 Nov 2011 21:07:19 +0000 (22:07 +0100)]
re PR debug/50827 (ICE: RTL check: expected elt 0 type 'e' or 'u', have '0' (rtx entry_value) in loc_cmp, at var-tracking.c:3011)

PR debug/50827
* var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
macro instead of XEXP.

* gcc.dg/pr50827.c: New test.

From-SVN: r181597

12 years ago* MAINTAINERS: Add self as co-maintainer of the Ada front end.
Eric Botcazou [Mon, 21 Nov 2011 19:50:11 +0000 (20:50 +0100)]
* MAINTAINERS: Add self as co-maintainer of the Ada front end.

From-SVN: r181596

12 years agore PR c++/50958 ([C++0x] raw literal operator provides incorrect string for integer...
Ed Smith-Rowland [Mon, 21 Nov 2011 19:27:30 +0000 (19:27 +0000)]
re PR c++/50958 ([C++0x] raw literal operator provides incorrect string for integer literal '0')

PR c++/50958
gcc/cp/
* parser.c (lookup_literal_operator): New.
(cp_parser_userdef_char_literal): Use it.
(cp_parser_userdef_numeric_literal): Use it.
(cp_parser_userdef_string_literal): Use lookup_name.
libcpp/
* expr.c (cpp_userdef_char_remove_type): Fix typo.

From-SVN: r181595

12 years agotweak comment in perform_member_init
Jason Merrill [Mon, 21 Nov 2011 19:27:17 +0000 (14:27 -0500)]
tweak comment in perform_member_init

From-SVN: r181594

12 years agoAdditional fixes for FreeBSD-10 build:
Andreas Tobler [Mon, 21 Nov 2011 19:22:35 +0000 (20:22 +0100)]
Additional fixes for FreeBSD-10 build:

/: * libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/: * configure: Regenerate.
gcc/: * configure: Regenerate.
libffi/: * configure: Regenerate.
libgfortran/: * configure: Regenerate.
libgomp/: * configure: Regenerate.
libitm/: * configure: Regenerate.
libjava/: * configure.ac: Fix some more FreeBSD 10 issues..
* configure: Regenerate.
libjava/libltdl/: * acinclude.m4: Additional FreeBSD 10 fixes.
* configure: Regenerate.
libmudflap/: * configure: Regenerate.
libobjc/: * configure: Regenerate.
libquadmath/: * configure: Regenerate.
libssp/: * configure: Regenerate.
libstdc++-v3/: * configure: Regenerate.
lto-plugin/: * configure: Regenerate.
zlib/: * configure: Regenerate.

From-SVN: r181593

12 years agoavr.c (output_reload_in_const): Loading a byte with 0 must not affect cc0.
Georg-Johann Lay [Mon, 21 Nov 2011 19:17:52 +0000 (19:17 +0000)]
avr.c (output_reload_in_const): Loading a byte with 0 must not affect cc0.

* config/avr/avr.c (output_reload_in_const): Loading a byte with 0
must not affect cc0.
* config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
register does not change cc0. Same for any constant to ld-register.

From-SVN: r181592

12 years agommx.md (unspec): Move from config/i386/i386.md (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS...
Uros Bizjak [Mon, 21 Nov 2011 18:18:28 +0000 (19:18 +0100)]
mmx.md (unspec): Move from config/i386/i386.md (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.

* config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
Move from config/i386/i386.md
(unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
* config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
(unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
Ditto.
* config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
(unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
(sse2_lfence): Move from config/i386/sse.md.
(*sse2_lfence): Ditto.
(sse_sfence): Ditto.
(*sse_sfence): Ditto.
(sse2_mfence): Ditto.
(mfence_sse2): Ditto.  Rename from *sse2_mfence.  Enable also
for TARGET_64BIT.
(mem_thread_fence): Use mfence_sse2.

From-SVN: r181590

12 years agoSupport sun symbol versioning in libitm
Rainer Orth [Mon, 21 Nov 2011 17:03:50 +0000 (17:03 +0000)]
Support sun symbol versioning in libitm

libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
(LIBITM_ENABLE_SYMVERS): Handle sun style.
* Makefile.am: Handle sun style versioning.
(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.

contrib:
* make_sunver.pl: Convert '?' in glob patterns to '.'.

From-SVN: r181588

12 years agoFix LIB2ADD overrides in libgcc
Rainer Orth [Mon, 21 Nov 2011 16:13:13 +0000 (16:13 +0000)]
Fix LIB2ADD overrides in libgcc

* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
* config/i386/t-darwin64: Remove.
* config/sh/t-netbsd (LIB2ADD): Remove.

From-SVN: r181587

12 years agoMAINTAINERS: Move myself from Write After Approval to CPU Port Maintainers section...
Joern Rennecke [Mon, 21 Nov 2011 15:13:34 +0000 (15:13 +0000)]
MAINTAINERS: Move myself from Write After Approval to CPU Port Maintainers section...

* MAINTAINERS: Move myself from Write After Approval to CPU Port
Maintainers section, as Epiphany maintainer.

From-SVN: r181584

12 years agoFix ultrasparc_vis[23]_hw tests
Rainer Orth [Mon, 21 Nov 2011 15:08:03 +0000 (15:08 +0000)]
Fix ultrasparc_vis[23]_hw tests

* lib/target-supports.exp
(check_effective_target_ultrasparc_vis2_hw): Call check_runtime
with ultrasparc_vis2_hw.
(check_effective_target_ultrasparc_vis3_hw): Call check_runtime
with ultrasparc_vis3_hw.

From-SVN: r181582

12 years ago[multiple changes]
Arnaud Charlet [Mon, 21 Nov 2011 14:45:41 +0000 (15:45 +0100)]
[multiple changes]

2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_imgv.adb (Expand_Width_Attribute): Handle case of
Discard_Names.
* sem_attr.adb (Eval_Attribute, case Width): Ditto.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

* sinfo.ads: Minor reformatting.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_util.adb: Minor reformatting. Update comments.

From-SVN: r181581

12 years agoexp_prag.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 21 Nov 2011 14:43:38 +0000 (14:43 +0000)]
exp_prag.adb, [...]: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
sem_ch6.adb: Minor reformatting.

From-SVN: r181580

12 years agoAdapt c-c++-common/tm/malloc.c for Solaris headers with C++
Rainer Orth [Mon, 21 Nov 2011 14:28:49 +0000 (14:28 +0000)]
Adapt c-c++-common/tm/malloc.c for Solaris headers with C++

* c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
*-*-solaris2* && c++.

From-SVN: r181579

12 years ago[multiple changes]
Arnaud Charlet [Mon, 21 Nov 2011 13:31:33 +0000 (14:31 +0100)]
[multiple changes]

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
Unrestricted_Access to deal with fact that we properly detect the
error if Access is used.
* gcc-interface/Make-lang.in: Update dependencies.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_prag.adb (Expand_Pragma_Check): Place error on first character
of expression.
* sem_res.adb (Resolve_Short_Circuit): Place error on first
character of expression.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case
Max_Size_In_Storage_Elements): Account for the size of the
hidden list header which precedes controlled objects allocated
on the heap.
* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
tables.
* sinfo.adb (Header_Size_Added): New routine.
(Set_Header_Size_Added): New routine.
* sinfo.ads: Add flag Controlled_Header_Added along with
associated comment.
(Header_Size_Added): New inlined routine.
(Set_Header_Size_Added): New inlined routine.
* s-stposu.adb (Allocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper
size of the header.
(Deallocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper size
of the header. (Header_Size_With_Padding): New routine.
(Nearest_Multiple_Rounded_Up): Removed along with its uses.
* s-stposu.ads (Header_Size_With_Padding): New routine.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* aspects.adb: Aspect specifications are allowed on renaming
declarations
* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
subprogram renaming declaration

From-SVN: r181576

12 years ago[multiple changes]
Arnaud Charlet [Mon, 21 Nov 2011 13:23:52 +0000 (14:23 +0100)]
[multiple changes]

2011-11-21  Tristan Gingold  <gingold@adacore.com>

* env.c: Remove unused declaration.

2011-11-21  Pascal Obry  <obry@adacore.com>

* s-os_lib.ads: Minor style fix.

2011-11-21  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
identical, do nothing on Windows XP.

2011-11-21  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
Use Full_Expander_Active instead of Expander_Active to control
the forced evaluation of expressions for the sake of generating
checks.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

* init.c: On FreeBSD, stack checking failures may raise SIGBUS.

2011-11-21  Tristan Gingold  <gingold@adacore.com>

* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
mode_read_binary, mode_write_binary, mode_append_binary,
mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
mode_read_binary_plus, mode_write_binary_plus,
mode_append_binary_plus): Remove unused declarations.

2011-11-21  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Minor rewording.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_imgv.adb (Expand_Width_Attribute): Emit
an error message rather than a warning when pragma Discard_Names
prevents the computation of 'Width. Do not emit an error through
the use of RE_Null.

2011-11-21  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
implicit type conversion when the type of the allocator is an
interface. Done to force generation of displacement of the "this"
pointer when required.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
functions, and is set when the expression is a completion of a
previous declaration.
* sem_ch6.adb (Analyze_Expression_Function): To determine properly
whether an expression function completes a previous declaration,
use Find_Corresponding_Spec, as when analyzing a subprogram body.

2011-11-21  Steve Baird  <baird@adacore.com>

* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
(Type_Access_Level): Improve comment.

From-SVN: r181575

12 years agoMakefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by means of -iquote unconditionally.
Eric Botcazou [Mon, 21 Nov 2011 12:24:34 +0000 (12:24 +0000)]
Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by means of -iquote unconditionally.

* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
means of -iquote unconditionally.

From-SVN: r181573

12 years ago[multiple changes]
Arnaud Charlet [Mon, 21 Nov 2011 12:05:56 +0000 (13:05 +0100)]
[multiple changes]

2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
reformatting.

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.

From-SVN: r181572

12 years agosem_util.ads: Update comment describing function Deepest_Access_Level.
Steve Baird [Mon, 21 Nov 2011 12:02:41 +0000 (12:02 +0000)]
sem_util.ads: Update comment describing function Deepest_Access_Level.

2011-11-21  Steve Baird  <baird@adacore.com>

* sem_util.ads: Update comment describing function
Deepest_Access_Level.
* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
generic formal type.
(Type_Access_Level): Return library level
for a generic formal type.
* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
calls with calls to Deepest_Type_Access_Level.
* sem_ch3.adb (Analyze_Component_Declaration): replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.
* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
Replace three Type_Access_Level calls with calls to
Deepest_Type_Access_Level.
(Resolve_Allocator): Replace a Type_Access_Level call with a call to
Deepest_Type_Access_Level.
(Valid_Conversion.Valid_Array_Conversion): Replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.

From-SVN: r181570