diff options
author | Rainer Orth <ro@gcc.gnu.org> | 2019-07-23 16:24:00 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2019-07-23 16:24:00 +0000 |
commit | 2da6eea07cdef7462e75faadd421aae6e2e26275 (patch) | |
tree | 6e8526008de4eb131d65de7ad347f71ede77420a /clang/lib/Basic | |
parent | 2b404d01e82692b3085a2b1fdfd24f8d2a9739a2 (diff) | |
download | bcm5719-llvm-2da6eea07cdef7462e75faadd421aae6e2e26275.tar.gz bcm5719-llvm-2da6eea07cdef7462e75faadd421aae6e2e26275.zip |
[clang, test] Fix Clang :: Headers/max_align.c on 64-bit SPARC
Clang :: Headers/max_align.c currently FAILs on 64-bit SPARC:
error: 'error' diagnostics seen but not expected:
File /vol/llvm/src/clang/dist/test/Headers/max_align.c Line 12: static_assert failed due to requirement '8 == _Alignof(max_align_t)' ""
1 error generated.
This happens because SuitableAlign isn't defined for SPARCv9 unlike SPARCv8
(which uses the default of 64 bits). gcc's sparc/sparc.h has
#define BIGGEST_ALIGNMENT (TARGET_ARCH64 ? 128 : 64)
This patch sets SuitableAlign to match and updates the corresponding testcase.
Tested on sparcv9-sun-solaris2.11.
Differential Revision: https://reviews.llvm.org/D64487
llvm-svn: 366820
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/Targets/Sparc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/Sparc.h b/clang/lib/Basic/Targets/Sparc.h index 963192a4634..1f799565e99 100644 --- a/clang/lib/Basic/Targets/Sparc.h +++ b/clang/lib/Basic/Targets/Sparc.h @@ -208,6 +208,7 @@ public: // aligned. The SPARCv9 SCD 2.4.1 says 16-byte aligned. LongDoubleWidth = 128; LongDoubleAlign = 128; + SuitableAlign = 128; LongDoubleFormat = &llvm::APFloat::IEEEquad(); MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; } |