summaryrefslogtreecommitdiffstats
path: root/config.tests
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-04-28 13:27:43 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-03 12:19:57 +0000
commit98c1d516b7f7624f7fcd7b9046783e3903a6a42b (patch)
tree2ae34970877411c731d3348d51a1b06409cb0ec5 /config.tests
parentfe04eade5559370bdb44e1a74a0a96326265358e (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.cpp13
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 **)
{