]> granicus.if.org Git - clang/commit
In C++, set the type of each of the enumerators in an enumeration to
authorDouglas Gregor <dgregor@apple.com>
Fri, 12 Dec 2008 02:00:36 +0000 (02:00 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 12 Dec 2008 02:00:36 +0000 (02:00 +0000)
commitc9467cf4cff1bb09f38667b871268c47ed823f97
tree57e799a0cb39f4c7a1ddb3c169fc255106732a15
parentfb645b6547b75ddc2e3c7ab2126ad8beeefca62d
In C++, set the type of each of the enumerators in an enumeration to
the type of the enumeration once the enumeration has been defined.

Fix the overloading test-case to properly create enums that promote
the way we want them to.

Implement C++0x promotions from enumeration types to long
long/unsigned long long. We're using these promotions in Carbon.h
(since long long is a common extension).

Fixes PR clang/2954: http://llvm.org/bugs/show_bug.cgi?id=2954

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60917 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaDecl.cpp
lib/Sema/SemaOverload.cpp
test/SemaCXX/overload-call.cpp