Skip to content
  1. Nov 24, 2010
    • John McCall's avatar
      Add -cc1 -ast-dump-xml, an excessively detailed XML dump of the internals · 9b66c4bb
      John McCall authored
      of the ASTs.  Only available in assertions builds.  No stability guarantee.
      
      This is intended solely as a debugging tool.  I'm not sure if the goals
      are sufficiently aligned with the XML printer to allow a common
      implementation.
      
      Currently just falls back on the StmtDumper to display statements,
      which means it doesn't produce valid XML in those cases.
      
      llvm-svn: 120088
      9b66c4bb
  2. Sep 14, 2010
  3. Sep 10, 2010
  4. Sep 08, 2010
  5. Aug 19, 2010
    • Alexis Hunt's avatar
      Generate Attr subclasses with TableGen. · dcfba7b3
      Alexis Hunt authored
      Now all classes derived from Attr are generated from TableGen.
      Additionally, Attr* is no longer its own linked list; SmallVectors or
      Attr* are used. The accompanying LLVM commit contains the updates to
      TableGen necessary for this.
      
      Some other notes about newly-generated attribute classes:
      
       - The constructor arguments are a SourceLocation and a Context&,
         followed by the attributes arguments in the order that they were
         defined in Attr.td
      
       - Every argument in Attr.td has an appropriate accessor named getFoo,
         and there are sometimes a few extra ones (such as to get the length
         of a variadic argument).
      
      Additionally, specific_attr_iterator has been introduced, which will
      iterate over an AttrVec, but only over attributes of a certain type. It
      can be accessed through either Decl::specific_attr_begin/end or
      the global functions of the same name.
      
      llvm-svn: 111455
      dcfba7b3
  6. Aug 16, 2010
  7. Jun 28, 2010
    • Sebastian Redl's avatar
      Introduce Expr::Classify and Expr::ClassifyModifiable, which determine the... · f9463106
      Sebastian Redl authored
      Introduce Expr::Classify and Expr::ClassifyModifiable, which determine the classification of an expression under the C++0x taxology (value category). Reimplement isLvalue and isModifiableLvalue using these functions. No regressions in the test suite from this, and my rough performance check doesn't show any regressions either.
      
      llvm-svn: 107007
      f9463106
  8. Jun 17, 2010
  9. May 30, 2010
    • Alexis Hunt's avatar
      Convert DeclNodes to use TableGen. · ed05325d
      Alexis Hunt authored
      The macros required for DeclNodes use have changed to match the use of
      StmtNodes. The FooFirst enumerator constants have been named firstFoo
      to match usage elsewhere.
      
      llvm-svn: 105165
      ed05325d
  10. May 05, 2010
  11. Mar 22, 2010
  12. Mar 11, 2010
  13. Mar 08, 2010
  14. Feb 09, 2010
  15. Feb 05, 2010
  16. Jan 10, 2010
  17. Dec 23, 2009
  18. Dec 18, 2009
  19. Dec 16, 2009
  20. Nov 10, 2009
  21. Oct 29, 2009
  22. Oct 06, 2009
  23. Aug 19, 2009
  24. Jul 28, 2009
  25. Jul 19, 2009
  26. Jul 16, 2009
  27. Jul 15, 2009
  28. Jul 06, 2009
  29. Jun 14, 2009
  30. May 30, 2009
  31. May 21, 2009
  32. Apr 22, 2009
  33. Apr 01, 2009
  34. Mar 28, 2009
  35. Mar 19, 2009
    • Douglas Gregor's avatar
      Introduce a representation for types that we referred to via a · 5253768a
      Douglas Gregor authored
      qualified name, e.g., 
      
        foo::x
      
      so that we retain the nested-name-specifier as written in the source
      code and can reproduce that qualified name when printing the types
      back (e.g., in diagnostics). This is PR3493, which won't be complete
      until finished the other tasks mentioned near the end of this commit.
      
      The parser's representation of nested-name-specifiers, CXXScopeSpec,
      is now a bit fatter, because it needs to contain the scopes that
      precede each '::' and keep track of whether the global scoping
      operator '::' was at the beginning. For example, we need to keep track
      of the leading '::', 'foo', and 'bar' in
       
        ::foo::bar::x
      
      The Action's CXXScopeTy * is no longer a DeclContext *. It's now the
      opaque version of the new NestedNameSpecifier, which contains a single
      component of a nested-name-specifier (either a DeclContext * or a Type
      *, bitmangled). 
      
      The new sugar type QualifiedNameType composes a sequence of
      NestedNameSpecifiers with a representation of the type we're actually
      referring to. At present, we only build QualifiedNameType nodes within
      Sema::getTypeName. This will be extended to other type-constructing
      actions (e.g., ActOnClassTemplateId).
      
      Also on the way: QualifiedDeclRefExprs will also store a sequence of
      NestedNameSpecifiers, so that we can print out the property
      nested-name-specifier. I expect to also use this for handling
      dependent names like Fibonacci<I - 1>::value.
      
      llvm-svn: 67265
      5253768a
Loading