Bug 64847

Summary: [5 Regression] FAIL: 30_threads/shared_lock/requirements/explicit_instantiation.cc (test for excess errors)
Product: gcc Reporter: John David Anglin <danglin>
Component: libstdc++Assignee: Jonathan Wakely <redi>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 5.0   
Target Milestone: 5.0   
Host: hppa64-hp-hpux11.11 Target: hppa64-hp-hpux11.11
Build: hppa64-hp-hpux11.11 Known to work:
Known to fail: Last reconfirmed: 2015-03-11 00:00:00

Description John David Anglin 2015-01-28 20:57:25 UTC
spawn /test/gnu/gcc/objdir/./gcc/xg++ -shared-libgcc -B/test/gnu/gcc/objdir/./gcc -no
stdinc++ -L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/src -L/test/gnu/gcc/
objdir/hppa64-hp-hpux11.11/libstdc++-v3/src/.libs -L/test/gnu/gcc/objdir/hppa64-hp-hp
ux11.11/libstdc++-v3/libsupc++/.libs -B/opt/gnu64/gcc/gcc-5.0/hppa64-hp-hpux11.11/bin
/ -B/opt/gnu64/gcc/gcc-5.0/hppa64-hp-hpux11.11/lib/ -isystem /opt/gnu64/gcc/gcc-5.0/h
ppa64-hp-hpux11.11/include -isystem /opt/gnu64/gcc/gcc-5.0/hppa64-hp-hpux11.11/sys-in
clude -B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libstdc++-v3/src/.libs -D_GLIBCXX_
ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -DLOCALEDIR="."
-nostdinc++ -I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/hppa64-hp
-hpux11.11 -I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include -I/test/gn
u/gcc/gcc/libstdc++-v3/libsupc++ -I/test/gnu/gcc/gcc/libstdc++-v3/include/backward -I
/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util /test/gnu/gcc/gcc/libstdc++-v3/testsuit
e/30_threads/shared_lock/requirements/explicit_instantiation.cc -std=gnu++14 -S -o ex
plicit_instantiation.s
In file included from /test/gnu/gcc/gcc/libstdc++-v3/testsuite/30_threads/shared_lock
/requirements/explicit_instantiation.cc:26:0:
/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/shared_mutex: In member
 function 'bool std::shared_timed_mutex::try_lock_until(const std::chrono::time_point
<std::chrono::_V2::system_clock, _Dur2>&)':
/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/shared_mutex:131:58: er
ror: there are no arguments to 'pthread_rwlock_timedwrlock' that depend on a template
 parameter, so a declaration of 'pthread_rwlock_timedwrlock' must be available [-fpermissive]
  int __ret = pthread_rwlock_timedwrlock(&_M_rwlock, &__ts);
                                                          ^
/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/shared_mutex:131:58: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/shared_mutex: In member function 'bool std::shared_timed_mutex::try_lock_shared_until(const std::chrono::time_point<std::chrono::_V2::system_clock, _Dur2>&)':
/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/shared_mutex:210:58: error: there are no arguments to 'pthread_rwlock_timedrdlock' that depend on a template parameter, so a declaration of 'pthread_rwlock_timedrdlock' must be available [-fpermissive]
  int __ret = pthread_rwlock_timedrdlock(&_M_rwlock, &__ts);
                                                          ^
compiler exited with status 1

Similar fails:
FAIL: 30_threads/shared_lock/requirements/typedefs.cc (test for excess errors)
FAIL: 30_threads/shared_timed_mutex/requirements/standard_layout.cc (test for excess errors)
FAIL: experimental/feat-cxx14.cc
Comment 1 Jonathan Wakely 2015-03-12 19:17:52 UTC
https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00701.html should fix this
Comment 2 Jonathan Wakely 2015-03-13 13:27:54 UTC
(In reply to Jonathan Wakely from comment #1)
> https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00701.html should fix this

Actually no it won't, because it looks like HPUX supports pthread_wrlocK_t but not the timed-lock functions.

In which case, it should have been fixed by r220161 as part of PR64368

And indeed I don't see a current failure at
https://gcc.gnu.org/ml/gcc-testresults/2015-03/msg01405.html
https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg03251.html