Skip to content

Still one warning left: "__clang_major__" is not defined, evaluates to 0 for linux/gcc builds #672

@JohannAnhofer

Description

@JohannAnhofer

In compiler_support.hpp at line 316 there is still a warning left if the code is compiled under linux with gcc.

from Line #308

// gcc and clang
#if !defined(__CUDA_ARCH__)
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cplusplus)
#if defined(__SIZEOF_INT128__) && !defined(_MSC_VER)
#  define JSONCONS_HAS_INT128
#endif

#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
#if (__clang_major__ >= 4) && defined(__has_include) // don't access __clang_major__ if not tested for #if defined(__clang__)
#if __has_include(<quadmath.h>)
#  define JSONCONS_HAS_FLOAT128
#endif
#endif
#endif

should be

// gcc and clang
#if !defined(__CUDA_ARCH__)
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cplusplus)
#if defined(__SIZEOF_INT128__) && !defined(_MSC_VER)
#  define JSONCONS_HAS_INT128
#endif

#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
#if defined(__clang__)
#if (__clang_major__ >= 4) && defined(__has_include)
#if __has_include(<quadmath.h>)
#  define JSONCONS_HAS_FLOAT128
#endif
#endif
#endif
#endif

  • Compiler: g++-14.3.0

  • Architecture (e.g. x86, x64): x64

  • Operating system: Ubuntu 24.04

  • master

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions