aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorGábor Spaits <gaborspaits1@gmail.com>2024-10-15 10:19:17 +0200
committerGitHub <noreply@github.com>2024-10-15 10:19:17 +0200
commit48521209aa4d95a97564f8a5af7ccca09c6ede5d (patch)
tree2eafe5fd808229d47173ad52ac29196bec4c8e72 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent11903e8c96ae4be9c3cdf3a380f30b611740bfa6 (diff)
downloadllvm-48521209aa4d95a97564f8a5af7ccca09c6ede5d.zip
llvm-48521209aa4d95a97564f8a5af7ccca09c6ede5d.tar.gz
llvm-48521209aa4d95a97564f8a5af7ccca09c6ede5d.tar.bz2
[Sema]Use tag name lookup for class names (#112166)
This PR would fix #16855 . The correct lookup to use for class names is Tag name lookup, because it does not take namespaces into account. The lookup before does and because of this some valid programs are not accepted. An example scenario of a valid program being declined is when you have a struct (let's call it `y`) inheriting from another struct with a name `x` but the struct `y` is in a namespace that is also called `x`: ``` struct x {}; namespace { namespace x { struct y : x {}; } } ``` This shall be accepted because: ``` C++ [class.derived]p2 (wrt lookup in a base-specifier): The lookup for // the component name of the type-name or simple-template-id is type-only. ```
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions