Clang-bugs-at-wip-clang-branch

From Qt Wiki
Revision as of 15:06, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

See also

  • ClangCodeModel plugin has class CXPrettyPrinter that prints clang-c types in JSON-like format. Use it to debug and feel free to improve this class.
  • Clang hacking notes

Clang bugs with known workarounds

  • Sometimes diagnostic message have one empty SourceRange, which breaks SourceLocation-based euristic. Example:
    CXPrettyPrinter reports:

Clang bugs

Links to reported bugs will be attached in future

  • inside lambda, clang doesn’t include mutable (non-const) methods of current class even if ‘this’ was captured by lambda
    Bug: http://llvm.org/bugs/show_bug.cgi?id=15085
    See example, completion requested in point marked with ‘#’ sign
  • Clang does not add virtual functions to proposals list

Poor diagnostic for such code if C++11 disabled

  • clang does not add classes to completion proposals when completing ‘foreach’
  • when declaring variable, variable itself proposed with highest priority. It’s error.
  • Macro completions not added after class keyword
  • Completion with nested names lookup not performed for comparison with enum value
  • Value types completions added where thay shouldn’t be
  • C++11 ‘override’ pseudo-keyword breaks clang_annotateTokens()
  • Poor completion context recognition in template params
  • Clang doesn’t add Informative completion chunk to macro. It better to add macro definition text to informative.
  • Completion stops after asterisk:

Categories: