r295156 - Add a definition for __STRUCT_PARM_ALIGN__ for elfv2 and 64-bit darwin platforms to match what other compilers produce.

Eric Christopher via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 16 15:43:18 PDT 2017


... and ppc64 darwin preprocessor stuff isn't tested at all. We should
really just delete ppc darwin support at some point. Adding Iain here since
he's said that he's working on the platform :)

At any rate I added a single test in r298006

-eric

On Wed, Feb 15, 2017 at 12:13 AM Eric Christopher <echristo at gmail.com>
wrote:

> The PPC one should inherit from this. You're right I should have tested it
> though. Mostly ppc Darwin isn't well supported.
>
> On Wed, Feb 15, 2017, 12:06 AM Tim Shen <timshen at google.com> wrote:
>
> On Wed, Feb 15, 2017, 00:01 Eric Christopher via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
> Author: echristo
> Date: Wed Feb 15 01:50:11 2017
> New Revision: 295156
>
> URL: http://llvm.org/viewvc/llvm-project?rev=295156&view=rev
> Log:
> Add a definition for __STRUCT_PARM_ALIGN__ for elfv2 and 64-bit darwin
> platforms to match what other compilers produce.
>
> Modified:
>     cfe/trunk/lib/Basic/Targets.cpp
>     cfe/trunk/test/Preprocessor/init.c
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=295156&r1=295155&r2=295156&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Wed Feb 15 01:50:11 2017
> @@ -1232,6 +1232,11 @@ void PPCTargetInfo::getTargetDefines(con
>    if (LongDoubleWidth == 128)
>      Builder.defineMacro("__LONG_DOUBLE_128__");
>
> +  // Define this for elfv2 (64-bit only) or 64-bit darwin.
> +  if (ABI == "elfv2" ||
> +      (getTriple().getOS() == llvm::Triple::Darwin && PointerWidth == 64))
>
>
> I also see a "DarwinTargetInfo". Maybe this should be put there as well?
>
> +    Builder.defineMacro("__STRUCT_PARM_ALIGN__", "16");
> +
>    if (Opts.AltiVec) {
>      Builder.defineMacro("__VEC__", "10206");
>      Builder.defineMacro("__ALTIVEC__");
>
> Modified: cfe/trunk/test/Preprocessor/init.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=295156&r1=295155&r2=295156&view=diff
>
> ==============================================================================
> --- cfe/trunk/test/Preprocessor/init.c (original)
> +++ cfe/trunk/test/Preprocessor/init.c Wed Feb 15 01:50:11 2017
> @@ -5635,6 +5635,7 @@
>  // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
>  // PPC64LE:#define __SIZE_TYPE__ long unsigned int
>  // PPC64LE:#define __SIZE_WIDTH__ 64
> +// PPC64LE:#define __STRUCT_PARM_ALIGN__ 16
>  // PPC64LE:#define __UINT16_C_SUFFIX__
>  // PPC64LE:#define __UINT16_MAX__ 65535
>  // PPC64LE:#define __UINT16_TYPE__ unsigned short
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170316/a15dc553/attachment.html>


More information about the cfe-commits mailing list