<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/152243>152243</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] Failed to compile MLIR
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
linuxlonelyeagle
</td>
</tr>
</table>
<pre>
When I pulled the latest LLVM code to compile MLIR, I failed.`llvm/include/llvm/Support/DebugLog.h` It looks like it has been reverted.
```
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:71:12: error: ISO C++ forbids declaration of 'raw_ldbg_ostream' with no type [-fpermissive]
71 | explicit raw_ldbg_ostream(std::string Prefix, raw_ostream &Os,
| ^~~~~~~~~~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:71:3: error: only declarations of constructors and conversion operators can be 'explicit'
71 | explicit raw_ldbg_ostream(std::string Prefix, raw_ostream &Os,
| ^~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:77:20: error: expected class-name before '(' token
77 | ~raw_ldbg_ostream() final { flushEol(); }
| ^
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:90:3: error: 'raw_ldbg_ostream' does not name a type; did you mean 'raw_fd_ostream'?
90 | raw_ldbg_ostream &asLvalue() { return *this; }
| ^~~~~~~~~~~~~~~~
| raw_fd_ostream
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:86:12: error: 'uint64_t llvm::impl::LogWithNewline::current_pos() const' marked 'final', but is not virtual
86 | uint64_t current_pos() const final { return Os.tell(); }
| ^~~~~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In constructor 'llvm::impl::LogWithNewline::LogWithNewline(const char*, const char*, int, llvm::raw_ostream&)':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:54:9: error: class 'llvm::impl::LogWithNewline' does not have any field named 'os'
54 | : os(os) {
| ^~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In destructor 'llvm::impl::LogWithNewline::~LogWithNewline()':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:59:23: error: 'os' was not declared in this scope; did you mean 'cos'?
59 | ~LogWithNewline() { os << '\n'; }
| ^~
| cos
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In member function 'llvm::raw_ostream& llvm::impl::LogWithNewline::operator<<(const T&) &&':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:61:12: error: 'os' was not declared in this scope; did you mean 'cos'?
61 | return os << t;
| ^~
| cos
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In member function 'int llvm::impl::LogWithNewline::raw_ldbg_ostream(std::string, llvm::raw_ostream&, bool)':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:73:9: error: only constructors take member initializers
73 | : Prefix(std::move(Prefix)), Os(Os),
| ^~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:73:9: error: class 'llvm::impl::LogWithNewline' does not have any field named 'Prefix'
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:73:36: error: class 'llvm::impl::LogWithNewline' does not have any field named 'Os'
73 | : Prefix(std::move(Prefix)), Os(Os),
| ^~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:74:9: error: class 'llvm::impl::LogWithNewline' does not have any field named 'HasPendingNewline'
74 | HasPendingNewline(HasPendingNewline) {
| ^~~~~~~~~~~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:75:5: error: 'SetUnbuffered' was not declared in this scope; did you mean 'setbuffer'?
75 | SetUnbuffered();
| ^~~~~~~~~~~~~
| setbuffer
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:76:3: warning: no return statement in function returning non-void [-Wreturn-type]
76 | }
| ^
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In member function 'void llvm::impl::LogWithNewline::flushEol()':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:79:9: error: 'HasPendingNewline' was not declared in this scope
79 | if (HasPendingNewline) {
| ^~~~~~~~~~~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:80:7: error: 'emitPrefix' was not declared in this scope
80 | emitPrefix();
| ^~~~~~~~~~
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h: In member function 'uint64_t llvm::impl::LogWithNewline::current_pos() const':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:86:47: error: 'Os' was not declared in this scope
86 | uint64_t current_pos() const final { return Os.tell(); }
| ^~
/root/llvm-project/mlir/lib/IR/AsmPrinter.cpp: In function 'mlir::OpPrintingFlags verifyOpAndAdjustFlags(mlir::Operation*, mlir::OpPrintingFlags)':
/root/llvm-project/llvm/include/llvm/Support/DebugLog.h:42:19: error: '_GET_LDBG_MACRO' was not declared in this scope
42 | #define LDBG(...) _GET_LDBG_MACRO(__VA_ARGS__)(__VA_ARGS__)
| ^~~~~~~~~~~~~~~
/root/llvm-project/mlir/lib/IR/AsmPrinter.cpp:2073:5: note: in expansion of macro 'LDBG'
2073 | LDBG() << op->getName()
| ^~~~
/root/llvm-project/mlir/lib/IR/AsmPrinter.cpp: At global scope:
/root/llvm-project/mlir/lib/IR/AsmPrinter.cpp:2955:6: warning: 'virtual void mlir::AsmPrinter::printType(mlir::Type)' was hidden [-Woverloaded-virtual=]
2955 | void AsmPrinter::printType(Type type) {
| ^~~~~~~~~~
/root/llvm-project/mlir/lib/IR/AsmPrinter.cpp:2707:6: note: by 'mlir::AsmPrinter::Impl::printType(mlir::Type)'
2707 | void AsmPrinter::Impl::printType(Type type) {
| ^~~~~~~~~~
[2989/4533] Building CXX object tools/mlir/lib/IR/CMakeFiles/obj.MLIRIR.dir/BuiltinAttributes.cpp.o
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEWd9z2roS_mvEy04YI2MMDzwYUnqZSU86ae_peWNkewE1suSRZJrch_7tdySb35Ayp845mUwIsrXW9-3utyuZGcNXEnFMogmJ7jussmulx4LL6kUoieIV2UpgJ1X56_jbGiXMoayEwBzsGkEwi8bCw8OfnyBTOYJVkKmi5ALh08P8idApzGHJuMC8SwaBEJuC0BmXmahyJHTWDHypylJpS-jsHtNq9aBW3TUZBDC3IJR6NiD4MwK3sGYGUkQJGjeorbMaJGQQNL9BQuhMK2Ub03elVt8xs_sn3fboMIl7JEx6lIQJoNZKu3_mXx5hSuiE0AkslU55biDHTDDNLFcS1BIIjTX7sRB5ulooYzWygtAYfnC7BqnAvpYIJJrcLUvUBTeGb5BE9yRIACDuAYmnAIAvpeAZt3BuamhsTsKEhImxmssVfNa45C-OZ3dzcx8QOng0hE5rwwDeMIk-_Dz-aZuv8IguJcXrIT_GEZQpaayuMqu0ASZzN7BBbTx_JWrmL2RMQoqOzS0XhMb_NEttshOTMKHBET34UmJmMYdMMGPuJCsQUlwq7XETOnSBY9UzygZ43AD_eQEwoSNYcskEkHgCS1GZ9Qcl6gsknACJ709RtghvFJw5_0oi5AoNSGXBw2U-Idz6cp7Dq6qgQCa3c5f5wUwSzhyAUdCQcGrcOZOZhw0TFTZ8OCY02ko7i4ldc3OFifOs2F8-WUh7nA0H5wJDaFxxaQf9hQU_28cwL0pR__egVt-4Xf-BPwSXWI9lldYo7aJUpsHtU8yRXTD9jLmz6kPDR9UU0soCr52w4dpWTNSAh4OG2t0Srpg-CLSG3kfTtSjeDrd3UR2Yy0NFcVBv5e1kjA5rbNmaaUITR9TZAJfWfeyfcCAmhA4cdheoSYsAo75Lr6Mg8XJxI9LDjFuzDQKTr7DkKHKfgD42nHMbbY36TQh4vzkJd453f3w2nbm0ZU_m-Hcc-fPMk-_iCOcEeqZxnjz4wWqK62KHOXAJTm_AZOqyvmU167WoAUQjz-lFKD7RlAESTkk49bUhmko_-zzRLv80vtrf5h7fru8KLFLUsKxk5nuhIwce58nN0rbtB2rkuxT9Wuca-I9B654eXOj82vP0oLfzUyOee9daEk6uefPfcSGXtxeiX7dhb4vnFFLlWpb2czcOz0TU96ZHvahlz7ilgEtuORP8f6hN03yFJ8q47Sj3GAu1cRm7vTDyv1NwHebQ_Rld6zTfF2nb5WKLL2572eHgXdf9uC9z7-XMNhl5_7r_H2Y-o8y5XO1nNfz0j9Tnwo3DC2O7FuFyV90qO5GryKcK_QXtf2VaLZeoMf97Ym3Q1gYOJTuOdnScPKJpd880-wT9lpS99RapGGy3Xj-Ylk5kwwSk2hYXY5nFAqV12HfKXl90G2Op5N1G8dwfSnyrx-_8pqw-lYi3m4L33UBeKT9-ZbfWn5NNb-tFZHSWkVeS6FdxVwfVaBctfAm_yKg3NqttptXQbePjU4hYcLsT_ZuwDetN-uHES5lyCOb9Y6nFjXW7geUPAvpntD_e0m_-Ixv3t7AWgms3ylNCZ_MnQmeJKT5rLi3qblaWjT8OHeGneIYfS38nl6uZYCsDG9R8-fpYJjJP8u-VsX6Y0OHhFKwPE5st-VVj7yEBfbcp6J1pwOLjh6-Lh_vJx8WnZPr0eKvb-rRmmIY5LrlEcCYIHXa7XeexM6vDxeLPZJE8ffyyWHh0pwNvCsVvOpEGvkeL6upiXYo4TPhSMmmas--CZVo5Qmogvplw83ZC1wD0wlbveFR5R8IPK7R_sGK7cz-H8bsBmFhYCZUysS38bwbFLWyMIsfE4KTsuopVn6iBr1z74NxbqL-X7stXV2YPg7seGG0DaM3zHGVdmdUGtVAsx_xue2gX3jc12q3Gs-Uf-taj3Ed95HrcrZ01Lb_LTxzEW3620QKQvh6n_-lK5zs5_hU9HnUcxNdRX7Z1Cf_VchRN6Gg4InTWj8KQRPcwqbhw9Rmmf_0FKnV0gFVKmIukTD-xZ5xxge6ySr93Pz3Mn-ZP3dzf6GxZLhNrNU8ri8Yx11WHL7M6-TjMR-GIdXDci6N-PwqiKO6sxzRLo7QfhoN-LwzCqL_EYb7sLYMg6_dCHIw6fEwDGgXDYBCElIZxdziIc2QjhoM8zoI4Jf0AC8ZF17m2q_Sqw42pcNyLKO2HHcFSFMa_EqS0RkZJdN_RYx8KabUypB8IbqzZW7DcCv8a0U-I7mHm3_qdvhHsVFqM19aWxrmHzgidrbhdV2k3U8VegU9izi_PEdmscDOm_w8AAP__DeD88g">