llvm-project/clang/test/SemaCXX
Douglas Gregor b00b10eb2e Implement support for equality comparisons (!=, ==) of member
pointers, by extending the "composite pointer type" logic to include
member pointer types.

Introduce test cases for member pointer comparisons, including those
that involve the builtin operator candidates implemented earlier. 

llvm-svn: 79925
2009-08-24 17:42:35 +00:00
..
__null.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
abstract.cpp Prep for new warning. 2009-07-22 00:43:08 +00:00
access-base-class.cpp Disable access control by default. It can be enabled with the -faccess-control option. When we have better support for it, we can enable it by default again. 2009-05-13 19:49:53 +00:00
access-control-check.cpp Some refactoring of member access for 2009-07-29 20:41:46 +00:00
access.cpp Set the access specifier for templates inside classes. 2009-03-26 01:24:28 +00:00
addr-of-overloaded-function.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
address-of.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
aggregate-initialization.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
anonymous-union.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
attr-deprecated.cpp getFunctionLevelDeclContext needs to get the previous DeclContext if EnterDeclaratorContext has been called. Fixes PR4694. (Doug, please review) 2009-08-08 17:48:49 +00:00
attr-unavailable.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
auto-cxx0x.cpp Fix a test. 2009-07-11 01:00:52 +00:00
auto-cxx98.cpp Implement enough of the 'auto' keyword so we can claim to support N2546. 2009-06-26 18:41:36 +00:00
blocks.cpp A block that returns a reference is an lvalue. 2009-05-26 02:03:20 +00:00
bool.cpp Create a new PrintingPolicy class, which we pass down through the AST 2009-05-29 20:38:28 +00:00
class-base-member-init.cpp A more detailed diagnosis of ill-formed ctor-initializer 2009-06-30 00:02:17 +00:00
class-layout.cpp Add two more tests. 2009-07-28 17:14:18 +00:00
class-names.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
complex-overload.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
composite-pointer-type.cpp Implement support for equality comparisons (!=, ==) of member 2009-08-24 17:42:35 +00:00
condition.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conditional-expr.cpp Implement support for equality comparisons (!=, ==) of member 2009-08-24 17:42:35 +00:00
const-cast.cpp Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++. 2009-06-03 02:06:50 +00:00
constant-expression.cpp Add a big test case for I-C-Es in C++, and a fix to make it work. The fix might not be the right way to do it. 2009-05-27 19:34:06 +00:00
constructor-initializer.cpp Top-level semicolons are allowed in C++0x. Fixes PR4755. 2009-08-24 12:17:54 +00:00
constructor-recovery.cpp This is a pretty big cleanup for how invalid decl/type are handle. 2009-04-25 08:06:05 +00:00
constructor.cpp Top-level semicolons are allowed in C++0x. Fixes PR4755. 2009-08-24 12:17:54 +00:00
conversion-function.cpp change a couple more c++ sema methods to be based on isinvalid bits. 2009-04-25 08:35:12 +00:00
convert-to-bool.cpp Create a new PrintingPolicy class, which we pass down through the AST 2009-05-29 20:38:28 +00:00
converting-constructor.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
copy-assignment.cpp Avoid using the built-in type checker for assignment in C++ when classes are involved. Patch by Vyacheslav Kononenko. 2009-05-21 11:50:50 +00:00
copy-constructor-error.cpp After reporting ill-formed copy constructor(12.8.p3) 2009-08-06 17:22:51 +00:00
copy-initialization.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
cstyle-cast.cpp Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. 2009-07-25 15:41:38 +00:00
dcl_ambig_res.cpp Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. 2009-07-25 15:41:38 +00:00
dcl_init_aggr.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
decl-expr-ambiguity.cpp Ok, ok, I give in. Fix tests for unused result warning. 2009-08-01 06:07:15 +00:00
decltype-crash.cpp Make having no RUN line a failure. 2009-07-25 12:47:38 +00:00
decltype-overloaded-functions.cpp Improvements to decltype. We now don't crash anymore when the expr is an overloaded function decl. 2009-06-29 22:58:55 +00:00
decltype-pr4444.cpp Decltype needs to have a dependent type if the expr passed to it is type dependent. Fixes PR4444. 2009-06-25 15:00:34 +00:00
decltype-pr4448.cpp Fix PR4448. 2009-06-26 03:02:18 +00:00
decltype-this.cpp Fix type of 'this' and add a decltype test. 2009-07-10 21:35:09 +00:00
default-assignment-operator.cpp Use getDeclName in DefineImplicitOverloadedAssign as well. 2009-07-09 17:47:25 +00:00
default-constructor-initializers.cpp Pass the DeclName to the diagnostic builder so that member names will be quoted correctly. 2009-07-09 17:37:12 +00:00
default1.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
default2.cpp Fix the parsing of default arguments for inline member function 2009-07-22 21:45:50 +00:00
deleted-function.cpp Add deleted functions and rvalue references to C++ status. 2009-04-12 17:41:24 +00:00
dependent-types.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
derived-to-base-ambig.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
destructor.cpp Diagnose when a destructor uses a unrelated class type as its name. 2009-07-21 15:28:50 +00:00
direct-initializer.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
do-while-scope.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
dynamic-cast.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
elaborated-type-specifier.cpp Implement support for comparing pointers with <, >, <=, >=, ==, and != 2009-05-04 06:07:12 +00:00
enum.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
exception-spec.cpp Enhance testing of overriding exception specs for inaccessible base exceptions. 2009-07-18 14:32:15 +00:00
exceptions.cpp Track down return statements in the handlers of a function-try-block of constructors. Meh ... 2009-04-27 21:33:24 +00:00
expressions.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
fntype-decl.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
friend.cpp Friend declarations are only valid inside class definitions. 2009-05-11 22:55:49 +00:00
function-redecl.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
function-type-qual.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
functional-cast.cpp Make functional-style casts emit correct messages, and fix a crash-on-invalid. 2009-07-29 13:50:23 +00:00
i-c-e-cxx.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
implicit-int.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
inherit.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
inline.cpp Diagnose uses of function specifiers on declarations which don't declare 2009-04-07 19:37:57 +00:00
linkage-spec.cpp Fix another case where the extern-ness of extern "C" wasn't being captured. 2009-05-16 22:05:23 +00:00
member-expr-static.cpp Don't return member pointer types for static member functions. Fixes 6879261. 2009-05-16 21:43:42 +00:00
member-expr.cpp Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++. 2009-06-03 02:06:50 +00:00
member-location.cpp PR4103: improve source location information for members of the current 2009-04-29 17:56:47 +00:00
member-name-lookup.cpp Make parsing a semantic analysis a little more robust following Sema 2009-04-01 21:51:26 +00:00
member-pointer-size.cpp Use the Itanium ABI for member pointers. Add a missing 'break' statement and a test case 2009-05-17 02:06:04 +00:00
member-pointer.cpp Implement support for equality comparisons (!=, ==) of member 2009-08-24 17:42:35 +00:00
ms-exception-spec.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
namespace-alias.cpp Check in test for namespace aliases+using directives. 2009-03-31 05:47:19 +00:00
namespace.cpp Avoid using the built-in type checker for assignment in C++ when classes are involved. Patch by Vyacheslav Kononenko. 2009-05-21 11:50:50 +00:00
nested-name-spec.cpp Fix a crash that occurs in this C++ case: 2009-07-21 06:43:26 +00:00
new-delete.cpp Fix an off by one error when trying to perform copy initialization of operator new and operator delete arguments. Sebastian, please review. 2009-05-31 19:49:47 +00:00
no-implicit-builtin-decls.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
nullptr.cpp Implement C++0x nullptr. 2009-05-10 18:38:11 +00:00
offsetof.cpp Fix/re-enable test. 2009-05-03 21:22:18 +00:00
overload-call-copycon.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
overload-call.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
overload-decl.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
overload-member-call.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
overloaded-builtin-operators.cpp Implement support for equality comparisons (!=, ==) of member 2009-08-24 17:42:35 +00:00
overloaded-operator-decl.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
overloaded-operator.cpp Create a new PrintingPolicy class, which we pass down through the AST 2009-05-29 20:38:28 +00:00
qual-id-test.cpp Support nested-name-specifiers for C++ member access expressions, e.g., 2009-08-06 03:17:00 +00:00
qualification-conversion.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
qualified-id-lookup.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
qualified-names-diag.cpp Give Type::getDesugaredType a "for-display" mode that can apply more 2009-04-01 15:47:24 +00:00
qualified-names-print.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
references.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
reinterpret-cast.cpp Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++. 2009-06-03 02:06:50 +00:00
reinterpret-fn-obj-pedantic.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
return-stack-addr.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
return.cpp Add warning for falling off the end of a function that should return a 2009-07-22 23:56:57 +00:00
rval-references.cpp Parse deleted member functions. Parsing member declarations goes through a different code path that I forgot previously. 2009-04-12 17:16:29 +00:00
statements.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
static-assert.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
static-cast.cpp Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. 2009-07-25 15:41:38 +00:00
static-initializers.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
struct-class-redecl.cpp In C++, warn when something previously declared as a "struct" is later 2009-05-14 16:41:31 +00:00
template-specialization.cpp This takes a long time to crash, just disable it for now. 2009-07-17 23:48:38 +00:00
this.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
trivial-constructor.cpp Add support for the __has_trivial_destructor type trait. 2009-04-17 02:34:54 +00:00
trivial-destructor.cpp Add support for the __has_trivial_destructor type trait. 2009-04-17 02:34:54 +00:00
type-convert-construct.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
type-definition-in-specifier.cpp When we parse a tag specifier, keep track of whether that tag 2009-05-28 23:31:59 +00:00
type-dependent-exprs.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
type-traits-incomplete.cpp Some (most) type trait expressions require that the argument passed in is a complete type. 2009-07-07 19:06:02 +00:00
type-traits.cpp Implement __is_empty. Patch by Sean Hunt. 2009-08-15 21:55:26 +00:00
typedef-redecl.cpp One can use "class" and "struct" interchangeably to refer to a class 2009-05-03 17:18:57 +00:00
typeid.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
types_compatible_p.cpp Ban the use of __builtin_types_compatible_p in C++; g++ doesn't support it, 2009-05-19 22:28:02 +00:00
unreachable-catch-clauses.cpp Check for identical types in C++ catch expression. Patch by Erik Verbruggen. 2009-07-29 17:15:45 +00:00
unused.cpp PR4103: Silence bogus unused expression warning. 2009-04-29 16:35:53 +00:00
user-defined-conversions.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
using-decl-1.cpp Fix another assert related to using decls. 2009-06-26 03:54:13 +00:00
using-decl-pr4441.cpp Make it possible for using decls to point to operators. Fixes PR4441. 2009-06-27 00:27:47 +00:00
using-decl-pr4450.cpp When creating LookupResults, see through UsingDecls. Fixes PR4450. 2009-06-26 03:37:05 +00:00
using-directive.cpp Parsing and AST support for using declarations, from John Thompson! 2009-06-20 00:51:54 +00:00
vararg-non-pod.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
virtual-override.cpp Check that the function being overridden is virtual. 2009-05-14 22:15:41 +00:00
virtuals.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
warn-for-var-in-else.cpp Prep for new warning. 2009-07-22 00:43:08 +00:00
warn-reorder-ctor-initialization.cpp Misc fixes for -Wreorder: 2009-07-21 19:28:10 +00:00
wchar_t.cpp Fix for PR4502: add calculation of the integer conversion rank for 2009-07-05 23:44:27 +00:00