https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62185

            Bug ID: 62185
           Summary: New warning for "defined as a struct here but
                    previously declared as a class" / [-Wmismatched-tags]
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

I am not really sure whether it's worthwhile, but browsing through the warnings
for our code, I found the following one by Clang, which GCC doesn't seem to
have:


foo.cc:5:1: warning: 'foo' defined as a struct here but previously declared as
a class [-Wmismatched-tags]
struct foo {
^
foo.cc:2:1: note: did you mean struct here?
class foo;
^~~~~
struct


Clang emits this warning with -Wall.


Test case:

// Assume some forward declaration in a header file
class foo;

// Assume a C file, #including the header file
struct foo {
  int a;
};

Reply via email to