244ee7b89a483fd3764637abdf95de2893b437d0 |
|
15-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Pedantic diagnostic correction: in C++, we have integral constant expressions, not integer constant expressions. In passing, fix the 'folding is an extension' diagnostic to not claim we're accepting the code, since that's not true in -pedantic-errors mode, and add this diagnostic to -Wgnu. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
5dde1605da5e6db8a9214f4a5d094ae0bbc64a4e |
|
12-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't perform integral promotions from an incompletion enumeration type. Fixes PR8089 in a slightly different way than had been suggested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
34fd628d22f54baddf30cf80c401b2f862a31b23 |
|
19-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Fix for PR7911 and PR7921: make isIntegralOrEnumerationType return false for incomplete enum types. An incomplete enum can't really be treated as an "integral or enumeration" type, and the incorrect treatment leads to bad behavior for many callers. This makes isIntegralOrEnumerationType equivalent to isIntegerType; I think we should globally replace the latter with the former; thoughts? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
a131d0fc0af9f79c90e7654231041b2495d355a9 |
|
13-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Complain when an unnamed enumeration has no enumerations (in C++). Fixes PR7466. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
f3a7b7cfacf802db5458874842b71a74845f0023 |
|
22-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
In C++, allow a declaration of an enum to follow a definition of that enum as a GNU extension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
88623ade9599d2a2f4e21e80bce00fb4cb9e7d5f |
|
23-May-2010 |
Douglas Gregor <dgregor@apple.com> |
In C++, one cannot assign from an arithmetic type to an enumeration type. Fixes PR7051. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
a873dfc9e7314681bb37efd9ab185045de121e43 |
|
03-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement the lvalue-to-rvalue conversion where needed. The lvalue-to-rvalue conversion adjusts lvalues of qualified, non-class type to rvalue expressions of the unqualified variant of that type. For example, given: const int i; (void)(i + 17); the lvalue-to-rvalue conversion for the subexpression "i" will turn it from an lvalue expression (a DeclRefExpr) with type 'const int' into an rvalue expression with type 'int'. Both C and C++ mandate this conversion, and somehow we've slid through without implementing it. We now have both DefaultFunctionArrayConversion and DefaultFunctionArrayLvalueConversion, and which gets used depends on whether we do the lvalue-to-rvalue conversion or not. Generally, we do the lvalue-to-rvalue conversion, but there are a few notable exceptions: - the left-hand side of a '.' operator - the left-hand side of an assignment - a C++ throw expression - a subscript expression that's subscripting a vector Making this change exposed two issues with blocks: - we were deducing const-qualified return types of non-class type from a block return, which doesn't fit well - we weren't always setting the known return type of a block when it was provided with the ^return-type syntax Fixes the current Clang-on-Clang compile failure and PR6076. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
e39fe72df7da662c195ef4bcd542d58ec87d5422 |
|
19-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
When looking up enumerator names for redeclaration, use the ForRedeclaration flag so that we don't look into base classes. Fixes PR6061. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
5f7157ec28f367b97a9f4560fb0fa3d13a9adf87 |
|
16-Dec-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
2aaad63ec5d012e6de40f72e114c60df9c205a24 |
|
16-Dec-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Make sure C-specific enum warning doesn't trigger in C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
842aef8d942a880eeb9535d40de31a86838264cb |
|
09-Dec-2009 |
John McCall <rjmccall@apple.com> |
First pass at implementing C++ enum semantics: calculate (and store) an "integer promotion" type associated with an enum decl, and use this type to determine which type to promote to. This type obeys C++ [conv.prom]p2 and is therefore generally signed unless the range of the enumerators forces it to be unsigned. Kills off a lot of false positives from -Wsign-compare in C++, addressing rdar://7455616 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
5023437f5a897d513c08ddf64b74d688252a23e5 |
|
04-Dec-2009 |
John McCall <rjmccall@apple.com> |
When recovering from an invalid forward reference to an enum type in C++, create the enum type in the same scope as you would a record type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
8c8d91917c307dc3ba4f60661377c745f2a6bef2 |
|
10-Oct-2009 |
Anders Carlsson <andersca@mac.com> |
Add CheckCallReturnType and start using it for regular call expressions. This will improve error messages. For struct B; B f(); void g() { f(); } We now get t.cpp:6:3: error: calling 'f' with incomplete return type 'struct B' f(); ^~~ t.cpp:3:3: note: 'f' declared here B f(); ^ t.cpp:1:8: note: forward declaration of 'struct B' struct B; ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 |
|
24-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Rename clang to clang-cc. Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
e7c6f7aa7e8ee1f0acacc314dcf59d5dadff1524 |
|
22-Mar-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Check that the return/argument types of calls are complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
24c46b3133b03e254877a680f92f035e56058a39 |
|
19-Mar-2009 |
Douglas Gregor <dgregor@apple.com> |
Print the context of tag types as part of pretty-printing, e.g., struct N::M::foo git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
80711a22fa06b734a68d719ac85d4e443a51cb09 |
|
06-Mar-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement the GNU semantics for forward declarations of enum types in C and C++. Fixes PR3688. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
66b947fdf9104b53d7e8caa8f71ee0c0e3fe1521 |
|
16-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Fix <rdar://problem/6502934>. We were creating an ImplicitCastExpr with reference type (it should be an lvalue with non-reference type). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|
93afb0d4f9f2ec322438c3bb7e1114ea6f614510 |
|
12-Dec-2008 |
Douglas Gregor <dgregor@apple.com> |
Add test of enumerator types git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/enum.cpp
|