| // RUN: %clang_cc1 -triple x86_64-linux-pc -DIS64 -fsyntax-only -verify -std=c++17 %s |
| // RUN: %clang_cc1 -triple x86_64-windows-pc -DIS64 -fsyntax-only -verify -std=c++17 %s |
| // RUN: %clang_cc1 -triple i386-linux-pc -fsyntax-only -verify -std=c++17 %s |
| // RUN: %clang_cc1 -triple i386-windows-pc -DW32 -fsyntax-only -verify -std=c++17 %s |
| // expected-no-diagnostics |
| struct A : virtual Base { |
| static_assert(__has_unique_object_representations(decltype(p))); |
| // required on 64 bit to fill out the tail padding. |
| static_assert(__has_unique_object_representations(B)); |
| struct C { // has padding on Win32, but nothing else. |
| static_assert(!__has_unique_object_representations(C)); |
| static_assert(__has_unique_object_representations(C)); |