GNU bug report logs - #40671
[DOC] modify literal objects

Previous Next

Package: emacs;

Reported by: Kevin Vigouroux <ke.vigouroux <at> laposte.net>

Date: Thu, 16 Apr 2020 20:40:02 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: ke.vigouroux <at> laposte.net, eggert <at> cs.ucla.edu, 40671 <at> debbugs.gnu.org, michael_heerdegen <at> web.de, mattiase <at> acm.org, rms <at> gnu.org
Subject: bug#40671: [DOC] modify literal objects
Date: Sun, 26 Apr 2020 17:34:56 +0300
On 26.04.2020 17:19, Eli Zaretskii wrote:
> Did you try compiling that as a C program, not a C++ program?

As C++.

From what I understand, in C string literals are not "const", it's just 
UB to modify them.

> but even that goes away if I modify the program as follows:
> 
>    #include <string.h>
>    int main (void) { return !strcpy ((char *)"a", "b"); }

If you go out of your way to avoid warnings, then indeed, the compiler 
won't show them.

And typecasts are an easy way to turn compilation errors into runtime 
errors, in general.




This bug report was last modified 5 years and 3 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.