diff options
author | Douglas Gregor <dgregor@apple.com> | 2008-11-06 23:29:22 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2008-11-06 23:29:22 +0000 |
commit | 7d5fc7e28b39785fb68b4469bf5aff4edddcd578 (patch) | |
tree | a9f3030dc5ded33365c872b7163883c675669969 /llvm/lib/CodeGen/StackProtector.cpp | |
parent | 5ca2ec65bd52c61fade8b81c37ad95098ddaaa8e (diff) | |
download | llvm-7d5fc7e28b39785fb68b4469bf5aff4edddcd578.zip llvm-7d5fc7e28b39785fb68b4469bf5aff4edddcd578.tar.gz llvm-7d5fc7e28b39785fb68b4469bf5aff4edddcd578.tar.bz2 |
Initial, rudimentary implementation of operator overloading for binary
operators. For example, one can now write "x + y" where x or y is a
class or enumeration type, and Clang will perform overload resolution
for "+" based on the overloaded operators it finds.
The other kinds of overloadable operators in C++ will follow this same
approach.
Three major issues remain:
1) We don't find member operators
2) Since we don't have user-defined conversion operators, we can't
call any of the built-in overloaded operators in C++ [over.built].
3) Once we've done the semantic checks, we drop the overloaded
operator on the floor; it doesn't get into the AST at all.
llvm-svn: 58821
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions