This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/81050] New: ICE with -fexec-charset=utf-16


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]