[Modules] Handle ObjC/C ODR-like semantics for EnumConstantDecl
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 30 Apr 2018 22:14:29 +0000 (22:14 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 30 Apr 2018 22:14:29 +0000 (22:14 +0000)
commit85f87dd91a3a5a947f6516a4fe76616d88fcf556
treee88194684e358bd4a0c2fb325b54e6c099f10506
parent13d759f87e22a7919ccbad36dff4b5a4cf7f48f3
[Modules] Handle ObjC/C ODR-like semantics for EnumConstantDecl

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

llvm-svn: 331232
clang/lib/Serialization/ASTReaderDecl.cpp
clang/test/Modules/Inputs/non-ambiguous-enum/A.framework/Headers/a.h [new file with mode: 0644]
clang/test/Modules/Inputs/non-ambiguous-enum/A.framework/Headers/a0.h [new file with mode: 0644]
clang/test/Modules/Inputs/non-ambiguous-enum/A.framework/Modules/module.modulemap [new file with mode: 0644]
clang/test/Modules/Inputs/non-ambiguous-enum/B.framework/Headers/b.h [new file with mode: 0644]
clang/test/Modules/non-ambiguous-enum.m [new file with mode: 0644]