Sarcasm / irony-mode

A C/C++ minor mode for Emacs powered by libclang
GNU General Public License v3.0
901 stars 98 forks source link

Irony seems unable to cope with system headers #507

Closed adamemerson closed 3 years ago

adamemerson commented 5 years ago

I get system headers flagged with errors. The below is from <memory>

Have you seen anything like this or have any idea what to do with it? Compiling things with Clang works fine.

I'm using Emacs 26.1 Clang 7.0.0 libstdc++ 8.2.1 Irony 20181030.834

On Fedora 29

Thank you

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now

In ".":
too many errors emitted, stopping now
vpxyz commented 5 years ago

Same issue here. I guess can be related to clang 7.0. With Fedora 28 and clang 6, all was fine.

`In "shDefs.h": 'float.h' file not found

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'int32_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'int32_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'int32_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'int32_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'int32_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": unknown type name 'size_t'

In "../../../../../../usr/include/stdlib.h": 'stddef.h' file not found`

jeremyletang commented 5 years ago

Hey there, does anyone have been able to fix this issue ? I get the same error after upgrading to clang 7.0 on macos as well, and cannot figure out what to do to fix it for now.

viniciusjavs commented 5 years ago

Have you ever tried to recompile the irony-server? If not, to do so, type M-x irony-install-server RET. In my case, it resolved after upgrading to clang 7.0. Regards.

jeremyletang commented 5 years ago

Yea I tried earlier but it does not fix the issue.

jeremyletang commented 5 years ago

Hey there, if anyone get the same issue on macos, I finally get this to work again recently. I had to specifiy the path to the C++ std include but also to the C include. Here is the configuration I added to my init.el if it can help anyone:

(setq irony-additional-clang-options
      (append '("-I" "/usr/local/Cellar/llvm/7.0.0/include/c++/v1") irony-additional-clang-options))
(setq irony-additional-clang-options
      (append '("-I" "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include") irony-additional-clang-options))
(setq irony-additional-clang-options
      (append '("-std=c++17") irony-additional-clang-options))