[llvm] [Support] Remove ciso646 include (PR #123578)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 20 02:12:41 PST 2025


https://github.com/nikic created https://github.com/llvm/llvm-project/pull/123578

This header has been removed in C++20 and causes a large amount of deprecation spam when building against libstdc++ 15 in C++17 mode.

As far as I understand, we just need to include *some* STL header to get access to the version macros, and as this header also includes <optional> nowadays we can just drop the <cstd646> include entirely.

>From 5721ad83996327b18c4fa089069310baaa253d6e Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov at redhat.com>
Date: Mon, 20 Jan 2025 11:09:22 +0100
Subject: [PATCH] [Support] Remove ciso646 include

This header has been removed in C++20 and causes a large amount
of deprecation spam when building against libstdc++ 15 in C++17
mode.

As far as I understand, we just need to include *some* STL header
to get access to the version macros, and as this header also
includes <optional> nowadays we can just drop the <cstd646>
include entirely.
---
 llvm/include/llvm/Support/Threading.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/llvm/include/llvm/Support/Threading.h b/llvm/include/llvm/Support/Threading.h
index d8e2cb0514ddd7..01e26ad9b858ea 100644
--- a/llvm/include/llvm/Support/Threading.h
+++ b/llvm/include/llvm/Support/Threading.h
@@ -18,7 +18,6 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Config/llvm-config.h" // for LLVM_ON_UNIX
 #include "llvm/Support/Compiler.h"
-#include <ciso646> // So we can check the C++ standard lib macros.
 #include <optional>
 
 #if defined(_MSC_VER)



More information about the llvm-commits mailing list