blob: fa2d9c9cd1e5fd5a7400852e1e6ec200d3c59f05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/* PR tree-optimization/117919 */
/* { dg-do compile } */
/* { dg-options "-O1 -fno-tree-forwprop -fnon-call-exceptions --param=early-inlining-insns=192 -std=c++20" } */
char _M_p, _M_construct___beg;
struct _Alloc_hider {
_Alloc_hider(char);
};
long _M_string_length;
void _M_destroy();
void _S_copy_chars(char *, char *, char *) noexcept;
char _M_local_data();
struct Trans_NS___cxx11_basic_string {
_Alloc_hider _M_dataplus;
bool _M_is_local() {
if (_M_local_data())
if (_M_string_length)
return true;
return false;
}
void _M_dispose() {
if (!_M_is_local())
_M_destroy();
}
char *_M_construct___end;
Trans_NS___cxx11_basic_string(Trans_NS___cxx11_basic_string &)
: _M_dataplus(0) {
struct _Guard {
~_Guard() { _M_guarded->_M_dispose(); }
Trans_NS___cxx11_basic_string *_M_guarded;
} __guard0;
_S_copy_chars(&_M_p, &_M_construct___beg, _M_construct___end);
}
};
namespace filesystem {
struct path {
path();
Trans_NS___cxx11_basic_string _M_pathname;
};
} // namespace filesystem
struct FileWriter {
filesystem::path path;
FileWriter() : path(path) {}
};
struct LanguageFileWriter : FileWriter {
LanguageFileWriter(filesystem::path) {}
};
int
main() {
filesystem::path output_file;
LanguageFileWriter writer(output_file);
}
|