Commit Graph

3 Commits

Author SHA1 Message Date
Dmitri Gribenko b5d65e84c9 -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
2013-12-05 23:06:53 +00:00
Joey Gouly 48a1e81715 Fix a crash with -Wassign-enum, where we didn't adjust the APInt type of the
constant. Also fix some spelling mistakes and formatting issues.

Reviewed by Richard Smith over IRC.

Fixes PR15069.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183409 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06 13:48:00 +00:00
Fariborz Jahanian 379b28183a Issue warning when assigning out-of-range integer values to enums.
Due to performance cost, this is an opt-in option placed
under -Wassign-enum. // rdar://11824807


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160382 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-17 18:00:08 +00:00