- goto maybe_handle_comma;
- }
- break;
- case CPP_OTHER:
- if (CPP_WRITTEN (pfile) == (size_t) start_written + 1
- && (CPP_PWRITTEN (pfile)[-1] == '*'
- || CPP_PWRITTEN (pfile)[-1] == '&'))
- declarator_start = start_written;
- else
- goto handle_statement;
- break;
- case CPP_COMMA:
- case CPP_SEMICOLON:
- if (prev_id_start && saw_extern)
- {
- recognized_extern (pfile->token_buffer + prev_id_start,
- prev_id_end - prev_id_start,
- pfile->token_buffer,
- prev_id_start);
+
+ /* skip a possible __attribute__ or throw expression after the
+ parameter list */
+ while (token->type != CPP_SEMICOLON && token->type != CPP_EOF)
+ token = get_a_token (pfile);
+ goto new_statement;