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.