[LLVMbugs] [Bug 13618] New: RecursiveASTVisitor: VisitTypeOfExprType doesn't get called
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Aug 16 07:29:48 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=13618
Bug #: 13618
Summary: RecursiveASTVisitor: VisitTypeOfExprType doesn't get
called
Product: clang
Version: trunk
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: sergejs.belajevs at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
I wrote this simple recursive AST visitor:
class MyVisitor : public clang::RecursiveASTVisitor<MyVisitor>
{
public:
MyVisitor() {}
bool VisitTypeOfExprType(clang::TypeOfExprType* t)
{
printf("Visiting typeof expr type!\n");
return true;
}
};
And ran it on AST of the following code (found in one open-source project):
zbx.c:
void foo()
{
int status = 0;
status = ((((__extension__ (((union { __typeof(status) __in; int __i; }) {
.__in = (status) }).__i))) & 0xff00) >> 8);
status = ({ union { __typeof(status) __in; int __i; } a; a.__in = status;
(a.__i & 0xff00) >> 8; });
}
I got only one "Visiting typeof expr type!" as a result, for the 2nd anonymous
union. I cannot find a way how to catch __typeof of the first anonymous union
with RAV.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list