CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
ReportIdentsEN.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10// MARK: - Common
11
12DECLARATION_REPORT(Message, "message");
13DECLARATION_REPORT(Warning, "warning");
14DECLARATION_REPORT(Error, "error");
15DECLARATION_REPORT(CodeGenerationError, "code generation error");
16DECLARATION_REPORT(CodeReflection, "code reflection");
17DECLARATION_REPORT(SyntaxError, "syntax error");
18DECLARATION_REPORT(ContextError, "context error");
19DECLARATION_REPORT(InternalError, "internal error");
20DECLARATION_REPORT(In, "in"); // e.g. "error in 'context'"
21DECLARATION_REPORT(Input, "input"); // e.g. "entry point input"
22DECLARATION_REPORT(Output, "output"); // e.g. "entry point output"
23DECLARATION_REPORT(Anonymous, "anonymous");
24DECLARATION_REPORT(Unspecified, "unspecified");
25DECLARATION_REPORT(CandidatesAre, "candidates are");
26DECLARATION_REPORT(StackUnderflow, "stack underflow[ in {0}]");
27DECLARATION_REPORT(VertexShader, "vertex shader");
28DECLARATION_REPORT(TessControlShader, "tessellation-control shader");
29DECLARATION_REPORT(TessEvaluationShader, "tessellation-evaluation shader");
30DECLARATION_REPORT(GeometryShader, "geometry shader");
31DECLARATION_REPORT(FragmentShader, "fragment shader");
32DECLARATION_REPORT(ComputeShader, "compute shader");
33DECLARATION_REPORT(InvalidInputStream, "invalid input stream");
34DECLARATION_REPORT(InvalidOutputStream, "invalid output stream");
35DECLARATION_REPORT(Implicitly, "implicitly");
36DECLARATION_REPORT(ButGot, "[, but got {0}]");
37DECLARATION_REPORT(NotImplementedYet, "[{0} ]not implemented yet[ (in '{1}')]");
38DECLARATION_REPORT(DeclaredAt, "declared at ({0})");
39DECLARATION_REPORT(PrevDefinitionAt, "previous definition at ({0})");
40DECLARATION_REPORT(ExceptionThrown, "exception thrown: ");
41DECLARATION_REPORT(ZeroBased, "zero-based");
42DECLARATION_REPORT(OneBased, "one-based");
43
44// MARK: - Token
45
46DECLARATION_REPORT(Identifier, "identifier");
47DECLARATION_REPORT(BoolLiteral, "boolean literal");
48DECLARATION_REPORT(IntLiteral, "integer literal");
49DECLARATION_REPORT(FloatLiteral, "floating-point literal");
50DECLARATION_REPORT(StringLiteral, "string literal");
51DECLARATION_REPORT(CharLiteral, "character literal");
52DECLARATION_REPORT(NullLiteral, "null literal");
53DECLARATION_REPORT(AssignOp, "assign operator[ '{0}']");
54DECLARATION_REPORT(BinaryOp, "binary operator[ '{0}']");
55DECLARATION_REPORT(UnaryOp, "unary operator[ '{0}']");
56DECLARATION_REPORT(TernaryOp, "ternary operator");
57DECLARATION_REPORT(StringTypeDen, "string type denoter");
58DECLARATION_REPORT(ScalarTypeDen, "scalar type denoter");
59DECLARATION_REPORT(VectorTypeDen, "vector type denoter");
60DECLARATION_REPORT(MatrixTypeDen, "matrix type denoter");
61DECLARATION_REPORT(VoidTypeDen, "void type denoter");
62DECLARATION_REPORT(PrimitiveTypeDen, "primitive type denoter");
63DECLARATION_REPORT(ReservedWord, "reserved keyword");
64DECLARATION_REPORT(VectorGenericTypeDen, "vector generic type denoter");
65DECLARATION_REPORT(MatrixGenericTypeDen, "matrix generic type denoter");
66DECLARATION_REPORT(SamplerTypeDen, "sampler type denoter");
67DECLARATION_REPORT(SamplerState, "sampler state");
68DECLARATION_REPORT(BufferTypeDen, "buffer type denoter");
69DECLARATION_REPORT(UniformBufferTypeDen, "uniform buffer type denoter");
70DECLARATION_REPORT(Keyword, "'{0}' keyword");
71DECLARATION_REPORT(LayoutQualifier, "layout qualifier");
72DECLARATION_REPORT(MemoryQualifier, "memory qualifier");
73DECLARATION_REPORT(InvariantQualifier, "invariant qualifier");
74DECLARATION_REPORT(PrecisionQualifier, "precision qualifier");
75DECLARATION_REPORT(ImageType, "image type");
76DECLARATION_REPORT(StorageBufferType, "storage buffer type");
77DECLARATION_REPORT(AtomicCounterType, "atomic counter type");
78DECLARATION_REPORT(CtrlTransfer, "control transfer");
79DECLARATION_REPORT(InputModifier, "input modifier");
80DECLARATION_REPORT(InterpModifier, "interpolation modifier");
81DECLARATION_REPORT(TypeModifier, "type modifier");
82DECLARATION_REPORT(StorageClass, "storage class");
83DECLARATION_REPORT(Comment, "comment");
84DECLARATION_REPORT(WhiteSpaces, "white spaces");
85DECLARATION_REPORT(NewLineChars, "new-line characters");
86DECLARATION_REPORT(VarArgSpecifier, "variadic argument specifier");
87DECLARATION_REPORT(Misc, "miscellaneous");
88DECLARATION_REPORT(PPDirective, "preprocessor directive");
89DECLARATION_REPORT(PPDirectiveConcat, "preprocessor directive concatenation");
90DECLARATION_REPORT(PPLineBreak, "preprocessor line break");
91DECLARATION_REPORT(EndOfStream, "end-of-stream");
92
93// MARK: - AST
94
95DECLARATION_REPORT(IllegalTypeOfFuncObj, "illegal type denoter of function object '{0}'");
96DECLARATION_REPORT(CantDirectlyAccessMembersOf, "cannot directly access members of '{0}'");
97DECLARATION_REPORT(CantDirectlyAccessArrayOf, "cannot directly access array of '{0}'");
98DECLARATION_REPORT(UnknownTypeOfObjectIdentSymbolRef, "unknown type of symbol reference to derive type denoter of object identifier '{0}'");
99DECLARATION_REPORT(InvalidSubscriptBaseType, "invalid base type denoter for vector subscript");
100DECLARATION_REPORT(IllegalStaticAccessForSubscript, "illegal static access for subscript '{0}'");
101DECLARATION_REPORT(MissingVarIdentSymbolRef, "missing symbol reference to derive type denoter of variable identifier '{0}'");
102DECLARATION_REPORT(MissingFuncRefToDeriveExpressionType, "missing function reference to derive expression type");
103DECLARATION_REPORT(MissingDeclarationStatementRefToDeriveType,
104 "missing reference to declaration statement to derive type denoter of variable identifier "
105 "'{0}'");
106DECLARATION_REPORT(MissingObjectExpressionSymbolRef, "missing symbol reference in object expression[ '{0}']");
107DECLARATION_REPORT(FuncDoesntTake1Param, "function '{0}' does not take {1} parameter");
108DECLARATION_REPORT(FuncDoesntTakeNParams, "function '{0}' does not take {1} parameters");
109DECLARATION_REPORT(TernaryExpression, "ternary expression");
110DECLARATION_REPORT(BinaryExpression, "binary expression '{0}'");
111DECLARATION_REPORT(OnlyBaseTypeAllowed, "only scalar, vector, and matrix type allowed[ in {0}][, but got '{1}']");
112DECLARATION_REPORT(CastExpression, "cast expression");
113DECLARATION_REPORT(CantDeriveTypeOfInitializer, "cannot derive type of initializer list without type parameter");
114DECLARATION_REPORT(CantDeriveTypeOfEmptyInitializer, "cannot derive type of initializer list with no elements");
115DECLARATION_REPORT(CantDeriveTypeOfFunction, "cannot derive type of function object");
116DECLARATION_REPORT(CantDeriveTypeOfConstBuffer, "cannot derive type of constant buffer object");
117DECLARATION_REPORT(ConditionOfTernaryExpression, "condition of ternary expression");
118DECLARATION_REPORT(ExpectedInitializerForArrayAccess, "initializer expression expected for array access");
119DECLARATION_REPORT(InvalidNumElementsInInitializer,
120 "invalid number of elements in initializer expression for type '{0}' (expected {1}, but "
121 "got {2})");
122DECLARATION_REPORT(NotEnoughElementsInInitializer, "not enough elements in initializer expression");
123DECLARATION_REPORT(NotEnoughIndicesForInitializer, "not enough array indices specified for initializer expression");
124DECLARATION_REPORT(ArrayIndexOutOfBounds, "array index out of bounds[: {0} is not in range \\[0, {1})]");
125
126// MARK: - ASTEnums
127
128DECLARATION_REPORT(DataType, "data type");
129DECLARATION_REPORT(SamplerType, "sampler type");
130DECLARATION_REPORT(BufferType, "buffer type");
131DECLARATION_REPORT(Intrinsic, "intrinsic[ '{0}']");
132DECLARATION_REPORT(DomainType, "domain type");
133DECLARATION_REPORT(PrimitiveType, "primitive type");
134DECLARATION_REPORT(Partitioning, "partitioning");
135DECLARATION_REPORT(OutputToplogy, "output toplogy");
136DECLARATION_REPORT(Attributes, "attributes");
137DECLARATION_REPORT(Undefined, "<undefined>");
138DECLARATION_REPORT(UserDefined, "<user-defined>");
139DECLARATION_REPORT(FailedToMap, "failed to map {0} to {1}");
140DECLARATION_REPORT(VectorSubscriptCantHaveNComps, "vector subscript cannot have {0} components");
141DECLARATION_REPORT(IncompleteMatrixSubscript, "incomplete matrix subscript: '{0}'");
142DECLARATION_REPORT(InvalidVectorDimension, "invalid vector dimension (must be in the range \\[1, 4\\], but got {0})");
143DECLARATION_REPORT(InvalidVectorSubscript, "invalid vector subscript '{0}' for {1}");
144DECLARATION_REPORT(InvalidMatrixDimension,
145 "invalid matrix dimension (must be in the range \\[1, 4\\] x \\[1, 4\\], but got {0} x "
146 "{1})");
147DECLARATION_REPORT(InvalidMatrixSubscriptMixture, "invalid mixture of zero-based and one-based matrix subscripts[: '{0}']");
148DECLARATION_REPORT(InvalidCharInMatrixSubscript, "invalid character '{0}' in [{2} ]matrix subscript: '{1}'");
149DECLARATION_REPORT(InvalidIntrinsicArgType, "invalid argument type denoter for intrinsic[ '{0}']");
150DECLARATION_REPORT(InvalidIntrinsicArgCount, "invalid number of arguments for intrinsic[ '{0}'][ (expected {1}, but got {2})]");
151DECLARATION_REPORT(InvalidIntrinsicArgs, "invalid arguments for intrinsic[ '{0}']");
152
153// MARK: - TypeDenoter
154
155DECLARATION_REPORT(VarIdentCantBeResolved, "variable identifier cannot be normalize");
156DECLARATION_REPORT(TypeHasNoSuchObject, "type '{0}' has no object named '{1}'");
157DECLARATION_REPORT(IllegalArrayAccess, "array access not allowed[ for '{0}']");
158DECLARATION_REPORT(TooManyArrayDimensions, "too many array dimensions[ for '{0}']");
159DECLARATION_REPORT(MissingRefToStructDeclaration, "missing reference to structure declaration[ '{0}']");
160DECLARATION_REPORT(MissingRefToAliasDeclaration, "missing reference to alias declaration[ '{0}']");
161DECLARATION_REPORT(MissingBaseTypeInArray, "missing base type in array type denoter");
162DECLARATION_REPORT(MissingRefInTypeDen, "missing reference to declaration[ in {0}]");
163DECLARATION_REPORT(InvalidExpressionForSubTypeDen, "invalid expression to derive sub type denoter[ for '{0}']");
164DECLARATION_REPORT(OverloadedFunction, "<overloaded function>");
165
166// MARK: - SymbolTable
167
168DECLARATION_REPORT(UndefinedSymbol, "undefined symbol '{0}'");
169DECLARATION_REPORT(AmbiguousSymbol, "symbol '{0}' is ambiguous");
170DECLARATION_REPORT(AmbiguousFuncCall, "ambiguous function call '{0}({1})'");
171DECLARATION_REPORT(AmbiguousIntrinsicCall, "ambiguous intrinsic call[ '{0}']");
172DECLARATION_REPORT(IdentIsNotFunc, "identifier '{0}' does not name a function");
173DECLARATION_REPORT(IdentIsNotVar, "identifier '{0}' does not name a variable");
174DECLARATION_REPORT(IdentIsNotType, "identifier '{0}' does not name a type");
175DECLARATION_REPORT(IdentIsNotDeclaration, "identifier '{0}' does not name a declaration object");
176DECLARATION_REPORT(IdentIsNotBaseOf, "identifier '{0}' does not name a base of '{1}'");
177DECLARATION_REPORT(IdentAlreadyDeclared, "identifier '{0}' already declared in this scope[; previous declaration at ({1})]");
178DECLARATION_REPORT(NoActiveScopeToRegisterSymbol, "no active scope to register symbol");
179
180// MARK: - Scanner
181
182DECLARATION_REPORT(LexicalError, "lexical error");
183DECLARATION_REPORT(UnexpectedChar, "unexpected character '{0}'[ (expected '{1}')]");
184DECLARATION_REPORT(MissingDigitSequenceAfterExpression, "missing digit-sequence after exponent part");
185DECLARATION_REPORT(MissingDecimalPartInFloat, "missing decimal part in floating-point number");
186
187// MARK: - Parser
188
189DECLARATION_REPORT(UnexpectedToken, "unexpected token[: {0}[ ({1})]]");
190DECLARATION_REPORT(UnexpectedEndOfStream, "unexpected end-of-stream");
191DECLARATION_REPORT(UnexpectedTokenSpell, "unexpected token spelling '{0}'[ (expected '{1}')]");
192DECLARATION_REPORT(Expected, "expected {0}");
193DECLARATION_REPORT(ExpectedPrimaryExpression, "expected primary expression");
194DECLARATION_REPORT(ExpectedLiteralExpression, "expected literal expression");
195DECLARATION_REPORT(ExpectedTypeDen, "expected type denoter");
196DECLARATION_REPORT(ExpectedBaseTypeDen, "expected base type denoter[, but got '{0}']");
197DECLARATION_REPORT(ExpectedIntLiteral, "expected integer literal[, but got '{0}']");
198DECLARATION_REPORT(InFunction, " (in function: {0})");
199DECLARATION_REPORT(FailedToCreateScanner, "failed to create token scanner");
200DECLARATION_REPORT(FailedToScanSource, "failed to scan source code");
201DECLARATION_REPORT(MissingScanner, "missing token scanner");
202DECLARATION_REPORT(TooManySyntaxErrors, "too many syntax errors");
203DECLARATION_REPORT(IdentNameManglingConflict, "identifier '{0}' conflicts with reserved name mangling prefix '{1}'");
204DECLARATION_REPORT(NotAllowedInThisContext, "{0} not allowed in this context");
205DECLARATION_REPORT(IntLiteralOutOfRange, "integer literal[ '{0}'] is out of range");
206
207// MARK: - PreProcessor
208
209DECLARATION_REPORT(UnknownPPDirective, "unknown preprocessor directive: \"{0}\"");
210DECLARATION_REPORT(UnknownMatrixPackAlignment, "unknown matrix pack alignment: \"{0}\" (must be \"row_major\" or \"column_major\")");
211DECLARATION_REPORT(UnknownPragma, "unknown pragma: \"{0}\"");
212DECLARATION_REPORT(InvalidMacroidentifierTokenArg, "invalid argument for macro identifier token");
213DECLARATION_REPORT(FailedToUndefMacro, "failed to undefine macro \"{0}\"");
214DECLARATION_REPORT(MacroRedef, "redefinition of macro \"{0}\"[ {1}]");
215DECLARATION_REPORT(WithMismatchInParamListAndBody, "with mismatch in parameter list and body definition");
216DECLARATION_REPORT(WithMismatchInParamList, "with mismatch in parameter list");
217DECLARATION_REPORT(WithMismatchInBody, "with mismatch in body definition");
218DECLARATION_REPORT(MissingIfDirective, "missing '#if'-directive to closing '#endif', '#else', or '#elif'");
219DECLARATION_REPORT(MissingEndIfDirective, "missing '#endif'-directive for open '#if', '#ifdef', or '#ifndef'");
220DECLARATION_REPORT(TooManyArgsForMacro, "too many arguments for macro \"{0}\"[ (expected {1}, but got {2})]");
221DECLARATION_REPORT(TooFewArgsForMacro, "too few arguments for macro \"{0}\"[ (expected {1}, but got {2})]");
222DECLARATION_REPORT(ExpectedEndIfDirective, "expected '#endif'-directive after previous '#else'[, but got '{0}']");
223DECLARATION_REPORT(PragmaCantBeHandled, "pragma \"{0}\" can currently not be handled");
224DECLARATION_REPORT(UnexpectedTokenInPragma, "unexpected token in '#pragam'-directive");
225DECLARATION_REPORT(UnexpectedEndOfTokenString, "unexpected end of token string");
226DECLARATION_REPORT(RemainingTokensInPragma, "remaining unhandled tokens in '#pragma'-directive");
227DECLARATION_REPORT(EmptyPragma, "empty '#pragma'-directive");
228DECLARATION_REPORT(TooManyRecursiveIncludesOfFile, "too many recursive includes of file[: \"{0}\"]");
229
230// MARK: - VisitorTracker
231
232DECLARATION_REPORT(FuncDeclarationStackUnderflow, "function declaration stack underflow"); // internal error
233DECLARATION_REPORT(CallExpressionStackUnderflow, "call expression stack underflow"); // internal error
234DECLARATION_REPORT(LValueExpressionStackUnderflow, "l-value expression stack underflow"); // internal error
235DECLARATION_REPORT(StructDeclarationStackUnderflow, "structure declaration stack underflow"); // internal error
236DECLARATION_REPORT(UniformBufferDeclarationStackUnderflow,
237 "uniform buffer declaration stack underflow"); // internal error
238DECLARATION_REPORT(VarDeclarationStatementStackUnderflow,
239 "variable declaration statement stack underflow"); // internal error
240DECLARATION_REPORT(WritePrefixStackUnderflow, "write prefix stack underflow"); // internal error
241
242// MARK: - Analyzer
243
244DECLARATION_REPORT(UndeclaredIdent, "undeclared identifier \"{0}\"[ in '{1}'][; did you mean \"{2}\"?]");
245DECLARATION_REPORT(DefaultArgOfFuncParam, "default argument of function parameter[ '{0}']");
246DECLARATION_REPORT(StatementWithEmptyBody, "<{0}> statement with empty body");
247DECLARATION_REPORT(MissingReferenceToStructInType, "missing reference to structure declaration in type denoter '{0}'");
248DECLARATION_REPORT(MissingVariableType, "missing variable type");
249DECLARATION_REPORT(ParameterCantBeUniformAndOut, "type attributes 'out' and 'inout' cannot be used together with 'uniform' for a parameter");
250DECLARATION_REPORT(IllegalCast, "cannot cast '{0}' to '{1}'[ in {2}]");
251DECLARATION_REPORT(NullPointerArgument, "null pointer passed to {0}");
252DECLARATION_REPORT(ConditionalExpressionNotScalar, "conditional expression must evaluate to scalar, but got '{0}'");
253DECLARATION_REPORT(ExpectedConstExpression, "expected constant expression[ for {0}]");
254DECLARATION_REPORT(ExpectedConstIntExpression, "expected constant integer expression[ for {0}]");
255DECLARATION_REPORT(ExpectedConstFloatExpression, "expected constant floating-point expression[ for {0}]");
256DECLARATION_REPORT(VarDeclaredButNeverUsed, "variable '{0}' is declared but never used");
257DECLARATION_REPORT(ImplicitVectorTruncation, "implicit truncation of vector type[ in {2}][ (from {0} to {1} dimensions)]");
258DECLARATION_REPORT(CantImplicitlyConvertVectorType, "cannot implicitly convert vector type[ in {2}][ (from {0} to {1} dimensions)]");
259DECLARATION_REPORT(OnlyNoInterpolationForInts, "only 'nointerpolation' interpolation modifier allowed for integral types ");
260
261// MARK: - ExpressionEvaluator
262
263DECLARATION_REPORT(ExpressionEvaluator, "expression evaluator");
264DECLARATION_REPORT(IllegalExpressionInConstExpression, "illegal {0} in constant expression");
265DECLARATION_REPORT(DynamicArrayDim, "dynamic array dimension");
266DECLARATION_REPORT(BoolLiteralValue, "boolean literal value '{0}'");
267DECLARATION_REPORT(LiteralType, "literal type '{0}'");
268DECLARATION_REPORT(TypeSpecifier, "type specifier");
269DECLARATION_REPORT(DivisionByZero, "division by zero");
270DECLARATION_REPORT(TypeCast, "type cast '{0}'");
271DECLARATION_REPORT(InitializerList, "initializer list");
272DECLARATION_REPORT(FunctionCall, "function call");
273
274// MARK: - ExpressionConverter
275
276DECLARATION_REPORT(MissingArrayIndexInOp, "missing array index in operator of '{0}'");
277
278// MARK: - ReferenceAnalyzer
279
280DECLARATION_REPORT(CallStack, "call stack");
281DECLARATION_REPORT(IllegalRecursiveCall, "illegal recursive call[ of function '{0}']");
282DECLARATION_REPORT(MissingFuncImpl, "missing function implementation[ for '{0}']");
283
284// MARK: - ReflectionAnalyzer
285
286DECLARATION_REPORT(InvalidTypeOrArgCount, "invalid type or invalid number of arguments");
287DECLARATION_REPORT(InvalidArgCount, "invalid number of arguments[ for {0}]");
288DECLARATION_REPORT(FailedToInitializeSamplerValue, "{0} to initialize sampler value '{1}'");
289
290// MARK: - Converter
291
292DECLARATION_REPORT(SelfParamStackUnderflow, "'self'-parameter stack underflow");
293DECLARATION_REPORT(NoActiveStatementScopeHandler, "no active statement scope handler");
294DECLARATION_REPORT(MissingScopedStatementRef, "missing reference to scoped statement");
295
296// MARK: - GLSLConverter
297
298DECLARATION_REPORT(MissingSelfParamForMemberFunc, "missing 'self'-parameter for member function[ '{0}']");
299DECLARATION_REPORT(FailedToGetTextureDim, "failed to determine dimension of texture object[ '{0}']");
300DECLARATION_REPORT(FailedToMapClassIntrinsicOverload, "failed to map overload of class intrinsic '{0}' for type '{1}'");
301
302// MARK: - GLSLExtensionAgent
303
304DECLARATION_REPORT(GLSLExtensionOrVersionRequired, "GLSL extension '{0}' or shader output version '{1}' required[ (for {2})]");
305DECLARATION_REPORT(GLSLExtensionAcquired, "GLSL extension '{0}' acquired due to shader output version below '{1}'[ (for {2})]");
306DECLARATION_REPORT(NoGLSLExtensionVersionRegisterd, "no GLSL version is registered for the extension '{0}'");
307DECLARATION_REPORT(FragmentCoordinate, "fragment coordinate");
308DECLARATION_REPORT(EarlyDepthStencil, "early depth stencil test");
309DECLARATION_REPORT(MultiDimArray, "multi-dimensional array");
310DECLARATION_REPORT(TextureCubeArray, "texture cube array");
311DECLARATION_REPORT(RWStructuredBufferObject, "RW structured buffer object");
312DECLARATION_REPORT(RWTextureObject, "RW texture object");
313DECLARATION_REPORT(PackOffsetLayout, "pack offset layout");
314DECLARATION_REPORT(ConstantBuffer, "constant buffer");
315DECLARATION_REPORT(ExplicitBindingSlot, "explicit binding slot");
316DECLARATION_REPORT(MultiSampledTexture, "multi-sampled texture");
317DECLARATION_REPORT(BitwiseOperator, "bitwise operator");
318
319// MARK: - GLSLGenerator
320
321DECLARATION_REPORT(EntryPointNotFound, "entry point \"{0}\" not found");
322DECLARATION_REPORT(FailedToMapToGLSLKeyword, "failed to map {0} to GLSL keyword[ ({1})]");
323DECLARATION_REPORT(FailedToMapGLSLImageDataType, "failed to map data type to image format GLSL keyword");
324DECLARATION_REPORT(FailedToWriteLiteralType, "failed to write type denoter for literal[ '{0}']");
325DECLARATION_REPORT(FailedToDetermineGLSLDataType, "failed to determine GLSL data type");
326DECLARATION_REPORT(TessAbstractPatchType, "tessellation abstract patch type");
327DECLARATION_REPORT(TessSpacing, "tessellation spacing");
328DECLARATION_REPORT(TessPrimitiveOrdering, "tessellation primitive ordering");
329DECLARATION_REPORT(InputGeometryPrimitive, "input geometry primitive");
330DECLARATION_REPORT(OutputGeometryPrimitive, "output geometry primitive");
331DECLARATION_REPORT(OutputSemantic, "output semantic");
332DECLARATION_REPORT(VertexSemanticNotFound, "vertex semantic '{0}' specified but not found");
333DECLARATION_REPORT(MultiUseOfVertexSemanticLocation, "multiple usage of vertex semantic location ({0})[ (used {1} times)]");
334DECLARATION_REPORT(InvalidControlPathInUnrefFunc, "not all control paths in unreferenced function '{0}' return a value");
335DECLARATION_REPORT(InvalidControlPathInFunc, "not all control paths in function '{0}' return a value");
336DECLARATION_REPORT(MissingInputPrimitiveType, "missing input primitive type[ for {0}]");
337DECLARATION_REPORT(MissingOutputPrimitiveType, "missing output primitive type[ for {0}]");
338DECLARATION_REPORT(MissingFuncName, "missing function name");
339DECLARATION_REPORT(TooManyIndicesForShaderInputParam, "too many array indices for shader input parameter");
340DECLARATION_REPORT(InterpModNotSupportedForGLSL120, "interpolation modifiers not supported for GLSL version 120 or below");
341DECLARATION_REPORT(InvalidParamVarCount, "invalid number of variables in function parameter"); // internal error
342DECLARATION_REPORT(NotAllStorageClassesMappedToGLSL, "not all storage classes can be mapped to GLSL keywords");
343DECLARATION_REPORT(NotAllInterpModMappedToGLSL, "not all interpolation modifiers can be mapped to GLSL keywords");
344DECLARATION_REPORT(CantTranslateSamplerToGLSL, "cannot translate sampler state object to GLSL sampler");
345DECLARATION_REPORT(MissingArrayPrefixForIOSemantic, "missing array prefix expression for input/output semantic[ '{0}']");
346
347// MARK: - GLSLPreProcessor
348
349DECLARATION_REPORT(MacrosBeginWithGLReserved, "macros beginning with 'GL_' are reserved[: {0}]");
350DECLARATION_REPORT(MacrosWithTwoUnderscoresReserved, "macros containing consecutive underscores '__' are reserved[: {0}]");
351DECLARATION_REPORT(IllegalRedefOfStdMacro, "illegal redefinition of standard macro[: {0}]");
352DECLARATION_REPORT(IllegalUndefOfStdMacro, "illegal undefinition of standard macro[: {0}]");
353DECLARATION_REPORT(VersionMustBeFirstDirective, "'#version'-directive must be the first directive");
354DECLARATION_REPORT(GLSLVersionAlreadyDefined, "GLSL version is already defined[ (with number {0})]");
355DECLARATION_REPORT(UnknownGLSLVersion, "unknown GLSL version: '{0}'");
356DECLARATION_REPORT(UnknownESSLVersion, "unknown ESSL version: '{0}'");
357DECLARATION_REPORT(NoProfileForGLSLVersionBefore150, "versions before 150 do not allow a profile token");
358DECLARATION_REPORT(InvalidGLSLVersionProfile, "invalid version profile '{0}' (must be 'core', 'compatibility', or 'es')");
359DECLARATION_REPORT(ExtensionNotSupported, "extension not supported[: {0}]");
360DECLARATION_REPORT(InvalidGLSLExtensionBehavior, "invalid extension behavior '{0}' (must be 'enable', 'require', 'warn', or 'disable')");
361
362// MARK: - GLSLParser
363
364DECLARATION_REPORT(InvalidGLSLDirectiveAfterPP, "only '#line', '#version', and '#extension' directives are allowed after pre-processing");
365DECLARATION_REPORT(IllegalInheritance, "illegal inheritance");
366DECLARATION_REPORT(UnknownLayoutQualifier, "unknown layout qualifier: '{0}'");
367DECLARATION_REPORT(OnlyFieldsAllowedInUniformBlock, "only field declarations are allowed in a uniform block");
368
369// MARK: - GLSLKeywords
370
371DECLARATION_REPORT(FailedToMapFromGLSLKeyword, "failed to map GLSL keyword '{0}' to {1}");
372
373// MARK: - HLSLIntrinsics
374
375DECLARATION_REPORT(FailedToDeriveIntrinsicType, "failed to derive type denoter for intrinsic[ '{0}']");
376DECLARATION_REPORT(FailedToDeriveIntrinsicParamType, "failed to derive parameter type denoter for intrinsic[ '{0}']");
377DECLARATION_REPORT(MissingTypeInTextureIntrinsic, "missing buffer type in texture intrinsic[ '{0}']");
378
379// MARK: - HLSLKeywords
380
381DECLARATION_REPORT(FailedToMapFromHLSLKeyword, "failed to map HLSL keyword '{0}' to {1}");
382DECLARATION_REPORT(FailedToMapFromCgKeyword, "failed to map Cg keyword '{0}' to {1}");
383DECLARATION_REPORT(InvalidSystemValueSemantic, "invalid system value semantic \"{0}\"");
384
385// MARK: - HLSLScanner
386
387DECLARATION_REPORT(KeywordReservedForFutureUse, "keyword[ '{0}'] is reserved for future use");
388DECLARATION_REPORT(KeywordNotSupportedYet, "keyword[ '{0}'] is currently not supported");
389
390// MARK: - HLSLParser
391
392DECLARATION_REPORT(UnknownAttribute, "unknown attribute: '{0}'");
393DECLARATION_REPORT(UnknownSlotRegister, "unknown slot register: '{0}'");
394DECLARATION_REPORT(ExpectedExplicitArrayDim, "explicit array dimension expected");
395DECLARATION_REPORT(ExpectedVarOrAssignOrFuncCall, "expected variable declaration, assignment, or function call statement");
396DECLARATION_REPORT(ExpectedTypeNameOrFuncCall, "expected type name or function call expression");
397DECLARATION_REPORT(ExpectedUnaryOp, "expected unary operator");
398DECLARATION_REPORT(ExpectedIdentPrefix, "expected '::' or '.' identifier prefix");
399DECLARATION_REPORT(UnexpectedTokenInPackMatrixPragma, "unexpected token in '#pragma pack_matrix'-directive");
400DECLARATION_REPORT(UnexpectedPreParsedAST, "unexpected pre-parsed AST node");
401DECLARATION_REPORT(InvalidHLSLDirectiveAfterPP, "only '#line' and '#pragma' directives are allowed after pre-processing");
402DECLARATION_REPORT(InvalidHLSLPragmaAfterPP, "only 'pack_matrix' pragma directive is allowed after pre-processing");
403DECLARATION_REPORT(InvalidModifierForGenericTypeDen, "invalid modifier for generic type denoter[: '{0}']");
404DECLARATION_REPORT(IllegalRecursiveInheritance, "illegal recursive inheritance");
405DECLARATION_REPORT(IllegalMultipleInheritance, "illegal multiple inheritance");
406DECLARATION_REPORT(IllegalDeclarationStatementInsideDeclarationOf, "illegal declaration statement inside declaration of '{0}'");
407DECLARATION_REPORT(IllegalBufferTypeGenericSize, "illegal usage of generic size in texture, buffer, or stream object");
408DECLARATION_REPORT(IllegalPackOffset, "packoffset is only allowed in a constant buffer");
409DECLARATION_REPORT(TextureSampleCountLimitIs128, "number of samples in texture must be in the range [1, 128), but got {0}");
410DECLARATION_REPORT(PatchCtrlPointLimitIs64, "number of control points in patch must be in the range [1, 64], but got {0}");
411DECLARATION_REPORT(VectorAndMatrixDimOutOfRange, "vector and matrix dimensions must be in the range [1, 4], but got {0}");
412DECLARATION_REPORT(TechniquesAreIgnored, "techniques are ignored");
413DECLARATION_REPORT(MissingClosingBrace, "missing closing brace '}' for open code block");
414DECLARATION_REPORT(PackOffsetOverridden, "overwriting packoffset will cause previous packoffset to expire");
415DECLARATION_REPORT(RegisterIgnoredForFuncDeclarations, "register is ignored for function declarations");
416DECLARATION_REPORT(ExpectedSamplerOrSamplerState, "expected sampler type denoter or sampler state");
417DECLARATION_REPORT(ExpectedOpenBracketOrAngleBracket, "expected '<' or '('");
418DECLARATION_REPORT(DuplicatedPrimitiveType, "duplicate primitive type specified");
419DECLARATION_REPORT(ConflictingPrimitiveTypes, "conflicting primitive types");
420
421// MARK: - HLSLAnalyzer
422
423DECLARATION_REPORT(SecondEntryPointNotFound, "secondary entry point \"{0}\" not found");
424DECLARATION_REPORT(NestedStructsMustBeAnonymous, "nested structures must be anonymous");
425DECLARATION_REPORT(TypeHasNoMemberVariables, "'{0}' has no member variables");
426DECLARATION_REPORT(BufferCanOnlyHaveOneSlot, "buffers can only be bound to one slot");
427DECLARATION_REPORT(UserCBuffersCantBeTargetSpecific, "user-defined constant buffer slots cannot be target specific");
428DECLARATION_REPORT(DeclarationShadowsPreviousLocal, "declaration of '{0}' shadows a previous local at ({1})");
429DECLARATION_REPORT(DeclarationShadowsMemberOfBase, "declaration of '{0}' shadows member of base '{1}'");
430DECLARATION_REPORT(ReturnOutsideFuncDeclaration, "return statement outside function declaration");
431DECLARATION_REPORT(ReturnExpression, "return expression");
432DECLARATION_REPORT(ArrayIndex, "array index");
433DECLARATION_REPORT(ArrayIndexMustHaveBaseType,
434 "array index must have scalar or vector type with correct number of dimensions[ (but got "
435 "'{0}')]");
436DECLARATION_REPORT(VarAssignment, "variable assignment");
437DECLARATION_REPORT(VarInitialization, "variable initialization");
438DECLARATION_REPORT(IntrinsicNotDeclaredInObject, "intrinsic '{0}' not declared in object '{1}'");
439DECLARATION_REPORT(InvalidShaderModelForIntrinsic, "intrinsic '{0}' requires shader model {1}, but only {2} is specified");
440DECLARATION_REPORT(InvalidIntrinsicForTexture, "invalid intrinsic '{0}' for texture object");
441DECLARATION_REPORT(InvalidIntrinsicForRWTexture, "invalid intrinsic '{0}' for RW texture object");
442DECLARATION_REPORT(InvalidIntrinsicForStreamOutput, "invalid intrinsic '{0}' for stream-output object");
443DECLARATION_REPORT(InvalidGlobalIntrinsicForType, "invalid global intrinsic '{0}' for type '{1}'");
444DECLARATION_REPORT(InvalidClassIntrinsicForType, "invalid class intrinsic '{0}' for type '{1}'");
445DECLARATION_REPORT(InvalidMemberFuncForType, "invalid member function '{0}' for type '{1}'");
446DECLARATION_REPORT(InvalidTypeModifierForMemberField, "invalid type modifier for structure member field");
447DECLARATION_REPORT(InvalidSymbolRefToVarIdent, "invalid symbol reference to variable identifier '{0}'");
448DECLARATION_REPORT(InvalidVarDeclarationCountInParam,
449 "invalid number of variable declarations in function parameter"); // internal error
450DECLARATION_REPORT(InvalidInputSemanticInEntryPoint, "invalid input semantic '{0}' in entry point '{1}'");
451DECLARATION_REPORT(InvalidOutputSemanticInEntryPoint, "invalid output semantic '{0}' in entry point '{1}'");
452DECLARATION_REPORT(MissingInputSemanticInEntryPoint, "missing input semantic '{0}' in entry point '{1}'");
453DECLARATION_REPORT(MissingOutputSemanticInEntryPoint, "missing output semantic '{0}' in entry point '{1}'");
454DECLARATION_REPORT(MissingAttributeForEntryPoint, "missing '{0}' attribute for entry point");
455DECLARATION_REPORT(MissingExpressionInReturnForFunc, "missing expression in return statement for function with '{0}' return type");
456DECLARATION_REPORT(MissingInitializerForDefaultParam,
457 "missing initializer expression for default argument of parameter '{0}'"); // internal error
458DECLARATION_REPORT(MissingInitializerForConstant, "missing initializer expression for local constant '{0}'");
459DECLARATION_REPORT(MissingSemanticInEntryPointParam, "missing semantic in parameter '{0}' of entry point");
460DECLARATION_REPORT(MissingGenericTypeDen, "missing generic type denoter[ in '{0}']");
461DECLARATION_REPORT(IllegalUseOfNormModifiers, "'snorm' and 'unorm' type modifiers can only be used for floating-point types");
462DECLARATION_REPORT(IllegalExpressionInReturnForVoidFunc, "illegal expression in return statement for function with 'void' return type");
463DECLARATION_REPORT(IllegalBufferTypeForEntryPoint, "illegal buffer type for entry point[ {0}]");
464DECLARATION_REPORT(IllegalLValueAssignmentToTypeCast, "illegal assignment to l-value '{0}' due to type mismatch[ with function parameter '{1}']");
465DECLARATION_REPORT(IllegalLValueAssignmentToConst, "illegal assignment to l-value '{0}' that is[ {1}] declared as constant");
466DECLARATION_REPORT(IllegalRValueAssignment, "illegal assignment to r-value expression[ via function parameter '{0}']");
467DECLARATION_REPORT(IllegalNonStaticAccessToMember, "illegal non-static access to static structure member[ '{0}']");
468DECLARATION_REPORT(IllegalStaticAccessToMember, "illegal static access to non-static structure member[ '{0}']");
469DECLARATION_REPORT(IllegalNonStaticAccessToType, "illegal non-static access to type[ '{0}']");
470DECLARATION_REPORT(IllegalStaticAccessToNonType, "illegal static access to non-typename expression");
471DECLARATION_REPORT(IllegalStaticIntrinsicCall, "illegal static call to intrinsic[ '{0}']");
472DECLARATION_REPORT(IllegalStaticFuncCall, "illegal static call to function[ '{0}']");
473DECLARATION_REPORT(IllegalNonStaticFuncCall, "illegal call to static function[ '{0}']");
474DECLARATION_REPORT(IllegalDefOfNonStaticMemberVar, "illegal definition of non-static member variable[ '{0}']");
475DECLARATION_REPORT(DuplicateUseOfOutputSemantic, "duplicate use of output semantic '{0}'");
476DECLARATION_REPORT(UniformCantBeOutput, "uniforms cannot be defined as output");
477DECLARATION_REPORT(TooManyArgsForAttribute, "too many arguments for attribute[ '{0}'][ (expected {1}, but got {2})]");
478DECLARATION_REPORT(TooFewArgsForAttribute, "too few arguments for attribute[ '{0}'][ (expected {1}, but got {2})]");
479DECLARATION_REPORT(ExpectedIdentArgInAttribute, "expected identifier as argument for attribute[ '{0}']");
480DECLARATION_REPORT(InvalidIdentArgInAttribute, "invalid identifier '{0}' used as argument for attribute[ '{1}']");
481DECLARATION_REPORT(ExpectedDomainTypeParamToBe, "expected domain type parameter to be \"tri\", \"quad\", or \"isoline\"");
482DECLARATION_REPORT(ExpectedOutputTopologyParamToBe,
483 "expected output topology parameter to be \"point\", \"line\", \"triangle_cw\", or "
484 "\"triangle_ccw\"");
485DECLARATION_REPORT(ExpectedPartitioningModeParamToBe,
486 "expected partitioning mode parameter to be \"integer\", \"pow2\", \"fractional_even\", or "
487 "\"fractional_odd\"");
488DECLARATION_REPORT(ExpectedOutputCtrlPointParamToBe, "expected output control point parameter to be an UInt32eger");
489DECLARATION_REPORT(ExpectedPatchFuncParamToBe, "expected patch constant function parameter to be a string literal");
490DECLARATION_REPORT(EntryPointForPatchFuncNotFound, "entry point \"{0}\" for patch constant function not found");
491DECLARATION_REPORT(MaxVertexCountMustBeGreaterZero, "maximal vertex count must be greater than zero");
492DECLARATION_REPORT(NumThreadsMustBeGreaterZero, "number of threads must be greater than zero");
493DECLARATION_REPORT(SecondaryArrayDimMustBeExplicit, "secondary array dimensions must be explicit");
494DECLARATION_REPORT(StructsCantBeDefinedInParam, "structures cannot be defined in a parameter type[: '{0}']");
495DECLARATION_REPORT(StaticMembersCantBeDefinedInGlob, "static members can only be defined in global scope[: '{0}']");
496DECLARATION_REPORT(StaticMemberVarRedef, "redefinition of static member variable[ '{0}']");
497DECLARATION_REPORT(MemberVarsCantHaveDefaultValues, "member variables cannot have default values[: '{0}']");
498DECLARATION_REPORT(DeclarationTypeDiffersFromDefType, "declaration type '{0}' differs from definition type '{1}'");
499DECLARATION_REPORT(ArrayTypeCanOnlyAppearInDef, "array type can only appear in definition of static member variables[: '{0}']");
500DECLARATION_REPORT(FuncCallShadowsClassIntrinsic, "function call shadows class intrinsic '{0}'");
501
502// MARK: - Instruction
503
504DECLARATION_REPORT(NotEnoughOperandsInInst, "not enough operands in SPIR-V instruction");
505
506// MARK: - InstructionFactory
507
508DECLARATION_REPORT(InstructionFactory, "SPIR-V instruction factory");
509DECLARATION_REPORT(NoActiveBasicBlock, "no active basic block to put instructions into");
510
511// MARK: - SPIRVDisassembler
512
513DECLARATION_REPORT(SPIRVFileTooSmall, "SPIR-V module file is too small");
514DECLARATION_REPORT(SPIRVInvalidMagicNumber, "invalid magic number in SPIR-V module header[ (expected {0}, but got {1})]");
515DECLARATION_REPORT(SPIRVUnknownVersionNumber, "unknown version number in SPIR-V module header[: {0}]");
516DECLARATION_REPORT(SPIRVByteStreamNotWordAligned, "byte stream of SPIR-V module is not 32-bit word aligned");
517
518// MARK: - Shader Compiler
519
520DECLARATION_REPORT(InputStreamCantBeNull, "input stream must not be null");
521DECLARATION_REPORT(OutputStreamCantBeNull, "output stream must not be null");
522DECLARATION_REPORT(NameManglingPrefixResCantBeEmpty, "name mangling prefix for reserved words must not be empty");
523DECLARATION_REPORT(NameManglingPrefixTmpCantBeEmpty, "name mangling prefix for temporary variables must not be empty");
524DECLARATION_REPORT(OverlappingNameManglingPrefixes, "overlapping name mangling prefixes");
525DECLARATION_REPORT(LangExtensionsNotSupported, "compiler was not build with language extensions");
526DECLARATION_REPORT(PreProcessingSourceFailed, "preprocessing input code failed");
527DECLARATION_REPORT(ParsingSourceFailed, "parsing input code failed");
528DECLARATION_REPORT(AnalyzingSourceFailed, "analyzing input code failed");
529DECLARATION_REPORT(GeneratingOutputCodeFailed, "generating output code failed");
530DECLARATION_REPORT(GLSLFrontendIsIncomplete, "GLSL frontend is incomplete");
531DECLARATION_REPORT(InvalidILForDisassembling, "invalid intermediate language for disassembling");
532DECLARATION_REPORT(NotBuildWithSPIRV, "compiler was not build with SPIR-V");
533
534// MARK: - Shell
535
536DECLARATION_REPORT(UnexpectedEndOfCmdLine, "unexpected end of command line arguments");
537DECLARATION_REPORT(ExpectedCmdLineBoolean, "expected '{0}' or '{1}', but got '{2}'");
538DECLARATION_REPORT(MissingValueInShellCmd, "missing value in command '{0}'");
539DECLARATION_REPORT(PressAnyKeyToContinue, "press any key to continue ...");
540DECLARATION_REPORT(FailedToReadFile, "failed to read file: \"{0}\"");
541DECLARATION_REPORT(FailedToWriteFile, "failed to write file: \"{0}\"");
542DECLARATION_REPORT(FailedToIncludeFile, "failed to include file: \"{0}\"");
543DECLARATION_REPORT(ValidateShader, "validate \"{0}\"");
544DECLARATION_REPORT(ValidationSuccessful, "validation successful");
545DECLARATION_REPORT(ValidationFailed, "validation failed");
546DECLARATION_REPORT(CompileShader, "compile \"{0}\" to \"{1}\"");
547DECLARATION_REPORT(CompilationSuccessful, "compilation successful");
548DECLARATION_REPORT(CompilationFailed, "compilation failed");
549
550// MARK: - Commands
551
552DECLARATION_REPORT(CmdHelpEntry, "Shader entry point; default=main");
553DECLARATION_REPORT(CmdHelpSecndEntry, "Secondary shader entry point");
554DECLARATION_REPORT(CmdHelpTarget, "Input shader target; valid targets:");
555DECLARATION_REPORT(CmdHelpVersionIn, "Input shader version; default=HLSL5; valid versions:");
556DECLARATION_REPORT(CmdHelpVersionOut, "Shader output version; default=GLSL; valid versions:");
557DECLARATION_REPORT(CmdHelpOutput, "Shader output file (use '*' for default); default='<FILE>.<ENTRY>.<TARGET>'");
558DECLARATION_REPORT(CmdHelpIncludePath, "Adds PATH to the search include paths");
559DECLARATION_REPORT(CmdHelpWarn, "Enables/disables the specified warning type; default={0}; valid types:");
560DECLARATION_REPORT(CmdHelpDetailsWarn,
561 "all => all kinds of warnings\n"
562 "basic => warn for basic issues\n"
563 "declaration-shadow => warn for declaration shadowing\n"
564 "empty-body => warn for empty statement body\n"
565 "extension => warn for required extensions\n"
566 "implicit-cast => warn for implicit type casts\n"
567 "index-bound => warn for index boundary violation\n"
568 "preprocessor => warn for pre-processor issues\n"
569 "reflect => warn for issues in code reflection\n"
570 "syntax => warn for syntactic issues\n"
571 "unlocated-obj => warn for unlocated optional objects\n"
572 "unused-vars => warn for unused variables");
573DECLARATION_REPORT(CmdHelpShowAST, "Enables/disables debug output for the AST (Abstract Syntax Tree); default={0}");
574DECLARATION_REPORT(CmdHelpShowTimes, "Enables/disables debug output for timings of each compilation step; default={0}");
575DECLARATION_REPORT(CmdHelpReflect, "Enables/disables code reflection output; default={0}");
576DECLARATION_REPORT(CmdHelpPPOnly, "Enables/disables to only preprocess source code; default={0}");
577DECLARATION_REPORT(CmdHelpMacro, "Adds the identifier <IDENT> to the pre-defined macros with an optional VALUE");
578DECLARATION_REPORT(CmdHelpSemantic, "Adds the vertex semantic <IDENT> binding to VALUE (Requires -EB)");
579DECLARATION_REPORT(CmdHelpPackUniforms, "Packs global uniforms into a single constant buffer; default={0}");
580DECLARATION_REPORT(CmdHelpPause, "Waits for user input after the translation process");
581DECLARATION_REPORT(CmdHelpPresetting, "Parse further arguments from the presetting file");
582DECLARATION_REPORT(CmdHelpVersion, "Prints the version information");
583DECLARATION_REPORT(CmdHelpHelp, "Prints the help reference");
584DECLARATION_REPORT(CmdHelpVerbose, "Enables/disables more output for compiler reports; default={0}");
585DECLARATION_REPORT(CmdHelpColor, "Enables/disables color highlighting for shell output; default={0}");
586DECLARATION_REPORT(CmdHelpOptimize, "Enables/disables optimization; default={0}");
587DECLARATION_REPORT(CmdHelpExtension, "Enables/disables shader extension output; default={0}");
588DECLARATION_REPORT(CmdHelpEnumExtension, "Enumerates all supported GLSL extensions");
589DECLARATION_REPORT(CmdHelpValidate, "Enables/disables to only validate source code; default={0}");
590DECLARATION_REPORT(CmdHelpBinding, "Enables/disables explicit binding slots; default={0}");
591DECLARATION_REPORT(CmdHelpAutoBinding, "Enables/disables automatic binding slot generation (implies -EB); default={0}");
592DECLARATION_REPORT(CmdHelpAutoBindingStartSlot, "Sets the start slot index for automatic binding slot generation; default=0");
593DECLARATION_REPORT(CmdHelpComment, "Enables/disables commentary preservation; default={0}");
594DECLARATION_REPORT(CmdHelpWrapper, "Enables/disables the preference for intrinsic wrappers; default={0}");
595DECLARATION_REPORT(CmdHelpUnrollInitializer, "Enables/disables unrolling of array initializers; default={0}");
596DECLARATION_REPORT(CmdHelpObfuscate, "Enables/disables code obfuscation; default={0}");
597DECLARATION_REPORT(CmdHelpRowMajorAlignment, "Enables/disables row major packing alignment for matrices; default={0}");
598DECLARATION_REPORT(CmdHelpFormatting, "Enables/disables the specified formatting option; valid types:");
599DECLARATION_REPORT(CmdHelpDetailsFormatting,
600 "blanks => blank lines between declarations; default={1}\n"
601 "force-braces => force braces for scopes; default={0}\n"
602 "compact => write compact wrapper functions; default={0}\n"
603 "line-marks => line marks (e.g. '#line 30'); default={0}\n"
604 "line-sep => separate lines in columns; default={1}\n"
605 "newline-scope => write open braces at new lines; default={1}");
606DECLARATION_REPORT(CmdHelpIndent, "Code indentation string (use '\\\\t' for tabs); default=' '");
607DECLARATION_REPORT(CmdHelpPrefix, "Prefix for the specified name-mangling type; valid types:");
608DECLARATION_REPORT(CmdHelpDetailsPrefix,
609 "in => input variables; default='xsv_'\n"
610 "namespace => namespace objects; default='xsn_'\n"
611 "out => output variables; default='xsv_'\n"
612 "reserved => reserved words; default='xsr_'\n"
613 "temp => temporary variables; default='xst_'");
614DECLARATION_REPORT(CmdHelpNameMangling, "Enables/disables the specified name-mangling option; valid types:");
615DECLARATION_REPORT(CmdHelpDetailsNameMangling,
616 "buffer-fields => rename 'buffer' fields, not its identifier; default={0}\n"
617 "force-semantics => force semantics for input/output variables; default={0}");
618DECLARATION_REPORT(CmdHelpSeparateShaders, "Ensures compatibility to 'ARB_separate_shader_objects' extension; default={0}");
619DECLARATION_REPORT(CmdHelpSeparateSamplers, "Enables/disables generation of separate sampler state objects; default={0}");
620DECLARATION_REPORT(CmdHelpDisassemble, "Disassembles the SPIR-V module");
621DECLARATION_REPORT(CmdHelpDisassembleExt, "Disassembles the SPIR-V module with extended ID numbers");
622DECLARATION_REPORT(InvalidShaderTarget, "invalid shader target[: '{0}']");
623DECLARATION_REPORT(InvalidShaderVersionIn, "invalid input shader version[: '{0}']");
624DECLARATION_REPORT(InvalidShaderVersionOut, "invalid output shader version[: '{0}']");
625DECLARATION_REPORT(InvalidWarningType, "invalid warning type[: '{0}']");
626DECLARATION_REPORT(InvalidFormattingType, "invalid formatting type[: '{0}']");
627DECLARATION_REPORT(InvalidPrefixType, "invalid prefix type[: '{0}']");
628DECLARATION_REPORT(InvalidNameManglingType, "invalid name-mangling type[: '{0}']");
629DECLARATION_REPORT(VertexAttribValueExpectedFor, "vertex attribute value expected for \"{0}\"");
630DECLARATION_REPORT(LoopInPresettingFiles, "loop in presetting files detected");
631DECLARATION_REPORT(RunPresetting, "run presetting[: \"{0}\"]");
632DECLARATION_REPORT(ChoosePresetting, "choose presetting");
633DECLARATION_REPORT(ChooseAllPresettings, "ALL");
634DECLARATION_REPORT(PresettingsSucceeded, "all presettings processed successfully");
635DECLARATION_REPORT(PresettingsFailed, "{0} of {1} presetting(s) failed");
636DECLARATION_REPORT(NoPresettingsDefined, "no presettings defined");
637
638// MARK: - Extensions
639
640DECLARATION_REPORT(InvalidImageFormatForType, "invalid image format '{0}' used for buffer of type '{1}'");
641DECLARATION_REPORT(AttributeRequiresExtension, "attribute '{0}' requires language extension '{1}'");
642DECLARATION_REPORT(IllegalVectorSpaceAssignment, "illegal assignment of '{0}' vector-space to '{1}' vector-space");
643DECLARATION_REPORT(InconsistVectorSpacesInTypes, "inconsistent vector-spaces between type denoters[ (found '{0}' and '{1}')]");
644DECLARATION_REPORT(ExpectedIdentInSpaceAttr, "expected identifier as argument in 'space' attribute");
645DECLARATION_REPORT(CmdHelpLanguageExtension, "Enables/disables the specified language extension; default={0}; valid types:");
646DECLARATION_REPORT(CmdHelpDetailsLanguageExtension,
647 "all => all kinds of extensions\n"
648 "attr-layout => enable 'layout' attribute to specify image layout format\n"
649 "attr-space => enable 'space' attribute for a stronger type system");
650DECLARATION_REPORT(InvalidExtensionType, "invalid extension type[: '{0}']");
#define DECLARATION_REPORT(NAME, VALUE)
Definition ReportIdents.hpp:14