[cfe-dev] clang-interpreter headers issue
Anton Smirnov
dev at antonsmirnov.name
Tue Aug 19 00:49:45 PDT 2014
OK, i found i've forgot to add -I for headers (not sure why they were not
detected automatically somehow) and now clang-interpret output is exactly
as expected.
The question is did it compile or interpreted source file?
I need to understand it as i can't launch executables in my test
environment. So i'm going to copy\paste
clang-interpreter code or extract static lib to avoid ./clang-interpreter
executable invocation. Just want to be sure
it does not execute other executables behind the scene.
My original idea was to interpret .cpp files in 2 steps:
1) produce .ll file using "clang -S -emit-llvm" using Driver (seems not to
invoke other executables behind the scene)
2) interpret it using "lli" tool (copy\paste code or prepare static lib
instead of executable)
Is using clang-interpret code similar to this 2 steps?
---
PS. My verbose execution:
MBA-Anton:bin asmirnov$ ./clang-interpreter /tmp/hw.cpp
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
-v
clang version 3.4 (198679)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
clang invocation:
"/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/clang-interpreter"
"-cc1" "-triple" "x86_64-apple-macosx10.9.0" "-fsyntax-only"
"-disable-free" "-disable-llvm-verifier" "-main-file-name" "hw.cpp"
"-mrelocation-model" "pic" "-pic-level" "2" "-mdisable-fp-elim"
"-masm-verbose" "-munwind-tables" "-target-cpu" "core2" "-v"
"-resource-dir"
"/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../lib/clang/3.4"
"-I"
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include"
"-stdlib=libc++" "-fdeprecated-macro" "-fdebug-compilation-dir"
"/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin"
"-ferror-limit" "19" "-fmessage-length" "100" "-stack-protector" "1"
"-mstackrealign" "-fblocks" "-fobjc-runtime=macosx-10.9.0"
"-fencode-extended-block-signature" "-fcxx-exceptions" "-fexceptions"
"-fdiagnostics-show-option" "-fcolor-diagnostics" "-vectorize-slp" "-x"
"c++" "/tmp/hw.cpp"
clang -cc1 version 3.4 based upon LLVM 3.4svn default target
x86_64-apple-darwin13.3.0
ignoring nonexistent directory
"/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../include/c++/v1"
ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
/usr/local/include
/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../lib/clang/3.4/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
hello world
---
Regards, Anton.
2014-08-19 13:21 GMT+06:00 Anton Smirnov <dev at antonsmirnov.name>:
> Hi.
>
> I'm testing llvm/clang release 3.4 and i'm having clang-interpreter issue
> - headers are not found. But i can compile with clang without problems.
>
> I'm not sure if the issue relates to the trunk/3.5 RC as i need the latest
> release available.
>
> Please let me know if i miss smth.
>
> // test file (hello world)
>
> MBA-Anton:bin asmirnov$ cat /tmp/hw.cpp
>
> #include <stdio.h>
>
>
> int main() {
>
> printf("hello world\n");
>
> return 1;
>
> }
>
> // default compiler info
>
> MBA-Anton:bin asmirnov$ clang -v
>
> Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
>
> Target: x86_64-apple-darwin13.3.0
>
> Thread model: posix
>
>
> // compile test file with clang
>
> MBA-Anton:bin asmirnov$ clang /tmp/hw.cpp -o /tmp/hw
>
> // run to test
>
> MBA-Anton:bin asmirnov$ /tmp/hw
>
> hello world
>
> // where clang is?
>
> MBA-Anton:bin asmirnov$ which clang
>
> /usr/bin/clang
>
>
> // test clang-interpreter (expected to be translated and launched)
>
> MBA-Anton:bin asmirnov$ ./clang-interpreter /tmp/hw.cpp
>
> /tmp/hw.cpp:1:10: fatal error: 'stdio.h' file not found
>
> #include <stdio.h>
>
> ^
>
> 1 error generated.
>
> ---
>
> Also i don't understand actually if it tries to compile the file first
> (and i expect it to interpret the source file):
>
>
> MBA-Anton:bin asmirnov$ ./clang-interpreter /tmp/hw.cpp -v
>
> clang version 3.4 (198679)
>
> Target: x86_64-apple-darwin13.3.0
>
> Thread model: posix
>
> clang invocation:
>
> "/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/clang-interpreter"
> "-cc1" "-triple" "x86_64-apple-macosx10.9.0" "-fsyntax-only"
> "-disable-free" "-disable-llvm-verifier" "-main-file-name" "hw.cpp"
> "-mrelocation-model" "pic" "-pic-level" "2" "-mdisable-fp-elim"
> "-masm-verbose" "-munwind-tables" "-target-cpu" "core2" "-v"
> "-resource-dir"
> "/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../lib/clang/3.4"
> "-stdlib=libc++" "-fdeprecated-macro" "-fdebug-compilation-dir"
> "/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin"
> "-ferror-limit" "19" "-fmessage-length" "100" "-stack-protector" "1"
> "-mstackrealign" "-fblocks" "-fobjc-runtime=macosx-10.9.0"
> "-fencode-extended-block-signature" "-fcxx-exceptions" "-fexceptions"
> "-fdiagnostics-show-option" "-fcolor-diagnostics" "-vectorize-slp" "-x"
> "c++" "/tmp/hw.cpp"
>
>
> clang -cc1 version 3.4 based upon LLVM 3.4svn default target
> x86_64-apple-darwin13.3.0
>
> ignoring nonexistent directory
> "/Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../include/c++/v1"
>
> ignoring nonexistent directory "/usr/include/c++/v1"
>
> ignoring nonexistent directory "/usr/include"
>
> #include "..." search starts here:
>
> #include <...> search starts here:
>
> /usr/local/include
>
>
> /Users/asmirnov/Documents/dev/src/llvm_34_local_installed2/bin/../lib/clang/3.4/include
>
> /System/Library/Frameworks (framework directory)
>
> /Library/Frameworks (framework directory)
>
> End of search list.
>
> /tmp/hw.cpp:1:10: fatal error: 'stdio.h' file not found
>
> #include <stdio.h>
>
> ^
>
> 1 error generated.
>
>
> Regards, Anton.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140819/102a5ee4/attachment.html>
More information about the cfe-dev
mailing list