[PATCH] D36431: Add powerpc64 to compiler-rt build infrastructure.

Sterling Augustine via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 8 16:43:59 PDT 2017


saugustine added a comment.

In https://reviews.llvm.org/D36431#835165, @nemanjai wrote:

> This patch appears to be perfectly fine. However, it triggers a large number of warnings. Namely, there's a large number of `warning: ISO C forbids an empty translation unit [-Wpedantic]` warnings produced.


What config are the buildbots using? I don't see these warnings in default or RELEASE style builds. I'm happy to fix them though.

> The reason is that all the code in the file is wrapped with an `if !_ARCH_PPC` macro. I assume that we do not want `compiler_rt` to expose builtins that assume an 80-bit `long double` (which is the behaviour we get now). So it seems to me that files that define such builtins should simply be removed from the `powerpc64_SOURCES` and they should `#error` on PPC.

I think it is better to mark plain powerpc (32) as unsupported in the testsuite, for similar reasons to marking powerpc64 unsupported. Whoever originally #ifdefed these did it in a way that is misleading.  See the comments on https://reviews.llvm.org/D36249 for my reasoning.

> Also, I'm getting lots of warnings from `compiler-rt/lib/builtins/atomic.c` such as `warning: implicit declaration of function '__c11_atomic_fetch_or' [-Wimplicit-function-declaration]`. It would appear that the `__c11_atomic_*` family of builtins isn't exposed by the build compiler (and should presumably be declared in a header if file is being built with a compiler that doesn't expose those).

What config do the buildbots use? I don't see these errors with DEBUG or RELEASE. I'm happy to fix them regardless, but I'd like to be able to anticipate these problems.


https://reviews.llvm.org/D36431





More information about the cfe-commits mailing list