Index: tools/clang/blink_gc_plugin/RecordInfo.cpp |
diff --git a/tools/clang/blink_gc_plugin/RecordInfo.cpp b/tools/clang/blink_gc_plugin/RecordInfo.cpp |
index 3749594333c114bfa4a1895840a0712b10a9d813..516a40a04daec50f420e1262ef2cff2d4a349202 100644 |
--- a/tools/clang/blink_gc_plugin/RecordInfo.cpp |
+++ b/tools/clang/blink_gc_plugin/RecordInfo.cpp |
@@ -592,9 +592,9 @@ Edge* RecordInfo::CreateEdge(const Type* type) { |
return 0; |
} |
- if (type->isPointerType()) { |
+ if (type->isPointerType() || type->isReferenceType()) { |
if (Edge* ptr = CreateEdge(type->getPointeeType().getTypePtrOrNull())) |
- return new RawPtr(ptr, false); |
+ return new RawPtr(ptr, false, type->isReferenceType()); |
return 0; |
} |
@@ -609,7 +609,7 @@ Edge* RecordInfo::CreateEdge(const Type* type) { |
if (Config::IsRawPtr(info->name()) && info->GetTemplateArgs(1, &args)) { |
if (Edge* ptr = CreateEdge(args[0])) |
- return new RawPtr(ptr, true); |
+ return new RawPtr(ptr, true, false); |
return 0; |
} |