This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/81636] New: Confusing warning message containing "#‘obj_type_ref’ not supported by expression#"
- From: "abbeyj+gcc at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 31 Jul 2017 18:20:32 +0000
- Subject: [Bug c++/81636] New: Confusing warning message containing "#‘obj_type_ref’ not supported by expression#"
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81636
Bug ID: 81636
Summary: Confusing warning message containing "#‘obj_type_ref’
not supported by expression#"
Product: gcc
Version: 7.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: abbeyj+gcc at gmail dot com
Target Milestone: ---
This occurs with any version of GCC that I've tried that recognizes -std=c++11.
It seems to affect all versions v4.7.1 through v7.1 according to
https://gcc.godbolt.org/
Test case:
class C {
virtual int MyVirtual();
void Foo();
};
void C::Foo() {
int x{ MyVirtual() / 2.0 };
}
$ g++-4.9.4 -std=c++11 -c test.cpp
test.cpp: In member function ‘void C::Foo()’:
test.cpp:7:22: warning: narrowing conversion of ‘((double)(#‘obj_type_ref’ not
supported by expression#)(this) / 2.0e+0)’ from ‘double’ to ‘int’ inside { }
[-Wnarrowing]
int x{ MyVirtual() / 2.0 };
^
I believe that GCC is correct to issue a warning here. But the text of the
warning message is not friendly, especially the "#‘obj_type_ref’ not supported
by expression#" part.