aaron.ballman added inline comments.
================
Comment at: clang/lib/Parse/Parser.cpp:1096-1097
+ ParsingDeclSpec &DS, AccessSpecifier AS) {
+ DS.SetRangeStart(DeclSpecAttrs.Range.getBegin());
+ DS.SetRangeEnd(DeclSpecAttrs.Range.getEnd());
+ DS.takeAttributesFrom(DeclSpecAttrs);
----------------
compnerd wrote:
> aaron.ballman wrote:
> > How sure are you that this isn't overwriting existing range data that's
> > potentially relevant? e.g., where declaration specifiers and attributes are
> > mixed together such that the attribute range doesn't cover all of the
> > declaration specifiers?
> I don't believe it can - the range hasn't been setup yet when coming into
> this function, only the storage has been allocated. This is the first place
> where we are initializing the source range. If there are other unstated
> invariants, it would be nice to have some sort of assertion for them.
Ah, so we could perhaps assert that the range is invalid on entry and leave a
comment explaining why we're asserting/what's going on?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137979/new/
https://reviews.llvm.org/D137979
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits