[Bug c/3581] large string causes Segmentation Fault in cc1

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Oct 29 07:19:00 GMT 2004


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-10-29 07:19 -------
Subject: Bug 3581

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_2-rhl8-branch
Changes by:	jakub@gcc.gnu.org	2004-10-29 07:19:00

Modified files:
	gcc            : ChangeLog c-common.c c-common.h c-parse.in 
	                 c-typeck.c 
	gcc/cp         : ChangeLog parse.y rtti.c semantics.c spew.c 
	gcc/objc       : objc-act.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/parse: concat1.C 
	gcc/testsuite/gcc.dg: concat2.c 

Log message:
	2002-04-26  Richard Henderson  <rth@redhat.com>
	
	PR c/3581
	* c-common.c (fix_string_type): Split out of ...
	(combine_strings): ... here.  Take a varray, not a tree list.
	(c_expand_builtin_printf): Use fix_string_type.
	* c-common.h: Update decls.
	* c-parse.in (string): Remove.  Update all uses to use STRING
	instead, and not call combine_strings.
	(yylexstring): New.
	(_yylex): Use it.
	* c-typeck.c (simple_asm_stmt): Don't call combine_strings.
	(build_asm_stmt): Likewise.
	* objc/objc-act.c (my_build_string): Use fix_string_type.
	(build_objc_string_object): Build varray for combine_strings.
	cp/
	* parse.y (string): Remove.  Update all uses to use STRING
	instead, and not call combine_strings.
	* rtti.c (tinfo_name): Use fix_string_type.
	* semantics.c (finish_asm_stmt): Don't call combine_strings.
	* spew.c (yylexstring): New.
	(read_token): Use it.
	testsuite/
	* g++.dg/parse/concat1.C: New test.
	* gcc.dg/concat2.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.13152.2.657.2.27.2.203&r2=1.13152.2.657.2.27.2.204
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.294.2.9.2.1.2.6&r2=1.294.2.9.2.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.115.2.3.4.1.2.3&r2=1.115.2.3.4.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-parse.in.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.127.2.2.4.1.2.5&r2=1.127.2.2.4.1.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.180.2.2.4.1.2.4&r2=1.180.2.2.4.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.2685.2.114.2.8.2.30&r2=1.2685.2.114.2.8.2.31
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parse.y.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.248.2.5.4.1.2.5&r2=1.248.2.5.4.1.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/rtti.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.130.6.1.2.2&r2=1.130.6.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.252.2.6.8.3&r2=1.252.2.6.8.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/spew.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.61.10.2&r2=1.61.10.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.126.2.1.8.1&r2=1.126.2.1.8.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.1672.2.166.2.8.2.85&r2=1.1672.2.166.2.8.2.86
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/concat1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.106.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/concat2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.106.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3581



More information about the Gcc-bugs mailing list