[Bug 248795] std::random_shuffle broken with LLVM11

2020-08-23 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795

Kubilay Kocak  changed:

   What|Removed |Added

 Status|New |Open
   Assignee|toolch...@freebsd.org   |d...@freebsd.org
   Severity|Affects Only Me |Affects Some People
  Flags|maintainer-feedback?(toolch |mfc-stable12?
   |a...@freebsd.org)|

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248795] std::random_shuffle broken with LLVM11

2020-08-22 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795

--- Comment #2 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Aug 22 12:05:12 UTC 2020
New revision: 364482
URL: https://svnweb.freebsd.org/changeset/base/364482

Log:
  Add a few new source files to libc++, in particular the implementation
  part of std::random_shuffle. These were split off at some point by
  upstream, but I forgot to add them to our Makefile.

  This should allow some ports which use std::random_shuffle to correctly
  link again.

  Reported by:  thierry
  PR:   248795
  MFC after:6 weeks
  X-MFX-With:   r364284

Changes:
  head/lib/libc++/Makefile

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248795] std::random_shuffle broken with LLVM11

2020-08-22 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795

Thierry Thomas  changed:

   What|Removed |Added

 CC||thie...@freebsd.org

--- Comment #1 from Thierry Thomas  ---
Same error for the port math/hpcombi:

[14/22] : && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem
/usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe
-fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing
-isystem /usr/local/include -fstack-protector-strong -L/usr/local/lib
benchmark/CMakeFiles/sort.dir/sort.cpp.o -o benchmark/sort  -lbenchmark
-lpthread && :
FAILED: benchmark/sort
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem
/usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe
-fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing
-isystem /usr/local/include -fstack-protector-strong -L/usr/local/lib
benchmark/CMakeFiles/sort.dir/sort.cpp.o -o benchmark/sort  -lbenchmark
-lpthread && :
ld: error: undefined symbol: std::__1::__rs_default::~__rs_default()
>>> referenced by algorithm:3112 (/usr/include/c++/v1/algorithm:3112)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(rand_perms(int))
>>> referenced by algorithm:3112 (/usr/include/c++/v1/algorithm:3112)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(rand_perms(int))

ld: error: undefined symbol: std::__1::__rs_get()
>>> referenced by algorithm:3105 (/usr/include/c++/v1/algorithm:3105)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(rand_perms(int))

ld: error: undefined symbol: std::__1::__rs_default::operator()()
>>> referenced by algorithm:2950 (/usr/include/c++/v1/algorithm:2950)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(long
std::__1::uniform_int_distribution::operator()(s
td::__1::__rs_default&, std::__1::uniform_int_distribution::param_type
const&))
>>> referenced by algorithm:2950 (/usr/include/c++/v1/algorithm:2950)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(long
std::__1::uniform_int_distribution::operator()(s
td::__1::__rs_default&, std::__1::uniform_int_distribution::param_type
const&))
>>> referenced by algorithm:2950 (/usr/include/c++/v1/algorithm:2950)
>>>   benchmark/CMakeFiles/sort.dir/sort.cpp.o:(long
std::__1::uniform_int_distribution::operator()(s
td::__1::__rs_default&, std::__1::uniform_int_distribution::param_type
const&))
>>> referenced 1 more times
c++: error: linker command failed with exit code 1 (use -v to see invocation)

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


maintainer-feedback requested: [Bug 248795] std::random_shuffle broken with LLVM11

2020-08-20 Thread bugzilla-noreply
Tobias Kortkamp  has asked freebsd-toolchain (Nobody)
 for maintainer-feedback:
Bug 248795: std::random_shuffle broken with LLVM11
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795



--- Description ---
The following example no longer compiles after the LLVM11 import.
This affects a number of ports like x11/workrave, www/newsboat,
japanese/zinnia, ...  I can patch them to use shuffle instead, but
even though random_shuffle is deprecated it should still work,
right?

$ cat foo.cc
#include 
#include 

int main()
{
std::vector v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::random_shuffle(v.begin(), v.end());
}
$ c++ foo.cc
foo.cc:7:10: warning: 'random_shuffle>' is
deprecated [-Wdeprecated-declarations]
std::random_shuffle(v.begin(), v.end());
 ^
/usr/include/c++/v1/algorithm:3095:1: note:
'random_shuffle>' has been explicitly marked
deprecated here
_LIBCPP_DEPRECATED_IN_CXX14 void
^
/usr/include/c++/v1/__config:991:39: note: expanded from macro
'_LIBCPP_DEPRECATED_IN_CXX14'
#  define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED
  ^
/usr/include/c++/v1/__config:974:48: note: expanded from macro
'_LIBCPP_DEPRECATED'
#define _LIBCPP_DEPRECATED __attribute__ ((deprecated))
   ^
1 warning generated.
ld: error: undefined symbol: std::__1::__rs_get()
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void
std::__1::random_shuffle
>(std::__1::__wrap_iter, std::__1::__wrap_iter))

ld: error: undefined symbol: std::__1::__rs_default::~__rs_default()
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void
std::__1::random_shuffle
>(std::__1::__wrap_iter, std::__1::__wrap_iter))
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void
std::__1::random_shuffle
>(std::__1::__wrap_iter, std::__1::__wrap_iter))

ld: error: undefined symbol: std::__1::__rs_default::operator()()
>>> referenced by foo.cc
>>>  
/tmp/foo-6a4153.o:(std::__1::__independent_bits_engine::__eval(std::__1::integral_constant))
>>> referenced by foo.cc
>>>  
/tmp/foo-6a4153.o:(std::__1::__independent_bits_engine::__eval(std::__1::integral_constant))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248795] std::random_shuffle broken with LLVM11

2020-08-20 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795

Bug ID: 248795
   Summary: std::random_shuffle broken with LLVM11
   Product: Base System
   Version: CURRENT
  Hardware: Any
OS: Any
Status: New
  Keywords: regression
  Severity: Affects Only Me
  Priority: ---
 Component: bin
  Assignee: toolch...@freebsd.org
  Reporter: to...@freebsd.org
CC: toolch...@freebsd.org
 Flags: maintainer-feedback?(toolch...@freebsd.org)
CC: toolch...@freebsd.org

The following example no longer compiles after the LLVM11 import.
This affects a number of ports like x11/workrave, www/newsboat,
japanese/zinnia, ...  I can patch them to use shuffle instead, but
even though random_shuffle is deprecated it should still work,
right?

$ cat foo.cc
#include 
#include 

int main()
{
std::vector v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::random_shuffle(v.begin(), v.end());
}
$ c++ foo.cc
foo.cc:7:10: warning: 'random_shuffle>' is
deprecated [-Wdeprecated-declarations]
std::random_shuffle(v.begin(), v.end());
 ^
/usr/include/c++/v1/algorithm:3095:1: note:
'random_shuffle>' has been explicitly marked
deprecated here
_LIBCPP_DEPRECATED_IN_CXX14 void
^
/usr/include/c++/v1/__config:991:39: note: expanded from macro
'_LIBCPP_DEPRECATED_IN_CXX14'
#  define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED
  ^
/usr/include/c++/v1/__config:974:48: note: expanded from macro
'_LIBCPP_DEPRECATED'
#define _LIBCPP_DEPRECATED __attribute__ ((deprecated))
   ^
1 warning generated.
ld: error: undefined symbol: std::__1::__rs_get()
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void 
>>> std::__1::random_shuffle 
>>> >(std::__1::__wrap_iter, std::__1::__wrap_iter))

ld: error: undefined symbol: std::__1::__rs_default::~__rs_default()
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void 
>>> std::__1::random_shuffle 
>>> >(std::__1::__wrap_iter, std::__1::__wrap_iter))
>>> referenced by foo.cc
>>>   /tmp/foo-6a4153.o:(void 
>>> std::__1::random_shuffle 
>>> >(std::__1::__wrap_iter, std::__1::__wrap_iter))

ld: error: undefined symbol: std::__1::__rs_default::operator()()
>>> referenced by foo.cc
>>>   
>>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine>>  unsigned long>::__eval(std::__1::integral_constant))
>>> referenced by foo.cc
>>>   
>>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine>>  unsigned long>::__eval(std::__1::integral_constant))
c++: error: linker command failed with exit code 1 (use -v to see invocation)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"