Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74752

Some export macros are not recognized by findclasslist.pl

    XMLWordPrintable

    Details

      Description

      findclasslist.pl has the following regular expression for export macros:

      /^(?:struct|class|namespace) (?:Q_.*_EXPORT)? (\w+)(?!;)/
      

      However some Qt modules use macro names that do not begin with Q_:

      • Qt Charts uses QT_CHARTS_PRIVATE_EXPORT;
      • Qt 3D uses QT3DCORE_PRIVATE_EXPORT, QT3DRENDERSHARED_PRIVATE_EXPORT, etc.;
      • Qt WebEngine uses QWEBENGINECORE_PRIVATE_EXPORT.

      Such macros are not recognized, so the corresponding symbols do not get the Qt_5_PRIVATE_API version tag, they get normal Qt_5 tags as if they were public APIs.

      E.g. I noticed that recently Qt Charts changed signatures for some “supposedly public” methods like QtCharts::ChartAxisElement::createValueLabels, however on further investigation they turned out to be private.

        Attachments

        For Gerrit Dashboard: QTBUG-74752
        # Subject Branch Project Status CR V

          Activity

            People

            • Assignee:
              kkohne Kai Köhne
              Reporter:
              mandriver Dmitry Shachnev
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes