Title | Unsupported platform Linux+Clang not detected |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | Christian Schafmeister reports [1] compiling with Clang but the MPS detects the compiler as GCC: (cd mps-kit-1.111.0; make -j4 install) ... lii6gc: lii6gc/hot/mps.o |
Analysis | There are two parts to this. First, the platform was wrongly detected by autoconf (which checks the operating system and processor architecture, but not the compiler). We need to test for Clang and include that in the platform detection. Second, the platform was then wrongly detected by mpstd.h. That's because clang defines the __GNUC__ preprocessor definition; on Linux we need to test defined(__GNUC__) && !defined(__clang__), just as we do on OS X. |
How found | customer |
Evidence | [1] <https://info.ravenbrook.com/mail/2013/08/15/18-17-59/0/ > |
Observed in | 1.111.0 |
Created by | Gareth Rees |
Created on | 2013-08-20 16:47:25 |
Last modified by | Gareth Rees |
Last modified on | 2013-08-21 12:48:15 |
History | 2013-08-21 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
183338 | closed | 2013-08-21 12:33:57 | Gareth Rees | Detect Clang/LLVM and reject unsupported platforms at the configure stage. |
183334 | open | 2013-08-20 17:10:36 | Gareth Rees | Don't detect the compiler as GCC when it's actually Clang. Emit an error instead. |