[libc-commits] [libc] 65825cd - [libc] Use `<assert.h>` in overlay mode for LIBC_ASSERT (#99875)

via libc-commits libc-commits at lists.llvm.org
Mon Jul 22 08:12:46 PDT 2024


Author: Joseph Huber
Date: 2024-07-22T10:12:43-05:00
New Revision: 65825cd5431c64b3b2c0537e4ff01517d0b32061

URL: https://github.com/llvm/llvm-project/commit/65825cd5431c64b3b2c0537e4ff01517d0b32061
DIFF: https://github.com/llvm/llvm-project/commit/65825cd5431c64b3b2c0537e4ff01517d0b32061.diff

LOG: [libc] Use `<assert.h>` in overlay mode for LIBC_ASSERT (#99875)

Summary:
This uses `internal::exit` which is not built in overlay mode, leading
to linker errors. Fix this to just use `assert.h`.

Added: 
    

Modified: 
    libc/src/__support/libc_assert.h
    libc/src/__support/threads/linux/raw_mutex.h

Removed: 
    


################################################################################
diff  --git a/libc/src/__support/libc_assert.h b/libc/src/__support/libc_assert.h
index e3235199780c2..e21a58a0c8aad 100644
--- a/libc/src/__support/libc_assert.h
+++ b/libc/src/__support/libc_assert.h
@@ -10,7 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_LIBC_ASSERT_H
 
 #include "src/__support/macros/config.h"
-#ifdef LIBC_COPT_USE_C_ASSERT
+#if defined(LIBC_COPT_USE_C_ASSERT) || !defined(LIBC_FULL_BUILD)
 
 // The build is configured to just use the public <assert.h> API
 // for libc's internal assertions.

diff  --git a/libc/src/__support/threads/linux/raw_mutex.h b/libc/src/__support/threads/linux/raw_mutex.h
index dbf8b53b42f7e..47f0aa70f1c46 100644
--- a/libc/src/__support/threads/linux/raw_mutex.h
+++ b/libc/src/__support/threads/linux/raw_mutex.h
@@ -13,6 +13,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/config.h"
+#include "src/__support/macros/optimization.h"
 #include "src/__support/threads/linux/futex_utils.h"
 #include "src/__support/threads/linux/futex_word.h"
 #include "src/__support/threads/sleep.h"


        


More information about the libc-commits mailing list