Bug 42569

Summary: [4.5 Regression] ICE in cp_parser_parenthesized_expression_list at cp/parser.c
Product: gcc Reporter: Ryan Hill <rhill>
Component: c++Assignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED DUPLICATE    
Severity: normal CC: debian-gcc, fang, gcc-bugs, jason, manu, rhill
Priority: P3 Keywords: error-recovery, ice-on-invalid-code
Version: 4.5.0   
Target Milestone: 4.5.0   
Host: Target:
Build: Known to work: 4.4.2
Known to fail: Last reconfirmed: 2010-01-12 16:23:20
Attachments: delta-reduced testcase
gstapev2mux.ii.bz2

Description Ryan Hill 2010-01-01 00:37:08 UTC
while building gst-plugins-taglib-0.10.17:

gstapev2mux.cc: In function 'void add_one_tag(const GstTagList*, const gchar*, void*)':
gstapev2mux.cc:118:62: error: cannot call constructor 'TagLib::String::String' directly
gstapev2mux.cc:118:62: note: for a function-style cast, remove the redundant '::String'
gstapev2mux.cc:127:62: error: cannot call constructor 'TagLib::String::String' directly
gstapev2mux.cc:127:62: note: for a function-style cast, remove the redundant '::String'
gstapev2mux.cc:127:62: error: no matching function for call to 'TagLib::String::String(char*&, TagLib::String::Type, char*&, TagLib::String::Type)'
/usr/include/taglib/tstring.h:164:5: note: candidates are: TagLib::String::String(const TagLib::ByteVector&, TagLib::String::Type)
/usr/include/taglib/tstring.h:156:5: note:                 TagLib::String::String(const char*, TagLib::String::Type)
/usr/include/taglib/tstring.h:147:5: note:                 TagLib::String::String(wchar_t, TagLib::String::Type)
/usr/include/taglib/tstring.h:142:5: note:                 TagLib::String::String(char, TagLib::String::Type)
/usr/include/taglib/tstring.h:134:5: note:                 TagLib::String::String(const wchar_t*, TagLib::String::Type)
/usr/include/taglib/tstring.h:129:5: note:                 TagLib::String::String(const TagLib::wstring&, TagLib::String::Type)
/usr/include/taglib/tstring.h:124:5: note:                 TagLib::String::String(const std::string&, TagLib::String::Type)
/usr/include/taglib/tstring.h:116:5: note:                 TagLib::String::String(const TagLib::String&)
/usr/include/taglib/tstring.h:109:5: note:                 TagLib::String::String()
gstapev2mux.cc:136:44: internal compiler error: vector VEC(tree,base) push domain error, in cp_parser_parenthesized_expression_list at cp/parser.c:5326

Changing the code as the notes suggest allows it to compile, but it shouldn't ICE in any case.

4.4.2 works.

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-unknown-linux-gnu/gcc-bin/4.5.0-pre9999/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0-pre9999/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.5.0_pre9999/work/gcc-4.5.0-9999/configure --prefix=/usr --bindir=/usr/x86_64-unknown-linux-gnu/gcc-bin/4.5.0-pre9999 --includedir=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.0-pre9999/include --datadir=/usr/share/gcc-data/x86_64-unknown-linux-gnu/4.5.0-pre9999 --mandir=/usr/share/gcc-data/x86_64-unknown-linux-gnu/4.5.0-pre9999/man --infodir=/usr/share/gcc-data/x86_64-unknown-linux-gnu/4.5.0-pre9999/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.0-pre9999/include/g++-v4 --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --disable-nls --with-system-zlib --disable-checking --disable-werror --enable-secureplt --enable-multilib --disable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/x86_64-unknown-linux-gnu/4.5.0-pre9999/python --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo SVN' --enable-lto --enable-checking
Thread model: posix
gcc version 4.5.0-pre9999 20091230 (experimental) rev. 155514 (Gentoo SVN)
Comment 1 Ryan Hill 2010-01-01 00:38:10 UTC
Created attachment 19434 [details]
delta-reduced testcase
Comment 2 Richard Biener 2010-01-01 14:02:07 UTC
Can you attach the original unreduced testcase?  With trunk I get

t.ii:6:109: error: 'guint' has not been declared
t.ii:6:128: error: 'GValue' has not been declared
t.ii:6:143: error: 'GParamSpec' has not been declared
t.ii:7:109: error: 'guint' has not been declared
....
t.ii:122:49: error: 'gst_apev2_mux_debug' was not declared in this scope
t.ii:122:205: error: 'gst_debug_log' was not declared in this scope
virtual memory exhausted: Cannot allocate memory
Comment 3 Ryan Hill 2010-01-01 22:18:43 UTC
Created attachment 19440 [details]
gstapev2mux.ii.bz2
Comment 4 Richard Biener 2010-01-12 16:23:20 UTC
Confirmed for the unreduced testcase.

> ./cc1plus -quiet gstagev2mux.ii  -fpermissive
gstapev2mux.cc: In function 'void add_one_tag(const GstTagList*, const gchar*, void*)':
gstapev2mux.cc:118:62: warning: cannot call constructor 'TagLib::String::String' directly
gstapev2mux.cc:118:62: note: for a function-style cast, remove the redundant '::String'
gstapev2mux.cc:127:62: warning: cannot call constructor 'TagLib::String::String' directly
gstapev2mux.cc:127:62: note: for a function-style cast, remove the redundant '::String'
gstapev2mux.cc:127:62: error: no matching function for call to 'TagLib::String::String(char*&, TagLib::String::Type, char*&, TagLib::String::Type)'
/usr/include/taglib/tstring.h:164:5: note: candidates are: TagLib::String::String(const TagLib::ByteVector&, TagLib::String::Type)
/usr/include/taglib/tstring.h:156:5: note:                 TagLib::String::String(const char*, TagLib::String::Type)
/usr/include/taglib/tstring.h:147:5: note:                 TagLib::String::String(wchar_t, TagLib::String::Type)
/usr/include/taglib/tstring.h:142:5: note:                 TagLib::String::String(char, TagLib::String::Type)
/usr/include/taglib/tstring.h:134:5: note:                 TagLib::String::Strig(const wchar_t*, TagLib::String::Type)
/usr/include/taglib/tstring.h:129:5: note:                 TagLib::String::String(const TagLib::wstring&, TagLib::String::Type)
/usr/include/taglib/tstring.h:124:5: note:                 TagLib::String::String(const std::string&, TagLib::String::Type)
/usr/include/taglib/tstring.h:116:5: note:                 TagLib::String::String(const TagLib::String&)
/usr/include/taglib/tstring.h:109:5: note:                 TagLib::String::String()
gstapev2mux.cc:136:44: internal compiler error: vector VEC(tree,base) push domain error, in cp_parser_parenthesized_expression_list at cp/parser.c:5326
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Comment 5 Jason Merrill 2010-01-15 06:18:22 UTC

*** This bug has been marked as a duplicate of 42701 ***