[all-commits] [llvm/llvm-project] ee5749: [libc] Provide compiler version properties (#73344)

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Fri Nov 24 08:02:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ee5749bf785b66adfd9b4edc4d3a676691f28599
      https://github.com/llvm/llvm-project/commit/ee5749bf785b66adfd9b4edc4d3a676691f28599
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libc/src/__support/macros/properties/compiler.h

  Log Message:
  -----------
  [libc] Provide compiler version properties (#73344)

This will be used to support conditional compilation based on compiler
version.
We adopt the same convention as
[libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config)
- thx @legrosbuffle for the suggestion!
Usage:
```
#if defined(LIBC_COMPILER_CLANG_VER)
#  if LIBC_COMPILER_CLANG_VER < 1500
#    warning "Libc only supports Clang 15 and later"
#  endif
#elif defined(LIBC_COMPILER_GCC_VER)
#  if LIBC_COMPILER_GCC_VER < 1500
#    warning "Libc only supports GCC 15 and later"
#  endif
#elif defined(LIBC_COMPILER_MSC_VER)
#  if LIBC_COMPILER_MSC_VER < 1930
#    warning "Libc only supports Visual Studio 2022 RTW (17.0) and later"
#  endif
#endif
```




More information about the All-commits mailing list