You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[mlir] Use default RemarkOpts constructor for c++20 compat (#154887)
Using the default constructor makes this header work in both c++17 and
c++20 codebases. Without this, a c++20 codebase will break like this:
```c++
external/llvm-project/mlir/include/mlir/IR/Remarks.h:66:12: error: no matching constructor for initialization of 'RemarkOpts'
66 | return RemarkOpts{n, {}, {}, {}};
| ^ ~~~~~~~~~~~~~~~
external/llvm-project/mlir/include/mlir/IR/Remarks.h:58:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 4 were provided
58 | struct RemarkOpts {
| ^~~~~~~~~~
external/llvm-project/mlir/include/mlir/IR/Remarks.h:58:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 4 were provided
58 | struct RemarkOpts {
| ^~~~~~~~~~
external/llvm-project/mlir/include/mlir/IR/Remarks.h:63:3: note: candidate constructor not viable: requires 0 arguments, but 4 were provided
63 | RemarkOpts() = delete;
| ^
external/llvm-project/mlir/include/mlir/IR/Remarks.h:65:31: error: constexpr function's return type 'RemarkOpts' is not a literal type
65 | static constexpr RemarkOpts name(StringRef n) {
| ^
external/llvm-project/mlir/include/mlir/IR/Remarks.h:58:8: note: 'RemarkOpts' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
58 | struct RemarkOpts {
| ^
```
0 commit comments