================
@@ -100,8 +101,17 @@ void MapExtDefNamesConsumer::addIfInMain(const 
DeclaratorDecl *DD,
   case Linkage::External:
   case Linkage::VisibleNone:
   case Linkage::UniqueExternal:
-    if (SM.isInMainFile(defStart))
-      Index[*LookupName] = CurrentFileName;
+    if (SM.isInMainFile(defStart)) {
+      if (!DD->hasAttr<WeakAttr>()) {
+        Index[*LookupName] = CurrentFileName;
+        WeakNames.erase(*LookupName);
+      } else {
+        if (!Index.contains(*LookupName)) {
+          Index[*LookupName] = CurrentFileName;
+          WeakNames.insert(*LookupName);
+        }
+      }
----------------
NagyDonat wrote:

```suggestion
      } else if (!Index.contains(*LookupName)) {
        Index[*LookupName] = CurrentFileName;
        WeakNames.insert(*LookupName);
      }
```

https://github.com/llvm/llvm-project/pull/222010
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to