← Back to team overview

kicad-developers team mailing list archive

Re: Lots of compile errors after recent source pull


 Other headers as well.  
 C:/msys64/mingw64/include/c++/10.1.0/bits/localefwd.h:125:9: note: replace the class-key with 'struct'
  125 |   class ctype_base;

C:/msys64/mingw64/include/c++/10.1.0/x86_64-w64-mingw32/bits/ctype_base.h:42:10: note: 'std::ctype_base' defined as 'struct' here
   42 |   struct ctype_base
      |          ^~~~~~~~~~

C:/msys64/mingw64/include/c++/10.1.0/bits/valarray_array.h:396:12: note: 'std::_Array<_Tp>' defined as 'struct' here
  396 |     struct _Array

...as well as the one I originally showed...
C:/msys64/mingw64/include/c++/10.1.0/system_error:54:9: note: replace the class-key with 'struct'
   54 |   class error_code;

There may be more, but these are the ones I see repeating over and over.  I tried to do a full build a couple of days ago, and the the build crapped out part way through.  I don't recall the specific error message, but I can try again and see if it dies.  If so, I'll post the info.

-----Original Message-----
From: Ian McInerney <Ian.S.McInerney@xxxxxxxx>
To: pjmonty@xxxxxxx
Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx <kicad-developers@xxxxxxxxxxxxxxxxxxx>
Sent: Sat, Jul 4, 2020 3:15 pm
Subject: Re: [Kicad-developers] Lots of compile errors after recent source pull

That would probably be because I enabled the warning for "-Wmismatched-tags" on clang/GCC. This shouldn't be an error though, only a warning. It warns about declaring things class/struct inconsistently (on MSVC builds this can cause problems, so I enabled this warning to ensure we don't have issues with this since we are starting to have more people use MSVC). It appears that the system headers in GCC don't follow that standard unfortunately, but usually warnings from inside system headers are ignored (apparently on the C++ headers on my machine it is also mismatched but I don't see all the warnings when building with Clang). These are supposed to be hidden when the include directories are system include directories though.
Do you see this for other headers, or is it just this one header? I wouldn't mind forwarding this upstream to cleanup their headers.

Follow ups