Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Skeletal support for friend class templates. | John McCall | 2009-09-14 | 1 | -1/+24 | |
| | | | | llvm-svn: 81801 | |||||
* | Removed Context argument from couple of methods which don't | Fariborz Jahanian | 2009-09-12 | 1 | -2/+2 | |
| | | | | | | need them. llvm-svn: 81621 | |||||
* | Alter Action's friend interface to prepare for templated friend declarations and | John McCall | 2009-09-11 | 1 | -23/+13 | |
| | | | | | | to stop making promises we can't currently keep. llvm-svn: 81571 | |||||
* | Cleanup and test C++ default arguments. Improvements include: | Douglas Gregor | 2009-09-11 | 1 | -4/+55 | |
| | | | | | | | | | | | - Diagnose attempts to add default arguments to templates (or member functions of templates) after the initial declaration (DR217). - Improve diagnostics when a default argument is redefined. Now, the note will always point at the place where the default argument was previously defined, rather than pointing to the most recent declaration of the function. llvm-svn: 81548 | |||||
* | When re-entering a template scope, we may be entering a class template | Douglas Gregor | 2009-09-10 | 1 | -3/+11 | |
| | | | | | | | partial specialization rather than a subclass of TemplateDecl. Fixes a crash in libstdc++ 4.2's <map>. llvm-svn: 81407 | |||||
* | Improve handling of initialization by constructor, by ensuring that | Douglas Gregor | 2009-09-09 | 1 | -120/+171 | |
| | | | | | | | | such initializations properly convert constructor arguments and fill in default arguments where necessary. This also makes the ownership model more clear. llvm-svn: 81394 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -403/+400 | |
| | | | | llvm-svn: 81346 | |||||
* | Support templateids in friend declarations. Fixes bug 4859. | John McCall | 2009-09-08 | 1 | -49/+47 | |
| | | | | llvm-svn: 81233 | |||||
* | Handle variadic constructors better. Share code between ↵ | Anders Carlsson | 2009-09-08 | 1 | -25/+59 | |
| | | | | | | BuildCXXConstructExpr and BuildCXXTemporaryObjectExpr. llvm-svn: 81181 | |||||
* | BuildCXXConstructExpr now takes a MultiExprArg. | Anders Carlsson | 2009-09-07 | 1 | -9/+12 | |
| | | | | llvm-svn: 81160 | |||||
* | Reapply 81096, now with a fix. Spot the bug: | Anders Carlsson | 2009-09-06 | 1 | -2/+2 | |
| | | | | | | | | | for (unsigned i = numargs; i < NumArgs; ++i) Args[0] = 0; ;) llvm-svn: 81123 | |||||
* | Revert "Initialize default CXXConstructExpr arguments to 0. Fixes a crash when | Daniel Dunbar | 2009-09-06 | 1 | -2/+2 | |
| | | | | | | | destroying the CXXConstructExpr.", this is causing test failures across the board. llvm-svn: 81100 | |||||
* | Initialize default CXXConstructExpr arguments to 0. Fixes a crash when ↵ | Anders Carlsson | 2009-09-05 | 1 | -2/+2 | |
| | | | | | | destroying the CXXConstructExpr. llvm-svn: 81096 | |||||
* | Pass the ConstructLoc to BuildCXXConstructExpr. | Anders Carlsson | 2009-09-05 | 1 | -12/+10 | |
| | | | | llvm-svn: 81068 | |||||
* | Don't generate any code for an explicit call to a trivial destructor. | Douglas Gregor | 2009-09-04 | 1 | -1/+1 | |
| | | | | | | | | | | | Now that parsing, semantic analysis, and (I think) code generation of pseudo-destructor expressions and explicit destructor calls works, update the example-dynarray.cpp test to destroy the objects it allocates and update the test to actually compile + link. The code seems correct, but the Clang-compiled version dies with a malloc error. Time to debug! llvm-svn: 81025 | |||||
* | Patch to instantiate destructors used to destruct | Fariborz Jahanian | 2009-09-03 | 1 | -0/+75 | |
| | | | | | | base and data members when they are needed. llvm-svn: 80967 | |||||
* | Mark constructors used in initialization of base(s) and fields | Fariborz Jahanian | 2009-09-03 | 1 | -25/+37 | |
| | | | | | | | as referecned with location where they are used. Still need to look at destructor aspects of them. llvm-svn: 80950 | |||||
* | Issue diagnostics in variety of situations involving | Fariborz Jahanian | 2009-09-03 | 1 | -3/+176 | |
| | | | | | | | | reference/const data members when user has declared the constructor. This necessitated some non-minor refactoring. llvm-svn: 80934 | |||||
* | Minor refactoring of my last patch. | Fariborz Jahanian | 2009-09-02 | 1 | -5/+5 | |
| | | | | llvm-svn: 80847 | |||||
* | Referenced instatiated default constructors | Fariborz Jahanian | 2009-09-02 | 1 | -1/+19 | |
| | | | | | | must be defined. Fixed pr4853. llvm-svn: 80846 | |||||
* | Allow null initialization of scalara data members | Fariborz Jahanian | 2009-09-02 | 1 | -2/+8 | |
| | | | | | | in constructors's initializer list. pr4854 llvm-svn: 80802 | |||||
* | Don't assume that a base is always a RecordType, it can also be a ↵ | Anders Carlsson | 2009-09-01 | 1 | -5/+16 | |
| | | | | | | TemplateSpecializationType. Also, make sure to get the instantiated union member. llvm-svn: 80662 | |||||
* | Fix bug 4784 and allow friend declarations to properly extend | John McCall | 2009-08-31 | 1 | -4/+16 | |
| | | | | | | existing declaration chains. llvm-svn: 80636 | |||||
* | Use DiagnoseMissingMember for UsingDecls. | Anders Carlsson | 2009-08-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 80470 | |||||
* | Improve diagnostics for missing members. This renames the ↵ | Anders Carlsson | 2009-08-30 | 1 | -1/+1 | |
| | | | | | | err_typecheck_no_member to err_typecheck_no_member_deprecated. The idea is that err_typecheck_no_member_deprecated should be phased out and any call sites that reference it should call DiagnoseMissingMember instead. llvm-svn: 80469 | |||||
* | Set the access specifier for using decls. | Anders Carlsson | 2009-08-29 | 1 | -1/+4 | |
| | | | | llvm-svn: 80435 | |||||
* | For consistency, just make friend declarations AS_public. | John McCall | 2009-08-29 | 1 | -0/+2 | |
| | | | | llvm-svn: 80420 | |||||
* | Store the SourceLocation of right parentheses in member initializers. Patch ↵ | Anders Carlsson | 2009-08-29 | 1 | -2/+2 | |
| | | | | | | by Anders Johnsen! llvm-svn: 80416 | |||||
* | Fix this for real. | Anders Carlsson | 2009-08-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 80377 | |||||
* | Pass InOverloadResolution all the way down to IsPointerConversion. | Anders Carlsson | 2009-08-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 80368 | |||||
* | Instantiate unresolved using declarations. | Anders Carlsson | 2009-08-28 | 1 | -2/+3 | |
| | | | | llvm-svn: 80366 | |||||
* | Omnibus friend decl refactoring. Instead of cloning AST classes for friend | John McCall | 2009-08-28 | 1 | -111/+119 | |
| | | | | | | | | | | | | | | declarations of same, introduce a single AST class and add appropriate bits (encoded in the namespace) for whether a decl is "real" or not. Much hackery about previously-declared / not-previously-declared, but it's essentially mandated by the standard that friends alter lookup, and this is at least fairly non-intrusive. Refactor the Sema methods specific to friends for cleaner flow and less nesting. Incidentally solve a few bugs, but I remain confident that we can put them back. llvm-svn: 80353 | |||||
* | Create UnresolvedUsingDecls. | Anders Carlsson | 2009-08-28 | 1 | -10/+9 | |
| | | | | llvm-svn: 80346 | |||||
* | Factor declaration building out to Sema::BuildUsingDeclaration. | Anders Carlsson | 2009-08-28 | 1 | -18/+28 | |
| | | | | llvm-svn: 80337 | |||||
* | More work on using declarations. | Anders Carlsson | 2009-08-28 | 1 | -1/+9 | |
| | | | | llvm-svn: 80333 | |||||
* | Many improvements to using declarations. | Anders Carlsson | 2009-08-28 | 1 | -19/+68 | |
| | | | | llvm-svn: 80332 | |||||
* | Remove more default arguments. | Anders Carlsson | 2009-08-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 80260 | |||||
* | Remove default arguments from TryImplicitConversion and fix a bug found in ↵ | Anders Carlsson | 2009-08-27 | 1 | -1/+4 | |
| | | | | | | the process. llvm-svn: 80258 | |||||
* | Revert the flags change for now, I have a better idea for this. | Anders Carlsson | 2009-08-27 | 1 | -4/+1 | |
| | | | | llvm-svn: 80255 | |||||
* | Add a OverloadResolutionFlags and start converting some of the overload ↵ | Anders Carlsson | 2009-08-27 | 1 | -1/+4 | |
| | | | | | | methods over to using it instead of bools arguments. llvm-svn: 80248 | |||||
* | Don't check member and base initializers if the constructor is dependent. | Anders Carlsson | 2009-08-27 | 1 | -27/+33 | |
| | | | | llvm-svn: 80211 | |||||
* | Use early returns to avoid indentation. | Anders Carlsson | 2009-08-27 | 1 | -72/+76 | |
| | | | | llvm-svn: 80209 | |||||
* | Stub out an error so we don't crash. | Eli Friedman | 2009-08-27 | 1 | -1/+8 | |
| | | | | llvm-svn: 80207 | |||||
* | Add a BuildCXXTemporaryObjectExpr and use it so default arguments will be ↵ | Anders Carlsson | 2009-08-27 | 1 | -1/+32 | |
| | | | | | | instantiated correctly for temporary object expressions. llvm-svn: 80206 | |||||
* | New RequireNonAbstractType function. | Anders Carlsson | 2009-08-27 | 1 | -4/+14 | |
| | | | | llvm-svn: 80183 | |||||
* | Bye-bye old RequireCompleteType. | Anders Carlsson | 2009-08-26 | 1 | -2/+4 | |
| | | | | llvm-svn: 80182 | |||||
* | Implement support for C++ direct initializers that involve dependent | Douglas Gregor | 2009-08-26 | 1 | -3/+19 | |
| | | | | | | types or type-dependent expressions. llvm-svn: 80143 | |||||
* | If a parameter has a default argument expression, make sure to instantiate ↵ | Anders Carlsson | 2009-08-25 | 1 | -0/+6 | |
| | | | | | | the parameter type before checking that the expression is a valid initializer. llvm-svn: 79986 | |||||
* | Improved support for default arguments in constructors for class templates. | Anders Carlsson | 2009-08-25 | 1 | -18/+17 | |
| | | | | llvm-svn: 79984 | |||||
* | InitializeVarWithConstructor now returns true on failure. | Anders Carlsson | 2009-08-25 | 1 | -4/+8 | |
| | | | | llvm-svn: 79976 |