================ @@ -570,27 +579,35 @@ void SVEType::applyTypespec(StringRef TS) { for (char I : TS) { switch (I) { case 'Q': + assert(Kind == Invalid && "Invalid use of modifer!"); Kind = Svcount; break; case 'P': + assert(Kind == Invalid && "Invalid use of modifer!"); Kind = Predicate; break; case 'U': + assert(Kind == Invalid && "Invalid use of modifer!"); Kind = UInt; break; case 'c': + Kind = isInvalid() ? SInt : Kind; ---------------- sdesmalen-arm wrote:
Sorry, for a second I must have forgotten that `Q` and `P` are also valid with `[csil]`. I think that even for `q`, `P` and `Q` should be valid modifiers. So just ignore this suggestion! That said, `f`, `h`, `d` and `b` should require `Kind == Invalid`, as the typespec modifiers don't apply to them, so an assert for those would be useful. https://github.com/llvm/llvm-project/pull/117717 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits