[LLVMdev] RFC: LLVM should require a working C++11 <thread>, <mutex>, and <atomic>

Mueller-Roemer, Johannes Sebastian Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de
Tue Sep 23 23:06:55 PDT 2014


I would love to see libc++ working on Windows. In any case, I personally use MinGW with pthreads, as that supports std::thread etc. Yes, it uses libwinpthread, but that shouldn’t really be an issue.

--
Johannes S. Mueller-Roemer, MSc
Wiss. Mitarbeiter - Interactive Engineering Technologies (IET)

Fraunhofer-Institut für Graphische Datenverarbeitung IGD
Fraunhoferstr. 5  |  64283 Darmstadt  |  Germany
Tel +49 6151 155-606  |  Fax +49 6151 155-139
johannes.mueller-roemer at igd.fraunhofer.de  |  www.igd.fraunhofer.de

From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Chandler Carruth
Sent: Wednesday, September 24, 2014 03:02
To: LLVM Developers Mailing List; clang-dev Developers; lldb-dev at cs.uiuc.edu; Chris Bieneman; Reid Kleckner; David Majnemer; Alex Rosenberg; Zachary Turner
Subject: [LLVMdev] RFC: LLVM should require a working C++11 <thread>, <mutex>, and <atomic>

AKA: MinGW + win32threads is holding LLVM (and all of its subprojects) back. We need to stop supporting this host platform.

I'm aware of essentially 2 reasonably important use cases for supporting MinGW + win32threads:

1) Sane host toolchain on Windows that doesn't require downloading MSVC. (I'm dubious about the value of this one...)

2) Cross-compiling a Windows clang.exe (and other tools) from a Linux (or other host) box.

Are there others? (And thanks to Reid for explaining these to me!)


I'm somewhat dubious about #1, but if we address #2 it will address any concerns with #1 anyways.

I would like to propose that we finish implementing libc++ sufficiently to host Clang on Windows using native Windows APIs to implement things. Then we document very clearly what is required to download the basic Windows SDK and cross compile Clang (and any other tools) for Windows using just libc++ and the SDK. No need for MSVC bits, etc. Would this be acceptable?

If not, would it be acceptable to use libc++ on top of mingw (so just avoiding libstdc++)? I *really* don't want to spend lots of time going there because it seems like a low-value platform, but we can.

Anyways, I want to tease out anything else required here because if this is all we need, I think we can make it a reality and get to a much saner platform.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140924/4db8ffa5/attachment.html>


More information about the llvm-dev mailing list