aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-03-25 18:24:37 +0000
committerJonathan Wakely <jwakely@redhat.com>2021-03-25 18:25:40 +0000
commit15d649f79d6b6dc336f6a32eec242b652a262a82 (patch)
tree72a77d00fd66568ba5346db5a863a98cd05ac2a8
parentc7fc73ee459045edabb99816658f14f32d23bf92 (diff)
downloadgcc-15d649f79d6b6dc336f6a32eec242b652a262a82.zip
gcc-15d649f79d6b6dc336f6a32eec242b652a262a82.tar.gz
gcc-15d649f79d6b6dc336f6a32eec242b652a262a82.tar.bz2
libstdc++: Declare malloc for freestanding
For a target with none of aligned_alloc, memalign etc. we defined our own aligned_alloc using malloc, so we need a declaration of malloc. As in libsupc++/new_op.cc we need to declare it ourselves for freestanding environments. libstdc++-v3/ChangeLog: * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
-rw-r--r--libstdc++-v3/libsupc++/new_opa.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc
index 5929622..6b78729d 100644
--- a/libstdc++-v3/libsupc++/new_opa.cc
+++ b/libstdc++-v3/libsupc++/new_opa.cc
@@ -54,6 +54,10 @@ extern "C"
void *posix_memalign(void **, size_t alignment, size_t size);
# elif _GLIBCXX_HAVE_MEMALIGN
void *memalign(size_t alignment, size_t size);
+# else
+ // A freestanding C runtime may not provide "malloc" -- but there is no
+ // other reasonable way to implement "operator new".
+ void *malloc(size_t);
# endif
}
#endif