- case TYPE_CODE_FLT:
- if (options->format)
- print_scalar_formatted (valaddr, type, options, 0, stream);
- else
- print_floating (valaddr, type, stream);
- break;
-
- case TYPE_CODE_VOID:
- fprintf_filtered (stream, "VOID");
- break;
-
- case TYPE_CODE_ERROR:
- fprintf_filtered (stream, "<error type>");
- break;
-
- case TYPE_CODE_RANGE:
- /* FIXME, we should not ever have to print one of these yet. */
- fprintf_filtered (stream, "<range type>");
- break;
-
- case TYPE_CODE_BOOL:
- if (options->format || options->output_format)
- {
- struct value_print_options opts = *options;
- opts.format = (options->format ? options->format
- : options->output_format);
- print_scalar_formatted (valaddr, type, &opts, 0, stream);
- }
- else
- {
- val = extract_unsigned_integer (valaddr,
- TYPE_LENGTH (type), byte_order);
- if (val == 0)
- fprintf_filtered (stream, ".FALSE.");
- else if (val == 1)
- fprintf_filtered (stream, ".TRUE.");
- else
- /* Not a legitimate logical type, print as an integer. */
- {
- /* Bash the type code temporarily. */
- TYPE_CODE (type) = TYPE_CODE_INT;
- f_val_print (type, valaddr, 0, address, stream, recurse, options);
- /* Restore the type code so later uses work as intended. */
- TYPE_CODE (type) = TYPE_CODE_BOOL;