================ @@ -711,6 +734,35 @@ std::optional<Register> RootSignatureParser::parseRegister() { return Reg; } +std::optional<float> RootSignatureParser::parseFloatParam() { + assert(CurToken.TokKind == TokenKind::pu_equal && + "Expects to only be invoked starting at given keyword"); + // Consume sign modifier + bool Signed = + tryConsumeExpectedToken({TokenKind::pu_plus, TokenKind::pu_minus}); + bool Negated = Signed && CurToken.TokKind == TokenKind::pu_minus; + + // DXC will treat a postive signed integer as unsigned + if (!Negated && tryConsumeExpectedToken(TokenKind::int_literal)) { + auto UInt = handleUIntLiteral(); + if (!UInt.has_value()) + return std::nullopt; + return (float)UInt.value(); + } else if (tryConsumeExpectedToken(TokenKind::int_literal)) { ---------------- llvm-beanz wrote:
Flyby style nit: Don't use `else` after a `return` https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return https://github.com/llvm/llvm-project/pull/140181 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits