- May 27, 2009
-
-
Douglas Gregor authored
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
-
Anders Carlsson authored
llvm-svn: 72479
-
Anders Carlsson authored
llvm-svn: 72478
-
Anders Carlsson authored
llvm-svn: 72477
-
Steve Naroff authored
This allows me to remove some API that I don't want to carry over to ObjCObjectPointerType. No functionality change. llvm-svn: 72475
-
Anders Carlsson authored
llvm-svn: 72474
-
Eli Friedman authored
of a reference correctly. llvm-svn: 72463
-
Eli Friedman authored
llvm-svn: 72462
-
Douglas Gregor authored
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
-
Douglas Gregor authored
overloaded operator[] or overloaded postfix unary operator (++, --). Thanks to Eli for finding this bug! llvm-svn: 72460
-
Eli Friedman authored
type. llvm-svn: 72459
-
Anders Carlsson authored
llvm-svn: 72458
-
Anders Carlsson authored
llvm-svn: 72457
-
Anders Carlsson authored
llvm-svn: 72449
-
Mike Stump authored
one else is tempted to copy the style, incorrectly. llvm-svn: 72448
-
Anders Carlsson authored
llvm-svn: 72446
-
Douglas Gregor authored
llvm-svn: 72440
-
Mike Stump authored
llvm-svn: 72439
-
- May 26, 2009
-
-
Douglas Gregor authored
llvm-svn: 72433
-
Daniel Dunbar authored
- Just SmallVectors this time. llvm-svn: 72432
-
Mike Stump authored
we actually have a destination. llvm-svn: 72429
-
Douglas Gregor authored
an integral constant expression, maintain a cache of the value and the is-an-ICE flag within the VarDecl itself. This eliminates exponential-time behavior of the Fibonacci template metaprogram. llvm-svn: 72428
-
Daniel Dunbar authored
thing for non-aggregate types. - Otherwise we unnecessarily pin values to the stack and currently end up triggering a backend bug in one case. - This loose cooperation with LLVM to implement the ABI is pretty ugly. - <rdar://problem/6918722> [irgen] clang miscompile of many pointer varargs on x86-64 llvm-svn: 72419
-
Anders Carlsson authored
llvm-svn: 72417
-
Douglas Gregor authored
llvm-svn: 72415
-
Eli Friedman authored
barely enough to get the given usage of -print-file-name working). llvm-svn: 72412
-
Anders Carlsson authored
Add a new CallExpr::getCallReturnType and use it in Expr::isLvalueInternal. No intended functionality change. llvm-svn: 72410
-
Anders Carlsson authored
llvm-svn: 72409
-
Eli Friedman authored
Found by code inspection; I haven't seen this in real-world code. llvm-svn: 72408
-
- May 25, 2009
-
-
Eli Friedman authored
correctly. llvm-svn: 72401
-
Eli Friedman authored
left out handling for stuff like (S())++ for the moment. llvm-svn: 72394
-
Chris Lattner authored
argument. This avoids the argument from being silenced when the argument is the NULL macro, which is defined in a system header. This also makes the output a bit nicer, e.g.: t.c:8:3: warning: null passed to a callee which requires a non-null argument func1(NULL, cp2, i1); ^ ~~~~ vs something like: t.c:8:10: warning: argument is null where non-null is required func1(NULL, cp2, i1); ^ llvm-svn: 72393
-
Chris Lattner authored
1. When we accept "#garbage" in asm-with-cpp mode, change the token kind of the # to unknown so that the preprocessor won't try to process it as a real #. This fixes a crash on the attached example 2. Fix macro definition extents processing to handle #foo at the end of a macro to say the definition ends with the foo, not the #. This is a follow-on fix to r72283, and rdar://6916026 llvm-svn: 72388
-
Chris Lattner authored
llvm-svn: 72386
-
- May 24, 2009
-
-
Eli Friedman authored
the RHS. Fixes assembler-with-cpp issue reported on cfe-dev. llvm-svn: 72370
-
Mike Stump authored
llvm-svn: 72353
-
Mike Stump authored
llvm-svn: 72352
-
Mike Stump authored
how to get the backend to know that the operation is volatile. llvm-svn: 72348
-
Mike Stump authored
llvm-svn: 72347
-
- May 23, 2009
-
-
Mike Stump authored
is still ignored. llvm-svn: 72344
-