<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi,<br>
<br>
I would like to call clang twice, once to preprocess and second time to compile.<br>
The second time clang is called, I would like to pass in the original file name for it to use as the ModuleID.<br>
I tried to use:<br>
   clang -E test.c -o tmp.i<br>
   clang -S -x c tmp.i -o test.s    -Xclang -main-file-name -Xclang test.c   -emit-llvm<br>
<br>
However, the ModuleID is 'tmp.i' rather than that passed in by '-main-file-name'.<br>
<br>
Same with:<br>
    clang -cc1 -triple x86_64-unknown-linux-gnu -x c tmp.i -o test.s  -main-file-name test.c -emit-llvm<br>
<br>
<br>
I am trying to achieve the same affect as using "-fpreprocessed -dumpbase <file>" with llvm-gcc.<br>
Here it seems the gcc front end fetches the file name from the first line of the preprocessed file.<br>
<br>
Thank you.<br>
<br>
Robert<br>
<br>
<br>
<br>
<br>
<br>
</div>
</body>
</html>