[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs + bear + compile_commands.json + clangd
From: |
Gerd Möllmann |
Subject: |
Re: Emacs + bear + compile_commands.json + clangd |
Date: |
Wed, 12 Oct 2022 06:32:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) |
Matt Armstrong <matt@rfc20.org> writes:
>> I've never had to use --force-wrapper or alter compile_commands.json.
>
> Regarding compile_commands.json, if I use the compile_commands.json
> generated by bear, with eglot, with clangd version "Debian clangd
> version 14.0.6-2", it works well for .c files but not .h files.
>
> E.g. I open src/buffer.h and I get these errors in flymake (this is a
> small subset):
>
> 26 9 error e-f-b clang [unknown_typename]: In included file:
> unknown type name 'INLINE_HEADER_BEGIN'
> 1 0 error e-f-b clang [fatal_too_many_errors]: Too many errors
> emitted, stopping now
> 283 4 error e-f-b clang [unknown_typename]: Unknown type name
> 'INTERVAL'
> 722 9 warning e-f-b clang [-Wimplicit-function-declaration]: Implicit
> declaration of function 'PSEUDOVECTORP' is invalid in C99
> 877 5 warning e-f-b clang [-Wimplicit-function-declaration]: Implicit
> declaration of function 'NILP' is invalid in C99
> 1079 26 error e-f-b clang [expr_not_ice]: Expression is not an
> integer constant expression
> 1256 7 error e-f-b clang [unknown_typename]: Unknown type name
> 'INTERVAL'
> 1573 14 warning e-f-b clang [-Wint-conversion]: Incompatible integer to
> pointer conversion initializing 'Lisp_Object' (aka 'struct Lisp_X *') with an
> expression of type 'int'
> 1573 21 warning e-f-b clang [-Wimplicit-function-declaration]: Implicit
> declaration of function 'CHAR_TABLE_REF' is invalid in C99
>
> I always assumed that this was becuase clangd didn't know how to compile
> src/buffer.h and is unable to figure it out:
>
> Given all this I have no idea how your experience with clangd could
> different, but I'm not a clangd expert 🤔.
I'm not an expert for anything, but I don't see such errors here.
Strange.
>> My current version is bear 3.0.20, on macOS 12.6. What's your system?
>
> bear 3.0.20 on Debian/Bullseye (testing)
Thanks.
>
> My issue may have been related to building with Address Sanitizer, which
> I think also (might) play games with LD_PRELOAD. I tried
> --force-wrapper and it worked for me. ;-)
:-). And BTW, I'm also using ASAN here, almost all the time, and don't
see this either. This is with the system compiler, which is Apple clang
version 14.0.0 (clang-1400.0.29.102).
Maybe I'll try the lldb from LLVM 15 a try at some point.