Re: g++-arm-none-eabi system includes and implicit extern "C"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 February 2016 at 21:59, Josh Bialkowski wrote:
> With regard to compiling with warnings as errors (-Werror), I've been
> disabling warnings from some header files by including them through
> "-isystem". However, with g++-arm-none-eabi-4.9 (downloaded from
> https://launchpad.net/gcc-arm-embedded/+download) it seems that files
> included from paths listed as "-isystem" are implicitly considered
> 'extern "C"'. This is causing some issues with (for instance) "error:
> template with C linkage". I learned of this through a mailing list
> thread:
>
> https://gcc.gnu.org/ml/gcc-patches/2012-06/msg01159.html

Ugh. IMHO it's a bug if arm-none-eabi uses implicit extern "C". No
modern systems should have that set.


> If I include these directories with -I, and I exclude "-Werror" (so
> that warnings are not treated as errors) then I can compile. I'm
> wondering if there are any options that would allow me to continue
> treating warnings as errors, except for (third_party) headers that are
> out of my control, without implicitly treating those headers with
> 'extern "C"'?

I don't think so. The implicit extern "C" thing is fixed when GCC
itself is compiled and it can't be turned on or off by an option.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux