Skip to content

Coverity Scan parsing errors #39

@DrMcCoy

Description

@DrMcCoy

Coverity Scan seems to choke on a few of Verdigris constructions, entirely skipping certain compilation units with a "Unrecoverable parse warning (PARSE_ERROR)" note.

The repository in question is https://github.com/xoreos/phaethon , the Coverity Scan page is https://scan.coverity.com/projects/xoreos-phaethon (the issues themselves aren't viewable without registering and poking me for access to that project, though). We're using Verdigris from git commit 11ee05b.

Below is a copy of the issues.

  • wobjectdefs.h:264, the w_number template: "incomplete_type_not_allowed: incomplete type is not allowed", during a W_SIGNAL() ('during instantiation of class "w_internal::w_number [with N=]"') in my src/gui/panelresource.h:64.
  • "auto_variable_in_own_initializer: a variable declared with an auto type specifier cannot appear in its own initializer", during multiple instances of W_OBJECT_IMPL() (for example my src/gui/panelpreviewsound.cpp:35).
  • "no_user_defined_conversion: no suitable user-defined conversion from "w_internal::w_number<255>" to "w_internal::w_number<0>" exists", during a W_SIGNAL() in my src/gui/panelresourceinfo.h:61.
  • "no_matching_function: no instance of "w_SignalState" matches the argument list
    2", "argument_list_types_add_on: argument types are: (w_internal::w_number<255>, GUI::PanelResourceInfo::W_ThisType **)" in my src/gui/panelresourceinfo.h:64.

I'll gladly try to provide more information if you need it, but Coverity Scan itself doesn't give me more, I think.

Neither gcc nor clang, neither locally nor on Travis CI, seem to have a problem with the code, only Coverity Scan throws there. The scan build itself was build on Travis CI with gcc and uploaded to Coverity Scan by the Travis VM.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions