https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104734

            Bug ID: 104734
           Summary: -isystem hides -Woverloaded-virtual warning
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: albert.astals.cid at kdab dot com
  Target Milestone: ---

I have a class that inherits from a class that is a system header.

The system header class has

virtual bool edit(const QModelIndex &index, EditTrigger trigger, QEvent
*event);

my class has

bool edit(const QModelIndex &index, int editDay);

when compiling with -I to add include paths i get

In file included from /usr/include/qt/QtWidgets/qtreeview.h:44,
                 from /usr/include/qt/QtWidgets/QTreeView:1,
                 from
/home/tsdgeos/kdab/private/KDABViewer/Widgets/TimelineWidget.h:4,
                 from
/home/tsdgeos/kdab/private/KDABViewer/Widgets/TimelineWidget.cpp:1:
/usr/include/qt/QtWidgets/qabstractitemview.h:297:18: warning: ‘virtual bool
QAbstractItemView::edit(const QModelIndex&, QAbstractItemView::EditTrigger,
QEvent*)’ was hidden [-Woverloaded-virtual]
  297 |     virtual bool edit(const QModelIndex &index, EditTrigger trigger,
QEvent *event);
      |                  ^~~~
In file included from
/home/tsdgeos/kdab/private/KDABViewer/Widgets/TimelineWidget.cpp:1:
/home/tsdgeos/kdab/private/KDABViewer/Widgets/TimelineWidget.h:66:10: note:  
by ‘bool TimelineWidget::edit(const QModelIndex&, int)’
   66 |     bool edit(const QModelIndex &index, int editDay);
      |          ^~~~

but if instead of -I i use -isystem the warning is gone.

This feels wrong since the warning is about my code, not about the system
include code.

Reply via email to