]> granicus.if.org Git - clang/commit
[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)
commitf6444a8a7e1801c2d89498ec9dc3b3f6e1d9eede
tree8e89db58446e678ed3aa915844bf994e34eb87ab
parent4ae1beb2f1cd190d9d2ddff4d20b0de4ea61b62c
[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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331232 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Serialization/ASTReaderDecl.cpp
test/Modules/Inputs/non-ambiguous-enum/A.framework/Headers/a.h [new file with mode: 0644]
test/Modules/Inputs/non-ambiguous-enum/A.framework/Headers/a0.h [new file with mode: 0644]
test/Modules/Inputs/non-ambiguous-enum/A.framework/Modules/module.modulemap [new file with mode: 0644]
test/Modules/Inputs/non-ambiguous-enum/B.framework/Headers/b.h [new file with mode: 0644]
test/Modules/non-ambiguous-enum.m [new file with mode: 0644]