r185544 - Fix PR16454: Don't #include altivec.h when preprocessing assembly.

Richard Smith richard at metafoo.co.uk
Wed Jul 3 10:43:40 PDT 2013


On Wed, Jul 3, 2013 at 8:36 AM, Bill Schmidt
<wschmidt at linux.vnet.ibm.com> wrote:
> Author: wschmidt
> Date: Wed Jul  3 10:36:02 2013
> New Revision: 185544
>
> URL: http://llvm.org/viewvc/llvm-project?rev=185544&view=rev
> Log:
> Fix PR16454: Don't #include altivec.h when preprocessing assembly.
>
> When the -maltivec flag is present, altivec.h is auto-included for the
> compilation.  This is not appropriate when the job action is to
> preprocess a file containing assembly code.  So don't do that.
>
> I was unable to convert the test in the bug report into a regression
> test.  The original symptom was exposed with:
>
>   % touch x.S
>   % ./bin/clang -target powerpc64-unknown-linux-gnu -maltivec -S -o - x.S
>
> I tried this test (and numerous variants) on a PPC64 system:
>
> ----------------------------------------------------------------------------
> // RUN: touch %t
> // RUN: %clang -maltivec -S %t -o - | FileCheck %s

This %t won't be treated as a temporary file. Why are you creating a
new file here? Just use the source file containing the RUN: lines as
input:

$ cat pr16454.S
// RUN: %clang -target powerpc64-linux-gnu -maltivec -S %s -o - | FileCheck %s
// CHECK-NOT: vector
$ lit !$
[...]
<stdin>:6:8: error: CHECK-NOT: string occurred!
static vector signed char __attribute__((__overloadable__, __always_inline__))
       ^



More information about the cfe-commits mailing list