/* PR tree-optimization/98499. */ /* { dg-do run } */ /* { dg-options "-O2" } */ struct string { // pointer to local store char * _M_buf; // local store char _M_local_buf[16]; __attribute__((noinline)) string() : _M_buf(_M_local_buf) {} ~string() { if (_M_buf != _M_local_buf) __builtin_trap(); } string(const string &__str); // no copies }; __attribute__((noinline)) static string dir_name() { return string(); } class Importer { string base_path; public: __attribute__((noinline)) Importer() : base_path (dir_name()) {} }; int main() { Importer imp; }