MPS issue job003595

TitleUnsupported platform Linux+Clang not detected
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionChristian 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
AnalysisThere 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 foundcustomer
Evidence[1] <https://info.ravenbrook.com/mail/2013/08/15/18-17-59/0/>
Observed in1.111.0
Created byGareth Rees
Created on2013-08-20 16:47:25
Last modified byGareth Rees
Last modified on2013-08-21 12:48:15
History2013-08-21 GDR Created.

Fixes

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.