Hello,

   I'm trying to use a header only available in GCC in Clang, such as 
"backtrace.h", and currently Clang does not add to the search paths the GCC 
installation:

-----

root@2b9d90feb564:/opt# echo "#include <backtrace.h>\n void main(){}" | 
clang-6.0 -v -xc -
clang version 6.0.1-svn334776-1~exp1~20181018153226.114 (branches/release_60)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.5.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
 "/usr/lib/llvm-6.0/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj 
-mrelax-all -disable-free -disable-llvm-verifier -discard-value-names 
-main-file-name - -mrelocation-model static -mthread-model posix 
-mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases 
-munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info 
-debugger-tuning=gdb -v -resource-dir /usr/lib/llvm-6.0/lib/clang/6.0.1 
-internal-isystem /usr/local/include -internal-isystem 
/usr/lib/llvm-6.0/lib/clang/6.0.1/include -internal-externc-isystem 
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include 
-internal-externc-isystem /usr/include -fdebug-compilation-dir /opt 
-ferror-limit 19 -fmessage-length 211 -fobjc-runtime=gcc 
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/--b8f5b2.o -x c -
clang -cc1 version 6.0.1 based upon LLVM 6.0.1 default target 
x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/llvm-6.0/lib/clang/6.0.1/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
<stdin>:1:23: warning: extra tokens at end of #include directive 
[-Wextra-tokens]
#include <backtrace.h>\n void main(){}
                      ^
                      //
<stdin>:1:10: fatal error: 'backtrace.h' file not found
#include <backtrace.h>\n void main(){}
         ^~~~~~~~~~~~~
1 warning and 1 error generated.
--------


But in a previous Clang version was working:


--------

root@ca70606af690:/opt# echo "#include <backtrace.h>\n void main(){}" | 
clang-6.0 -v -xc  -
clang version 6.0.1-svn334776-1~exp1~20180726133222.87 (branches/release_60)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.5.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
 "/usr/lib/llvm-6.0/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj 
-mrelax-all -disable-free -disable-llvm-verifier -discard-value-names 
-main-file-name - -mrelocation-model static -mthread-model posix 
-mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases 
-munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info 
-debugger-tuning=gdb -v -resource-dir /usr/lib/llvm-6.0/lib/clang/6.0.1 
-internal-isystem /usr/local/include -internal-isystem 
/usr/lib/llvm-6.0/lib/clang/6.0.1/include -internal-externc-isystem 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/include -internal-externc-isystem 
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include 
-internal-externc-isystem /usr/include -fdebug-compilation-dir /opt 
-ferror-limit 19 -fmessage-length 211 -fobjc-runtime=gcc 
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/--945497.o -x c -
clang -cc1 version 6.0.1 based upon LLVM 6.0.1 default target 
x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/llvm-6.0/lib/clang/6.0.1/include
 /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
<stdin>:1:23: warning: extra tokens at end of #include directive 
[-Wextra-tokens]
#include <backtrace.h>\n void main(){}
                      ^
                      //
1 warning generated.

------

Of course we could include the header manually, but, is this expected? should 
we no longer rely on GCC headers?


Cheers,

Luis


Dr. Luis M. Carril Rodriguez, Senior Software Engineer

luis.carril[at]swarm64.com

Swarm64 AS
Parkveien 41 B | 0258 Oslo | Norway
Registered at Brønnøysundregistrene in Norway under Org.-Number 911 662 787
CEO/Geschäftsführer (Daglig Leder): Dr. Karsten Rönner; Chairman/Vorsitzender 
(Styrets Leder): Dr. Sverre Munck

Swarm64 AS Zweigstelle Hive
Ullsteinstr. 120 | 12109 Berlin | Germany
Registered at Amtsgericht Charlottenburg - HRB 154382 B
_______________________________________________
cfe-users mailing list
cfe-users@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users

Reply via email to