<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVU2PmzAQ_TXmYoHAhAQOHLLJRu2lXXXb5ogcmIArByPb7Me_75iPXbLalaotIsbYeObNvDeTk6qe819GtDUtJccxioMwCKlVtFSXTkigZ6Upp516BN2V1HJdgyVsR20DlKxD_9wq_9QLaUWLr_QseU2FoaJulYYqIOGehNtpXIfjXU7vLBZtKfsKLcU7YyuhgobEt1dn2IGwLXpDmxWcRQvUNKqXVUvYxtILtxa0w3PqLYWnThkwdMKDE3Chjecqioacudn3ZK4ouJSq5ISlhrCMuuvyfL24RCRa5xajZemDEpU7QjY3454722n84oy7hLEvgFboUWlZkWSHR5gzFi--1mB73dLwZZFs9m-ytXR-bKCdqHGROXKuqZl5WUTlXCIzF15qR6uUosIcPQrbDB9PROsxa75o3z8-ZEtYoVoSv-XTPtk5q6tJSEtdUP-I1nAErRGw708qivcT9vWKNi5TQUl9NU5He9MqemT4w8xt6WDDTZD_V5SbKTyU3Ex2cjM5RHX4x2Hbf9kmyf7zOqDTRZJZqvFuTp6Tb7yN02zG2yoL7tlpeBCqN4tEujppQMNHSHAyZXBG8b77aEwKraEFze1r1f2jgp7SdYEULATUaXWScKGVQqVgBFSVZa8_Qfy-KO5_7nfF79sf91-_fysKJD2iPtY6Tso0-1gaE6j3deHcBVjLi6VlqV2D9Ko8rrI44x7vbaN0Xl0k189er2XeWNsZF5drM4caa6I_BZgdfJHyYX74mI8_UGLfOwhjekApHJI4yWKvyddRGK3TMloB8JCtIIUozTZJEmVZWCaMeZKfQJoc9Yjl38IjHUy4VpDsvf9HIHIWMrzDVZRFLAmDdHPigIh4ts4ShEJWIWC_koGzEyhdezofTJ762uCmFMaa101uDPZugAEwIrTCSsgHbv3x38Gp-c4V7t1u6BnVrJyx55srCXgD3HzA-heSzPSz>53593</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang-13.0.0: PowerPC build target ignores -fno-builtin
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dmlary
      </td>
    </tr>
</table>

<pre>
    Using clang 13.0.0 to compile for a powerpc target, the `-fno-builtin` flag is ignored.

```c
#include <stdio.h>

/* this define shouldn't matter, but exposes builtins being defined */
#define __alloca(s)     my_alloca(s)

int main(void) {
    printf("Hello World\n");
    return 0;
}
```

When compiling for powerpc target the `__alloca()` macro collides with the compiler built-in `__alloca()` definition:
```txt
$ clang -fno-builtin -Wall -Werror --target=powerpc64 hello.c -o hello
hello.c:2:9: error: '__alloca' macro redefined [-Werror,-Wmacro-redefined]
#define __alloca(s)     my_alloca(s)
        ^
<built-in>:389:9: note: previous definition is here
#define __alloca __builtin_alloca
        ^
1 error generated.
```

When compiling for x86_64 target the problem does not occur:
```txt
$ clang -fno-builtin -D__STDC_VERSION__=1 -std=c89 -Wall -Werror --target=x86_64 hello.c -o hello
$ ./hello
Hello World
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVNtuozAQ_RrzYoGICQEeeEiTVrsvu9Xe8hgZPAleORjZppe_3zGXllSttGpEwNh45sw5x1Np8Vz-trI901pxvK-SKI5i6jSt9aWTCuhJG8pppx_BdDV13JzBEbajrgFKNnF4anVY9VI52eIrPSl-ptJSeW61ARGReE_i7XTfxONVT-8skW2teoGRkp11QuqoIcnt1R52R9gWs2FMASfZArWN7pVoCcscvXDnwHg8Ve8oPHXagqUTHhyAL23cJygG8uHm3FO445ErpWtOWG4JK6j_XZ6vJ5eIZOvTYrUsf9BS-C0kuxnX_N7O4BcnXCWMfQGMQg_aKEHSHW5hPliy-NqA601L45dJku3fsLVMfmignaTxlXlxrqWZdVlU5VOiMhdeGy-rUlIgR4_SNcPHk9BmZC2U7fvbB7akk7olyVs93ZObWV1PRlr6goYHjIZ3MAYBh-HkomQ_Yd-saeOZimoa6nE4xptmMSPDPzK3pUMMP0D9X1FmU3louVns9GZKiO4ID8Ny-LJM0v3nfUCnH0lnqya7mTxv32Sb5MWMt9UO_LMz8CB1bxdE-nPSgIGPkOBgYnBG8X761UgKPUMLhrvXU_efDnrKN0eUYGGgzuhKwYUKjU7BCqiu6958Qvj98fjz1353_HP74-fX79-ORxR9RUM86zio8-Jja0yg3veFTxfhWV5MLY_aNchAlIkokoIHTjoF5YAzHDudV-bem_B-N_hfzCyM_ctelRP0RpWNc531TPjGdHfGU9RXEfKJL0o9zI8QGfwLNXbKO2ltD2ieuzRJiyRoyjyt8nS9Om0YrzaC1wmssljk1To-ZVkFLFC8AmVLdDA2jBYe6RDCN490H8iSxQyveL0qViyNozyrOGzymhebIs2LjKxjwP6kIo8j0uYcmHKAVPVni4tKWmdfF7m1WCvAkA7j89412pTiorh5DobM5YD8H7VY4Fc">