| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
initializing a reference class.
llvm-svn: 82664
|
| |
|
|
| |
llvm-svn: 82650
|
| |
|
|
|
|
|
|
|
| |
It uses a recent API to find inherited conversion functions to do
the initializer to reference lvalue conversion (and removes a FIXME).
It issues the ambiguity diagnostics when multiple conversions are found.
WIP.
llvm-svn: 82649
|
| |
|
|
|
|
|
|
|
|
|
| |
Several of the existing methods were identical to their respective
specializations, and so have been removed entirely. Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501
|
| |
|
|
|
|
|
| |
complain about specializations of member functions that are not
definitions. Fixes PR4995.
llvm-svn: 82159
|
| |
|
|
|
|
| |
same.
llvm-svn: 82088
|
| |
|
|
|
|
|
|
|
|
|
|
| |
give them the appropriate exception specifications. This,
unfortunately, requires us to maintain and/or implicitly generate
handles to namespace "std" and the class "std::bad_alloc". However,
every other approach I've come up with was more hackish, and this
standard requirement itself is quite the hack.
Fixes PR4829.
llvm-svn: 81939
|
| |
|
|
| |
llvm-svn: 81917
|
| |
|
|
|
|
| |
standard conversion sequence. This lets us remove a workaround in SemaCompleteConstructorCall.
llvm-svn: 81847
|
| |
|
|
| |
llvm-svn: 81801
|
| |
|
|
|
|
| |
need them.
llvm-svn: 81621
|
| |
|
|
|
|
| |
to stop making promises we can't currently keep.
llvm-svn: 81571
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
| |
partial specialization rather than a subclass of TemplateDecl. Fixes a
crash in libstdc++ 4.2's <map>.
llvm-svn: 81407
|
| |
|
|
|
|
|
|
| |
such initializations properly convert constructor arguments and fill
in default arguments where necessary. This also makes the ownership
model more clear.
llvm-svn: 81394
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
| |
llvm-svn: 81233
|
| |
|
|
|
|
| |
BuildCXXConstructExpr and BuildCXXTemporaryObjectExpr.
llvm-svn: 81181
|
| |
|
|
| |
llvm-svn: 81160
|
| |
|
|
|
|
|
|
|
| |
for (unsigned i = numargs; i < NumArgs; ++i)
Args[0] = 0;
;)
llvm-svn: 81123
|
| |
|
|
|
|
|
| |
destroying the CXXConstructExpr.", this is causing test failures across the
board.
llvm-svn: 81100
|
| |
|
|
|
|
| |
destroying the CXXConstructExpr.
llvm-svn: 81096
|
| |
|
|
| |
llvm-svn: 81068
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
base and data members when they are needed.
llvm-svn: 80967
|
| |
|
|
|
|
|
| |
as referecned with location where they are used. Still
need to look at destructor aspects of them.
llvm-svn: 80950
|
| |
|
|
|
|
|
|
| |
reference/const data members when user has declared
the constructor. This necessitated some non-minor
refactoring.
llvm-svn: 80934
|
| |
|
|
| |
llvm-svn: 80847
|
| |
|
|
|
|
| |
must be defined. Fixed pr4853.
llvm-svn: 80846
|
| |
|
|
|
|
| |
in constructors's initializer list. pr4854
llvm-svn: 80802
|
| |
|
|
|
|
| |
TemplateSpecializationType. Also, make sure to get the instantiated union member.
llvm-svn: 80662
|
| |
|
|
|
|
| |
existing declaration chains.
llvm-svn: 80636
|
| |
|
|
| |
llvm-svn: 80470
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 80435
|
| |
|
|
| |
llvm-svn: 80420
|
| |
|
|
|
|
| |
by Anders Johnsen!
llvm-svn: 80416
|
| |
|
|
| |
llvm-svn: 80377
|
| |
|
|
| |
llvm-svn: 80368
|
| |
|
|
| |
llvm-svn: 80366
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 80346
|
| |
|
|
| |
llvm-svn: 80337
|
| |
|
|
| |
llvm-svn: 80333
|
| |
|
|
| |
llvm-svn: 80332
|
| |
|
|
| |
llvm-svn: 80260
|
| |
|
|
|
|
| |
the process.
llvm-svn: 80258
|
| |
|
|
| |
llvm-svn: 80255
|
| |
|
|
|
|
| |
methods over to using it instead of bools arguments.
llvm-svn: 80248
|
| |
|
|
| |
llvm-svn: 80211
|