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

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kkohne Kai Köhne
            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