[llvm-bugs] [Bug 48749] New: clang allows goto inside statement expr
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jan 14 06:26:52 PST 2021
https://bugs.llvm.org/show_bug.cgi?id=48749
Bug ID: 48749
Summary: clang allows goto inside statement expr
Product: clang
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: nbkolchin at gmail.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
neeilans at live.com, richard-llvm at metafoo.co.uk
The following obviously incorrect program compiles without error under clang
and clang++:
#include <stdio.h>
int main(int argc, char** argv)
{
goto L_bug;
printf("%s, %s %s\n", "Hello", ({ L_bug: ; "world!";}), "What?");
}
gcc produces error: "error: jump into statement expression". g++ accepts this
code. (gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98682)
Tested clang versions: 11.0.0 and "Apple clang version 12.0.0
(clang-1200.0.32.28)".
This behaviour contradicts with documentation: "Jumping into a statement
expression with goto or using a switch statement outside the statement
expression with a case or default label inside the statement expression is not
permitted."
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210114/9f983a1f/attachment-0001.html>
More information about the llvm-bugs
mailing list