- Dec 21, 2010
-
-
Douglas Gregor authored
take into account the region of interest. Otherwise, we may fail to traverse some important preprocessed entity cursors. Fixes <rdar://problem/8554072>. llvm-svn: 122350
-
Douglas Gregor authored
llvm-svn: 122348
-
Douglas Gregor authored
classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext. With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST. Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places. llvm-svn: 122347
-
Michael J. Spencer authored
llvm-svn: 122340
-
Michael J. Spencer authored
llvm-svn: 122339
-
Douglas Gregor authored
information caused token-annotation to fail in funny ways. Fixes <rdar://problem/8595386>. llvm-svn: 122338
-
Douglas Gregor authored
llvm-svn: 122335
-
Douglas Gregor authored
llvm-svn: 122325
-
Douglas Gregor authored
clang_getCursorLexicalParent() to cope with class and function templates, along with the parent of the translation unit. Fixes PR8761 and PR8766. llvm-svn: 122324
-
Douglas Gregor authored
looking in is complete. Fixes PR8756. llvm-svn: 122323
-
Douglas Gregor authored
checking trivial comparisons. Fixes PR8795. llvm-svn: 122322
-
Douglas Gregor authored
llvm-svn: 122318
-
Douglas Gregor authored
llvm-svn: 122317
-
Douglas Gregor authored
llvm-svn: 122315
-
Francois Pichet authored
Fix PR8832. llvm-svn: 122311
-
Chris Lattner authored
llvm-svn: 122309
-
Douglas Gregor authored
in an exception specification. llvm-svn: 122297
-
John McCall authored
Apply the noreturn attribute while creating a builtin function's type. Remove the getNoReturnType() API. llvm-svn: 122295
-
Fariborz Jahanian authored
unknown type and there is a possibility that at runtime method is resolved to a deprecated or unavailable method. Addreses // rdar://8769853 llvm-svn: 122294
-
Douglas Gregor authored
specifications. We can't yet instantiate them, however, since I tripped over PR8835. llvm-svn: 122292
-
Douglas Gregor authored
lists, so that all such transformations go through a single, iterator-based transformation function. This is the only place where we need to implement the logic for transforming pack expansions whose pattern is a template argument. Unfortunately, the new cases this refactoring brings into the fold can't be meaningfully tested yet. We need template argument deduction to work well enough for variadic function templates first. llvm-svn: 122289
-
Douglas Gregor authored
shouldWalkTypesOfTypeLocs() that determines whether it should walk the Types within TypeLocs. This walk is redundant, but perhaps required for some clients. Disabling this redundant walk in the unexpanded parameter pack finder produces better results, because we get parameter packs with source location info *unless* such source location information isn't available. llvm-svn: 122287
-
- Dec 20, 2010
-
-
Douglas Gregor authored
the first qualifier in scope. We can't adequately test this test, unfortunately. llvm-svn: 122283
-
Douglas Gregor authored
Test template instantiation of pack expansions where the parameter pack is in a nested-name-specifier llvm-svn: 122282
-
Rafael Espindola authored
don't warn if an argument is not used because it is shadowed by a subsequent argument. llvm-svn: 122281
-
Douglas Gregor authored
getting extra "<>" delimiters around template argument packs. llvm-svn: 122280
-
Douglas Gregor authored
whose patterns are template arguments. We can now instantiate, e.g., typedef tuple<pair<OuterTypes, InnerTypes>...> type; where OuterTypes and InnerTypes are template type parameter packs. There is a horrible inefficiency in TemplateArgumentLoc::getPackExpansionPattern(), where we need to create copies of TypeLoc data because our interfaces traffic in TypeSourceInfo pointers where they should traffic in TypeLocs instead. I've isolated in efficiency in this one routine; once we refactor our interfaces to traffic in TypeLocs, we can eliminate it. llvm-svn: 122278
-
Ted Kremenek authored
llvm-svn: 122271
-
Ted Kremenek authored
llvm-svn: 122270
-
Matt Beaumont-Gay authored
llvm-svn: 122257
-
Douglas Gregor authored
centralizing the transformation into two routines. No functionality change. llvm-svn: 122253
-
Douglas Gregor authored
the list traversal. Part 1, no functionality change. llvm-svn: 122252
-
Douglas Gregor authored
a parameter pack, check the parameter pack against each of the template arguments it corresponds to, then pack the converted arguments into a template argument pack. Allows us to use variadic class templates so long as instantiation isn't required, e.g., template<typename... Types> struct Tuple; Tuple<int, float> *t2; llvm-svn: 122251
-
Douglas Gregor authored
area of printing template arguments. The functionality changes here are limited to cases of variadic templates that aren't yet enabled. llvm-svn: 122250
-
Francois Pichet authored
Remove a line: this test is line position sensitive. llvm-svn: 122231
-
Francois Pichet authored
llvm-svn: 122230
-
Francois Pichet authored
XFAIL for now, I'll investigate why later. llvm-svn: 122229
-
Francois Pichet authored
I have no idea how to fix it. llvm-svn: 122227
-
Francois Pichet authored
llvm-svn: 122226
-
Douglas Gregor authored
pack expansions, e.g. given template<typename... Types> struct tuple; template<typename... Types> struct tuple_of_refs { typedef tuple<Types&...> types; }; the type of the "types" typedef is a PackExpansionType whose pattern is Types&. This commit introduces support for creating pack expansions for template type arguments, as above, but not for any other kind of pack expansion, nor for any form of instantiation. llvm-svn: 122223
-