mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-30 15:15:02 +01:00
Remove verbose formatting of instructions on crash messages. (#4495)
Undoes a chunk of #4125 because nobody's really in favor of keeping the formatting, and it's occasionally caused a crash in Formatter to dominate output (and even when working, it can be verbose; the source location in (5) is often more helpful). Basically goes back to: ``` 4. Check::Context NodeStack: 0. LetIntroducer: no value 1. BindingPattern: inst+15 2. LetInitializer: no value 3. StructLiteralStart: no value inst_block_stack_: 0. block<invalid> {inst+0, inst+1, inst+6, inst+7, inst+8, inst+9, inst+10, inst+11, inst+12} 1. global_init {} pattern_block_stack_: 0. block<invalid> {} param_and_arg_refs_stack: 0. block<invalid> {} args_type_info_stack_: 0. block<invalid> {} 5. alias_of_alias.carbon:15:12: checking StructLiteral let d: c = {}; ^~ ``` Fixes #4145
This commit is contained in:
@@ -8,19 +8,15 @@
|
||||
|
||||
namespace Carbon::Check {
|
||||
|
||||
auto NodeStack::PrintForStackDump(SemIR::Formatter& formatter, int indent,
|
||||
llvm::raw_ostream& output) const -> void {
|
||||
auto NodeStack::PrintForStackDump(int indent, llvm::raw_ostream& output) const
|
||||
-> void {
|
||||
auto print_id = [&]<Id::Kind Kind>(Id id) {
|
||||
if constexpr (Kind == Id::Kind::None) {
|
||||
output << "no value\n";
|
||||
output << "no value";
|
||||
} else if constexpr (Kind == Id::Kind::Invalid) {
|
||||
CARBON_FATAL("Should not be in node stack");
|
||||
} else if constexpr (Kind == Id::KindFor<SemIR::InstId>()) {
|
||||
output << "\n";
|
||||
formatter.PrintInst(id.As<Id::KindFor<SemIR::InstId>()>(), indent + 4,
|
||||
output);
|
||||
} else {
|
||||
output << id.As<Kind>() << "\n";
|
||||
output << id.As<Kind>();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -37,6 +33,7 @@ auto NodeStack::PrintForStackDump(SemIR::Formatter& formatter, int indent,
|
||||
break;
|
||||
#include "toolchain/parse/node_kind.def"
|
||||
}
|
||||
output << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user