Skip to content
Snippets Groups Projects
  1. Feb 20, 2014
  2. Feb 13, 2014
  3. Feb 10, 2014
  4. Jan 17, 2014
  5. Jan 12, 2014
  6. Jan 07, 2014
  7. Jan 06, 2014
  8. Jan 01, 2014
    • Alp Toker's avatar
      ExpectAndConsume: Diagnose errors automatically · ca70f4fa
      Alp Toker authored
       1) Teach ExpectAndConsume() to emit expected and expected-after diagnostics
          using the generic diagnostic descriptions added in r197972, eliminating another
          set of trivial err_expected_* variations while maintaining existing behaviour.
      
       2) Lift SkipUntil() recovery out of ExpectAndConsume(). The Expect/Consume
          family of functions are primitive parser operations that now have the
          well-defined property of operating on single tokens. Factoring out recovery
          exposes opportunities for more consistent and tailored error recover at the
          call sites instead of just relying on a bottled SkipUntil formula.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198270 91177308-0d34-0410-b5e6-96231b3b80d8
      ca70f4fa
  9. Dec 31, 2013
  10. Dec 24, 2013
    • Alp Toker's avatar
      Support and use token kinds as diagnostic arguments · af9a02c0
      Alp Toker authored
      Introduce proper facilities to render token spellings using the diagnostic
      formatter.
      
      Replaces most of the hard-coded diagnostic messages related to expected tokens,
      which all shared the same semantics but had to be multiply defined due to
      variations in token order or quote marks.
      
      The associated parser changes are largely mechanical but they expose
      commonality in whole chunks of the parser that can now be factored away.
      
      This commit uses C++11 typed enums along with a speculative legacy fallback
      until the transition is complete.
      
      Requires corresponding changes in LLVM r197895.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197972 91177308-0d34-0410-b5e6-96231b3b80d8
      af9a02c0
  11. Dec 12, 2013
    • Alp Toker's avatar
      Unify type trait parsing · 0e869433
      Alp Toker authored
      Type trait parsing is all over the place at the moment with unary, binary and
      n-ary C++11 type traits that were developed independently at different points
      in clang's history.
      
      There's no good reason to handle them separately -- there are three parsers,
      three AST nodes and lots of duplicated handling code with slightly different
      implementations and diags for each kind.
      
      This commit unifies parsing of type traits and sets the stage for further
      consolidation.
      
      No change in behaviour other than more consistent error recovery.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197179 91177308-0d34-0410-b5e6-96231b3b80d8
      0e869433
  12. Dec 09, 2013
    • Alp Toker's avatar
      Make the -Wkeyword-compat diag message more accurate · de7d960b
      Alp Toker authored
      Changed from:
      
        keyword '__is_empty' will be treated as an identifier for the remainder of the translation unit
      
      To:
      
        keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit
      
      This is a more accurate description of clang's keyword compatibility feature,
      given that some of the keywords are turned into context-sensitive keywords
      (e.g. REVERTIBLE_TYPE_TRAIT) rather than being fully disabled.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196776 91177308-0d34-0410-b5e6-96231b3b80d8
      de7d960b
  13. Dec 04, 2013
  14. Dec 03, 2013
    • Alp Toker's avatar
      Emit an extension warning when changing system header tokens · 67c68060
      Alp Toker authored
      clang converts keywords to identifiers for compatibility with various system
      headers such as GNU libc.
      
      Implement a -Wkeyword-compat extension warning to diagnose those cases. The
      warning is on by default but will generally be ignored in system headers. It
      can however be enabled globally to aid standards conformance testing.
      
      This also changes the __uptr keyword avoidance from r195710 to no longer
      special-case system headers, bringing it in line with other similar workarounds
      in clang.
      
      Implementation returns bool for symmetry with token annotation functions.
      
      Some examples:
      
      warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat]
      struct __is_pod
      
      warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat]
      union w *__uptr;
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196212 91177308-0d34-0410-b5e6-96231b3b80d8
      67c68060
  15. Nov 16, 2013
  16. Nov 15, 2013
  17. Nov 09, 2013
  18. Nov 05, 2013
  19. Nov 04, 2013
    • Kaelyn Uhrain's avatar
      Try to correct a mistyped "-" or ">" to "->" for some C++ cases. · b3e27722
      Kaelyn Uhrain authored
      Similar C code isn't caught as it seems to hit a different code path.
      Also, as the check is only done for record pointers, cases involving
      an overloaded operator-> are not handled either. Note that the reason
      this check is done in the parser instead of Sema is not related to
      having enough knowledge about the current state as it is about being
      able to fix up the parser's state to be able to recover and traverse the
      correct code paths.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194002 91177308-0d34-0410-b5e6-96231b3b80d8
      b3e27722
  20. Nov 02, 2013
  21. Oct 31, 2013
  22. Oct 30, 2013
  23. Oct 18, 2013
  24. Oct 15, 2013
  25. Oct 09, 2013
  26. Oct 08, 2013
  27. Sep 04, 2013
  28. Aug 21, 2013
  29. Aug 06, 2013
  30. Jul 23, 2013
Loading