[cfe-dev] New guy trying to figure out where the parsing is happening

JB Feldman jb.feldman at kyrus-tech.com
Fri Jan 24 17:36:43 PST 2014


Hey guys,

I'm a serious newbie at LLVMing. I've been trying to figure out how to
solve
http://llvm.org/bugs/show_bug.cgi?id=18443
<http://llvm.org/bugs/show_bug.cgi?id=18443>.

I've discovered where the error is being triggered, and that is in
TreeTransform<Derived>::TransformUnaryExprOrTypeTraitExpr(). However, I
don't feel that this is the correct place to fix the problem, I think
the correct place would be to make it so that

sizeof(T::type); 
and
sizeof(typename T::type);

Parse to the same Expr. I've been debugging clang with VS trying to
figure out where/when/how this thing is parsed, and all I ever see (in
Lexer::Lex) are headers being parsed. Can anyone point me to the code
that creates the Expr objects for this code? At the moment, I can't even
identify what type of Expr "typename T::type" would parse to, let alone
try to make "T::type" parse to the same thing.

If you don't know the answer, is there a good place to start for diving
into developing on clang? I'm still not sure I'm clear on the
differences between parsing, AST, lexing, and sema transforms. I would
very much appreciate any help on these topics, anywhere between someone
saying, "hey, go read this readme/webpage" to someone actually pointing
me to the correct piece of code. I feel like I've been spinning my
wheels on this one.

I really want to get involved in making clang more robust with Windows
(at some point probably including diving into the SEH problem), I just
seem to need some help getting started.

Thanks,
JB



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140124/9116586b/attachment.html>


More information about the cfe-dev mailing list