This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Silence class vs. struct warnings (vec)


On 12/05/2013 10:45 AM, pinskia@gmail.com wrote:


On Dec 5, 2013, at 1:33 AM, Oleg Endo <oleg.endo@t-online.de> wrote:

On Thu, 2013-12-05 at 01:11 -0800, pinskia@gmail.com wrote:

On Dec 5, 2013, at 1:00 AM, Oleg Endo <oleg.endo@t-online.de> wrote:

Hi,

When building GCC on OSX with its native XCode/Clang tools, it outputs
quite some "struct X was previously declared as a class" or similar
warnings (-Wmismatched-tags is enabled by default).

The attached patch fixes a mismatch in struct vec_prefix when referring
to struct vec.

Tested with make all-gcc.
OK for trunk?

What is this warning trying to do really?  I think this is a very bad warning as points out standard code for no reason.

I think the answer is here:
http://llvm.org/bugs/show_bug.cgi?id=11632

Except we don't support compiling GCC with microsoft's broken compiler. So again why make this change for broken compilers that is hard to support in the first place?

I'm not even sure the Microsoft compiler is broken in this regard.

They have class forward declarations which change the representation of pointers to such classes, and those have to match with the definition. But I'm not sure that the C++ compiler actually errors out on class/struct mismatches (unless explicitly told to).


--
Florian Weimer / Red Hat Product Security Team


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]