[Mlir-commits] [mlir] [mlir] Fix ambiguous attribute for properties (PR #168536)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Nov 18 06:02:14 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-core
Author: None (BogdanDragosV)
<details>
<summary>Changes</summary>
In some cases, using clang compiler with restrictive setting, `Attribute` alone can be seen as ambiguous, generating errors for methods that are generated. Adding the proper namespace solves the issue.
---
Full diff: https://github.com/llvm/llvm-project/pull/168536.diff
1 Files Affected:
- (modified) mlir/include/mlir/IR/Properties.td (+3-3)
``````````diff
diff --git a/mlir/include/mlir/IR/Properties.td b/mlir/include/mlir/IR/Properties.td
index a7ade0675b9bb..2830ba96fb787 100644
--- a/mlir/include/mlir/IR/Properties.td
+++ b/mlir/include/mlir/IR/Properties.td
@@ -468,7 +468,7 @@ class ArrayProp<Property elem = Property<>, string newSummary = ""> :
return $_diag() << "expected array attribute";
for (::mlir::Attribute elemAttr : arrayAttr) {
}] # _makePropStorage<elem, "elemVal">.ret # [{
- auto elemRes = [&](Attribute propAttr, }] # elem.storageType # [{& propStorage) -> ::mlir::LogicalResult {
+ auto elemRes = [&](::mlir::Attribute propAttr, }] # elem.storageType # [{& propStorage) -> ::mlir::LogicalResult {
}] # !subst("$_attr", "propAttr",
!subst("$_storage", "propStorage", elem.convertFromAttribute)) # [{
}(elemAttr, elemVal);
@@ -480,7 +480,7 @@ class ArrayProp<Property elem = Property<>, string newSummary = ""> :
}];
let convertToAttribute = [{
- SmallVector<Attribute> elems;
+ SmallVector<::mlir::Attribute> elems;
for (const auto& elemVal : $_storage) {
auto elemAttr = [&](const }] # elem.storageType #[{& propStorage) -> ::mlir::Attribute {
}] # !subst("$_storage", "propStorage", elem.convertToAttribute) # [{
@@ -647,7 +647,7 @@ class OptionalProp<Property p, bit canDelegateParsing = 1>
}
::mlir::Attribute presentAttr = arrayAttr[0];
}] # _makePropStorage<p, "presentVal">.ret # [{
- auto presentRes = [&](Attribute propAttr, }] # p.storageType # [{& propStorage) -> ::mlir::LogicalResult {
+ auto presentRes = [&](::mlir::Attribute propAttr, }] # p.storageType # [{& propStorage) -> ::mlir::LogicalResult {
}] # !subst("$_storage", "propStorage",
!subst("$_attr", "propAttr", p.convertFromAttribute)) # [{
}(presentAttr, presentVal);
``````````
</details>
https://github.com/llvm/llvm-project/pull/168536
More information about the Mlir-commits
mailing list