mingw-w64 triples define os=MinGW32. This adds the missing mapping.
Details
- Reviewers
- None
Diff Detail
Event Timeline
Hmm, I saw this through the C++ API, but I'm having trouble reproducing it through the command line driver. Does the command line driver rewrite the passed in triple?
Ah, I see, the driver calls llvm::Triple::normalize on the pass. Should I do that on the client side in C++ then or should we put that later in clang, so triple passed in through the C++ interface get normalized as well?
MinGW is no longer treated as an OS. During the 3.5 cycle, we normalized the Windows triples. MinGW is treated as an environment, the OS is Windows. The resultant triple would be i686-windows-gnu or x86_64-windows-gnu. Users are still able to pass the old triple, however, internally, we expect the normalized form now.
The cases you are adding here were intentionally removed during that change. Please do not add these back. In fact, we should remove MinGW from the OS enumeration.
What exactly are you trying to do that this is causing you an issue?
I was setting the clang triple to the result of
llvm::sys::getProcessTriple(), without calling normalize on it. Until
the enumeration is removed I think it would be nice to have a better
error rather than just silently failing.