llvm-project/clang/test/SemaCXX
Douglas Gregor dee1be8e95 Teach DeclContext how to find the primary declaration for any TagDecl
even when we are still defining the TagDecl. This is required so that
qualified name lookup of a class name within its definition works (see
the new bits in test/SemaCXX/qualified-id-lookup.cpp).

As part of this, move the nested redefinition checking code into
ActOnTag. This gives us diagnostics earlier (when we try to perform
the nested redefinition, rather than when we try to complete the 2nd
definition) and removes some code duplication.

llvm-svn: 62386
2009-01-17 00:42:38 +00:00
..
__null.cpp Add codegen support for __null 2008-12-21 22:39:40 +00:00
addr-of-overloaded-function.cpp Basic support for taking the address of an overloaded function 2008-11-10 20:40:00 +00:00
address-of.cpp fix PR 3222: allow one to get the address of a global function in C++ 2008-12-16 22:58:26 +00:00
aggregate-initialization.cpp Sema-check virtual declarations. Complete dynamic_cast checking. 2008-11-06 15:59:35 +00:00
anonymous-union.cpp Implement support for anonymous structs and unions in C. Both C and 2009-01-12 22:49:06 +00:00
blocks.cpp instead of forcing blocks on by default, make them default to off, but let 2008-12-04 23:20:07 +00:00
bool.cpp Implement checks for bool in increment and decrement. 2008-12-20 09:35:34 +00:00
carbon.cpp Add carbon.cpp and cocoa.mm tests 2008-08-23 22:21:00 +00:00
class-names.cpp Make all the 'redefinition' diagnostics more consistent, and make the 2008-11-23 23:12:31 +00:00
class.cpp Unify the code for defining tags in C and C++, so that we always 2009-01-08 20:45:30 +00:00
condition.cpp Introduce support for C++0x explicit conversion operators (N2437) 2009-01-14 15:45:31 +00:00
const-cast.cpp Removed the warning 2008-12-17 16:19:15 +00:00
constructor-initializer.cpp Improve parser error recovery after a constructor initializer 2008-11-10 16:59:40 +00:00
constructor.cpp Correct the order in which we cope with end-of-class-definition 2008-12-24 00:01:03 +00:00
conversion-function.cpp Make all the 'redefinition' diagnostics more consistent, and make the 2008-11-23 23:12:31 +00:00
convert-to-bool.cpp Add test for contextual conversion to bool, and enable some FIXME'd tests 2009-01-16 03:02:29 +00:00
converting-constructor.cpp Test explicit constructor 2009-01-14 18:02:48 +00:00
copy-initialization.cpp Correct the order in which we cope with end-of-class-definition 2008-12-24 00:01:03 +00:00
decl-expr-ambiguity.cpp Removed the warning 2008-12-17 16:19:15 +00:00
default1.cpp Correct the order in which we cope with end-of-class-definition 2008-12-24 00:01:03 +00:00
default2.cpp Correct the order in which we cope with end-of-class-definition 2008-12-24 00:01:03 +00:00
dependent-types.cpp Introduce basic support for dependent types, type-dependent 2008-12-05 23:32:09 +00:00
derived-to-base-ambig.cpp First non-embarrassing cut at checking for ambiguous derived-to-base 2008-10-24 04:54:22 +00:00
destructor.cpp Enable out-of-line definitions of C++ constructors and destructors 2008-12-12 08:25:50 +00:00
direct-initializer.cpp Removed the warning 2008-12-17 16:19:15 +00:00
do-while-scope.cpp Fix do-while scoping in C++. 2008-09-11 04:46:46 +00:00
dynamic-cast.cpp Change a whole lot of diagnostics to take QualType's directly 2008-11-24 06:25:27 +00:00
elaborated-type-specifier.cpp When we see a reference to a struct, class, or union like "struct X" 2009-01-09 22:42:13 +00:00
enum.cpp Fix <rdar://problem/6502934>. We were creating an ImplicitCastExpr 2009-01-16 19:38:23 +00:00
fntype-decl.cpp Make all the 'redefinition' diagnostics more consistent, and make the 2008-11-23 23:12:31 +00:00
function-type-qual.cpp Unbreak the test by.. removing a space. (clang protested that -verify only works on single input files). 2008-10-24 22:25:11 +00:00
functional-cast.cpp Part one of handling C++ functional casts. This handles semantic 2009-01-16 18:33:17 +00:00
inherit.cpp Add representation of base classes in the AST, and verify that we 2008-10-22 17:49:05 +00:00
linkage-spec.cpp When determining whether a variable is a file-scoped variable, check 2009-01-07 02:48:43 +00:00
member-expr.cpp Add test for contextual conversion to bool, and enable some FIXME'd tests 2009-01-16 03:02:29 +00:00
member-name-lookup.cpp Fix <rdar://problem/6502934>. We were creating an ImplicitCastExpr 2009-01-16 19:38:23 +00:00
ms-exception-spec.cpp Parse the exception-specification throw(...), a Microsoft extension 2008-12-01 18:00:20 +00:00
namespace.cpp Unifies the name-lookup mechanisms used in various parts of the AST 2008-12-11 16:49:14 +00:00
nested-name-spec.cpp Add support for out-of-line definitions of conversion functions and member operators 2008-12-26 15:00:45 +00:00
new-delete.cpp Code cleanup in new handling. 2008-12-04 22:20:51 +00:00
overload-call-copycon.cpp Standard conversion sequences now have a CopyConstructor field, to 2008-11-03 19:09:14 +00:00
overload-call.cpp In C++, set the type of each of the enumerators in an enumeration to 2008-12-12 02:00:36 +00:00
overload-decl.cpp Place constructors and destructors into the DeclContext of the class, 2008-12-15 21:24:18 +00:00
overload-member-call.cpp Update C++ status and add a few more tests of overloading for member function calls 2009-01-12 23:20:38 +00:00
overloaded-builtin-operators.cpp Add the proper restrictions on the left-hand argument of a built-in 2009-01-13 00:52:54 +00:00
overloaded-operator-decl.cpp Don't print canonical types in overloading-related diagnostics 2008-11-21 02:54:28 +00:00
overloaded-operator.cpp Fix argument-passing bugs in a call to object 2009-01-13 05:10:00 +00:00
qualification-conversion.cpp Initial step toward supporting qualification conversions (C++ 4.4). 2008-10-21 23:43:52 +00:00
qualified-id-lookup.cpp Teach DeclContext how to find the primary declaration for any TagDecl 2009-01-17 00:42:38 +00:00
references.cpp Removed the warning 2008-12-17 16:19:15 +00:00
reinterpret-cast.cpp Semantic analysis for C++ reinterpret_cast and const_cast. Patch by Sebastian Redl. 2008-10-24 15:36:09 +00:00
reinterpret-fn-obj-pedantic.cpp Semantic analysis for C++ reinterpret_cast and const_cast. Patch by Sebastian Redl. 2008-10-24 15:36:09 +00:00
return-stack-addr.cpp Refactor the expression class hierarchy for casts. Most importantly: 2008-10-27 19:41:14 +00:00
statements.cpp This is valid in C++. 2008-12-18 02:03:48 +00:00
static-cast.cpp Greatly improve static_cast diagnostics 2008-11-07 23:29:29 +00:00
static-initializers.cpp Initial sema support for C++ static initializers. 2008-08-22 05:00:02 +00:00
template-specialization.cpp Ultrasimplistic sketch for the parsing of C++ template-ids. This won't 2008-12-18 19:37:40 +00:00
this.cpp Move the C++ Sema tests into a separate SemaCXX directory. 2008-08-16 20:53:59 +00:00
try-catch.cpp Full AST support and better Sema support for C++ try-catch. 2008-12-22 21:35:02 +00:00
type-convert-construct.cpp Give string literals const element typesin C++, and cope with the deprecated C++ conversion from a string literal to a pointer-to-non-const-character 2008-09-12 00:47:35 +00:00
type-dependent-exprs.cpp Delay semantic analysis of the C++ names casts when the subexpression is type-dependent or the destination type is dependent. 2008-12-17 22:52:20 +00:00
type-traits.cpp PODness and Type Traits 2009-01-05 20:52:13 +00:00
typedef-redecl.cpp Make all the 'redefinition' diagnostics more consistent, and make the 2008-11-23 23:12:31 +00:00
typeid.cpp Implement C++ 'typeid' parsing and sema. 2008-11-11 11:37:55 +00:00
user-defined-conversions.cpp Allow user-defined conversions during reference binding 2008-11-10 16:14:15 +00:00
vararg-non-pod.cpp Use a single function for doing vararg argument promotion. Also, make sure to do the promotion before checking the type - fixes PR3340. 2009-01-16 16:48:51 +00:00
virtuals.cpp Very basic support for pure virtual functions. 2009-01-09 19:57:06 +00:00
warn-for-var-in-else.cpp Added a warning when referencing an if's condition variable in the 2008-12-10 23:01:14 +00:00
wchar_t.cpp Type::isIntegerType() returns true for types between Bool and LongLong. 2008-08-17 13:24:01 +00:00