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
Wed Feb 15 00:13:34 PST 2017


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/20170215/327172dd/attachment-0001.html>


More information about the cfe-commits mailing list