llvm-project/clang/test/SemaCXX
Douglas Gregor e200adc503 Refactor the expression class hierarchy for casts. Most importantly:
- CastExpr is the root of all casts
  - ImplicitCastExpr is (still) used for all explicit casts
  - ExplicitCastExpr is now the root of all *explicit* casts
  - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++
  - CXXFunctionalCastExpr inherits from ExplicitCastExpr
  - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all
    of the C++ named cast expression types (static_cast, dynamic_cast, etc.)
  - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, 
    CXXReinterpretCastExpr, and CXXConstCastExpr to 

Also, fixed returned-stack-addr.cpp, which broke once when we fixed
reinterpret_cast to diagnose double->int* conversions and again when
we eliminated implicit conversions to reference types. The fix is in
both testcase and SemaChecking.cpp.

Most of this patch is simply support for the renaming. There's very
little actual change in semantics.

llvm-svn: 58264
2008-10-27 19:41:14 +00:00
..
bool.cpp treat bool literals as constatnt expressions. 2008-08-23 21:12:35 +00:00
carbon.cpp Add carbon.cpp and cocoa.mm tests 2008-08-23 22:21:00 +00:00
class-names.cpp Move the rest of the Sema C++ tests into the SemaCXX test directory. 2008-08-22 15:43:49 +00:00
class.cpp Fix this bug: 2008-10-15 20:23:22 +00:00
condition.cpp Do implicit conversion to bool for the condition in a do-while statement. 2008-09-11 05:16:22 +00:00
const-cast.cpp Semantic analysis for C++ reinterpret_cast and const_cast. Patch by Sebastian Redl. 2008-10-24 15:36:09 +00:00
decl-expr-ambiguity.cpp Initial step toward supporting qualification conversions (C++ 4.4). 2008-10-21 23:43:52 +00:00
default1.cpp Move the rest of the Sema C++ tests into the SemaCXX test directory. 2008-08-22 15:43:49 +00:00
default2.cpp Move the rest of the Sema C++ tests into the SemaCXX test directory. 2008-08-22 15:43:49 +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
direct-initializer.cpp In ParseParenDeclarator match "D.setGroupingParens(true);" with another setGroupingParens call after the ')' is parsed. 2008-10-07 10:21:57 +00:00
do-while-scope.cpp Fix do-while scoping in C++. 2008-09-11 04:46:46 +00:00
fntype-decl.cpp When destroying a translation unit, deallocate its owned declarations in reverse order, because there may be dependencies among the declarations. 2008-10-27 12:50:38 +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
inherit.cpp Add representation of base classes in the AST, and verify that we 2008-10-22 17:49:05 +00:00
namespace.cpp Move the C++ Sema tests into a separate SemaCXX directory. 2008-08-16 20:53:59 +00:00
overload-call.cpp Add support for conversions from a pointer-to-derived to a 2008-10-23 00:40:37 +00:00
overload-decl.cpp Preliminary support for function overloading 2008-10-21 16:13:35 +00:00
qualification-conversion.cpp Initial step toward supporting qualification conversions (C++ 4.4). 2008-10-21 23:43:52 +00:00
references.cpp Move the C++ Sema tests into a separate SemaCXX directory. 2008-08-16 20:53:59 +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
static-initializers.cpp Initial sema support for C++ static initializers. 2008-08-22 05:00:02 +00:00
this.cpp Move the C++ Sema tests into a separate SemaCXX directory. 2008-08-16 20:53:59 +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
wchar_t.cpp Type::isIntegerType() returns true for types between Bool and LongLong. 2008-08-17 13:24:01 +00:00