Skip to content
  1. Nov 10, 2009
    • Ted Kremenek's avatar
      Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses... · f9a28abe
      Ted Kremenek authored
      Make -Wsemicolon-before-method-body opt-in (and part of -Wextra).  Addresses <rdar://problem/7381735>.
      
      llvm-svn: 86731
      f9a28abe
    • Benjamin Kramer's avatar
      Silence warning. · 2c9a91c2
      Benjamin Kramer authored
      llvm-svn: 86719
      2c9a91c2
    • Douglas Gregor's avatar
      Improve parsing of template arguments to lay the foundation for · b53edfb8
      Douglas Gregor authored
      handling template template parameters properly. This refactoring:
      
        - Parses template template arguments as id-expressions, representing
          the result of the parse as a template name (Action::TemplateTy)
          rather than as an expression (lame!).
      
        - Represents all parsed template arguments via a new parser-specific
          type, ParsedTemplateArgument, which stores the kind of template
          argument (type, non-type, template) along with all of the source
          information about the template argument. This replaces an ad hoc
          set of 3 vectors (one for a void*, which was either a type or an
          expression; one for a bit telling whether the first was a type or
          an expression; and one for a single source location pointing at
          the template argument).
      
        - Moves TemplateIdAnnotation into the new Parse/Template.h. It never
          belonged in the Basic library anyway.
      
      llvm-svn: 86708
      b53edfb8
  2. Nov 09, 2009
  3. Nov 07, 2009
  4. Nov 06, 2009
  5. Nov 05, 2009
  6. Nov 04, 2009
  7. Nov 03, 2009
  8. Oct 30, 2009
  9. Oct 29, 2009
  10. Oct 25, 2009
  11. Oct 23, 2009
  12. Oct 22, 2009
  13. Oct 20, 2009
  14. Oct 18, 2009
  15. Oct 17, 2009
  16. Oct 14, 2009
    • Douglas Gregor's avatar
      Improve diagnostics when the parser encounters a declarator with an · 15e5602e
      Douglas Gregor authored
      unknown type name, e.g.,
      
        foo::bar x;
      
      when "bar" does not refer to a type in "foo". 
      
      With this change, the parser now calls into the action to perform
      diagnostics and can try to recover by substituting in an appropriate
      type. For example, this allows us to easily diagnose some missing
      "typename" specifiers, which we now do:
      
        test/SemaCXX/unknown-type-name.cpp:29:1: error: missing 'typename'
              prior to dependent type name 'A<T>::type'
        A<T>::type A<T>::f() { return type(); }
        ^~~~~~~~~~
        typename 
      
      Fixes PR3990.
      
      llvm-svn: 84053
      15e5602e
Loading