This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/64431] New: "-Wignored-qualifiers" warning gives misleading position in code
- From: "rutsky.vladimir at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 28 Dec 2014 22:02:40 +0000
- Subject: [Bug c++/64431] New: "-Wignored-qualifiers" warning gives misleading position in code
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64431
Bug ID: 64431
Summary: "-Wignored-qualifiers" warning gives misleading
position in code
Product: gcc
Version: 4.9.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rutsky.vladimir at gmail dot com
"type qualifiers ignored on function return type" warning doesn't point in
"const" that is being ignored, but instead it points to function arguments or
function qualifiers.
Consider following example:
$ cat ignored_qualifiers.cpp
struct C
{
const int f1();
const int f2(float);
const int f3(char *, int);
const int f4() volatile const;
const int f5() const volatile;
};
const int f6();
const int f7(float);
const int f8(char *, int);
$ g++-4.9 -c -Wignored-qualifiers ignored_qualifiers.cpp
ignored_qualifiers.cpp:3:18: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f1();
^
ignored_qualifiers.cpp:4:23: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f2(float);
^
ignored_qualifiers.cpp:5:29: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f3(char *, int);
^
ignored_qualifiers.cpp:6:29: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f4() volatile const;
^
ignored_qualifiers.cpp:7:26: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f5() const volatile;
^
ignored_qualifiers.cpp:10:14: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f6();
^
ignored_qualifiers.cpp:11:19: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f7(float);
^
ignored_qualifiers.cpp:12:25: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f8(char *, int);
^
Expected behavior: the warning should point on "const" in the return value of a
funtion.
For example:
ignored_qualifiers.cpp:7:26: warning: type qualifiers ignored on function
return type [-Wignored-qualifiers]
const int f5() const volatile;
^
$ g++-4.9 --version
g++-4.9 (Ubuntu 4.9.2-0ubuntu1~14.04) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.