Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 May 2026 18:42:25 +0000
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 19ff93c921a9 - main - Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c
Message-ID:  <69f4f411.38365.675e743c@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=19ff93c921a9d31770bcfc194c078e7a42a5f14f

commit 19ff93c921a9d31770bcfc194c078e7a42a5f14f
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-05-01 18:12:55 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-05-01 18:16:18 +0000

    Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c
    
    After base 966fb94cb357, this revert is no longer necessary: stdint.h
    will unconditionally define macros such as `SIZE_MAX`, `UINT64_C`, and
    others.
    
    Submitted by:   Nikolas Klauser <nikolasklauser@berlin.de>
    MFC after:      1 month
    Reviewed by:    imp
    Differential Revision: https://reviews.freebsd.org/D56746
---
 ObsoleteFiles.inc                            |   3 +
 contrib/llvm-project/libcxx/include/cstdint  |   8 --
 contrib/llvm-project/libcxx/include/stdint.h | 127 ---------------------------
 lib/libc++/Makefile                          |   1 -
 lib/libc++/module.modulemap                  |   4 -
 5 files changed, 3 insertions(+), 140 deletions(-)

diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 0073b4f13c6c..e290992077d2 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -51,6 +51,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20260430: Provide stdint.h macros unconditionally
+OLD_FILES+=usr/include/c++/v1/stdint.h
+
 # 20260426: Regenerate trust store
 OLD_FILES+=usr/share/certs/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem
 OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Premium.pem
diff --git a/contrib/llvm-project/libcxx/include/cstdint b/contrib/llvm-project/libcxx/include/cstdint
index 7ae82f656fc9..11839eeb071e 100644
--- a/contrib/llvm-project/libcxx/include/cstdint
+++ b/contrib/llvm-project/libcxx/include/cstdint
@@ -149,14 +149,6 @@ Types:
 #    include <stdint.h>
 #  endif
 
-#  ifndef _LIBCPP_STDINT_H
-#   error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. \
-          This usually means that your header search paths are not configured properly. \
-          The header search paths should contain the C++ Standard Library headers before \
-          any C Standard Library, and you are probably using compiler flags that make that \
-          not be the case.
-#  endif
-
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
diff --git a/contrib/llvm-project/libcxx/include/stdint.h b/contrib/llvm-project/libcxx/include/stdint.h
deleted file mode 100644
index 35e5b8cbdad2..000000000000
--- a/contrib/llvm-project/libcxx/include/stdint.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STDINT_H
-// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T
-// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
-// case the header guard macro is defined.
-#if !defined(_AIX) || !defined(_STD_TYPES_T)
-#  define _LIBCPP_STDINT_H
-#endif // _STD_TYPES_T
-
-/*
-    stdint.h synopsis
-
-Macros:
-
-    INT8_MIN
-    INT16_MIN
-    INT32_MIN
-    INT64_MIN
-
-    INT8_MAX
-    INT16_MAX
-    INT32_MAX
-    INT64_MAX
-
-    UINT8_MAX
-    UINT16_MAX
-    UINT32_MAX
-    UINT64_MAX
-
-    INT_LEAST8_MIN
-    INT_LEAST16_MIN
-    INT_LEAST32_MIN
-    INT_LEAST64_MIN
-
-    INT_LEAST8_MAX
-    INT_LEAST16_MAX
-    INT_LEAST32_MAX
-    INT_LEAST64_MAX
-
-    UINT_LEAST8_MAX
-    UINT_LEAST16_MAX
-    UINT_LEAST32_MAX
-    UINT_LEAST64_MAX
-
-    INT_FAST8_MIN
-    INT_FAST16_MIN
-    INT_FAST32_MIN
-    INT_FAST64_MIN
-
-    INT_FAST8_MAX
-    INT_FAST16_MAX
-    INT_FAST32_MAX
-    INT_FAST64_MAX
-
-    UINT_FAST8_MAX
-    UINT_FAST16_MAX
-    UINT_FAST32_MAX
-    UINT_FAST64_MAX
-
-    INTPTR_MIN
-    INTPTR_MAX
-    UINTPTR_MAX
-
-    INTMAX_MIN
-    INTMAX_MAX
-
-    UINTMAX_MAX
-
-    PTRDIFF_MIN
-    PTRDIFF_MAX
-
-    SIG_ATOMIC_MIN
-    SIG_ATOMIC_MAX
-
-    SIZE_MAX
-
-    WCHAR_MIN
-    WCHAR_MAX
-
-    WINT_MIN
-    WINT_MAX
-
-    INT8_C(value)
-    INT16_C(value)
-    INT32_C(value)
-    INT64_C(value)
-
-    UINT8_C(value)
-    UINT16_C(value)
-    UINT32_C(value)
-    UINT64_C(value)
-
-    INTMAX_C(value)
-    UINTMAX_C(value)
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#  pragma GCC system_header
-#endif
-
-/* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed
-   for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
-   are defined
-*/
-#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)
-#  define __STDC_LIMIT_MACROS
-#endif
-#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
-#  define __STDC_CONSTANT_MACROS
-#endif
-
-#if __has_include_next(<stdint.h>)
-#  include_next <stdint.h>
-#endif
-
-#endif // _LIBCPP_STDINT_H
diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile
index 03b04afee7cc..4e487f0e8457 100644
--- a/lib/libc++/Makefile
+++ b/lib/libc++/Makefile
@@ -232,7 +232,6 @@ STD_HEADERS+=	stdatomic.h
 STD_HEADERS+=	stdbool.h
 STD_HEADERS+=	stddef.h
 STD_HEADERS+=	stdexcept
-STD_HEADERS+=	stdint.h
 STD_HEADERS+=	stdio.h
 STD_HEADERS+=	stdlib.h
 STD_HEADERS+=	stop_token
diff --git a/lib/libc++/module.modulemap b/lib/libc++/module.modulemap
index 90d61bf5f44a..a6e6059ab60e 100644
--- a/lib/libc++/module.modulemap
+++ b/lib/libc++/module.modulemap
@@ -2433,10 +2433,6 @@ module std_stddef_h [system] {
   // <stddef.h> supports being included multiple times with different pre-defined macros
   textual header "stddef.h"
 }
-module std_stdint_h [system] {
-  // <stdint.h> supports being included multiple times with different pre-defined macros
-  textual header "stdint.h"
-}
 module std_stdio_h [system] {
   // <stdio.h> supports being included multiple times with different pre-defined macros
   textual header "stdio.h"


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f4f411.38365.675e743c>