diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-04-28 13:27:43 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-03 12:19:57 +0000 |
commit | 98c1d516b7f7624f7fcd7b9046783e3903a6a42b (patch) | |
tree | 2ae34970877411c731d3348d51a1b06409cb0ec5 /config.tests | |
parent | fe04eade5559370bdb44e1a74a0a96326265358e (diff) |
alloca: detect whether alloca.h exists
We can't depend on QT_HAS_INCLUDE for such an important functionality in
QtQml, so detect at configure time.
alloca() is not a POSIX function (it apparently first appeared in
Version 32V AT&T UNIX), so the actual header that defines it varies from
system to system. Clearly, if alloca.h exists, that's the one, so we try
it first. On most other systems that don't define it, it's in stdlib.h.
The only exception is Windows, where it's actually defined in malloc.h.
Task-number: QTBUG-59700
Started-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b4b2b389a4684e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'config.tests')
-rw-r--r-- | config.tests/common/alloca/alloca.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/config.tests/common/alloca/alloca.cpp b/config.tests/common/alloca/alloca.cpp index d839b381ef..500bdb9ba2 100644 --- a/config.tests/common/alloca/alloca.cpp +++ b/config.tests/common/alloca/alloca.cpp @@ -37,10 +37,17 @@ ** ****************************************************************************/ -#include <alloca.h> - +#if defined(USE_ALLOCA_H) +# include <alloca.h> +# ifdef __QNXNTO__ // extra include needed in QNX7 to define NULL for the alloca() macro -#include <stdlib.h> +# include <stddef.h> +# endif +#elif defined(USE_MALLOC_H) +# include <malloc.h> +#else +# include <stdlib.h> +#endif int main(int, char **) { |