This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/81050] New: ICE with -fexec-charset=utf-16
- From: "gerald at pfeifer dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 10 Jun 2017 21:33:51 +0000
- Subject: [Bug c/81050] New: ICE with -fexec-charset=utf-16
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81050
Bug ID: 81050
Summary: ICE with -fexec-charset=utf-16
Product: gcc
Version: 7.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: gerald at pfeifer dot com
Target Milestone: ---
Compiling
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n",sizeof(a));
printf("Size of char : %d\n",sizeof('a'));
return 0;
}
with gcc x.c -o x -fexec-charset=utf-16 results in
x.c: In function ‘main’:
x.c:4:16: warning: multi-character character constant [-Wmultichar]
char a = 'a';
^~~
x.c:4:16: warning: overflow in implicit constant conversion [-Woverflow]
x.c:6:43: warning: multi-character character constant [-Wmultichar]
printf("Size of char : %d\n",sizeof('a'));
^~~
x.c:8:0: internal compiler error: character 0xa is not unibyte in execution
character set
}
This has two issues:
1. The ICE.
2. The trailing } on a line of its own.
This is with GCC 7.1.1 on x86_64-suse-linux; similarly was reported with
GCC 5.