[clang] [clang] Extend clang's <limits.h> to define *LONG_LONG*_ macros for bionic (PR #115406)

via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 11 10:11:31 PST 2024


https://github.com/ZijunZhaoCCK updated https://github.com/llvm/llvm-project/pull/115406

>From eda669f73765a957cc47d3d684a6443ed2f75edf Mon Sep 17 00:00:00 2001
From: Zijun <zijunzhao at google.com>
Date: Fri, 8 Nov 2024 01:04:21 +0000
Subject: [PATCH 1/3] Extend clang's <limits.h> to define *LONG_LONG*_ macros
 for bionic

---
 clang/lib/Headers/limits.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h
index 56dffe568486cc..9879fe81faa651 100644
--- a/clang/lib/Headers/limits.h
+++ b/clang/lib/Headers/limits.h
@@ -111,11 +111,12 @@
 #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
 #endif
 
-/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension.  It's too bad
-   that we don't have something like #pragma poison that could be used to
-   deprecate a macro - the code should just use LLONG_MAX and friends.
+/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Bionic also
+   defines them. It's too bad that we don't have something like #pragma poison
+   that could be used to deprecate a macro - the code should just use LLONG_MAX
+   and friends.
  */
-#if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)
+#if (defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)) || defined(__BIONIC__)
 
 #undef   LONG_LONG_MIN
 #undef   LONG_LONG_MAX

>From b727c41e93ee0fa5f3cc2addf4f1b67ffedc8879 Mon Sep 17 00:00:00 2001
From: Zijun <zijunzhao at google.com>
Date: Fri, 8 Nov 2024 01:04:21 +0000
Subject: [PATCH 2/3] Extend clang's <limits.h> to define *LONG_LONG*_ macros
 for bionic

---
 clang/lib/Headers/limits.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h
index 9879fe81faa651..82e07f5a494951 100644
--- a/clang/lib/Headers/limits.h
+++ b/clang/lib/Headers/limits.h
@@ -111,10 +111,17 @@
 #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
 #endif
 
+<<<<<<< HEAD
 /* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Bionic also
    defines them. It's too bad that we don't have something like #pragma poison
    that could be used to deprecate a macro - the code should just use LLONG_MAX
    and friends.
+=======
+/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Android's
+   bionic also defines them. It's too bad that we don't have something like
+   #pragma poison that could be used to deprecate a macro - the code should just
+   use LLONG_MAX and friends.
+>>>>>>> 16ef50bd1f66 (Extend clang's <limits.h> to define *LONG_LONG*_ macros for bionic)
  */
 #if (defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)) || defined(__BIONIC__)
 

>From 2cb4ee5d644f42b54f93e8e07fe61b93dc6de2f1 Mon Sep 17 00:00:00 2001
From: Zijun <zijunzhao at google.com>
Date: Fri, 8 Nov 2024 01:04:21 +0000
Subject: [PATCH 3/3] Extend clang's <limits.h> to define *LONG_LONG*_ macros
 for bionic

---
 clang/lib/Headers/limits.h | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h
index 82e07f5a494951..bc3dfb1d6d0d1c 100644
--- a/clang/lib/Headers/limits.h
+++ b/clang/lib/Headers/limits.h
@@ -111,17 +111,10 @@
 #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
 #endif
 
-<<<<<<< HEAD
-/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Bionic also
-   defines them. It's too bad that we don't have something like #pragma poison
-   that could be used to deprecate a macro - the code should just use LLONG_MAX
-   and friends.
-=======
 /* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Android's
    bionic also defines them. It's too bad that we don't have something like
    #pragma poison that could be used to deprecate a macro - the code should just
    use LLONG_MAX and friends.
->>>>>>> 16ef50bd1f66 (Extend clang's <limits.h> to define *LONG_LONG*_ macros for bionic)
  */
 #if (defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)) || defined(__BIONIC__)
 



More information about the cfe-commits mailing list