[llvm-bugs] [Bug 44753] New: Doxygen bug breaks static analyzer CallEvent docs

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Feb 1 23:25:08 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=44753

            Bug ID: 44753
           Summary: Doxygen bug breaks static analyzer CallEvent docs
           Product: Documentation
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Doxygen
          Assignee: unassignedbugs at nondot.org
          Reporter: nicolas.alvarez at gmail.com
                CC: llvm-bugs at lists.llvm.org

In include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:561 there is
this doc comment:

/// Represents a call to a block.
///
/// Example: <tt>^{ /* ... */ }()</tt>
class BlockCall : public CallEvent {

This unfortunately triggers a bug in Doxygen where it thinks the */ is closing
the documentation comment, and the } is closing the ento namespace. This breaks
a lot of things in the generated documentation:
- BlockCall and *all the classes that follow* appear in the clang namespace
rather than clang::ento
- clang::CXXInstanceCall, clang::CXXAllocatorCall, etc (in the wrong namespace)
inherit from some unknown AnyFunctionCall that Doxygen can't find, so it also
doesn't know the inheritance chain continues up to clang::ento::CallEvent.

See https://clang.llvm.org/doxygen/classAnyFunctionCall.html

I found that this bug is already fixed in Doxygen 1.8.16:
https://github.com/doxygen/doxygen/commit/8e96d9c994e18626cd6f00ea875c7cab1d7502c4

There's two possible fixes. Either switch to Doxygen >= 1.8.16 on the server
that generates the online documentation, or change that example line to not use
comments:

/// Example: <tt>^{ code; }()</tt>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200202/55d3221b/attachment.html>


More information about the llvm-bugs mailing list