This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix PR60644
- From: Alexander Ivchenko <aivchenk at gmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- Date: Wed, 9 Apr 2014 15:46:13 +0400
- Subject: Re: Fix PR60644
- Authentication-results: sourceware.org; auth=none
- References: <CACysShhtg7wo-wOuCTJwihPcm_gZn4u876rmkUuKo-NxwNmg5Q at mail dot gmail dot com> <CACysShiwd9C5kYiptiEZO8stOcjM+HWb-EHMiZkoC1kR2JepcA at mail dot gmail dot com> <CACysShgkq1nWx1Gqg-tHVT06bcbGSUTu0WYAmZL4G0kjNo2dDw at mail dot gmail dot com> <CAFiYyc049Tm3hGvhcLP2AS6pF2a4h3bXcMY3XTOeJMymyiGq7w at mail dot gmail dot com> <CACysShhgT3R0cEn0WkXoLQv-qn4HcMkxZfoctcLHEacQagDq6w at mail dot gmail dot com>
ping..
2014-04-04 15:28 GMT+04:00 Alexander Ivchenko <aivchenk@gmail.com>:
> 2014-04-04 14:19 GMT+04:00 Richard Biener <richard.guenther@gmail.com>:
>> On Fri, Apr 4, 2014 at 12:03 PM, Alexander Ivchenko <aivchenk@gmail.com> wrote:
>>> *ping*
>>
>> I wonder whether this is consistend between compilers (note GCC is not
>> upstream here?). So eventually all places should be ANDROID || __ANDROID__?
>>
> I checked that gcc-4.[678], llvm (trunk) and icc (14) all have
> __ANDROID__. If I understood your question correctly..
> I don't see any reasons to check ANDROID macros during the build of libcilkrts.
>
>>> 2014-03-27 13:43 GMT+04:00 Alexander Ivchenko <aivchenk@gmail.com>:
>>>> Adding Balaji.
>>>>
>>>> --Alexander
>>>>
>>>> 2014-03-26 18:56 GMT+04:00 Alexander Ivchenko <aivchenk@gmail.com>:
>>>>> 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