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 @@ -326,7 +326,7 @@ class ArgI8<DXILConstant value_> : Arg {
326326 let is_i8 = 1;
327327}
328328
329- class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_=? > {
329+ class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_> {
330330 Intrinsic intrinsic = intrinsic_;
331331 list<Arg> args = args_;
332332}
Original file line number Diff line number Diff line change @@ -208,13 +208,23 @@ DXILOperationDesc::DXILOperationDesc(const Record *R) {
208208 bool IsI8 = Arg->getValueAsBit (" is_i8" );
209209 bool IsI32 = Arg->getValueAsBit (" is_i32" );
210210 int Index = Arg->getValueAsInt (" index" );
211- const Record *ValueRec = Arg->getValueAsDef (" value" );
211+ const Record *ValueRec = Arg->getValueAsOptionalDef (" value" );
212212
213213 DXILArgSelect ArgSelect;
214214 if (IsI8) {
215+ if (!ValueRec) {
216+ PrintFatalError (R, Twine (" 'value' must be defined for i8 "
217+ " ArgSelect for DXIL operation - " ) +
218+ OpName);
219+ }
215220 ArgSelect.Type = DXILArgSelect::Type::I8;
216221 ArgSelect.Value = ValueRec->getValueAsInt (" value" );
217222 } else if (IsI32) {
223+ if (!ValueRec) {
224+ PrintFatalError (R, Twine (" 'value' must be defined for i32 "
225+ " ArgSelect for DXIL operation - " ) +
226+ OpName);
227+ }
218228 ArgSelect.Type = DXILArgSelect::Type::I32;
219229 ArgSelect.Value = ValueRec->getValueAsInt (" value" );
220230 } else {
You can’t perform that action at this time.
0 commit comments