| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The two asserts are too aggressive. In C++ mode, an
enum is NOT considered an integral type, but an enum value
is allowed to be an enum. This patch relaxes the two asserts
to allow the enum value as well (as typechecking does).
llvm-svn: 320411
|
|
|
|
|
|
|
|
|
|
|
|
| |
Printing typedefs or type aliases using clang_getTypeSpelling() is missing the
namespace they are defined in. This is in contrast to other types that always
yield the full typename including namespaces.
Patch by Michael Reiher!
Differential Revision: https://reviews.llvm.org/D29944
llvm-svn: 297465
|
|
|
|
|
|
|
|
|
|
|
| |
enumerators:
* an unscoped enumerator whose enumeration is a class member is itself a class
member, so can only be the subject of a class-scope using-declaration.
* a scoped enumerator cannot be the subject of a class-scope using-declaration.
llvm-svn: 268594
|
|
|
|
|
|
| |
type. Patch by Stephan Bergmann!
llvm-svn: 225889
|
|
|
|
| |
llvm-svn: 199627
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In all three checks, the note indicates a previous declaration and never a 'use'.
Before:
enum-scoped.cpp:92:6: note: previous use is here
enum Redeclare6 : int;
^
After:
enum-scoped.cpp:92:6: note: previous declaration is here
enum Redeclare6 : int;
^
llvm-svn: 198600
|
|
|
|
|
|
| |
downstream code.
llvm-svn: 195687
|
|
|
|
|
|
| |
from a patch by Justin Bogner.
llvm-svn: 192671
|
|
|
|
|
|
| |
PR16900.
llvm-svn: 188511
|
|
|
|
|
|
|
| |
specifier for an enumeration. Also fix a crash-on-invalid if a non-dependent
name specifier is used to declare an enum template.
llvm-svn: 178502
|
|
|
|
|
|
| |
longer emit a diagnostic when the enumeration's name matches that of the class. Fixes PR13128.
llvm-svn: 160490
|
|
|
|
|
|
|
| |
templated functions. Build a redeclaration chain, and only instantiate the
definition of the enum when visiting the defining declaration.
llvm-svn: 153427
|
|
|
|
|
|
| |
enumerations in templates until the template is instantiated.
llvm-svn: 153426
|
|
|
|
|
|
|
| |
a previous declaration if the redeclaration is invalid. That way lies madness.
Fixes a crash-on-invalid reported by Abramo.
llvm-svn: 153349
|
|
|
|
|
|
|
|
| |
enum is scoped or not, which is not relevant here. Instead, phrase the loop in
the same terms that the standard uses, instead of this awkward set of
conditions that is *nearly* equal.
llvm-svn: 152489
|
|
|
|
|
|
| |
"false" for declarations that aren't members of classes. Fixes PR12106.
llvm-svn: 152284
|
|
|
|
|
|
|
| |
array new expression. This lays some groundwork for the implicit conversion to
integral or unscoped enumeration which C++11 ICEs undergo.
llvm-svn: 149772
|
|
|
|
|
|
|
|
|
|
| |
values and non-type template arguments of integral and enumeration types.
This change causes some legal C++98 code to no longer compile in C++11 mode, by
enforcing the C++11 rule that narrowing integral conversions are not permitted
in the final implicit conversion sequence for the above cases.
llvm-svn: 148439
|
|
|
|
|
|
|
|
| |
- reject definitions of enums within friend declarations
- require 'enum', not 'enum class', for non-declaring references to scoped
enumerations
llvm-svn: 147824
|
|
|
|
|
|
| |
PR11484.
llvm-svn: 145874
|
|
|
|
|
|
| |
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
|
|
|
|
|
|
|
| |
as scope specifiers; diagnose the attempt, rather than letting it go
to an assert. The rest of PR10264.
llvm-svn: 134479
|
|
|
|
|
|
|
| |
of an enum specifier in dialects which permit fixed underlying types.
Fixes the rejects-valid part of PR10264.
llvm-svn: 134468
|
|
|
|
|
|
|
|
| |
sense). Fixes <rdar://problem/9366066> by eliminating an inconsistency
between C++ overloading (which handled scoped enumerations correctly)
and C binary operator type-checking (which didn't).
llvm-svn: 130924
|
|
|
|
| |
llvm-svn: 126752
|
|
|
|
|
|
|
| |
underlying type: we weren't parsing unnamed enumeration types with a
fixed underlying type.
llvm-svn: 126184
|
|
bit by me).
llvm-svn: 116122
|