Problem with string initializer

Andreas Schwab schwab@suse.de
Wed Jun 28 11:53:00 GMT 2000


The following input to the C++ compiler will result in an error:

$ cat string.cc
char x[] = {"asdf"};
$ g++ -v string.cc
Reading specs from /usr/local/i686-linux/lib/gcc-lib/i686-linux/2.96/specs
gcc version 2.96 20000628 (experimental)
 /usr/local/i686-linux/lib/gcc-lib/i686-linux/2.96/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__cplusplus -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_pentiumpro__ string.cc /tmp/cczIFUnX.ii
GNU CPP version 2.96 20000628 (experimental) (cpplib)
 (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/i686-linux/include/g++-3
 /usr/local/include
 /usr/local/i686-linux/lib/gcc-lib/i686-linux/2.96/include
 /usr/local/i686-linux/i686-linux/include
 /usr/include
End of search list.
 /usr/local/i686-linux/lib/gcc-lib/i686-linux/2.96/cc1plus /tmp/cczIFUnX.ii -quiet -dumpbase string.cc -version -o /tmp/ccWX9q4P.s
GNU C++ version 2.96 20000628 (experimental) (i686-linux) compiled by GNU C version 2.96 20000628 (experimental).
string.cc:1: initializer-string for array of chars is too long

The error does not occur if the braces are omitted.

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg


More information about the Gcc-bugs mailing list