r259095 - Implementation of PS4 ABI, Round 1
Sunil Srivastava via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 28 13:36:31 PST 2016
Author: ssrivastava
Date: Thu Jan 28 15:36:31 2016
New Revision: 259095
URL: http://llvm.org/viewvc/llvm-project?rev=259095&view=rev
Log:
Implementation of PS4 ABI, Round 1
Added a test to safeguard linux ABI.
Differential Revision: http://reviews.llvm.org/D16607
Modified:
cfe/trunk/test/Sema/bitfield-layout.c
Modified: cfe/trunk/test/Sema/bitfield-layout.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/bitfield-layout.c?rev=259095&r1=259094&r2=259095&view=diff
==============================================================================
--- cfe/trunk/test/Sema/bitfield-layout.c (original)
+++ cfe/trunk/test/Sema/bitfield-layout.c Thu Jan 28 15:36:31 2016
@@ -1,6 +1,7 @@
// RUN: %clang_cc1 %s -fsyntax-only -verify -triple=i686-apple-darwin9
// RUN: %clang_cc1 %s -fsyntax-only -verify -triple=arm-linux-gnueabihf
// RUN: %clang_cc1 %s -fsyntax-only -verify -triple=aarch64-linux-gnu
+// RUN: %clang_cc1 %s -fsyntax-only -verify -triple=x86_64-pc-linux-gnu
// expected-no-diagnostics
#include <stddef.h>
@@ -190,7 +191,7 @@ struct g11 {
__attribute__((aligned(1))) long long b : 62;
char c;
};
-#if defined(__arm__) || defined(__aarch64__)
+#if defined(__arm__) || defined(__aarch64__) || defined(__x86_64__)
CHECK_SIZE(struct, g11, 24);
CHECK_ALIGN(struct, g11, 8);
CHECK_OFFSET(struct, g11, c, 16);
@@ -218,6 +219,10 @@ struct g13 {
CHECK_SIZE(struct, g13, 16);
CHECK_ALIGN(struct, g13, 8);
CHECK_OFFSET(struct, g13, c, 8);
+#elif (__x86_64__)
+CHECK_SIZE(struct, g13, 9);
+CHECK_ALIGN(struct, g13, 1);
+CHECK_OFFSET(struct, g13, c, 8);
#else
CHECK_SIZE(struct, g13, 5);
CHECK_ALIGN(struct, g13, 1);
@@ -233,6 +238,10 @@ struct __attribute__((packed)) g14 {
CHECK_SIZE(struct, g14, 16);
CHECK_ALIGN(struct, g14, 8);
CHECK_OFFSET(struct, g14, c, 8);
+#elif (__x86_64__)
+CHECK_SIZE(struct, g14, 9);
+CHECK_ALIGN(struct, g14, 1);
+CHECK_OFFSET(struct, g14, c, 8);
#else
CHECK_SIZE(struct, g14, 5);
CHECK_ALIGN(struct, g14, 1);
More information about the cfe-commits
mailing list