- Jan 08, 2011
-
-
Alexis Hunt authored
llvm-svn: 123076
-
Chandler Carruth authored
temporaries with no-return destructors. The CFG now properly supports temporaries and implicit destructors which both makes this kludge no longer work, and conveniently removes the need for it. Turn on CFG handling of implicit destructors and initializers. Several ad-hoc benchmarks don't indicate any measurable performance impact from growing the CFG, and it fixes real correctness problems with warnings. As a result of turning on these CFG elements, we started to tickle an inf-loop in the unreachable code logic used for warnings. The fix is trivial. llvm-svn: 123056
-
Ted Kremenek authored
prefix in a printf format string is matched with the appropriate conversion specifier. llvm-svn: 123055
-
Ted Kremenek authored
prefix to format conversions (POSIX extension). llvm-svn: 123054
-
- Jan 07, 2011
-
-
Eric Christopher authored
llvm-svn: 123041
-
Douglas Gregor authored
function class template. llvm-svn: 123024
-
Ted Kremenek authored
to reject this code, but at least clang doesn't crash anymore. Crash reported in PR 8880. llvm-svn: 123017
-
Douglas Gregor authored
tuple class template. This implementation is boosted directly from the variadic templates proposal. N2080. Note that one section is #ifdef'd out. I'll implement that aspect of template argument deduction next. llvm-svn: 123016
-
Douglas Gregor authored
TreeTransform version of TransformExprs() rather than explicit loop, so that we expand pack expansions properly. Test cast coming soon... llvm-svn: 123014
-
Douglas Gregor authored
function parameter pack expansions. llvm-svn: 123007
-
Roman Divacky authored
llvm-svn: 123005
-
Roman Divacky authored
llvm-svn: 123004
-
Fariborz Jahanian authored
Fix an unexpected hickup caused by exceeding size of generated table (and a misleading comment). Improve on help message for -fapple-kext. llvm-svn: 123003
-
Douglas Gregor authored
instantiated function parameters, enabling instantiation of arbitrary pack expansions involving function parameter packs. At this point, we can now correctly compile a simple, variadic print() example: #include <iostream> #include <string> void print() {} template<typename Head, typename ...Tail> void print(const Head &head, const Tail &...tail) { std::cout << head; print(tail...); } int main() { std::string hello = "Hello"; print(hello, ", world!", " ", 2011, '\n'); } llvm-svn: 123000
-
Francois Pichet authored
llvm-svn: 122992
-
Francois Pichet authored
Do not use cdecl, fastcall, stdcall etc.. as identifier name. They are reserved keywords at least on MSVC. llvm-svn: 122991
-
John McCall authored
In particular, the iteration variable (if present) should be created and destroyed in a narrow span around the loop body, and the body should be emitted in a cleanup scope in case it's not a compound statement. Otherwise, rename a few variables and use phis instead of temporary variables for the index and buffer count. llvm-svn: 122988
-
Fariborz Jahanian authored
llvm-svn: 122987
-
Douglas Gregor authored
parameters into parameter types, so that substitution of explicitly-specified function template arguments uses the same path. This enables the use of explicitly-specified function template arguments with variadic templates. llvm-svn: 122986
-
- Jan 06, 2011
-
-
Devang Patel authored
llvm-svn: 122980
-
Douglas Gregor authored
template whose last parameter is a parameter pack. This allows us to form a call to, e.g., template<typename ...Args1, typename ...Args2> void f(std::pair<Args1, Args2> ...pairs); given zero or more instances of "pair". llvm-svn: 122973
-
Devang Patel authored
llvm-svn: 122972
-
Fariborz Jahanian authored
its own deprecated diagnostics group so it can be turned off selectively. // rdar://8827606 llvm-svn: 122967
-
Bob Wilson authored
Patch by Sylvère Teissier. llvm-svn: 122965
-
Abramo Bagnara authored
llvm-svn: 122964
-
Roman Divacky authored
Fix the width and align of bool type on Darwin to be 32bits while keeping it 8 everywhere else. Change the definition of va_list to default to SV4 ABI one and let darwin subtarget override this. Both changes submitted by Nathan Whitehorn and reviewed by Rafael Espindola. llvm-svn: 122956
-
Chandler Carruth authored
llvm-svn: 122951
-
-
John McCall authored
The initial TreeTransform is a cop-out, but it's more-or-less equivalent to what we were doing before, or rather what we're doing now and might eventually stop doing in favor of using this type. I am simultaneously intrigued by the possibilities of rebuilding a dependent Attri llvm-svn: 122942
-
Jakob Stoklund Olesen authored
llvm-svn: 122941
-
Douglas Gregor authored
initialize *all* of the bits to zero. Also, when the pattern of a template argument pack expansion, make sure to set the ellipsis location along all paths. This should clear up the valgrind failure that popped up in Clang. llvm-svn: 122931
-
Douglas Gregor authored
Fast-path an arity check when performing template argument deduction that compares two parameter-type-lists. No functionality change. llvm-svn: 122928
-
Douglas Gregor authored
TypeSourceInfo when transforming a function parameter. The callees of this routine already assume that TypeSourceInfo will be present, and we want to always be sure that it exists. llvm-svn: 122927
-
Douglas Gregor authored
1) Declaration of function parameter packs 2) Instantiation of function parameter packs within function types. 3) Template argument deduction of function parameter packs when matching two function types. We're missing all of the important template-instantiation logic for function template definitions, along with template argument deduction from the argument list of a function call, so don't even think of trying to use these for real yet. llvm-svn: 122926
-
Douglas Gregor authored
llvm-svn: 122924
-
Fariborz Jahanian authored
property when it is 'readonly'. // rdar://8820813 llvm-svn: 122923
-
- Jan 05, 2011
-
-
Douglas Gregor authored
llvm-svn: 122905
-
Douglas Gregor authored
parameter packs, along with ParmVarDecl::isParameterPack(), which looks for function parameter packs. Use these routines to fix some obvious FIXMEs. llvm-svn: 122904
-
Douglas Gregor authored
template argument packs. Plus, remove a FIXME that I fixed yesterday. llvm-svn: 122903
-
Douglas Gregor authored
corresponding template parameter, make sure that prior converted template arguments are available for substitution. llvm-svn: 122902
-