Home | History | Annotate | Download | only in slang

Lines Matching refs:ForEach

178       std::cout << "  (ForEach) ordinal=" << feIdx << " state=";
180 case File::ForEach::S_Initial:
183 case File::ForEach::S_Collected:
186 case File::ForEach::S_UseMatched:
234 // ForEach /////////////////////////////////////////////////////////////////////////////////////
243 file.mForEaches = new File::ForEach[Count];
279 auto &foreach = foreaches[Ordinal];
280 slangAssert(foreach.mState == File::ForEach::S_Initial);
281 foreach.mState = File::ForEach::S_Collected;
282 foreach.mName = Name;
283 foreach.mIns.BeginCollecting(InCount);
284 foreach.mParams.BeginCollecting(ParamCount);
285 foreach.mOut = canon(OutType);
286 foreach.mHasOut = HasOut;
287 foreach.mSignatureMetadata = 0;
288 foreach.mIsKernel = IsKernel;
296 auto &foreach = foreaches[Ordinal];
297 slangAssert(foreach.mState == File::ForEach::S_Collected);
298 foreach.mState = File::ForEach::S_UseMatched;
301 if (foreach.mName != Name) {
309 if (foreach.mIsKernel != IsKernel) {
311 "foreach kernel '%0' has __attribute__((kernel)) for %select{32|64}1-bit targets "
317 if ((foreach.mHasOut != HasOut) || !foreach.mOut.equals(OutType)) {
323 if (foreach.mHasOut && HasOut) {
324 if (foreach.mOut.size() && OutType.size()) {
327 "foreach kernel '%0' has output type '%1' for 32-bit targets "
329 << Name << foreach.mOut.str() << OutType;
334 "foreach kernel '%0' has output type '%1' for %select{32|64}2-bit targets "
336 << Name << (foreach.mOut.str() + OutType) << hasTyped64;
339 const std::string CombinedOutType = (foreach.mOut.str() + OutType);
343 "foreach kernel '%0' has output type '%1' for %select{32|64}2-bit targets "
349 "foreach kernel '%0' has untyped output for %select{32|64}1-bit targets "
357 if (foreach.mIns.Size() != InCount) {
359 "foreach kernel '%0' has %1 input%s1 for 32-bit targets "
361 << Name << unsigned(foreach.mIns.Size()) << unsigned(InCount);
364 if (foreach.mParams.Size() != ParamCount) {
366 "foreach kernel '%0' has %1 usrData parameter%s1 for 32-bit targets "
368 << Name << unsigned(foreach.mParams.Size()) << unsigned(ParamCount);
375 foreach.mIns.BeginUsing();
376 foreach.mParams.BeginUsing();
407 "%ordinal0 input of foreach kernel '%1' "
417 "%ordinal0 input of foreach kernel '%1' "
448 "%ordinal0 usrData parameter of foreach kernel '%1' "
489 "foreach kernel '%0' has different special parameters "
524 // 32-bit and 64-bit compiles need to see foreach kernels in the
526 // first name mismatch in the sequence of foreach kernels, it
528 // foreach kernels except those that still happen to match by name
536 "foreach kernel '%0' is only present for 64-bit targets")
540 "%ordinal0 foreach kernel is '%1' for 32-bit targets "
560 if (fe.mState == File::ForEach::S_Collected) {
561 mRSC->ReportError("in file '%0' foreach kernel '%1' is only present for 32-bit targets")