Fix PR60644

Alexander Ivchenko aivchenk@gmail.com
Wed Mar 26 15:40:00 GMT 2014


Hi,

In gcc/config/linux-android.h we have "builtin_define ("__ANDROID__");"
So "ANDROID" as in libcilkrts now is not the correct macro to check.

Bootstrapped and passed cilk testsuite on x86_64-unknown-linux-gnu.

diff --git a/libcilkrts/ChangeLog b/libcilkrts/ChangeLog
index eb0d6ec..65efef0 100644
--- a/libcilkrts/ChangeLog
+++ b/libcilkrts/ChangeLog
@@ -1,3 +1,12 @@
+2014-03-26  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+ PR bootstrap/60644
+
+ * include/cilk/metaprogramming.h: Change ANDROID to __ANDROID__.
+ * include/cilk/reducer_min_max.h: Ditto.
+ * runtime/bug.h: Ditto.
+ * runtime/os-unix.c: Ditto.
+
 2014-03-20  Tobias Burnus  <burnus@net-b.de>

  PR other/60589
diff --git a/libcilkrts/include/cilk/metaprogramming.h
b/libcilkrts/include/cilk/metaprogramming.h
index 5f6f29d..29b0839 100644
--- a/libcilkrts/include/cilk/metaprogramming.h
+++ b/libcilkrts/include/cilk/metaprogramming.h
@@ -468,7 +468,7 @@ inline void* allocate_aligned(std::size_t size,
std::size_t alignment)
 #ifdef _WIN32
     return _aligned_malloc(size, alignment);
 #else
-#if defined(ANDROID) || defined(__ANDROID__)
+#if defined(__ANDROID__)
     return memalign(std::max(alignment, sizeof(void*)), size);
 #else
     void* ptr;
diff --git a/libcilkrts/include/cilk/reducer_min_max.h
b/libcilkrts/include/cilk/reducer_min_max.h
index 55f068c..7fe09e8 100644
--- a/libcilkrts/include/cilk/reducer_min_max.h
+++ b/libcilkrts/include/cilk/reducer_min_max.h
@@ -3025,7 +3025,7 @@ struct legacy_reducer_downcast< reducer<
op_min_index<Index, Type, Compare, Alig
 #include <limits.h>

 /* Wchar_t min/max constants */
-#if defined(_MSC_VER) || defined(ANDROID)
+#if defined(_MSC_VER) || defined(__ANDROID__)
 #   include <wchar.h>
 #else
 #   include <stdint.h>
diff --git a/libcilkrts/runtime/bug.h b/libcilkrts/runtime/bug.h
index bb18913..1a64bea 100644
--- a/libcilkrts/runtime/bug.h
+++ b/libcilkrts/runtime/bug.h
@@ -90,7 +90,7 @@ COMMON_PORTABLE extern const char *const
__cilkrts_assertion_failed;
  * GPL V3 licensed.
  */
 COMMON_PORTABLE void cilkbug_assert_no_uncaught_exception(void);
-#if defined(_WIN32) || defined(ANDROID)
+#if defined(_WIN32) || defined(__ANDROID__)
 #  define CILKBUG_ASSERT_NO_UNCAUGHT_EXCEPTION()
 #else
 #  define CILKBUG_ASSERT_NO_UNCAUGHT_EXCEPTION() \
diff --git a/libcilkrts/runtime/os-unix.c b/libcilkrts/runtime/os-unix.c
index fafb91d..85bc08d 100644
--- a/libcilkrts/runtime/os-unix.c
+++ b/libcilkrts/runtime/os-unix.c
@@ -282,7 +282,7 @@ void __cilkrts_init_tls_variables(void)
 }
 #endif

-#if defined (__linux__) && ! defined(ANDROID)
+#if defined (__linux__) && ! defined(__ANDROID__)
 /*
  * Get the thread id, rather than the pid. In the case of MIC offload, it's
  * possible that we have multiple threads entering Cilk, and each has a
@@ -354,7 +354,7 @@ static int linux_get_affinity_count (int tid)

 COMMON_SYSDEP int __cilkrts_hardware_cpu_count(void)
 {
-#if defined ANDROID || (defined(__sun__) && defined(__svr4__))
+#if defined __ANDROID__ || (defined(__sun__) && defined(__svr4__))
     return sysconf (_SC_NPROCESSORS_ONLN);
 #elif defined __MIC__
     /// HACK: Usually, the 3rd and 4th hyperthreads are not beneficial
@@ -409,7 +409,7 @@ COMMON_SYSDEP void __cilkrts_yield(void)
     // giving up the processor and latency starting up when work becomes
     // available
     _mm_delay_32(1024);
-#elif defined(ANDROID) || (defined(__sun__) && defined(__svr4__))
+#elif defined(__ANDROID__) || (defined(__sun__) && defined(__svr4__))
     // On Android and Solaris, call sched_yield to yield quantum.  I'm not
     // sure why we don't do this on Linux also.
     sched_yield();




Is it OK?

--Alexander



More information about the Gcc-patches mailing list