Skip to content

Warning issued on cdefs.h (invoked from stdlib.h) with LLVM18.18 and MacOS15.6.1 #130

Description

@mirkov

Hello,

first time C2FFI user, and with next to non-existent with C compilation expertise. My issue is on MacOS15.6.1 and LLVM 18.1.8.

I have applied c2ffi to the GNU Scientific Library (GSL): GSL - GNU Scientific Library - GNU Project - Free Software Foundation. I built GSL on my laptop using the standard ./configure, make sequence, using Apple's provided compiler and linker. No issues during the build.

I write to understand whether a warning issued by C2FFI is something to be concerned about. A secondary reason is that even if it is nothing to be concerned about, there is a statement to that effect for other users here, so they don't have to worry about it either.

During processing of each of GSL's files, the following is emitted:

c2ffi warning: Unhandled environment: '' for triple ''
In file included from ../../gsl/gsl-2.8/gsl/gsl_min.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/stdlib.h:58:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/_stdlib.h:65:
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/cdefs.h:81:2: warning: "Unsupported compiler detected" [-W#warnings]
   81 | #warning "Unsupported compiler detected"
      |  ^

This originates in the cdefs.h file. I can replicate the warning by applying C2FFI to stdlib.h as well.

Line 81 of cdefs.h contains:

/* This SDK is designed to work with clang and specific versions of
 * gcc >= 4.0 with Apple's patch sets */
#if !defined(__GNUC__) || __GNUC__ < 4
#warning "Unsupported compiler detected"
#endif

GSL has 266 header files, and each includes stdlib.h, thus each generating this warning.

My best guess is that the LLVM and clang I installed via Homebrew (18.1.8) do not pass Apple's GCC test. But that is only a guess.

Thanks for any insights.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions