skia2/tests/sksl/errors/golden
John Stiles f94348fdd5 Detect and report numeric overflows in the SkSL parser.
Previously, some types of overflow were detected, but most would assert
or silently generate invalid code. Now, the parser will properly report
an error if it encounters any integer that exceeds UINT_MAX or any float
that exceeds FLT_MAX.

This fixes test OverflowUintLiteral.sksl. Added a test for floats as
well, OverflowFloatLiteral.sksl.

OverflowIntLiteral.sksl does not fail yet, because its values are larger
than INT_MAX, not UINT_MAX. These are legal from the perspective of the
parser. This must be caught later at IR generation time.

Change-Id: Ia5a904d01427cdc9f2ab5f4174154418737835e6
Bug: skia:10932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347176
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-28 16:39:19 +00:00
..
ArgumentCountMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArgumentMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArgumentModifiers.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArrayIndexOutOfRange.glsl Check array bounds when a constant array index is used. 2020-12-07 18:17:30 +00:00
ArrayReturnTypes.glsl Remove multi-dimensional array support from the parser. 2020-12-03 20:24:38 +00:00
ArrayTooManyDimensions.glsl Remove multi-dimensional array support from the parser. 2020-12-03 20:24:38 +00:00
ArrayUnspecifiedDimensions.glsl SkSL: Remove "null" as a type and literal value. 2020-12-23 16:21:57 +00:00
AssignmentTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadCaps.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadFieldAccess.glsl Add unit tests for assignment and invalid field access. 2020-09-25 21:42:22 +00:00
BadIndex.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadModifiers.glsl Report the correct line number when vardecls have an error. 2020-11-17 16:32:23 +00:00
BinaryInvalidType.glsl fixed SkSL crash when performing binary operations on invalid types 2020-12-11 17:29:10 +00:00
BinaryTypeCoercion.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BinaryTypeMismatch.glsl Reland "Reland "Reland "Reland "Revert "Initial land of SkSL DSL.""""" 2020-12-18 01:05:48 +00:00
BitShiftFloat.glsl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BitShiftFloatMatrix.glsl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BitShiftFloatVector.glsl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BooleanArithmetic.glsl Disallow unary minus on boolean vectors. 2020-11-25 17:02:27 +00:00
BreakOutsideLoop.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
CallNonFunction.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
CanExitWithoutReturningValue.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ConstructorArgumentCount.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ConstructorTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ContinueOutsideLoop.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
Discard.skvm Add .rte -> .skvm unit test framework 2020-12-22 17:59:42 +00:00
DivideByZero.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DoTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateFunction.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateOutput.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateSymbol.glsl Report the correct line number when vardecls have an error. 2020-11-17 16:32:23 +00:00
EnumValueMustBeConstInt.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ErrorsInDeadCode.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
FieldAfterRuntimeArray.glsl Disallow unsized array dimensions on size fields past the frontmost. 2020-11-17 16:44:13 +00:00
FloatRemainder.glsl SkSL: Disallow '%' and '%=' on non-integral types 2020-12-10 22:19:49 +00:00
ForTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
GenericArgumentMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
GrBadIn.cpp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrBadIn.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrMainParameterWrongType.cpp Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrMainParameterWrongType.h Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrMainTooManyParameters.cpp Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrMainTooManyParameters.h Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrNoFragmentProcessorConstruction.cpp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorConstruction.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorExpressions.cpp Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
GrNoFragmentProcessorExpressions.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorLocals.cpp Report the correct line number when vardecls have an error. 2020-11-17 16:32:23 +00:00
GrNoFragmentProcessorLocals.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorParams.cpp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorParams.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorReturn.cpp Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
GrNoFragmentProcessorReturn.h Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrRecursion.cpp Remove GrFragmentProcessor::usesExplicitReturn. 2020-12-15 18:06:12 +00:00
GrRecursion.h Remove GrFragmentProcessor::usesExplicitReturn. 2020-12-15 18:06:12 +00:00
IfTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockScope.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockStorageModifiers.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockWithNoMembers.glsl Migrate CrbugOssfuzz21688 to a golden-output test. 2020-11-04 22:34:13 +00:00
InvalidAssignment.glsl Disallow assignment to unfoldable ternaries in SkSL. 2020-09-25 21:26:40 +00:00
InvalidOutParams.glsl Fix various SkSL errors that don't report a line number. 2020-12-14 16:11:13 +00:00
InvalidUnary.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InVarWithInitializerExpression.glsl Report an SkSL error if an in var has an initializer expression. 2020-11-09 21:37:39 +00:00
ModifiersInStruct.glsl Report the correct line number when vardecls have an error. 2020-11-17 16:32:23 +00:00
OpaqueTypeAssignment.glsl Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
OpaqueTypeConstruction.glsl Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
OpaqueTypeInArray.glsl Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
OpaqueTypeInInterfaceBlock.glsl Enforce additional restrictions on opaque types. 2020-12-22 22:24:24 +00:00
OpaqueTypeInStruct.glsl Disallow opaque types in structs and interface blocks. 2020-11-17 15:25:43 +00:00
OpenArray.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
Ossfuzz26700.glsl Fix unknown-identifier issue discovered by fuzzer. 2020-10-30 19:11:31 +00:00
Ossfuzz26759.glsl Add unit test for error discovered by fuzzer. 2020-10-30 18:18:31 +00:00
Ossfuzz27650.glsl Fix fuzzer crash when casting between int and float. 2020-11-20 14:07:03 +00:00
Ossfuzz27663.glsl Fix various SkSL errors that don't report a line number. 2020-12-14 16:11:13 +00:00
OverflowFloatLiteral.glsl Detect and report numeric overflows in the SkSL parser. 2020-12-28 16:39:19 +00:00
OverflowIntLiteral.glsl Add unit tests for overflowing int and uint literal limits. 2020-11-11 16:11:15 +00:00
OverflowParamArraySize.glsl Detect and report numeric overflows in the SkSL parser. 2020-12-28 16:39:19 +00:00
OverflowUintLiteral.glsl Detect and report numeric overflows in the SkSL parser. 2020-12-28 16:39:19 +00:00
PrivateTypes.glsl SkSL: Remove all $gsamplerFoo types 2020-12-23 16:57:07 +00:00
RedeclareBasicType.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareEnum.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareSamplerType.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareStruct.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareStructTypeWithName.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareUserType.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareVariable.glsl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
ReturnDifferentType.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnFromVoid.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnMissingValue.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SelfReferentialInitializerExpression.glsl Add unit test for self-referential initializer expressions. 2020-10-23 14:36:05 +00:00
SpuriousFloat.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticIfTest.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticSwitchConditionalBreak.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticSwitchTest.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StructTooDeeplyNested.glsl Limit struct nesting depth to a maximum of eight levels. 2020-11-10 16:58:37 +00:00
SwitchDuplicateCase.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwitchTypes.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleConstantOutput.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleMatrix.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleOnlyLiterals.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleOutOfBounds.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleTooManyComponents.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
TernaryMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UndeclaredFunction.glsl Add test cases to function-prototype golden outputs. 2020-11-02 17:17:23 +00:00
UndefinedFunction.glsl Improve support for function prototypes in SkSL. 2020-11-03 19:09:25 +00:00
UndefinedSymbol.glsl Support testing error cases in our SkSL unit test goldens. 2020-09-14 21:23:07 +00:00
Unreachable.glsl Revert "Fix incorrect 'unreachable code' error in SkSL" 2020-12-16 18:21:17 +00:00
UnsupportedGLSLIdentifiers.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UnsupportedTypeSampler.skvm Add .rte -> .skvm unit test framework 2020-12-22 17:59:42 +00:00
UnsupportedTypeTexture.skvm Add .rte -> .skvm unit test framework 2020-12-22 17:59:42 +00:00
UseWithoutInitializeArrayIndex.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeBinaryExpr.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeDeadIf.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeDeadSwitch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeReturnValue.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeVarDecl.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UsingInvalidValue.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
WhileTypeMismatch.glsl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00