is_standard_layout.pass.cpp revision b64f8b07c104c6cc986570ac8ee0ed16a9f23976
13c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//===----------------------------------------------------------------------===//
23c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//
33c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//                     The LLVM Compiler Infrastructure
43c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//
53c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch// This file is dual licensed under the MIT and the University of Illinois Open
63c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch// Source Licenses. See LICENSE.TXT for details.
73c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//
83c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch//===----------------------------------------------------------------------===//
93c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch
103c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch// type_traits
113c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch
123c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch// is_standard_layout
133c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch
143c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch#include <type_traits>
153c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch
163c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdochint main()
173c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch{
183c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch    static_assert( std::is_standard_layout<int>::value, "");
193c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch    static_assert(!std::is_standard_layout<int&>::value, "");
203c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch    static_assert(!std::is_standard_layout<volatile int&>::value, "");
213c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch}
223c9e4aeaee9f9b0a9a814da07bcb33319c7ea363Ben Murdoch