vsapsai added a comment.

The main alternative to the current implementation was to change 
`getRedeclContext` for ObjCCategoryDecl, so we handle ivar redeclarations and 
merges in ObjCInterfaceDecl with `ASTDeclReader::findExisting`. Decided against 
it because of noticeably different merging behavior:

- should merge not any same-name ivars but only those located in equivalent 
extensions;
- should error for incompatible same-name ivars;
- should handle ObjCCategoryDecl too but we should check them not during their 
deserialization but after their ivars are deserialized.

Mostly for these reasons decided not to piggy-back on 
`ASTDeclReader::findExisting` but to have a different implementation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121177/new/

https://reviews.llvm.org/D121177

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to