aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/env.c12
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index a0df31f..dbd7ee3 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-14 Jerome Lambourg <lambourg@adacore.com>
+
+ * env.c: Do not include crt_externs.h on iOS, as it does not
+ exist there. This is also true for the iPhone Simulator SDK.
+
2018-11-14 Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb (Check_Unnesting_In_Declarations): New procedure
diff --git a/gcc/ada/env.c b/gcc/ada/env.c
index b6ab097..61193f4 100644
--- a/gcc/ada/env.c
+++ b/gcc/ada/env.c
@@ -50,9 +50,12 @@
#include <stdlib.h>
#endif
-#if defined (__APPLE__) && !(defined (__arm__) || defined (__arm64__))
+#if defined (__APPLE__) \
+ && !(defined (__arm__) \
+ || defined (__arm64__) \
+ || defined (__IOS_SIMULATOR__))
/* On Darwin, _NSGetEnviron must be used for shared libraries; but it is not
- available on iOS. */
+ available on iOS (on device or on simulator). */
#include <crt_externs.h>
#endif
@@ -211,7 +214,10 @@ __gnat_environ (void)
#elif defined (__sun__)
extern char **_environ;
return _environ;
-#elif defined (__APPLE__) && !(defined (__arm__) || defined (__arm64__))
+#elif defined (__APPLE__) \
+ && !(defined (__arm__) \
+ || defined (__arm64__) \
+ || defined (__IOS_SIMULATOR__))
return *_NSGetEnviron ();
#elif ! (defined (__vxworks))
extern char **environ;