- Nov 07, 2008
-
-
Zhongxing Xu authored
available, things get much simplified. One addition is that CompoundLiteralExpr can appear both in rvalue and lvalue context. llvm-svn: 58837
-
Zhongxing Xu authored
llvm-svn: 58833
-
Douglas Gregor authored
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
-
- Nov 06, 2008
-
-
Douglas Gregor authored
operators in C++. Overloaded operators can be called directly via their operator-function-ids, e.g., "operator+(foo, bar)", but we don't yet implement the semantics of operator overloading to handle, e.g., "foo + bar". llvm-svn: 58817
-
Douglas Gregor authored
llvm-svn: 58806
-
Sebastian Redl authored
llvm-svn: 58804
-
Douglas Gregor authored
llvm-svn: 58802
-
- Nov 05, 2008
-
-
Ted Kremenek authored
llvm-svn: 58771
-
Sebastian Redl authored
llvm-svn: 58770
-
Sebastian Redl authored
llvm-svn: 58769
-
Douglas Gregor authored
Implicit declaration of destructors (when necessary). Extended Declarator to store information about parsed constructors and destructors; this will be extended to deal with declarators that name overloaded operators (e.g., "operator +") and user-defined conversion operators (e.g., "operator int"). llvm-svn: 58767
-
Sebastian Redl authored
llvm-svn: 58762
-
Ted Kremenek authored
llvm-svn: 58758
-
Douglas Gregor authored
Keep track of whether a C++ class is an aggregate. Don't allow initialization of non-aggregates with initializer lists. llvm-svn: 58757
-
Douglas Gregor authored
duplication in the handling of copy-initialization by constructor, which occurs both for initialization of a declaration and for overloading. The initialization code is due for some refactoring. llvm-svn: 58756
-
Douglas Gregor authored
for constructor initializations, e.g., class A { }; class B : public A { int m; public: B() : A(), m(17) { }; }; llvm-svn: 58749
-
- Nov 04, 2008
-
-
Cedric Venet authored
llvm-svn: 58716
-
Anders Carlsson authored
llvm-svn: 58705
-
Chris Lattner authored
llvm-svn: 58704
-
Sebastian Redl authored
Some cleanup of the cast checkers. Don't canonicalize types when not needed. Use distinct diagnostics for distinct errors. llvm-svn: 58700
-
Douglas Gregor authored
Add a new expression class, ObjCSuperExpr, to handle the Objective-C 'super'. Remove ObjCThis from PredefinedExpr llvm-svn: 58698
-
Douglas Gregor authored
Create a new expression class, CXXThisExpr, to handle the C++ 'this' primary expression. Remove CXXThis from PredefinedExpr llvm-svn: 58695
-
Douglas Gregor authored
llvm-svn: 58692
-
Douglas Gregor authored
Diagnose use of 'this' in a C++ default argument. Thanks to Eli for correcting my bogus assertion about it already being handled llvm-svn: 58691
-
Sebastian Redl authored
llvm-svn: 58689
-
Anders Carlsson authored
llvm-svn: 58685
-
Anders Carlsson authored
llvm-svn: 58681
-
Anders Carlsson authored
llvm-svn: 58680
-
Ted Kremenek authored
llvm-svn: 58666
-
rdar://problem/6339636Steve Naroff authored
Fix <rdar://problem/6339636> clang ObjC rewriter: Assertion failed: FileID-1 < FileIDs.size() && "Invalid FileID!", file c:\cygwin\home\Administrator\llvm\tools\clang\include\clang/Basic/SourceManager.h, line 513 llvm-svn: 58654
-
Ted Kremenek authored
Fix Plist output. llvm-svn: 58652
-
- Nov 03, 2008
-
-
Douglas Gregor authored
llvm-svn: 58649
-
Ted Kremenek authored
llvm-svn: 58647
-
Ted Kremenek authored
llvm-svn: 58646
-
Douglas Gregor authored
X x(5, 7); llvm-svn: 58641
-
Douglas Gregor authored
cope with the case where a user-defined conversion is actually a copy construction, and therefore can be compared against other standard conversion sequences. While I called this a hack before, now I'm convinced that it's the right way to go. Compare overloads based on derived-to-base conversions that invoke copy constructors. Suppress user-defined conversions when attempting to call a user-defined conversion. llvm-svn: 58629
-
Douglas Gregor authored
when appropriate. Conversions for class types now make use of copy constructors. I've replaced the egregious hack allowing class-to-class conversions with a slightly less egregious hack calling these conversions standard conversions (for overloading reasons). llvm-svn: 58622
-
Douglas Gregor authored
llvm-svn: 58613
-
Douglas Gregor authored
reference-collapsing. Implement diagnostic for formation of a reference to cv void. Drop cv-qualifiers added to a reference type when the reference type comes from a typedef. llvm-svn: 58612
-
Douglas Gregor authored
Connect ASTContext to TargetInfo when determining the size_t, ptrdiff_t, and wchar_t types. Fixes recent breakage on Linux. llvm-svn: 58609
-