Article View: pl.comp.lang.c
Article #309886Re: W której wersji standardu C lub C++ pracujecie?
From: Wojciech Muła
Date: Sat, 10 Aug 2019 06:59
Date: Sat, 10 Aug 2019 06:59
31 lines
2402 bytes
2402 bytes
On Tuesday, August 6, 2019 at 3:05:37 PM UTC+2, Maciek Godek wrote:
> To ważne, bo ani -Wall ani nawet -Wextra w GCC nie wyłapie czegoś takiego:
>
> uint32_t f() {
> return JAKAŚ_DUŻA_WARTOŚĆ;
> }
>
> uint16_t x = f();
>
> (co uważam że jest skandaliczne i byłem w szoku jak to odkryłem. Zresztą nadal jestem w szoku)
Zgłosiłeś buga w GCC?
> [...]
> Od C++ wolę się trzymać z daleka.
Ciekawostka
--- test.cpp ---
#include <cstdint>
constexpr uint32_t f() { return 0x0fffffff; }
int main() { uint16_t x = f(); }
--- eof ---
$ g++ -std=c++11 test.cpp
test.cpp: In function ‘int main()’:
test.cpp:3:28: warning: conversion from ‘uint32_t’ {aka ‘unsigned int’} to ‘uint16_t’ {aka ‘short unsigned int’} changes value from ‘268435455’ to ‘65535’ [-Woverflow]
uint16_t x = f();
~^~
w.
Technical Details
Message-ID:
<cd3b2a14-7e9e-4219-b51f-d94ccef1b42b@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!b26no5910207qtq.0!news-out.google.com!d29ni188qtg.1!nntp.google.com!b26no5910206qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<a1fbe21b-aed9-4b32-9691-a824c4e31a21@trust.no1> <3f1215b5-3c16-4248-a74f-1b57d21d4c98@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:ae9:f804:: with SMTP id x4mr19741110qkh.178.1565420367373; Fri, 09 Aug 2019 23:59:27 -0700 (PDT) X-Received: by 2002:a81:3d82:: with SMTP id k124mr13606601ywa.193.1565420367019; Fri, 09 Aug 2019 23:59:27 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!b26no5910207qtq.0!news-out.google.com!d29ni188qtg.1!nntp.google.com!b26no5910206qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Fri, 9 Aug 2019 23:59:26 -0700 (PDT) In-Reply-To: <3f1215b5-3c16-4248-a74f-1b57d21d4c98@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=217.97.107.19; posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn NNTP-Posting-Host: 217.97.107.19 References: <a1fbe21b-aed9-4b32-9691-a824c4e31a21@trust.no1> <3f1215b5-3c16-4248-a74f-1b57d21d4c98@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <cd3b2a14-7e9e-4219-b51f-d94ccef1b42b@googlegroups.com> Subject: Re: W której wersji standardu C lub C++ pracujecie? From: Wojciech Muła <wojciech_mula@poczta.onet.pl> Injection-Date: Sat, 10 Aug 2019 06:59:27 +0000 Lines: 35 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit