1 /* { dg-options "-O2 -std=c++11 -fdump-ipa-inline" } */ 2 #include <new> 3 4 class EmbeddedObject { 5 public: val()6 virtual int val() { return 2; } 7 }; 8 9 class Container { alignas(EmbeddedObject)10 alignas(EmbeddedObject) char buffer[sizeof(EmbeddedObject)]; 11 public: 12 EmbeddedObject *obj() { return (EmbeddedObject*)buffer; } Container()13 Container() { new (buffer) EmbeddedObject(); } 14 }; 15 16 Container o; 17 main()18int main() 19 { 20 __builtin_printf("%d\n", o.obj()->val()); 21 } 22 /* { dg-final { scan-ipa-dump-not "__builtin_unreachable" "inline" } } */ 23