------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-11 03:42 
-------
The orginal testcase is now fixed by the patch to the C++ front-end.
------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-10-11 16:11 
-------
Subject: Bug 17657

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2004-10-11 16:11:37

Modified files:
        gcc            : ChangeLog stmt.c 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/gcc.dg: switch-4.c 

Log message:
        PR middle-end/17657
        * stmt.c (add_case_node): Add additional type argument.  Declare
        as static to match prototype.  Convert the upper and lower bounds
        to the specified index type.  Optimize away case ranges/values
        that are outside the index type's bounds.  Truncate case ranges
        that span the index type's bounds.
        (expand_case): Avoid unnessary computation and memory allocation
        when index type is error_mark_node.  Pass index_type as required
        by change to add_case_node API.  No need to convert case range
        bounds to index_type, this is now done by add_case_node.
        
        * gcc.dg/switch-4.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5834&r2=2.5835
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stmt.c.diff?cvsroot=gcc&r1=1.397&r2=1.398
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4434&r2=1.4435
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/switch-4.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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

Reply via email to