public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/39985]  New: Type qualifiers not actually ignored on function return type
@ 2009-04-30 23:45 anders at kaseorg dot com
  2009-11-21 12:24 ` [Bug c/39985] " gcc at magfr dot user dot lysator dot liu dot se
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: anders at kaseorg dot com @ 2009-04-30 23:45 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1179 bytes --]

The warning printed with -Wignored-qualifiers (“warning: type qualifiers
ignored on function return type”) seems to be lying.  The const on a function’s
return type is not actually ignored, as can be demonstrated using typeof().  I
think that the warning should be right and the typeof() behavior is wrong, but
I’m not actually sure.

int f(void);
const int g(void);  /* warning: type qualifiers ignored on function return type
*/
typeof(f()) a;
a = 5;
typeof(g()) b;
b = 5;  /* error: assignment of read-only variable ‘b’ */

Another thing that seems similarly strange is that a statement expression can
return a const type, even though it is not an lvalue:

const int x = 5;
typeof( ({ x; }) ) y;
y = 5;  /* error: assignment of read-only variable ‘y’ */


-- 
           Summary: Type qualifiers not actually ignored on function return
                    type
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: anders at kaseorg dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39985


^ permalink raw reply	[flat|nested] 6+ messages in thread
[parent not found: <bug-39985-4@http.gcc.gnu.org/bugzilla/>]

end of thread, other threads:[~2023-05-16 18:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-30 23:45 [Bug c/39985] New: Type qualifiers not actually ignored on function return type anders at kaseorg dot com
2009-11-21 12:24 ` [Bug c/39985] " gcc at magfr dot user dot lysator dot liu dot se
2009-11-22 20:24 ` jsm28 at gcc dot gnu dot org
2009-11-27  7:33 ` anders at kaseorg dot com
     [not found] <bug-39985-4@http.gcc.gnu.org/bugzilla/>
2021-06-12 21:36 ` muecker at gwdg dot de
2023-05-16 18:55 ` mpolacek at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).