| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 180208
|
|
|
|
|
|
| |
are unavailable on Hexagon.
llvm-svn: 178791
|
|
|
|
| |
llvm-svn: 107153
|
|
|
|
|
|
|
| |
clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to
garbage).
llvm-svn: 91460
|
|
|
|
| |
llvm-svn: 89085
|
|
|
|
| |
llvm-svn: 86053
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
out of line.
llvm-svn: 76740
|
|
|
|
|
|
|
| |
specialization. At present, all implicit instantiations occur at the
end of the translation unit.
llvm-svn: 73915
|
|
|
|
|
|
| |
realized it was a bug in the test case :)
llvm-svn: 72680
|
|
|
|
| |
llvm-svn: 72576
|
|
|
|
| |
llvm-svn: 72528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
references. There are several smallish fixes here:
- Make sure we look through template parameter scope when
determining whether we're parsing a nested class (or nested class
*template*). This makes sure that we delay parsing the bodies of
inline member functions until after we're out of the outermost
class (template) scope.
- Since the bodies of member functions are always parsed
"out-of-line", even when they were declared in-line, teach
unqualified name lookup to look into the (semantic) parents.
- Use the new InstantiateDeclRef to handle the instantiation of a
reference to a declaration (in DeclRefExpr), which drastically
simplifies template instantiation for DeclRefExprs.
- When we're instantiating a ParmVarDecl, it must be in the current
instantiation scope, so only look there.
Also, remove the #if 0's and FIXME's from the dynarray example, which
now compiles and executes thanks to Anders and Eli.
llvm-svn: 72481
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiation of a declaration from the template version (or version
that lives in a template) and a given set of template arguments. This
needs much, much more testing, but it suffices for simple examples
like
typedef T* iterator;
iterator begin();
llvm-svn: 72461
|
|
instantiation
llvm-svn: 72437
|