]> granicus.if.org Git - clang/commit
-Wassign-enum: compare unqualified types
authorDmitri Gribenko <gribozavr@gmail.com>
Thu, 5 Dec 2013 23:06:53 +0000 (23:06 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Thu, 5 Dec 2013 23:06:53 +0000 (23:06 +0000)
commitb5d65e84c9b9f5e9e059ae5c30dd1a3b37c4246f
treee6cfd3d93027e8eec9ffd5d26bba5a2641b3f9b8
parent8840fa855077e6be0897260d355c29e52bcbf27d
-Wassign-enum: compare unqualified types

This commit changes -Wassign-enum to compare unqualified types.  One could
think that this does not matter much, because who wants a value of enum type
that is const-qualified?  But this breaks the intended pattern to silence this
warning with an explicit cast:

    static const enum Foo z = (enum Foo) 42;

In this case, source type is 'enum Foo', and destination type is 'const enum
Foo', and if we compare qualified types, they don't match, so we used warn.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196548 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaStmt.cpp
test/Sema/warn-outof-range-assign-enum.c