assert (ffeinfo_basictype (ffebld_info (expr)) != FFEINFO_basictypeCHARACTER); expand_start_case (1, texpr, TREE_TYPE (texpr), "SELECT CASE statement"); ffestw_set_select_texpr (block, texpr); ffestw_set_select_break (block, FALSE); push_momentary ();
if (ffeinfo_basictype (ffebld_info (expr)) != FFEINFO_basictypeCHARACTER) { expand_start_case (1, texpr, TREE_TYPE (texpr), "SELECT CASE statement"); ffestw_set_select_texpr (block, texpr); ffestw_set_select_break (block, FALSE); push_momentary (); } else { ffebad_start_msg ("SELECT CASE on CHARACTER type (at %0) not supported -- sorry", FFEBAD_severityFATAL); ffebad_here (0, ffestw_line (block), ffestw_col (block)); ffebad_finish (); ffestw_set_select_texpr (block, error_mark_node); }
ffeste_R809 (ffestw block, ffebld expr){  ffeste_check_simple_ ();#if FFECOM_targetCURRENT == FFECOM_targetFFE  fputs ("+ SELECT_CASE (", dmpout);  ffebld_dump (expr);  fputs (")\n", dmpout);#elif FFECOM_targetCURRENT == FFECOM_targetGCC  ffecom_push_calltemps ();  {    tree texpr;    ffeste_emit_line_note_ ();    if ((expr == NULL)	|| (ffeinfo_basictype (ffebld_info (expr))	    == FFEINFO_basictypeANY))      {	ffestw_set_select_texpr (block, error_mark_node);	clear_momentary ();      }    else      {	texpr = ffecom_expr (expr);	assert (ffeinfo_basictype (ffebld_info (expr))		!= FFEINFO_basictypeCHARACTER);	expand_start_case (1, texpr, TREE_TYPE (texpr),			   "SELECT CASE statement");	ffestw_set_select_texpr (block, texpr);	ffestw_set_select_break (block, FALSE);	push_momentary ();      }  }				/* ~~~handle character and special-case				   character*1 */  ffecom_pop_calltemps ();#else#error#endif}