diff options
| author | NAKAMURA Takumi <geek4civic@gmail.com> | 2016-01-23 02:22:36 +0000 |
|---|---|---|
| committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2016-01-23 02:22:36 +0000 |
| commit | 7cfaab2bcce1444fbb737a12d6dee9daaeeaf83e (patch) | |
| tree | dc5c49b8d9294b428329cf632a7e07049e3b0a3b /llvm | |
| parent | f1c5a0f09cb1444e43cf605b0a22aeac39cd6f85 (diff) | |
| download | bcm5719-llvm-7cfaab2bcce1444fbb737a12d6dee9daaeeaf83e.tar.gz bcm5719-llvm-7cfaab2bcce1444fbb737a12d6dee9daaeeaf83e.zip | |
AlignOf.h: Appease g++-4.7 for now. Will fix later.
llvm-svn: 258600
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Support/AlignOf.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/include/llvm/Support/AlignOf.h b/llvm/include/llvm/Support/AlignOf.h index e6a61aec851..8600f42f495 100644 --- a/llvm/include/llvm/Support/AlignOf.h +++ b/llvm/include/llvm/Support/AlignOf.h @@ -244,6 +244,18 @@ union SizerImpl { /// expose a char array buffer member which can be used as suitable storage for /// a placement new of any of these types. Support for more than ten types can /// be added at the cost of more boilerplate. +#if __GNUC__ == 4 && __GNUC_MINOR__ == 7 +template <typename T1, + typename T2 = char, typename T3 = char, typename T4 = char, + typename T5 = char, typename T6 = char, typename T7 = char, + typename T8 = char, typename T9 = char, typename T10 = char> +struct AlignedCharArrayUnion : llvm::AlignedCharArray< + AlignOf<detail::AlignerImpl<T1, T2, T3, T4, T5, + T6, T7, T8, T9, T10> >::Alignment, + sizeof(::llvm::detail::SizerImpl<T1, T2, T3, T4, T5, + T6, T7, T8, T9, T10>)> { +}; +#else template <typename T1, typename T2 = char, typename T3 = char, typename T4 = char, typename T5 = char, typename T6 = char, typename T7 = char, @@ -254,5 +266,6 @@ struct AlignedCharArrayUnion : llvm::AlignedCharArray< sizeof(::llvm::detail::SizerImpl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>)> { }; +#endif } // end namespace llvm #endif |

