Re: clang++ and a modern C++ library

2014-12-08 Thread Dave Huseby
> I tried with llvm-3.5.20140228p18 (the clang package), g++-4.9.2 and
> libstdc++-4.8.3, the next command:
> 
> clang++ -std=c++11 -I/usr/local/include -I/usr/local/include/c++/4.9.2
> -I/usr/local/include/c++/4.9.2/x86_64-unknown-openbsd5.6 -I/usr/include
> -L/usr/local/lib/gcc-lib/amd64-unknown-openbsd5.6/3.3.6 -L/usr/local/lib
> -nostdinc++ -lestdc++ test.cc
> 
> Apparently everything works fine.

Alright, let me update my scripts and give this a shot.

--dave



Re: clang++ and a modern C++ library

2014-12-01 Thread Juan Francisco Cantero Hurtado
On Sun, Nov 30, 2014 at 03:40:58PM -0800, Dave Huseby wrote:
> 
> Status update...
> 
> I've been working on porting Rust over to OpenBSD by building a Rust
> cross-compiler for Linux that can target i386-unknown-openbsd and
> x86_64-unknown-openbsd.  The largest roadblock on OpenBSD is the lack
> of a more recent GNU linker (ld).  I have tried the 2.17 linker in the
> source tree and it doesn't work.  To catch everybody up, the rust
> compiler is built on LLVM and uses C++1x which requires a newer
> compiler.  I started by using 4.8.3 on OpenBSD but the old linker
> isn't working.
> 
> Somebody suggested using clang on OpenBSD, but it appears that the
> port for clang++ doesn't include libc++.  Is that correct?  So clang++
> doesn't have a new enough standard C++ library to do the job.  I've
> tried using clang++ with the libstdc++ that is part of the gcc 4.8.3
> port but I can't seem to figure out the magic set of parameters to
> clang++ to make it select the newer libstdc++ that is part of the gcc
> 4.8.3 port.
> 
> I'm starting to think that this may not be possible without some
> catching up on toolchains for OpenBSD.  And given the conservative
> nature of OpenBSD, it may be some time before the toolchains are
> "modern" enough to compile and link the Rust compiler.

Disclaimer: I know nothing about c++ :)

I used this program to test clang and c++11 (extracted from
https://solarianprogrammer.com/2013/01/17/building-clang-libcpp-ubuntu-linux/ ):

//Program to test the new C++11 regular expressions syntax
#include 
#include 
#include 

using namespace std;

int main()
{
string input;
regex 
rr("((\\+|-)?[[:digit:]]+)(\\.(([[:digit:]]+)?))?((e|E)((\\+|-)?)[[:digit:]]+)?");
//As long as the input is correct ask for another number
while(true)
{
cout<<"Give me a real number!"<>input;
if(!cin) break;
//Exit when the user inputs q
if(input=="q")
break;
if(regex_match(input,rr))
cout<<"float"

Re: clang++ and a modern C++ library

2014-11-30 Thread Stuart Henderson
On 2014/11/30 15:40, Dave Huseby wrote:
> Somebody suggested using clang on OpenBSD, but it appears that the
> port for clang++ doesn't include libc++.  Is that correct?

Yes.



clang++ and a modern C++ library

2014-11-30 Thread Dave Huseby
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Status update...

I've been working on porting Rust over to OpenBSD by building a Rust
cross-compiler for Linux that can target i386-unknown-openbsd and
x86_64-unknown-openbsd.  The largest roadblock on OpenBSD is the lack
of a more recent GNU linker (ld).  I have tried the 2.17 linker in the
source tree and it doesn't work.  To catch everybody up, the rust
compiler is built on LLVM and uses C++1x which requires a newer
compiler.  I started by using 4.8.3 on OpenBSD but the old linker
isn't working.

Somebody suggested using clang on OpenBSD, but it appears that the
port for clang++ doesn't include libc++.  Is that correct?  So clang++
doesn't have a new enough standard C++ library to do the job.  I've
tried using clang++ with the libstdc++ that is part of the gcc 4.8.3
port but I can't seem to figure out the magic set of parameters to
clang++ to make it select the newer libstdc++ that is part of the gcc
4.8.3 port.

I'm starting to think that this may not be possible without some
catching up on toolchains for OpenBSD.  And given the conservative
nature of OpenBSD, it may be some time before the toolchains are
"modern" enough to compile and link the Rust compiler.

- --dave
-BEGIN PGP SIGNATURE-

iF4EAREIAAYFAlR7qwoACgkQvt/JvmUQuOmMmQD+KpYTqyiNJJBoZos7+CQnOTG4
XmsrUbU8lPtOGM9kBCoA/j7e+Ghe+1hHOqBNFZlyj9cx6AfWDjN30dJ/5vNvjoED
=eufW
-END PGP SIGNATURE-


0x6510B8E9.asc
Description: application/pgp-keys


0x6510B8E9.asc.sig
Description: PGP signature