r.stahl created this revision.
r.stahl added reviewers: NoQ, dcoughlin, xazax.hun, george.karpenkov.
Herald added subscribers: cfe-commits, martong, a.sidorin, rnkovacs.

The ASTImporter was failing to import the SourceLocation field of Attrs.


Repository:
  rC Clang

https://reviews.llvm.org/D46115

Files:
  lib/AST/ASTImporter.cpp


Index: lib/AST/ASTImporter.cpp
===================================================================
--- lib/AST/ASTImporter.cpp
+++ lib/AST/ASTImporter.cpp
@@ -7199,8 +7199,11 @@
 
 Decl *ASTImporter::Imported(Decl *From, Decl *To) {
   if (From->hasAttrs()) {
-    for (auto *FromAttr : From->getAttrs())
-      To->addAttr(FromAttr->clone(To->getASTContext()));
+    for (auto *FromAttr : From->getAttrs()) {
+      Attr *ToAttr = FromAttr->clone(To->getASTContext());
+      ToAttr->setRange(Import(FromAttr->getRange()));
+      To->addAttr(ToAttr);
+    }
   }
   if (From->isUsed()) {
     To->setIsUsed();


Index: lib/AST/ASTImporter.cpp
===================================================================
--- lib/AST/ASTImporter.cpp
+++ lib/AST/ASTImporter.cpp
@@ -7199,8 +7199,11 @@
 
 Decl *ASTImporter::Imported(Decl *From, Decl *To) {
   if (From->hasAttrs()) {
-    for (auto *FromAttr : From->getAttrs())
-      To->addAttr(FromAttr->clone(To->getASTContext()));
+    for (auto *FromAttr : From->getAttrs()) {
+      Attr *ToAttr = FromAttr->clone(To->getASTContext());
+      ToAttr->setRange(Import(FromAttr->getRange()));
+      To->addAttr(ToAttr);
+    }
   }
   if (From->isUsed()) {
     To->setIsUsed();
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to