mirror of
https://github.com/mirror/make.git
synced 2025-01-24 11:20:28 +08:00
* src/makeint.h (free_alloca): Check for builtin alloca
This commit is contained in:
parent
950f3d305f
commit
5e234e4048
@ -43,10 +43,18 @@ char *alloca ();
|
||||
|
||||
/* Some versions of GCC (e.g., 10.x) set the warn_unused_result attribute on
|
||||
__builtin_alloca. This causes alloca(0) to fail and is not easily worked
|
||||
around so make a helper.
|
||||
around so avoid it via the preprocessor.
|
||||
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98055 */
|
||||
|
||||
#define free_alloca() do{ void *__p = alloca (0); (void)__p; }while(0)
|
||||
#if defined (__has_builtin)
|
||||
# if __has_builtin (__builtin_alloca)
|
||||
# define free_alloca()
|
||||
# else
|
||||
# define free_alloca() alloca (0)
|
||||
# endif
|
||||
#else
|
||||
# define free_alloca() alloca (0)
|
||||
#endif
|
||||
|
||||
/* Disable assert() unless we're a maintainer.
|
||||
Some asserts are compute-intensive. */
|
||||
|
Loading…
Reference in New Issue
Block a user