Ericsson / clang

Cross Translation Unit analysis capability for Clang Static Analyzer. (Fork of official clang at http://llvm.org/git/clang)
http://clang.llvm.org/
Other
15 stars 10 forks source link

namespace scoping is not handled properly in function and template parameters #627

Open dkrupp opened 5 years ago

dkrupp commented 5 years ago

structural equivalence currently does not take namespace into consideration, but it should.

file: a.cc namespace x{ class a; } void f(x::a);

file: imported.cc namespace y{ class a; } void f(y::a);

The error is that f(x::a) is said to be equivalent with f(y::a) and the import fails.

There is such error in bitcoin.

balazske commented 5 years ago

There is a related pull request #629.

dkrupp commented 5 years ago

there is a suspected problem with astreader in ASTContext getCanonicalTemplateTemplateParmDecl(..)