[cfe-users] the case of the missing label in the switch/case

folkert via cfe-users cfe-users at lists.llvm.org
Wed Nov 9 08:00:50 PST 2016


The problem is that you were using CaseStmt::getRHS instead of
CaseStmt::getSubStmt.
No idea what getRHS is supposed to return then.

On Wed, Nov 09, 2016 at 09:53:28AM +0100, folkert via cfe-users wrote:
> Hi,
> 
> I maybe very well not understanding something but it looks like a label
> targetted by a goto, in a switch statement, gets missing: if I iterate
> through the ast and emit all the stmt/expr/decls, then no label-type is
> emitted.
> 
> #include <stdio.h>
>  
> void myfunc(int a)
> {
>         switch(a) {
>                 case 1:
>                         printf("1\n");
>                         goto my_label;
>  
>                 case 2:
>                         break;
>  
>                 case 3:
> my_label: // this label does not appear in the ast
>                         printf("Hello, world!\n");
>         }
> }
> 
> 
> any ideas?
> 
> 
> Folkert van Heusden
> 
> -- 
> ----------------------------------------------------------------------
> Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
> _______________________________________________
> cfe-users mailing list
> cfe-users at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users


Folkert van Heusden

-- 
To MultiTail einai ena polymorfiko ergaleio gia ta logfiles kai tin
eksodo twn entolwn. Prosferei: filtrarisma, xrwmatismo, sygxwneysi,
diaforetikes provoles. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com


More information about the cfe-users mailing list