This is an archive of the discontinued LLVM Phabricator instance.

[Modules] Handle ObjC/C ODR-like semantics for EnumConstantDecl
ClosedPublic

Authored by bruno on Apr 26 2018, 6:25 PM.

Details

Reviewers
rsmith
Summary

Support for ObjC/C ODR-like semantics with structural equivalence checking was added back in r306918. There enums are handled and also checked for structural equivalence. However, at use time of EnumConstantDecl, support was missing for preventing ambiguous name lookup.

Add the missing bits for properly merging EnumConstantDecl.

rdar://problem/38374569

Diff Detail

Repository
rC Clang

Event Timeline

bruno created this revision.Apr 26 2018, 6:25 PM
rsmith accepted this revision.Apr 27 2018, 4:14 PM
rsmith added inline comments.
lib/Serialization/ASTReaderDecl.cpp
2568–2570

I think this comment would benefit from more rewriting, since we've basically decided that we do want to apply the ODR merging rule to C.

This revision is now accepted and ready to land.Apr 27 2018, 4:14 PM
bruno marked an inline comment as done.Apr 30 2018, 2:24 PM
bruno added inline comments.
lib/Serialization/ASTReaderDecl.cpp
2568–2570

Sure, will update that!

bruno closed this revision.May 1 2018, 10:13 AM
bruno marked an inline comment as done.

Landed in r331232 & r331233.