17 const IR::V1Program *global =
nullptr;
20 CheckHeaderTypes() { setName(
"CheckHeaderTypes"); }
21 bool preorder(IR::V1Program *glob)
override {
25 bool preorder(IR::Metadata *meta)
override {
26 if (
auto type = global->get<IR::v1HeaderType>(meta->type_name))
27 meta->type = type->as_metadata;
29 error(ErrorType::ERR_TYPE_ERROR,
"%s: No header type %s", meta->srcInfo,
33 bool preorder(IR::HeaderOrMetadata *hdr)
override {
34 if (
auto type = global->get<IR::v1HeaderType>(hdr->type_name))
35 hdr->type = type->as_header;
37 error(ErrorType::ERR_TYPE_ERROR,
"%s: No header type %s", hdr->srcInfo, hdr->type_name);
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13
void error(const char *format, Args &&...args)
Report an error with the given message.
Definition lib/error.h:58