mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
move alloca() definition from all *.h files to one new header file
This commit is contained in:
parent
b1646d0433
commit
1e58b8afc0
9 changed files with 58 additions and 32 deletions
1
debian/libmariadb-dev.install
vendored
1
debian/libmariadb-dev.install
vendored
|
@ -14,6 +14,7 @@ usr/include/mariadb/mariadb_version.h
|
|||
usr/include/mariadb/my_config.h
|
||||
usr/include/mariadb/my_global.h
|
||||
usr/include/mariadb/my_sys.h
|
||||
usr/include/mariadb/my_alloca.h
|
||||
usr/include/mariadb/mysql.h
|
||||
usr/include/mariadb/mysql/
|
||||
usr/include/mariadb/mysql/client_plugin.h
|
||||
|
|
|
@ -37,6 +37,7 @@ SET(HEADERS
|
|||
ma_dyncol.h
|
||||
my_list.h
|
||||
my_alloc.h
|
||||
my_alloca.h
|
||||
typelib.h
|
||||
my_dbug.h
|
||||
m_string.h
|
||||
|
@ -111,7 +112,9 @@ ${footer}
|
|||
ENDMACRO()
|
||||
|
||||
INSTALL_COMPAT_HEADER(my_global.h "")
|
||||
INSTALL_COMPAT_HEADER(my_alloca.h "")
|
||||
INSTALL_COMPAT_HEADER(my_config.h "")
|
||||
INSTALL_COMPAT_HEADER(my_alloca.h "")
|
||||
INSTALL_COMPAT_HEADER(my_sys.h "")
|
||||
INSTALL_COMPAT_HEADER(mysql_version.h "
|
||||
#include <mariadb_version.h>
|
||||
|
|
45
include/my_alloca.h
Normal file
45
include/my_alloca.h
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* Copyright (c) 2023, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
|
||||
|
||||
#ifndef MY_ALLOCA_INCLUDED
|
||||
#define MY_ALLOCA_INCLUDED
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <malloc.h> /*for alloca*/
|
||||
/*
|
||||
MSVC may define "alloca" when compiling in /Ze mode
|
||||
(with extensions from Microsoft), but otherwise only
|
||||
the _alloca function is defined:
|
||||
*/
|
||||
#ifndef alloca
|
||||
#define alloca _alloca
|
||||
#endif
|
||||
#else
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_ALLOCA)
|
||||
/*
|
||||
If the GCC/LLVM compiler from the MinGW is used,
|
||||
alloca may not be defined when using the MSVC CRT:
|
||||
*/
|
||||
#if defined(__GNUC__) && !defined(HAVE_ALLOCA_H) && !defined(alloca)
|
||||
#define alloca __builtin_alloca
|
||||
#endif /* GNUC */
|
||||
#endif
|
||||
|
||||
#endif /* MY_ALLOCA_INCLUDED */
|
|
@ -318,13 +318,6 @@ C_MODE_END
|
|||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#if defined(__cplusplus) && defined(NO_CPLUSPLUS_ALLOCA)
|
||||
#undef HAVE_ALLOCA
|
||||
#undef HAVE_ALLOCA_H
|
||||
#endif
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h> /* Recommended by debian */
|
||||
/* We need the following to go around a problem with openssl on solaris */
|
||||
|
@ -481,6 +474,7 @@ typedef unsigned short ushort;
|
|||
#endif
|
||||
|
||||
#include <my_compiler.h>
|
||||
#include <my_alloca.h>
|
||||
|
||||
/*
|
||||
Wen using the embedded library, users might run into link problems,
|
||||
|
|
|
@ -28,9 +28,7 @@ C_MODE_START
|
|||
#include <m_ctype.h> /* for CHARSET_INFO */
|
||||
#include <stdarg.h>
|
||||
#include <typelib.h>
|
||||
#ifdef _WIN32
|
||||
#include <malloc.h> /*for alloca*/
|
||||
#endif
|
||||
#include <my_alloca.h>
|
||||
#include <mysql/plugin.h>
|
||||
#include <mysql/service_my_print_error.h>
|
||||
|
||||
|
@ -185,16 +183,6 @@ my_bool my_test_if_atomic_write(File handle, int pagesize);
|
|||
extern my_bool my_may_have_atomic_write;
|
||||
|
||||
#if defined(HAVE_ALLOCA) && !defined(HAVE_valgrind)
|
||||
#if defined(_AIX) && !defined(__GNUC__) && !defined(_AIX43)
|
||||
#pragma alloca
|
||||
#endif /* _AIX */
|
||||
#if defined(__MWERKS__)
|
||||
#undef alloca
|
||||
#define alloca _alloca
|
||||
#endif /* __MWERKS__ */
|
||||
#if defined(__GNUC__) && !defined(HAVE_ALLOCA_H) && ! defined(alloca)
|
||||
#define alloca __builtin_alloca
|
||||
#endif /* GNUC */
|
||||
#define my_alloca(SZ) alloca((size_t) (SZ))
|
||||
#define my_afree(PTR) ((void)0)
|
||||
#define MAX_ALLOCA_SZ 4096
|
||||
|
|
|
@ -24,22 +24,19 @@
|
|||
*provider* (encryption plugin).
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef MYSQL_ABI_CHECK
|
||||
#include <my_alloca.h>
|
||||
#ifdef _WIN32
|
||||
#include <malloc.h>
|
||||
#ifndef __cplusplus
|
||||
#define inline __inline
|
||||
#endif
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* returned from encryption_key_get_latest_version() */
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
|
||||
|
||||
#include <my_global.h>
|
||||
#include <my_alloca.h>
|
||||
#include <mysql/plugin_password_validation.h>
|
||||
#include <crack.h>
|
||||
#include <string.h>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* See COPYRIGHT.txt for details.
|
||||
*/
|
||||
|
||||
#include <my_global.h>
|
||||
#include <my_alloca.h>
|
||||
#include <netinet/in.h>
|
||||
#include <errno.h>
|
||||
#include <poll.h>
|
||||
|
@ -17,9 +17,6 @@
|
|||
#if __linux__
|
||||
#include <sys/epoll.h>
|
||||
#endif
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
#include "hstcpsvr_worker.hpp"
|
||||
#include "string_buffer.hpp"
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <my_alloca.h>
|
||||
|
||||
#if 0
|
||||
extern "C" {
|
||||
|
|
Loading…
Add table
Reference in a new issue