<div dir="ltr"><div><div><div>Hi All,<br><br></div>I am new to clang (llvm). As an hacking exercise, I'd like to experiment to start doing it in the preprocessor. I have an active project where I have my own 'middle-processor' and so far I work with various compiler with the following pipe.<br>
</div>cpp | my-middle-processor | cc<br><br></div><div>More realistically the real pipe is more like<br></div><div>cc -P hi.c | my-middle-processor > hi.i ; cc hi.i<br><br></div><div>Basically my-middle-processor does simple things that can't be done by cpp itself, yet don't need to knowledge of what it scan (no C parser needed).<br>
<br></div><div>I can still work this way with clang, but as an exercise I'd like to see if I can glue by text processing inside the clang cpp.<br><br></div><div>May be later, I could move this recognition as a real 'c extension', then bring back the cpp it is actual behavior, and recognise the input construct in the C grammar.<br>
<br></div><div>So now I successfully buillt a clang+llvm -g and I am able to run GDB on it, and the question is, what is the function name I should put a breakpoint on when cleang cpp is getting its first char.<br><br></div>
<div>I tried fread, read, mmap, but those are never catched.<br><br></div><div>Now things to know I am totally c++ iliterate, I do all my work in C, so may be I should do something like b class:func but got no idea of what class name could be.<br>
<br></div><div>Any help appreciated.<br><br>=================================<br><br></div><div>A basic side question, I am not using VT100 terminal, (using old hpterm), it sounds like clang emit escape sequence for error message that seems vt1000 hardcoded, or at least ignoring my TERM env var, is there a way to mute the usage of escape sequence (I'm sure this is a trivial question, don't flame :) )<br>
<br></div><div>Cheers,<br>Phi<br></div><div><br></div></div>