- Sep 01, 2010
-
-
Douglas Gregor authored
three different kinds of AST nodes to represent using declarations: UsingDecl, UnresolvedUsingValueDecl, and UnresolvedUsingTypenameDecl. These three are collapsed into a single cursor kind for using declarations, since libclang clients don't need the distinction. Several related changes here: - Cursor visitation of the three AST nodes for using declarations - Proper source-range computation for these AST nodes - Using declarations have no USRs, since they don't actually declare any entities. llvm-svn: 112730
-
Fariborz Jahanian authored
a c++ class object 'ivar'. Fixes radar 8366604. llvm-svn: 112729
-
Benjamin Kramer authored
llvm-svn: 112718
-
Douglas Gregor authored
llvm-svn: 112715
-
Chris Lattner authored
in PR8049 llvm-svn: 112710
-
Chris Lattner authored
a "to match this {" note, pointing out the opener. llvm-svn: 112709
-
Douglas Gregor authored
suppressing USRs). Also, fix up the source location information for using directives so that the declaration location refers to the namespace name. llvm-svn: 112693
-
Ted Kremenek authored
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is needed to maintain the lexical information of the original source. Fixes <rdar://problem/8380046>. llvm-svn: 112691
-
rdar://8360877Chris Lattner authored
caused by my ABI work. Passing: struct outer { int x; struct epsilon_matcher {} e; int f; }; as {i32,i32} isn't safe, because the offset of the second element needs to be at 8 when it is interpreted as a memory value. llvm-svn: 112686
-
Chris Lattner authored
llvm-svn: 112684
-
Chris Lattner authored
llvm-svn: 112683
-
Douglas Gregor authored
aliases. Previously, the location of the alias was at the "namespace" keyword. Now, it's on the identifier being declared (as is the custom for Clang), and we keep a separate source location for the "namespace" keyword. Also, added a getSourceRange() member function to NamespaceAliasDecl to correctly compute the source range. Finally, removed a bunch of setters from NamespaceAliasDecl and gave ASTReaderDecl friendship so that it could set the corresponding fields directly. llvm-svn: 112681
-
Fariborz Jahanian authored
llvm-svn: 112680
-
Fariborz Jahanian authored
in wide strings. radar 8360841. llvm-svn: 112672
-
Sebastian Redl authored
llvm-svn: 112671
-
Anton Korobeynikov authored
llvm-svn: 112663
-
- Aug 31, 2010
-
-
John McCall authored
member-pointer refactoring: dereferencing a member data pointer. llvm-svn: 112640
-
Sebastian Redl authored
Make inline namespace not be transparent after all. The concept simply doesn't fit. Instead, special-case the few places where transparent contexts have the desired behavior for inline namespaces. Fixes a redeclaration issue in inline namespaces. llvm-svn: 112637
-
Ted Kremenek authored
llvm-svn: 112619
-
Ted Kremenek authored
Explicitly handle CXXOperatorCallExpr when building CFGs. We should treat it the same as CallExprs. Fixes: <rdar://problem/8375510> [Boost] CFGBuilder crash in Boost.Graph llvm-svn: 112618
-
Fariborz Jahanian authored
This is also pr7726 and wip. No change in functionality at this time. llvm-svn: 112612
-
Douglas Gregor authored
libclang. This includes: - Cursor kind for function templates, with visitation logic - Cursor kinds for template parameters, with visitation logic - Visitation logic for template specialization types, qualified type locations - USR generation for function templates, template specialization types, template parameter types. Also happens to fix PR7804, which I tripped across while testing. llvm-svn: 112604
-
Chris Lattner authored
llvm-svn: 112603
-
Chris Lattner authored
patch by Francois Pichet! llvm-svn: 112602
-
John McCall authored
under the ARM ABI. llvm-svn: 112588
-
Chandler Carruth authored
terrible, FIXME left to do a proper job of diagnosing this. llvm-svn: 112581
-
Douglas Gregor authored
llvm-svn: 112580
-
Douglas Gregor authored
declaration send or a variadic function call, collapse the ", ..." into the parameter before it, so that we don't get a second placeholder. llvm-svn: 112579
-
Douglas Gregor authored
Teach the CFGBuilder not do die on CXXBindTemporaryExpr, CXXOperatorCallExpr. Fixes a Boost.Graph crasher. llvm-svn: 112578
-
Sebastian Redl authored
llvm-svn: 112577
-
Ted Kremenek authored
llvm-svn: 112569
-
Sebastian Redl authored
llvm-svn: 112566
-
Sebastian Redl authored
Add a forgotten place where the enclosing namespace set matters, plus a big testcase for inline namespace fun. llvm-svn: 112565
-
Sebastian Redl authored
llvm-svn: 112564
-
Sebastian Redl authored
Rename DeclContext::getLookupContext to getRedeclContext and change its semantics slightly. No functionality change in the absence of inline namespaces. Also, change a few places where inline namespaces actually make a difference to be prepared for them. llvm-svn: 112563
-
Sebastian Redl authored
Decl::getEnclosingNamespaceContext has no reason to explicitly skip transparent contexts, and would be wrong to do so with inline namespaces. llvm-svn: 112562
-
Douglas Gregor authored
instantiating the parameters. In a perfect world, this wouldn't matter, and compilers are free to instantiate in any order they want. However, every other compiler seems to instantiate the return type first, and some code (in this case, Boost.Polygon) depends on this and SFINAE to avoid instantiating something that shouldn't be instantiated. We could fight this battle, and insist that Clang is allowed to do what it does, but it's not beneficial: it's more predictable to instantiate this way, in source order. When we implement late-specified return types, we'll need to instantiate the return type last when it was late-specified, hence the FIXME. We now compile Boost.Polygon properly. llvm-svn: 112561
-
Douglas Gregor authored
llvm-svn: 112552
-
Douglas Gregor authored
of that parameter, reduce the level by the number of active template argument lists rather than by 1. The number of active template argument lists is only > 1 when we have a class template partial specialization of a member template of a class template that itself is a member template of another class template. ... and Boost.MSM does this. Fixes PR7669. llvm-svn: 112551
-
Chris Lattner authored
llvm-svn: 112549
-