skia2/tests/sksl/errors
John Stiles f08ebb15f0 Add a distinct error message for reserved words.
After reporting the error, we convert the reserved word to an identifier
as this led to the best error reporting. (This avoids double error
reporting or strange cascading errors.)

Change-Id: I67209bc342fe794287baeaaaf34fa77afd4ac26b
Bug: skia:12560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/462096
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-10-21 14:26:06 +00:00
..
ArgumentCountMismatch.glsl
ArgumentMismatch.glsl
ArgumentModifiers.glsl
ArrayConstructorElementCount.glsl Reject array constructors with the wrong number of elements. 2021-02-03 22:33:02 +00:00
ArrayIndexOutOfRange.glsl Remove support for unsized arrays 2021-08-27 22:14:16 +00:00
ArrayNegation.glsl Report an error when negating or plussing an array of scalars. 2021-10-18 16:04:18 +00:00
ArrayOfInvalidSize.glsl Allow const int variables to be used for array sizes. 2021-10-18 14:23:33 +00:00
ArrayOfVoid.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
ArrayOfVoidInStruct.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
ArrayPlus.glsl Report an error when negating or plussing an array of scalars. 2021-10-18 16:04:18 +00:00
ArrayReturnTypes.glsl
ArraySplitDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensions.glsl
ArrayTooManyDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncBody.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
ArrayTypeTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayUnspecifiedDimensions.glsl Allow const int variables to be used for array sizes. 2021-10-18 14:23:33 +00:00
AssignmentTypeMismatch.glsl Fix fuzzer-discovered assertion with global variables. 2021-08-27 21:38:19 +00:00
BadCaps.glsl
BadConstInitializers.glsl Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
BadFieldAccess.glsl Refactored swizzle domain testing 2021-09-03 14:50:57 +00:00
BadIndex.glsl
BadModifiers.glsl Remove large swaths of code related to .fp files 2021-07-08 16:53:47 +00:00
BinaryInvalidType.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
BinaryTypeCoercion.glsl
BinaryTypeMismatch.glsl
BitShiftFloat.glsl
BitShiftFloatMatrix.glsl
BitShiftFloatVector.glsl
BooleanArithmetic.glsl
BreakOutsideLoop.glsl
CallNonFunction.glsl
CanExitWithoutReturningValue.glsl Disallow continue inside a switch. 2021-09-21 19:26:40 +00:00
ConstructorArgumentCount.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
ConstructorTypeMismatch.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
ContinueOutsideLoop.glsl
DivideByZero.glsl
DoTypeMismatch.glsl
DuplicateFunction.glsl
DuplicateOutput.glsl
DuplicateSymbol.glsl Fixed DSLParser assertion error uncovered by fuzzer 2021-09-20 13:48:41 +00:00
EmptyArray.glsl Add unit test for array of zero or negative size. 2021-04-09 14:38:47 +00:00
EmptyStruct.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
ErrorsInDeadCode.glsl
FloatRemainder.glsl
ForInitStmt.glsl Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
ForTypeMismatch.glsl
FunctionParameterOfVoid.glsl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
GenericArgumentMismatch.glsl
IfTypeMismatch.glsl
InterfaceBlockScope.glsl
InterfaceBlockStorageModifiers.glsl
InterfaceBlockWithNoMembers.glsl Fix fuzzer-discovered null deref with empty interface blocks. 2021-09-17 14:19:14 +00:00
IntrinsicInGlobalVariable.glsl Fix assertion when calling a built-in function at global scope. 2021-08-27 17:05:21 +00:00
InvalidAssignment.glsl Reland "Optimize away swizzles of constant variables." 2021-04-30 13:12:18 +00:00
InvalidOutParams.glsl
InvalidToken.glsl
InvalidUnary.glsl
InVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
LastFragColorWithoutCaps.glsl Report an error if sk_LastFragColor is referenced without fbFetchSupport 2021-09-15 15:41:49 +00:00
LayoutInFunctions.glsl Remove (unused) geometry shader support 2021-08-27 19:41:10 +00:00
LayoutRepeatedQualifiers.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
MatrixToVectorCast3x3.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastBoolean.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastInteger.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastTooSmall.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MismatchedNumbers.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
ModifiersInStruct.glsl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
NoES3ModifierInUserCode.glsl Add $es3 modifier to SkSL. 2021-08-13 14:07:40 +00:00
OpaqueTypeAssignment.glsl Fix fuzzer-discovered assertion with global variables. 2021-08-27 21:38:19 +00:00
OpaqueTypeConstruction.glsl
OpaqueTypeInArray.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OpaqueTypeInInterfaceBlock.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OpaqueTypeInStruct.glsl
OpenArray.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz26700.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz27614.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz27650.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
Ossfuzz27663.glsl Convert IRGenerator::convertPrefixExpr to PrefixExpression::Make. 2021-02-26 22:34:05 +00:00
Ossfuzz28050.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
Ossfuzz29444.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz29845.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz29849.glsl
Ossfuzz31410.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz31469.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
Ossfuzz32156.glsl Allow const int variables to be used for array sizes. 2021-10-18 14:23:33 +00:00
Ossfuzz32587.glsl Replace trio of XxxxLiteral types with a single Literal type. 2021-09-13 17:32:34 +00:00
Ossfuzz32851.glsl Add regression test for oss-fuzz finding. 2021-04-05 19:39:16 +00:00
Ossfuzz36850.asm.frag Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz37457.glsl Fix assertion discovered by fuzzer. 2021-08-23 14:23:46 +00:00
Ossfuzz37465.glsl Fix const function-parameter assertion discovered by fuzzer. 2021-08-23 19:28:29 +00:00
Ossfuzz37469.asm.frag Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz37620.glsl Report intermediate expressions as errors in For next-exprs. 2021-08-25 17:26:21 +00:00
Ossfuzz38106.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz38107.glsl Reland "Fixed DSL assertion error on source files containing nulls" 2021-09-15 15:00:23 +00:00
Ossfuzz38108.glsl Fixed DSLParser assertion error uncovered by fuzzer 2021-09-20 13:48:41 +00:00
Ossfuzz38140.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz38560.glsl Fix for-statement assertion detected by the fuzzer. 2021-09-13 13:34:48 +00:00
Ossfuzz38865.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
Ossfuzz38944.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
Ossfuzz39000.glsl Fixed fuzzer-discovered bug with interface blocks 2021-09-21 14:12:47 +00:00
OverflowFloatLiteral.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OverflowInt64Literal.glsl Add test for literals that overflow int64. 2021-06-01 17:34:23 +00:00
OverflowIntLiteral.glsl Detect out-of-range integer assignment. 2021-06-01 15:53:43 +00:00
OverflowParamArraySize.glsl Allow non-trivial constant expressions for array sizes. 2021-10-12 21:04:33 +00:00
OverflowUintLiteral.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
PrecisionQualifiersDisallowed.glsl Honor lowp/mediump/highp precision qualifiers in IRGenerator. 2021-08-04 21:29:10 +00:00
PrivateTypes.glsl Replace illegal DSLTypes with Poison types. 2021-10-06 00:12:07 +00:00
PrototypeInFuncBody.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
RedeclareBasicType.glsl
RedeclareSamplerType.glsl
RedeclareStruct.glsl
RedeclareStructTypeWithName.glsl
RedeclareUserType.glsl Match GLSL scoping rules more closely in SkSL. 2021-10-12 21:53:28 +00:00
RedeclareVariable.glsl
ReservedNameAsm.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameAttribute.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameCast.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDouble.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameEnum.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameExtern.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameExternal.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFixed.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameGoto.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInput.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInterface.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInvariant.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameLong.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameNamespace.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameOutput.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePacked.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePrecision.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePublic.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNames.glsl Reland "Mark GLSL reserved names as reserved in SkSL grammar." 2021-10-01 18:31:50 +00:00
ReservedNameSampler1DShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler2DRectShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler2DShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler3DRect.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSamplerCube.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSizeof.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameStatic.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSuperp.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameTemplate.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameThis.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameTypedef.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUnion.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUnsigned.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUsing.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameVarying.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameVolatile.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReturnDifferentType.glsl
ReturnFromVoid.glsl Fix assertion when returning intermediate types. 2021-08-27 16:27:15 +00:00
ReturnMissingValue.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
ReturnTypeMismatch.glsl
SelfReferentialInitializerExpression.glsl
SpuriousFloat.glsl
StaticIfTest.glsl
StaticSwitchConditionalBreak.glsl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchTest.glsl SkSL: Turn DSL parser off again 2021-09-07 14:21:57 +00:00
StaticSwitchWithConditionalBreak.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalContinue.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalReturn.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StructNameWithoutIdentifier.glsl
StructTooDeeplyNested.glsl
SwitchDuplicateCase.glsl Migrate convertSwitch to SwitchStatement::Make. 2021-02-23 19:16:40 +00:00
SwitchDuplicateDefault.glsl Add test for duplicate default switch-case. 2021-02-19 20:31:50 +00:00
SwitchTypes.glsl
SwitchWithContinueInside.glsl Disallow continue inside a switch. 2021-09-21 19:26:40 +00:00
SwizzleConstantOutput.glsl
SwizzleDomain.glsl Enforce consistency in swizzle domains. 2021-07-09 20:30:22 +00:00
SwizzleMatrix.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
SwizzleOnlyLiterals.glsl
SwizzleOutOfBounds.glsl
SwizzleTooManyComponents.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
TernaryMismatch.glsl
UndeclaredFunction.glsl
UndefinedFunction.asm.frag
UndefinedFunction.glsl
UndefinedSymbol.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
UniformVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
UnknownDivideByZero.glsl Added detection for non-constant-folded divide by zero errors in 2021-02-06 03:13:16 +00:00
UnscopedVariableInDoWhile.glsl Fix line numbers of several DSLParser errors 2021-09-03 22:12:22 +00:00
UnscopedVariableInElse.glsl
UnscopedVariableInFor.glsl Disallow unscoped for blocks which declare a variable. 2021-03-04 17:04:40 +00:00
UnscopedVariableInIf.glsl
UnscopedVariableInWhile.glsl
UnsupportedGLSLIdentifiers.glsl
UnusedInterfaceBlock.asm.frag Fix for fuzzer-discovered error in SPIR-V compilation. 2021-04-19 15:55:04 +00:00
UsingInvalidValue.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
VectorSlice.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
VertexEarlyReturn.glsl SkSL: Turn DSL parser off again 2021-09-07 14:21:57 +00:00
WhileTypeMismatch.glsl