- case 'k': {
- if (extended) {
- bool first = true;
- va_list* toks = va_arg(ap, va_list*);
- const char* const delimiter = va_arg(ap, const char*);
- for (;;) {
- const token_type_t tok = va_arg(*toks, token_type_t);
- if (tok == 0)
- break;
- if (first) {
- first = false;
- } else {
- fputs(delimiter, stderr);
- }
- print_token_type(stderr, tok);
- }
+ case 'T': {
+ const type_t* const type = va_arg(ap, const type_t*);
+ const symbol_t* sym = NULL;
+ if (extended) {
+ sym = va_arg(ap, const symbol_t*);
+ }
+ print_type_ext(type, sym, NULL);
+ break;
+ }
+
+ case 't': {
+ const token_t *const token = va_arg(ap, const token_t*);
+ print_pp_token(stderr, token);
+ break;
+ }
+
+ case 'K': {
+ const token_t* const token = va_arg(ap, const token_t*);
+ print_token(stderr, token);
+ break;
+ }
+
+ case 'k': {
+ if (extended) {
+ bool first = true;
+ va_list* toks = va_arg(ap, va_list*);
+ const char* const delimiter = va_arg(ap, const char*);
+ for (;;) {
+ const token_kind_t tok = va_arg(*toks, token_kind_t);
+ if (tok == 0)
+ break;
+ if (first) {
+ first = false;