ちょっとしたネクロアンサーですが、clang\lib\Sema\SemaCodeComplete.cpp (llvm のインストール手順に従う場合は \llvm\tools\ にあります) に移動し、次の行を追加すると:
case Decl::LinkageSpec: return CXCursor_LinkageSpec;
スイッチに:
CXCursorKind clang::getCursorKindForDecl(const Decl *D)
これにより、clang の Python バインダーが正しい LINKAGE_SPEC ではなく UNEXPOSED_DECL を返す問題が解決されるはずです。この変更はリビジョン 183352(2013-06-05) で行われました。
私のバージョンの例:
CXCursorKind clang::getCursorKindForDecl(const Decl *D) {
if (!D)
return CXCursor_UnexposedDecl;
switch (D->getKind()) {
case Decl::Enum: return CXCursor_EnumDecl;
case Decl::LinkageSpec: return CXCursor_LinkageSpec;
// ......