File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -325,7 +325,7 @@ class ArgI8<DXILConstant value_> : Arg {
325325 let is_i8 = 1;
326326}
327327
328- class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_=? > {
328+ class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_> {
329329 Intrinsic intrinsic = intrinsic_;
330330 list<Arg> args = args_;
331331}
Original file line number Diff line number Diff line change @@ -209,13 +209,23 @@ DXILOperationDesc::DXILOperationDesc(const Record *R) {
209209 bool IsI8 = Arg->getValueAsBit (" is_i8" );
210210 bool IsI32 = Arg->getValueAsBit (" is_i32" );
211211 int Index = Arg->getValueAsInt (" index" );
212- const Record *ValueRec = Arg->getValueAsDef (" value" );
212+ const Record *ValueRec = Arg->getValueAsOptionalDef (" value" );
213213
214214 DXILArgSelect ArgSelect;
215215 if (IsI8) {
216+ if (!ValueRec) {
217+ PrintFatalError (R, Twine (" 'value' must be defined for i8 "
218+ " ArgSelect for DXIL operation - " ) +
219+ OpName);
220+ }
216221 ArgSelect.Type = DXILArgSelect::Type::I8;
217222 ArgSelect.Value = ValueRec->getValueAsInt (" value" );
218223 } else if (IsI32) {
224+ if (!ValueRec) {
225+ PrintFatalError (R, Twine (" 'value' must be defined for i32 "
226+ " ArgSelect for DXIL operation - " ) +
227+ OpName);
228+ }
219229 ArgSelect.Type = DXILArgSelect::Type::I32;
220230 ArgSelect.Value = ValueRec->getValueAsInt (" value" );
221231 } else {
You can’t perform that action at this time.
0 commit comments